You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by jm...@apache.org on 2013/10/08 16:03:16 UTC

[01/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Updated Branches:
  refs/heads/release4.11.0 223bdb93b -> ba42cdf09


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSEngine.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSEngine.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSEngine.java
index aaca930..27ffd5a 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSEngine.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSEngine.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,8 +20,6 @@ package org.apache.flex.forks.batik.css.engine;
 
 import java.io.IOException;
 import java.io.StringReader;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
@@ -39,12 +38,14 @@ import org.apache.flex.forks.batik.css.engine.value.ValueManager;
 import org.apache.flex.forks.batik.css.parser.ExtendedParser;
 import org.apache.flex.forks.batik.util.CSSConstants;
 import org.apache.flex.forks.batik.util.ParsedURL;
-import org.w3c.flex.forks.css.sac.CSSException;
-import org.w3c.flex.forks.css.sac.DocumentHandler;
-import org.w3c.flex.forks.css.sac.InputSource;
-import org.w3c.flex.forks.css.sac.LexicalUnit;
-import org.w3c.flex.forks.css.sac.SACMediaList;
-import org.w3c.flex.forks.css.sac.SelectorList;
+
+import org.w3c.css.sac.CSSException;
+import org.w3c.css.sac.DocumentHandler;
+import org.w3c.css.sac.InputSource;
+import org.w3c.css.sac.LexicalUnit;
+import org.w3c.css.sac.SACMediaList;
+import org.w3c.css.sac.SelectorList;
+import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -59,86 +60,74 @@ import org.w3c.dom.events.MutationEvent;
  * This is the base class for all the CSS engines.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSEngine.java,v 1.42 2004/12/03 12:20:15 deweese Exp $
+ * @version $Id: CSSEngine.java 606891 2007-12-26 11:45:26Z cam $
  */
 public abstract class CSSEngine {
 
     /**
-     * List of StyleMap objects, one for each @font-face rule
-     * encountered by this CSSEngine.
+     * Returns the CSS parent node of the given node.
      */
-    protected List fontFaces = new LinkedList();
+    public static Node getCSSParentNode(Node n) {
+        if (n instanceof CSSNavigableNode) {
+            return ((CSSNavigableNode) n).getCSSParentNode();
+        }
+        return n.getParentNode();
+    }
 
     /**
-     * Get's the StyleMaps generated by @font-face rules
-     * encountered by this CSSEngine thus far.
+     * Returns the CSS first child node of the given node.
      */
-    public List getFontFaces() { return fontFaces; }
-
-    CSSEngineUserAgent userAgent = null;
+    protected static Node getCSSFirstChild(Node n) {
+        if (n instanceof CSSNavigableNode) {
+            return ((CSSNavigableNode) n).getCSSFirstChild();
+        }
+        return n.getFirstChild();
+    }
 
     /**
-     * Returns the next stylable parent of the given element.
+     * Returns the CSS next sibling node of the given node.
      */
-    public static CSSStylableElement getParentCSSStylableElement(Element elt) {
-        Element e = getParentElement(elt);
-        while (e != null) {
-            if (e instanceof CSSStylableElement) {
-                return (CSSStylableElement)e;
-            }
-            e = getParentElement(e);
+    protected static Node getCSSNextSibling(Node n) {
+        if (n instanceof CSSNavigableNode) {
+            return ((CSSNavigableNode) n).getCSSNextSibling();
         }
-        return null;
+        return n.getNextSibling();
     }
 
     /**
-     * Returns the next parent element of the given element, from the
-     * CSS point of view.
+     * Returns the CSS previous sibling node of the given node.
      */
-    public static Element getParentElement(Element elt) {
-        Node n = elt.getParentNode();
-        while (n != null) {
-            n = getLogicalParentNode(n);
-            if (n.getNodeType() == Node.ELEMENT_NODE) {
-                return (Element)n;
-            }
-            n = n.getParentNode();
+    protected static Node getCSSPreviousSibling(Node n) {
+        if (n instanceof CSSNavigableNode) {
+            return ((CSSNavigableNode) n).getCSSPreviousSibling();
         }
-        return null;
+        return n.getPreviousSibling();
     }
 
     /**
-     * Returns the logical parent of a node, given its physical parent.
+     * Returns the next stylable parent of the given element.
      */
-    public static Node getLogicalParentNode(Node parent) {
-        Node node = parent;
-        if (node != null) {
-            if (node instanceof CSSImportedElementRoot) {
-                return ((CSSImportedElementRoot)node).getCSSParentElement();
-            } else {
-                return node;
+    public static CSSStylableElement getParentCSSStylableElement(Element elt) {
+        Node n = getCSSParentNode(elt);
+        while (n != null) {
+            if (n instanceof CSSStylableElement) {
+                return (CSSStylableElement) n;
             }
+            n = getCSSParentNode(n);
         }
         return null;
     }
 
     /**
-     * Returns the imported child of the given node, if any.
+     * The user agent used for showing error messages.
      */
-    public static CSSImportedElementRoot getImportedChild(Node node) {
-        if (node instanceof CSSImportNode) {
-            CSSImportNode inode = (CSSImportNode)node;
-            CSSImportedElementRoot r = inode.getCSSImportedElementRoot();
-            return r;
-        }
-        return null;
-    }
+    protected CSSEngineUserAgent userAgent;
 
     /**
      * The CSS context.
      */
     protected CSSContext cssContext;
-    
+
     /**
      * The associated document.
      */
@@ -147,7 +136,12 @@ public abstract class CSSEngine {
     /**
      * The document URI.
      */
-    protected URL documentURI;
+    protected ParsedURL documentURI;
+
+    /**
+     * Whether the document is a CSSNavigableDocument.
+     */
+    protected boolean isCSSNavigableDocument;
 
     /**
      * The property/int mappings.
@@ -215,6 +209,12 @@ public abstract class CSSEngine {
     protected List styleSheetNodes;
 
     /**
+     * List of StyleMap objects, one for each @font-face rule
+     * encountered by this CSSEngine.
+     */
+    protected List fontFaces = new LinkedList();
+
+    /**
      * The style attribute namespace URI.
      */
     protected String styleNamespaceURI;
@@ -223,7 +223,7 @@ public abstract class CSSEngine {
      * The style attribute local name.
      */
     protected String styleLocalName;
-    
+
     /**
      * The class attribute namespace URI.
      */
@@ -233,7 +233,7 @@ public abstract class CSSEngine {
      * The class attribute local name.
      */
     protected String classLocalName;
-    
+
     /**
      * The non CSS presentational hints.
      */
@@ -276,7 +276,7 @@ public abstract class CSSEngine {
     /**
      * The current base URI.
      */
-    protected URL cssBaseURI;
+    protected ParsedURL cssBaseURI;
 
     /**
      * The alternate stylesheet title.
@@ -284,6 +284,11 @@ public abstract class CSSEngine {
     protected String alternateStyleSheet;
 
     /**
+     * Listener for CSSNavigableDocument events.
+     */
+    protected CSSNavigableDocumentHandler cssNavigableDocumentListener;
+
+    /**
      * The DOMAttrModified event listener.
      */
     protected EventListener domAttrModifiedListener;
@@ -358,7 +363,7 @@ public abstract class CSSEngine {
      * @param ctx The CSS context.
      */
     protected CSSEngine(Document doc,
-                        URL uri,
+                        ParsedURL uri,
                         ExtendedParser p,
                         ValueManager[] vm,
                         ShorthandManager[] sm,
@@ -380,6 +385,8 @@ public abstract class CSSEngine {
         classLocalName = cln;
         cssContext = ctx;
 
+        isCSSNavigableDocument = doc instanceof CSSNavigableDocument;
+
         cssConditionFactory = new CSSConditionFactory(cns, cln, null, "id");
 
         int len = vm.length;
@@ -425,38 +432,76 @@ public abstract class CSSEngine {
             }
         }
 
-        if (cssContext.isDynamic() &&
-            (document instanceof EventTarget)) {
+        if (cssContext.isDynamic() && document instanceof EventTarget) {
             // Attach the mutation events listeners.
-            EventTarget et = (EventTarget)document;
+            addEventListeners((EventTarget) document);
+            styleDeclarationUpdateHandler =
+                new StyleDeclarationUpdateHandler();
+        }
+
+        ALL_PROPERTIES = new int[getNumberOfProperties()];
+        for (int i = getNumberOfProperties() - 1; i >= 0; --i) {
+            ALL_PROPERTIES[i] = i;
+        }
+    }
+
+    /**
+     * Adds event listeners to the document to track CSS changes.
+     */
+    protected void addEventListeners(EventTarget doc) {
+        if (isCSSNavigableDocument) {
+            cssNavigableDocumentListener = new CSSNavigableDocumentHandler();
+            CSSNavigableDocument cnd = (CSSNavigableDocument) doc;
+            cnd.addCSSNavigableDocumentListener(cssNavigableDocumentListener);
+        } else {
             domAttrModifiedListener = new DOMAttrModifiedListener();
-            et.addEventListener("DOMAttrModified",
-                                domAttrModifiedListener,
-                                false);
+            doc.addEventListener("DOMAttrModified",
+                                 domAttrModifiedListener,
+                                 false);
             domNodeInsertedListener = new DOMNodeInsertedListener();
-            et.addEventListener("DOMNodeInserted",
-                                domNodeInsertedListener,
-                                false);
+            doc.addEventListener("DOMNodeInserted",
+                                 domNodeInsertedListener,
+                                 false);
             domNodeRemovedListener = new DOMNodeRemovedListener();
-            et.addEventListener("DOMNodeRemoved",
-                                domNodeRemovedListener,
-                                false);
+            doc.addEventListener("DOMNodeRemoved",
+                                 domNodeRemovedListener,
+                                 false);
             domSubtreeModifiedListener = new DOMSubtreeModifiedListener();
-            et.addEventListener("DOMSubtreeModified",
-                                domSubtreeModifiedListener,
-                                false);
+            doc.addEventListener("DOMSubtreeModified",
+                                 domSubtreeModifiedListener,
+                                 false);
             domCharacterDataModifiedListener =
                 new DOMCharacterDataModifiedListener();
-            et.addEventListener("DOMCharacterDataModified",
-                                domCharacterDataModifiedListener,
-                                false);
-            styleDeclarationUpdateHandler =
-                new StyleDeclarationUpdateHandler();
+            doc.addEventListener("DOMCharacterDataModified",
+                                 domCharacterDataModifiedListener,
+                                 false);
         }
+    }
 
-        ALL_PROPERTIES = new int[getNumberOfProperties()];
-        for (int i = getNumberOfProperties() - 1; i >= 0; --i) {
-            ALL_PROPERTIES[i] = i;
+    /**
+     * Removes the event listeners from the document.
+     */
+    protected void removeEventListeners(EventTarget doc) {
+        if (isCSSNavigableDocument) {
+            CSSNavigableDocument cnd = (CSSNavigableDocument) doc;
+            cnd.removeCSSNavigableDocumentListener
+                (cssNavigableDocumentListener);
+        } else {
+            doc.removeEventListener("DOMAttrModified",
+                                    domAttrModifiedListener,
+                                    false);
+            doc.removeEventListener("DOMNodeInserted",
+                                    domNodeInsertedListener,
+                                    false);
+            doc.removeEventListener("DOMNodeRemoved",
+                                    domNodeRemovedListener,
+                                    false);
+            doc.removeEventListener("DOMSubtreeModified",
+                                    domSubtreeModifiedListener,
+                                    false);
+            doc.removeEventListener("DOMCharacterDataModified",
+                                    domCharacterDataModifiedListener,
+                                    false);
         }
     }
 
@@ -468,39 +513,23 @@ public abstract class CSSEngine {
         disposeStyleMaps(document.getDocumentElement());
         if (document instanceof EventTarget) {
             // Detach the mutation events listeners.
-            EventTarget et = (EventTarget)document;
-            et.removeEventListener("DOMAttrModified",
-                                   domAttrModifiedListener,
-                                   false);
-            et.removeEventListener("DOMNodeInserted",
-                                   domNodeInsertedListener,
-                                   false);
-            et.removeEventListener("DOMNodeRemoved",
-                                   domNodeRemovedListener,
-                                   false);
-            et.removeEventListener("DOMSubtreeModified",
-                                   domSubtreeModifiedListener,
-                                   false);
-            et.removeEventListener("DOMCharacterDataModified",
-                                   domCharacterDataModifiedListener,
-                                   false);
-        }
-    }
-
-    private void disposeStyleMaps(Node node) {
+            removeEventListeners((EventTarget) document);
+        }
+    }
+
+    /**
+     * Removes the style maps from each CSSStylableElement in the document.
+     */
+    protected void disposeStyleMaps(Node node) {
         if (node instanceof CSSStylableElement) {
             ((CSSStylableElement)node).setComputedStyleMap(null, null);
         }
-        for (Node n = node.getFirstChild();
+        for (Node n = getCSSFirstChild(node);
              n != null;
-             n = n.getNextSibling()) {
+             n = getCSSNextSibling(n)) {
             if (n.getNodeType() == Node.ELEMENT_NODE) {
                 disposeStyleMaps(n);
             }
-            Node c = getImportedChild(n);
-            if (c != null) {
-                disposeStyleMaps(c);
-            }
         }
     }
 
@@ -597,6 +626,21 @@ public abstract class CSSEngine {
     }
 
     /**
+     * Returns the ShorthandManagers.
+     */
+    public ShorthandManager[] getShorthandManagers() {
+        return shorthandManagers;
+    }
+
+    /**
+     * Gets the StyleMaps generated by @font-face rules
+     * encountered by this CSSEngine thus far.
+     */
+    public List getFontFaces() {
+        return fontFaces;
+    }
+
+    /**
      * Sets the media to use to compute the styles.
      */
     public void setMedia(String str) {
@@ -643,9 +687,9 @@ public abstract class CSSEngine {
             }
         }
 
-        for (Node dn = dest.getFirstChild(), sn = src.getFirstChild();
+        for (Node dn = getCSSFirstChild(dest), sn = getCSSFirstChild(src);
              dn != null;
-             dn = dn.getNextSibling(), sn = sn.getNextSibling()) {
+             dn = getCSSNextSibling(dn), sn = getCSSNextSibling(sn)) {
             if (sn.getNodeType() == Node.ELEMENT_NODE) {
                 importCascadedStyleMaps((Element)sn, srceng, (Element)dn);
             }
@@ -655,7 +699,7 @@ public abstract class CSSEngine {
     /**
      * Returns the current base-url.
      */
-    public URL getCSSBaseURI() {
+    public ParsedURL getCSSBaseURI() {
         if (cssBaseURI == null) {
             cssBaseURI = element.getCSSBase();
         }
@@ -674,14 +718,14 @@ public abstract class CSSEngine {
 
         // Apply the user-agent style-sheet to the result.
         if (userAgentStyleSheet != null) {
-            List rules = new ArrayList();
+            ArrayList rules = new ArrayList();
             addMatchingRules(rules, userAgentStyleSheet, elt, pseudo);
             addRules(elt, pseudo, result, rules, StyleMap.USER_AGENT_ORIGIN);
         }
 
         // Apply the user properties style-sheet to the result.
         if (userStyleSheet != null) {
-            List rules = new ArrayList();
+            ArrayList rules = new ArrayList();
             addMatchingRules(rules, userStyleSheet, elt, pseudo);
             addRules(elt, pseudo, result, rules, StyleMap.USER_ORIGIN);
         }
@@ -689,39 +733,47 @@ public abstract class CSSEngine {
         element = elt;
         try {
             // Apply the non-CSS presentational hints to the result.
-            ShorthandManager.PropertyHandler ph =
-                new ShorthandManager.PropertyHandler() {
-                    public void property(String pname, LexicalUnit lu,
-                                         boolean important) {
-                        int idx = getPropertyIndex(pname);
-                        if (idx != -1) {
-                            ValueManager vm = valueManagers[idx];
-                            Value v = vm.createValue(lu, CSSEngine.this);
-                            putAuthorProperty(result, idx, v, important,
-                                              StyleMap.NON_CSS_ORIGIN);
-                            return;
+            if (nonCSSPresentationalHints != null) {
+                ShorthandManager.PropertyHandler ph =
+                    new ShorthandManager.PropertyHandler() {
+                        public void property(String pname, LexicalUnit lu,
+                                             boolean important) {
+                            int idx = getPropertyIndex(pname);
+                            if (idx != -1) {
+                                ValueManager vm = valueManagers[idx];
+                                Value v = vm.createValue(lu, CSSEngine.this);
+                                putAuthorProperty(result, idx, v, important,
+                                                  StyleMap.NON_CSS_ORIGIN);
+                                return;
+                            }
+                            idx = getShorthandIndex(pname);
+                            if (idx == -1)
+                                return; // Unknown property...
+                            // Shorthand value
+                            shorthandManagers[idx].setValues
+                                (CSSEngine.this, this, lu, important);
                         }
-                        idx = getShorthandIndex(pname);
-                        if (idx == -1)
-                            return; // Unknown property...
-                        // Shorthand value
-                        shorthandManagers[idx].setValues
-                            (CSSEngine.this, this, lu, important);
-                    }
-                };
+                    };
 
-            if (nonCSSPresentationalHints != null) {
                 NamedNodeMap attrs = elt.getAttributes();
                 int len = attrs.getLength();
                 for (int i = 0; i < len; i++) {
                     Node attr = attrs.item(i);
                     String an = attr.getNodeName();
                     if (nonCSSPresentationalHints.contains(an)) {
+                      String attrValue = attr.getNodeValue();          // -- dvh
                         try {
                             LexicalUnit lu;
                             lu = parser.parsePropertyValue(attr.getNodeValue());
                             ph.property(an, lu, false);
                         } catch (Exception e) {
+
+                          System.err.println("\n***** CSSEngine: exception property.syntax.error:" + e );  // ---
+                          System.err.println("\nAttrValue:" + attrValue );
+                          System.err.println("\nException:" + e.getClass().getName() );
+                          e.printStackTrace( System.err );                           // ---
+                          System.err.println("\n***** CSSEngine: exception...." );   // ---
+
                             String m = e.getMessage();
                             if (m == null) m = "";
                             String u = ((documentURI == null)?"<unknown>":
@@ -738,10 +790,11 @@ public abstract class CSSEngine {
             }
 
             // Apply the document style-sheets to the result.
-            List snodes = getStyleSheetNodes();
+            CSSEngine eng = cssContext.getCSSEngineForElement(elt);
+            List snodes = eng.getStyleSheetNodes();
             int slen = snodes.size();
             if (slen > 0) {
-                List rules = new ArrayList();
+                ArrayList rules = new ArrayList();
                 for (int i = 0; i < slen; i++) {
                     CSSStyleSheetNode ssn = (CSSStyleSheetNode)snodes.get(i);
                     StyleSheet ss = ssn.getCSSStyleSheet();
@@ -771,18 +824,38 @@ public abstract class CSSEngine {
                         styleDeclarationDocumentHandler.styleMap = null;
                     } catch (Exception e) {
                         String m = e.getMessage();
-                        if (m == null) m = "";
+                        if (m == null) m = e.getClass().getName();
                         String u = ((documentURI == null)?"<unknown>":
                                     documentURI.toString());
                         String s = Messages.formatMessage
                             ("style.syntax.error.at",
-                             new Object[] { u, styleLocalName, style, m});
+                             new Object[] { u, styleLocalName, style, m });
                         DOMException de = new DOMException(DOMException.SYNTAX_ERR, s);
                         if (userAgent == null) throw de;
                         userAgent.displayError(de);
                     }
                 }
             }
+
+            // Apply the override rules to the result.
+            StyleDeclarationProvider p =
+                elt.getOverrideStyleDeclarationProvider();
+            if (p != null) {
+                StyleDeclaration over = p.getStyleDeclaration();
+                if (over != null) {
+                    int ol = over.size();
+                    for (int i = 0; i < ol; i++) {
+                        int idx = over.getIndex(i);
+                        Value value = over.getValue(i);
+                        boolean important = over.getPriority(i);
+                        if (!result.isImportant(idx) || important) {
+                            result.putValue(idx, value);
+                            result.putImportant(idx, important);
+                            result.putOrigin(idx, StyleMap.OVERRIDE_ORIGIN);
+                        }
+                    }
+                }
+            }
         } finally {
             element = null;
             cssBaseURI = null;
@@ -805,14 +878,14 @@ public abstract class CSSEngine {
         }
 
         Value value = sm.getValue(propidx);
-        if (sm.isComputed(propidx)) 
+        if (sm.isComputed(propidx))
             return value;
 
         Value result = value;
         ValueManager vm = valueManagers[propidx];
         CSSStylableElement p = getParentCSSStylableElement(elt);
         if (value == null) {
-            if ((p == null) || !vm.isInheritedProperty()) 
+            if ((p == null) || !vm.isInheritedProperty())
                 result = vm.getDefaultValue();
         } else if ((p != null) && (value == InheritValue.INSTANCE)) {
             result = null;
@@ -872,9 +945,9 @@ public abstract class CSSEngine {
         if (n instanceof CSSStyleSheetNode) {
             styleSheetNodes.add(n);
         }
-        for (Node nd = n.getFirstChild();
+        for (Node nd = getCSSFirstChild(n);
              nd != null;
-             nd = nd.getNextSibling()) {
+             nd = getCSSNextSibling(nd)) {
             findStyleSheetNodes(nd);
         }
     }
@@ -913,11 +986,12 @@ public abstract class CSSEngine {
      * set.  Shorthand properties will be expanded "automatically".
      */
     public interface MainPropertyReceiver {
+
         /**
          * Called with a non-shorthand property name and it's value.
          */
-        public void setMainProperty(String name, Value v, boolean important);
-    };
+        void setMainProperty(String name, Value v, boolean important);
+    }
 
     public void setMainProperties
         (CSSStylableElement elt, final MainPropertyReceiver dst,
@@ -947,7 +1021,7 @@ public abstract class CSSEngine {
             ph.property(pname, lu, important);
         } catch (Exception e) {
             String m = e.getMessage();
-            if (m == null) m = "";
+            if (m == null) m = "";                  // todo - better handling of NPE
             String u = ((documentURI == null)?"<unknown>":
                         documentURI.toString());
             String s = Messages.formatMessage
@@ -985,7 +1059,7 @@ public abstract class CSSEngine {
                         documentURI.toString());
             String s = Messages.formatMessage
                 ("property.syntax.error.at",
-                 new Object[] { u, prop, value, m});
+                 new Object[] { u, prop, value, m });
             DOMException de = new DOMException(DOMException.SYNTAX_ERR, s);
             if (userAgent == null) throw de;
             userAgent.displayError(de);
@@ -1031,7 +1105,7 @@ public abstract class CSSEngine {
      * @param uri The style-sheet URI.
      * @param media The target media of the style-sheet.
      */
-    public StyleSheet parseStyleSheet(URL uri, String media)
+    public StyleSheet parseStyleSheet(ParsedURL uri, String media)
         throws DOMException {
         StyleSheet ss = new StyleSheet();
         try {
@@ -1058,7 +1132,8 @@ public abstract class CSSEngine {
      * @param uri The base URI.
      * @param media The target media of the style-sheet.
      */
-    public StyleSheet parseStyleSheet(InputSource is, URL uri, String media)
+    public StyleSheet parseStyleSheet(InputSource is, ParsedURL uri,
+                                      String media)
         throws DOMException {
         StyleSheet ss = new StyleSheet();
         try {
@@ -1083,7 +1158,8 @@ public abstract class CSSEngine {
      * @param ss The stylesheet to fill.
      * @param uri The base URI.
      */
-    public void parseStyleSheet(StyleSheet ss, URL uri) throws DOMException {
+    public void parseStyleSheet(StyleSheet ss, ParsedURL uri)
+            throws DOMException {
         if (uri == null) {
             String s = Messages.formatMessage
                 ("syntax.error.at",
@@ -1094,21 +1170,15 @@ public abstract class CSSEngine {
             return;
         }
 
-	try {
+        try {
             // Check that access to the uri is allowed
-             ParsedURL pDocURL = null;
-             if (documentURI != null) {
-                 pDocURL = new ParsedURL(documentURI);
-             }
-             ParsedURL pURL = new ParsedURL(uri);
-             cssContext.checkLoadExternalResource(pURL, pDocURL);
-             
-             parseStyleSheet(ss, new InputSource(uri.toString()), uri);
-	} catch (SecurityException e) {
-            throw e; 
+            cssContext.checkLoadExternalResource(uri, documentURI);
+            parseStyleSheet(ss, new InputSource(uri.toString()), uri);
+        } catch (SecurityException e) {
+            throw e;
         } catch (Exception e) {
             String m = e.getMessage();
-            if (m == null) m = "";
+            if (m == null) m = e.getClass().getName();
             String s = Messages.formatMessage
                 ("syntax.error.at", new Object[] { uri.toString(), m });
             DOMException de = new DOMException(DOMException.SYNTAX_ERR, s);
@@ -1123,8 +1193,8 @@ public abstract class CSSEngine {
      * @param uri The style-sheet URI.
      * @param media The target media of the style-sheet.
      */
-    public StyleSheet parseStyleSheet(String rules, URL uri, String media)
-        throws DOMException {
+    public StyleSheet parseStyleSheet(String rules, ParsedURL uri, String media)
+            throws DOMException {
         StyleSheet ss = new StyleSheet();
         try {
             ss.setMedia(parser.parseMedia(media));
@@ -1152,10 +1222,10 @@ public abstract class CSSEngine {
      */
     public void parseStyleSheet(StyleSheet ss,
                                 String rules,
-                                URL uri) throws DOMException {
+                                ParsedURL uri) throws DOMException {
         try {
             parseStyleSheet(ss, new InputSource(new StringReader(rules)), uri);
-	} catch (Exception e) {
+        } catch (Exception e) {
             // e.printStackTrace();
             String m = e.getMessage();
             if (m == null) m = "";
@@ -1173,7 +1243,7 @@ public abstract class CSSEngine {
      * @param ss The stylesheet to fill.
      * @param uri The base URI.
      */
-    protected void parseStyleSheet(StyleSheet ss, InputSource is, URL uri)
+    protected void parseStyleSheet(StyleSheet ss, InputSource is, ParsedURL uri)
         throws IOException {
         parser.setSelectorFactory(CSSSelectorFactory.INSTANCE);
         parser.setConditionFactory(cssConditionFactory);
@@ -1221,6 +1291,9 @@ public abstract class CSSEngine {
             case StyleMap.AUTHOR_ORIGIN:
                 cond = !dimp || imp;
                 break;
+            case StyleMap.OVERRIDE_ORIGIN:
+                cond = false;
+                break;
             default:
                 cond = true;
             }
@@ -1274,7 +1347,7 @@ public abstract class CSSEngine {
     protected void addRules(Element elt,
                             String pseudo,
                             StyleMap sm,
-                            List rules,
+                            ArrayList rules,
                             short origin) {
         sortRules(rules, elt, pseudo);
         int rlen = rules.size();
@@ -1311,35 +1384,36 @@ public abstract class CSSEngine {
      * Sorts the rules matching the element/pseudo-element of given style
      * sheet to the list.
      */
-    protected void sortRules(List rules, Element elt, String pseudo) {
+    protected void sortRules(ArrayList rules, Element elt, String pseudo) {
         int len = rules.size();
-        for (int i = 0; i < len - 1; i++) {
-            int idx = i;
-            int min = Integer.MAX_VALUE;
-            for (int j = i; j < len; j++) {
-                StyleRule r = (StyleRule)rules.get(j);
-                SelectorList sl = r.getSelectorList();
-                int spec = 0;
-                int slen = sl.getLength();
-                for (int k = 0; k < slen; k++) {
-                    ExtendedSelector s = (ExtendedSelector)sl.item(k);
-                    if (s.match(elt, pseudo)) {
-                        int sp = s.getSpecificity();
-                        if (sp > spec) {
-                            spec = sp;
-                        }
+        int[] specificities = new int[len];
+        for (int i = 0; i < len; i++) {
+            StyleRule r = (StyleRule) rules.get(i);
+            SelectorList sl = r.getSelectorList();
+            int spec = 0;
+            int slen = sl.getLength();
+            for (int k = 0; k < slen; k++) {
+                ExtendedSelector s = (ExtendedSelector) sl.item(k);
+                if (s.match(elt, pseudo)) {
+                    int sp = s.getSpecificity();
+                    if (sp > spec) {
+                        spec = sp;
                     }
                 }
-                if (spec < min) {
-                    min = spec;
-                    idx = j;
-                }
             }
-            if (i != idx) {
-                Object tmp = rules.get(i);
-                rules.set(i, rules.get(idx));
-                rules.set(idx, tmp);
+            specificities[i] = spec;
+        }
+        for (int i = 1; i < len; i++) {
+            Object rule = rules.get(i);
+            int spec = specificities[i];
+            int j = i - 1;
+            while (j >= 0 && specificities[j] > spec) {
+                rules.set(j + 1, rules.get(j));
+                specificities[j + 1] = specificities[j];
+                j--;
             }
+            rules.set(j + 1, rule);
+            specificities[j + 1] = spec;
         }
     }
 
@@ -1348,23 +1422,23 @@ public abstract class CSSEngine {
      * CSSEngine object.
      */
     protected boolean mediaMatch(SACMediaList ml) {
-	if (media == null ||
+    if (media == null ||
             ml == null ||
             media.getLength() == 0 ||
             ml.getLength() == 0) {
-	    return true;
-	}
-	for (int i = 0; i < ml.getLength(); i++) {
+        return true;
+    }
+    for (int i = 0; i < ml.getLength(); i++) {
             if (ml.item(i).equalsIgnoreCase("all"))
                 return true;
-	    for (int j = 0; j < media.getLength(); j++) {
-		if (media.item(j).equalsIgnoreCase("all") ||
+        for (int j = 0; j < media.getLength(); j++) {
+        if (media.item(j).equalsIgnoreCase("all") ||
                     ml.item(i).equalsIgnoreCase(media.item(j))) {
-		    return true;
-		}
-	    }
-	}
-	return false;
+            return true;
+        }
+        }
+    }
+    return false;
     }
 
     /**
@@ -1374,7 +1448,7 @@ public abstract class CSSEngine {
         extends DocumentAdapter
         implements ShorthandManager.PropertyHandler {
         public StyleMap styleMap;
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#property(String,LexicalUnit,boolean)}.
@@ -1407,7 +1481,7 @@ public abstract class CSSEngine {
         extends DocumentAdapter
         implements ShorthandManager.PropertyHandler {
         public StyleDeclaration styleDeclaration;
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#property(String,LexicalUnit,boolean)}.
@@ -1449,46 +1523,46 @@ public abstract class CSSEngine {
         public void startDocument(InputSource source)
             throws CSSException {
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#endDocument(InputSource)}.
          */
         public void endDocument(InputSource source) throws CSSException {
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#ignorableAtRule(String)}.
+         * org.w3c.css.sac.DocumentHandler#ignorableAtRule(String)}.
          */
         public void ignorableAtRule(String atRule) throws CSSException {
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#importStyle(String,SACMediaList,String)}.
          */
         public void importStyle(String       uri,
-                                SACMediaList media, 
+                                SACMediaList media,
                                 String       defaultNamespaceURI)
             throws CSSException {
             ImportRule ir = new ImportRule();
             ir.setMediaList(media);
             ir.setParent(styleSheet);
-            try {
-                URL base = getCSSBaseURI();
-                URL url;
-                if (base == null) url = new URL(uri);
-                else              url = new URL(base, uri);
-                ir.setURI(url);
-            } catch (MalformedURLException e) {
+            ParsedURL base = getCSSBaseURI();
+            ParsedURL url;
+            if (base == null) {
+                url = new ParsedURL(uri);
+            } else {
+                url = new ParsedURL(base, uri);
             }
+            ir.setURI(url);
             styleSheet.append(ir);
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#startMedia(SACMediaList)}.
+         * org.w3c.css.sac.DocumentHandler#startMedia(SACMediaList)}.
          */
         public void startMedia(SACMediaList media) throws CSSException {
             MediaRule mr = new MediaRule();
@@ -1497,42 +1571,42 @@ public abstract class CSSEngine {
             styleSheet.append(mr);
             styleSheet = mr;
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#endMedia(SACMediaList)}.
+         * org.w3c.css.sac.DocumentHandler#endMedia(SACMediaList)}.
          */
         public void endMedia(SACMediaList media) throws CSSException {
             styleSheet = styleSheet.getParent();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#startPage(String,String)}.
-         */    
+         * org.w3c.css.sac.DocumentHandler#startPage(String,String)}.
+         */
         public void startPage(String name, String pseudo_page)
             throws CSSException {
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#endPage(String,String)}.
+         * org.w3c.css.sac.DocumentHandler#endPage(String,String)}.
          */
         public void endPage(String name, String pseudo_page)
             throws CSSException {
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#startFontFace()}.
+         * org.w3c.css.sac.DocumentHandler#startFontFace()}.
          */
         public void startFontFace() throws CSSException {
             styleDeclaration = new StyleDeclaration();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#endFontFace()}.
+         * org.w3c.css.sac.DocumentHandler#endFontFace()}.
          */
         public void endFontFace() throws CSSException {
             StyleMap sm = new StyleMap(getNumberOfProperties());
@@ -1542,7 +1616,7 @@ public abstract class CSSEngine {
                 sm.putValue(idx, styleDeclaration.getValue(i));
                 sm.putImportant(idx, styleDeclaration.getPriority(i));
                 // Not sure on this..
-                sm.putOrigin(idx, StyleMap.AUTHOR_ORIGIN); 
+                sm.putOrigin(idx, StyleMap.AUTHOR_ORIGIN);
             }
             styleDeclaration = null;
 
@@ -1550,15 +1624,13 @@ public abstract class CSSEngine {
             Value fontFamily = sm.getValue(pidx);
             if (fontFamily == null) return;
 
-            URL base = getCSSBaseURI();
-            ParsedURL purl = null;
-            if (base != null) purl = new ParsedURL(base);
-            fontFaces.add(new FontFaceRule(sm, purl));
+            ParsedURL base = getCSSBaseURI();
+            fontFaces.add(new FontFaceRule(sm, base));
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#startSelector(SelectorList)}.
+         * org.w3c.css.sac.DocumentHandler#startSelector(SelectorList)}.
          */
         public void startSelector(SelectorList selectors) throws CSSException {
             styleRule = new StyleRule();
@@ -1567,10 +1639,10 @@ public abstract class CSSEngine {
             styleRule.setStyleDeclaration(styleDeclaration);
             styleSheet.append(styleRule);
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
-         * org.w3c.flex.forks.css.sac.DocumentHandler#endSelector(SelectorList)}.
+         * org.w3c.css.sac.DocumentHandler#endSelector(SelectorList)}.
          */
         public void endSelector(SelectorList selectors) throws CSSException {
             styleRule = null;
@@ -1602,7 +1674,9 @@ public abstract class CSSEngine {
     }
 
     /**
-     * Provides an adapter for the DocumentHandler interface.
+     * Provides an (empty) adapter for the DocumentHandler interface.
+     * Most methods just throw an UnsupportedOperationException, so
+     * the subclasses <i>must</i> override them with 'real' methods.
      */
     protected static class DocumentAdapter implements DocumentHandler {
 
@@ -1610,132 +1684,131 @@ public abstract class CSSEngine {
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#startDocument(InputSource)}.
          */
-        public void startDocument(InputSource source)
-            throws CSSException {
-            throw new InternalError();
+        public void startDocument(InputSource source){
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#endDocument(InputSource)}.
          */
-        public void endDocument(InputSource source) throws CSSException {
-            throw new InternalError();
+        public void endDocument(InputSource source) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#comment(String)}.
          */
-        public void comment(String text) throws CSSException {
+        public void comment(String text) {
             // We always ignore the comments.
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#ignorableAtRule(String)}.
          */
-        public void ignorableAtRule(String atRule) throws CSSException {
-            throw new InternalError();
+        public void ignorableAtRule(String atRule) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#namespaceDeclaration(String,String)}.
          */
-        public void namespaceDeclaration(String prefix, String uri) 
-            throws CSSException {
-            throw new InternalError();
+        public void namespaceDeclaration(String prefix, String uri) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#importStyle(String,SACMediaList,String)}.
          */
         public void importStyle(String       uri,
-                                SACMediaList media, 
-                                String       defaultNamespaceURI)
-            throws CSSException {
-            throw new InternalError();
+                                SACMediaList media,
+                                String       defaultNamespaceURI) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#startMedia(SACMediaList)}.
          */
-        public void startMedia(SACMediaList media) throws CSSException {
-            throw new InternalError();
+        public void startMedia(SACMediaList media) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#endMedia(SACMediaList)}.
          */
-        public void endMedia(SACMediaList media) throws CSSException {
-            throw new InternalError();
+        public void endMedia(SACMediaList media) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#startPage(String,String)}.
-         */    
-        public void startPage(String name, String pseudo_page)
-            throws CSSException {
-            throw new InternalError();
+         */
+        public void startPage(String name, String pseudo_page) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#endPage(String,String)}.
          */
-        public void endPage(String name, String pseudo_page)
-            throws CSSException {
-            throw new InternalError();
+        public void endPage(String name, String pseudo_page) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link DocumentHandler#startFontFace()}.
          */
-        public void startFontFace() throws CSSException {
-            throw new InternalError();
+        public void startFontFace() {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link DocumentHandler#endFontFace()}.
          */
-        public void endFontFace() throws CSSException {
-            throw new InternalError();
+        public void endFontFace() {
+            throwUnsupportedEx();
         }
-        
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#startSelector(SelectorList)}.
          */
-        public void startSelector(SelectorList selectors) throws CSSException {
-            throw new InternalError();
+        public void startSelector(SelectorList selectors) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#endSelector(SelectorList)}.
          */
-        public void endSelector(SelectorList selectors) throws CSSException {
-            throw new InternalError();
+        public void endSelector(SelectorList selectors) {
+            throwUnsupportedEx();
         }
-    
+
         /**
          * <b>SAC</b>: Implements {@link
          * DocumentHandler#property(String,LexicalUnit,boolean)}.
          */
-        public void property(String name, LexicalUnit value, boolean important)
-            throws CSSException {
-            throw new InternalError();
+        public void property(String name, LexicalUnit value, boolean important) {
+            throwUnsupportedEx();
+        }
+
+
+        private void throwUnsupportedEx(){
+            throw new UnsupportedOperationException("you try to use an empty method in Adapter-class" );
         }
     }
 
     // CSS events /////////////////////////////////////////////////////////
-    
-    protected final static CSSEngineListener[] LISTENER_ARRAY =
+
+    protected static final CSSEngineListener[] LISTENER_ARRAY =
         new CSSEngineListener[0];
 
     /**
@@ -1769,31 +1842,31 @@ public abstract class CSSEngine {
     }
 
     // Dynamic updates ////////////////////////////////////////////////////
-    
+
     /**
      * Called when the inline style of the given element has been updated.
      */
     protected void inlineStyleAttributeUpdated(CSSStylableElement elt,
                                                StyleMap style,
-                                               MutationEvent evt) {
+                                               short attrChange,
+                                               String prevValue,
+                                               String newValue) {
         boolean[] updated = styleDeclarationUpdateHandler.updatedProperties;
         for (int i = getNumberOfProperties() - 1; i >= 0; --i) {
             updated[i] = false;
         }
 
-        switch (evt.getAttrChange()) {
-        case MutationEvent.ADDITION:
+        switch (attrChange) {
+        case MutationEvent.ADDITION:            // intentional fall-through
         case MutationEvent.MODIFICATION:
-            String decl = evt.getNewValue();
-            // System.err.println("Inline Style Update: '" + decl + "'");
-            if (decl.length() > 0) {
+            if (newValue.length() > 0) {
                 element = elt;
                 try {
                     parser.setSelectorFactory(CSSSelectorFactory.INSTANCE);
                     parser.setConditionFactory(cssConditionFactory);
                     styleDeclarationUpdateHandler.styleMap = style;
                     parser.setDocumentHandler(styleDeclarationUpdateHandler);
-                    parser.parseStyleDeclaration(decl);
+                    parser.parseStyleDeclaration(newValue);
                     styleDeclarationUpdateHandler.styleMap = null;
                 } catch (Exception e) {
                     String m = e.getMessage();
@@ -1802,7 +1875,7 @@ public abstract class CSSEngine {
                                 documentURI.toString());
                     String s = Messages.formatMessage
                         ("style.syntax.error.at",
-                         new Object[] { u, styleLocalName, decl, m });
+                         new Object[] { u, styleLocalName, newValue, m });
                     DOMException de = new DOMException(DOMException.SYNTAX_ERR, s);
                     if (userAgent == null) throw de;
                     userAgent.displayError(de);
@@ -1816,16 +1889,16 @@ public abstract class CSSEngine {
         case MutationEvent.REMOVAL:
             boolean removed = false;
 
-            if (evt.getPrevValue() != null &&
-                evt.getPrevValue().length() > 0) {
+            if (prevValue != null && prevValue.length() > 0) {
                 // Check if the style map has cascaded styles which
-                // come from the inline style attribute.
+                // come from the inline style attribute or override style.
                 for (int i = getNumberOfProperties() - 1; i >= 0; --i) {
-                    if (style.isComputed(i) &&
-                        style.getOrigin(i) == StyleMap.INLINE_AUTHOR_ORIGIN &&
-                        !updated[i]) {
-                        removed = true;
-                        updated[i] = true;
+                    if (style.isComputed(i) && !updated[i]) {
+                        short origin = style.getOrigin(i);
+                        if (origin >= StyleMap.INLINE_AUTHOR_ORIGIN) {     // ToDo Jlint says: always same result ??
+                            removed = true;
+                            updated[i] = true;
+                        }
                     }
                 }
             }
@@ -1844,11 +1917,11 @@ public abstract class CSSEngine {
                 boolean cl = (colorIndex == -1)
                     ? false
                     : updated[colorIndex];
-                
+
                 for (int i = getNumberOfProperties() - 1; i >= 0; --i) {
                     if (updated[i]) {
                         count++;
-                    } 
+                    }
                     else if ((fs && style.isFontSizeRelative(i)) ||
                              (lh && style.isLineHeightRelative(i)) ||
                              (cl && style.isColorRelative(i))) {
@@ -1873,7 +1946,7 @@ public abstract class CSSEngine {
 
         default:
             // Must not happen
-            throw new InternalError("Invalid attrChangeType");
+            throw new IllegalStateException("Invalid attrChangeType");
         }
     }
 
@@ -1891,13 +1964,11 @@ public abstract class CSSEngine {
         style.putComputed(n, false);
     }
 
-
     /**
      * Invalidates all the properties of the given node.
-     * 
      */
-    protected void invalidateProperties(Node node, 
-                                        int [] properties, 
+    protected void invalidateProperties(Node node,
+                                        int [] properties,
                                         boolean [] updated,
                                         boolean recascade) {
 
@@ -1908,12 +1979,10 @@ public abstract class CSSEngine {
         StyleMap style = elt.getComputedStyleMap(null);
         if (style == null)
             return;  // Nothing to invalidate.
-        
+
         boolean [] diffs = new boolean[getNumberOfProperties()];
         if (updated != null) {
-            for (int i=0; i< updated.length; i++) {
-                diffs[i] = updated[i];
-            }
+            System.arraycopy( updated, 0, diffs, 0, updated.length );
         }
         if (properties != null) {
             for (int i=0; i<properties.length; i++) {
@@ -1923,8 +1992,9 @@ public abstract class CSSEngine {
         int count =0;
         if (!recascade) {
             for (int i=0; i<diffs.length; i++) {
-                if (diffs[i])
+                if (diffs[i]) {
                     count++;
+                }
             }
         } else {
             StyleMap newStyle = getCascadedStyleMap(elt, null);
@@ -1977,7 +2047,7 @@ public abstract class CSSEngine {
      * again to see if the any new rules apply (or old rules don't
      * apply).
      */
-    protected void propagateChanges(Node node, int[] props, 
+    protected void propagateChanges(Node node, int[] props,
                                     boolean recascade) {
         if (!(node instanceof CSSStylableElement))
             return;
@@ -2037,7 +2107,7 @@ public abstract class CSSEngine {
 
         int [] inherited = props;
         if (props != null) {
-            // Filter out uninheritable properties when we 
+            // Filter out uninheritable properties when we
             // propogate to children.
             int count = 0;
             for (int i=0; i<props.length; i++) {
@@ -2045,7 +2115,7 @@ public abstract class CSSEngine {
                 if (vm.isInheritedProperty()) count++;
                 else props[i] = -1;
             }
-            
+
             if (count == 0) {
                 // nothing to propogate for sure
                 inherited = null;
@@ -2058,22 +2128,16 @@ public abstract class CSSEngine {
             }
         }
 
-        CSSImportedElementRoot ier = getImportedChild(node);
-        if (ier != null) {
-            Element e = (Element)ier.getFirstChild();
-            // Don't recascade trees that have been imported.
-            // If you do it will use the stylesheets from this
-            // document instead of the original document.  Also
-            // currently there isn't any supported way to modify
-            // the content imported from the other document so
-            // the cascade can't change.
-            CSSEngine subEng = cssContext.getCSSEngineForElement(e);
-            subEng.invalidateProperties(e, inherited, null, recascade);
-        }
-        for (Node n = node.getFirstChild();
+        for (Node n = getCSSFirstChild(node);
              n != null;
-             n = n.getNextSibling()) {
-            invalidateProperties(n, inherited, null, recascade);
+             n = getCSSNextSibling(n)) {
+            if (n.getNodeType() == Node.ELEMENT_NODE) {
+                // XXX Should this invalidateProperties be called on eng?
+                // In r216064 with CSSImportedElementRoot, the imported
+                // element's CSSEngine was indeed used.
+                // CSSEngine eng = cssContext.getCSSEngineForElement((Element) n);
+                invalidateProperties(n, inherited, null, recascade);
+            }
         }
     }
 
@@ -2127,8 +2191,8 @@ public abstract class CSSEngine {
     protected void nonCSSPresentationalHintUpdated(CSSStylableElement elt,
                                                    StyleMap style,
                                                    String property,
-                                                   MutationEvent evt) {
-        // System.err.println("update: " + property);
+                                                   short attrChange,
+                                                   String newValue) {
         int idx = getPropertyIndex(property);
 
         if (style.isImportant(idx)) {
@@ -2137,20 +2201,18 @@ public abstract class CSSEngine {
             return;
         }
 
-        switch (style.getOrigin(idx)) {
-        case StyleMap.AUTHOR_ORIGIN:
-        case StyleMap.INLINE_AUTHOR_ORIGIN:
+        if (style.getOrigin(idx) >= StyleMap.AUTHOR_ORIGIN) {
             // The current value has a greater priority
             return;
         }
-        
-        switch (evt.getAttrChange()) {
-        case MutationEvent.ADDITION:
+
+        switch (attrChange) {
+        case MutationEvent.ADDITION:   // intentional fall-through
         case MutationEvent.MODIFICATION:
             element = elt;
             try {
                 LexicalUnit lu;
-                lu = parser.parsePropertyValue(evt.getNewValue());
+                lu = parser.parsePropertyValue(newValue);
                 ValueManager vm = valueManagers[idx];
                 Value v = vm.createValue(lu, CSSEngine.this);
                 style.putMask(idx, (short)0);
@@ -2163,7 +2225,7 @@ public abstract class CSSEngine {
                             documentURI.toString());
                 String s = Messages.formatMessage
                     ("property.syntax.error.at",
-                     new Object[] { u, property, evt.getNewValue(), m });
+                     new Object[] { u, property, newValue, m });
                 DOMException de = new DOMException(DOMException.SYNTAX_ERR, s);
                 if (userAgent == null) throw de;
                 userAgent.displayError(de);
@@ -2173,7 +2235,7 @@ public abstract class CSSEngine {
             }
             break;
 
-        case MutationEvent.REMOVAL: 
+        case MutationEvent.REMOVAL:
             {
                 int [] invalid = { idx };
                 invalidateProperties(elt, invalid, null, true);
@@ -2218,29 +2280,312 @@ public abstract class CSSEngine {
     }
 
     /**
+     * Returns whether the DOM subtree rooted at the specified node
+     * contains a {@link CSSStyleSheetNode}.
+     */
+    protected boolean hasStyleSheetNode(Node n) {
+        if (n instanceof CSSStyleSheetNode) {
+            return true;
+        }
+        n = getCSSFirstChild(n);
+        while (n != null) {
+            if (hasStyleSheetNode(n)) {
+                return true;
+            }
+            n = getCSSNextSibling(n);
+        }
+        return false;
+    }
+
+    /**
+     * Handles an attribute change in the document.
+     */
+    protected void handleAttrModified(Element e,
+                                      Attr attr,
+                                      short attrChange,
+                                      String prevValue,
+                                      String newValue) {
+        if (!(e instanceof CSSStylableElement)) {
+            // Not a stylable element.
+            return;
+        }
+
+        if (newValue.equals(prevValue)) {
+            return;  // no change really...
+        }
+
+        String attrNS = attr.getNamespaceURI();
+        String name = attrNS == null ? attr.getNodeName() : attr.getLocalName();
+
+        CSSStylableElement elt = (CSSStylableElement) e;
+        StyleMap style = elt.getComputedStyleMap(null);
+        if (style != null) {
+            if (attrNS == styleNamespaceURI
+                    || attrNS != null && attrNS.equals(styleNamespaceURI)) {
+                if (name.equals(styleLocalName)) {
+                    // The style declaration attribute has been modified.
+                    inlineStyleAttributeUpdated
+                        (elt, style, attrChange, prevValue, newValue);
+                    return;
+                }
+            }
+
+            if (nonCSSPresentationalHints != null) {
+                if (attrNS == nonCSSPresentationalHintsNamespaceURI ||
+                        attrNS != null &&
+                        attrNS.equals(nonCSSPresentationalHintsNamespaceURI)) {
+                    if (nonCSSPresentationalHints.contains(name)) {
+                        // The 'name' attribute which represents a non CSS
+                        // presentational hint has been modified.
+                        nonCSSPresentationalHintUpdated
+                            (elt, style, name, attrChange, newValue);
+                        return;
+                    }
+                }
+            }
+        }
+
+        if (selectorAttributes != null &&
+            selectorAttributes.contains(name)) {
+            // An attribute has been modified, invalidate all the
+            // properties to correctly match attribute selectors.
+            invalidateProperties(elt, null, null, true);
+            for (Node n = getCSSNextSibling(elt);
+                 n != null;
+                 n = getCSSNextSibling(n)) {
+                invalidateProperties(n, null, null, true);
+            }
+        }
+    }
+
+    /**
+     * Handles a node insertion in the document.
+     */
+    protected void handleNodeInserted(Node n) {
+        if (hasStyleSheetNode(n)) {
+            // Invalidate all the CSSStylableElements in the document.
+            styleSheetNodes = null;
+            invalidateProperties(document.getDocumentElement(),
+                                 null, null, true);
+        } else if (n instanceof CSSStylableElement) {
+            // Invalidate the CSSStylableElement siblings, to correctly
+            // match the adjacent selectors and first-child pseudo-class.
+            n = getCSSNextSibling(n);
+            while (n != null) {
+                invalidateProperties(n, null, null, true);
+                n = getCSSNextSibling(n);
+            }
+        }
+    }
+
+    /**
+     * Handles a node removal from the document.
+     */
+    protected void handleNodeRemoved(Node n) {
+        if (hasStyleSheetNode(n)) {
+            // Wait for the DOMSubtreeModified to do the invalidations
+            // because at this time the node is in the tree.
+            styleSheetRemoved = true;
+        } else if (n instanceof CSSStylableElement) {
+            // Wait for the DOMSubtreeModified to do the invalidations
+            // because at this time the node is in the tree.
+            removedStylableElementSibling = getCSSNextSibling(n);
+        }
+        // Clears the computed styles in the removed tree.
+        disposeStyleMaps(n);
+    }
+
+    /**
+     * Handles a subtree modification in the document.
+     * todo the incoming Node is actually ignored (not used) here,
+     *     but it seems caller-sites assume that it is used - is this done right??
+     */
+    protected void handleSubtreeModified(Node ignored) {
+        if (styleSheetRemoved) {
+            // Invalidate all the CSSStylableElements in the document.
+            styleSheetRemoved = false;
+            styleSheetNodes = null;
+            invalidateProperties(document.getDocumentElement(),
+                                 null, null, true);
+        } else if (removedStylableElementSibling != null) {
+            // Invalidate the CSSStylableElement siblings, to
+            // correctly match the adjacent selectors and
+            // first-child pseudo-class.
+            Node n = removedStylableElementSibling;
+            while (n != null) {
+                invalidateProperties(n, null, null, true);
+                n = getCSSNextSibling(n);
+            }
+            removedStylableElementSibling = null;
+        }
+    }
+
+    /**
+     * Handles a character data modification in the document.
+     */
+    protected void handleCharacterDataModified(Node n) {
+        if (getCSSParentNode(n) instanceof CSSStyleSheetNode) {
+            // Invalidate all the CSSStylableElements in the document.
+            styleSheetNodes = null;
+            invalidateProperties(document.getDocumentElement(),
+                                 null, null, true);
+        }
+    }
+
+    /**
+     * To handle mutations of a CSSNavigableDocument.
+     */
+    protected class CSSNavigableDocumentHandler
+            implements CSSNavigableDocumentListener,
+                       MainPropertyReceiver {
+
+        /**
+         * Array to hold which properties have been changed by a call to
+         * setMainProperties.
+         */
+        protected boolean[] mainPropertiesChanged;
+
+        /**
+         * The StyleDeclaration to use from the MainPropertyReceiver.
+         */
+        protected StyleDeclaration declaration;
+
+        /**
+         * A node has been inserted into the CSSNavigableDocument tree.
+         */
+        public void nodeInserted(Node newNode) {
+            handleNodeInserted(newNode);
+        }
+
+        /**
+         * A node is about to be removed from the CSSNavigableDocument tree.
+         */
+        public void nodeToBeRemoved(Node oldNode) {
+            handleNodeRemoved(oldNode);
+        }
+
+        /**
+         * A subtree of the CSSNavigableDocument tree has been modified
+         * in some way.
+         */
+        public void subtreeModified(Node rootOfModifications) {
+            handleSubtreeModified(rootOfModifications);
+        }
+
+        /**
+         * Character data in the CSSNavigableDocument tree has been modified.
+         */
+        public void characterDataModified(Node text) {
+            handleCharacterDataModified(text);
+        }
+
+        /**
+         * An attribute has changed in the CSSNavigableDocument.
+         */
+        public void attrModified(Element e,
+                                 Attr attr,
+                                 short attrChange,
+                                 String prevValue,
+                                 String newValue) {
+            handleAttrModified(e, attr, attrChange, prevValue, newValue);
+        }
+
+        /**
+         * The text of the override style declaration for this element has been
+         * modified.
+         */
+        public void overrideStyleTextChanged(CSSStylableElement elt,
+                                             String text) {
+            StyleDeclarationProvider p =
+                elt.getOverrideStyleDeclarationProvider();
+            StyleDeclaration declaration = p.getStyleDeclaration();
+            int ds = declaration.size();
+            boolean[] updated = new boolean[getNumberOfProperties()];
+            for (int i = 0; i < ds; i++) {
+                updated[declaration.getIndex(i)] = true;
+            }
+            declaration = parseStyleDeclaration(elt, text);
+            p.setStyleDeclaration(declaration);
+            ds = declaration.size();
+            for (int i = 0; i < ds; i++) {
+                updated[declaration.getIndex(i)] = true;
+            }
+            invalidateProperties(elt, null, updated, true);
+        }
+
+        /**
+         * A property in the override style declaration has been removed.
+         */
+        public void overrideStylePropertyRemoved(CSSStylableElement elt,
+                                                 String name) {
+            StyleDeclarationProvider p =
+                elt.getOverrideStyleDeclarationProvider();
+            StyleDeclaration declaration = p.getStyleDeclaration();
+            int idx = getPropertyIndex(name);
+            int ds = declaration.size();
+            for (int i = 0; i < ds; i++) {
+                if (idx == declaration.getIndex(i)) {
+                    declaration.remove(i);
+                    StyleMap style = elt.getComputedStyleMap(null);
+                    if (style != null
+                            && style.getOrigin(idx) == StyleMap.OVERRIDE_ORIGIN
+                            /* && style.isComputed(idx) */) {
+                        invalidateProperties
+                            (elt, new int[] { idx }, null, true);
+                    }
+                    break;
+                }
+            }
+        }
+
+        /**
+         * A property in the override style declaration has been changed.
+         */
+        public void overrideStylePropertyChanged(CSSStylableElement elt,
+                                                 String name, String val,
+                                                 String prio) {
+            boolean important = prio != null && prio.length() != 0;
+            StyleDeclarationProvider p =
+                elt.getOverrideStyleDeclarationProvider();
+            declaration = p.getStyleDeclaration();
+            setMainProperties(elt, this, name, val, important);
+            declaration = null;
+            invalidateProperties(elt, null, mainPropertiesChanged, true);
+        }
+
+        // MainPropertyReceiver //////////////////////////////////////////////
+
+        /**
+         * Sets a main property value in response to a shorthand property
+         * being set.
+         */
+        public void setMainProperty(String name, Value v, boolean important) {
+            int idx = getPropertyIndex(name);
+            if (idx == -1) {
+                return;   // unknown property
+            }
+
+            int i;
+            for (i = 0; i < declaration.size(); i++) {
+                if (idx == declaration.getIndex(i)) {
+                    break;
+                }
+            }
+            if (i < declaration.size()) {
+                declaration.put(i, v, idx, important);
+            } else {
+                declaration.append(v, idx, important);
+            }
+        }
+    }
+
+    /**
      * To handle the insertion of a CSSStyleSheetNode in the
      * associated document.
      */
     protected class DOMNodeInsertedListener implements EventListener {
         public void handleEvent(Event evt) {
-            EventTarget et = evt.getTarget();
-            if (et instanceof CSSStyleSheetNode) {
-                styleSheetNodes = null;
-                // Invalidate all the CSSStylableElements in the document.
-                invalidateProperties(document.getDocumentElement(), 
-                                     null, null, true);
-                return;
-            }
-            if (et instanceof CSSStylableElement) {
-                // Invalidate the CSSStylableElement siblings, to
-                // correctly match the adjacent selectors and
-                // first-child pseudo-class.
-                for (Node n = ((Node)evt.getTarget()).getNextSibling();
-                     n != null;
-                     n = n.getNextSibling()) {
-                    invalidateProperties(n, null, null, true);
-                }
-            }
+            handleNodeInserted((Node) evt.getTarget());
         }
     }
 
@@ -2250,18 +2595,7 @@ public abstract class CSSEngine {
      */
     protected class DOMNodeRemovedListener implements EventListener {
         public void handleEvent(Event evt) {
-            EventTarget et = evt.getTarget();
-            if (et instanceof CSSStyleSheetNode) {
-                // Wait for the DOMSubtreeModified to do the invalidations
-                // because at this time the node is in the tree.
-                styleSheetRemoved = true;
-            } else if (et instanceof CSSStylableElement) {
-                // Wait for the DOMSubtreeModified to do the invalidations
-                // because at this time the node is in the tree.
-                removedStylableElementSibling = ((Node)et).getNextSibling();
-            }
-            // Clears the computed styles in the removed tree.
-            disposeStyleMaps((Node)et);
+            handleNodeRemoved((Node) evt.getTarget());
         }
     }
 
@@ -2271,24 +2605,7 @@ public abstract class CSSEngine {
      */
     protected class DOMSubtreeModifiedListener implements EventListener {
         public void handleEvent(Event evt) {
-            if (styleSheetRemoved) {
-                styleSheetRemoved = false;
-                styleSheetNodes = null;
-
-                // Invalidate all the CSSStylableElements in the document.
-                invalidateProperties(document.getDocumentElement(), 
-                                     null, null, true);
-            } else if (removedStylableElementSibling != null) {
-                // Invalidate the CSSStylableElement siblings, to
-                // correctly match the adjacent selectors and
-                // first-child pseudo-class.
-                for (Node n = removedStylableElementSibling;
-                     n != null;
-                     n = n.getNextSibling()) {
-                    invalidateProperties(n, null, null, true);
-                }
-                removedStylableElementSibling = null;
-            }
+            handleSubtreeModified((Node) evt.getTarget());
         }
     }
 
@@ -2297,13 +2614,7 @@ public abstract class CSSEngine {
      */
     protected class DOMCharacterDataModifiedListener implements EventListener {
         public void handleEvent(Event evt) {
-            Node n = (Node)evt.getTarget();
-            if (n.getParentNode() instanceof CSSStyleSheetNode) {
-                styleSheetNodes = null;
-                // Invalidate all the CSSStylableElements in the document.
-                invalidateProperties(document.getDocumentElement(), 
-                                     null, null, true);
-            }
+            handleCharacterDataModified((Node) evt.getTarget());
         }
     }
 
@@ -2313,60 +2624,12 @@ public abstract class CSSEngine {
      */
     protected class DOMAttrModifiedListener implements EventListener {
         public void handleEvent(Event evt) {
-            EventTarget et = evt.getTarget();
-            if (!(et instanceof CSSStylableElement)) {
-                // Not a stylable element.
-                return;
-            }
-
-            MutationEvent mevt = (MutationEvent)evt;
-            if (mevt.getNewValue().equals(mevt.getPrevValue()))
-                return;  // no change really...
-
-            Node attr = mevt.getRelatedNode();
-            String attrNS = attr.getNamespaceURI();
-            String name   = ((attrNS == null) ? 
-                             attr.getNodeName() :
-                             attr.getLocalName());
-                
-            CSSStylableElement elt = (CSSStylableElement)et;
-            StyleMap style = elt.getComputedStyleMap(null);
-            if (style != null) {
-                if ((attrNS == styleNamespaceURI) ||
-                    ((attrNS != null) && attrNS.equals(styleNamespaceURI))) {
-                    if (name.equals(styleLocalName)) {
-                        // The style declaration attribute has been modified.
-                        inlineStyleAttributeUpdated(elt, style, mevt);
-                        return;
-                    }
-                }
-
-                if (nonCSSPresentationalHints != null) {
-                    if ((attrNS == nonCSSPresentationalHintsNamespaceURI) ||
-                        ((attrNS != null) &&
-                         attrNS.equals(nonCSSPresentationalHintsNamespaceURI))) {
-                        if (nonCSSPresentationalHints.contains(name)) {
-                            // The 'name' attribute which represents a non CSS
-                            // presentational hint has been modified.
-                            nonCSSPresentationalHintUpdated(elt, style, name,
-                                                            mevt);
-                            return;
-                        }
-                    }
-                }
-            }
-
-            if (selectorAttributes != null &&
-                selectorAttributes.contains(name)) {
-                // An attribute has been modified, invalidate all the
-                // properties to correctly match attribute selectors.
-                invalidateProperties(elt, null, null, true);
-                for (Node n = elt.getNextSibling();
-                     n != null;
-                     n = n.getNextSibling()) {
-                    invalidateProperties(n, null, null, true);
-                }
-            }
+            MutationEvent mevt = (MutationEvent) evt;
+            handleAttrModified((Element) evt.getTarget(),
+                               (Attr) mevt.getRelatedNode(),
+                               mevt.getAttrChange(),
+                               mevt.getPrevValue(),
+                               mevt.getNewValue());
         }
     }
 }


[56/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Merged Apache Flex 4.9.1 release branch

Posted by jm...@apache.org.
Merged Apache Flex 4.9.1 release branch

git-svn-id: https://svn.apache.org/repos/asf/flex/sdk/trunk@1450452 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/202d09c0
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/202d09c0
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/202d09c0

Branch: refs/heads/release4.11.0
Commit: 202d09c041308caf580a931e8ec17a35a8e04ca7
Parents: 384c17c
Author: Justin Mclean <jm...@apache.org>
Authored: Tue Feb 26 21:40:13 2013 +0000
Committer: Justin Mclean <jm...@apache.org>
Committed: Tue Feb 26 21:40:13 2013 +0000

----------------------------------------------------------------------
 LICENSE                                         |   2 +-
 README                                          |  16 +-
 RELEASE_NOTES                                   |  26 +-
 asdoc/templates/images/logo.jpg                 | Bin 2266 -> 26312 bytes
 build.properties                                |   4 +-
 frameworks/flex-config-template.xml             |   8 +-
 frameworks/flex-config.xml                      |   4 +-
 .../advancedgrids/src/mx/core/Version.as        |   2 +-
 .../airframework/src/mx/core/Version.as         |   2 +-
 .../projects/airspark/src/spark/core/Version.as |   2 +-
 frameworks/projects/apache/src/core/Version.as  |   2 +-
 .../projects/automation/src/mx/core/Version.as  |   2 +-
 .../automation_agent/src/mx/core/Version.as     |   2 +-
 .../automation_air/src/mx/core/Version.as       |   2 +-
 .../automation_dmv/src/mx/core/Version.as       |   2 +-
 .../src/mx/core/Version.as                      |   2 +-
 .../automation_spark/src/mx/core/Version.as     |   2 +-
 .../automation_spark/src/spark/core/Version.as  |   2 +-
 .../projects/charts/src/mx/core/Version.as      |   2 +-
 .../projects/framework/src/mx/core/Version.as   |   2 +-
 .../src/mx/managers/PopUpManagerImpl.as         |   4 +-
 frameworks/projects/mx/src/mx/core/Version.as   |   2 +-
 frameworks/projects/rpc/src/mx/core/Version.as  |   2 +-
 .../spark/src/spark/components/ComboBox.as      |   2 +-
 .../RichEditableTextContainerManager.as         |  33 +-
 .../projects/spark/src/spark/core/Version.as    |   2 +-
 .../spark_dmv/src/spark/core/Version.as         |   2 +-
 frameworks/projects/tool/bundles.properties     |   1 +
 frameworks/projects/tool/src/mx/core/Version.as |   2 +-
 .../projects/tool_air/src/mx/core/Version.as    |   2 +-
 .../themes/AeonGraphical/src/AeonGraphical.as   | 327 ++++++++++---------
 .../src/DateChooser_nextMonthDisabledSkin.fxg   |  92 +++---
 .../src/DateChooser_nextMonthDownSkin.fxg       | 112 ++++---
 .../src/DateChooser_nextMonthOverSkin.fxg       | 112 ++++---
 .../src/DateChooser_nextMonthUpSkin.fxg         | 112 ++++---
 .../src/DateChooser_nextYearDisabledSkin.fxg    |  60 ++--
 .../src/DateChooser_nextYearDownSkin.fxg        |  37 +++
 .../src/DateChooser_nextYearOverSkin.fxg        |  60 ++--
 .../src/DateChooser_nextYearUpSkin.fxg          |  37 +++
 .../src/DateChooser_prevMonthDisabledSkin.fxg   |  92 +++---
 .../src/DateChooser_prevMonthDownSkin.fxg       | 112 ++++---
 .../src/DateChooser_prevMonthOverSkin.fxg       | 112 ++++---
 .../src/DateChooser_prevMonthUpSkin.fxg         | 112 ++++---
 .../src/DateChooser_prevYearDisabledSkin.fxg    |  37 +++
 .../src/DateChooser_prevYearDownSkin.fxg        |  60 ++--
 .../src/DateChooser_prevYearOverSkin.fxg        |  37 +++
 .../src/DateChooser_prevYearUpSkin.fxg          |  60 ++--
 .../src/DateChooser_rollOverIndicatorSkin.fxg   |  50 ++-
 .../src/DateChooser_selectionIndicatorSkin.fxg  |  50 ++-
 .../src/DateChooser_todayIndicatorSkin.fxg      |  50 ++-
 .../AeonGraphical/src/PanelTitleBackground.fxg  |  39 +++
 .../src/PopUpButton_DisabledSkin.fxg            |   2 +-
 .../AeonGraphical/src/ScrollBar_thumbIcon.fxg   |  30 ++
 .../asc/src/java/macromedia/abc/Encoder.java    |   8 -
 .../compiler/common/MxmlConfiguration.java      |   3 +-
 .../src/java/flex2/tools/VersionInfo.java       |   2 +-
 .../flash/graphics/g2d/SpriteGraphics2D.java    |   3 +-
 .../svggen/font/resources/Messages.properties   |   2 +-
 .../resources/XMLResourceDescriptor.properties  |   2 +-
 .../Assets/Fonts/Droid/DroidSansFallback.ttf    | Bin 0 -> 3838696 bytes
 mustella/Assets/Fonts/Droid/NOTICE.txt          | 195 +++++++++++
 .../LangPacks/Japanese/SWFs/LangPackApp.mxml    |  45 ++-
 .../JA_CreditCardValidator_FieldRequired.png    | Bin 1362 -> 1273 bytes
 .../JA_CreditCardValidator_InvalidCharError.png | Bin 2074 -> 1935 bytes
 .../JA_CreditCardValidator_NumberRequired.png   | Bin 2094 -> 1962 bytes
 .../JA_CreditCardValidator_TypeRequired.png     | Bin 2639 -> 2527 bytes
 ...A_CreditCardValidator_invalidNumberError.png | Bin 3243 -> 3061 bytes
 .../JA_CreditCardValidator_wrongLengthError.png | Bin 2222 -> 2081 bytes
 .../JA_CreditCardValidator_wrongTypeError.png   | Bin 1975 -> 1865 bytes
 ...JA_CurrencyValidator_currencySymbolError.png | Bin 1660 -> 1562 bytes
 ...CurrencyValidator_decimalPointCountError.png | Bin 1514 -> 1447 bytes
 .../JA_CurrencyValidator_exceedsMaxError.png    | Bin 1458 -> 1371 bytes
 .../JA_CurrencyValidator_invalidCharError.png   | Bin 1706 -> 1599 bytes
 ...urrencyValidator_invalidFormatCharsError.png | Bin 1645 -> 1556 bytes
 .../JA_CurrencyValidator_lowerThanMinError.png  | Bin 1386 -> 1323 bytes
 .../JA_CurrencyValidator_negativeError.png      | Bin 1523 -> 1449 bytes
 .../JA_CurrencyValidator_precisionError.png     | Bin 1645 -> 1556 bytes
 .../JA_CurrencyValidator_separationError.png    | Bin 2006 -> 1997 bytes
 .../JA_DateChooser_Japanese_Layout.png          | Bin 4047 -> 4136 bytes
 .../JA_DateField_Dropdown_Japanese_Layout.png   | Bin 3943 -> 4712 bytes
 .../baselines/JA_DateValidator_dateFormat.png   | Bin 2270 -> 2167 bytes
 .../baselines/JA_DateValidator_formatError.png  | Bin 2302 -> 2127 bytes
 .../JA_DateValidator_invalidCharError.png       | Bin 1645 -> 1547 bytes
 .../JA_DateValidator_wrongDayError.png          | Bin 1650 -> 1519 bytes
 .../JA_DateValidator_wrongMonthError.png        | Bin 1660 -> 1497 bytes
 .../JA_DateValidator_wrongYearError.png         | Bin 2372 -> 2181 bytes
 .../JA_EmailValidator_invalidCharError2.png     | Bin 2235 -> 2058 bytes
 .../JA_EmailValidator_invalidDomainError.png    | Bin 2380 -> 2100 bytes
 .../JA_EmailValidator_invalidDomainError2.png   | Bin 2330 -> 2073 bytes
 ...ailValidator_invalidDomainError_noPeriod.png | Bin 2220 -> 2012 bytes
 .../JA_EmailValidator_invalidIPDomainError.png  | Bin 2606 -> 2212 bytes
 ...ailValidator_invalidPeriodsInDomainError.png | Bin 2658 -> 2600 bytes
 .../JA_EmailValidator_missingAtSignError.png    | Bin 2234 -> 1939 bytes
 ...mailValidator_missingPeriodInDomainError.png | Bin 2240 -> 2026 bytes
 .../JA_EmailValidator_missingUsernameError.png  | Bin 2094 -> 1875 bytes
 .../JA_EmailValidator_tooManyAtSignsError.png   | Bin 2510 -> 2297 bytes
 ...A_NumberValidator_decimalPointCountError.png | Bin 1514 -> 1447 bytes
 .../JA_NumberValidator_exceedsMaxError.png      | Bin 1463 -> 1369 bytes
 .../JA_NumberValidator_integerError.png         | Bin 1618 -> 1542 bytes
 .../JA_NumberValidator_invalidCharError.png     | Bin 1706 -> 1599 bytes
 ...alidator_invalidFormatCharsError_Decimal.png | Bin 2238 -> 2174 bytes
 ...lidator_invalidFormatCharsError_Thousand.png | Bin 2249 -> 2168 bytes
 .../JA_NumberValidator_lowerThanMinError.png    | Bin 1386 -> 1323 bytes
 .../JA_NumberValidator_negativeError.png        | Bin 1523 -> 1449 bytes
 .../JA_NumberValidator_precisionError.png       | Bin 1645 -> 1556 bytes
 ...JA_PhoneNumberValidator_invalidCharError.png | Bin 1760 -> 1672 bytes
 ...JA_PhoneNumberValidator_wrongLengthError.png | Bin 2201 -> 1771 bytes
 ...SocialSecurityValidator_invalidCharError.png | Bin 1837 -> 1744 bytes
 ...SocialSecurityValidator_wrongFormatError.png | Bin 2994 -> 2840 bytes
 ...A_SocialSecurityValidator_zeroStartError.png | Bin 2845 -> 2755 bytes
 .../JA_StringValidator_tooLongError.png         | Bin 3260 -> 3018 bytes
 .../JA_StringValidator_tooLongError1.png        | Bin 3242 -> 3021 bytes
 .../JA_StringValidator_tooShortError.png        | Bin 3241 -> 2988 bytes
 .../JA_StringValidator_tooShortError1.png       | Bin 3199 -> 2960 bytes
 .../JA_ZipCodeValidator_invalidCharError.png    | Bin 1717 -> 1636 bytes
 .../JA_ZipCodeValidator_invalidDomainError.png  | Bin 3664 -> 3383 bytes
 .../JA_ZipCodeValidator_wrongCAFormatError.png  | Bin 2574 -> 2394 bytes
 .../JA_ZipCodeValidator_wrongLengthError.png    | Bin 2272 -> 2151 bytes
 .../JA_ZipCodeValidator_wrongUSFormatError.png  | Bin 2455 -> 2239 bytes
 .../Properties/ComboBox_Properties.mxml         |   4 +-
 .../baselines/dropShadowVisible_css_Alert.png   | Bin 12180 -> 12182 bytes
 .../dropShadowVisible_default_Alert.png         | Bin 16297 -> 16308 bytes
 122 files changed, 1299 insertions(+), 895 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 1f7e9d8..fd4c4a6 100644
--- a/LICENSE
+++ b/LICENSE
@@ -241,7 +241,7 @@ For all directories except for the asc compiler in modules/asc, and modules/thir
 directories:
 
 Adobe Flex
-Copyright date 2003 - 2012 Adobe Systems Incorporated. All Rights Reserved.
+Copyright date 2003 - 2013 Adobe Systems Incorporated. All Rights Reserved.
 
                           MOZILLA PUBLIC LICENSE
                                 Version 1.1

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/README
----------------------------------------------------------------------
diff --git a/README b/README
index 89aa04f..502dad0 100644
--- a/README
+++ b/README
@@ -4,13 +4,15 @@ Apache Flex (Flex)
     Apache Flex is an application framework for easily building Flash-based applications 
     for mobile devices, the browser and desktop.
 
+	Apache Flex 4.9.1 is a minor update to Apache Flex 4.9.
+
     Apache Flex 4.9 is a follow up release to Apache Flex 4.8 which was a parity release
     of Adobe Flex 4.6.  This version adds new features and implements bug fixes that were
     unavailable in previous versions.  It is compatible with most code written to target
     Adobe Flex 4.6.
 
     For detailed information about Apache Flex please visit 
-    http://incubator.apache.org/flex/ 
+    http://flex.apache.org/ 
     
     The Apache Flex project has just graduated to be a top level Apache project and the
     project's URL will be soon be changing to http://flex.apache.org/.
@@ -36,14 +38,14 @@ Getting the latest sources via Subversion
 =========================================
 
     This is the recommended way to get Apache Flex.  We offer an automated installer
-    along with binary distributions on our website at http://incubator.apache.org/flex.
+    along with binary distributions on our website at http://flex.apache.org.
 
     You can always checkout the latest source via subversion using the following
     command:
 
-    svn co https://svn.apache.org/repos/asf/incubator/flex/trunk flex
+    svn co https://svn.apache.org/repos/asf/flex/sdk/trunk/ flex
 
-    For further information visit http://incubator.apache.org/flex/source.html
+    For further information visit http://flex.apache.org/download-source.html
 
 
 Getting the convenience packages for Apache Flex
@@ -59,12 +61,12 @@ Getting the convenience packages for Apache Flex
 
     You can get the SDK Installer from the Apache Flex website at
 
-      http://incubator.apache.org/flex/installer.html
+      http://flex.apache.org/installer.html
 
     You can also get just the binaries from our website as well.  These binaries do not
     include the dependencies, so additional software may need to be downloaded and installed.
 
-      http://incubator.apache.org/flex/download.html
+      http://flex.apache.org/download-binaries.html
 
 Building Apache Flex 4.9
 ========================
@@ -467,4 +469,4 @@ Building the Source in the Source Distribution
 Thanks for using Apache Flex.
 
                                           The Apache Flex Project
-                                          <http://incubator.apache.org/flex>
+                                          <http://flex.apache.org>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/RELEASE_NOTES
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index edc7b4b..1ce7ea6 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,3 +1,27 @@
+Apache Flex 4.9.1
+=================
+
+Apache Flex 4.9.1 is a minor update to Apache Flex 4.9.
+
+Differences from Apache Flex 4.9.0: 
+  - Updated README and RELEASE_NOTES.
+  - Minor change to fix issue with changing locale.
+  - Added AeonGraphical missing theme assets.
+  - Fixed non debug compiler RTE (see ASC-2993).
+  - Updated ASDocs to use correct logo.
+  - Updated Mustella Japanese language pack tests to pass.
+ 
+Bugs fixed:
+  FLEX-33390 Can't embed SVG asset
+  FLEX-33377 Focus can be transferred from a modal window to a non-modal window
+             open in the background if clicked on some specific dimension of the
+             non-modal window in the background i.e. by clicking on the extreme
+             left i.e. x=0 dimension of the application
+  FLEX-33384 Caret visible in all textinputs after they've been selected once
+  FLEX-33381 Setting s:ComboBox#typicalItem produces unnecessarily long width
+  FLEX-29002 RunTime Error #1009 at mx.managers::PopUpManagerImpl/addModalPopUpAccessibility()
+             when displaying more than one modal popup via PopUpManager on top of each other
+
 Apache Flex 4.9.0
 =================
 
@@ -60,4 +84,4 @@ Please report new issues to our bugbase at:
     https://issues.apache.org/jira/browse/FLEX
 
                                           The Apache Flex Project
-                                          <http://incubator.apache.org/flex/>
+                                          <http://flex.apache.org/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/asdoc/templates/images/logo.jpg
----------------------------------------------------------------------
diff --git a/asdoc/templates/images/logo.jpg b/asdoc/templates/images/logo.jpg
index aa47ec2..908843d 100644
Binary files a/asdoc/templates/images/logo.jpg and b/asdoc/templates/images/logo.jpg differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/build.properties
----------------------------------------------------------------------
diff --git a/build.properties b/build.properties
index 899d748..b593277 100644
--- a/build.properties
+++ b/build.properties
@@ -18,8 +18,8 @@
 ################################################################################
 
 # flex-sdk-description values
-release = Apache Flex 4.9.0
-release.version = 4.9.0
+release = Apache Flex 4.9.1
+release.version = 4.9.1
 
 # override on command line with -Dbuild.number=999 or in local.properties
 build.number = 0

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/flex-config-template.xml
----------------------------------------------------------------------
diff --git a/frameworks/flex-config-template.xml b/frameworks/flex-config-template.xml
index e851d5b..3ab7eb5 100644
--- a/frameworks/flex-config-template.xml
+++ b/frameworks/flex-config-template.xml
@@ -80,7 +80,7 @@
       <library-path>
          <path-element>libs</path-element>
          <path-element>libs/mx</path-element>
-         <path-element>locale/@locale@</path-element>
+         <path-element>locale/{locale}</path-element>
          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
       </library-path>
 
@@ -438,10 +438,10 @@
    <!-- Metadata added to SWFs via the SWF Metadata tag. -->
    <metadata>
       <title>Apache Flex Application</title>
-      <description>http://incubator.apache.org/flex</description>
+      <description>http://flex.apache.org/</description>
       <publisher>Apache Software Foundation</publisher>
-      <creator>unknown</creator>
-      <language>EN</language>
+      <creator>Apache Software Foundation</creator>
+      <language>@locale@</language>
    </metadata>
    
 </flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/flex-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/flex-config.xml b/frameworks/flex-config.xml
index d3dc7d1..b1e30b3 100644
--- a/frameworks/flex-config.xml
+++ b/frameworks/flex-config.xml
@@ -80,7 +80,7 @@
       <library-path>
          <path-element>libs</path-element>
          <path-element>libs/mx</path-element>
-         <path-element>locale/en_US</path-element>
+         <path-element>locale/{locale}</path-element>
          <path-element>{playerglobalHome}/{targetPlayerMajorVersion}.{targetPlayerMinorVersion}</path-element>
       </library-path>
 
@@ -438,7 +438,7 @@
    <!-- Metadata added to SWFs via the SWF Metadata tag. -->
    <metadata>
       <title>Apache Flex Application</title>
-      <description>http://incubator.apache.org/flex</description>
+      <description>http://flex.apache.org/</description>
       <publisher>Apache Software Foundation</publisher>
       <creator>unknown</creator>
       <language>EN</language>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/advancedgrids/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/core/Version.as b/frameworks/projects/advancedgrids/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/advancedgrids/src/mx/core/Version.as
+++ b/frameworks/projects/advancedgrids/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/airframework/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/src/mx/core/Version.as b/frameworks/projects/airframework/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/airframework/src/mx/core/Version.as
+++ b/frameworks/projects/airframework/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/airspark/src/spark/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/src/spark/core/Version.as b/frameworks/projects/airspark/src/spark/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/airspark/src/spark/core/Version.as
+++ b/frameworks/projects/airspark/src/spark/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/apache/src/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/src/core/Version.as b/frameworks/projects/apache/src/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/apache/src/core/Version.as
+++ b/frameworks/projects/apache/src/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/src/mx/core/Version.as b/frameworks/projects/automation/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation/src/mx/core/Version.as
+++ b/frameworks/projects/automation/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_agent/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_agent/src/mx/core/Version.as b/frameworks/projects/automation_agent/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation_agent/src/mx/core/Version.as
+++ b/frameworks/projects/automation_agent/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_air/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_air/src/mx/core/Version.as b/frameworks/projects/automation_air/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation_air/src/mx/core/Version.as
+++ b/frameworks/projects/automation_air/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_dmv/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_dmv/src/mx/core/Version.as b/frameworks/projects/automation_dmv/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation_dmv/src/mx/core/Version.as
+++ b/frameworks/projects/automation_dmv/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as b/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as
index f1bb905..6148f43 100644
--- a/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as
+++ b/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as
@@ -24,4 +24,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_spark/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_spark/src/mx/core/Version.as b/frameworks/projects/automation_spark/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation_spark/src/mx/core/Version.as
+++ b/frameworks/projects/automation_spark/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/automation_spark/src/spark/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_spark/src/spark/core/Version.as b/frameworks/projects/automation_spark/src/spark/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/automation_spark/src/spark/core/Version.as
+++ b/frameworks/projects/automation_spark/src/spark/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/charts/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/core/Version.as b/frameworks/projects/charts/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/charts/src/mx/core/Version.as
+++ b/frameworks/projects/charts/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/framework/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/core/Version.as b/frameworks/projects/framework/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/framework/src/mx/core/Version.as
+++ b/frameworks/projects/framework/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as b/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
index ca355b2..29ef316 100644
--- a/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
+++ b/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as
@@ -764,7 +764,7 @@ public class PopUpManagerImpl extends EventDispatcher implements IPopUpManager
         // trace("createModalWindow: drawing modal " + s);
         g.clear();
         g.beginFill(c, 100);
-        g.drawRect(screen.x, screen.y, screen.width, screen.height);
+		g.drawRect(screen.x-1, screen.y-1, screen.width+2, screen.height+2);
         g.endFill();
 
         if (hasEventListener("updateModalMask"))
@@ -1443,7 +1443,7 @@ public class PopUpManagerImpl extends EventDispatcher implements IPopUpManager
 				for (var i:int = 0; i < n; i++)
 				{
 					var o:PopUpData = popupInfo[i];
-					if (o && o != p)
+					if (o && o != p && o.owner.accessibilityProperties)
 					{
 						o.owner.accessibilityProperties.silent	= true;
 					}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/mx/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/src/mx/core/Version.as b/frameworks/projects/mx/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/mx/src/mx/core/Version.as
+++ b/frameworks/projects/mx/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/rpc/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/src/mx/core/Version.as b/frameworks/projects/rpc/src/mx/core/Version.as
index c0c6d5b..c0c1f72 100644
--- a/frameworks/projects/rpc/src/mx/core/Version.as
+++ b/frameworks/projects/rpc/src/mx/core/Version.as
@@ -22,4 +22,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/spark/src/spark/components/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/ComboBox.as b/frameworks/projects/spark/src/spark/components/ComboBox.as
index a37f52a..7e47e94 100644
--- a/frameworks/projects/spark/src/spark/components/ComboBox.as
+++ b/frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -777,7 +777,7 @@ public class ComboBox extends DropDownListBase implements IIMESupport
                 if (typicalItem != null)
                 {
                     var itemString:String = LabelUtil.itemToLabel(typicalItem, labelField, labelFunction);
-                    textInput.widthInChars = itemString.length;
+                    textInput.typicalText = itemString;
                 }
                 else
                 {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as b/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
index fad5878..8d96340 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -30,6 +30,14 @@ import flash.geom.Rectangle;
 import flash.ui.ContextMenu;
 import flash.ui.Keyboard;
 
+import mx.core.mx_internal;
+import mx.events.SandboxMouseEvent;
+import mx.styles.IStyleClient;
+
+import spark.components.RichEditableText;
+import spark.components.TextSelectionHighlighting;
+
+import flashx.textLayout.tlf_internal;
 import flashx.textLayout.container.ContainerController;
 import flashx.textLayout.container.TextContainerManager;
 import flashx.textLayout.edit.EditManager;
@@ -52,17 +60,9 @@ import flashx.textLayout.formats.TextLayoutFormat;
 import flashx.textLayout.operations.ApplyFormatOperation;
 import flashx.textLayout.operations.InsertTextOperation;
 import flashx.textLayout.property.Property;
-import flashx.textLayout.tlf_internal;
 import flashx.undo.IUndoManager;
 import flashx.undo.UndoManager;
 
-import mx.core.mx_internal;
-import mx.events.SandboxMouseEvent;
-import mx.styles.IStyleClient;
-
-import spark.components.RichEditableText;
-import spark.components.TextSelectionHighlighting;
-
 use namespace mx_internal;
 use namespace tlf_internal;
 
@@ -294,23 +294,22 @@ public class RichEditableTextContainerManager extends TextContainerManager
         var inactiveSelectionColor:* = textDisplay.getStyle(
                                             "inactiveTextSelectionColor"); 
 
-        var inactivePointAlpha:Number =
-            editingMode == EditingMode.READ_WRITE ?
-            1.0 :
-            0.0;
+        var inactivePointAlpha:Number = 0.0;
         
-        var inactiveAlpha:Number =
+        var inactiveRangeAlpha:Number =
             textDisplay.selectionHighlighting == 
             TextSelectionHighlighting.ALWAYS ?
             1.0 :
             0.0;
 
-        // Inactive is not unfocused so show an insertion point if there is one.
-        // This is consistent with TextField.
+        
+        // This doesn't really matter since inactivePointAlpha is 0.
+        var pointBlinkRate:Number = 0.0;
         
         return new SelectionFormat(
-            inactiveSelectionColor, inactiveAlpha, BlendMode.NORMAL,
-            inactiveSelectionColor, inactivePointAlpha, BlendMode.INVERT);
+            inactiveSelectionColor, inactiveRangeAlpha, BlendMode.NORMAL,
+            inactiveSelectionColor, inactivePointAlpha, BlendMode.INVERT,
+            pointBlinkRate);
     }   
     
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/spark/src/spark/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/core/Version.as b/frameworks/projects/spark/src/spark/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/spark/src/spark/core/Version.as
+++ b/frameworks/projects/spark/src/spark/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/spark_dmv/src/spark/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark_dmv/src/spark/core/Version.as b/frameworks/projects/spark_dmv/src/spark/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/spark_dmv/src/spark/core/Version.as
+++ b/frameworks/projects/spark_dmv/src/spark/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/tool/bundles.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool/bundles.properties b/frameworks/projects/tool/bundles.properties
new file mode 100644
index 0000000..5105238
--- /dev/null
+++ b/frameworks/projects/tool/bundles.properties
@@ -0,0 +1 @@
+bundles = automation_agent collections components containers controls core datamanagement effects formatters layout skins sparkEffects styles 
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/tool/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool/src/mx/core/Version.as b/frameworks/projects/tool/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/tool/src/mx/core/Version.as
+++ b/frameworks/projects/tool/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/projects/tool_air/src/mx/core/Version.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool_air/src/mx/core/Version.as b/frameworks/projects/tool_air/src/mx/core/Version.as
index 51faab7..ea90e2c 100644
--- a/frameworks/projects/tool_air/src/mx/core/Version.as
+++ b/frameworks/projects/tool_air/src/mx/core/Version.as
@@ -23,4 +23,4 @@ import mx.core.mx_internal;
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.9.0.0";
+mx_internal static const VERSION:String = "4.9.1.0";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/AeonGraphical.as
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/AeonGraphical.as b/frameworks/themes/AeonGraphical/src/AeonGraphical.as
index e16e7d4..5a76c00 100644
--- a/frameworks/themes/AeonGraphical/src/AeonGraphical.as
+++ b/frameworks/themes/AeonGraphical/src/AeonGraphical.as
@@ -16,10 +16,9 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-
-package
+package 
 {
-
+    
 import flash.display.Sprite;
 
 /**
@@ -37,7 +36,7 @@ public class AeonGraphical extends Sprite
     /**
      *  Constructor.
      */
-    public function AeonGraphical()
+	public function AeonGraphical()
     {
 		super();
     }
@@ -47,163 +46,169 @@ public class AeonGraphical extends Sprite
 	//  Properties
 	//
 	//--------------------------------------------------------------------------
-	private var assets:Array = [
-			AccordionHeader_disabledSkin,
-			AccordionHeader_downSkin,
-			AccordionHeader_overSkin,
-			AccordionHeader_upSkin,
-			ApplicationBackground,
-			BusyCursor,
-			Button_disabledSkin,
-			Button_downSkin,
-			Button_overSkin,
-			Button_upSkin,
-			ButtonBar_buttonDisabledSkin,
-			ButtonBar_buttonDownSkin,
-			ButtonBar_buttonOverSkin,
-			ButtonBar_buttonSelectedUpSkin,
-			ButtonBar_buttonSelectedDisabledSkin,
-			ButtonBar_buttonUpSkin,
-			ButtonBar_firstDisabledSkin,
-			ButtonBar_firstDownSkin,
-			ButtonBar_firstOverSkin,
-			ButtonBar_firstSelectedUpSkin,
-			ButtonBar_firstSelectedDisabledSkin,
-			ButtonBar_firstUpSkin,
-			ButtonBar_lastDisabledSkin,
-			ButtonBar_lastDownSkin,
-			ButtonBar_lastOverSkin,
-			ButtonBar_lastSelectedUpSkin,
-			ButtonBar_lastSelectedDisabledSkin,
-			ButtonBar_lastUpSkin,
-			CheckBox_disabledIcon,
-			CheckBox_downIcon,
-			CheckBox_overIcon,
-			CheckBox_selectedDisabledIcon,
-			CheckBox_selectedDownIcon,
-			CheckBox_selectedOverIcon,
-			CheckBox_selectedUpIcon,
-			CheckBox_upIcon,
-			CloseButtonDisabled,
-			CloseButtonDown,
-			CloseButtonOver,
-			CloseButtonUp,
-			ComboBoxArrow_disabledSkin,
-			ComboBoxArrow_downSkin,
-			ComboBoxArrow_editableDisabledSkin,
-			ComboBoxArrow_editableDownSkin,
-			ComboBoxArrow_editableOverSkin,
-			ComboBoxArrow_editableUpSkin,
-			ComboBoxArrow_overSkin,
-			ComboBoxArrow_upSkin,
-			DataGrid_columnDropIndicatorSkin,
-			DataGrid_columnResizeSkin,
-			DataGrid_headerSeparatorSkin,
-			DataGrid_sortArrowSkin,
-			DataGrid_stretchCursor,
-			DateChooser_nextMonthDisabledSkin,
-			DateChooser_nextMonthDownSkin,
-			DateChooser_nextMonthOverSkin,
-			DateChooser_nextMonthUpSkin,
-			DateChooser_nextYearDisabledSkin,
-			DateChooser_prevYearDownSkin,
-			DateChooser_nextYearOverSkin,
-			DateChooser_prevYearUpSkin,
-			DateChooser_prevMonthDisabledSkin,
-			DateChooser_prevMonthDownSkin,
-			DateChooser_prevMonthOverSkin,
-			DateChooser_prevMonthUpSkin,
-			DateChooser_rollOverIndicatorSkin,
-			DateChooser_selectionIndicatorSkin,
-			DateChooser_todayIndicatorSkin,
-			DateField_disabledSkin,
-			DateField_downSkin,
-			DateField_overSkin,
-			DateField_upSkin,
-			DividedBox_dividerSkin,
-			DividedBox_horizontalCursor,
-			DividedBox_verticalCursor,
-			DragManager_copyCursor,
-			DragManager_defaultDragImageSkin,
-			DragManager_linkCursor,
-			DragManager_moveCursor,
-			DragManager_rejectCursor,
-			FormItem_indicatorSkin,
-			HSliderHighlight_Skin,
-			HSliderThumb_disabledSkin,
-			HSliderThumb_downSkin,
-			HSliderThumb_overSkin,
-			HSliderThumb_upSkin,
-			HSliderTrack_Skin,
-			Loader_brokenImageSkin,
-			Menu_branchDisabledIcon,
-			Menu_branchIcon,
-			Menu_checkDisabledIcon,
-			Menu_checkIcon,
-			Menu_radioDisabledIcon,
-			Menu_radioIcon,
-			Menu_separatorSkin,
-			MenuBar_backgroundSkin,
-			MenuBar_itemDownSkin,
-			MenuBar_itemOverSkin,
-			MenuBar_itemUpSkin,
-			NumericStepperDownArrow_DisabledSkin,
-			NumericStepperDownArrow_DownSkin,
-			NumericStepperDownArrow_OverSkin,
-			NumericStepperDownArrow_UpSkin,
-			NumericStepperUpArrow_DisabledSkin,
-			NumericStepperUpArrow_DownSkin,
-			NumericStepperUpArrow_OverSkin,
-			NumericStepperUpArrow_UpSkin,
-			panelBackground,
-			PopUpButton_DisabledSkin,
-			PopUpButton_downSkin,
-			PopUpButton_overSkin,
-			PopUpButton_popUpDownSkin,
-			PopUpButton_popUpOverSkin,
-			PopUpButton_upSkin,
-			ProgressBarSkin,
-			ProgressIndeterminateSkin,
-			ProgressTrackSkin,
-			RadioButton_disabledIcon,
-			RadioButton_downIcon,
-			RadioButton_overIcon,
-			RadioButtonSelected_disabledIcon,
-			RadioButtonSelected_downIcon,
-			RadioButtonSelected_overIcon,
-			RadioButtonSelected_upIcon,
-			RadioButtonIcon,
-			ScrollArrowDown_disabledSkin,
-			ScrollArrowDown_downSkin,
-			ScrollArrowDown_overSkin,
-			ScrollArrowDown_upSkin,
-			ScrollArrowUp_disabledSkin,
-			ScrollArrowUp_downSkin,
-			ScrollArrowUp_overSkin,
-			ScrollArrowUp_upSkin,
-			ScrollThumb_downSkin,
-			ScrollThumb_overSkin,
-			ScrollThumb_upSkin,
-			ScrollTrack_Skin,
-			Tab_disabledSkin,
-			Tab_downSkin,
-			Tab_overSkin,
-			Tab_upSkin,
-			TabSelected_disabledSkin,
-			TabSelected_upSkin,
-			ToolTip_borderSkin,
-			Tree_defaultLeafIcon,
-			Tree_disclosureClosedIcon,
-			Tree_disclosureOpenIcon,
-			Tree_folderClosedIcon,
-			Tree_folderOpenIcon,
-			VSliderHighlight_Skin,
-			VSliderThumb_disabledSkin,
-			VSliderThumb_downSkin,
-			VSliderThumb_overSkin,
-			VSliderThumb_upSkin,
-			VSliderTrack_Skin
-		];
+    private var assets:Array = [
+        AccordionHeader_disabledSkin,
+        AccordionHeader_downSkin,
+        AccordionHeader_overSkin,
+        AccordionHeader_upSkin,
+        ApplicationBackground,
+        BusyCursor,
+        Button_disabledSkin,
+        Button_downSkin,
+        Button_overSkin,
+        Button_upSkin,
+        ButtonBar_buttonDisabledSkin,
+        ButtonBar_buttonDownSkin,
+        ButtonBar_buttonOverSkin,
+        ButtonBar_buttonSelectedDisabledSkin,
+        ButtonBar_buttonSelectedUpSkin,
+        ButtonBar_buttonUpSkin,
+        ButtonBar_firstDisabledSkin,
+        ButtonBar_firstDownSkin,
+        ButtonBar_firstOverSkin,
+        ButtonBar_firstSelectedDisabledSkin,
+        ButtonBar_firstSelectedUpSkin,
+        ButtonBar_firstUpSkin,
+        ButtonBar_lastDisabledSkin,
+        ButtonBar_lastDownSkin,
+        ButtonBar_lastOverSkin,
+        ButtonBar_lastSelectedDisabledSkin,
+        ButtonBar_lastSelectedUpSkin,
+        ButtonBar_lastUpSkin,
+        CheckBox_disabledIcon,
+        CheckBox_downIcon,
+        CheckBox_overIcon,
+        CheckBox_selectedDisabledIcon,
+        CheckBox_selectedDownIcon,
+        CheckBox_selectedOverIcon,
+        CheckBox_selectedUpIcon,
+        CheckBox_upIcon,
+        CloseButtonDisabled,
+        CloseButtonDown,
+        CloseButtonOver,
+        CloseButtonUp,
+        ComboBoxArrow_disabledSkin,
+        ComboBoxArrow_downSkin,
+        ComboBoxArrow_editableDisabledSkin,
+        ComboBoxArrow_editableDownSkin,
+        ComboBoxArrow_editableOverSkin,
+        ComboBoxArrow_editableUpSkin,
+        ComboBoxArrow_overSkin,
+        ComboBoxArrow_upSkin,
+        DataGrid_columnDropIndicatorSkin,
+        DataGrid_columnResizeSkin,
+        DataGrid_headerSeparatorSkin,
+        DataGrid_sortArrowSkin,
+        DataGrid_stretchCursor,
+        DateChooser_nextMonthDisabledSkin,
+        DateChooser_nextMonthDownSkin,
+        DateChooser_nextMonthOverSkin,
+        DateChooser_nextMonthUpSkin,
+        DateChooser_nextYearDisabledSkin,
+        DateChooser_nextYearDownSkin,
+        DateChooser_nextYearOverSkin,
+        DateChooser_nextYearUpSkin,
+        DateChooser_prevMonthDisabledSkin,
+        DateChooser_prevMonthDownSkin,
+        DateChooser_prevMonthOverSkin,
+        DateChooser_prevMonthUpSkin,
+        DateChooser_prevYearDisabledSkin,
+        DateChooser_prevYearDownSkin,
+        DateChooser_prevYearOverSkin,
+        DateChooser_prevYearUpSkin,
+        DateChooser_rollOverIndicatorSkin,
+        DateChooser_selectionIndicatorSkin,
+        DateChooser_todayIndicatorSkin,
+        DateField_disabledSkin,
+        DateField_downSkin,
+        DateField_overSkin,
+        DateField_upSkin,
+        DividedBox_dividerSkin,
+        DividedBox_horizontalCursor,
+        DividedBox_verticalCursor,
+        DragManager_copyCursor,
+        DragManager_defaultDragImageSkin,
+        DragManager_linkCursor,
+        DragManager_moveCursor,
+        DragManager_rejectCursor,
+        FormItem_indicatorSkin,
+        HSliderHighlight_Skin,
+        HSliderThumb_disabledSkin,
+        HSliderThumb_downSkin,
+        HSliderThumb_overSkin,
+        HSliderThumb_upSkin,
+        HSliderTrack_Skin,
+        Loader_brokenImageSkin,
+        Menu_branchDisabledIcon,
+        Menu_branchIcon,
+        Menu_checkDisabledIcon,
+        Menu_checkIcon,
+        Menu_radioDisabledIcon,
+        Menu_radioIcon,
+        Menu_separatorSkin,
+        MenuBar_backgroundSkin,
+        MenuBar_itemDownSkin,
+        MenuBar_itemOverSkin,
+        MenuBar_itemUpSkin,
+        NumericStepperDownArrow_DisabledSkin,
+        NumericStepperDownArrow_DownSkin,
+        NumericStepperDownArrow_OverSkin,
+        NumericStepperDownArrow_UpSkin,
+        NumericStepperUpArrow_DisabledSkin,
+        NumericStepperUpArrow_DownSkin,
+        NumericStepperUpArrow_OverSkin,
+        NumericStepperUpArrow_UpSkin,
+        PanelTitleBackground,
+        PopUpButton_DisabledSkin,
+        PopUpButton_downSkin,
+        PopUpButton_overSkin,
+        PopUpButton_popUpDownSkin,
+        PopUpButton_popUpOverSkin,
+        PopUpButton_upSkin,
+        ProgressBarSkin,
+        ProgressIndeterminateSkin,
+        ProgressTrackSkin,
+        RadioButton_disabledIcon,
+        RadioButton_downIcon,
+        RadioButton_overIcon,
+        RadioButtonSelected_disabledIcon,
+        RadioButtonSelected_downIcon,
+        RadioButtonSelected_overIcon,
+        RadioButtonSelected_upIcon,
+        RadioButtonIcon,
+        ScrollArrowDown_disabledSkin,
+        ScrollArrowDown_downSkin,
+        ScrollArrowDown_overSkin,
+        ScrollArrowDown_upSkin,
+        ScrollArrowUp_disabledSkin,
+        ScrollArrowUp_downSkin,
+        ScrollArrowUp_overSkin,
+        ScrollArrowUp_upSkin,
+        ScrollBar_thumbIcon,
+        ScrollThumb_downSkin,
+        ScrollThumb_overSkin,
+        ScrollThumb_upSkin,
+        ScrollTrack_Skin,
+        Tab_disabledSkin,
+        Tab_downSkin,
+        Tab_overSkin,
+        Tab_upSkin,
+        TabSelected_disabledSkin,
+        TabSelected_upSkin,
+        ToolTip_borderSkin,
+        Tree_defaultLeafIcon,
+        Tree_disclosureClosedIcon,
+        Tree_disclosureOpenIcon,
+        Tree_folderClosedIcon,
+        Tree_folderOpenIcon,
+		VSliderHighlight_Skin,
+        VSliderThumb_disabledSkin,
+        VSliderThumb_downSkin,
+        VSliderThumb_overSkin,
+        VSliderThumb_upSkin,
+		VSliderTrack_Skin,
+        panelBackground
+    ];
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDisabledSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDisabledSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDisabledSkin.fxg
index fe211d9..906cc2b 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDisabledSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDisabledSkin.fxg
@@ -1,56 +1,54 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextMonthDisabledSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4">
-              <fill>
-                <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#CCCCCC" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1L14.175 1Q17.05 1.0632812 17.05 4L16.95 14">
-              <fill>
-                <LinearGradient x="1.75" y="22" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#CCCCCC" alpha="0.4"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path data="M12 9 12 10 11 10 11 11 10 11 10 12 9 12 9 13 8 13 8 14 7 14 7 5 8 5 8 6 9 6 9 7 10 7 10 8 11 8 11 9 12 9">
-                <fill>
-                  <SolidColor alpha="0.40000001"/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_nextMonthDisabledSkin" version="2.0" afx:className="DateChooser_nextMonthDisabledSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4">
+          <fill>
+            <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#CCCCCC" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1L14.175 1Q17.05 1.0632812 17.05 4L16.95 14">
+          <fill>
+            <LinearGradient x="1.75" y="22" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#CCCCCC" alpha="0.4"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path data="M12 9 12 10 11 10 11 11 10 11 10 12 9 12 9 13 8 13 8 14 7 14 7 5 8 5 8 6 9 6 9 7 10 7 10 8 11 8 11 9 12 9">
+            <fill>
+              <SolidColor alpha="0.40000001"/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDownSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDownSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDownSkin.fxg
index 1d6413d..3dac7df 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDownSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthDownSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextMonthDownSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0">
-              <fill>
-                <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#0075BF"/>
-                  <GradientEntry ratio="0.99215686" color="#009DFF"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M17.05 4 16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1L14.175 1Q17.05 1.0632812 17.05 4">
-              <fill>
-                <LinearGradient x="1.75" y="22" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#99D7FE"/>
-                  <GradientEntry ratio="1" color="#D9F0FE"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path scaleX="-1" x="18.05" data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
-              <fill>
-                <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_nextMonthDownSkin" version="2.0" afx:className="DateChooser_nextMonthDownSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0">
+          <fill>
+            <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#0075BF"/>
+              <GradientEntry ratio="0.99215686" color="#009DFF"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M17.05 4 16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1L14.175 1Q17.05 1.0632812 17.05 4">
+          <fill>
+            <LinearGradient x="1.75" y="22" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#99D7FE"/>
+              <GradientEntry ratio="1" color="#D9F0FE"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path scaleX="-1" x="18.05" data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
+          <fill>
+            <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthOverSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthOverSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthOverSkin.fxg
index f6906b4..29e63f4 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthOverSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthOverSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextMonthOverSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4">
-              <fill>
-                <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#0075BF"/>
-                  <GradientEntry ratio="0.99215686" color="#009DFF"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path scaleX="-1" x="18.05" data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path data="M3.9 1 14.175 1Q17.05 1.0632812 17.05 4L16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1">
-              <fill>
-                <LinearGradient x="1.35" y="8.8" scaleX="7.9" rotation="270">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_nextMonthOverSkin" version="2.0" afx:className="DateChooser_nextMonthOverSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M14 0Q18 0 18 4L18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0M17 4Q17 1.0632812 14.125 1L3.85 1Q1 1.1 1 4L1 14Q1 16.95 3.85 17L14.1 17Q17 16.95 17 14L17 4">
+          <fill>
+            <LinearGradient x="31.65" y="21.7" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#0075BF"/>
+              <GradientEntry ratio="0.99215686" color="#009DFF"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path scaleX="-1" x="18.05" data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path data="M3.9 1 14.175 1Q17.05 1.0632812 17.05 4L16.95 14Q16.95 16.95 14.05 17L3.8 17Q0.95 16.95 0.95 14L1.05 4Q1.05 1.1 3.9 1">
+          <fill>
+            <LinearGradient x="1.35" y="8.8" scaleX="7.9" rotation="270">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthUpSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthUpSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthUpSkin.fxg
index 4efbc16..354e783 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthUpSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextMonthUpSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextMonthUpSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path scaleX="-1" x="18" data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
-              <fill>
-                <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#585F63"/>
-                  <GradientEntry ratio="1" color="#B7BABC"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path scaleX="-1" x="18.05" data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path scaleX="-1" x="18.05" data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
-              <fill>
-                <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_nextMonthUpSkin" version="2.0" afx:className="DateChooser_nextMonthUpSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path scaleX="-1" x="18" data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
+          <fill>
+            <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#585F63"/>
+              <GradientEntry ratio="1" color="#B7BABC"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path scaleX="-1" x="18.05" data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path scaleX="-1" x="18" data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path scaleX="-1" x="18.05" data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
+          <fill>
+            <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDisabledSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDisabledSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDisabledSkin.fxg
index 1d258cc..e62786d 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDisabledSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDisabledSkin.fxg
@@ -1,39 +1,37 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextYearDisabledSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Path data="M12 0 12 12 0 12 0 0 12 0">
-            <fill>
-              <SolidColor color="#5A6165" alpha="0"/>
-            </fill>
-          </Path>
-          <Group>
-            <Path x="-672.5" y="-1041" data="M679.475 1048 680.475 1048 680.475 1049 681.475 1049 681.475 1050 674.5 1050 674.5 1049 675.5 1049 675.5 1048 676.475 1048 676.475 1047 677.475 1047 677.475 1046 678.475 1046 678.475 1047 679.475 1047 679.475 1048">
-              <fill>
-                <SolidColor alpha="0.3019608"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_nextYearDisabledSkin" version="2.0" afx:className="DateChooser_nextYearDisabledSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="-672.5" y="-1041" data="M679.475 1048 680.475 1048 680.475 1049 681.475 1049 681.475 1050 674.5 1050 674.5 1049 675.5 1049 675.5 1048 676.475 1048 676.475 1047 677.475 1047 677.475 1046 678.475 1046 678.475 1047 679.475 1047 679.475 1048">
+          <fill>
+            <SolidColor alpha="0.3019608"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDownSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDownSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDownSkin.fxg
new file mode 100644
index 0000000..cb2449e
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearDownSkin.fxg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="DateChooser/DateChooser_nextYearDownSkin" version="2.0" afx:className="DateChooser_nextYearDownSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="-663.5" y="-1041" data="M670.475 1047 670.475 1048 671.475 1048 671.475 1049 672.475 1049 672.475 1050 665.5 1050 665.5 1049 666.5 1049 666.5 1048 667.475 1048 667.475 1047 668.475 1047 668.475 1046 669.475 1046 669.475 1047 670.475 1047">
+          <fill>
+            <SolidColor color="#0075BE"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextYearOverSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearOverSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearOverSkin.fxg
index 044392a..fbf4bdb 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearOverSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearOverSkin.fxg
@@ -1,39 +1,37 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_nextYearOverSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Path data="M12 0 12 12 0 12 0 0 12 0">
-            <fill>
-              <SolidColor color="#5A6165" alpha="0"/>
-            </fill>
-          </Path>
-          <Group>
-            <Path x="2" y="5" data="M5.975 3 6.975 3 6.975 4 0 4 0 3 1 3 1 2 1.975 2 1.975 1 2.975 1 2.975 0 3.975 0 3.975 1 4.975 1 4.975 2 5.975 2 5.975 3">
-              <fill>
-                <SolidColor color="#009DFF"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_nextYearOverSkin" version="2.0" afx:className="DateChooser_nextYearOverSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="2" y="5" data="M5.975 3 6.975 3 6.975 4 0 4 0 3 1 3 1 2 1.975 2 1.975 1 2.975 1 2.975 0 3.975 0 3.975 1 4.975 1 4.975 2 5.975 2 5.975 3">
+          <fill>
+            <SolidColor color="#009DFF"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_nextYearUpSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_nextYearUpSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearUpSkin.fxg
new file mode 100644
index 0000000..c07cbe3
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_nextYearUpSkin.fxg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="DateChooser/DateChooser_nextYearUpSkin" version="2.0" afx:className="DateChooser_nextYearUpSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path scaleX="1.0000153" x="-4" y="1" data="M10.975 6 11.975 6 11.975 7 12.975 7 12.975 8 6 8 6 7 7 7 7 6 7.975 6 7.975 5 8.975 5 8.975 4 9.975 4 9.975 5 10.975 5 10.975 6">
+          <fill>
+            <SolidColor/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file


[35/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/anim/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/anim/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/anim/resources/Messages.properties
new file mode 100644
index 0000000..6a2e454e
--- /dev/null
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/anim/resources/Messages.properties
@@ -0,0 +1,28 @@
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id$
+# -----------------------------------------------------------------------------
+
+attribute.malformed = \
+The attribute "{1}" of the element <{0}> is invalid
+
+values.to.by.missing = \
+None of "values", "to" or "by" are specified on the element <{0}>
+
+values.to.by.path.missing = \
+None of "values", "to", "by" or "path" are specified on the element <{0}>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/Messages.properties
deleted file mode 100644
index e250d70..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/Messages.properties
+++ /dev/null
@@ -1,280 +0,0 @@
-###############################################################################
-#
-#   Copyright 2001-2003  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-SVGConverter.error.no.sources.specified = \
-Error: no source was specified.
-
-SVGConverter.error.cannot.use.dst.file = \
-Error: cannot use destination file where there are multiple sources. \
-Should use a destination directory instead.
-
-SVGConverter.error.no.srcdir.or.srcfile.specified = \
-Error: no source directory or source file specified. 
-
-SVGConverter.error.cannot.compute.destination = \
-Error: no output directory specified and source is not \
-a file (source causing failure is "{0}"
-
-SVGConverter.error.cannot.access.transcoder = \
-Error: cannot access transcoder for image of type {0}
-
-SVGConverter.error.source.same.as.destination = \
-Error: source is the same as destination.
-
-SVGConverter.error.cannot.read.source = \
-Error: cannot read source ({0})
-
-SVGConverter.error.cannot.open.source = \
-Error: cannot open source {0}
-
-SVGConverterURLSource.error.invalid.url = \
-Error: invalid url ({0})
-
-SVGConverter.error.unable.to.create.output.dir = \
-Error: unable to create output directory
-
-SVGConverter.error.output.not.writeable = \
-Error: output not writeable {0}
-
-SVGConverter.error.cannot.open.output.file = \
-Error: cannot open output file ({0})
-
-SVGConverter.error.while.rasterizing.file = \
-Error while rasterizing SVG file: {0} \
-Got an exception with message : {1}
-
-SVGConverter.error.invalid.area = \
-Error. Invalid area of interest. There must be exactly four integers in the area value. \
-The value was: {0}
-
-SVGConverter.error.invalid.area.x.problem = \
-Error. Invalid area of interest. Start x is after end x. \
-The value was: {0}
-
-SVGConverter.error.invalid.area.y.problem = \
-Error. Invalid area of interest. Start y is after end y. \
-The value was: {0}
-
-
-Main.usage = \
-SVG Rasterizer options are: \n \
- -d <dir|file>   \n \
-\toutput directory. If there is a single input file, this can be a file. \n \
- -m <mimeType>   \n \
-\toutput mime type. \n \
- -w <width>      \n \
-\toutput width. This is a floating point value. \n \
- -h <height>     \n \
-\toutput height. This is a floating point value. \n \
- -maxw <width>      \n \
-\tMaximum output width. This is a floating point value. \n \
- -maxh <height>     \n \
-\tMaximum output height. This is a floating point value. \n \
- -a <area>       \n \
-\toutput area. The format for <area> is x,y,w,h, where x, y, w and h \n \
-\tare floating point values. \n \
- -bg <color>     \n \
-\touput color. The format for <color> is a.r.g.b, where a, r, g and b \n \
-\tare integer values. \n \
- -cssMedia <media> \n \
-\tCSS media type for which the source SVG files should be \n \
-\tconverted.\n \
- -cssAlternate <alternate> \n \
-\tCSS alternate stylesheet to use when converting the source \n \
-\tSVG files. \n \
- -cssUser <userStylesheet> \n \
-\tCSS user stylesheet URI to apply to converted SVG documents \n \
-\tin addition to any other referened or embeded stylesheets. \n \
- -font-family <defaultFontFamily> \n \
-\tValue used as a default when no font-family value \n \
-\tis specified. \n \
- -lang <userLanguage> \n \
-\tUser language to use when converting SVG documents.\n \
- -q <quality> \n \
-\tQuality for the output image. This is only relevant for the \n \
-\timage/jpeg mime type. \n \
- -indexed (1|2|4|8)\n \
-\tReduces the image to given number of bits per pixel using an\n \
-\tadaptive pallete, resulting in an Indexed image.  This is\n \
-\tcurrently only supported for PNG conversion.\n \
- -dpi <resolution> \n \
-\tResolution for the ouptut image. \n \
- -validate  \n \
-\tControls whether the source SVG files should be validated. \n \
- -onload  \n \
-\tControls if the source SVG files must be rasterize after \n \
-\tdispatching the ''onload'' event. \n \
- -scriptSecurityOff removes any security check on the scripts running \n \
-\tas a result of dispatching the onload event. \n \
- -anyScriptOrigin controls whether scripts can be loaded from \n \
-\t any location. By default, scripts can only be loaded from \n \
-\tthe same location as the document referencing them. \n \
- -scripts <listOfAllowedScripts> List of script types (i.e., \n \
-\tvalues for the type attribute in the <script> tag) which \n \
-\tshould be loaded. \n \ 
-
-
-Main.cl.option.output.description = \
--d <dir|file> output directory. If there is a single input file, this can be a file. \n \
-              Otherwise, it has to be a directory. \n \
-              If no -d option is specified, then the output files are created in  \n \
-              the same directory (or directories) as the sources. \n \
-Example: -d rasters/png \n \
-Default: none 
-
-Main.cl.option.mime.type.description = \
--m <mimeType> output mime type. This should be one of: \n \
-              + image/jpg \n \
-              + image/jpeg \n \
-              + image/jpe \n \
-              + image/png \n \
-              + image/tiff \n\
-              + application/pdf \n\n \
-Example: -m image/jpeg \n \
-Default: image/png
-
-Main.cl.option.width.description = \
--w <width> Output width. This is a floating point value. \n \
-Example: -w 455.6 \n \
-Default: none (which means that the images's width will be used)
-
-Main.cl.option.height.description = \
--h <height> Output height. This is a floating point value. \n \
-Example: -h 345.67 \n \
-Default: none (which means that the image's height will be used)
-
-Main.cl.option.max.width.description = \
--maxw <width> Maximum output width. This is a floating point value. \n \
-Example: -maxw 455.6 \n \
-Default: none (which means that the option is ignored)
-
-Main.cl.option.max.height.description = \
--maxh <height> Maximum output height. This is a floating point value. \n \
-Example: -maxh 345.67 \n \
-Default: none (which means that the option is ignored)
-
-Main.cl.option.area.description = \
--a <area> output area. The format for <area> is x,y,w,h, where x, y, w and h are \n \
-          floating point values. \n \
-Example: -a 40,40,300,200 \n \
-Default: none (which means that the entire image will be rendered).
-
-Mail.cl.option.bg.description = \
--bg <color> ouput color. The format for <color> is a.r.g.b, where a, r, g and b \n \
-            are integer values. \n \
-Example: -bg 128.255.0.0 \n \
-Default: none (which means that the background is not filled with any color \n \
-         before rendering the SVG file). \n \
-
-Main.cl.option.cssMedia.description = \
--cssMedia <media> CSS media type for which the source SVG files should be \n \
-                  converted.\n \
-Example: -cssMedia projection \n \
-Default: none (which means that the "screen" media will be used.
-
-Main.cl.option.default.font.family.description = \
--font-family <defaultValue> Value used as a default when no font-family value \n \
-                            is specified.\n \
-Example: -font-family "Times, Comic Sans MS" \n \
-Default: "Arial, Helvetica, sans-serif"
-
-Main.cl.option.cssAlternate.description = \
--cssAlternate <alternate> CSS alternate stylesheet to use when converting the source \n \
-                 SVG files. \n \
-Example: -cssAlternate myFavoriteStylesheet \n \
-Default: none
-
-Main.cl.option.cssUser.description = \
--cssUser <userStylesheetURI> User CSS stylesheet to apply when converting SVG files. \n \
-Example: -cssUser myStylesheet.css \n \
-Default: none
-
-Main.cl.option.quality.description = \
--q <quality> Quality for the generated output image. This is only used for JPEG conversion. \n \
-The value should be in the [0,1] range. \n \
-Example: -q 0.5 \n \
-Default: 0.99
-
-Main.cl.option.indexed.description = \
--indexed (1|2|4|8) indicates that the image should be reduced to the given number of bits per pixel using an  adaptive pallete, resulting in an Indexed image.  This is currently only supported for PNG conversion.\n \
-Example: -indexed 8 \n \
-Default: none
-
-Main.cl.option.dpi.description = \
--dpi <resolution> Resolution for the output image. This is used to compute the \n \
-"pixel to millimeter" ratio used when processing SVG documents. \n \
-Example: -dpi 300 \n \
-Default: 96
-
-Main.cl.option.lang.description = \
--lang <language> Language to use when processing SVG documents. This is important for \n \
-SVG documents containing multiple languages. \n
-Example: -lang fr \n \
-Default: en
-
-Main.cl.option.validate.description = \
--validate  controls whether the source SVG files should be validated. 
-
-Main.cl.option.onload.description = \
--onload  controls whether the source SVG files must be rasterize after \n \
-dispatching the 'onload' event. 
-
-Main.cl.option.allowed.scripts.description = \
--scripts <listOfAllowedScripts> List of script types (i.e., values for the type attribute \
-in the <script> tag) which should be loaded. \n \ 
-Example: -scripts text/ecmascript \n \
-Default: text/ecmascript,application/java-archive
-
-Main.cl.option.constrain.script.origin.description = \
--anyScriptOrigin controls whether scripts can be loaded from any location. By default, \
-scripts can only be loaded from the same location as the document referencing them.
-
-Main.cl.option.script.security.off.description = \
--scriptSecurityOff removes any security check on the scripts running \n \
-as a result of dispatching the onload event. \n \
-
-#
-# Main error codes
-#
-
-Main.error.not.enough.option.values = \
-Error: not enough option values for option {0} \n \
-{1}
-
-Main.error.illegal.argument = \
-Error: illegal argument for option {0} : {2} \n \
-{1}
-
-Main.error.while.converting.files = \
-Error while converting files: \n \
-{0}
-
-
-#
-# Main messages
-#
-Main.message.about.to.transcode = \
-About to transcode {0} SVG file(s)\n
-
-Main.message.about.to.transcode.source = \
-Converting {0} to {1} ... 
-
-Main.message.conversion.failed = \
-... error ({0})
-
-Main.message.conversion.success = \
-... success

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.bin.policy
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.bin.policy b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.bin.policy
deleted file mode 100644
index 1dd0707..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.bin.policy
+++ /dev/null
@@ -1 +0,0 @@
-// -------------------------------------------------------------------------
// Copyright 2002-2003 The Apache Software Foundation
// 
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
// 
//        http://www.apache.org/licenses/LICENSE-2.0
// 
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.
// -------------------------------------------------------------------------

grant codeBase "${app.jar.base}/lib/xerces_2_5_0.jar" {
  permission java.security.AllPermission;
};





grant codeBase "${app.jar.base}/batik-rasterizer.jar" {


  permission java.security.AllPermis
 sion;


};





grant codeBase "${app.jar.base}/lib/batik-ext.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-dom.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-css.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-svg-dom.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-gvt.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-parser.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-script.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-bridge.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-swing.jar" {


  permission java.security.AllPermission;


};





gra
 nt codeBase "${app.jar.base}/lib/batik-transcoder.jar" {


  permission java.security.AllPermission;


};

grant codeBase "${app.jar.base}/lib/pdf-transcoder.jar" {


  permission java.security.AllPermission;


};

grant codeBase "${app.jar.base}/lib/batik-gui-util.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-awt-util.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-util.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/batik-xml.jar" {


  permission java.security.AllPermission;


};





grant codeBase "${app.jar.base}/lib/js.jar" {


  permission java.lang.RuntimePermission "createClassLoader";


  permission java.net.SocketPermission "*", "listen, connect, resolve, accept";


  permission java.lang.RuntimePermission "accessDeclaredMembers";


  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapter", "
 read";


  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapterClassName", "read";


  permission java.io.FilePermission "<<ALL FILES>>", "read";


};





grant {



  permission java.io.FilePermission "lib/batik-svg-dom.jar", "read";


};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.policy
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.policy b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.policy
deleted file mode 100644
index 5a21335..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/rasterizer/resources/rasterizer.policy
+++ /dev/null
@@ -1 +0,0 @@
-// -------------------------------------------------------------------------
// Copyright 2002-2003 The Apache Software Foundation
// 
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
// 
//        http://www.apache.org/licenses/LICENSE-2.0
// 
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.
// -------------------------------------------------------------------------

grant codeBase "${app.dev.base}/classes/" {
  permission java.security.AllPermission;
};





grant codeBase "${app.dev.base}/lib/xerces_2_5_0.jar" {
  permission java.security.AllPermission;
};

gran
 t codeBase "${app.dev.base}/lib/pdf-transcoder.jar" {
  permission java.security.AllPermission;
};


grant codeBase "${app.dev.base}/lib/js.jar" {


  permission java.lang.RuntimePermission "createClassLoader";


  permission java.net.SocketPermission "*", "listen, connect, resolve, accept";


  permission java.lang.RuntimePermission "accessDeclaredMembers";


  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapter", "read";


  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapterClassName", "read";


  permission java.io.FilePermission "<<ALL FILES>>", "read";


};





grant {


  permission java.io.FilePermission "resources/org/apache/batik/dom/svg/resources/svg10.dtd", "read";


  permission java.io.FilePermission "resources/org/apache/batik/dom/svg/resources/UserAgentStyleSheet.css", "read";


};
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/FindDialog.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/FindDialog.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/FindDialog.properties
deleted file mode 100644
index 0114fca..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/FindDialog.properties
+++ /dev/null
@@ -1,62 +0,0 @@
-###############################################################################
-#
-#   Copyright 2001  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-#
-# FindDialog properties file
-#
-# Author: tkormann@apache.org
-# $Id: FindDialog.properties,v 1.7 2004/08/18 07:11:30 vhardy Exp $
-#
-
-Dialog.title = Batik: Find
-Panel.title = Search for text
-ShowResultPanel.title = Display
-
-FindLabel.text = Find :
-
-CaseSensitiveCheckBox.text = Case sensitive
-CaseSensitiveCheckBox.mnemonic = S
-
-FindButton.text = Find
-FindButton.mnemonic = F
-FindButton.action   = FindButtonAction
-
-ClearButton.text = Clear
-ClearButton.mnemonic = C
-ClearButton.action   = ClearButtonAction
-
-CloseButton.text = Close
-CloseButton.mnemonic = O
-CloseButton.action   = CloseButtonAction
-
-Highlight.text = Highlight result
-Highlight.mnemonic = H
-
-HighlightAndCenter.text = Highlight and center result
-HighlightButtonAction.mnemonic = A
-
-HighlightCenterAndZoom.text = Highlight, center and zoom on result
-HighlightCenterAndZoom.mnemonic = Z
-
-End.text = End of document reached; continue from beginning.
-End.title = Batik: Find wrap
-
- 
-
-
-
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/GUI.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/GUI.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/GUI.properties
deleted file mode 100644
index 682f11e..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/GUI.properties
+++ /dev/null
@@ -1,639 +0,0 @@
-###############################################################################
-#
-#   Copyright 2001-2004  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-#
-# The viewer's GUI resources.
-#
-# Author: stephane@hillion.org
-# $Id: GUI.properties,v 1.64 2005/02/17 11:47:05 deweese Exp $
-#
-
-ViewSource.width = 750
-ViewSource.height = 500
-
-
-#
-# Messages
-#
-
-Message.documentLoad = Loading document...
-Message.documentCancelled = Loading document cancelled.
-Message.documentFailed = Loading document failed.
-Message.documentLoadTime = Loading document completed in 
-Message.treeBuild = Building document...
-Message.treeCancelled = Building document cancelled.
-Message.treeFailed = Building document failed.
-Message.treeBuildTime = Building document completed in 
-Message.onload = Dispatching 'onload'...
-Message.onloadCancelled = Dispatch of 'onload'  cancelled.
-Message.onloadFailed = Dispatch of 'onload' failed.
-Message.onloadTime = Dispatch of 'onload' completed in 
-Message.treeRendering = Rendering document...
-Message.treeRenderingCancelled = Rendering document cancelled.
-Message.treeRenderingFailed = Rendering document failed.
-Message.treeRenderingPrep = Rendering document preparation...
-Message.treeRenderingPrepTime = Rendering document preparation completed in 
-Message.treeRenderingStart = Rendering document started...
-Message.treeRenderingTime = Rendering document completed in 
-Message.done = Done.
-Message.updateManagerStarted = Update manager started...
-Message.updateManagerSuspended = Update manager suspended...
-Message.updateManagerResumed = Update manager resumed...
-Message.updateManagerStopped = Update manager stopped...
-Message.saveAs  = Saving as SVG...
-Message.exportAsJPG  = Exporting as JPG...
-Message.exportAsPNG  = Exporting as PNG...
-Message.exportAsTIFF = Exporting as TIFF...
-
-#
-# Dialog Titles
-#
-SaveAs.title  = Save as SVG
-ExportAsJPG.title  = Export as JPG
-ExportAsPNG.title  = Export as PNG
-ExportAsTIFF.title = Export as TIFF
-SetTransform.title = Transform
-
-#
-# Definition of the menu bar
-#
-
-MenuBar = File Edit View Processing Go Tools Help
-
-# File menu ################
-File = Open OpenLocation NewWindow Reload SaveAs - \
-       Print ExportAs - Close Exit
-File.type = MENU
-File.text = File
-File.mnemonic = F
-
-Open.type        = ITEM
-Open.text        = Open File...
-Open.icon        = resources/open.gif
-Open.mnemonic    = O
-Open.action      = OpenAction
-Open.accelerator = Ctrl+F
-
-OpenLocation.type        = ITEM
-OpenLocation.text        = Open Location...
-OpenLocation.icon        = resources/blank.gif
-OpenLocation.mnemonic    = L
-OpenLocation.action      = OpenLocationAction
-OpenLocation.accelerator = Ctrl+A
-
-NewWindow.type        = ITEM
-NewWindow.text        = Create New Window...
-NewWindow.icon        = resources/blank.gif
-NewWindow.mnemonic    = N
-NewWindow.action      = NewWindowAction
-NewWindow.accelerator = Ctrl+N
-
-Reload.type        = ITEM
-Reload.text        = Reload Document
-Reload.icon        = resources/reload.gif
-Reload.mnemonic    = R
-Reload.action      = ReloadAction
-Reload.accelerator = Ctrl+R
-
-SaveAs.type        = ITEM
-SaveAs.text        = Save SVG As
-SaveAs.icon        = resources/blank.gif
-SaveAs.mnemonic    = S
-SaveAs.action      = SaveAsAction
-SaveAs.accelerator = Ctrl+S
-
-Close.type        = ITEM
-Close.text        = Close
-Close.icon        = resources/blank.gif
-Close.mnemonic    = C
-Close.action      = CloseAction
-Close.accelerator = Ctrl+W
-
-Exit.type        = ITEM
-Exit.text        = Exit
-Exit.icon        = resources/blank.gif
-Exit.mnemonic    = E
-Exit.action      = ExitAction
-Exit.accelerator = Ctrl+Q
-
-Print.type        = ITEM
-Print.text        = Print...
-Print.icon        = resources/print.gif
-Print.mnemonic    = P
-Print.action      = PrintAction
-Print.accelerator = Ctrl+P
-
-# Export As submenu ###########
-ExportAs             = PNG JPG TIFF
-ExportAs.type        = MENU
-ExportAs.text        = Export As
-ExportAs.icon        = resources/blank.gif
-ExportAs.mnemonic    = E
-
-PNG.type        = ITEM
-PNG.text        = PNG...
-PNG.icon        = resources/blank.gif
-PNG.mnemonic    = P
-PNG.action      = ExportAsPNGAction
-
-JPG.type        = ITEM
-JPG.text        = JPG...
-JPG.icon        = resources/blank.gif
-JPG.mnemonic    = J
-JPG.action      = ExportAsJPGAction
-
-TIFF.type        = ITEM
-TIFF.text        = TIFF...
-TIFF.icon        = resources/blank.gif
-TIFF.mnemonic    = T
-TIFF.action      = ExportAsTIFFAction
-
-
-# Edit menu ################
-Edit = FindDialog - Preferences
-#Edit = Preferences Flush
-#Edit = Preferences
-
-Edit.type = MENU
-Edit.text = Edit
-Edit.mnemonic = E
-
-FindDialog.type        = ITEM
-FindDialog.text        = Find...
-FindDialog.icon        = resources/blank.gif
-FindDialog.mnemonic    = F
-FindDialog.action      = FindDialogAction
-FindDialog.accelerator = Ctrl+Z
-
-Preferences.type        = ITEM
-Preferences.text        = Preferences...
-Preferences.icon        = resources/blank.gif
-Preferences.mnemonic    = P
-Preferences.action      = PreferencesAction
-Preferences.accelerator = Ctrl+G
-
-Flush.type        = ITEM
-Flush.text        = Flush Cache
-Flush.icon        = resources/blank.gif
-Flush.mnemonic    = F
-Flush.action      = FlushAction
-
-
-# View menu ################
-View = ResetTransform ZoomIn ZoomOut - UseStylesheet - PreviousTransform NextTransform SetTransform - ThumbnailDialog ViewSource
-
-View.type = MENU
-View.text = View
-View.mnemonic = V
-
-ThumbnailDialog.type        = ITEM
-ThumbnailDialog.text        = Thumbnail...
-ThumbnailDialog.icon        = resources/blank.gif
-ThumbnailDialog.mnemonic    = M
-ThumbnailDialog.action      = ThumbnailDialogAction
-ThumbnailDialog.accelerator = Ctrl+Y
-
-ResetTransform.type        = ITEM
-ResetTransform.text        = Initial View
-ResetTransform.icon        = resources/blank.gif
-ResetTransform.mnemonic    = T
-ResetTransform.action      = ResetTransformAction
-ResetTransform.accelerator = Ctrl+T
-
-ZoomIn.type        = ITEM
-ZoomIn.text        = Zoom In
-ZoomIn.icon        = resources/zoomin.gif
-ZoomIn.mnemonic    = I
-ZoomIn.action      = ZoomInAction
-ZoomIn.accelerator = Ctrl+I
-
-ZoomOut.type        = ITEM
-ZoomOut.text        = Zoom Out
-ZoomOut.icon        = resources/zoomout.gif
-ZoomOut.mnemonic    = O
-ZoomOut.action      = ZoomOutAction
-ZoomOut.accelerator = Ctrl+O
-
-UseStylesheet        = DefaultStylesheet
-UseStylesheet.type   = MENU
-UseStylesheet.text   = Use Stylesheet
-UseStylesheet.icon   = resources/blank.gif
-UseStylesheet.action = UseStylesheetAction
-
-DefaultStylesheet.type     = RADIO
-DefaultStylesheet.text     = Default
-DefaultStylesheet.selected = true
-
-PreviousTransform.type        = ITEM
-PreviousTransform.text        = Previous Transform
-PreviousTransform.icon        = resources/blank.gif
-PreviousTransform.mnemonic    = P
-PreviousTransform.action      = PreviousTransformAction
-PreviousTransform.accelerator = Ctrl+K
-
-NextTransform.type        = ITEM
-NextTransform.text        = Next Transform
-NextTransform.icon        = resources/blank.gif
-NextTransform.mnemonic    = N
-NextTransform.action      = NextTransformAction
-NextTransform.accelerator = Ctrl+L
-
-SetTransform.type         = ITEM
-SetTransform.text         = Transform...
-SetTransform.icon         = resources/blank.gif
-SetTransform.mnemonic     = S
-SetTransform.action       = SetTransformAction
-SetTransform.accelerator  = Ctrl+E
-
-ViewSource.type        = ITEM
-ViewSource.text        = View Source...
-ViewSource.icon        = resources/source.gif
-ViewSource.mnemonic    = V
-ViewSource.action      = ViewSourceAction
-ViewSource.accelerator = Ctrl+U
-
-
-# Processing menu ################
-Processing = Play Pause Stop
-Processing.type = MENU
-Processing.text = Processing
-Processing.mnemonic = P
-
-Play.type        = ITEM
-Play.text        = Play
-Play.icon        = resources/play.gif
-Play.mnemonic    = P
-Play.action      = PlayAction
-Play.accelerator = Ctrl+H
-
-Pause.type        = ITEM
-Pause.text        = Pause
-Pause.icon        = resources/pause.gif
-Pause.mnemonic    = A
-Pause.action      = PauseAction
-Pause.accelerator = Ctrl+J
-
-Stop.type        = ITEM
-Stop.text        = Stop
-Stop.icon        = resources/stop.gif
-Stop.mnemonic    = S
-Stop.action      = StopAction
-
-
-# Go menu ################
-Go = Back Forward - HistoryMarker
-Go.type = MENU
-Go.text = Go
-Go.mnemonic = G
-
-Back.type        = ITEM
-Back.text        = Back
-Back.icon        = resources/back.gif
-Back.mnemonic    = B
-Back.action      = BackAction
-Back.accelerator = Ctrl+Left
-
-Forward.type        = ITEM
-Forward.text        = Forward
-Forward.icon        = resources/forward.gif
-Forward.mnemonic    = F
-Forward.action      = ForwardAction
-Forward.accelerator = Ctrl+Right
-
-HistoryMarker.type        = ITEM
-HistoryMarker.text        = @@@
-
-
-# Tools menu ################
-Tools = Monitor DOMViewer ScriptDebugger
-Tools.type = MENU
-Tools.text = Tools
-Tools.mnemonic = T
-
-Monitor.type        = ITEM
-Monitor.text        = Memory Monitor...
-Monitor.icon        = resources/monitor.gif
-Monitor.mnemonic    = M
-Monitor.action      = MonitorAction
-Monitor.accelerator = Ctrl+M
-
-DOMViewer.type        = ITEM
-DOMViewer.text        = DOM Viewer...
-DOMViewer.icon        = resources/domtree.gif
-DOMViewer.mnemonic    = D
-DOMViewer.action      = DOMViewerAction
-DOMViewer.accelerator = Ctrl+D
-
-ScriptDebugger.type        = ITEM
-ScriptDebugger.text        = Script Debugger...
-ScriptDebugger.mnemonic    = S
-ScriptDebugger.action      = ToggleDebuggerAction
-
-
-# Help menu ##################
-Help = About
-Help.type = MENU
-Help.text = ?
-Help.mnemonic = ?
-
-About.type     = ITEM
-About.text     = About Batik ...
-About.mnemonic = A
-About.action   = AboutAction
-About.accelerator = Ctrl+Shift+A
-
-
-#
-# Definition of the tool bar
-#
-
-ToolBar = ToolOpen - ToolReload ToolBack ToolForward - \
-          ToolZoomIn ToolZoomOut - ToolViewSource ToolDOMViewer - \
-          ToolPrint - ToolPlay ToolPause ToolStop
-
-ToolOpen.icon      = resources/open.gif
-ToolOpen.action    = OpenAction
-ToolOpen.tooltip   = Open a SVG file.
-
-ToolReload.icon      = resources/reload.gif
-ToolReload.action    = ReloadAction
-ToolReload.tooltip   = Reload the current document.
-
-ToolBack.icon      = resources/back.gif
-ToolBack.action    = BackAction
-ToolBack.tooltip   = Move back to the previous document.
-
-ToolForward.icon      = resources/forward.gif
-ToolForward.action    = ForwardAction
-ToolForward.tooltip   = Move forward to the next document.
-
-ToolPrint.icon      = resources/print.gif
-ToolPrint.action    = PrintAction
-ToolPrint.tooltip   = Print the current document.
-
-ToolZoomIn.icon      = resources/zoomin.gif
-ToolZoomIn.action    = ZoomInAction
-ToolZoomIn.tooltip   = Zoom in the current document.
-
-ToolZoomOut.icon      = resources/zoomout.gif
-ToolZoomOut.action    = ZoomOutAction
-ToolZoomOut.tooltip   = Zoom out the current document.
-
-ToolViewSource.icon      = resources/source.gif
-ToolViewSource.action    = ViewSourceAction
-ToolViewSource.tooltip   = View the source of the current document.
-
-ToolDOMViewer.icon      = resources/domtree.gif
-ToolDOMViewer.action    = DOMViewerAction
-ToolDOMViewer.tooltip   = Shows the DOM Viewer.
-
-ToolPlay.icon      = resources/play.gif
-ToolPlay.action    = PlayAction
-ToolPlay.tooltip   = Continue the Processing of the SVG Document.
-
-ToolPause.icon      = resources/pause.gif
-ToolPause.action    = PauseAction
-ToolPause.tooltip   = Pause the Processing of the SVG Document.
-
-ToolStop.icon      = resources/stop.gif
-ToolStop.action    = StopAction
-ToolStop.tooltip   = Stop the Processing of the SVG Document.
-
-#
-# JSVGViewerFrame constants
-#
-JSVGViewerFrame.property.os.name=os.name
-JSVGViewerFrame.property.os.name.default=Solaris
-JSVGViewerFrame.property.os.windows.prefix=Windows
-
-#
-# PreferenceDialog parameters
-#
-PreferenceDialog.MediaPanel.title = Media
-
-
-PreferenceDialog.label.user.options = User Options
-PreferenceDialog.label.user.language = Language
-PreferenceDialog.label.user.stylesheet = Stylesheet
-PreferenceDialog.label.user.font = Font
-PreferenceDialog.label.behavior = Browser Options
-PreferenceDialog.label.network = Network
-PreferenceDialog.label.applications = Applications
-PreferenceDialog.label.auto.adjust.window = Auto Adjust Window
-PreferenceDialog.label.enable.double.buffering = Enable Double Buffering
-PreferenceDialog.label.show.rendering = Show Rendering
-PreferenceDialog.label.show.debug.trace = Show Debug Trace
-PreferenceDialog.label.selection.xor.mode = Display selection overlay using XOR mode
-PreferenceDialog.label.is.xml.parser.validating = Use a validating XML parser
-PreferenceDialog.label.enforce.secure.scripting = Enforce secure scripting:
-PreferenceDialog.label.secure.scripting.toggle = On
-PreferenceDialog.label.grant.script.file.access = Grant scripts access to file system
-PreferenceDialog.label.grant.script.network.access = Grant scripts access to all network
-PreferenceDialog.label.load.java = Java jar files
-PreferenceDialog.label.load.ecmascript = Ecmascript/Javascript
-PreferenceDialog.label.constrain.script.origin = Scripts constrained to same origin as document
-PreferenceDialog.label.constrain.external.resource.origin = External resources (images, stylesheets, etc..) constrained to same origin as document
-PreferenceDialog.label.host = Proxy Host
-PreferenceDialog.label.port = Proxy Port
-PreferenceDialog.label.ok = OK
-PreferenceDialog.label.cancel = Cancel
-PreferenceDialog.label.load.scripts = Load Scripts:
-PreferenceDialog.label.origin.any = Any
-PreferenceDialog.label.origin.document = Same as document
-PreferenceDialog.label.origin.embed = Embeded
-PreferenceDialog.label.origin.none = Not allowed
-PreferenceDialog.label.script.origin = Script Origin:
-PreferenceDialog.label.resource.origin = External Resources Origin:
-PreferenceDialog.title.browser.options = Browser Options
-PreferenceDialog.title.behavior = Optional Behaviors
-PreferenceDialog.title.security = Security Settings
-PreferenceDialog.title.network = Network Options
-PreferenceDialog.title.dialog = Preferences
-
-PreferenceDialog.config.host.text.field.length = 12
-PreferenceDialog.config.port.text.field.length = 3
-PreferenceDialog.config.ok.mnemonic = O
-PreferenceDialog.config.cancel.mnemonic = C
-
-PreferenceDialog.icon.userLanguagePref = \
-org/apache/batik/apps/svgbrowser/resources/userLanguagePref.gif
-
-PreferenceDialog.icon.userStylesheetPref = \
-org/apache/batik/apps/svgbrowser/resources/userStylesheetPref.gif
-
-PreferenceDialog.icon.behaviorsPref = \
-org/apache/batik/apps/svgbrowser/resources/behaviorsPref.gif
-
-PreferenceDialog.icon.networkPref = \
-org/apache/batik/apps/svgbrowser/resources/networkPref.gif
-
-
-#
-# Authentication Requestion Dialog strings.
-#
-JAuthenticator.title = Network Authentication Requested
-JAuthenticator.label.ok = OK
-JAuthenticator.label.cancel = Cancel
-JAuthenticator.label.site = Site:
-JAuthenticator.label.req = Requests:
-JAuthenticator.label.userID = User ID:
-JAuthenticator.label.password = Password:
-
-#
-# Main string constants for confirmation messages
-#
-Main.message.confirm.security.manager.override = \
-Your settings indicate that you want to enforce scripting security. \n \
-There is already a security policy installed by an entity other \
-than the Squiggle viewer. \n \
-You can chose to override the installed security policy and use the \
-squiggle security policy instead by clicking on the 'Yes' button. \
-This is potentially risky as the Squiggle security policy may have \
-been tampered with. \n \
-You can chose to keep the installed security policy, but there is \
-no guarantee that scripting will be run in a secure fashion. This is \ 
-potentially risky. Click on the 'No' button if you want to use the \
-already installed security policy. \n \
-Finally, click on the 'Cancel' button if you do not want to override \
-the existing security setting and you do not want to run with the \
-existing security policy which may not enforce secure execution of \
-scripts. If you select the 'Cancel' button, the application will exit. \n \
-WARNING: selected the 'Cancel' is the recommended option. Other selections \
-are not secure. 
-
-Main.message.confirm.security.manager.override= \
-Security Policy Override
-
-Main.message.confirm.alien.security.manager = \
-Your settings indicate that you want to enforce scripting security. \n \
-However, there is already a security policy in place which \
-cannot be overridden by the Squiggle browser. \n \
-You can chose to keep the installed security policy, but there is \
-no guarantee that scripting will be run in a secure fashion. This is \ 
-potentially risky. Click on the 'Yes' button if you want to use the \
-already installed security policy. \n \
-Click on the 'No' button if you do not want to run run with the \
-existing security policy which may not enforce secure execution of \
-scripts. If you select the 'No' button, the application will exit. \n \
-WARNING: selected the 'No' is the recommended option. Other selections \
-are not secure. 
-
-Main.confirm.alien.security.manager.title= \
-Use alien Security Policy
-
-Main.message.security.exception.rejected.security.manager.override = \
-The user preferences indicated that secure execution of scripting should be enforced. \
-However, there was a SecurityManager already installed and the user rejected \
-to override that SecurityManager with that of Squiggle or use the installed \
-SecurityManager.
-
-Main.message.security.exception.rejected.alien.security.manager = \
-The user preferences indicated that secure execution of scripting should be enforced. \
-However, there was a SecurityManager already installed which could not be \
-overridden and the user rejected to use the installed SecurityManager.
-
-Main.message.security.exception.alien.security.manager = \
-The user preferences indicated that secure execution of scripting should be enforced. \
-However, a SecurityManager was already installed. Squiggle could not continue safely. 
-
-Main.message.null.pointer.exception.no.squiggle.policy.file = \
-The user preference indicated that secure script execution should be enforced. \
-However, the Squiggle policy file could not be found, which causes this \
-exception.  
-
-#
-# AltFileSystemView
-#
-AltFileSystemView.exception.containing.dir.null = \
-Containing directory is null
-
-AltFileSystemView.exception.directory.already.exists = \
-Directory already exists: {0}
-
-AltFileSystemView.new.folder.name = New Folder
-
-AltFileSystemView.floppy.drive = A:
-
-#
-# SVGOptionPanel
-#
-SVGOptionPanel.dialog.title = SVG Save Options
-SVGOptionPanel.label = Options for saving SVG
-SVGOptionPanel.UseXMLBase = Add "xml:base" attribute to root.
-SVGOptionPanel.UseXMLBaseDefault = true
-SVGOptionPanel.PrettyPrint = Pretty Print XML (reformats whitespace).
-SVGOptionPanel.PrettyPrintDefault = false
-
-
-#
-# JPEGOptionPanel
-#
-
-OKButton.text = OK
-JPEGOptionPanel.dialog.title = JPEG Quality
-JPEGOptionPanel.label = Quality:
-
-#
-# PNGOptionPanel
-#
-
-OKButton.text = OK
-PNGOptionPanel.dialog.title = Write 256 color PNG?
-PNGOptionPanel.label = Reduce image to 256 color indexed PNG?:
-
-#
-# About Box parameters
-#
-AboutDialog.icon.apache.logo = org/apache/batik/apps/svgbrowser/resources/asf-logo.jpg
-AboutDialog.icon.batik.splash = org/apache/batik/apps/svgbrowser/resources/squiggle.png
-
-AboutDialog.label.development.build = Development Build
-
-AboutDialog.label.apache.batik.project = \
-An Apache XML Project, http://xml.apache.org/batik
-
-AboutDialog.label.contributors = \n\
-Committers: \n\
-Thomas DeWeese, Bill Haneman, Vincent Hardy, Stephane Hillion, \
-Dean Jackson, Christophe Jolif, Thierry Kormann, Bella Robinson, Nicolas Socheleau, \
-Emmanuel Tissandier \
-\n\n\
-Contributors: \n\
-Curt Arnold, Bert Bos, James Davidson, Robert DiBlasi, \
-Paul Evenblij, Pier Fumagalli, Christophe Held, \
-Keiron Liddle, \
-Stefano Mazzochi, John Morisson, Andreas Neumann, Luan O'Carroll, \
-Sheng Pei, Neeme Praks, Henri Ruini, David Schweinsberg, Nicholas Talian.\
-
-#
-# XMLInputHandler messages
-#
-XMLInputHandler.error.no.xml.stylesheet.processing.instruction = The input XML file does \
-not contain an <?xml-stylesheet?> processing instruction of type "text/xsl"
-
-XMLInputHandler.error.transform.output.not.svg = The result of the XSL transformation \
-did not produce an SVG document with a root <svg> element. It cannot be handled by Squiggle.
-
-XMLInputHandler.error.transform.produced.no.content = The XSL transformation did \
-no produce any content.
-
-XMLInputHandler.error.transform.output.wrong.ns = The result of the XSL transformation \
-produced a document which is not in the SVG namespace (http://www.w3.org/2000/svg)
-
-XMLInputHandler.error.result.generated.exception = An error occured when processing the \
-result of the transformation applied to your document. Check that the transformation does \
-not produce an empty document and that it is a well formed SVG document.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/Main.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/Main.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/Main.properties
deleted file mode 100644
index 4822010..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/Main.properties
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################
-#
-#   Copyright 2001-2002  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-#
-# The application-wide resources.
-#
-# Author: stephane@hillion.org
-# $Id: Main.properties,v 1.9 2004/08/18 07:11:30 vhardy Exp $
-#
-
-#
-# Frame configuration.
-#
-Frame.width = 800
-Frame.height = 600
-Frame.icon = resources/squiggleIcon.png
-Frame.title = Squiggle
-
-#
-# Command-line options.
-#
-
-Command.header = \
-\n\
-\tSquiggle SVG browser - (C) Apache Software Foundation      \n\
-\t\thttp://xml.apache.org/batik\n
-
-Command.syntax = \
-Syntax:\n\
-\tsquiggle [options] <svg file>
-
-Command.options = \
-Available Options:
-
-Command.font-size = \
--font-size <number>\n\
-\tSets the user interface default font size.
-
-Error.skipping.file = \
-Cannot read file. File will not be loaded. \n

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/StatusBarMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/StatusBarMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/StatusBarMessages.properties
deleted file mode 100644
index 7c6f4e1..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/StatusBarMessages.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-#
-#   Copyright 2001  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-#
-# The status bar resources.
-#
-# Author: stephane@hillion.org
-# $Id: StatusBarMessages.properties,v 1.4 2004/08/18 07:11:30 vhardy Exp $
-#
-
-Panel.default_message = Batik SVG Browser - xml.apache.org/batik
-
-Position.width_letters = w:
-Position.height_letters = h:

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/ThumbnailDialog.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/ThumbnailDialog.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/ThumbnailDialog.properties
deleted file mode 100644
index 1545840..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/ThumbnailDialog.properties
+++ /dev/null
@@ -1,26 +0,0 @@
-# 
-# Copyright 2001-2003  The Apache Software Foundation 
-# 
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#     http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# ThumbnailDialog properties file
-#
-# Author: tkormann@apache.org
-# $Id: ThumbnailDialog.properties,v 1.3 2004/10/30 16:54:53 deweese Exp $
-#
-
-Dialog.title = Thumbnail
-
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/asf-logo.jpg
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/asf-logo.jpg b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/asf-logo.jpg
deleted file mode 100644
index f90c4ab..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/asf-logo.jpg and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/back.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/back.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/back.gif
deleted file mode 100644
index 1ae144d..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/back.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/batik.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/batik.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/batik.gif
deleted file mode 100644
index f9e8c79..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/batik.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/behaviorsPref.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/behaviorsPref.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/behaviorsPref.gif
deleted file mode 100644
index db43945..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/behaviorsPref.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/blank.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/blank.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/blank.gif
deleted file mode 100644
index 0b14b62..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/blank.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/domtree.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/domtree.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/domtree.gif
deleted file mode 100644
index 97e8938..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/domtree.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/forward.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/forward.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/forward.gif
deleted file mode 100644
index 85b191f..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/forward.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/init.svg
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/init.svg b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/init.svg
deleted file mode 100644
index 787af2c..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/init.svg
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
-   "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-
-<!--
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
--->
-<!-- =================================================================== -->
-<!-- A dummy document used to preload classes.                           -->
-<!-- =================================================================== -->
-
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" viewBox="0 0 100 100">
-
-    <defs>
-        <g id="batik">
-                <path id="Batik_B" d="M50.037,12.141l0.463,3.236c0,1.465-0.039,2.484-0.115,3.063s-0.344,1.213-0.803,1.906l-1.834,3.234l-2.521,3.814c4.395,6.24,7.326,10.824,8.791,13.75l3.008,6.355l1.967,6.701c0.848,3.16,1.271,6.279,1.271,9.361
-                        c0,5.008-0.869,9.57-2.604,13.691s-4.145,7.453-7.229,9.996c-3.086,2.543-6.998,4.449-11.74,5.719s-9.543,1.906-14.4,1.906c-3.855,0-7.096-0.27-9.717-0.809c-3.238-0.461-5.688-1.193-7.346-2.195c-1.658-1-3.123-2.195-4.395-3.582
-                        C1.561,86.902,0.617,85.055,0,82.742c0-5.082,1.117-10.436,3.355-16.061l6.709-17.68c2.234-6.086,3.354-11.748,3.354-16.986c-0.232-2.156-0.617-4.197-1.156-6.123l-1.852-6.471c-0.695-2.311-2.121-5.008-4.279-8.09l-0.115-0.924V9.715
-                        c0-3.158,1.309-5.238,3.928-6.24c4.775-1.232,9.859-1.85,15.252-1.85c6.316,0,11.746,0.828,16.291,2.484s7.395,4.334,8.551,8.031z M29.518,12.625c-0.846,0.461-1.268,1.189-1.268,2.186c0,0.691,0.326,1.668,0.979,2.934s1.096,2.434,1.326,3.506
-                        c1.074-0.383,1.938-1.148,2.59-2.299s0.98-2.416,0.98-3.797c-0.23-0.842-0.787-1.512-1.67-2.012s-1.863-0.672-2.938-0.518z M30.537,33.979L29.496,45.66c0,0.617,0.203,1.119,0.609,1.504l1.826,0.463l2.193-0.463c0.645-0.23,1.363-1.039,2.152-2.428
-                        c0.645-1.387,0.969-3.045,0.969-4.975V38.49c0-0.539-0.078-1.041-0.232-1.504c0-0.617-0.502-1.389-1.504-2.314c-1.004-0.77-1.967-1.156-2.891-1.156c-0.771,0-1.465,0.154-2.082,0.463z"/>
-        </g>
-
-        <filter id="shadow" filterRes="200" x="-.2" y="-.1">
-            <feGaussianBlur stdDeviation="3 3" />
-            <feOffset dx="-10" dy="10" />
-            <feComponentTransfer result="shadow">
-               <feFuncA type="linear" slope=".5" intercept="0" />
-            </feComponentTransfer>
-            <feComposite in="SourceGraphic" in2="shadow" />
-        </filter>
-
-            <path id="Outer_Ellipse" style="stroke:none;" d="M453.747,104.22C333.581-15.897,157.944-35.015,61.45,61.516c-96.493,96.533-77.301,272.161,42.866,392.278C224.48,573.911,400.117,593.031,496.61,496.498c96.493-96.533,77.302-272.161-42.863-392.278z
-                         M461.486,454.618c-74.193,74.224-222.251,46.516-330.696-61.886C22.343,284.329-5.426,136.283,68.766,62.059c74.193-74.222,222.251-46.516,330.698,61.887c108.445,108.402,136.214,256.449,62.021,330.672z"/>
-
-      <clipPath id="textClip">
-       <text x="0" y="0" text-anchor="middle" font-size="80%" font-family="Serif" id="text">batik <tspan dx="10 20 30" dy="10 20 30" style="stroke:#CC4">SVG</tspan></text>
-      </clipPath>
-       <g id="words">
-         <use xlink:href="#text"/>
-         <g clip-path="url(#textClip)">
-             <use xlink:href="#text" transform="scale(0.9) rotate(20) translate(-20,-15)" filter="url(#shadow)" fill="black"/>
-         </g>
-       </g>
-        <g transform="translate(225, 250) rotate(-260)" id="rotatedText">
-        <g  transform="scale(0.9) rotate(20)" opacity="0.9">
-        <use xlink:href="#words"/>
-        </g></g>
-            <path id="Inner_Ellipse" style="stroke:none;" d="M399.464,123.946C291.018,15.543,142.959-12.163,68.766,62.059c-74.192,74.224-46.423,222.27,62.023,330.672c108.445,108.402,256.503,136.11,330.696,61.886c74.192-74.223,46.424-222.27-62.021-330.672z
-                         M410.417,397.331c-58.115,58.14-179.371,31.157-270.832-60.267C48.124,245.64,21.092,124.396,79.207,66.256c58.116-58.139,179.372-31.157,270.833,60.267c91.46,91.424,118.493,212.668,60.377,270.808z"/>
-        </defs>
-
-    <rect x="0" y="0" width="100%" height="100%" fill="rgb(13, 97, 160)" />
-    <g fill="rgb(255, 255, 20)">
-        <circle cx="50" cy="50" r="50"/>
-    </g>
-
-    <g filter="url(#shadow)">
-        <use xlink:href="#Outer_Ellipse" fill-opacity="1"/>
-    </g>
-
-    <use xlink:href="#Outer_Ellipse" fill="rgb(13, 97, 160)" fill-opacity=".75"/>
-    <use xlink:href="#Inner_Ellipse" fill="rgb(255, 255, 20)" fill-opacity=".75" />
-
-    <g transform="translate(50, 154) scale(1.5, 1.5)">
-    <use x="0" y="0" xlink:href="#batik" 
-         fill="black" filter="url(#shadow)"/>
-
-    <use x="0" y="0" xlink:href="#batik" 
-         fill="none" stroke-width="8" stroke="rgb(13, 97, 160)"/>
-
-    <use x="0" y="0" xlink:href="#batik" 
-         fill="rgb(255, 255, 20)" stroke="rgb(204, 102, 53)" stroke-width="1"/>
-    </g>
-
-        <use xlink:href="#rotatedText" fill="white" stroke-width="2" stroke="black"/>
-        <g  transform="translate(50, 50) scale(0.254) rotate(30)">
-        <use xlink:href="#text" fill="black" filter="url(#shadow)" 
-             transform="translate(-10, 8)"/>
-        <use xlink:href="#text" stroke="black" stroke-width="16" fill="none"/>
-        <use xlink:href="#text" stroke="none" fill="white"/>
-        </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/language.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/language.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/language.gif
deleted file mode 100644
index 51e95bb..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/language.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/monitor.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/monitor.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/monitor.gif
deleted file mode 100644
index eb04289..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/monitor.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/networkPref.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/networkPref.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/networkPref.gif
deleted file mode 100644
index 3e2e514..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/networkPref.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/open.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/open.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/open.gif
deleted file mode 100644
index b14c397..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/open.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/pause.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/pause.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/pause.gif
deleted file mode 100644
index d5f1739..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/pause.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/play.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/play.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/play.gif
deleted file mode 100644
index 70842b9..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/play.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/print.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/print.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/print.gif
deleted file mode 100644
index 8b05adb..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/print.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/reload.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/reload.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/reload.gif
deleted file mode 100644
index 8408ec7..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/reload.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/source.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/source.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/source.gif
deleted file mode 100644
index 5cec25d..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/source.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.png
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.png b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.png
deleted file mode 100644
index 6f6e3d1..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.xsl
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.xsl b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.xsl
deleted file mode 100644
index f0dfc26..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggle.xsl
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!-- ====================================================================== 
-     Copyright 2002,2004 The Apache Software Foundation
-     
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-     
-         http://www.apache.org/licenses/LICENSE-2.0
-     
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.     
-     See the License for the specific language governing permissions and
-     limitations under the License.
-     ====================================================================== -->
-
-<!-- ========================================================================= -->
-<!-- This simple XSL stylesheet is used to automatically generate the splash   -->
-<!-- screen for the documentation and the Squiggle browser. See the 'splash'   -->
-<!-- target in build.xml.                                                      -->
-<!--                                                                           -->
-<!-- @author vincent.hardy@eng.sun.com                                         -->
-<!-- @version $Id: squiggle.xsl,v 1.3 2004/08/18 07:11:30 vhardy Exp $      -->
-<!-- ========================================================================= -->
-
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
-                              xmlns:xlink="http://www.w3.org/1999/xlink"
-                              xmlns:xalan="http://xml.apache.org/xalan" 
-                              exclude-result-prefixes="xalan">
-
-        <xsl:param name="version" >currentVersion</xsl:param>
-        <xsl:param name="revisionType" >beta</xsl:param>
-        <xsl:param name="revisionNumber" >3</xsl:param>
-	<xsl:output method="xml" indent="yes" media-type="image/svg"/> 
-
-    <xsl:template match="/" >
-
-<svg id="body" width="492" height="150" viewBox="0 0 492 150">
-<title>Squiggle Startup screen</title>
-    <defs>
-        <g id="card">
-          <rect height="150" width="492" y="0" x="0"/>
-        </g>
-
-        <radialGradient id="backgroundGradient" r=".7" cx="0.5">
-            <stop offset="0" stop-color="white" />
-            <stop offset=".5" stop-color="rgb(124, 65, 239)" />
-            <stop offset="1" stop-color="black" />
-        </radialGradient>
-
-        <pattern id="stripes" patternUnits="userSpaceOnUse" x="0" y="0" width="50" height="4">
-            <rect width="50" height="2" fill="black" fill-opacity=".2" />
-        </pattern>
-
-        <filter id="dropShadow" primitiveUnits="objectBoundingBox" x="-.2" y="-.2" width="1.4" height="1.4">
-            <feGaussianBlur in="SourceAlpha" stdDeviation="2" x="-.2" y="-.2" width="1.4" height="1.4"/> 
-            <feOffset dx="3" dy="3" />
-            <feComponentTransfer result="shadow">
-               <feFuncA type="linear" slope="1" intercept="0" />
-            </feComponentTransfer>
-            <feMerge>
-                <feMergeNode />
-                <feMergeNode in="SourceGraphic" />
-            </feMerge>
-        </filter>
-
-        <symbol id="Batik_Squiggle" stroke="none" viewBox="0 0 540 570">
-          <path id="Batik_Squiggle_Blue" fill="#6666FF"
-            d="M172,44C137,60,31,135,11,199c-8,27,22,48,44,33
-               C14,306-1,332,0,356c0,14,13,42,44,27c8-4,35-25,52-41
-               c14-1,24-11,42-28c17,14,36,10,52-7c22,2,82-78,44-108
-               c-3-24-30-37-53-18c-6-2-13-1-18,1c22-35,43-82,49-105
-               C219,47,188,36,172,44z"/>
-          <path id="Batik_Squiggle_Red" fill="#FF0000"
-            d="M400,0c-18,3-49,31-49,31c-29,23-43,58-28,95
-               c-13,14-29,44-29,67c0,28,20,52,50,29c7,8,21,16,37,5
-               c-5,29,3,48,26,49c1,10,13,31,36,17c16-10,58-39,79-56
-               c25-23,25-94-18-89c33-59-3-96-27-84c-10,4-46,25-52,30
-               c-1-7-5-12-11-14C436,45,436-5,401,0z"/>
-          <path id="Batik_Squiggle_Green" fill="#33CC33"
-            d="M275,353c-46,12-88,43-114,91c-9,16,6,37,25,33
-               c-14,24-40,67-15,81c28,16,52-8,60-15c18,21,50,10,81-17
-               c41,14,68-2,103-53c8-12,30-43,30-65c0-16-15-30-35-21
-               c-1-12-9-38-53-19c-10-6-31-5-54,17
-               C308,375,300,347,275,353z"/>
-        </symbol>
-    </defs>
-
-    <g id="content" filter2="url(#dropShadow)">
-      <g id="top">
-        <use xlink:href="#card" fill="url(#backgroundGradient)" />
-        <use xlink:href="#card" fill="url(#stripes)" />
-        
-        <use filter="url(#dropShadow)" xlink:href="#Batik_Squiggle"
-          y="11" x="46" width="114" height="131"/>
-
-        <g id="topText" font-family="'20th Century Font', 'Futura XBlk BT'"
-          text-anchor="middle" fill="white" filter="url(#dropShadow)">
-          <text x="246" y="85"><tspan font-size="95"
-           >squiggle</tspan></text>
-          <text font-size="17" x="246" y="115"><tspan
-          >Built with the Batik SVG toolkit</tspan
-          ><tspan dy="1em" x="246">http://xml.apache.org/batik</tspan></text>
-          <text x="487" y="140" text-anchor="end" font-size="16" 
-            fill="red"><xsl:value-of select="$version" />
-          <xsl:if test="$revisionType != 'revisionType'">
-            <xsl:value-of 
-              select="substring-after($revisionType, 'revisionType')" />
-            <xsl:text> </xsl:text><xsl:value-of 
-            select="substring-after($revisionNumber, 'revisionNumber')"/>
-          </xsl:if>
-        </text>
-      </g>
-    </g>
-  </g>
-
-  <font horiz-adv-x="419" ><font-face
-  font-family="20th Century Font"
-  units-per-em="1000"
-  panose-1="0 0 4 0 0 0 0 0 0 0"
-  ascent="830"
-  descent="-201"
-  alphabetic="0" />
-  <missing-glyph horiz-adv-x="500" 
-    d="M63 0V800H438V0H63ZM125 63H375V738H125V63Z" />
-  <glyph unicode=" " glyph-name="space" horiz-adv-x="260" />
-  <glyph unicode="-" glyph-name="hyphen" horiz-adv-x="331" 
-    d="M294 325Q294 302 280 287Q264 269 238 269H105Q78 269 63 287Q49 302 49 325Q49 348 63 364T105 381H238Q264 381 279 365T294 325Z" />
-  <glyph unicode="." glyph-name="period" horiz-adv-x="225" 
-    d="M190 55Q190 30 173 13T130 -5Q105 -5 88 12T70 55Q70 80 87 97T130 115Q155 115 172 98T190 55Z" />
-  <glyph unicode="/" glyph-name="slash" horiz-adv-x="363" 
-    d="M359 579Q359 568 355 557L134 -3Q120 -39 84 -39Q61 -39 43 -24T25 15Q25 26 30 38L251 598Q265 634 301 634Q324 634 341 619T359 579Z" />
-  <glyph unicode="0" glyph-name="zero" horiz-adv-x="539" 
-    d="M508 290Q508 150 462 77Q405 -11 274 -11Q40 -11 40 290Q40 590 274 590Q508 590 508 290ZM396 290Q396 383 379 421Q352 479 274 479Q195 479 169 421Q152 383 152 290Q152 196 169 158Q195 101 274 101Q353 101 379 158Q396 195 396 290Z" />
-  <glyph unicode="1" glyph-name="one" horiz-adv-x="300" 
-    d="M261 55Q261 28 244 14T205 -1Q182 -1 166 13T149 55V433Q133 423 116 423Q92 423 74 441T55 483Q55 517 94 537L160 571Q183 583 204 583Q229 583 245 569T261 537V55Z" />
-  <glyph unicode="2" glyph-name="two" horiz-adv-x="479" 
-    d="M457 54Q457 32 442 16T399 -1H33V73Q33 184 111 255Q153 294 257 343Q335 379 335 405Q335 457 286 470Q271 474 251 474Q210 474 166 458Q156 454 145 454Q122 454 107 472T91 512Q91 550 129 563Q189 585 249 585Q338 585 391 539Q447 490 447 399Q447 331 370 283Q299 246 228 210Q151 167 151 111H399Q426 111 443 93Q457 77 457 54Z" />
-  <glyph unicode="3" glyph-name="three" horiz-adv-x="508" 
-    d="M484 188Q484 95 418 43Q357 -4 261 -4Q153 -4 90 56Q72 73 72 96Q72 118 89 135T129 153Q151 153 168 137Q198 108 261 108Q373 108 373 188Q373 256 283 256Q274 256 267 256Q214 273 214 312Q214 339 250 366Q333 397 333 427Q333 451 308 466Q287 478 260 478Q223 478 199 449Q182 428 157 428Q135 428 117 445T99 485Q99 505 114 521Q171 590 260 590Q334 590 388 546Q445 499 445 427Q445 353 396 330Q439 320 464 270Q484 230 484 188Z" />
-  <glyph unicode="4" glyph-name="four" horiz-adv-x="555" 
-    d="M522 180Q522 158 507 142T466 125H450V53Q450 27 433 12T394 -3Q371 -3 355 12T338 53V125H30L450 581V236H466Q492 236 507 220T522 180ZM338 236V306L276 236H338Z" />
-  <glyph unicode="5" glyph-name="five" horiz-adv-x="514" 
-    d="M487 228Q487 93 393 31Q329 -11 245 -11Q153 -11 81 19Q46 34 46 69Q46 92 62 110T101 128Q113 128 125 122Q176 101 245 101Q294 101 330 129Q375 163 375 225Q375 303 267 303H57Q69 394 69 442Q69 514 74 581H400Q426 581 441 565T456 525Q456 502 441 486T400 469H178Q176 448 172 415H269Q371 415 427 370Q487 322 487 228Z" />
-  <glyph unicode="6" glyph-name="six" horiz-adv-x="498" 
-    d="M474 203Q474 103 410 47Q350 -7 247 -7Q144 -7 86 62Q33 126 33 230Q33 355 107 462Q191 582 311 582Q336 582 351 565T366 525Q366 476 316 471Q247 462 200 401H276Q363 401 418 346T474 203ZM362 203Q362 289 276 289H149Q145 266 145 230Q145 176 172 141T247 105Q295 105 325 126Q362 152 362 203Z" />
-  <glyph unicode="7" glyph-name="seven" horiz-adv-x="498" 
-    d="M491 581Q388 486 315 318Q248 163 248 52Q248 -1 196 -1Q172 -1 154 14T136 58Q136 134 175 259Q219 403 277 469H81Q55 469 40 485T25 525Q25 548 39 564T81 581H491Z" />
-  <glyph unicode="8" glyph-name="eight" horiz-adv-x="508" 
-    d="M484 188Q484 95 418 43Q357 -4 261 -4Q166 -4 105 44Q37 96 37 188Q37 229 56 268T108 327Q79 353 79 428Q79 496 136 544Q190 590 260 590Q330 590 386 544Q445 495 445 427Q445 358 417 330Q447 316 467 268Q484 226 484 188ZM333 427Q333 450 312 462T263 475Q234 475 214 463Q191 450 191 428Q191 393 214 373Q234 354 263 355Q291 355 312 374T333 427ZM373 188Q373 224 332 243Q301 257 261 257Q215 257 184 240Q149 221 149 188Q149 149 185 126Q217 105 263 105Q308 106 338 126Q373 149 373 188Z" />
-  <glyph unicode="9" glyph-name="nine" horiz-adv-x="491" 
-    d="M465 348Q465 224 390 116Q307 -4 187 -4Q161 -4 147 13T132 53Q132 102 182 108Q251 116 298 177H222Q134 177 79 232T24 375Q24 476 86 531T251 586Q354 586 411 517Q465 452 465 348ZM353 348Q353 402 326 438T251 474Q203 474 172 452Q136 427 136 375Q136 289 222 289H348Q353 313 353 348Z" />
-  <glyph unicode=":" glyph-name="colon" horiz-adv-x="220" 
-    d="M190 335Q190 310 173 293T130 275Q105 275 88 292T70 335Q70 360 87 377T130 395Q155 395 172 378T190 335ZM190 55Q190 30 173 13T130 -5Q105 -5 88 12T70 55Q70 80 87 97T130 115Q155 115 172 98T190 55Z" />
-  <glyph unicode="B" glyph-name="B" horiz-adv-x="549" 
-    d="M526 188Q526 93 464 44Q406 -1 306 -1H43V581H298Q367 581 419 538Q476 490 476 415Q476 363 445 323Q526 274 526 188ZM365 415Q365 437 347 453T298 469H155V353H298Q323 353 344 371T365 415ZM415 188Q415 205 395 222Q364 248 298 248H155V111H305Q358 111 383 124Q415 142 415 188Z" />
-  <glyph unicode="G" glyph-name="G" horiz-adv-x="612" 
-    d="M597 230Q597 132 514 63T322 -7Q195 -7 111 78T27 290Q27 427 106 511T322 595Q458 595 541 504Q557 487 557 467Q557 444 540 427T499 410Q476 410 459 429Q409 483 322 483Q232 483 186 432T139 290Q139 209 190 157T322 105Q380 105 425 135Q465 162 479 201H354Q328 201 313 217T298 257Q298 280 313 296T354 313H597V230Z" />
-  <glyph unicode="S" glyph-name="S" horiz-adv-x="519" 
-    d="M506 186Q506 127 464 76T365 6Q322 -7 267 -7Q175 -7 87 28Q52 42 52 78Q52 101 67 118T106 136Q117 136 129 132Q196 105 267 105Q307 105 334 114Q356 121 371 139T387 176Q387 193 374 207Q345 242 259 254Q44 284 44 424Q44 509 125 552Q190 585 283 585Q376 585 436 556Q468 540 468 507Q468 485 453 467T414 449Q401 449 387 455Q351 473 281 473V473Q156 473 156 424Q156 390 255 366Q321 351 387 336Q437 317 466 286Q506 242 506 186Z" />
-  <glyph unicode="V" glyph-name="V" horiz-adv-x="571" 
-    d="M556 540Q556 530 553 520L391 58Q369 -6 291 -6Q213 -6 191 58L32 520Q28 530 28 540Q28 564 46 579T86 595Q124 595 137 557L242 260Q278 158 292 93Q314 178 342 257L447 557Q460 595 498 595Q521 595 538 580T556 540Z" />
-  <glyph unicode="_" glyph-name="underscore" horiz-adv-x="616" 
-    d="M616 -59Q616 -82 602 -97Q587 -115 560 -115H101Q75 -115 60 -97Q46 -82 46 -59Q46 -36 60 -20T101 -3H560Q587 -3 601 -19T616 -59Z" />
-  <glyph unicode="a" glyph-name="a" horiz-adv-x="500" 
-    d="M464 -2H212Q134 -2 88 41T41 164Q41 250 102 294Q154 333 240 333Q267 333 301 316Q340 297 352 269Q354 277 354 288Q354 348 293 363Q288 364 250 367Q225 370 210 380Q188 396 187 427Q187 479 259 479Q345 479 401 437Q464 390 464 307V-2ZM352 110V154Q352 189 312 209Q279 226 240 226Q153 226 153 164Q153 110 226 110H227H352Z" />
-  <glyph unicode="b" glyph-name="b" horiz-adv-x="456" 
-    d="M437 221Q437 123 379 62Q320 -2 223 -2Q197 -2 171 6T138 35Q130 0 93 0Q71 0 55 14T38 56V509Q38 536 54 550T94 565Q116 565 132 550T149 509V423Q166 467 232 467Q317 467 374 400Q437 324 437 221ZM326 218Q326 283 288 327Q267 353 219 353Q149 353 149 295V180Q149 148 182 127Q206 110 223 110Q272 110 299 139T326 218Z" />
-  <glyph unicode="c" glyph-name="c" horiz-adv-x="432" 
-    d="M430 76Q430 49 405 31Q347 -9 267 -9Q160 -9 97 56T33 230Q33 331 99 400T267 469Q333 469 388 437Q417 420 417 390Q417 368 401 350T361 332Q346 332 332 340Q303 357 267 357Q213 357 179 322T145 230Q145 103 267 103Q312 103 342 124Q357 135 374 135Q397 135 413 117T430 76Z" />
-  <glyph unicode="e" glyph-name="e" horiz-adv-x="512" 
-    d="M491 155H165Q195 104 271 104Q299 104 317 85Q332 69 332 46Q332 23 317 8T271 -8Q166 -8 101 56T36 228Q36 341 99 407T273 473Q379 473 438 394Q491 323 491 213V155ZM373 267Q364 309 345 331Q319 361 273 361Q168 361 151 267H152H373Z" />
-  <glyph unicode="g" glyph-name="g" horiz-adv-x="479" 
-    d="M439 111Q439 10 390 -72Q333 -170 238 -170Q213 -170 198 -153T183 -113Q183 -67 230 -59Q257 -54 277 -37Q291 -24 298 -16Q309 -1 312 15Q287 1 253 1Q39 1 39 240Q39 333 100 396T255 460H327Q366 460 402 432T439 367V111ZM327 141V314Q327 330 300 340Q279 349 255 349Q209 349 180 318T151 240Q151 173 169 146Q192 113 253 113Q299 113 327 141Z" />
-  <glyph unicode="h" glyph-name="h" horiz-adv-x="464" 
-    d="M431 284V55Q431 28 414 14T375 -1Q352 -1 336 13T319 55V284Q319 313 298 328T247 344Q214 344 189 327T163 281V55Q163 28 146 14T107 -1Q84 -1 68 13T51 55V525Q51 552 67 566T107 581Q129 581 146 567T163 525V407Q192 455 249 455Q323 455 374 412Q431 364 431 284Z" />
-  <glyph unicode="i" glyph-name="i" horiz-adv-x="201" 
-    d="M164 551Q164 527 148 511T108 494Q85 494 69 510T52 551Q52 574 68 590T108 607Q131 607 147 591T164 551ZM164 55Q164 28 148 14T108 -1Q85 -1 70 13Q52 28 52 55V404Q52 431 70 446Q85 460 108 460Q131 460 147 446T164 404V55Z" />
-  <glyph unicode="k" glyph-name="k" horiz-adv-x="470" 
-    d="M456 54Q456 31 438 15T397 -2Q368 -2 351 25L224 233Q200 208 148 160V55Q148 28 131 14T92 -1Q69 -1 53 13T36 55V527Q36 553 52 568T92 583Q114 583 131 568T148 527V299Q166 332 194 360L263 429Q281 446 302 446Q325 446 342 429T360 388Q360 366 342 349Q315 323 308 311L447 84Q456 69 456 54Z" />
-  <glyph unicode="l" glyph-name="l" horiz-adv-x="200" 
-    d="M164 55Q164 28 148 14T108 -1Q85 -1 70 13Q52 28 52 55V526Q52 552 70 568Q85 582 108 582Q131 582 147 567T164 526V55Z" />
-  <glyph unicode="m" glyph-name="m" horiz-adv-x="836" 
-    d="M800 55Q800 28 784 14T744 -1Q722 -1 705 13T688 55V294Q688 355 625 355H486V55Q486 28 469 14T430 -1Q407 -1 391 13T374 55V294Q374 355 310 355H171V55Q171 28 155 14T115 -1Q92 -1 77 13Q59 28 59 55V468H625Q702 468 751 420T800 294V55Z" />
-  <glyph unicode="o" glyph-name="o" horiz-adv-x="528" 
-    d="M498 230Q498 125 434 58T264 -9Q155 -9 92 59Q31 124 31 230Q31 331 96 400T264 469Q367 469 432 401T498 230ZM386 230Q386 287 353 322T264 357Q211 357 177 322T143 230Q143 103 264 103Q323 103 354 137T386 230Z" />
-  <glyph unicode="p" glyph-name="p" horiz-adv-x="457" 
-    d="M436 244Q436 144 383 75Q326 -1 229 -1Q209 -1 187 9Q159 20 150 40V-98Q150 -124 134 -139T94 -154Q71 -154 56 -140Q38 -124 38 -98V413Q38 439 56 455Q71 469 94 469Q128 469 137 430Q167 468 218 468Q314 468 375 404T436 244ZM324 244Q324 306 289 334Q262 356 218 356Q150 356 150 290V175Q150 111 229 111Q285 111 308 160Q324 193 324 244Z" />
-  <glyph unicode="q" glyph-name="q" horiz-adv-x="490" 
-    d="M446 -98Q446 -124 430 -139T390 -154Q367 -154 351 -139T334 -98V40Q305 -1 255 -1Q166 -1 109 65Q48 133 48 244Q48 340 109 404T266 468Q306 468 347 430Q352 446 366 457T395 469Q417 469 431 452T446 413V-98ZM334 180V290Q334 356 266 356Q217 356 189 325T160 244Q160 191 181 155Q206 111 255 111Q282 111 306 130Q334 151 334 180Z" />
-  <glyph unicode="r" glyph-name="r" horiz-adv-x="374" 
-    d="M364 413Q364 390 352 375Q338 357 315 357Q310 357 300 358T285 360Q239 360 202 331Q163 299 163 254V55Q163 28 147 14T107 -1Q84 -1 69 13Q51 28 51 55V406Q51 430 68 446T109 462Q131 462 146 443T162 389V389Q162 388 162 387Q179 441 232 460Q265 472 292 472Q306 472 319 469Q364 458 364 413Z" />
-  <glyph unicode="s" glyph-name="s" horiz-adv-x="473" 
-    d="M445 153Q445 67 375 26Q319 -6 227 -6Q173 -6 98 21Q60 35 60 72Q60 95 75 112T114 130Q125 130 136 126Q193 106 227 106Q288 106 316 125Q332 136 332 147Q332 168 265 180T193 193Q150 202 125 213Q51 247 51 320Q51 398 121 441Q180 478 263 478Q333 478 387 453Q421 438 421 404Q421 381 405 363T366 345Q354 345 341 351Q309 366 263 366Q261 366 254 366T241 366Q205 366 185 357T165 334Q165 319 186 311Q204 304 277 289Q347 275 375 263Q445 233 445 153Z"/>
-  <glyph unicode="t" glyph-name="t" horiz-adv-x="350" 
-    d="M339 52Q339 -8 233 -8Q90 -8 90 148V350Q66 350 53 366T40 405Q40 417 65 433T90 462V507Q90 533 106 548T146 563Q168 563 185 548T202 507V462H281Q308 462 322 446T337 406Q337 383 323 367T281 350H202V137Q202 117 207 111T233 104Q241 104 257 106T282 109Q305 109 322 92T339 52Z" />
-  <glyph unicode="u" glyph-name="u" horiz-adv-x="517" 
-    d="M474 0H223Q145 0 96 47T47 173V412Q47 438 64 453T103 468Q126 468 142 453T159 412V173Q159 112 223 112H362V412Q362 438 380 454Q395 468 418 468Q441 468 457 453T474 412V0Z" />
-  <glyph unicode="w" glyph-name="w" horiz-adv-x="802" 
-    d="M777 408Q777 398 773 387L668 93Q631 -9 553 -9Q517 -9 487 17T442 93Q431 129 400 255Q381 184 379 175T351 93Q316 -8 237 -9Q201 -9 172 17Q140 44 125 93L33 388Q30 398 30 407Q30 431 47 447T88 463Q126 463 139 424L200 239Q207 220 243 92Q253 132 288 244L347 415Q364 465 403 465Q442 465 460 412L519 234Q528 210 560 92Q568 125 601 231L668 425Q681 462 718 462Q741 462 759 447T777 408Z" />
-  <glyph unicode="x" glyph-name="x" horiz-adv-x="432" 
-    d="M402 54Q402 32 384 15T342 -2Q314 -2 298 23L222 142L146 23Q130 -2 103 -2Q80 -2 61 15T42 54Q42 71 54 87L164 230L54 374Q42 389 42 406Q42 429 61 446T103 463Q130 463 146 438L222 318L298 438Q314 463 342 463Q365 463 383 446T402 406Q402 389 390 374L280 230L390 87Q402 71 402 54Z" />
-  <hkern g1="V" g2="c" k="57" />
-  <hkern g1="V" g2="e" k="57" />
-  <hkern g1="V" g2="o" k="57" />
-  <hkern g1="V" g2="r" k="47" />
-  <hkern g1="V" g2="u" k="47" />
-  <hkern g1="e" g2="t" k="19" />
-  <hkern g1="f" g2="a" k="94" />
-  <hkern g1="f" g2="c" k="94" />
-  <hkern g1="f" g2="e" k="94" />
-  <hkern g1="f" g2="o" k="94" />
-  <hkern g1="r" g2="a" k="85" />
-  <hkern g1="r" g2="c" k="19" />
-  <hkern g1="r" g2="e" k="19" />
-  <hkern g1="r" g2="g" k="47" />
-  <hkern g1="r" g2="o" k="28" />
-  <hkern g1="w" g2="a" k="38" />
-  <hkern g1="w" g2="c" k="38" />
-  <hkern g1="w" g2="e" k="38" />
-  <hkern g1="w" g2="g" k="38" />
-  <hkern g1="w" g2="o" k="38" />
-</font>
-</svg>
-
-    </xsl:template>
-</xsl:stylesheet>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggleIcon.png
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggleIcon.png b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggleIcon.png
deleted file mode 100644
index 196d4c1..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/squiggleIcon.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/stop.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/stop.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/stop.gif
deleted file mode 100644
index d8a5477..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/stop.gif and /dev/null differ


[27/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/WallclockTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/WallclockTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/WallclockTimingSpecifier.java
new file mode 100644
index 0000000..be5853b
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/WallclockTimingSpecifier.java
@@ -0,0 +1,74 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.Calendar;
+
+/**
+ * A class to handle wallclock SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: WallclockTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class WallclockTimingSpecifier extends TimingSpecifier {
+
+    /**
+     * The wallclock time.
+     */
+    protected Calendar time;
+
+    /**
+     * The instance time.
+     */
+    protected InstanceTime instance;
+
+    /**
+     * Creates a new WallclockTimingSpecifier object.
+     */
+    public WallclockTimingSpecifier(TimedElement owner, boolean isBegin,
+                                    Calendar time) {
+        super(owner, isBegin);
+        this.time = time;
+    }
+    
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return "wallclock(" + time.toString() + ")";
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+        float t = owner.getRoot().convertWallclockTime(time);
+        instance = new InstanceTime(this, t, false);
+        owner.addInstanceTime(instance, isBegin);
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleOrIdentValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleOrIdentValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleOrIdentValue.java
new file mode 100644
index 0000000..1b2f4e0
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleOrIdentValue.java
@@ -0,0 +1,179 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+import org.w3c.dom.svg.SVGAngle;
+
+/**
+ * An SVG angle-or-identifier value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableAngleOrIdentValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableAngleOrIdentValue extends AnimatableAngleValue {
+
+    /**
+     * Whether this value is an identifier.
+     */
+    protected boolean isIdent;
+    
+    /**
+     * The identifier.
+     */
+    protected String ident;
+    
+    /**
+     * Creates a new, uninitialized AnimatableAngleOrIdentValue.
+     */
+    protected AnimatableAngleOrIdentValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableAngleOrIdentValue for an angle value.
+     */
+    public AnimatableAngleOrIdentValue(AnimationTarget target, float v, short unit) {
+        super(target, v, unit);
+    }
+
+    /**
+     * Creates a new AnimatableAngleOrIdentValue for an identifier value.
+     */
+    public AnimatableAngleOrIdentValue(AnimationTarget target, String ident) {
+        super(target);
+        this.ident = ident;
+        this.isIdent = true;
+    }
+
+    /**
+     * Returns whether the value is an identifier.
+     */
+    public boolean isIdent() {
+        return isIdent;
+    }
+
+    /**
+     * Returns the identifiers.
+     */
+    public String getIdent() {
+        return ident;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableAngleOrIdentValue
+            (target, 0, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        if (isIdent) {
+            return ident;
+        }
+        return super.getCssText();
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableAngleOrIdentValue res;
+        if (result == null) {
+            res = new AnimatableAngleOrIdentValue(target);
+        } else {
+            res = (AnimatableAngleOrIdentValue) result;
+        }
+
+        if (to == null) {
+            if (isIdent) {
+                res.hasChanged = !res.isIdent || !res.ident.equals(ident);
+                res.ident = ident;
+                res.isIdent = true;
+            } else {
+                short oldUnit = res.unit;
+                float oldValue = res.value;
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+                if (res.unit != oldUnit || res.value != oldValue) {
+                    res.hasChanged = true;
+                }
+            }
+        } else {
+            AnimatableAngleOrIdentValue toValue
+                = (AnimatableAngleOrIdentValue) to;
+            if (isIdent || toValue.isIdent) {
+                if (interpolation >= 0.5) {
+                    if (res.isIdent != toValue.isIdent
+                            || res.unit != toValue.unit
+                            || res.value != toValue.value
+                            || res.isIdent && toValue.isIdent
+                                && !toValue.ident.equals(ident)) {
+                        res.isIdent = toValue.isIdent;
+                        res.ident = toValue.ident;
+                        res.unit = toValue.unit;
+                        res.value = toValue.value;
+                        res.hasChanged = true;
+                    }
+                } else {
+                    if (res.isIdent != isIdent
+                            || res.unit != unit
+                            || res.value != value
+                            || res.isIdent && isIdent
+                                && !res.ident.equals(ident)) {
+                        res.isIdent = isIdent;
+                        res.ident = ident;
+                        res.unit = unit;
+                        res.value = value;
+                        res.hasChanged = true;
+                    }
+                }
+            } else {
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+            }
+        }
+
+        return res;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleValue.java
new file mode 100644
index 0000000..f81d031
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableAngleValue.java
@@ -0,0 +1,149 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+import org.w3c.dom.svg.SVGAngle;
+
+/**
+ * An SVG angle value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableAngleValue.java 532986 2007-04-27 06:30:58Z cam $
+ */
+public class AnimatableAngleValue extends AnimatableNumberValue {
+
+    /**
+     * The unit string representations.
+     */
+    protected static final String[] UNITS = {
+        "", "", "deg", "rad", "grad"
+    };
+
+    /**
+     * The angle unit.
+     */
+    protected short unit;
+
+    /**
+     * Creates a new, uninitialized AnimatableAngleValue.
+     */
+    public AnimatableAngleValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableAngleValue.
+     */
+    public AnimatableAngleValue(AnimationTarget target, float v, short unit) {
+        super(target, v);
+        this.unit = unit;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableAngleValue res;
+        if (result == null) {
+            res = new AnimatableAngleValue(target);
+        } else {
+            res = (AnimatableAngleValue) result;
+        }
+
+        float v = value;
+        short u = unit;
+        if (to != null) {
+            AnimatableAngleValue toAngle = (AnimatableAngleValue) to;
+            if (toAngle.unit != u) {
+                v = rad(v, u);
+                v += interpolation * (rad(toAngle.value, toAngle.unit) - v);
+                u = SVGAngle.SVG_ANGLETYPE_RAD;
+            } else {
+                v += interpolation * (toAngle.value - v);
+            }
+        }
+        if (accumulation != null) {
+            AnimatableAngleValue accAngle = (AnimatableAngleValue) accumulation;
+            if (accAngle.unit != u) {
+                v += multiplier * rad(accAngle.value, accAngle.unit);
+                u = SVGAngle.SVG_ANGLETYPE_RAD;
+            } else {
+                v += multiplier * accAngle.value;
+            }
+        }
+
+        if (res.value != v || res.unit != u) {
+            res.value = v;
+            res.unit = u;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the angle unit.
+     */
+    public short getUnit() {
+        return unit;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableAngleValue o = (AnimatableAngleValue) other;
+        return Math.abs(rad(value, unit) - rad(o.value, o.unit));
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableAngleValue
+            (target, 0, SVGAngle.SVG_ANGLETYPE_UNSPECIFIED);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return super.getCssText() + UNITS[unit];
+    }
+
+    /**
+     * Converts an angle value to radians.
+     */
+    public static float rad(float v, short unit) {
+        switch (unit) {
+            case SVGAngle.SVG_ANGLETYPE_RAD:
+                return v;
+            case SVGAngle.SVG_ANGLETYPE_GRAD:
+                return (float) Math.PI * v / 200;
+            default:
+                return (float) Math.PI * v / 180;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableBooleanValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableBooleanValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableBooleanValue.java
new file mode 100644
index 0000000..c6aad51
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableBooleanValue.java
@@ -0,0 +1,117 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A boolean value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableBooleanValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableBooleanValue extends AnimatableValue {
+
+    /**
+     * The boolean value.
+     */
+    protected boolean value;
+    
+    /**
+     * Creates a new, uninitialized AnimatableBooleanValue.
+     */
+    protected AnimatableBooleanValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableBooleanValue.
+     */
+    public AnimatableBooleanValue(AnimationTarget target, boolean b) {
+        super(target);
+        value = b;
+    }
+    
+    /**
+     * Performs interpolation to the given value.  Boolean values cannot be
+     * interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableBooleanValue res;
+        if (result == null) {
+            res = new AnimatableBooleanValue(target);
+        } else {
+            res = (AnimatableBooleanValue) result;
+        }
+
+        boolean newValue;
+        if (to != null && interpolation >= 0.5) {
+            AnimatableBooleanValue toValue = (AnimatableBooleanValue) to;
+            newValue = toValue.value;
+        } else {
+            newValue = value;
+        }
+
+        if (res.value != newValue) {
+            res.value = newValue;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the boolean value.
+     */
+    public boolean getValue() {
+        return value;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableBooleanValue(target, false);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return (value)?"true":"false";
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableColorValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableColorValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableColorValue.java
new file mode 100644
index 0000000..83b1585
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableColorValue.java
@@ -0,0 +1,145 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An SVG color value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableColorValue.java 501495 2007-01-30 18:00:36Z dvholten $
+ */
+public class AnimatableColorValue extends AnimatableValue {
+
+    /**
+     * The red component.
+     */
+    protected float red;
+
+    /**
+     * The green component.
+     */
+    protected float green;
+
+    /**
+     * The blue component.
+     */
+    protected float blue;
+
+    /**
+     * Creates a new AnimatableColorValue.
+     */
+    protected AnimatableColorValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableColorValue.
+     */
+    public AnimatableColorValue(AnimationTarget target,
+                                float r, float g, float b) {
+        super(target);
+        red = r;
+        green = g;
+        blue = b;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableColorValue res;
+        if (result == null) {
+            res = new AnimatableColorValue(target);
+        } else {
+            res = (AnimatableColorValue) result;
+        }
+
+        float oldRed = res.red;
+        float oldGreen = res.green;
+        float oldBlue = res.blue;
+
+        res.red = red;
+        res.green = green;
+        res.blue = blue;
+
+        AnimatableColorValue toColor = (AnimatableColorValue) to;
+        AnimatableColorValue accColor = (AnimatableColorValue) accumulation;
+
+        // XXX Should handle non-sRGB colours and non-sRGB interpolation.
+
+        if (to != null) {
+            res.red += interpolation * (toColor.red - res.red);
+            res.green += interpolation * (toColor.green - res.green);
+            res.blue += interpolation * (toColor.blue - res.blue);
+        }
+
+        if (accumulation != null) {
+            res.red += multiplier * accColor.red;
+            res.green += multiplier * accColor.green;
+            res.blue += multiplier * accColor.blue;
+        }
+
+        if (res.red != oldRed || res.green != oldGreen || res.blue != oldBlue) {
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableColorValue o = (AnimatableColorValue) other;
+        float dr = red - o.red;
+        float dg = green - o.green;
+        float db = blue - o.blue;
+        return (float) Math.sqrt(dr * dr + dg * dg + db * db);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableColorValue(target, 0f, 0f, 0f);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return "rgb(" + Math.round(red * 255) + ','
+                + Math.round(green * 255) + ','
+                + Math.round(blue * 255) + ')';
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableIntegerValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableIntegerValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableIntegerValue.java
new file mode 100644
index 0000000..720da6b
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableIntegerValue.java
@@ -0,0 +1,121 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An integer in the animation engine.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableIntegerValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableIntegerValue extends AnimatableValue {
+
+    /**
+     * The value.
+     */
+    protected int value;
+
+    /**
+     * Creates a new, uninitialized AnimatableIntegerValue.
+     */
+    protected AnimatableIntegerValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableIntegerValue.
+     */
+    public AnimatableIntegerValue(AnimationTarget target, int v) {
+        super(target);
+        value = v;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableIntegerValue res;
+        if (result == null) {
+            res = new AnimatableIntegerValue(target);
+        } else {
+            res = (AnimatableIntegerValue) result;
+        }
+
+        int v = value;
+        if (to != null) {
+            AnimatableIntegerValue toInteger = (AnimatableIntegerValue) to;
+            v += value + interpolation * (toInteger.getValue() - value);
+        }
+        if (accumulation != null) {
+            AnimatableIntegerValue accInteger =
+                (AnimatableIntegerValue) accumulation;
+            v += multiplier * accInteger.getValue();
+        }
+        
+        if (res.value != v) {
+            res.value = v;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the integer value.
+     */
+    public int getValue() {
+        return value;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableIntegerValue o = (AnimatableIntegerValue) other;
+        return Math.abs(value - o.value);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableIntegerValue(target, 0);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return Integer.toString(value);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthListValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthListValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthListValue.java
new file mode 100644
index 0000000..21b4aed
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthListValue.java
@@ -0,0 +1,224 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+import org.w3c.dom.svg.SVGLength;
+
+/**
+ * An SVG length list value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableLengthListValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableLengthListValue extends AnimatableValue {
+
+    /**
+     * The length types.
+     */
+    protected short[] lengthTypes;
+
+    /**
+     * The length values.  These should be one of the constants defined in
+     * {@link SVGLength}.
+     */
+    protected float[] lengthValues;
+
+    /**
+     * How to interpret percentage values.  These should be one of the
+     * {@link AnimationTarget}.PERCENTAGE_* constants.
+     */
+    protected short percentageInterpretation;
+    
+    /**
+     * Creates a new, uninitialized AnimatableLengthListValue.
+     */
+    protected AnimatableLengthListValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableLengthListValue.
+     */
+    public AnimatableLengthListValue(AnimationTarget target, short[] types,
+                                     float[] values, short pcInterp) {
+        super(target);
+        this.lengthTypes = types;
+        this.lengthValues = values;
+        this.percentageInterpretation = pcInterp;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableLengthListValue toLengthList = (AnimatableLengthListValue) to;
+        AnimatableLengthListValue accLengthList
+            = (AnimatableLengthListValue) accumulation;
+
+        boolean hasTo = to != null;
+        boolean hasAcc = accumulation != null;
+        boolean canInterpolate =
+            !(hasTo && toLengthList.lengthTypes.length != lengthTypes.length)
+                && !(hasAcc && accLengthList.lengthTypes.length != lengthTypes.length);
+
+        short[] baseLengthTypes;
+        float[] baseLengthValues;
+        if (!canInterpolate && hasTo && interpolation >= 0.5) {
+            baseLengthTypes = toLengthList.lengthTypes;
+            baseLengthValues = toLengthList.lengthValues;
+        } else {
+            baseLengthTypes = lengthTypes;
+            baseLengthValues = lengthValues;
+        }
+        int len = baseLengthTypes.length;
+
+        AnimatableLengthListValue res;
+        if (result == null) {
+            res = new AnimatableLengthListValue(target);
+            res.lengthTypes = new short[len];
+            res.lengthValues = new float[len];
+        } else {
+            res = (AnimatableLengthListValue) result;
+            if (res.lengthTypes == null || res.lengthTypes.length != len) {
+                res.lengthTypes = new short[len];
+                res.lengthValues = new float[len];
+            }
+        }
+
+        res.hasChanged =
+            percentageInterpretation != res.percentageInterpretation;
+        res.percentageInterpretation = percentageInterpretation;
+
+        for (int i = 0; i < len; i++) {
+            float toV = 0, accV = 0;
+            short newLengthType = baseLengthTypes[i];
+            float newLengthValue = baseLengthValues[i];
+            if (canInterpolate) {
+                if (hasTo && !AnimatableLengthValue.compatibleTypes
+                        (newLengthType,
+                         percentageInterpretation,
+                         toLengthList.lengthTypes[i],
+                         toLengthList.percentageInterpretation)
+                    || hasAcc && !AnimatableLengthValue.compatibleTypes
+                        (newLengthType,
+                         percentageInterpretation,
+                         accLengthList.lengthTypes[i],
+                         accLengthList.percentageInterpretation)) {
+                    newLengthValue = target.svgToUserSpace
+                        (newLengthValue, newLengthType,
+                         percentageInterpretation);
+                    newLengthType = SVGLength.SVG_LENGTHTYPE_NUMBER;
+                    if (hasTo) {
+                        toV = to.target.svgToUserSpace
+                            (toLengthList.lengthValues[i],
+                             toLengthList.lengthTypes[i],
+                             toLengthList.percentageInterpretation);
+                    }
+                    if (hasAcc) {
+                        accV = accumulation.target.svgToUserSpace
+                            (accLengthList.lengthValues[i],
+                             accLengthList.lengthTypes[i],
+                             accLengthList.percentageInterpretation);
+                    }
+                } else {
+                    if (hasTo) {
+                        toV = toLengthList.lengthValues[i];
+                    }
+                    if (hasAcc) {
+                        accV = accLengthList.lengthValues[i];
+                    }
+                }
+                newLengthValue +=
+                    interpolation * (toV - newLengthValue)
+                        + multiplier * accV;
+            }
+            if (!res.hasChanged) {
+                res.hasChanged = newLengthType != res.lengthTypes[i]
+                    || newLengthValue != res.lengthValues[i];
+            }
+            res.lengthTypes[i] = newLengthType;
+            res.lengthValues[i] = newLengthValue;
+        }
+
+        return res;
+    }
+
+    /**
+     * Gets the length types.
+     */
+    public short[] getLengthTypes() {
+        return lengthTypes;
+    }
+
+    /**
+     * Gets the length values.
+     */
+    public float[] getLengthValues() {
+        return lengthValues;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        float[] vs = new float[lengthValues.length];
+        return new AnimatableLengthListValue
+            (target, lengthTypes, vs, percentageInterpretation);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     * Length lists can never be used for CSS properties.
+     */
+    public String getCssText() {
+        StringBuffer sb = new StringBuffer();
+        if (lengthValues.length > 0) {
+            sb.append(formatNumber(lengthValues[0]));
+            sb.append(AnimatableLengthValue.UNITS[lengthTypes[0] - 1]);
+        }
+        for (int i = 1; i < lengthValues.length; i++) {
+            sb.append(',');
+            sb.append(formatNumber(lengthValues[i]));
+            sb.append(AnimatableLengthValue.UNITS[lengthTypes[i] - 1]);
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthOrIdentValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthOrIdentValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthOrIdentValue.java
new file mode 100644
index 0000000..5ce36f9
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthOrIdentValue.java
@@ -0,0 +1,185 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+import org.w3c.dom.svg.SVGLength;
+
+/**
+ * An SVG length-or-identifier value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableLengthOrIdentValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableLengthOrIdentValue extends AnimatableLengthValue {
+
+    /**
+     * Whether this value is an identifier.
+     */
+    protected boolean isIdent;
+    
+    /**
+     * The identifier.
+     */
+    protected String ident;
+    
+    /**
+     * Creates a new, uninitialized AnimatableLengthOrIdentValue.
+     */
+    protected AnimatableLengthOrIdentValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableLengthOrIdentValue for a length value.
+     */
+    public AnimatableLengthOrIdentValue(AnimationTarget target, short type,
+                                        float v, short pcInterp) {
+        super(target, type, v, pcInterp);
+    }
+
+    /**
+     * Creates a new AnimatableLengthOrIdentValue for an identifier value.
+     */
+    public AnimatableLengthOrIdentValue(AnimationTarget target, String ident) {
+        super(target);
+        this.ident = ident;
+        this.isIdent = true;
+    }
+
+    /**
+     * Returns whether this value is an identifier or a length.
+     */
+    public boolean isIdent() {
+        return isIdent;
+    }
+
+    /**
+     * Returns the identifier.
+     */
+    public String getIdent() {
+        return ident;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableLengthOrIdentValue
+            (target, SVGLength.SVG_LENGTHTYPE_NUMBER, 0f,
+             percentageInterpretation);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        if (isIdent) {
+            return ident;
+        }
+        return super.getCssText();
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableLengthOrIdentValue res;
+        if (result == null) {
+            res = new AnimatableLengthOrIdentValue(target);
+        } else {
+            res = (AnimatableLengthOrIdentValue) result;
+        }
+        
+        if (to == null) {
+            if (isIdent) {
+                res.hasChanged = !res.isIdent || !res.ident.equals(ident);
+                res.ident = ident;
+                res.isIdent = true;
+            } else {
+                short oldLengthType = res.lengthType;
+                float oldLengthValue = res.lengthValue;
+                short oldPercentageInterpretation = res.percentageInterpretation;
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+                if (res.lengthType != oldLengthType
+                        || res.lengthValue != oldLengthValue
+                        || res.percentageInterpretation
+                            != oldPercentageInterpretation) {
+                    res.hasChanged = true;
+                }
+            }
+        } else {
+            AnimatableLengthOrIdentValue toValue
+                = (AnimatableLengthOrIdentValue) to;
+            if (isIdent || toValue.isIdent) {
+                if (interpolation >= 0.5) {
+                    if (res.isIdent != toValue.isIdent
+                            || res.lengthType != toValue.lengthType
+                            || res.lengthValue != toValue.lengthValue
+                            || res.isIdent && toValue.isIdent
+                                && !toValue.ident.equals(ident)) {
+                        res.isIdent = toValue.isIdent;
+                        res.ident = toValue.ident;
+                        res.lengthType = toValue.lengthType;
+                        res.lengthValue = toValue.lengthValue;
+                        res.hasChanged = true;
+                    }
+                } else {
+                    if (res.isIdent != isIdent
+                            || res.lengthType != lengthType
+                            || res.lengthValue != lengthValue
+                            || res.isIdent && isIdent
+                                && !res.ident.equals(ident)) {
+                        res.isIdent = isIdent;
+                        res.ident = ident;
+                        res.ident = ident;
+                        res.lengthType = lengthType;
+                        res.hasChanged = true;
+                    }
+                }
+            } else {
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+            }
+        }
+
+        return res;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthValue.java
new file mode 100644
index 0000000..3f513a7
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableLengthValue.java
@@ -0,0 +1,214 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+import org.w3c.dom.svg.SVGLength;
+
+/**
+ * An SVG length value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableLengthValue.java 478160 2006-11-22 13:35:06Z dvholten $
+ */
+public class AnimatableLengthValue extends AnimatableValue {
+
+    /**
+     * Length units.
+     */
+    protected static final String[] UNITS = {
+        "", "%", "em", "ex", "px", "cm", "mm", "in", "pt", "pc"
+    };
+
+    /**
+     * The length type.
+     */
+    protected short lengthType;
+
+    /**
+     * The length value.  This should be one of the constants defined in
+     * {@link SVGLength}.
+     */
+    protected float lengthValue;
+
+    /**
+     * How to interpret percentage values.  One of the
+     * {@link AnimationTarget}.PERCENTAGE_* constants.
+     */
+    protected short percentageInterpretation;
+
+    /**
+     * Creates a new AnimatableLengthValue with no length.
+     */
+    protected AnimatableLengthValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableLengthValue.
+     */
+    public AnimatableLengthValue(AnimationTarget target, short type, float v,
+                                 short pcInterp) {
+        super(target);
+        lengthType = type;
+        lengthValue = v;
+        percentageInterpretation = pcInterp;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableLengthValue res;
+        if (result == null) {
+            res = new AnimatableLengthValue(target);
+        } else {
+            res = (AnimatableLengthValue) result;
+        }
+
+        short oldLengthType = res.lengthType;
+        float oldLengthValue = res.lengthValue;
+        short oldPercentageInterpretation = res.percentageInterpretation;
+
+        res.lengthType = lengthType;
+        res.lengthValue = lengthValue;
+        res.percentageInterpretation = percentageInterpretation;
+
+        if (to != null) {
+            AnimatableLengthValue toLength = (AnimatableLengthValue) to;
+            float toValue;
+            if (!compatibleTypes
+                    (res.lengthType, res.percentageInterpretation,
+                     toLength.lengthType, toLength.percentageInterpretation)) {
+                res.lengthValue = target.svgToUserSpace
+                    (res.lengthValue, res.lengthType,
+                     res.percentageInterpretation);
+                res.lengthType = SVGLength.SVG_LENGTHTYPE_NUMBER;
+                toValue = toLength.target.svgToUserSpace
+                    (toLength.lengthValue, toLength.lengthType,
+                     toLength.percentageInterpretation);
+            } else {
+                toValue = toLength.lengthValue;
+            }
+            res.lengthValue += interpolation * (toValue - res.lengthValue);
+        }
+
+        if (accumulation != null) {
+            AnimatableLengthValue accLength = (AnimatableLengthValue) accumulation;
+            float accValue;
+            if (!compatibleTypes
+                    (res.lengthType, res.percentageInterpretation,
+                     accLength.lengthType,
+                     accLength.percentageInterpretation)) {
+                res.lengthValue = target.svgToUserSpace
+                    (res.lengthValue, res.lengthType,
+                     res.percentageInterpretation);
+                res.lengthType = SVGLength.SVG_LENGTHTYPE_NUMBER;
+                accValue = accLength.target.svgToUserSpace
+                    (accLength.lengthValue, accLength.lengthType,
+                     accLength.percentageInterpretation);
+            } else {
+                accValue = accLength.lengthValue;
+            }
+            res.lengthValue += multiplier * accValue;
+        }
+
+        if (oldPercentageInterpretation != res.percentageInterpretation
+                || oldLengthType != res.lengthType
+                || oldLengthValue != res.lengthValue) {
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Determines if two SVG length types are compatible.
+     * @param t1 the first SVG length type
+     * @param pi1 the first percentage interpretation type
+     * @param t2 the second SVG length type
+     * @param pi2 the second percentage interpretation type
+     */
+    public static boolean compatibleTypes(short t1, short pi1, short t2,
+                                          short pi2) {
+        return t1 == t2
+            && (t1 != SVGLength.SVG_LENGTHTYPE_PERCENTAGE || pi1 == pi2)
+            || t1 == SVGLength.SVG_LENGTHTYPE_NUMBER
+                && t2 == SVGLength.SVG_LENGTHTYPE_PX
+            || t1 == SVGLength.SVG_LENGTHTYPE_PX
+                && t2 == SVGLength.SVG_LENGTHTYPE_NUMBER;
+    }
+
+    /**
+     * Returns the unit type of this length value.
+     */
+    public int getLengthType() {
+        return lengthType;
+    }
+
+    /**
+     * Returns the magnitude of this length value.
+     */
+    public float getLengthValue() {
+        return lengthValue;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableLengthValue o = (AnimatableLengthValue) other;
+        float v1 = target.svgToUserSpace(lengthValue, lengthType,
+                                         percentageInterpretation);
+        float v2 = target.svgToUserSpace(o.lengthValue, o.lengthType,
+                                         o.percentageInterpretation);
+        return Math.abs(v1 - v2);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableLengthValue
+            (target, SVGLength.SVG_LENGTHTYPE_NUMBER, 0f,
+             percentageInterpretation);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.  This could use
+     * org.apache.flex.forks.batik.css.engine.value.FloatValue.getCssText, but we don't
+     * want a dependency on the CSS package.
+     */
+    public String getCssText() {
+        return formatNumber(lengthValue) + UNITS[lengthType - 1];
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableMotionPointValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableMotionPointValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableMotionPointValue.java
new file mode 100644
index 0000000..aa0eb75
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableMotionPointValue.java
@@ -0,0 +1,169 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A point value in the animation system from a motion animation.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableMotionPointValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableMotionPointValue extends AnimatableValue {
+
+    /**
+     * The x coordinate.
+     */
+    protected float x;
+
+    /**
+     * The y coordinate.
+     */
+    protected float y;
+
+    /**
+     * The rotation angle in radians.
+     */
+    protected float angle;
+
+    /**
+     * Creates a new, uninitialized AnimatableMotionPointValue.
+     */
+    protected AnimatableMotionPointValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableMotionPointValue with one x.
+     */
+    public AnimatableMotionPointValue(AnimationTarget target, float x, float y,
+                                     float angle) {
+        super(target);
+        this.x = x;
+        this.y = y;
+        this.angle = angle;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableMotionPointValue res;
+        if (result == null) {
+            res = new AnimatableMotionPointValue(target);
+        } else {
+            res = (AnimatableMotionPointValue) result;
+        }
+
+        float newX = x, newY = y, newAngle = angle;
+        int angleCount = 1;
+
+        if (to != null) {
+            AnimatableMotionPointValue toValue =
+                (AnimatableMotionPointValue) to;
+            newX += interpolation * (toValue.x - x);
+            newY += interpolation * (toValue.y - y);
+            newAngle += toValue.angle;
+            angleCount++;
+        }
+        if (accumulation != null && multiplier != 0) {
+            AnimatableMotionPointValue accValue =
+                (AnimatableMotionPointValue) accumulation;
+            newX += multiplier * accValue.x;
+            newY += multiplier * accValue.y;
+            newAngle += accValue.angle;
+            angleCount++;
+        }
+        newAngle /= angleCount;
+
+        if (res.x != newX || res.y != newY || res.angle != newAngle) {
+            res.x = newX;
+            res.y = newY;
+            res.angle = newAngle;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the x coordinate.
+     */
+    public float getX() {
+        return x;
+    }
+
+    /**
+     * Returns the y coordinate.
+     */
+    public float getY() {
+        return y;
+    }
+
+    /**
+     * Returns the rotation angle.
+     */
+    public float getAngle() {
+        return angle;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableMotionPointValue o = (AnimatableMotionPointValue) other;
+        float dx = x - o.x;
+        float dy = y - o.y;
+        return (float) Math.sqrt(dx * dx + dy * dy);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableMotionPointValue(target, 0f, 0f, 0f);
+    }
+
+    /**
+     * Returns a string representation of this object.
+     */
+    public String toStringRep() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(formatNumber(x));
+        sb.append(',');
+        sb.append(formatNumber(y));
+        sb.append(',');
+        sb.append(formatNumber(angle));
+        sb.append("rad");
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberListValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberListValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberListValue.java
new file mode 100644
index 0000000..fc1040c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberListValue.java
@@ -0,0 +1,151 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A number list in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableNumberListValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableNumberListValue extends AnimatableValue {
+
+    /**
+     * The numbers.
+     */
+    protected float[] numbers;
+
+    /**
+     * Creates a new, uninitialized AnimatableNumberListValue.
+     */
+    protected AnimatableNumberListValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableNumberListValue.
+     */
+    public AnimatableNumberListValue(AnimationTarget target, float[] numbers) {
+        super(target);
+        this.numbers = numbers;
+    }
+
+    /**
+     * Performs interpolation to the given value.  Number list values cannot
+     * be interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableNumberListValue toNumList = (AnimatableNumberListValue) to;
+        AnimatableNumberListValue accNumList =
+            (AnimatableNumberListValue) accumulation;
+
+        boolean hasTo = to != null;
+        boolean hasAcc = accumulation != null;
+        boolean canInterpolate =
+            !(hasTo && toNumList.numbers.length != numbers.length)
+                && !(hasAcc && accNumList.numbers.length != numbers.length);
+
+        float[] baseValues;
+        if (!canInterpolate && hasTo && interpolation >= 0.5) {
+            baseValues = toNumList.numbers;
+        } else {
+            baseValues = numbers;
+        }
+        int len = baseValues.length;
+
+        AnimatableNumberListValue res;
+        if (result == null) {
+            res = new AnimatableNumberListValue(target);
+            res.numbers = new float[len];
+        } else {
+            res = (AnimatableNumberListValue) result;
+            if (res.numbers == null || res.numbers.length != len) {
+                res.numbers = new float[len];
+            }
+        }
+
+        for (int i = 0; i < len; i++) {
+            float newValue = baseValues[i];
+            if (canInterpolate) {
+                if (hasTo) {
+                    newValue += interpolation * (toNumList.numbers[i] - newValue);
+                }
+                if (hasAcc) {
+                    newValue += multiplier * accNumList.numbers[i];
+                }
+            }
+            if (res.numbers[i] != newValue) {
+                res.numbers[i] = newValue;
+                res.hasChanged = true;
+            }
+        }
+
+        return res;
+    }
+
+    /**
+     * Gets the numbers.
+     */
+    public float[] getNumbers() {
+        return numbers;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        float[] ns = new float[numbers.length];
+        return new AnimatableNumberListValue(target, ns);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(numbers[0]);
+        for (int i = 1; i < numbers.length; i++) {
+            sb.append(' ');
+            sb.append(numbers[i]);
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOptionalNumberValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOptionalNumberValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOptionalNumberValue.java
new file mode 100644
index 0000000..ad786d9
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOptionalNumberValue.java
@@ -0,0 +1,174 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A number-optional-number value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableNumberOptionalNumberValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableNumberOptionalNumberValue extends AnimatableValue {
+
+    /**
+     * The first number.
+     */
+    protected float number;
+
+    /**
+     * Whether the optional number is present.
+     */
+    protected boolean hasOptionalNumber;
+
+    /**
+     * The optional number.
+     */
+    protected float optionalNumber;
+
+    /**
+     * Creates a new, uninitialized AnimatableNumberOptionalNumberValue.
+     */
+    protected AnimatableNumberOptionalNumberValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableNumberOptionalNumberValue with one number.
+     */
+    public AnimatableNumberOptionalNumberValue(AnimationTarget target,
+                                               float n) {
+        super(target);
+        number = n;
+    }
+
+    /**
+     * Creates a new AnimatableNumberOptionalNumberValue with two numbers.
+     */
+    public AnimatableNumberOptionalNumberValue(AnimationTarget target, float n,
+                                               float on) {
+        super(target);
+        number = n;
+        optionalNumber = on;
+        hasOptionalNumber = true;
+    }
+
+    /**
+     * Performs interpolation to the given value.  Number-optional-number
+     * values cannot be interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableNumberOptionalNumberValue res;
+        if (result == null) {
+            res = new AnimatableNumberOptionalNumberValue(target);
+        } else {
+            res = (AnimatableNumberOptionalNumberValue) result;
+        }
+
+        float newNumber, newOptionalNumber;
+        boolean newHasOptionalNumber;
+
+        if (to != null && interpolation >= 0.5) {
+            AnimatableNumberOptionalNumberValue toValue
+                = (AnimatableNumberOptionalNumberValue) to;
+            newNumber = toValue.number;
+            newOptionalNumber = toValue.optionalNumber;
+            newHasOptionalNumber = toValue.hasOptionalNumber;
+        } else {
+            newNumber = number;
+            newOptionalNumber = optionalNumber;
+            newHasOptionalNumber = hasOptionalNumber;
+        }
+
+        if (res.number != newNumber
+                || res.hasOptionalNumber != newHasOptionalNumber
+                || res.optionalNumber != newOptionalNumber) {
+            res.number = number;
+            res.optionalNumber = optionalNumber;
+            res.hasOptionalNumber = hasOptionalNumber;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the first number.
+     */
+    public float getNumber() {
+        return number;
+    }
+
+    /**
+     * Returns whether the optional number is present.
+     */
+    public boolean hasOptionalNumber() {
+        return hasOptionalNumber;
+    }
+
+    /**
+     * Returns the optional number.
+     */
+    public float getOptionalNumber() {
+        return optionalNumber;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        if (hasOptionalNumber) {
+            return new AnimatableNumberOptionalNumberValue(target, 0f, 0f);
+        }
+        return new AnimatableNumberOptionalNumberValue(target, 0f);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(formatNumber(number));
+        if (hasOptionalNumber) {
+            sb.append(' ');
+            sb.append(formatNumber(optionalNumber));
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrIdentValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrIdentValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrIdentValue.java
new file mode 100644
index 0000000..e7284db
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrIdentValue.java
@@ -0,0 +1,177 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A number-or-identifier value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableNumberOrIdentValue.java 492528 2007-01-04 11:45:47Z cam $
+ */
+public class AnimatableNumberOrIdentValue extends AnimatableNumberValue {
+
+    /**
+     * Whether this value is an identifier.
+     */
+    protected boolean isIdent;
+    
+    /**
+     * The identifier.
+     */
+    protected String ident;
+    
+    /**
+     * Whether numbers should be considered as numeric keywords, as with the
+     * font-weight property.
+     */
+    protected boolean numericIdent;
+
+    /**
+     * Creates a new, uninitialized AnimatableNumberOrIdentValue.
+     */
+    protected AnimatableNumberOrIdentValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableNumberOrIdentValue for a Number value.
+     */
+    public AnimatableNumberOrIdentValue(AnimationTarget target, float v,
+                                        boolean numericIdent) {
+        super(target, v);
+        this.numericIdent = numericIdent;
+    }
+
+    /**
+     * Creates a new AnimatableNumberOrIdentValue for an identifier value.
+     */
+    public AnimatableNumberOrIdentValue(AnimationTarget target, String ident) {
+        super(target);
+        this.ident = ident;
+        this.isIdent = true;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableNumberOrIdentValue(target, 0f, numericIdent);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        if (isIdent) {
+            return ident;
+        }
+        if (numericIdent) {
+            return Integer.toString((int) value);
+        }
+        return super.getCssText();
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableNumberOrIdentValue res;
+        if (result == null) {
+            res = new AnimatableNumberOrIdentValue(target);
+        } else {
+            res = (AnimatableNumberOrIdentValue) result;
+        }
+        
+        if (to == null) {
+            if (isIdent) {
+                res.hasChanged = !res.isIdent || !res.ident.equals(ident);
+                res.ident = ident;
+                res.isIdent = true;
+            } else if (numericIdent) {
+                res.hasChanged = res.value != value || res.isIdent;
+                res.value = value;
+                res.isIdent = false;
+                res.hasChanged = true;
+                res.numericIdent = true;
+            } else {
+                float oldValue = res.value;
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+                res.numericIdent = false;
+                if (res.value != oldValue) {
+                    res.hasChanged = true;
+                }
+            }
+        } else {
+            AnimatableNumberOrIdentValue toValue
+                = (AnimatableNumberOrIdentValue) to;
+            if (isIdent || toValue.isIdent || numericIdent) {
+                if (interpolation >= 0.5) {
+                    if (res.isIdent != toValue.isIdent
+                            || res.value != toValue.value
+                            || res.isIdent && toValue.isIdent
+                                && !toValue.ident.equals(ident)) {
+                        res.isIdent = toValue.isIdent;
+                        res.ident = toValue.ident;
+                        res.value = toValue.value;
+                        res.numericIdent = toValue.numericIdent;
+                        res.hasChanged = true;
+                    }
+                } else {
+                    if (res.isIdent != isIdent
+                            || res.value != value
+                            || res.isIdent && isIdent
+                                && !res.ident.equals(ident)) {
+                        res.isIdent = isIdent;
+                        res.ident = ident;
+                        res.value = value;
+                        res.numericIdent = numericIdent;
+                        res.hasChanged = true;
+                    }
+                }
+            } else {
+                super.interpolate(res, to, interpolation, accumulation,
+                                  multiplier);
+                res.numericIdent = false;
+            }
+        }
+        return res;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrPercentageValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrPercentageValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrPercentageValue.java
new file mode 100644
index 0000000..ce01047
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberOrPercentageValue.java
@@ -0,0 +1,155 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A number-or-percentage value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableNumberOrPercentageValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableNumberOrPercentageValue extends AnimatableNumberValue {
+
+    /**
+     * Whether the number is a percentage.
+     */
+    protected boolean isPercentage;
+
+    /**
+     * Creates a new, uninitialized AnimatableNumberOrPercentageValue.
+     */
+    protected AnimatableNumberOrPercentageValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableNumberOrPercentageValue with a number.
+     */
+    public AnimatableNumberOrPercentageValue(AnimationTarget target, float n) {
+        super(target, n);
+    }
+
+    /**
+     * Creates a new AnimatableNumberOrPercentageValue with either a number
+     * or a percentage.
+     */
+    public AnimatableNumberOrPercentageValue(AnimationTarget target, float n,
+                                             boolean isPercentage) {
+        super(target, n);
+        this.isPercentage = isPercentage;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableNumberOrPercentageValue res;
+        if (result == null) {
+            res = new AnimatableNumberOrPercentageValue(target);
+        } else {
+            res = (AnimatableNumberOrPercentageValue) result;
+        }
+
+        float newValue;
+        boolean newIsPercentage;
+
+        AnimatableNumberOrPercentageValue toValue
+            = (AnimatableNumberOrPercentageValue) to;
+        AnimatableNumberOrPercentageValue accValue
+            = (AnimatableNumberOrPercentageValue) accumulation;
+
+        if (to != null) {
+            if (toValue.isPercentage == isPercentage) {
+                newValue = value + interpolation * (toValue.value - value);
+                newIsPercentage = isPercentage;
+            } else {
+                if (interpolation >= 0.5) {
+                    newValue = toValue.value;
+                    newIsPercentage = toValue.isPercentage;
+                } else {
+                    newValue = value;
+                    newIsPercentage = isPercentage;
+                }
+            }
+        } else {
+            newValue = value;
+            newIsPercentage = isPercentage;
+        }
+
+        if (accumulation != null && accValue.isPercentage == newIsPercentage) {
+            newValue += multiplier * accValue.value;
+        }
+
+        if (res.value != newValue
+                || res.isPercentage != newIsPercentage) {
+            res.value = newValue;
+            res.isPercentage = newIsPercentage;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns whether the value is a percentage.
+     */
+    public boolean isPercentage() {
+        return isPercentage;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableNumberOrPercentageValue(target, 0, isPercentage);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(formatNumber(value));
+        if (isPercentage) {
+            sb.append('%');
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberValue.java
new file mode 100644
index 0000000..eafbcf1
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableNumberValue.java
@@ -0,0 +1,120 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A number value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableNumberValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableNumberValue extends AnimatableValue {
+
+    /**
+     * The value.
+     */
+    protected float value;
+
+    /**
+     * Creates a new, uninitialized AnimatableNumberValue.
+     */
+    protected AnimatableNumberValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableNumberValue.
+     */
+    public AnimatableNumberValue(AnimationTarget target, float v) {
+        super(target);
+        value = v;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableNumberValue res;
+        if (result == null) {
+            res = new AnimatableNumberValue(target);
+        } else {
+            res = (AnimatableNumberValue) result;
+        }
+
+        float v = value;
+        if (to != null) {
+            AnimatableNumberValue toNumber = (AnimatableNumberValue) to;
+            v += interpolation * (toNumber.value - value);
+        }
+        if (accumulation != null) {
+            AnimatableNumberValue accNumber = (AnimatableNumberValue) accumulation;
+            v += multiplier * accNumber.value;
+        }
+
+        if (res.value != v) {
+            res.value = v;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the number value.
+     */
+    public float getValue() {
+        return value;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableNumberValue o = (AnimatableNumberValue) other;
+        return Math.abs(value - o.value);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableNumberValue(target, 0);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return formatNumber(value);
+    }
+}


[13/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeImageElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeImageElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeImageElementBridge.java
index 46cdc4f..b85d789 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeImageElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeImageElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,12 +19,10 @@
 package org.apache.flex.forks.batik.bridge;
 
 import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
 import java.awt.geom.Rectangle2D;
 import java.util.Map;
 
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
-import org.apache.flex.forks.batik.util.XMLConstants;
 import org.apache.flex.forks.batik.ext.awt.image.PadMode;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.AffineRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
@@ -38,7 +37,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feImage> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeImageElementBridge.java,v 1.23 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGFeImageElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeImageElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -84,7 +83,7 @@ public class SVGFeImageElementBridge
         // 'xlink:href' attribute
         String uriStr = XLinkSupport.getXLinkHref(filterElement);
         if (uriStr.length() == 0) {
-            throw new BridgeException(filterElement, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, filterElement, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {"xlink:href"});
         }
 
@@ -94,30 +93,30 @@ public class SVGFeImageElementBridge
         // and it behaves like a <use> if it references a document
         // fragment.
         //
-        // To provide this behavior, depending on whether the uri 
-        // contains a fragment identifier, we create either an 
+        // To provide this behavior, depending on whether the uri
+        // contains a fragment identifier, we create either an
         // <image> or a <use> element and request the corresponding
         // bridges to build the corresponding GraphicsNode for us.
-        // 
-        // Then, we take care of the possible transformation needed 
+        //
+        // Then, we take care of the possible transformation needed
         // from objectBoundingBox space to user space.
         //
-        
+
         Document document = filterElement.getOwnerDocument();
-        boolean isUse = (uriStr.indexOf("#") != -1);
+        boolean isUse = uriStr.indexOf('#') != -1;
         Element contentElement = null;
         if (isUse) {
             contentElement = document.createElementNS(SVG_NAMESPACE_URI,
-                                                    SVG_USE_TAG);
+                                                      SVG_USE_TAG);
         } else {
             contentElement = document.createElementNS(SVG_NAMESPACE_URI,
-                                                    SVG_IMAGE_TAG);
+                                                      SVG_IMAGE_TAG);
         }
 
-        
-        contentElement.setAttributeNS(XLinkSupport.XLINK_NAMESPACE_URI, XMLConstants.XLINK_PREFIX + 
-                                    ":" + SVG_HREF_ATTRIBUTE,
-                                    uriStr);
+
+        contentElement.setAttributeNS(XLINK_NAMESPACE_URI,
+                                      XLINK_HREF_QNAME,
+                                      uriStr);
 
         Element proxyElement = document.createElementNS(SVG_NAMESPACE_URI,
                                                         SVG_G_TAG);
@@ -125,29 +124,48 @@ public class SVGFeImageElementBridge
 
         // feImage's default region is that of the filter chain.
         Rectangle2D defaultRegion = filterRegion;
+        Element filterDefElement = (Element)(filterElement.getParentNode());
 
-        // Compute the transform from object bounding box to user
-        // space if needed.
-        AffineTransform at = new AffineTransform();
+        Rectangle2D primitiveRegion =
+            SVGUtilities.getBaseFilterPrimitiveRegion(filterElement,
+                                                      filteredElement,
+                                                      filteredNode,
+                                                      defaultRegion,
+                                                      ctx);
+
+        // System.err.println(">>>>>>>> primitiveRegion : " + primitiveRegion);
+
+        contentElement.setAttributeNS(null, SVG_X_ATTRIBUTE,      String.valueOf( primitiveRegion.getX() ) );
+        contentElement.setAttributeNS(null, SVG_Y_ATTRIBUTE,      String.valueOf( primitiveRegion.getY() ) );
+        contentElement.setAttributeNS(null, SVG_WIDTH_ATTRIBUTE,  String.valueOf( primitiveRegion.getWidth() ) );
+        contentElement.setAttributeNS(null, SVG_HEIGHT_ATTRIBUTE, String.valueOf( primitiveRegion.getHeight() ) );
+
+
+        GraphicsNode node = ctx.getGVTBuilder().build(ctx, proxyElement);
+        Filter filter = node.getGraphicsNodeRable(true);
 
         // 'primitiveUnits' attribute - default is userSpaceOnUse
         short coordSystemType;
-        Element filterDefElement = (Element)(filterElement.getParentNode());
-        boolean isBBox = false;
         String s = SVGUtilities.getChainableAttributeNS
             (filterDefElement, null, SVG_PRIMITIVE_UNITS_ATTRIBUTE, ctx);
         if (s.length() == 0) {
             coordSystemType = SVGUtilities.USER_SPACE_ON_USE;
         } else {
-                coordSystemType = SVGUtilities.parseCoordinateSystem
-                    (filterDefElement, SVG_PRIMITIVE_UNITS_ATTRIBUTE, s);
+            coordSystemType = SVGUtilities.parseCoordinateSystem
+                (filterDefElement, SVG_PRIMITIVE_UNITS_ATTRIBUTE, s, ctx);
         }
-        
+
+        // Compute the transform from object bounding box to user
+        // space if needed.
+        AffineTransform at = new AffineTransform();
         if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX) {
-            isBBox = true;
             at = SVGUtilities.toObjectBBox(at, filteredNode);
         }
-        
+        filter = new AffineRable8Bit(filter, at);
+
+        // handle the 'color-interpolation-filters' property
+        handleColorInterpolationFilters(filter, filterElement);
+
         // get filter primitive chain region
         Rectangle2D primitiveRegionUserSpace
             = SVGUtilities.convertFilterPrimitiveRegion(filterElement,
@@ -156,35 +174,8 @@ public class SVGFeImageElementBridge
                                                         defaultRegion,
                                                         filterRegion,
                                                         ctx);
-        Rectangle2D primitiveRegion = primitiveRegionUserSpace;
-
-        if (isBBox) {
-            try {
-                AffineTransform ati = at.createInverse();
-                primitiveRegion = ati.createTransformedShape(primitiveRegion).getBounds2D();
-            } catch (NoninvertibleTransformException nite) {
-                // Should never happen, seem above
-                throw new Error();
-            }
-        }
-
-        contentElement.setAttributeNS(null, SVG_X_ATTRIBUTE, "" + primitiveRegion.getX());
-        contentElement.setAttributeNS(null, SVG_Y_ATTRIBUTE, "" + primitiveRegion.getY());
-        contentElement.setAttributeNS(null, SVG_WIDTH_ATTRIBUTE, "" + primitiveRegion.getWidth());
-        contentElement.setAttributeNS(null, SVG_HEIGHT_ATTRIBUTE, "" + primitiveRegion.getHeight());
-        
-        // System.err.println(">>>>>>>>>>>> primitiveRegion : " + primitiveRegion);
-        // System.err.println(">>>>>>>>>>>> at              : " + at);
-
-        GraphicsNode node = ctx.getGVTBuilder().build(ctx, proxyElement);
-        Filter filter = node.getGraphicsNodeRable(true);
-        
-        filter = new AffineRable8Bit(filter, at);
-
-        // handle the 'color-interpolation-filters' property
-        handleColorInterpolationFilters(filter, filterElement);
-
-        filter = new PadRable8Bit(filter, primitiveRegionUserSpace, PadMode.ZERO_PAD);
+        filter = new PadRable8Bit(filter, primitiveRegionUserSpace,
+                                  PadMode.ZERO_PAD);
 
         // update the filter Map
         updateFilterMap(filterElement, filter, filterMap);
@@ -233,20 +224,20 @@ public class SVGFeImageElementBridge
                 coordSystemType = SVGUtilities.USER_SPACE_ON_USE;
             } else {
                 coordSystemType = SVGUtilities.parseCoordinateSystem
-                    (filterDefElement, SVG_PRIMITIVE_UNITS_ATTRIBUTE, s);
+                    (filterDefElement, SVG_PRIMITIVE_UNITS_ATTRIBUTE, s, ctx);
             }
-            
+
             if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX) {
                 at = SVGUtilities.toObjectBBox(at, filteredNode);
             }
 
             Rectangle2D bounds = filteredNode.getGeometryBounds();
             at.preConcatenate(AffineTransform.getTranslateInstance
-                              (primitiveRegion.getX() - bounds.getX(), 
+                              (primitiveRegion.getX() - bounds.getX(),
                                primitiveRegion.getY() - bounds.getY()));
-            
+
         } else {
-            
+
             // Need to translate the image to the x, y coordinate to
             // have the same behavior as the <use> element
             at.translate(primitiveRegion.getX(), primitiveRegion.getY());

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMergeElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMergeElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMergeElementBridge.java
index a735f50..1a300de 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMergeElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMergeElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,7 +37,7 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;feMerge> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeMergeElementBridge.java,v 1.18 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeMergeElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeMergeElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -179,7 +180,8 @@ public class SVGFeMergeElementBridge
     /**
      * Bridge class for the &lt;feMergeNode> element.
      */
-    public static class SVGFeMergeNodeElementBridge extends AbstractSVGBridge {
+    public static class SVGFeMergeNodeElementBridge
+            extends AnimatableGenericSVGBridge {
 
         /**
          * Constructs a new bridge for the &lt;feMergeNode> element.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMorphologyElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMorphologyElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMorphologyElementBridge.java
index 87b8474..12826ec 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMorphologyElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeMorphologyElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -33,7 +34,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feMorphology> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeMorphologyElementBridge.java,v 1.15 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFeMorphologyElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeMorphologyElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -78,13 +79,13 @@ public class SVGFeMorphologyElementBridge
                                Map filterMap) {
 
         // 'radius' attribute - default is [0, 0]
-        float [] radii = convertRadius(filterElement);
+        float[] radii = convertRadius(filterElement, ctx);
         if (radii[0] == 0 || radii[1] == 0) {
             return null; // disable the filter
         }
 
         // 'operator' attribute - default is 'erode'
-        boolean isDilate = convertOperator(filterElement);
+        boolean isDilate = convertOperator(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -134,8 +135,10 @@ public class SVGFeMorphologyElementBridge
      * filter primitive.
      *
      * @param filterElement the feMorphology filter primitive
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float [] convertRadius(Element filterElement) {
+    protected static float[] convertRadius(Element filterElement,
+                                           BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_RADIUS_ATTRIBUTE);
         if (s.length() == 0) {
             return new float[] {0, 0};
@@ -149,14 +152,14 @@ public class SVGFeMorphologyElementBridge
             } else {
                 radii[1] = radii[0];
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_RADIUS_ATTRIBUTE, s, ex});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_RADIUS_ATTRIBUTE, s, nfEx });
         }
         if (tokens.hasMoreTokens() || radii[0] < 0 || radii[1] < 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_RADIUS_ATTRIBUTE, s});
         }
         return radii;
@@ -167,8 +170,10 @@ public class SVGFeMorphologyElementBridge
      * primitive.
      *
      * @param filterElement the feMorphology filter primitive
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static boolean convertOperator(Element filterElement) {
+    protected static boolean convertOperator(Element filterElement,
+                                             BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_OPERATOR_ATTRIBUTE);
         if (s.length() == 0) {
             return false;
@@ -179,8 +184,8 @@ public class SVGFeMorphologyElementBridge
         if (SVG_DILATE_VALUE.equals(s)) {
             return true;
         }
-        throw new BridgeException(filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                  new Object[] {SVG_OPERATOR_ATTRIBUTE, s});
+        throw new BridgeException
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] {SVG_OPERATOR_ATTRIBUTE, s});
     }
-
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeOffsetElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeOffsetElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeOffsetElementBridge.java
index 987d7c3..24b2e99 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeOffsetElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeOffsetElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -33,7 +34,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feOffset> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeOffsetElementBridge.java,v 1.15 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFeOffsetElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeOffsetElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -100,8 +101,8 @@ public class SVGFeOffsetElementBridge
                                                         filterRegion,
                                                         ctx);
 
-        float dx = convertNumber(filterElement, SVG_DX_ATTRIBUTE, 0);
-        float dy = convertNumber(filterElement, SVG_DY_ATTRIBUTE, 0);
+        float dx = convertNumber(filterElement, SVG_DX_ATTRIBUTE, 0, ctx);
+        float dy = convertNumber(filterElement, SVG_DY_ATTRIBUTE, 0, ctx);
         AffineTransform at = AffineTransform.getTranslateInstance(dx, dy);
 
         // feOffset is a point operation. Therefore, to take the

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeSpecularLightingElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeSpecularLightingElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeSpecularLightingElementBridge.java
index 46bf88f..fc5686d 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeSpecularLightingElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeSpecularLightingElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feSpecularLighting> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeSpecularLightingElementBridge.java,v 1.16 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFeSpecularLightingElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeSpecularLightingElementBridge
     extends AbstractSVGLightingElementBridge {
@@ -76,21 +77,21 @@ public class SVGFeSpecularLightingElementBridge
 
 
         // 'surfaceScale' attribute - default is 1
-        float surfaceScale
-            = convertNumber(filterElement, SVG_SURFACE_SCALE_ATTRIBUTE, 1);
+        float surfaceScale = convertNumber(filterElement,
+                                           SVG_SURFACE_SCALE_ATTRIBUTE, 1, ctx);
 
         // 'specularConstant' attribute - default is 1
-        float specularConstant
-            = convertNumber(filterElement, SVG_SPECULAR_CONSTANT_ATTRIBUTE, 1);
+        float specularConstant = convertNumber
+            (filterElement, SVG_SPECULAR_CONSTANT_ATTRIBUTE, 1, ctx);
 
         // 'specularExponent' attribute - default is 1
-        float specularExponent = convertSpecularExponent(filterElement);
+        float specularExponent = convertSpecularExponent(filterElement, ctx);
 
         // extract the light definition from the filterElement's children list
         Light light = extractLight(filterElement, ctx);
 
         // 'kernelUnitLength' attribute
-        double [] kernelUnitLength = convertKernelUnitLength(filterElement);
+        double[] kernelUnitLength = convertKernelUnitLength(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -138,8 +139,10 @@ public class SVGFeSpecularLightingElementBridge
      * filter primitive element.
      *
      * @param filterElement the feSpecularLighting filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float convertSpecularExponent(Element filterElement) {
+    protected static float convertSpecularExponent(Element filterElement,
+                                                   BridgeContext ctx) {
         String s = filterElement.getAttributeNS
             (null, SVG_SPECULAR_EXPONENT_ATTRIBUTE);
         if (s.length() == 0) {
@@ -149,14 +152,14 @@ public class SVGFeSpecularLightingElementBridge
                 float v = SVGUtilities.convertSVGNumber(s);
                 if (v < 1 || v > 128) {
                     throw new BridgeException
-                        (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                        (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                          new Object[] {SVG_SPECULAR_CONSTANT_ATTRIBUTE, s});
                 }
                 return v;
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {SVG_SPECULAR_CONSTANT_ATTRIBUTE, s, ex});
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {SVG_SPECULAR_CONSTANT_ATTRIBUTE, s, nfEx });
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTileElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTileElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTileElementBridge.java
index bae0ee8..fe4f95e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTileElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTileElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -29,7 +30,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feTile> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeTileElementBridge.java,v 1.13 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFeTileElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeTileElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTurbulenceElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTurbulenceElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTurbulenceElementBridge.java
index cacb7c5..5955852 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTurbulenceElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeTurbulenceElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -31,7 +32,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feTurbulence> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeTurbulenceElementBridge.java,v 1.11 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFeTurbulenceElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeTurbulenceElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -97,23 +98,23 @@ public class SVGFeTurbulenceElementBridge
 
         // 'baseFrequency' attribute - default is [0, 0]
         float [] baseFrequency
-            = convertBaseFrenquency(filterElement);
+            = convertBaseFrenquency(filterElement, ctx);
 
         // 'numOctaves' attribute - default is 1
         int numOctaves
-            = convertInteger(filterElement, SVG_NUM_OCTAVES_ATTRIBUTE, 1);
+            = convertInteger(filterElement, SVG_NUM_OCTAVES_ATTRIBUTE, 1, ctx);
 
         // 'seed' attribute - default is 0
         int seed
-            = convertInteger(filterElement, SVG_SEED_ATTRIBUTE, 0);
+            = convertInteger(filterElement, SVG_SEED_ATTRIBUTE, 0, ctx);
 
         // 'stitchTiles' attribute - default is 'noStitch'
         boolean stitchTiles
-            = convertStitchTiles(filterElement);
+            = convertStitchTiles(filterElement, ctx);
 
         // 'fractalNoise' attribute - default is 'turbulence'
         boolean isFractalNoise
-            = convertType(filterElement);
+            = convertType(filterElement, ctx);
 
         // create the filter primitive
         TurbulenceRable turbulenceRable
@@ -140,8 +141,10 @@ public class SVGFeTurbulenceElementBridge
      * feTurbulence element.
      *
      * @param e the feTurbulence element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float [] convertBaseFrenquency(Element e) {
+    protected static float[] convertBaseFrenquency(Element e,
+                                                   BridgeContext ctx) {
         String s = e.getAttributeNS(null, SVG_BASE_FREQUENCY_ATTRIBUTE);
         if (s.length() == 0) {
             return new float[] {0.001f, 0.001f};
@@ -157,17 +160,17 @@ public class SVGFeTurbulenceElementBridge
             }
             if (tokens.hasMoreTokens()) {
                 throw new BridgeException
-                    (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {SVG_BASE_FREQUENCY_ATTRIBUTE, s});
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_BASE_FREQUENCY_ATTRIBUTE, s});
         }
         if (v[0] < 0 || v[1] < 0) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_BASE_FREQUENCY_ATTRIBUTE, s});
         }
         return v;
@@ -178,9 +181,10 @@ public class SVGFeTurbulenceElementBridge
      * feTurbulence element.
      *
      * @param e the feTurbulence element
+     * @param ctx the BridgeContext to use for error information
      * @return true if stitchTiles attribute is 'stitch', false otherwise
      */
-    protected static boolean convertStitchTiles(Element e) {
+    protected static boolean convertStitchTiles(Element e, BridgeContext ctx) {
         String s = e.getAttributeNS(null, SVG_STITCH_TILES_ATTRIBUTE);
         if (s.length() == 0) {
             return false;
@@ -191,7 +195,7 @@ public class SVGFeTurbulenceElementBridge
         if (SVG_NO_STITCH_VALUE.equals(s)) {
             return false;
         }
-        throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+        throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                   new Object[] {SVG_STITCH_TILES_ATTRIBUTE, s});
     }
 
@@ -199,9 +203,10 @@ public class SVGFeTurbulenceElementBridge
      * Converts the 'type' attribute of the specified feTurbulence element.
      *
      * @param e the feTurbulence element
+     * @param ctx the BridgeContext to use for error information
      * @return true if type attribute value is 'fractalNoise', false otherwise
      */
-    protected static boolean convertType(Element e) {
+    protected static boolean convertType(Element e, BridgeContext ctx) {
         String s = e.getAttributeNS(null, SVG_TYPE_ATTRIBUTE);
         if (s.length() == 0) {
             return false;
@@ -212,7 +217,7 @@ public class SVGFeTurbulenceElementBridge
         if (SVG_TURBULENCE_VALUE.equals(s)) {
             return false;
         }
-        throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+        throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                   new Object[] {SVG_TYPE_ATTRIBUTE, s});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFilterElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFilterElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFilterElementBridge.java
index 517c73b..6b3bb21 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFilterElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFilterElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,11 +18,9 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
+import java.awt.Color;
 import java.awt.geom.Rectangle2D;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -32,8 +31,10 @@ import org.apache.flex.forks.batik.ext.awt.image.PadMode;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.FilterChainRable;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.FilterChainRable8Bit;
+import org.apache.flex.forks.batik.ext.awt.image.renderable.FloodRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.PadRable8Bit;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.util.ParsedURL;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
@@ -41,10 +42,15 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;filter> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFilterElementBridge.java,v 1.20 2004/11/18 01:46:53 deweese Exp $
+ * @version $Id: SVGFilterElementBridge.java 579230 2007-09-25 12:52:48Z cam $
  */
-public class SVGFilterElementBridge extends AbstractSVGBridge
-    implements FilterBridge, ErrorConstants {
+public class SVGFilterElementBridge extends AnimatableGenericSVGBridge
+        implements FilterBridge, ErrorConstants {
+
+    /**
+     * Transparent black color.
+     */
+    protected static final Color TRANSPARENT_BLACK = new Color(0, true);
 
     /**
      * Constructs a new bridge for the &lt;filter> element.
@@ -74,11 +80,14 @@ public class SVGFilterElementBridge extends AbstractSVGBridge
         // get filter chain region
         Rectangle2D filterRegion = SVGUtilities.convertFilterChainRegion
             (filterElement, filteredElement, filteredNode, ctx);
+        if (filterRegion == null) {
+            return null;
+        }
 
         // make the initial source as a RenderableImage
         Filter sourceGraphic = filteredNode.getGraphicsNodeRable(true);
         // Pad out to filterRegion
-        sourceGraphic = new PadRable8Bit(sourceGraphic, filterRegion, 
+        sourceGraphic = new PadRable8Bit(sourceGraphic, filterRegion,
                                          PadMode.ZERO_PAD);
 
         // build a FilterChainRable8Bit
@@ -103,12 +112,37 @@ public class SVGFilterElementBridge extends AbstractSVGBridge
                                           sourceGraphic,
                                           filterNodeMap,
                                           ctx);
-        if ((in == null) || (in == sourceGraphic)) {
-            return null; // no filter primitives found, disable the filter.
-        } else {
-            filterChain.setSource(in);
-            return filterChain;
+        if (in == null) {
+            // error in one of the primitives, disable the filter
+            return null;
+        } else if (in == sourceGraphic) {
+            // no filter primitive found, so output transparent black
+            in = createEmptyFilter(filterElement, filterRegion, filteredElement,
+                                   filteredNode, ctx);
         }
+        filterChain.setSource(in);
+        return filterChain;
+    }
+
+    /**
+     * Creates a new returns a new filter that fills its output with
+     * transparent black.  This is used when a &lt;filter&gt; element
+     * has no filter primitive children.
+     */
+    protected static Filter createEmptyFilter(Element filterElement,
+                                              Rectangle2D filterRegion,
+                                              Element filteredElement,
+                                              GraphicsNode filteredNode,
+                                              BridgeContext ctx) {
+        Rectangle2D primitiveRegion
+            = SVGUtilities.convertFilterPrimitiveRegion(null,
+                                                        filterElement,
+                                                        filteredElement,
+                                                        filteredNode,
+                                                        filterRegion,
+                                                        filterRegion,
+                                                        ctx);
+        return new FloodRable8Bit(primitiveRegion, TRANSPARENT_BLACK);
     }
 
     /**
@@ -153,17 +187,9 @@ public class SVGFilterElementBridge extends AbstractSVGBridge
             }
             // check if there is circular dependencies
             SVGOMDocument doc = (SVGOMDocument)filterElement.getOwnerDocument();
-            URL url;
-            try {
-                url = new URL(doc.getURLObject(), uri);
-            } catch (MalformedURLException ex) {
-                throw new BridgeException(filterElement,
-                                          ERR_URI_MALFORMED,
-                                          new Object[] {uri});
-
-            }
-            if (contains(refs, url)) {
-                throw new BridgeException(filterElement,
+            ParsedURL url = new ParsedURL(doc.getURLObject(), uri);
+            if (refs.contains(url)) {
+                throw new BridgeException(ctx, filterElement,
                                           ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                                           new Object[] {uri});
             }
@@ -223,21 +249,4 @@ public class SVGFilterElementBridge extends AbstractSVGBridge
         }
         return in;
     }
-
-    /**
-     * Returns true if the specified list of URLs contains the specified url.
-     *
-     * @param urls the list of URLs
-     * @param key the url to search for
-     */
-    private static boolean contains(List urls, URL key) {
-        Iterator iter = urls.iterator();
-        while (iter.hasNext()) {
-            URL url = (URL)iter.next();
-            if (url.sameFile(key) && url.getRef().equals(key.getRef())) {
-                return true;
-            }
-        }
-        return false;
-    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontElementBridge.java
index a3be6e6..86cdc3a 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.w3c.dom.NodeList;
  * Bridge class for the &lt;font> element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGFontElementBridge.java,v 1.9 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFontElementBridge.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class SVGFontElementBridge extends AbstractSVGBridge {
 
@@ -65,7 +66,7 @@ public class SVGFontElementBridge extends AbstractSVGBridge {
         // construct a list of glyph codes that this font can display and
         // a list of the glyph elements
         NodeList glyphElements = fontElement.getElementsByTagNameNS
-	    (SVG_NAMESPACE_URI, SVG_GLYPH_TAG);
+            (SVG_NAMESPACE_URI, SVG_GLYPH_TAG);
         int numGlyphs = glyphElements.getLength();
         String[] glyphCodes = new String[numGlyphs];
         String[] glyphNames = new String[numGlyphs];
@@ -92,7 +93,7 @@ public class SVGFontElementBridge extends AbstractSVGBridge {
 
         // get the missing glyph element
         NodeList missingGlyphElements = fontElement.getElementsByTagNameNS
-	    (SVG_NAMESPACE_URI, SVG_MISSING_GLYPH_TAG);
+            (SVG_NAMESPACE_URI, SVG_MISSING_GLYPH_TAG);
         Element missingGlyphElement = null;
         if (missingGlyphElements.getLength() > 0) {
             missingGlyphElement = (Element)missingGlyphElements.item(0);
@@ -100,7 +101,7 @@ public class SVGFontElementBridge extends AbstractSVGBridge {
 
         // get the hkern elements
         NodeList hkernElements = fontElement.getElementsByTagNameNS
-	    (SVG_NAMESPACE_URI, SVG_HKERN_TAG);
+            (SVG_NAMESPACE_URI, SVG_HKERN_TAG);
         Element[] hkernElementArray = new Element[hkernElements.getLength()];
 
         for (int i = 0; i < hkernElementArray.length; i++) {
@@ -110,7 +111,7 @@ public class SVGFontElementBridge extends AbstractSVGBridge {
 
         // get the vkern elements
         NodeList vkernElements = fontElement.getElementsByTagNameNS
-	    (SVG_NAMESPACE_URI, SVG_VKERN_TAG);
+            (SVG_NAMESPACE_URI, SVG_VKERN_TAG);
         Element[] vkernElementArray = new Element[vkernElements.getLength()];
 
         for (int i = 0; i < vkernElementArray.length; i++) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFace.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFace.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFace.java
index 3e2b2f2..798a1e1 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFace.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFace.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.w3c.dom.Element;
  * This class represents a &lt;font-face> element or @font-face rule
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGFontFace.java,v 1.7 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFontFace.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFontFace extends FontFace {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFaceElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFaceElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFaceElementBridge.java
index fca93d3..b1ec3c9 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFaceElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFaceElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,7 +24,7 @@ import java.util.LinkedList;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.util.ParsedURL;
 
@@ -31,7 +32,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * Bridge class for the &lt;font-face> element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGFontFaceElementBridge.java,v 1.10 2005/02/22 09:12:57 cam Exp $
+ * @version $Id: SVGFontFaceElementBridge.java 502538 2007-02-02 08:52:56Z dvholten $
  */
 public class SVGFontFaceElementBridge extends AbstractSVGBridge
                                       implements ErrorConstants {
@@ -75,9 +76,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         float unitsPerEm;
         try {
             unitsPerEm = SVGUtilities.convertSVGNumber(unitsPerEmStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_UNITS_PER_EM_ATTRIBUTE, unitsPerEmStr});
         }
 
@@ -118,9 +119,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         float slope;
         try {
             slope = SVGUtilities.convertSVGNumber(slopeStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, slopeStr});
         }
 
@@ -136,15 +137,15 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
             (null, SVG_ASCENT_ATTRIBUTE);
         if (ascentStr.length() == 0) {
             // set it to be unitsPerEm * .8
-            ascentStr = String.valueOf(unitsPerEm*.8);
+            ascentStr = String.valueOf( unitsPerEm * 0.8);
         }
         float ascent;
         try {
            ascent = SVGUtilities.convertSVGNumber(ascentStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, ascentStr});
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, ascentStr});
         }
 
         // descent
@@ -152,15 +153,15 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
             (null, SVG_DESCENT_ATTRIBUTE);
         if (descentStr.length() == 0) {
             // set it to be unitsPerEm *.2.
-            descentStr = String.valueOf(unitsPerEm*.2);
+            descentStr = String.valueOf(unitsPerEm*0.2);
         }
         float descent;
         try {
             descent = SVGUtilities.convertSVGNumber(descentStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, descentStr});
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE, descentStr });
         }
 
         // underline-position
@@ -172,9 +173,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         float underlinePos;
         try {
             underlinePos = SVGUtilities.convertSVGNumber(underlinePosStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                underlinePosStr});
         }
@@ -190,9 +191,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         try {
             underlineThickness =
                 SVGUtilities.convertSVGNumber(underlineThicknessStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                underlineThicknessStr});
         }
@@ -208,9 +209,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         try {
             strikethroughPos =
                 SVGUtilities.convertSVGNumber(strikethroughPosStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                strikethroughPosStr});
         }
@@ -226,9 +227,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         try {
             strikethroughThickness =
                 SVGUtilities.convertSVGNumber(strikethroughThicknessStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                strikethroughThicknessStr});
         }
@@ -242,9 +243,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         float overlinePos;
         try {
             overlinePos = SVGUtilities.convertSVGNumber(overlinePosStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                overlinePosStr});
         }
@@ -260,9 +261,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
         try {
             overlineThickness =
                 SVGUtilities.convertSVGNumber(overlineThicknessStr);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (fontFaceElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, fontFaceElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                 new Object [] {SVG_FONT_FACE_SLOPE_DEFAULT_VALUE,
                                overlineThicknessStr});
         }
@@ -284,7 +285,9 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
                                overlineThickness);
     }
 
-
+    /**
+     * the returned list may contain Strings and ParsedURLs
+     */
     public List getFontFaceSrcs(Element fontFaceElement) {
         // Search for a font-face-src element
         Element ffsrc = null;
@@ -314,18 +317,18 @@ public class SVGFontFaceElementBridge extends AbstractSVGBridge
             if (n.getLocalName().equals(SVG_FONT_FACE_URI_TAG)) {
                 Element ffuri = (Element)n;
                 String uri = XLinkSupport.getXLinkHref(ffuri);
-                String base = XMLBaseSupport.getCascadedXMLBase(ffuri);
+                String base = AbstractNode.getBaseURI(ffuri);
                 ParsedURL purl;
                 if (base != null) purl = new ParsedURL(base, uri);
                 else              purl = new ParsedURL(uri);
-                ret.add(purl);
+                ret.add(purl);                                      // here we add a ParsedURL
                 continue;
             }
             if (n.getLocalName().equals(SVG_FONT_FACE_NAME_TAG)) {
                 Element ffname = (Element)n;
                 String s = ffname.getAttribute("name");
                 if (s.length() != 0)
-                    ret.add(s);
+                    ret.add(s);                                     // here we add a String
             }
         }
         return ret;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFamily.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFamily.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFamily.java
index 3d618ec..c304b30 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFamily.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontFamily.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,6 +18,7 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
+import java.lang.ref.SoftReference;
 import java.text.AttributedCharacterIterator;
 import java.util.Map;
 
@@ -34,19 +36,19 @@ import org.w3c.dom.NodeList;
  * A font family class for SVG fonts.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGFontFamily.java,v 1.9 2004/11/18 01:46:53 deweese Exp $
+ * @version $Id: SVGFontFamily.java 489226 2006-12-21 00:05:36Z cam $
  */
 public class SVGFontFamily implements GVTFontFamily {
 
-    public static final 
-        AttributedCharacterIterator.Attribute TEXT_COMPOUND_DELIMITER =
-        GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_DELIMITER;
+    public static final
+        AttributedCharacterIterator.Attribute TEXT_COMPOUND_ID =
+        GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_ID;
 
     protected GVTFontFace fontFace;
     protected Element fontElement;
     protected BridgeContext ctx;
     protected Boolean complex = null;
-    
+
 
 
     /**
@@ -104,12 +106,12 @@ public class SVGFontFamily implements GVTFontFamily {
     public GVTFont deriveFont(float size, Map attrs) {
         SVGFontElementBridge fontBridge;
         fontBridge = (SVGFontElementBridge)ctx.getBridge(fontElement);
-        Element textElement;
-        textElement = (Element)attrs.get(TEXT_COMPOUND_DELIMITER);
-        return fontBridge.createFont(ctx, fontElement, textElement, 
+        SoftReference sr = (SoftReference)attrs.get(TEXT_COMPOUND_ID);
+        Element textElement = (Element)sr.get();
+        return fontBridge.createFont(ctx, fontElement, textElement,
                                      size, fontFace);
     }
-     
+
     /**
      * This method looks at the SVG font and checks if any of
      * the glyphs use renderable child elements.  If so this
@@ -120,13 +122,13 @@ public class SVGFontFamily implements GVTFontFamily {
     public boolean isComplex() {
         if (complex != null) return complex.booleanValue();
         boolean ret = isComplex(fontElement, ctx);
-        complex = new Boolean(ret);
+        complex = ret ? Boolean.TRUE : Boolean.FALSE;
         return ret;
     }
 
     public static boolean isComplex(Element fontElement, BridgeContext ctx) {
         NodeList glyphElements = fontElement.getElementsByTagNameNS
-	    (SVGConstants.SVG_NAMESPACE_URI, SVGConstants.SVG_GLYPH_TAG);
+            (SVGConstants.SVG_NAMESPACE_URI, SVGConstants.SVG_GLYPH_TAG);
 
         int numGlyphs = glyphElements.getLength();
         for (int i = 0; i < numGlyphs; i++) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontUtilities.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontUtilities.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontUtilities.java
index 19dcd92..4009e35 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontUtilities.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFontUtilities.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -41,7 +42,7 @@ import org.w3c.dom.NodeList;
  * Utility class for SVG fonts.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGFontUtilities.java,v 1.17 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGFontUtilities.java 501844 2007-01-31 13:54:05Z dvholten $
  */
 public abstract class SVGFontUtilities implements SVGConstants {
 
@@ -51,13 +52,13 @@ public abstract class SVGFontUtilities implements SVGConstants {
         // FontFamily that matches
         Map fontFamilyMap = ctx.getFontFamilyMap();
         List ret = (List)fontFamilyMap.get(doc);
-        if (ret != null) 
+        if (ret != null)
             return ret;
 
         ret = new LinkedList();
 
         NodeList fontFaceElements = doc.getElementsByTagNameNS
-	    (SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
+            (SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
 
         SVGFontFaceElementBridge fontFaceBridge;
         fontFaceBridge = (SVGFontFaceElementBridge)ctx.getBridge
@@ -78,7 +79,7 @@ public abstract class SVGFontUtilities implements SVGConstants {
         }
         return ret;
     }
-                                       
+
 
     /**
      * Given a font family name tries to find a matching SVG font
@@ -106,7 +107,7 @@ public abstract class SVGFontUtilities implements SVGConstants {
                                              String fontStyle) {
 
         // TODO: should match against font-variant as well
-        String fontKeyName = fontFamilyName.toLowerCase() + " " +
+        String fontKeyName = fontFamilyName.toLowerCase() + " " +              // todo locale??
             fontWeight + " " + fontStyle;
 
         // check fontFamilyMap to see if we have already created an
@@ -122,13 +123,13 @@ public abstract class SVGFontUtilities implements SVGConstants {
         Document doc = textElement.getOwnerDocument();
 
         List fontFaces = (List)fontFamilyMap.get(doc);
-        
+
         if (fontFaces == null) {
             fontFaces = getFontFaces(doc, ctx);
             fontFamilyMap.put(doc, fontFaces);
         }
 
-        
+
         Iterator iter = fontFaces.iterator();
         List svgFontFamilies = new LinkedList();
         while (iter.hasNext()) {
@@ -142,7 +143,7 @@ public abstract class SVGFontUtilities implements SVGConstants {
             if (fontFaceStyle.equals(SVG_ALL_VALUE) ||
                 fontFaceStyle.indexOf(fontStyle) != -1) {
                 GVTFontFamily ffam = fontFace.getFontFamily(ctx);
-                if (ffam != null) 
+                if (ffam != null)
                     svgFontFamilies.add(ffam);
             }
         }
@@ -151,7 +152,7 @@ public abstract class SVGFontUtilities implements SVGConstants {
             // only found one matching svg font family
             fontFamilyMap.put(fontKeyName, svgFontFamilies.get(0));
             return (GVTFontFamily)svgFontFamilies.get(0);
-            
+
         } else if (svgFontFamilies.size() > 1) {
             // need to find font face that matches the font-weight closest
             String fontWeightNumber = getFontWeightNumberString(fontWeight);
@@ -198,7 +199,7 @@ public abstract class SVGFontUtilities implements SVGConstants {
                     String newFontFamilyWeight =
                         newFontFamilyWeights.get(minDifferenceIndex) +
                         ", " + weightString;
-                    newFontFamilyWeights.set(minDifferenceIndex, 
+                    newFontFamilyWeights.set(minDifferenceIndex,
                                              newFontFamilyWeight);
                 }
             }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGElementBridge.java
index 06e19ee..0e1910d 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.events.MutationEvent;
  * Bridge class for the &lt;g> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGGElementBridge.java,v 1.26 2004/08/20 19:29:46 deweese Exp $
+ * @version $Id: SVGGElementBridge.java 491178 2006-12-30 06:18:34Z cam $
  */
 public class SVGGElementBridge extends AbstractGraphicsNodeBridge {
 
@@ -63,8 +64,10 @@ public class SVGGElementBridge extends AbstractGraphicsNodeBridge {
     public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
         CompositeGraphicsNode gn =
             (CompositeGraphicsNode)super.createGraphicsNode(ctx, e);
-	if (gn == null)
-	    return null;
+        if (gn == null)
+            return null;
+
+        associateSVGContext(ctx, e, gn);
 
         // 'color-rendering'
         RenderingHints hints = null;
@@ -100,19 +103,21 @@ public class SVGGElementBridge extends AbstractGraphicsNodeBridge {
      * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
      */
     public void handleDOMNodeInsertedEvent(MutationEvent evt) {
-        if ( evt.getTarget() instanceof Element ){
+        if (evt.getTarget() instanceof Element) {
             handleElementAdded((CompositeGraphicsNode)node, 
                                e, 
                                (Element)evt.getTarget());
+        } else {
+            super.handleDOMNodeInsertedEvent(evt);
         }
     }
 
     /**
      * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
      */
-    public void handleElementAdded(CompositeGraphicsNode gn, 
-                                   Node parent, 
-                                   Element childElt) {
+    protected void handleElementAdded(CompositeGraphicsNode gn, 
+                                      Node parent, 
+                                      Element childElt) {
         // build the graphics node
         GVTBuilder builder = ctx.getGVTBuilder();
         GraphicsNode childNode = builder.build(ctx, childElt);

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGVTFont.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGVTFont.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGVTFont.java
index 49cbf33..4b8d31e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGVTFont.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGVTFont.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,15 +19,13 @@
 package org.apache.flex.forks.batik.bridge;
 
 import java.awt.Font;
-import java.awt.Paint;
-import java.awt.Stroke;
 import java.awt.font.FontRenderContext;
-import java.awt.font.TextAttribute;
 import java.text.AttributedCharacterIterator;
 import java.text.CharacterIterator;
 import java.text.StringCharacterIterator;
 import java.util.StringTokenizer;
-import java.util.Vector;
+import java.util.List;
+import java.util.ArrayList;
 
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
 import org.apache.flex.forks.batik.css.engine.value.Value;
@@ -42,13 +41,14 @@ import org.apache.flex.forks.batik.gvt.font.SVGGVTGlyphVector;
 import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
 import org.apache.flex.forks.batik.gvt.text.TextPaintInfo;
 import org.apache.flex.forks.batik.util.SVGConstants;
+
 import org.w3c.dom.Element;
 
 /**
  * Represents an SVG font.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGGVTFont.java,v 1.19 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGGVTFont.java 489226 2006-12-21 00:05:36Z cam $
  */
 public final class SVGGVTFont implements GVTFont, SVGConstants {
 
@@ -185,7 +185,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
         }
         float ret;
         ret = hKerningTable.getKerningValue(glyphCode1, glyphCode2,
-                                            glyphUnicodes[glyphCode1], 
+                                            glyphUnicodes[glyphCode1],
                                             glyphUnicodes[glyphCode2]);
         return ret*scale;
     }
@@ -207,7 +207,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
         }
         float ret;
         ret = vKerningTable.getKerningValue(glyphCode1, glyphCode2,
-                                            glyphUnicodes[glyphCode1], 
+                                            glyphUnicodes[glyphCode1],
                                             glyphUnicodes[glyphCode2]);
         return ret*scale;
     }
@@ -221,7 +221,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
      * @return An array of matching glyph codes. This may be empty.
      */
     public int[] getGlyphCodesForName(String name) {
-        Vector glyphCodes = new Vector();
+        List glyphCodes = new ArrayList();
         for (int i = 0; i < glyphNames.length; i++) {
             if (glyphNames[i] != null && glyphNames[i].equals(name)) {
                 glyphCodes.add(new Integer(i));
@@ -229,7 +229,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
         }
         int[] glyphCodeArray = new int[glyphCodes.size()];
         for (int i = 0; i < glyphCodes.size(); i++) {
-            glyphCodeArray[i] = ((Integer)glyphCodes.elementAt(i)).intValue();
+            glyphCodeArray[i] = ((Integer)glyphCodes.get(i)).intValue();
         }
         return glyphCodeArray;
     }
@@ -243,7 +243,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
      * @return An array of matching glyph codes. This may be empty.
      */
     public int[] getGlyphCodesForUnicode(String unicode) {
-        Vector glyphCodes = new Vector();
+        List glyphCodes = new ArrayList();
         for (int i = 0; i < glyphUnicodes.length; i++) {
             if (glyphUnicodes[i] != null && glyphUnicodes[i].equals(unicode)) {
                 glyphCodes.add(new Integer(i));
@@ -251,7 +251,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
         }
         int[] glyphCodeArray = new int[glyphCodes.size()];
         for (int i = 0; i < glyphCodes.size(); i++) {
-            glyphCodeArray[i] = ((Integer)glyphCodes.elementAt(i)).intValue();
+            glyphCodeArray[i] = ((Integer)glyphCodes.get(i)).intValue();
         }
         return glyphCodeArray;
     }
@@ -489,8 +489,8 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
                 if (glyphUnicodes[i].indexOf(c) == 0
                     && languageMatches(glyphLangs[i])
                     && orientationMatches(glyphOrientations[i])
-                    && formMatches(glyphUnicodes[i], glyphForms[i], 
-                                   aci, currentIndex)) {  
+                    && formMatches(glyphUnicodes[i], glyphForms[i],
+                                   aci, currentIndex)) {
                     // found a possible match
 
                     if (glyphUnicodes[i].length() == 1)  { // not a ligature
@@ -576,7 +576,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
             aci = (AttributedCharacterIterator)ci;
         }
 
-        Vector glyphs = new Vector();
+        List glyphs = new ArrayList();
         char c = ci.first();
         while (c != CharacterIterator.DONE) {
             boolean foundMatchingGlyph = false;
@@ -596,7 +596,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
                             tpi = (TextPaintInfo)aci.getAttribute(PAINT_INFO);
                         }
                         Glyph glyph = glyphBridge.createGlyph
-                            (ctx, glyphElement, textElement, i, 
+                            (ctx, glyphElement, textElement, i,
                              fontSize, fontFace, tpi);
                         glyphs.add(glyph);
                         foundMatchingGlyph = true;
@@ -650,7 +650,7 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
                     tpi = (TextPaintInfo)aci.getAttribute(PAINT_INFO);
                 }
                 Glyph glyph = glyphBridge.createGlyph
-                    (ctx, missingGlyphElement, textElement, -1, 
+                    (ctx, missingGlyphElement, textElement, -1,
                      fontSize, fontFace, tpi);
                 glyphs.add(glyph);
             }
@@ -659,10 +659,9 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
 
         // turn the vector of glyphs into an array;
         int numGlyphs = glyphs.size();
-        Glyph[] glyphArray = new Glyph[numGlyphs];
-        for (int i =0; i < numGlyphs; i++) {
-            glyphArray[i] = (Glyph)glyphs.get(i);
-        }
+
+        Glyph[] glyphArray = (Glyph[])glyphs.toArray( new Glyph[numGlyphs] );
+
         // return a new SVGGVTGlyphVector
         return new SVGGVTGlyphVector(this, glyphArray, frc);
     }
@@ -680,12 +679,13 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
     public GVTGlyphVector createGlyphVector(FontRenderContext frc,
                                             int[] glyphCodes,
                                             CharacterIterator ci) {
-        // costruct a string from the glyphCodes
-        String str = "";
-        for (int i = 0; i < glyphCodes.length; i++) {
-            str += glyphUnicodes[glyphCodes[i]];
+        // construct a string from the glyphCodes
+        int nGlyphs = glyphCodes.length;
+        StringBuffer workBuff = new StringBuffer( nGlyphs );
+        for (int i = 0; i < nGlyphs; i++) {
+            workBuff.append( glyphUnicodes[glyphCodes[i]] );
         }
-        StringCharacterIterator sci = new StringCharacterIterator(str);
+        StringCharacterIterator sci = new StringCharacterIterator( workBuff.toString() );
         return createGlyphVector(frc, sci);
     }
 
@@ -718,8 +718,12 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
                               hkernElements, vkernElements, textElement);
     }
 
+    public String getFamilyName() {
+        return fontFace.getFamilyName();
+    }
+
     protected GVTLineMetrics getLineMetrics(int beginIndex, int limit) {
-        if (lineMetrics != null) 
+        if (lineMetrics != null)
             return lineMetrics;
 
         float fontHeight = fontFace.getUnitsPerEm();
@@ -742,10 +746,10 @@ public final class SVGGVTFont implements GVTFont, SVGConstants {
 
 
         lineMetrics = new GVTLineMetrics
-            (ascent, Font.ROMAN_BASELINE, baselineOffsets, descent, 
-             fontHeight, fontHeight, limit-beginIndex, 
-             stOffset, stThickness, 
-             ulOffset, ulThickness, 
+            (ascent, Font.ROMAN_BASELINE, baselineOffsets, descent,
+             fontHeight, fontHeight, limit-beginIndex,
+             stOffset, stThickness,
+             ulOffset, ulThickness,
              olOffset, olThickness);
         return lineMetrics;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGlyphElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGlyphElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGlyphElementBridge.java
index 1e246f4..112094b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGlyphElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGGlyphElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,22 +18,22 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
-import java.awt.Paint;
 import java.awt.Shape;
-import java.awt.Stroke;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
 import java.util.StringTokenizer;
-import java.util.Vector;
+import java.util.List;
+import java.util.ArrayList;
 
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
-import org.apache.flex.forks.batik.gvt.font.Glyph;
 import org.apache.flex.forks.batik.gvt.font.GVTFontFace;
+import org.apache.flex.forks.batik.gvt.font.Glyph;
 import org.apache.flex.forks.batik.gvt.text.TextPaintInfo;
 import org.apache.flex.forks.batik.parser.AWTPathProducer;
 import org.apache.flex.forks.batik.parser.ParseException;
 import org.apache.flex.forks.batik.parser.PathParser;
+
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -43,7 +44,7 @@ import org.w3c.dom.NodeList;
  * Bridge class for the &lt;glyph> element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGGlyphElementBridge.java,v 1.14 2004/09/06 00:01:58 deweese Exp $
+ * @version $Id: SVGGlyphElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGGlyphElementBridge extends AbstractSVGBridge
     implements ErrorConstants {
@@ -81,8 +82,6 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
                              GVTFontFace fontFace,
                              TextPaintInfo tpi) {
 
-
-
         float fontHeight = fontFace.getUnitsPerEm();
         float scale = fontSize/fontHeight;
         AffineTransform scaleTransform
@@ -99,9 +98,9 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
                 PathParser pathParser = new PathParser();
                 pathParser.setPathHandler(app);
                 pathParser.parse(d);
-            } catch (ParseException ex) {
-                throw new BridgeException(glyphElement,
-                                          ERR_ATTRIBUTE_VALUE_MALFORMED,
+            } catch (ParseException pEx) {
+                throw new BridgeException(ctx, glyphElement,
+                                          pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                           new Object [] {SVG_D_ATTRIBUTE});
             } finally {
                 // transform the shape into the correct coord system
@@ -185,7 +184,7 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         // glyph-name
         String nameList
             = glyphElement.getAttributeNS(null, SVG_GLYPH_NAME_ATTRIBUTE);
-        Vector names = new Vector();
+        List names = new ArrayList();
         StringTokenizer st = new StringTokenizer(nameList, " ,");
         while (st.hasMoreTokens()) {
             names.add(st.nextToken());
@@ -212,17 +211,18 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
             s = parentFontElement.getAttributeNS(null, SVG_HORIZ_ADV_X_ATTRIBUTE);
             if (s.length() == 0) {
                 // throw an exception since this attribute is required on the font element
-                throw new BridgeException (parentFontElement, ERR_ATTRIBUTE_MISSING,
-                                           new Object[] {SVG_HORIZ_ADV_X_ATTRIBUTE});
+                throw new BridgeException
+                    (ctx, parentFontElement, ERR_ATTRIBUTE_MISSING,
+                     new Object[] {SVG_HORIZ_ADV_X_ATTRIBUTE});
             }
         }
         float horizAdvX;
         try {
             horizAdvX = SVGUtilities.convertSVGNumber(s) * scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (glyphElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_HORIZ_ADV_X_ATTRIBUTE, s});
+                (ctx, glyphElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_HORIZ_ADV_X_ATTRIBUTE, s});
         }
 
         // vert-adv-y
@@ -238,10 +238,10 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         float vertAdvY;
         try {
             vertAdvY = SVGUtilities.convertSVGNumber(s) * scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (glyphElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_VERT_ADV_Y_ATTRIBUTE, s});
+                (ctx, glyphElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_VERT_ADV_Y_ATTRIBUTE, s});
         }
 
         // vert-origin-x
@@ -257,10 +257,10 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         float vertOriginX;
         try {
             vertOriginX = SVGUtilities.convertSVGNumber(s) * scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (glyphElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_VERT_ORIGIN_X_ATTRIBUTE, s});
+                (ctx, glyphElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_VERT_ORIGIN_X_ATTRIBUTE, s});
         }
 
         // vert-origin-y
@@ -276,10 +276,10 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         float vertOriginY;
         try {
             vertOriginY = SVGUtilities.convertSVGNumber(s) * -scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (glyphElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_VERT_ORIGIN_Y_ATTRIBUTE, s});
+                (ctx, glyphElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_VERT_ORIGIN_Y_ATTRIBUTE, s});
         }
 
         Point2D vertOrigin = new Point2D.Float(vertOriginX, vertOriginY);
@@ -296,10 +296,10 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         float horizOriginX;
         try {
             horizOriginX = SVGUtilities.convertSVGNumber(s) * scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (parentFontElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_HORIZ_ORIGIN_X_ATTRIBUTE, s});
+                (ctx, parentFontElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_HORIZ_ORIGIN_X_ATTRIBUTE, s});
         }
 
         // horiz-origin-y
@@ -311,10 +311,10 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         float horizOriginY;
         try {
             horizOriginY = SVGUtilities.convertSVGNumber(s) * -scale;
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (glyphElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                new Object [] {SVG_HORIZ_ORIGIN_Y_ATTRIBUTE, s});
+                (ctx, glyphElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object [] {SVG_HORIZ_ORIGIN_Y_ATTRIBUTE, s});
         }
 
         Point2D horizOrigin = new Point2D.Float(horizOriginX, horizOriginY);
@@ -322,7 +322,7 @@ public class SVGGlyphElementBridge extends AbstractSVGBridge
         // return a new Glyph
         return new Glyph(unicode, names, orientation,
                          arabicForm, lang, horizOrigin, vertOrigin,
-                         horizAdvX, vertAdvY, glyphCode, 
+                         horizAdvX, vertAdvY, glyphCode,
                          tpi, dShape, glyphContentNode);
     }
 }


[61/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Merge branch 'release4.10.0'

Posted by jm...@apache.org.
Merge branch 'release4.10.0'


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/504abed4
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/504abed4
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/504abed4

Branch: refs/heads/release4.11.0
Commit: 504abed4bc131b89754cc0f6f812705f576d933f
Parents: 4f20635 659940e
Author: Justin Mclean <jm...@apache.org>
Authored: Sun Aug 4 03:28:26 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Sun Aug 4 03:28:26 2013 +1000

----------------------------------------------------------------------
 RELEASE_NOTES                                   | 26 +++++++++++++++++++-
 flex-sdk-description.xml                        |  2 +-
 .../src/spark/components/CallOut.as             | 10 ++++----
 .../src/spark/components/DataNavigator.as       |  4 ++-
 .../src/spark/components/DataNavigatorGroup.as  |  4 ++-
 .../framework/src/mx/collections/IList.as       | 14 -----------
 .../src/mx/collections/ListCollectionView.as    |  4 ++-
 .../framework/src/mx/preloaders/Preloader.as    | 22 +++++++++++++++++
 .../src/mx/resources/ResourceManagerImpl.as     |  8 ------
 .../spark/src/spark/collections/SubListView.as  |  2 +-
 .../src/java/flash/swf/tags/ProductInfo.java    |  2 +-
 11 files changed, 64 insertions(+), 34 deletions(-)
----------------------------------------------------------------------



[41/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/build.xml b/frameworks/projects/spark/build.xml
index d3ed252..47fbd03 100644
--- a/frameworks/projects/spark/build.xml
+++ b/frameworks/projects/spark/build.xml
@@ -20,180 +20,161 @@
 
 
 <project name="spark" default="main" basedir=".">
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
+    <property file="${FLEX_HOME}/build.properties"/>
 
     <macrodef name="bundle">
-		<attribute name="locale"/>
-		<sequential>
-			<echo message="Compiling frameworks/locale/@{locale}/spark_rb.swc"/>
+        <attribute name="locale"/>
+        <sequential>
+            <echo message="Compiling frameworks/locale/@{locale}/spark_rb.swc"/>
 
-			<!-- Load the <compc> task. We can't do this at the <project> level -->
-			<!-- because targets that run before flexTasks.jar gets built would fail. -->
-			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-			<compc fork="true" minimum-supported-version="4.0.0"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/spark_rb.swc"
-				   locale="@{locale}">
+            <!-- Load the <compc> task. We can't do this at the <project> level -->
+            <!-- because targets that run before flexTasks.jar gets built would fail. -->
+            <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+            <compc fork="true"
+                   output="${FLEX_HOME}/frameworks/locale/@{locale}/spark_rb.swc">
+                <jvmarg line="${compc.jvm.args}"/>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
+            </compc>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="fat-swc">
+        <attribute name="locale"/>
+        <sequential>
+        <echo message="creating 'fat-swc' in spark_rb.swc for @{locale}"/>
+            <mkdir dir="${basedir}/bundles/@{locale}/docs" />
+            <zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/spark_rb.swc" update="true">
+                <zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
+                    <include name="*.*"/>
+                </zipfileset>
+                <zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
+                    <include name="packages.dita"/>
+                </zipfileset>
+            </zip>
+        </sequential>
+    </macrodef> 
 
-				<target-player>10.2</target-player>
-				<jvmarg line="${compc.jvm.args}"/>
-                <include-resource-bundles bundle="layout"/>
-				<include-resource-bundles bundle="collections"/>
-				<include-resource-bundles bundle="components"/>
-				<include-resource-bundles bundle="sparkEffects"/>
-				<include-resource-bundles bundle="textLayout"/>
-                <include-resource-bundles bundle="osmf"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/>
-				<!--source-path path-element="${FLEX_HOME}/frameworks/projects/osmf/bundles/@{locale}"/-->
-				<!--source-path path-element="${FLEX_HOME}/frameworks/projects/textLayout/bundles/@{locale}"/-->
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/spark/src"/>
-				<include-libraries/>
-				<library-path/>
-                <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                    <include name="${playerglobal.version}/playerglobal.swc"/>
-                </external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-					<include name="framework.swc"/>
-				</external-library-path>
-			</compc>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="fat-swc">
-		<attribute name="locale"/>
-		<sequential>
-		<echo message="creating 'fat-swc' in spark_rb.swc for @{locale}"/>
-			<mkdir dir="${basedir}/bundles/@{locale}/docs" />
-			<zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/spark_rb.swc" update="true">
-				<zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
-					<include name="*.*"/>
-				</zipfileset>
-				<zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
-					<include name="packages.dita"/>
-				</zipfileset>
-			</zip>
-		</sequential>
-	</macrodef>	
+    <macrodef name="bundler">
+        <attribute name="locale"/>
+        <element name="run.fat.swc" optional="yes"/>
+        <sequential>
+            <bundle-clean locale="@{locale}"/>
+            <bundle locale="@{locale}"/>
+            <run.fat.swc/>
+        </sequential>
+    </macrodef>
+    
+    <macrodef name="bundle-clean">
+        <attribute name="locale"/>
+        <sequential>
+            <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/locale">
+                <include name="@{locale}/spark_rb.swc"/>
+                <include name="@{locale}/spark_rb.swc.incr"/>
+                <include name="@{locale}/flex4_rb.swc"/>
+            </fileset>
+        </delete>
+        </sequential>
+    </macrodef>
+        
+    <target name="main" depends="clean,compile" description="Clean build of spark.swc and en_US">
+        <bundle locale="${locale}"/>
+    </target>
+    
+    <target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
+    
+    <!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
+    <!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
+    <target name="bundles">
+        <!-- these languages do not have localized docs-->
+        <bundler locale="en_AU"/><!-- Australian resources -->
+        <bundler locale="en_GB"/><!-- United Kingdom resources -->
+        <bundler locale="en_CA"/><!-- Canadian resources -->
+        <bundler locale="da_DK"/><!-- Danish resources -->
+        <bundler locale="de_DE"><!-- German resources -->
+            <run.fat.swc>
+                <fat-swc locale="de_DE"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="de_CH"/><!-- Swiss German resources -->
+        <bundler locale="es_ES"/><!-- Spanish resources -->
+        <bundler locale="fi_FI"/><!--  Finnish resources-->
+        <bundler locale="fr_FR"><!-- French resources -->
+            <run.fat.swc>
+                <fat-swc locale="fr_FR"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="it_IT"/><!-- Italian resources -->
+        <bundler locale="ja_JP"><!-- Japanese resources -->
+            <run.fat.swc>
+                <fat-swc locale="ja_JP"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="ko_KR"/><!-- Korean resources -->
+        <bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
+        <bundler locale="nl_NL"/><!-- Dutch resources -->
+        <bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
+        <bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
+        <bundler locale="ru_RU"><!-- Russian resources -->
+            <run.fat.swc>
+                <fat-swc locale="ru_RU"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="sv_SE"/><!-- Swedish resources -->
+        <bundler locale="zh_CN"><!-- Simplified Chinese resources -->
+            <run.fat.swc>
+                <fat-swc locale="zh_CN"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
+        <bundler locale="el_GR"/><!-- Greek Language  resources -->
+    </target>
+        
+    <target name="clean" depends="bundles-clean, pixelbender-clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}" >
+                <include name="bundles.properties"/>
+                <include name="bundles/en_US/packages.dita"/>
+                <include name="manifest.xml"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/libs">
+                <include name="spark.swc"/>
+                <include name="graphics.swc"/>
+                <include name="spark.swc.incr"/>
+                <include name="flex4.swc"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="bundles-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/locale">
+                <include name="*/spark_rb.swc"/>
+                <include name="*/spark_rb.swc.incr"/>
+                <include name="*/flex4_rb.swc"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="pixelbender-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/assets">
+                <include name="**/*.pbj"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/projects/spark/src/spark/effects">
+                <include name="**/*.pbj"/>
+            </fileset>
+        </delete>
+    </target>
 
-	<macrodef name="bundler">
-		<attribute name="locale"/>
-		<element name="run.fat.swc" optional="yes"/>
-		<sequential>
-			<bundle-clean locale="@{locale}"/>
-			<bundle locale="@{locale}"/>
-			<run.fat.swc/>
-		</sequential>
-	</macrodef>
-	
-	<macrodef name="bundle-clean">
-		<attribute name="locale"/>
-		<sequential>
-			<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/locale">
-				<include name="@{locale}/spark_rb.swc"/>
-				<include name="@{locale}/spark_rb.swc.incr"/>
-				<include name="@{locale}/flex4_rb.swc"/>
-			</fileset>
-		</delete>
-		</sequential>
-	</macrodef>
-		
-	<target name="main" depends="clean,compile" description="Clean build of spark.swc and en_US">
-		<bundle locale="${locale}"/>
-	</target>
-	
-	<target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
-	
-	<!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
-	<!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
-	<target name="bundles">
-		<!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
-		<bundler locale="da_DK"/><!-- Danish resources -->
-		<bundler locale="de_DE"><!-- German resources -->
-			<run.fat.swc>
-				<fat-swc locale="de_DE"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="es_ES"/><!-- Spanish resources -->
-		<bundler locale="fi_FI"/><!--  Finnish resources-->
-		<bundler locale="fr_FR"><!-- French resources -->
-			<run.fat.swc>
-				<fat-swc locale="fr_FR"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="it_IT"/><!-- Italian resources -->
-		<bundler locale="ja_JP"><!-- Japanese resources -->
-			<run.fat.swc>
-				<fat-swc locale="ja_JP"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="ko_KR"/><!-- Korean resources -->
-		<bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
-		<bundler locale="nl_NL"/><!-- Dutch resources -->
-		<bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
-		<bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
-		<bundler locale="ru_RU"><!-- Russian resources -->
-			<run.fat.swc>
-				<fat-swc locale="ru_RU"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="sv_SE"/><!-- Swedish resources -->
-		<bundler locale="zh_CN"><!-- Simplified Chinese resources -->
-			<run.fat.swc>
-				<fat-swc locale="zh_CN"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-		<bundler locale="el_GR"/><!-- Greek Language  resources -->
-	</target>
-		
-	<target name="clean" depends="bundles-clean, pixelbender-clean">
-		<delete failonerror="false">
-			<fileset dir="${basedir}" >
-				<include name="bundles.properties"/>
-			    <include name="bundles/en_US/packages.dita"/>
-				<include name="manifest.xml"/>
-			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/libs">
-				<include name="spark.swc"/>
-				<include name="graphics.swc"/>
-				<include name="spark.swc.incr"/>
-				<include name="flex4.swc"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="bundles-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/locale">
-				<include name="*/spark_rb.swc"/>
-				<include name="*/spark_rb.swc.incr"/>
-				<include name="*/flex4_rb.swc"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="pixelbender-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/assets">
-				<include name="**/*.pbj"/>
-			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/projects/spark/src/spark/effects">
-				<include name="**/*.pbj"/>
-			</fileset>
-		</delete>
-	</target>
-
-	<target name="pixelbender-compile">
+    <target name="pixelbender-compile">
         <exec executable="${env.PIXELBENDER_HOME}/pbutil">
             <arg value="${FLEX_HOME}/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/assets/twist.pbk" />
             <arg value="${FLEX_HOME}/frameworks/projects/spark/asdoc/en_US/spark/effects/examples/assets/twist.pbj" />
@@ -218,102 +199,83 @@
             <arg value="${FLEX_HOME}/frameworks/projects/spark/src/spark/effects/WipeRight.pbk" />
             <arg value="${FLEX_HOME}/frameworks/projects/spark/src/spark/effects/WipeRight.pbj" />
         </exec>
-	</target>
+    </target>
 
-	
-	<target name="prepare" description="Copies manifests to project directories so the IDE can find them">
-		<copy file="${FLEX_HOME}/frameworks/spark-manifest.xml" tofile="${basedir}/manifest.xml" overwrite="true"/>
-	</target>
-	
-	<target name="compile" depends="prepare, pixelbender-compile" description="Compiles spark.swc">
-		<echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
-		<echo message="Compiling frameworks/libs/spark.swc"/>
+    
+    <target name="prepare" description="Copies manifests to project directories so the IDE can find them">
+        <copy file="${FLEX_HOME}/frameworks/spark-manifest.xml" tofile="${basedir}/manifest.xml" overwrite="true"/>
+    </target>
+    
+    <target name="compile" depends="prepare, pixelbender-compile" description="Compiles spark.swc">
+        <echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
+        <echo message="Compiling frameworks/libs/spark.swc"/>
 
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			Link in the classes (and their dependencies) for the MXML tags
-			listed in this project's manifest.xml.
-			Also link the additional classes (and their dependencies)
-			listed in SparkClasses.as,
-			because these aren't referenced by the manifest classes.
-			Link in accessibility support.
-			Include the appropriate CSS files and assets in the SWC.
-			Don't include any resources in the SWC.
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-		-->
-		<compc fork="true" minimum-supported-version="4.0.0"
-			   output="${FLEX_HOME}/frameworks/libs/spark.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest.xml"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/spark"/>
-			<include-classes>SparkClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path />
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-                <include name="osmf.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="version.properties" path="${FLEX_HOME}/frameworks/version.properties"/>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<include-file name="assets/ErrorIndicator.png" path="${basedir}/assets/ErrorIndicator.png"/>
-			<include-file name="assets/RequiredIndicator.png" path="${basedir}/assets/RequiredIndicator.png"/>
-			<locale/>
-            <keep-as3-metadata name="SkinPart"/>
-			<accessible>true</accessible>
-		</compc>
-		<delete file="${FLEX_HOME}/frameworks/version.properties"/>
-	</target>
-	
-	<target name="doc" depends="clean-temp-docs" description="updates spark.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in SparkClasses.as,
+            because these aren't referenced by the manifest classes.
+            Link in accessibility support.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/spark.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+        <delete file="${FLEX_HOME}/frameworks/version.properties"/>
+    </target>
+    
+    <target name="doc" depends="clean-temp-docs" description="updates spark.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
 
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		    <compiler.source-path path-element="${basedir}/src"/>
-		    <doc-classes class="SparkClasses"/>
-		    <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
-			<namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest.xml"/>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="SparkClasses"/>
+            <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
+            <namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
 
-		<!-- updates spark.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/locale/en_US/spark_rb.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-		<copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/> 
-	</target>
+        <!-- updates spark.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/locale/en_US/spark_rb.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+        <copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/> 
+    </target>
 
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-		<delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
-	</target>
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+        <delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
+    </target>
 
 </project>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundle-config.xml b/frameworks/projects/spark/bundle-config.xml
new file mode 100644
index 0000000..82173a7
--- /dev/null
+++ b/frameworks/projects/spark/bundle-config.xml
@@ -0,0 +1,59 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <mxml>
+            <minimum-supported-version>4.0.0</minimum-supported-version>
+        </mxml>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/bundles/${locale}</path-element>
+            <path-element>../spark/src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>layout</bundle>
+        <bundle>collections</bundle>
+        <bundle>components</bundle>
+        <bundle>sparkEffects</bundle>
+        <bundle>osmf</bundle>
+    </include-resource-bundles>
+        
+    <target-player>10.2</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/da_DK/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/da_DK/textLayout.properties b/frameworks/projects/spark/bundles/da_DK/textLayout.properties
deleted file mode 100644
index 82a5250..0000000
--- a/frameworks/projects/spark/bundles/da_DK/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Ingen streng til ressourcen {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Forsøg på at konstruere en ugyldig FlowElement-underklasse
-invalidSplitAtPosition=Ugyldig parameter for splitAtPosition
-badMXMLChildrenArgument=Forkert element af typen {0} videregivet til mxmlChildren
-badReplaceChildrenIndex=Indekset for FlowGroupElement.replaceChildren er udenfor intervallet
-invalidChildType=NewElement er ikke af en type som denne kan være overordnet for
-badRemoveChild=Der blev ikke fundet en underordnet at fjerne
-invalidSplitAtIndex=Ugyldig parameter for splitAtIndex
-badShallowCopyRange=Forkert interval i shallowCopy
-badSurrogatePairCopy=Der kopieres kun halvdelen af et erstatningspar i SpanElement.shallowCopy
-invalidReplaceTextPositions=Ugyldige positioner videregivet til SpanElement.replaceText
-invalidSurrogatePairSplit=Ugyldig opdeling af et erstatningspar
-badPropertyValue=Værdien {1} for egenskaben {0} er udenfor intervallet
-
-# Selection/editing
-
-illegalOperation=Ugyldigt forsøg på at starte handlingen {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Uventet element {0} indenfor et område
-unexpectedNamespace=Uventet navneområde {0}
-unknownElement=Ukendt element {0}
-unknownAttribute=Attributten {0} understøttes ikke i elementet {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Forkert formet kode {0}
-malformedMarkup=Forkert formet mærke {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Der er ingen TextFlow at fortolke
-expectedExactlyOneTextLayoutFormat=Der blev kun forventet ét TextLayoutFormat i {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/de_CH/components.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/de_CH/components.properties b/frameworks/projects/spark/bundles/de_CH/components.properties
new file mode 100644
index 0000000..dc6edd2
--- /dev/null
+++ b/frameworks/projects/spark/bundles/de_CH/components.properties
@@ -0,0 +1,100 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# DataGridAccImpl
+rowMofN = Zeile %1 von %2
+sortedAscending = Sortiert
+sortedDescending = In absteigender Reihenfolge
+sortLevel = Ebene %1
+
+# DataGroup
+cannotDisplayVisualElement=DataGroup kann visuelle Elemente nur dann direkt anzeigen, wenn die Elemente Anzeigeobjekte sind und IVisualElement implementieren.
+unableToCreateRenderer=Es konnte kein Elementrenderer für {0} erstellt werden.
+addChildDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie addChild() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+addChildAtDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie addChildAt() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+removeChildDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie removeChild() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+removeChildAtDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie removeChildAt() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+setChildIndexDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie setChildIndex() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+swapChildrenDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie swapChildren() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+swapChildrenAtDataGroupError=DataGroup verwaltet ihre eigenen Anzeigeobjekte. Rufen Sie swapChildrenAt() nicht direkt auf. Ändern Sie den dataProvider, wenn Sie Elemente hinzufügen, entfernen oder austauschen möchten.
+	
+# Application
+viewSource=Quelle anzeigen
+
+# VideoPlayer
+videoPlayerVideoDisplayAccName=Videoplayer
+videoPlayerPlayButtonAccName=Wiedergeben,Anhalten
+videoPlayerScrubBarAccName=Bereinigen
+videoPlayerMuteButtonAccName=Ton an,Ton aus
+videoPlayerVolumeBarAccName=Lautstärke
+videoPlayerFullScreenButtonAccName=Vollbild
+
+# SkinnableComponent
+skinNotFound=Skin für {0} kann nicht gefunden werden.
+requiredSkinPartNotFound=Erforderlicher Skin-Teil {0} kann nicht gefunden werden.
+
+# SkinnableComponent, Group
+addChildError=addChild() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen addElement() oder ändern Sie die Skin (sofern Sie eine haben).
+addChildAtError=addChildAt() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen addElementAt() oder ändern Sie die Skin (sofern Sie eine haben).
+removeChildError=removeChild() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen removeElement() oder ändern Sie die Skin (sofern Sie eine haben).
+removeChildAtError=removeChildAt() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen removeElementAt() oder ändern Sie die Skin (sofern Sie eine haben).
+setChildIndexError=setChildIndex() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen setElementIndex() oder ändern Sie die Skin (sofern Sie eine haben).
+swapChildrenError=swapChildren() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen swapElements() oder ändern Sie die Skin (sofern Sie eine haben).
+swapChildrenAtError=swapChildrenAt() ist nicht in dieser Klasse verfügbar. Verwenden Sie stattdessen swapElementsAt() oder ändern Sie die Skin (sofern Sie eine haben).
+
+# HGroup, VGroup
+layoutReadOnly=Sie sind nicht dazu berechtigt, das Layout für diese Klasse zu ändern.  Das Layout ist schreibgeschützt.
+
+# Scroller
+elementNotFoundInScroller={0} nicht in dieser Bildlaufleiste gefunden.
+operationNotSupported=Diese Methode wird nicht unterstützt.
+operationSupportedForOneAxisOnly=Diese Methode wird nur unterstützt, wenn entweder ein horizontaler oder ein vertikaler Bildlauf durchgeführt wird, aber nicht beide.
+operationRequiresViewportLayout=Bei dieser Methode ist es erforderlich, dass der Viewport über ein Layout verfügt.
+operationRequiresSnappingMode=Bei dieser Methode ist es erforderlich, dass scrollSnappingMode nicht auf NONE eingestellt ist. 
+
+# Group
+cannotAddYourselfAsYourChild=Es ist nicht möglich, ein Element als untergeordnetes Element von sich selbst hinzuzufügen.
+elementNotFoundInGroup={0} wurde nicht in dieser Gruppe gefunden.
+mxmlElementNoMultipleParents=MXML-Element {0} kann nur ein übergeordnetes Element haben.
+scaleGridGroupError=ScaleGrid-Eigenschaften können nicht für diese Gruppe festgelegt werden, weil mindestens ein untergeordnetes Element ein DisplayObject ist.
+
+# Scroller, Group
+indexOutOfRange=Index {0} ist außerhalb des Bereichs.
+
+# DisplayLayer
+objectNotFoundInDisplayLayer={0} nicht in diesem DisplayLayer gefunden.
+
+# Slider
+sliderPageUpAccName=Nach oben
+sliderPageDownAccName=Nach unten
+sliderPageLeftAccName=Nach links
+sliderPageRightAccName=Nach rechts
+sliderPositionAccName=Position
+
+# Spinner
+spinnerLessAccName=Weniger
+spinnerMoreAccName=Mehr
+
+# ToggleSwitch
+toggleSwitchSelectedLabel=ON
+toggleSwitchUnselectedLabel=OFF
+
+# StyleableTextField
+styleSheetError=Diese Methode oder Eigenschaft kann nicht für ein Textfeld mit einem Stylesheet verwendet werden.
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/de_CH/layout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/de_CH/layout.properties b/frameworks/projects/spark/bundles/de_CH/layout.properties
new file mode 100644
index 0000000..a161c8f
--- /dev/null
+++ b/frameworks/projects/spark/bundles/de_CH/layout.properties
@@ -0,0 +1,30 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# LinearLayoutVector
+invalidIndex=invalidIndex
+
+# BasicLayout
+basicLayoutNotVirtualized=BasicLayout unterstützt keine Virtualisierung.
+
+# ConstraintLayout
+columnNotFound=ConstraintColumn „{0}“ nicht gefunden.
+constraintLayoutNotVirtualized=ConstraintLayout unterstützt keine Virtualisierung.
+invalidBaselineOnRow=Ungültiger Grundlinienwert in Zeile {0}: „{1}“. Muss eine Zahl sein oder in der Form „maxAscent:x“ angegeben werden.
+rowNotFound=ConstraintRow „{0}“ nicht gefunden.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/de_CH/osmf.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/de_CH/osmf.properties b/frameworks/projects/spark/bundles/de_CH/osmf.properties
new file mode 100644
index 0000000..61e1b00
--- /dev/null
+++ b/frameworks/projects/spark/bundles/de_CH/osmf.properties
@@ -0,0 +1,109 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# Retrieved from 
+# var rb:Dictionary = OSMFStrings.resourceDict;
+# var keys:Vector.<String> = new Vector.<String>();
+# 
+# for (var i in rb)
+# {
+#     keys.push(i);
+# }
+# 
+# keys.sort(function (a:String, b:String):int 
+# {
+#     return a.localeCompare(b);
+# });
+# 
+# for (var j:int = 0; j < keys.length; j++)
+# {
+#     trace(keys[j] + "=" + rb[keys[j]]);
+# }
+
+alreadyListed=Das Objekt ist bereits in der Liste enthalten.
+alreadyLoading=Ladeprogramm - Versuch, ein Objekt zu laden, das gerade geladen wird
+alreadyReady=Ladeprogramm - Versuch, ein Objekt zu laden, das bereits geladen ist
+alreadyUnloaded=Ladeprogramm - Versuch, ein Objekt zu entladen, das bereits entladen ist
+alreadyUnloading=Ladeprogramm - Versuch, ein Objekt zu entladen, das gerade entladen wird
+audioIOLoadError=E/A-Fehler beim Laden der Audiodatei
+audioSecurityLoadError=Sicherheitsfehler beim Laden der Audiodatei
+beaconFailureError=Beacon-Fehler: Pingen der HTTP-URL fehlgeschlagen
+compositeTraitNotFound=Zur gegebenen Eigenschaft wurde keine zusammengesetzte Eigenschaft gefunden.
+contentIOLoadError=E/A-Fehler beim Laden von Grafik oder SWF-Datei
+contentSecurityLoadError=Sicherheitsfehler beim Laden von Grafik oder SWF-Datei
+drmAuthenticationFailed=AuthenticationFailed	  SWF-Datei muss Benutzer auffordern, Anmeldedaten erneut einzugeben und Lizenzerwerb zu wiederholen
+drmContentNotYetValid=ContentNotYetValid	  Die erworbene Lizenz ist noch nicht gültig
+drmMetadataNotSet=Metadaten der DRMServices noch nicht festgelegt
+drmNeedsAuthentication=NeedAuthentication	  Behebung durch Authentifizierung des Benutzers und Wiederholen des Lizenzerwerbs
+f4mParseNoId=Manifest-ID-Tag fehlt
+fileStructureInvalid=Datei hat ungültige Struktur
+functionMustBeOverridden=Diese Funktion muss außer Kraft gesetzt werden
+httpIOLoadError=E/A-Fehler beim Laden von URL über HTTP
+httpSecurityLoadError=Sicherheitsfehler beim Laden von URL über HTTP
+iLoaderCantHandleResource=ILoader konnte die vorhandene IMediaResource nicht verarbeiten
+illegalConstructorInvocation=Verwenden Sie die statische getInstance-Methode, um eine Klasseninstanz zu erhalten.
+invalidLayoutRendererConstructor=ILayoutRenderer-Implementierung konnte nicht erstellt werden
+invalidParam=Ungültiger Parameter an Methode übergeben
+invalidPluginImplementation=Laden des Plug-ins fehlgeschlagen wegen ungültiger oder fehlender Implementierung von IPluginInfo
+invalidPluginVersion=Laden des Plug-ins wegen Versionskonflikt fehlgeschlagen
+invalidSwfASVersion=Das Laden von Inhalten aus Versionen vor AS3 (AVM1) wird nicht unterstützt
+invalidURLProtocol=Ungültiges URL-Protokoll
+loadedContextNonNull=LoadedContext ist ungleich null bei LoadState.UNINITIALIZED
+loadedContextNull=LoadedContext ist null bei LoadState.READY
+missingStringResource=Kein String für Ressource „{0}“.
+mustSetILoaderForLoad=ILoader muss vor dem Aufrufen von ILoader.load auf ILoadable gesetzt werden
+mustSetILoaderForUnload=ILoader muss vor dem Aufrufen von ILoader.unload auf ILoadable gesetzt werden
+namespaceMustBeUnique=Der Namespace-String muss eindeutig sein
+namespaceMustEqualGroupNS=Der Namespace-String muss mit dem Gruppen-Namespace identisch sein
+namespaceMustNotBeEmpty=Der Namespace-String darf nicht leer sein
+netConnectionArgumentError=Argumentfehler erhalten beim Versuch, eine NetConnection aufzubauen
+netConnectionAsyncError=Asynchron-Fehler erhalten beim Versuch, eine NetConnection aufzubauen
+netConnectionFailed=Alle NetConnection-Versuche sind fehlgeschlagen
+netConnectionIOError=E/A-Fehler erhalten beim Versuch, eine NetConnection aufzubauen
+netConnectionInvalidApp=Verbindungsversuch zu ungültiger Anwendung
+netConnectionRejected=Verbindungsversuch von FMS-Server zurückgewiesen
+netConnectionSecurityError=Netzsicherheitsfehler erhalten beim Versuch, eine NetConnection aufzubauen
+netConnectionTimeout=Zeitüberschreitung beim Versuch, eine stabile NetConnection aufzubauen
+noSupportedTrackFound=Kein unterstützter Track gefunden
+nullNetStream=NetStream der Eigenschaft ist null
+nullParam=Null-Parameter an Methode übergeben
+nullScriptPath=Die Methode erfordert das Festlegen eines gültigen Skriptpfads
+playFailedNetConnectionFailure=Wiedergabe aufgrund eines NetConnection-Fehlers fehlgeschlagen
+playFailedNoSoundChannels=Wiedergabe fehlgeschlagen, da keine Soundkanäle verfügbar sind
+playbackFailed=Wiedergabe fehlgeschlagen
+streamNotFound=Stream nicht gefunden
+streamSwitchInvalidIndex=Dynamic Stream Switching - Ungültiger Index angefordert
+streamSwitchStreamNotFound=Dynamic Stream Switching - Stream nicht gefunden
+streamSwitchStreamNotInManualMode=Dynamic Stream Switching - Stream ist nicht im manuellen Modus
+swfIOLoadError=E/A-Fehler beim Laden der SWF-Datei
+swfSecurityError=Sicherheitsfehler beim Laden der SWF-Datei
+switchingDownBandwidthInsufficient=Die durchschnittliche Bandbreite reicht für die Bitrate des aktuellen Stream nicht aus
+switchingDownBufferInsufficient=Unzureichende Pufferlänge
+switchingDownFrameDropUnacceptable=Anzahl der im aktuellen Stream durchschnittlich übersprungenen Bilder pro Sekunde ist nicht akzeptabel
+switchingDownOther=Verringern
+switchingManual=Manuelle Einstellung
+switchingUpBandwidthSufficient=Erhöhung, da aktuelle Bandbreite ausreicht
+switchingUpOther=Erhöhung
+traitInstanceAlreadyAdded=Diesem MediaElement wurde bereits eine Instanz dieser Eigenschaftsklasse hinzugefügt
+traitNotSupported=MediaPlayer - Methode für null Medien aufgerufen oder für Medien, die *Eigenschaft* nicht entsprechen
+traitResolverAlreadyAdded=Diesem MediaElement wurde bereits ein Eigenschafts-Resolver für den angegebenen Eigenschaftstyp hinzugefügt
+traitTypeMismatch=Nicht erwarteter Typ der angegebenen Eigenschaftsinstanz
+unsupportedTraitType=Der angegebene Eigenschaftstyp wird nicht unterstützt

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/de_CH/sparkEffects.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/de_CH/sparkEffects.properties b/frameworks/projects/spark/bundles/de_CH/sparkEffects.properties
new file mode 100644
index 0000000..3edb809
--- /dev/null
+++ b/frameworks/projects/spark/bundles/de_CH/sparkEffects.properties
@@ -0,0 +1,40 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# Animation
+startValContainsNonNums=Das startValue-Array enthält andere Werte als Zahlen: Sie müssen für die Animation einen Interpolator bereitstellen.
+endValContainsNonNums=Das endValue-Array enthält andere Werte als Zahlen: Sie müssen für die Animation einen benutzerdefinierten Interpolator bereitstellen.
+
+# ArrayInterpolator
+arraysNotOfEqualLength=Das Anfangs- und Endarray müssen die gleiche Länge haben.
+
+# Constant
+accDecWithinRange=(Beschleunigung + Abbremsen) muss im Bereich [0,1] sein.
+
+# AnimateInstance
+illegalPropValue=Unzulässiger Eigenschaftswert: {0}.
+propNotPropOrStyle=Die Eigenschaft {0} ist weder eine Eigenschaft noch ein Stil auf Objekt {1}: {2}.
+
+# AnimateShaderTransition
+cannotOperateOn=AnimateShaderTransition funktioniert nur auf IUIComponent- und GraphicElement-Instanzen.
+
+# NumberInterpolator
+cannotCalculateValue=Der Interpolator kann keine interpolierten Werte berechnen, wenn startValue ({0}) oder endValue ({1}) keine Zahl ist.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/de_DE/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/de_DE/textLayout.properties b/frameworks/projects/spark/bundles/de_DE/textLayout.properties
deleted file mode 100644
index 8bf7db3..0000000
--- a/frameworks/projects/spark/bundles/de_DE/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Kein String für Ressource „{0}“.
-
-# Core errors
-
-invalidFlowElementConstruct=Versuch, ungültige FlowElement-Unterklasse zu erstellen
-invalidSplitAtPosition=Ungültiger Parameter für splitAtPosition
-badMXMLChildrenArgument=Ungültiges Element des Typs „{0}“ an mxmlChildren übergeben
-badReplaceChildrenIndex=Index für FlowGroupElement.replaceChildren außerhalb des Bereichs
-invalidChildType=NewElement entspricht keinem Typ, der ihm übergeordnet sein kann
-badRemoveChild=Zu entfernendes untergeordnetes Element nicht gefunden
-invalidSplitAtIndex=Ungültiger Parameter für splitAtIndex
-badShallowCopyRange=Ungültiger Bereich in shallowCopy
-badSurrogatePairCopy=Es wird nur eine Hälfte eines Surrogat-Paars von SpanElement.shallowCopy kopiert
-invalidReplaceTextPositions=Ungültige Positionen an SpanElement.replaceText übergeben
-invalidSurrogatePairSplit=Ungültige Teilung eines Surrogat-Paars
-badPropertyValue={0}-Eigenschaft mit Wert „{1}“ liegt außerhalb des Bereichs
-
-# Selection/editing
-
-illegalOperation=Unzulässiger Versuch, {0}-Methode auszuführen
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Nicht erwartetes Element „{0}“ innerhalb einer Spanne
-unexpectedNamespace=Unerwarteter Namespace „{0}“
-unknownElement=Unbekanntes Element „{0}“
-unknownAttribute=Attribut „{0}“ in Element „{1}“ nicht zulässig
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Nicht wohlgeformtes Tag „{0}“
-malformedMarkup=Nicht wohlgeformtes Markup „{0}“
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Kein zu parsender TextFlow vorhanden
-expectedExactlyOneTextLayoutFormat=Es wird nur ein einziges TextLayoutFormat in {0}	 erwartet

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/el_GR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/el_GR/textLayout.properties b/frameworks/projects/spark/bundles/el_GR/textLayout.properties
deleted file mode 100644
index f377fdb..0000000
--- a/frameworks/projects/spark/bundles/el_GR/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No string for resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
-invalidSplitAtPosition=Invalid parameter to splitAtPosition
-badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
-badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
-invalidChildType=NewElement not of a type that this can be parent of
-badRemoveChild=Child to remove not found
-invalidSplitAtIndex=Invalid parameter to splitAtIndex
-badShallowCopyRange=Bad range in shallowCopy
-badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
-invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
-invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
-badPropertyValue=Property {0} value {1} is out of range
-
-# Selection/editing
-
-illegalOperation=Illegal attempt to execute {0} operation
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Unexpected element {0} within a span
-unexpectedNamespace=Unexpected namespace {0}
-unknownElement=Unknown element {0}
-unknownAttribute=Attribute {0} not permitted in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Malformed tag {0}
-malformedMarkup=Malformed markup {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No TextFlow to parse
-expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/en_AU/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/en_AU/textLayout.properties b/frameworks/projects/spark/bundles/en_AU/textLayout.properties
deleted file mode 100644
index 47d5987..0000000
--- a/frameworks/projects/spark/bundles/en_AU/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No string for resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
-invalidSplitAtPosition=Invalid parameter to splitAtPosition
-badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
-badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
-invalidChildType=NewElement not of a type that this can be parent of
-badRemoveChild=Child to remove not found
-invalidSplitAtIndex=Invalid parameter to splitAtIndex
-badShallowCopyRange=Bad range in shallowCopy
-badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
-invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
-invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
-badPropertyValue=Property {0} value {1} is out of range
-
-# Selection/editing
-
-illegalOperation=Illegal attempt to execute {0} operation
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Unexpected element {0} within a span
-unexpectedNamespace=Unexpected namespace {0}
-unknownElement=Unknown element {0}
-unknownAttribute=Attribute {0} not permitted in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Malformed tag {0}
-malformedMarkup=Malformed markup {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No TextFlow to parse
-expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/en_CA/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/en_CA/textLayout.properties b/frameworks/projects/spark/bundles/en_CA/textLayout.properties
deleted file mode 100644
index 60d1633..0000000
--- a/frameworks/projects/spark/bundles/en_CA/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No string for resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
-invalidSplitAtPosition=Invalid parameter to splitAtPosition
-badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
-badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
-invalidChildType=NewElement not of a type that this can be parent of
-badRemoveChild=Child to remove not found
-invalidSplitAtIndex=Invalid parameter to splitAtIndex
-badShallowCopyRange=Bad range in shallowCopy
-badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
-invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
-invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
-badPropertyValue=Property {0} value {1} is out of range
-
-# Selection/editing
-
-illegalOperation=Illegal attempt to execute {0} operation
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Unexpected element {0} within a span
-unexpectedNamespace=Unexpected namespace {0}
-unknownElement=Unknown element {0}
-unknownAttribute=Attribute {0} not permitted in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Malformed tag {0}
-malformedMarkup=Malformed markup {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No TextFlow to parse
-expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/en_GB/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/en_GB/textLayout.properties b/frameworks/projects/spark/bundles/en_GB/textLayout.properties
deleted file mode 100755
index 47d5987..0000000
--- a/frameworks/projects/spark/bundles/en_GB/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No string for resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
-invalidSplitAtPosition=Invalid parameter to splitAtPosition
-badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
-badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
-invalidChildType=NewElement not of a type that this can be parent of
-badRemoveChild=Child to remove not found
-invalidSplitAtIndex=Invalid parameter to splitAtIndex
-badShallowCopyRange=Bad range in shallowCopy
-badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
-invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
-invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
-badPropertyValue=Property {0} value {1} is out of range
-
-# Selection/editing
-
-illegalOperation=Illegal attempt to execute {0} operation
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Unexpected element {0} within a span
-unexpectedNamespace=Unexpected namespace {0}
-unknownElement=Unknown element {0}
-unknownAttribute=Attribute {0} not permitted in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Malformed tag {0}
-malformedMarkup=Malformed markup {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No TextFlow to parse
-expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/en_US/osmf.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/en_US/osmf.properties b/frameworks/projects/spark/bundles/en_US/osmf.properties
index 6583d93..8b7336d 100644
--- a/frameworks/projects/spark/bundles/en_US/osmf.properties
+++ b/frameworks/projects/spark/bundles/en_US/osmf.properties
@@ -95,7 +95,7 @@ streamSwitchStreamNotFound=Dynamic Stream Switching - stream not found
 streamSwitchStreamNotInManualMode=Dynamic Stream Switching - stream is not in manual mode
 swfIOLoadError=I/O error when loading SWF
 swfSecurityError=Security error when loading SWF
-switchingDownBandwidthInsufficient=Average bandwidth is insufficient for the current stream's bitrate
+switchingDownBandwidthInsufficient=Average bandwith is insufficient for the current stream's bitrate
 switchingDownBufferInsufficient=Buffer length is insufficient
 switchingDownFrameDropUnacceptable=Average dropped Frames per Second is unacceptable for the current stream
 switchingDownOther=Switching down

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/en_US/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/en_US/textLayout.properties b/frameworks/projects/spark/bundles/en_US/textLayout.properties
deleted file mode 100644
index 60d1633..0000000
--- a/frameworks/projects/spark/bundles/en_US/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No string for resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
-invalidSplitAtPosition=Invalid parameter to splitAtPosition
-badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
-badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
-invalidChildType=NewElement not of a type that this can be parent of
-badRemoveChild=Child to remove not found
-invalidSplitAtIndex=Invalid parameter to splitAtIndex
-badShallowCopyRange=Bad range in shallowCopy
-badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
-invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
-invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
-badPropertyValue=Property {0} value {1} is out of range
-
-# Selection/editing
-
-illegalOperation=Illegal attempt to execute {0} operation
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Unexpected element {0} within a span
-unexpectedNamespace=Unexpected namespace {0}
-unknownElement=Unknown element {0}
-unknownAttribute=Attribute {0} not permitted in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Malformed tag {0}
-malformedMarkup=Malformed markup {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No TextFlow to parse
-expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/es_ES/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/es_ES/textLayout.properties b/frameworks/projects/spark/bundles/es_ES/textLayout.properties
deleted file mode 100644
index d2d177d..0000000
--- a/frameworks/projects/spark/bundles/es_ES/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=No hay ninguna cadena para el recurso {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Intento de creación de la subclase FlowElement no válida
-invalidSplitAtPosition=Parámetro no válido para splitAtPosition
-badMXMLChildrenArgument=Elemento incorrecto del tipo {0} transferido a mxmlChildren
-badReplaceChildrenIndex=Índice fuera del rango para FlowGroupElement.replaceChildren
-invalidChildType=NewElement no es de un tipo del que éste pueda ser el elemento principal
-badRemoveChild=No se encontró el elemento secundario que debe eliminarse
-invalidSplitAtIndex=Parámetro no válido para splitAtIndex
-badShallowCopyRange=Rango incorrecto en shallowCopy
-badSurrogatePairCopy=Copiando sólo la mitad de un par sustituto en SpanElement.shallowCopy
-invalidReplaceTextPositions=Posiciones no válidas transferidas a SpanElement.replaceText
-invalidSurrogatePairSplit=División no válida de un par sustituto
-badPropertyValue=El valor {1} de la propiedad {0} está fuera del rango
-
-# Selection/editing
-
-illegalOperation=Intento no válido para ejecutar la operación {0} 
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Elemento {0} inesperado dentro de un tramo
-unexpectedNamespace=Espacio de nombres {0} inesperado
-unknownElement=Elemento desconocido {0}
-unknownAttribute=El elemento {1} no admite el atributo {0}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Etiqueta {0} incorrecta
-malformedMarkup=Marcado {0} incorrecto
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=No hay ningún TextFlow que deba analizarse
-expectedExactlyOneTextLayoutFormat=Se esperaba uno y sólo un TextLayoutFormat en {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/fi_FI/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/fi_FI/textLayout.properties b/frameworks/projects/spark/bundles/fi_FI/textLayout.properties
deleted file mode 100644
index 8ee204e..0000000
--- a/frameworks/projects/spark/bundles/fi_FI/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Ei merkkijonoa resurssille {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Yritetään luoda virheellinen FlowElement-aliluokka
-invalidSplitAtPosition=Virheellinen parametri kohteelle splitAtPosition
-badMXMLChildrenArgument=Virheellinen {0}-tyyppinen elementti välitetty kohteeseen mxmlChildren
-badReplaceChildrenIndex=Alueen ulkopuolinen indeksi kohteelle FlowGroupElement.replaceChildren
-invalidChildType=NewElement on tyypiltään väärä yläosaan nähden
-badRemoveChild=Poistettavaa aliosaa ei löydy
-invalidSplitAtIndex=Virheellinen parametri kohteelle splitAtIndex
-badShallowCopyRange=Virheellinen alue kohteessa shallowCopy
-badSurrogatePairCopy=Kopioidaan vain puolet korvaavasta parista kohteessa SpanElement.shallowCopy
-invalidReplaceTextPositions=Virheellisiä sijainteja välitetty kohteeseen SpanElement.replaceText
-invalidSurrogatePairSplit=Korvaavan parin virheellinen jako
-badPropertyValue=Ominaisuuden {0} arvo {1} ei ole alueella
-
-# Selection/editing
-
-illegalOperation=Virheellinen yritys suorittaa operaatio {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Odottamaton elemetti {0} span-kohteessa
-unexpectedNamespace=Odottamaton nimitila {0}
-unknownElement=Tuntematon elementti {0}
-unknownAttribute=Määritteen {0} käyttö ei ole sallittua elementissä {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Väärin muodostettu tunniste {0}
-malformedMarkup=Väärin muodostettu merkintä {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Ei jäsennettävää TextFlow-kohdetta
-expectedExactlyOneTextLayoutFormat=Vain yksi odotettu TextLayoutFormat kohteessa {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/fr_FR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/fr_FR/textLayout.properties b/frameworks/projects/spark/bundles/fr_FR/textLayout.properties
deleted file mode 100644
index a21bf7d..0000000
--- a/frameworks/projects/spark/bundles/fr_FR/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Aucune chaîne pour la ressource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Tentative de construction d'une sous-classe FlowElement non valide
-invalidSplitAtPosition=Le paramètre passé à splitAtPosition n'est pas valide.
-badMXMLChildrenArgument=L'élément du type {0} passé à mxmlChildren n'est pas correct.
-badReplaceChildrenIndex=L'index vers FlowGroupElement.replaceChildren est en dehors de la plage.
-invalidChildType=Le type de NewElement ne lui permet pas d'en être le parent.
-badRemoveChild=L'enfant à supprimer n'a pas été trouvé.
-invalidSplitAtIndex=Le paramètre passé à splitAtIndex n'est pas valide.
-badShallowCopyRange=Plage incorrecte dans shallowCopy
-badSurrogatePairCopy=Copie de la moitié uniquement d'une paire de substitution dans SpanElement.shallowCopy
-invalidReplaceTextPositions=Les positions passées à SpanElement.replaceText ne sont pas valides.
-invalidSurrogatePairSplit=Fractionnement non valide d'une paire de substitution
-badPropertyValue=La propriété {0} valeur {1} est en dehors de la plage.
-
-# Selection/editing
-
-illegalOperation=Tentative interdite d'exécuter l'opération {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Elément inattendu {0} dans un bloc
-unexpectedNamespace=Espace de noms inattendu {0}
-unknownElement=Elément inconnu {0}
-unknownAttribute=L'attribut {0} n'est pas autorisé dans l'élément {1}.
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Balise {0} mal formée
-malformedMarkup=Balisage {0} mal formé
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Aucun TextFlow à analyser
-expectedExactlyOneTextLayoutFormat=Un et un seul TextLayoutFormat attendu dans {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/it_IT/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/it_IT/textLayout.properties b/frameworks/projects/spark/bundles/it_IT/textLayout.properties
deleted file mode 100644
index 129b3ec..0000000
--- a/frameworks/projects/spark/bundles/it_IT/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Nessuna stringa per la risorsa {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Tentativo di costruire una sottoclasse FlowElement non valida
-invalidSplitAtPosition=Parametro a splitAtPosition non valido
-badMXMLChildrenArgument=Elemento di tipo {0} non valido passato a mxmlChildren
-badReplaceChildrenIndex=L'indice a FlowGroupElement.replaceChildren non rientra nell'intervallo
-invalidChildType=NewElement non è di un tipo di cui questo può essere l'elemento principale
-badRemoveChild=Elemento secondario da rimuovere non trovato
-invalidSplitAtIndex=Parametro a splitAtIndex non valido
-badShallowCopyRange=Intervallo non valido in shallowCopy
-badSurrogatePairCopy=Copia di una sola metà di una coppia sostitutiva in SpanElement.shallowCopy
-invalidReplaceTextPositions=Posizioni non valide passate a SpanElement.replaceText
-invalidSurrogatePairSplit=Divisione di una coppia sostitutiva non valida
-badPropertyValue=Il valore {1} della proprietà {0} non rientra nell'intervallo
-
-# Selection/editing
-
-illegalOperation=Tentativo di eseguire l'operazione {0} non valido
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Elemento {0} non previsto in una estensione
-unexpectedNamespace=Spazio dei nomi {0} non previsto
-unknownElement=Elemento {0} sconosciuto
-unknownAttribute=L'attributo {0} non è consentito nell'elemento {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Tag {0} non valido
-malformedMarkup=Codifica {0} non valida
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Nessun TextFlow da analizzare
-expectedExactlyOneTextLayoutFormat=Previsto un unico TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/ja_JP/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/ja_JP/textLayout.properties b/frameworks/projects/spark/bundles/ja_JP/textLayout.properties
deleted file mode 100644
index 9564be7..0000000
--- a/frameworks/projects/spark/bundles/ja_JP/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=リソース {0} のストリングがありません
-
-# Core errors
-
-invalidFlowElementConstruct=無効な FlowElement サブクラスを作成しようとしました
-invalidSplitAtPosition=splitAtPosition のパラメーターが無効です
-badMXMLChildrenArgument=mxmlChildren に {0} タイプの不正なエレメントが渡されました
-badReplaceChildrenIndex=FlowGroupElement.replaceChildren のインデックスが範囲外です
-invalidChildType=親になれないタイプの NewElement です
-badRemoveChild=削除する子が見つかりません
-invalidSplitAtIndex=splitAtIndex のパラメーターが無効です
-badShallowCopyRange=shallowCopy の範囲が正しくありません
-badSurrogatePairCopy=SpanElement.shallowCopy のサロゲートペアの半分のみをコピーしています
-invalidReplaceTextPositions=SpanElement.replaceText に無効な位置が渡されました
-invalidSurrogatePairSplit=サロゲートペアの分割が無効です
-badPropertyValue=プロパティ {0} の値 {1} は範囲外です
-
-# Selection/editing
-
-illegalOperation=不正な {0} 操作を実行しようとしています
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=span 内で予期しないエレメント {0} が見つかりました
-unexpectedNamespace=名前空間 {0} は予期しない値です
-unknownElement=エレメント {0} は不明です
-unknownAttribute=属性 {0} はエレメント {1} では使用できません
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=タグ {0} の形式が不適切です
-malformedMarkup=マークアップ {0} の形式が不適切です
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=解析する TextFlow がありません
-expectedExactlyOneTextLayoutFormat={0} には TextLayoutFormat が 1 つだけ必要です	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/ko_KR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/ko_KR/textLayout.properties b/frameworks/projects/spark/bundles/ko_KR/textLayout.properties
deleted file mode 100644
index fe7583b..0000000
--- a/frameworks/projects/spark/bundles/ko_KR/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=리소스 {0}에 대한 문자열이 없습니다.
-
-# Core errors
-
-invalidFlowElementConstruct=잘못된 FlowElement 하위 클래스를 생성하려고 했습니다.
-invalidSplitAtPosition=splitAtPosition에 대한 매개 변수가 잘못되었습니다.
-badMXMLChildrenArgument=유형 {0}의 잘못된 요소가 mxmlChildren으로 전달되었습니다.
-badReplaceChildrenIndex=FlowGroupElement.replaceChildren에 대한 인덱스가 범위를 벗어났습니다.
-invalidChildType=NewElement의 유형이 상위 항목이 될 수 는 유형이 아닙니다.
-badRemoveChild=제거할 하위 항목이 없습니다.
-invalidSplitAtIndex=splitAtIndex에 대한 매개 변수가 잘못되었습니다.
-badShallowCopyRange=shallowCopy에서 범위가 잘못되었습니다.
-badSurrogatePairCopy=SpanElement.shallowCopy에서 서로게이트 쌍을 절반만 복사
-invalidReplaceTextPositions=잘못된 위치가 SpanElement.replaceText로 전달되었습니다.
-invalidSurrogatePairSplit=서로게이트 쌍이 잘못 분할되었습니다.
-badPropertyValue=속성 {0} 값 {1}이(가) 범위를 벗어났습니다.
-
-# Selection/editing
-
-illegalOperation={0} 작업을 잘못 실행하려고 했습니다.
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=범위 내 예기치 못한 요소 {0}이(가) 있습니다.
-unexpectedNamespace=예기치 못한 네임스페이스 {0}이(가) 있습니다.
-unknownElement=알 수 없는 요소 {0}입니다.
-unknownAttribute=요소 {1}에는 특성 {0}이(가) 허용되지 않습니다.
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=태그 {0}의 형식이 잘못되었습니다.
-malformedMarkup=마크업 {0}의 형식이 잘못되었습니다.
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=파싱할 TextFlow가 없습니다.
-expectedExactlyOneTextLayoutFormat={0}	에 한 개 또한 오직 한 개의 TextLayoutFormat이 필요합니다.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/nb_NO/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/nb_NO/textLayout.properties b/frameworks/projects/spark/bundles/nb_NO/textLayout.properties
deleted file mode 100644
index 6ed6039..0000000
--- a/frameworks/projects/spark/bundles/nb_NO/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Ingen streng for ressursen {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Forsøk på å lage ugyldig FlowElement-underklasse
-invalidSplitAtPosition=Ugyldig parameter til splitAtPosition
-badMXMLChildrenArgument=Ugyldig element av typen {0} sendt til mxmlChildren
-badReplaceChildrenIndex=Indeks utenfor område til FlowGroupElement.replaceChildren
-invalidChildType=NewElement er ikke en type som dette kan være en overordnet for
-badRemoveChild=Finner ikke underordnet som skal fjernes
-invalidSplitAtIndex=Ugyldig parameter til splitAtIndex
-badShallowCopyRange=Ugyldig område i shallowCopy
-badSurrogatePairCopy=Kopierer bare halvparten av et surrogatpar i SpanElement.shallowCopy
-invalidReplaceTextPositions=Ugyldige plasseringer sendt til SpanElement.replaceText
-invalidSurrogatePairSplit=Ugyldig deling av surrogatpar
-badPropertyValue=Egenskap {0} verdi {1} er utenfor område
-
-# Selection/editing
-
-illegalOperation=Ulovlig forsøk på å kjøre operasjonen {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Uventet element {0} i span
-unexpectedNamespace=Uventet navneområde {0}
-unknownElement=Ukjent element {0}
-unknownAttribute=Attributtet {0} er ikke tillatt i elementet {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Feilformatert kode {0}
-malformedMarkup=Feilformatert koding {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Ingen TextFlow å analysere
-expectedExactlyOneTextLayoutFormat=Forventet én og bare én TextLayoutFormat i {0}	


[15/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationEngine.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationEngine.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationEngine.java
new file mode 100644
index 0000000..dd0d3db
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationEngine.java
@@ -0,0 +1,1888 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.awt.Color;
+import java.awt.Paint;
+import java.lang.ref.WeakReference;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Arrays;
+import java.util.Set;
+
+import org.apache.flex.forks.batik.anim.AnimationEngine;
+import org.apache.flex.forks.batik.anim.AnimationException;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.timing.TimedDocumentRoot;
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableAngleValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableAngleOrIdentValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableBooleanValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableIntegerValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableLengthValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableLengthListValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableLengthOrIdentValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableNumberValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableNumberListValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableNumberOrPercentageValue;
+import org.apache.flex.forks.batik.anim.values.AnimatablePathDataValue;
+import org.apache.flex.forks.batik.anim.values.AnimatablePointListValue;
+import org.apache.flex.forks.batik.anim.values.AnimatablePreserveAspectRatioValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableNumberOrIdentValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableRectValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableStringValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableColorValue;
+import org.apache.flex.forks.batik.anim.values.AnimatablePaintValue;
+import org.apache.flex.forks.batik.css.engine.CSSEngine;
+import org.apache.flex.forks.batik.css.engine.CSSStylableElement;
+import org.apache.flex.forks.batik.css.engine.StyleMap;
+import org.apache.flex.forks.batik.css.engine.value.FloatValue;
+import org.apache.flex.forks.batik.css.engine.value.StringValue;
+import org.apache.flex.forks.batik.css.engine.value.Value;
+import org.apache.flex.forks.batik.css.engine.value.ValueManager;
+import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg.SVGStylableElement;
+import org.apache.flex.forks.batik.parser.DefaultPreserveAspectRatioHandler;
+import org.apache.flex.forks.batik.parser.FloatArrayProducer;
+import org.apache.flex.forks.batik.parser.DefaultLengthHandler;
+import org.apache.flex.forks.batik.parser.LengthArrayProducer;
+import org.apache.flex.forks.batik.parser.LengthHandler;
+import org.apache.flex.forks.batik.parser.LengthListParser;
+import org.apache.flex.forks.batik.parser.LengthParser;
+import org.apache.flex.forks.batik.parser.NumberListParser;
+import org.apache.flex.forks.batik.parser.PathArrayProducer;
+import org.apache.flex.forks.batik.parser.PathParser;
+import org.apache.flex.forks.batik.parser.PointsParser;
+import org.apache.flex.forks.batik.parser.ParseException;
+import org.apache.flex.forks.batik.parser.PreserveAspectRatioHandler;
+import org.apache.flex.forks.batik.parser.PreserveAspectRatioParser;
+import org.apache.flex.forks.batik.util.RunnableQueue;
+import org.apache.flex.forks.batik.util.SMILConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.css.CSSPrimitiveValue;
+import org.w3c.dom.css.CSSStyleDeclaration;
+import org.w3c.dom.css.CSSValue;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.svg.SVGAngle;
+import org.w3c.dom.svg.SVGLength;
+import org.w3c.dom.svg.SVGPreserveAspectRatio;
+
+/**
+ * An AnimationEngine for SVG documents.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimationEngine.java 579854 2007-09-27 00:07:53Z cam $
+ */
+public class SVGAnimationEngine extends AnimationEngine {
+
+    /**
+     * The BridgeContext to use for value parsing.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * The CSSEngine used for CSS value parsing.
+     */
+    protected CSSEngine cssEngine;
+
+    /**
+     * Whether animation processing has started.  This affects whether
+     * animation element bridges add their animation on to the initial
+     * bridge list, or process them immediately.
+     */
+    protected boolean started;
+
+    /**
+     * The Runnable that ticks the document.
+     */
+    protected AnimationTickRunnable animationTickRunnable;
+
+    /**
+     * The factory for unparsed string values.
+     */
+    protected UncomputedAnimatableStringValueFactory
+        uncomputedAnimatableStringValueFactory =
+            new UncomputedAnimatableStringValueFactory();
+
+    /**
+     * The factory for length-or-ident values.
+     */
+    protected AnimatableLengthOrIdentFactory
+        animatableLengthOrIdentFactory = new AnimatableLengthOrIdentFactory();
+
+    /**
+     * The factory for number-or-ident values.
+     */
+    protected AnimatableNumberOrIdentFactory
+        animatableNumberOrIdentFactory =
+            new AnimatableNumberOrIdentFactory(false);
+
+    /**
+     * Factories for {@link AnimatableValue} parsing.
+     */
+    protected Factory[] factories = {
+        null, // TYPE_UNKNOWN
+        new AnimatableIntegerValueFactory(), // TYPE_INTEGER
+        new AnimatableNumberValueFactory(), // TYPE_NUMBER
+        new AnimatableLengthValueFactory(), // TYPE_LENGTH
+        null, // TYPE_NUMBER_OPTIONAL_NUMBER
+        new AnimatableAngleValueFactory(), // TYPE_ANGLE
+        new AnimatableColorValueFactory(), // TYPE_COLOR
+        new AnimatablePaintValueFactory(), // TYPE_PAINT
+        null, // TYPE_PERCENTAGE
+        null, // TYPE_TRANSFORM_LIST
+        uncomputedAnimatableStringValueFactory, // TYPE_URI
+        null, // TYPE_FREQUENCY
+        null, // TYPE_TIME
+        new AnimatableNumberListValueFactory(), // TYPE_NUMBER_LIST
+        new AnimatableLengthListValueFactory(), // TYPE_LENGTH_LIST
+        uncomputedAnimatableStringValueFactory, // TYPE_IDENT
+        uncomputedAnimatableStringValueFactory, // TYPE_CDATA
+        animatableLengthOrIdentFactory, // TYPE_LENGTH_OR_INHERIT
+        uncomputedAnimatableStringValueFactory, // TYPE_IDENT_LIST
+        uncomputedAnimatableStringValueFactory, // TYPE_CLIP_VALUE
+        uncomputedAnimatableStringValueFactory, // TYPE_URI_OR_IDENT
+        uncomputedAnimatableStringValueFactory, // TYPE_CURSOR_VALUE
+        new AnimatablePathDataFactory(), // TYPE_PATH_DATA
+        uncomputedAnimatableStringValueFactory, // TYPE_ENABLE_BACKGROUND_VALUE
+        null, // TYPE_TIME_VALUE_LIST
+        animatableNumberOrIdentFactory, // TYPE_NUMBER_OR_INHERIT
+        uncomputedAnimatableStringValueFactory, // TYPE_FONT_FAMILY_VALUE
+        null, // TYPE_FONT_FACE_FONT_SIZE_VALUE
+        new AnimatableNumberOrIdentFactory(true), // TYPE_FONT_WEIGHT_VALUE
+        new AnimatableAngleOrIdentFactory(), // TYPE_ANGLE_OR_IDENT
+        null, // TYPE_KEY_SPLINES_VALUE
+        new AnimatablePointListValueFactory(), // TYPE_POINTS_VALUE
+        new AnimatablePreserveAspectRatioValueFactory(), // TYPE_PRESERVE_ASPECT_RATIO_VALUE
+        null, // TYPE_URI_LIST
+        uncomputedAnimatableStringValueFactory, // TYPE_LENGTH_LIST_OR_IDENT
+        null, // TYPE_CHARACTER_OR_UNICODE_RANGE_LIST
+        null, // TYPE_UNICODE_RANGE_LIST
+        null, // TYPE_FONT_VALUE
+        null, // TYPE_FONT_DECSRIPTOR_SRC_VALUE
+        animatableLengthOrIdentFactory, // TYPE_FONT_SIZE_VALUE
+        animatableLengthOrIdentFactory, // TYPE_BASELINE_SHIFT_VALUE
+        animatableLengthOrIdentFactory, // TYPE_KERNING_VALUE
+        animatableLengthOrIdentFactory, // TYPE_SPACING_VALUE
+        animatableLengthOrIdentFactory, // TYPE_LINE_HEIGHT_VALUE
+        animatableNumberOrIdentFactory, // TYPE_FONT_SIZE_ADJUST_VALUE
+        null, // TYPE_LANG_VALUE
+        null, // TYPE_LANG_LIST_VALUE
+        new AnimatableNumberOrPercentageValueFactory(), // TYPE_NUMBER_OR_PERCENTAGE
+        null, // TYPE_TIMING_SPECIFIER_LIST
+        new AnimatableBooleanValueFactory(), // TYPE_BOOLEAN
+        new AnimatableRectValueFactory() // TYPE_RECT
+    };
+
+    /**
+     * Whether the document is an SVG 1.2 document.
+     */
+    protected boolean isSVG12;
+
+    /**
+     * List of bridges that will be initialized when the document is started.
+     */
+    protected LinkedList initialBridges = new LinkedList();
+
+    /**
+     * A StyleMap used by the {@link Factory}s when computing CSS values.
+     */
+    protected StyleMap dummyStyleMap;
+
+    /**
+     * The thread that ticks the animation engine.
+     */
+    protected AnimationThread animationThread;
+
+    /**
+     * The animation limiting mode.
+     */
+    protected int animationLimitingMode;
+
+    /**
+     * The amount of animation limiting.
+     */
+    protected float animationLimitingAmount;
+
+    /**
+     * Set of SMIL animation event names for SVG 1.1.
+     */
+    protected static final Set animationEventNames11 = new HashSet();
+
+    /**
+     * Set of SMIL animation event names for SVG 1.2.
+     */
+    protected static final Set animationEventNames12 = new HashSet();
+
+    static {
+        String[] eventNamesCommon = {
+            "click", "mousedown", "mouseup", "mouseover", "mousemove",
+            "mouseout", "beginEvent", "endEvent"
+        };
+        String[] eventNamesSVG11 = {
+            "DOMSubtreeModified", "DOMNodeInserted", "DOMNodeRemoved",
+            "DOMNodeRemovedFromDocument", "DOMNodeInsertedIntoDocument",
+            "DOMAttrModified", "DOMCharacterDataModified", "SVGLoad",
+            "SVGUnload", "SVGAbort", "SVGError", "SVGResize", "SVGScroll",
+            "repeatEvent"
+        };
+        String[] eventNamesSVG12 = {
+            "load", "resize", "scroll", "zoom"
+        };
+        for (int i = 0; i < eventNamesCommon.length; i++) {
+            animationEventNames11.add(eventNamesCommon[i]);
+            animationEventNames12.add(eventNamesCommon[i]);
+        }
+        for (int i = 0; i < eventNamesSVG11.length; i++) {
+            animationEventNames11.add(eventNamesSVG11[i]);
+        }
+        for (int i = 0; i < eventNamesSVG12.length; i++) {
+            animationEventNames12.add(eventNamesSVG12[i]);
+        }
+    }
+
+    /**
+     * Creates a new SVGAnimationEngine.
+     */
+    public SVGAnimationEngine(Document doc, BridgeContext ctx) {
+        super(doc);
+        this.ctx = ctx;
+        SVGOMDocument d = (SVGOMDocument) doc;
+        cssEngine = d.getCSSEngine();
+        dummyStyleMap = new StyleMap(cssEngine.getNumberOfProperties());
+        isSVG12 = d.isSVG12();
+    }
+
+    /**
+     * Disposes this animation engine.
+     */
+    public void dispose() {
+        synchronized (this) {
+            pause();
+            super.dispose();
+        }
+    }
+
+    /**
+     * Adds an animation element bridge to the list of bridges that
+     * require initializing when the document is started.
+     */
+    public void addInitialBridge(SVGAnimationElementBridge b) {
+        if (initialBridges != null) {
+            initialBridges.add(b);
+        }
+    }
+
+    /**
+     * Returns whether animation processing has begun.
+     */
+    public boolean hasStarted() {
+        return started;
+    }
+
+    /**
+     * Parses an AnimatableValue.
+     */
+    public AnimatableValue parseAnimatableValue(Element animElt,
+                                                AnimationTarget target,
+                                                String ns, String ln,
+                                                boolean isCSS,
+                                                String s) {
+        SVGOMElement elt = (SVGOMElement) target.getElement();
+        int type;
+        if (isCSS) {
+            type = elt.getPropertyType(ln);
+        } else {
+            type = elt.getAttributeType(ns, ln);
+        }
+        Factory factory = factories[type];
+        if (factory == null) {
+            String an = ns == null ? ln : '{' + ns + '}' + ln;
+            throw new BridgeException
+                (ctx, animElt, "attribute.not.animatable",
+                 new Object[] { target.getElement().getNodeName(), an });
+        }
+        return factories[type].createValue(target, ns, ln, isCSS, s);
+    }
+
+    /**
+     * Returns an AnimatableValue for the underlying value of a CSS property.
+     */
+    public AnimatableValue getUnderlyingCSSValue(Element animElt,
+                                                 AnimationTarget target,
+                                                 String pn) {
+        ValueManager[] vms = cssEngine.getValueManagers();
+        int idx = cssEngine.getPropertyIndex(pn);
+        if (idx != -1) {
+            int type = vms[idx].getPropertyType();
+            Factory factory = factories[type];
+            if (factory == null) {
+                throw new BridgeException
+                    (ctx, animElt, "attribute.not.animatable",
+                     new Object[] { target.getElement().getNodeName(), pn });
+            }
+            SVGStylableElement e = (SVGStylableElement) target.getElement();
+            CSSStyleDeclaration over = e.getOverrideStyle();
+            String oldValue = over.getPropertyValue(pn);
+            if (oldValue != null) {
+                over.removeProperty(pn);
+            }
+            Value v = cssEngine.getComputedStyle(e, null, idx);
+            if (oldValue != null && !oldValue.equals("")) {
+                over.setProperty(pn, oldValue, null);
+            }
+            return factories[type].createValue(target, pn, v);
+        }
+        // XXX Doesn't handle shorthands.
+        return null;
+    }
+
+    /**
+     * Pauses the animations.
+     */
+    public void pause() {
+        super.pause();
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null) {
+            um.getUpdateRunnableQueue().setIdleRunnable(null);
+        }
+    }
+
+    /**
+     * Pauses the animations.
+     */
+    public void unpause() {
+        super.unpause();
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null) {
+            um.getUpdateRunnableQueue().setIdleRunnable(animationTickRunnable);
+        }
+    }
+
+    /**
+     * Returns the current document time.
+     */
+    public float getCurrentTime() {
+        boolean p = pauseTime != 0;
+        unpause();
+        float t = timedDocumentRoot.getCurrentTime();
+        if (p) {
+            pause();
+        }
+        return t;
+    }
+
+    /**
+     * Sets the current document time.
+     */
+    public float setCurrentTime(float t) {
+        float ret = super.setCurrentTime(t);
+        if (animationTickRunnable != null) {
+            animationTickRunnable.resume();
+        }
+        return ret;
+    }
+
+    /**
+     * Creates a new returns a new TimedDocumentRoot object for the document.
+     */
+    protected TimedDocumentRoot createDocumentRoot() {
+        return new AnimationRoot();
+    }
+
+    /**
+     * Starts the animation engine.
+     */
+    public void start(long documentStartTime) {
+        if (started) {
+            return;
+        }
+        started = true;
+        try {
+            try {
+                Calendar cal = Calendar.getInstance();
+                cal.setTime(new Date(documentStartTime));
+                timedDocumentRoot.resetDocument(cal);
+                Object[] bridges = initialBridges.toArray();
+                initialBridges = null;
+                for (int i = 0; i < bridges.length; i++) {
+                    SVGAnimationElementBridge bridge =
+                        (SVGAnimationElementBridge) bridges[i];
+                    bridge.initializeAnimation();
+                }
+                for (int i = 0; i < bridges.length; i++) {
+                    SVGAnimationElementBridge bridge =
+                        (SVGAnimationElementBridge) bridges[i];
+                    bridge.initializeTimedElement();
+                }
+                // tick(0, false);
+                // animationThread = new AnimationThread();
+                // animationThread.start();
+                UpdateManager um = ctx.getUpdateManager();
+                if (um != null) {
+                    RunnableQueue q = um.getUpdateRunnableQueue();
+                    animationTickRunnable = new AnimationTickRunnable(q, this);
+                    q.setIdleRunnable(animationTickRunnable);
+                }
+            } catch (AnimationException ex) {
+                throw new BridgeException(ctx, ex.getElement().getElement(),
+                                          ex.getMessage());
+            }
+        } catch (Exception ex) {
+            if (ctx.getUserAgent() == null) {
+                ex.printStackTrace();
+            } else {
+                ctx.getUserAgent().displayError(ex);
+            }
+        }
+    }
+
+    /**
+     * Sets the animation limiting mode to "none".
+     */
+    public void setAnimationLimitingNone() {
+        animationLimitingMode = 0;
+    }
+
+    /**
+     * Sets the animation limiting mode to a percentage of CPU.
+     * @param pc the maximum percentage of CPU to use (0 &lt; pc ≤ 1)
+     */
+    public void setAnimationLimitingCPU(float pc) {
+        animationLimitingMode = 1;
+        animationLimitingAmount = pc;
+    }
+
+    /**
+     * Sets the animation limiting mode to a number of frames per second.
+     * @param fps the maximum number of frames per second (fps &gt; 0)
+     */
+    public void setAnimationLimitingFPS(float fps) {
+        animationLimitingMode = 2;
+        animationLimitingAmount = fps;
+    }
+
+    /**
+     * A class for the root time container.
+     */
+    protected class AnimationRoot extends TimedDocumentRoot {
+
+        /**
+         * Creates a new AnimationRoot object.
+         */
+        public AnimationRoot() {
+            super(!isSVG12, isSVG12);
+        }
+
+        /**
+         * Returns the namespace URI of the event that corresponds to the given
+         * animation event name.
+         */
+        protected String getEventNamespaceURI(String eventName) {
+            if (!isSVG12) {
+                return null;
+            }
+            if (eventName.equals("focusin")
+                    || eventName.equals("focusout")
+                    || eventName.equals("activate")
+                    || animationEventNames12.contains(eventName)) {
+                return XMLConstants.XML_EVENTS_NAMESPACE_URI;
+            }
+            return null;
+        }
+
+        /**
+         * Returns the type of the event that corresponds to the given
+         * animation event name.
+         */
+        protected String getEventType(String eventName) {
+            if (eventName.equals("focusin")) {
+                return "DOMFocusIn";
+            } else if (eventName.equals("focusout")) {
+                return "DOMFocusOut";
+            } else if (eventName.equals("activate")) {
+                return "DOMActivate";
+            }
+            if (isSVG12) {
+                if (animationEventNames12.contains(eventName)) {
+                    return eventName;
+                }
+            } else {
+                if (animationEventNames11.contains(eventName)) {
+                    return eventName;
+                }
+            }
+            return null;
+        }
+
+        /**
+         * Returns the name of the repeat event.
+         * @return "repeatEvent" for SVG
+         */
+        protected String getRepeatEventName() {
+            return SMILConstants.SMIL_REPEAT_EVENT_NAME;
+        }
+
+        /**
+         * Fires a TimeEvent of the given type on this element.
+         * @param eventType the type of TimeEvent ("beginEvent", "endEvent"
+         *                  or "repeatEvent"/"repeat").
+         * @param time the timestamp of the event object
+         */
+        protected void fireTimeEvent(String eventType, Calendar time,
+                                     int detail) {
+            AnimationSupport.fireTimeEvent
+                ((EventTarget) document, eventType, time, detail);
+        }
+
+        /**
+         * Invoked to indicate this timed element became active at the
+         * specified time.
+         * @param begin the time the element became active, in document simple time
+         */
+        protected void toActive(float begin) {
+        }
+
+        /**
+         * Invoked to indicate that this timed element became inactive.
+         * @param stillActive if true, indicates that the element is still
+         *                    actually active, but between the end of the
+         *                    computed repeat duration and the end of the
+         *                    interval
+         * @param isFrozen whether the element is frozen or not
+         */
+        protected void toInactive(boolean stillActive, boolean isFrozen) {
+        }
+
+        /**
+         * Invoked to indicate that this timed element has had its fill removed.
+         */
+        protected void removeFill() {
+        }
+
+        /**
+         * Invoked to indicate that this timed element has been sampled at the
+         * given time.
+         * @param simpleTime the sample time in local simple time
+         * @param simpleDur the simple duration of the element
+         * @param repeatIteration the repeat iteration during which the element
+         *                        was sampled
+         */
+        protected void sampledAt(float simpleTime, float simpleDur,
+                                 int repeatIteration) {
+        }
+
+        /**
+         * Invoked to indicate that this timed element has been sampled
+         * at the end of its active time, at an integer multiple of the
+         * simple duration.  This is the "last" value that will be used
+         * for filling, which cannot be sampled normally.
+         */
+        protected void sampledLastValue(int repeatIteration) {
+        }
+
+        /**
+         * Returns the timed element with the given ID.
+         */
+        protected TimedElement getTimedElementById(String id) {
+            return AnimationSupport.getTimedElementById(id, document);
+        }
+
+        /**
+         * Returns the event target with the given ID.
+         */
+        protected EventTarget getEventTargetById(String id) {
+            return AnimationSupport.getEventTargetById(id, document);
+        }
+
+        /**
+         * Returns the target of this animation as an {@link EventTarget}.  Used
+         * for eventbase timing specifiers where the element ID is omitted.
+         */
+        protected EventTarget getAnimationEventTarget() {
+            return null;
+        }
+
+        /**
+         * Returns the event target that should be listened to for
+         * access key events.
+         */
+        protected EventTarget getRootEventTarget() {
+            return (EventTarget) document;
+        }
+
+        /**
+         * Returns the DOM element that corresponds to this timed element, if
+         * such a DOM element exists.
+         */
+        public Element getElement() {
+            return null;
+        }
+
+        /**
+         * Returns whether this timed element comes before the given timed
+         * element in document order.
+         */
+        public boolean isBefore(TimedElement other) {
+            return false;
+        }
+
+        /**
+         * Invoked by timed elements in this document to indicate that the
+         * current interval will be re-evaluated at the next sample.
+         */
+        protected void currentIntervalWillUpdate() {
+            if (animationTickRunnable != null) {
+                animationTickRunnable.resume();
+            }
+        }
+    }
+
+    /**
+     * Idle runnable to tick the animation, that reads times from System.in.
+     */
+    protected static class DebugAnimationTickRunnable extends AnimationTickRunnable {
+
+        float t = 0f;
+
+        public DebugAnimationTickRunnable(RunnableQueue q, SVGAnimationEngine eng) {
+            super(q, eng);
+            waitTime = Long.MAX_VALUE;
+            new Thread() {
+                public void run() {
+                    java.io.BufferedReader r = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+                    System.out.println("Enter times.");
+                    for (;;) {
+                        String s;
+                        try {
+                            s = r.readLine();
+                        } catch (java.io.IOException e) {
+                            s = null;
+                        }
+                        if (s == null) {
+                            System.exit(0);
+                        }
+                        t = Float.parseFloat(s);
+                        DebugAnimationTickRunnable.this.resume();
+                    }
+                }
+            }.start();
+        }
+
+        public void resume() {
+            waitTime = 0;
+            Object lock = q.getIteratorLock();
+            synchronized (lock) {
+                lock.notify();
+            }
+        }
+
+        public long getWaitTime() {
+            long wt = waitTime;
+            waitTime = Long.MAX_VALUE;
+            return wt;
+        }
+
+        public void run() {
+            SVGAnimationEngine eng = getAnimationEngine();
+            synchronized (eng) {
+                try {
+                    try {
+                        eng.tick(t, false);
+                    } catch (AnimationException ex) {
+                        throw new BridgeException
+                            (eng.ctx, ex.getElement().getElement(),
+                             ex.getMessage());
+                    }
+                } catch (Exception ex) {
+                    if (eng.ctx.getUserAgent() == null) {
+                        ex.printStackTrace();
+                    } else {
+                        eng.ctx.getUserAgent().displayError(ex);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Idle runnable to tick the animation.
+     */
+    protected static class AnimationTickRunnable
+            implements RunnableQueue.IdleRunnable {
+
+        /**
+         * Calendar instance used for passing current time values to the
+         * animation timing system.
+         */
+        protected Calendar time = Calendar.getInstance();
+
+//         /**
+//          * The current document time in seconds, truncated.
+//          */
+//         protected double second = -1.;
+
+//         /**
+//          * The number of frames that have been ticked so far this second.
+//          */
+//         protected int frames;
+
+        /**
+         * The number of milliseconds to wait until the next animation tick.
+         * This is returned by {@link #getWaitTime()}.
+         */
+        protected long waitTime;
+
+        /**
+         * The RunnableQueue in which this is the
+         * {@link RunnableQueue.IdleRunnable}.
+         */
+        protected RunnableQueue q;
+
+        /**
+         * The number of past tick times to keep, for computing the average
+         * time per tick.
+         */
+        private static final int NUM_TIMES = 8;
+
+        /**
+         * The past tick times.
+         */
+        protected long[] times = new long[NUM_TIMES];
+
+        /**
+         * The sum of the times in {@link #times}.
+         */
+        protected long sumTime;
+
+        /**
+         * The current index into {@link #times}.
+         */
+        protected int timeIndex;
+
+        /**
+         * A weak reference to the SVGAnimationEngine this AnimationTickRunnable
+         * is for.  We make this a WeakReference so that a ticking animation
+         * engine does not prevent from being GCed.
+         */
+        protected WeakReference engRef;
+
+        /**
+         * The maximum number of consecutive exceptions to allow before
+         * stopping the report of them.
+         */
+        protected static final int MAX_EXCEPTION_COUNT = 10;
+
+        /**
+         * The number of consecutive exceptions that have been thrown.  This is
+         * used to detect when exceptions are occurring every tick, and to stop
+         * reporting them when this happens.
+         */
+        protected int exceptionCount;
+
+        /**
+         * Creates a new AnimationTickRunnable.
+         */
+        public AnimationTickRunnable(RunnableQueue q, SVGAnimationEngine eng) {
+            this.q = q;
+            this.engRef = new WeakReference(eng);
+            // Initialize the past times to 100ms.
+            Arrays.fill(times, 100);
+            sumTime = 100 * NUM_TIMES;
+        }
+
+        /**
+         * Forces an animation update, if the {@link RunnableQueue} is
+         * currently waiting.
+         */
+        public void resume() {
+            waitTime = 0;
+            Object lock = q.getIteratorLock();
+            synchronized (lock) {
+                lock.notify();
+            }
+        }
+
+        /**
+         * Returns the system time that can be safely waited until before this
+         * {@link Runnable} is run again.
+         *
+         * @return time to wait until, <code>0</code> if no waiting can
+         *         be done, or {@link Long#MAX_VALUE} if the {@link Runnable}
+         *         should not be run again at this time
+         */
+        public long getWaitTime() {
+            return waitTime;
+        }
+
+        /**
+         * Performs one tick of the animation.
+         */
+        public void run() {
+            SVGAnimationEngine eng = getAnimationEngine();
+            synchronized (eng) {
+                int animationLimitingMode = eng.animationLimitingMode;
+                float animationLimitingAmount = eng.animationLimitingAmount;
+                try {
+                    try {
+                        long before = System.currentTimeMillis();
+                        time.setTime(new Date(before));
+                        float t = eng.timedDocumentRoot.convertWallclockTime(time);
+//                         if (Math.floor(t) > second) {
+//                             second = Math.floor(t);
+//                             System.err.println("fps: " + frames);
+//                             frames = 0;
+//                         }
+                        float t2 = eng.tick(t, false);
+                        long after = System.currentTimeMillis();
+                        long dur = after - before;
+                        if (dur == 0) {
+                            dur = 1;
+                        }
+                        sumTime -= times[timeIndex];
+                        sumTime += dur;
+                        times[timeIndex] = dur;
+                        timeIndex = (timeIndex + 1) % NUM_TIMES;
+
+                        if (t2 == Float.POSITIVE_INFINITY) {
+                            waitTime = Long.MAX_VALUE;
+                        } else {
+                            waitTime = before + (long) (t2 * 1000) - 1000;
+                            if (waitTime < after) {
+                                waitTime = after;
+                            }
+                            if (animationLimitingMode != 0) {
+                                float ave = (float) sumTime / NUM_TIMES;
+                                float delay;
+                                if (animationLimitingMode == 1) {
+                                    // %cpu
+                                    delay = ave / animationLimitingAmount - ave;
+                                } else {
+                                    // fps
+                                    delay = 1000f / animationLimitingAmount - ave;
+                                }
+                                long newWaitTime = after + (long) delay;
+                                if (newWaitTime > waitTime) {
+                                    waitTime = newWaitTime;
+                                }
+                            }
+                        }
+//                         frames++;
+                    } catch (AnimationException ex) {
+                        throw new BridgeException
+                            (eng.ctx, ex.getElement().getElement(),
+                             ex.getMessage());
+                    }
+                    exceptionCount = 0;
+                } catch (Exception ex) {
+                    if (++exceptionCount < MAX_EXCEPTION_COUNT) {
+                        if (eng.ctx.getUserAgent() == null) {
+                            ex.printStackTrace();
+                        } else {
+                            eng.ctx.getUserAgent().displayError(ex);
+                        }
+                    }
+                }
+
+                if (animationLimitingMode == 0) {
+                    // so we don't steal too much time from the Swing thread
+                    try {
+                        Thread.sleep(1);
+                    } catch (InterruptedException ie) {
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns the SVGAnimationEngine this AnimationTickRunnable is for.
+         */
+        protected SVGAnimationEngine getAnimationEngine() {
+            return (SVGAnimationEngine) engRef.get();
+        }
+    }
+
+    /**
+     * The thread that ticks the animation.
+     */
+    protected class AnimationThread extends Thread {
+
+        /**
+         * The current time.
+         */
+        protected Calendar time = Calendar.getInstance();
+
+        /**
+         * The RunnableQueue to perform the animation in.
+         */
+        protected RunnableQueue runnableQueue =
+            ctx.getUpdateManager().getUpdateRunnableQueue();
+
+        /**
+         * The animation ticker Runnable.
+         */
+        protected Ticker ticker = new Ticker();
+
+        /**
+         * Ticks the animation over as fast as possible.
+         */
+        public void run() {
+            if (true) {
+                for (;;) {
+                    time.setTime(new Date());
+                    ticker.t = timedDocumentRoot.convertWallclockTime(time);
+                    try {
+                        runnableQueue.invokeAndWait(ticker);
+                    } catch (InterruptedException e) {
+                        return;
+                    }
+                }
+            } else {
+                ticker.t = 1;
+                while (ticker.t < 10) {
+                    try {
+                        Thread.sleep(1000);
+                    } catch (InterruptedException ie) {
+                    }
+                    try {
+                        runnableQueue.invokeAndWait(ticker);
+                    } catch (InterruptedException e) {
+                        return;
+                    }
+                    ticker.t++;
+                }
+            }
+        }
+
+        /**
+         * A runnable that ticks the animation engine.
+         */
+        protected class Ticker implements Runnable {
+
+            /**
+             * The document time to tick at next.
+             */
+            protected float t;
+
+            /**
+             * Ticks the animation over.
+             */
+            public void run() {
+                tick(t, false);
+            }
+        }
+    }
+
+    // AnimatableValue factories
+
+    /**
+     * Interface for AnimatableValue factories.
+     */
+    protected interface Factory {
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        AnimatableValue createValue(AnimationTarget target, String ns,
+                                    String ln, boolean isCSS, String s);
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        AnimatableValue createValue(AnimationTarget target, String pn, Value v);
+    }
+
+    /**
+     * Factory class for AnimatableValues for CSS properties.
+     * XXX Shorthand properties are not supported.
+     */
+    protected abstract class CSSValueFactory implements Factory {
+
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            // XXX Always parsing as a CSS value.
+            return createValue(target, ln, createCSSValue(target, ln, s));
+        }
+
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            CSSStylableElement elt = (CSSStylableElement) target.getElement();
+            v = computeValue(elt, pn, v);
+            return createAnimatableValue(target, pn, v);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}, after
+         * computation and inheritance.
+         */
+        protected abstract AnimatableValue createAnimatableValue
+            (AnimationTarget target, String pn, Value v);
+
+        /**
+         * Creates a new CSS {@link Value} from a string.
+         */
+        protected Value createCSSValue(AnimationTarget t, String pn, String s) {
+            CSSStylableElement elt = (CSSStylableElement) t.getElement();
+            Value v = cssEngine.parsePropertyValue(elt, pn, s);
+            return computeValue(elt, pn, v);
+        }
+
+        /**
+         * Computes a CSS {@link Value} and performance inheritance if the
+         * specified value is 'inherit'.
+         */
+        protected Value computeValue(CSSStylableElement elt, String pn,
+                                     Value v) {
+            ValueManager[] vms = cssEngine.getValueManagers();
+            int idx = cssEngine.getPropertyIndex(pn);
+            if (idx != -1) {
+                if (v.getCssValueType() == CSSValue.CSS_INHERIT) {
+                    elt = CSSEngine.getParentCSSStylableElement(elt);
+                    if (elt != null) {
+                        return cssEngine.getComputedStyle(elt, null, idx);
+                    }
+                    return vms[idx].getDefaultValue();
+                }
+                v = vms[idx].computeValue(elt, null, cssEngine, idx,
+                                          dummyStyleMap, v);
+            }
+            return v;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableBooleanValue}s.
+     */
+    protected class AnimatableBooleanValueFactory implements Factory {
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            return new AnimatableBooleanValue(target, "true".equals(s));
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return new AnimatableBooleanValue(target,
+                                              "true".equals(v.getCssText()));
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableIntegerValue}s.
+     */
+    protected class AnimatableIntegerValueFactory implements Factory {
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            return new AnimatableIntegerValue(target, Integer.parseInt(s));
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return new AnimatableIntegerValue(target,
+                                              Math.round(v.getFloatValue()));
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableNumberValue}s.
+     */
+    protected class AnimatableNumberValueFactory implements Factory {
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            return new AnimatableNumberValue(target, Float.parseFloat(s));
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return new AnimatableNumberValue(target, v.getFloatValue());
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableNumberOrPercentageValue}s.
+     */
+    protected class AnimatableNumberOrPercentageValueFactory
+            implements Factory {
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            float v;
+            boolean pc;
+            if (s.charAt(s.length() - 1) == '%') {
+                v = Float.parseFloat(s.substring(0, s.length() - 1));
+                pc = true;
+            } else {
+                v = Float.parseFloat(s);
+                pc = false;
+            }
+            return new AnimatableNumberOrPercentageValue(target, v, pc);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            switch (v.getPrimitiveType()) {
+                case CSSPrimitiveValue.CSS_PERCENTAGE:
+                    return new AnimatableNumberOrPercentageValue
+                        (target, v.getFloatValue(), true);
+                case CSSPrimitiveValue.CSS_NUMBER:
+                    return new AnimatableNumberOrPercentageValue
+                        (target, v.getFloatValue());
+            }
+            // XXX Do something better than returning null.
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatablePreserveAspectRatioValue}s.
+     */
+    protected class AnimatablePreserveAspectRatioValueFactory implements Factory {
+
+        /**
+         * The parsed 'align' value.
+         */
+        protected short align;
+
+        /**
+         * The parsed 'meetOrSlice' value.
+         */
+        protected short meetOrSlice;
+
+        /**
+         * Parser for preserveAspectRatio values.
+         */
+        protected PreserveAspectRatioParser parser =
+            new PreserveAspectRatioParser();
+
+        /**
+         * Handler for the preserveAspectRatio parser.
+         */
+        protected DefaultPreserveAspectRatioHandler handler =
+            new DefaultPreserveAspectRatioHandler() {
+
+            /**
+             * Implements {@link
+             * PreserveAspectRatioHandler#startPreserveAspectRatio()}.
+             */
+            public void startPreserveAspectRatio() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_UNKNOWN;
+                meetOrSlice = SVGPreserveAspectRatio.SVG_MEETORSLICE_UNKNOWN;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#none()}.
+             */
+            public void none() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_NONE;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMaxYMax()}.
+             */
+            public void xMaxYMax() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMAX;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMaxYMid()}.
+             */
+            public void xMaxYMid() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMID;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMaxYMin()}.
+             */
+            public void xMaxYMin() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMAXYMIN;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMidYMax()}.
+             */
+            public void xMidYMax() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMAX;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMidYMid()}.
+             */
+            public void xMidYMid() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMID;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMidYMin()}.
+             */
+            public void xMidYMin() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMIDYMIN;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMinYMax()}.
+             */
+            public void xMinYMax() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMAX;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMinYMid()}.
+             */
+            public void xMinYMid() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMID;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#xMinYMin()}.
+             */
+            public void xMinYMin() throws ParseException {
+                align = SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_XMINYMIN;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#meet()}.
+             */
+            public void meet() throws ParseException {
+                meetOrSlice = SVGPreserveAspectRatio.SVG_MEETORSLICE_MEET;
+            }
+
+            /**
+             * Implements {@link PreserveAspectRatioHandler#slice()}.
+             */
+            public void slice() throws ParseException {
+                meetOrSlice = SVGPreserveAspectRatio.SVG_MEETORSLICE_SLICE;
+            }
+        };
+
+        /**
+         * Creates a new AnimatablePreserveAspectRatioValueFactory.
+         */
+        public AnimatablePreserveAspectRatioValueFactory() {
+            parser.setPreserveAspectRatioHandler(handler);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                parser.parse(s);
+                return new AnimatablePreserveAspectRatioValue(target, align,
+                                                              meetOrSlice);
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since preserveAspectRatio values aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableLengthValue}s.
+     */
+    protected class AnimatableLengthValueFactory implements Factory {
+
+        /**
+         * The parsed length unit type.
+         */
+        protected short type;
+
+        /**
+         * The parsed length value.
+         */
+        protected float value;
+
+        /**
+         * Parser for lengths.
+         */
+        protected LengthParser parser = new LengthParser();
+
+        /**
+         * Handler for the length parser.
+         */
+        protected LengthHandler handler = new DefaultLengthHandler() {
+            public void startLength() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_NUMBER;
+            }
+            public void lengthValue(float v) throws ParseException {
+                value = v;
+            }
+            public void em() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_EMS;
+            }
+            public void ex() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_EXS;
+            }
+            public void in() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_IN;
+            }
+            public void cm() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_CM;
+            }
+            public void mm() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_MM;
+            }
+            public void pc() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_PC;
+            }
+            public void pt() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_PT;
+            }
+            public void px() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_PX;
+            }
+            public void percentage() throws ParseException {
+                type = SVGLength.SVG_LENGTHTYPE_PERCENTAGE;
+            }
+            public void endLength() throws ParseException {
+            }
+        };
+
+        /**
+         * Creates a new AnimatableLengthValueFactory.
+         */
+        public AnimatableLengthValueFactory() {
+            parser.setLengthHandler(handler);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            short pcInterp = target.getPercentageInterpretation(ns, ln, isCSS);
+            try {
+                parser.parse(s);
+                return new AnimatableLengthValue
+                    (target, type, value, pcInterp);
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return new AnimatableIntegerValue(target,
+                                              Math.round(v.getFloatValue()));
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableLengthListValue}s.
+     */
+    protected class AnimatableLengthListValueFactory implements Factory {
+
+        /**
+         * Parser for length lists.
+         */
+        protected LengthListParser parser = new LengthListParser();
+
+        /**
+         * The producer class that accumulates the lengths.
+         */
+        protected LengthArrayProducer producer = new LengthArrayProducer();
+
+        /**
+         * Creates a new AnimatableLengthListValueFactory.
+         */
+        public AnimatableLengthListValueFactory() {
+            parser.setLengthListHandler(producer);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                short pcInterp = target.getPercentageInterpretation
+                    (ns, ln, isCSS);
+                parser.parse(s);
+                return new AnimatableLengthListValue
+                    (target, producer.getLengthTypeArray(),
+                     producer.getLengthValueArray(),
+                     pcInterp);
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since point lists aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableNumberListValue}s.
+     */
+    protected class AnimatableNumberListValueFactory implements Factory {
+
+        /**
+         * Parser for number lists.
+         */
+        protected NumberListParser parser = new NumberListParser();
+
+        /**
+         * The producer class that accumulates the numbers.
+         */
+        protected FloatArrayProducer producer = new FloatArrayProducer();
+
+        /**
+         * Creates a new AnimatableNumberListValueFactory.
+         */
+        public AnimatableNumberListValueFactory() {
+            parser.setNumberListHandler(producer);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                parser.parse(s);
+                return new AnimatableNumberListValue(target,
+                                                     producer.getFloatArray());
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since number lists aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableNumberListValue}s.
+     */
+    protected class AnimatableRectValueFactory implements Factory {
+
+        /**
+         * Parser for number lists.
+         */
+        protected NumberListParser parser = new NumberListParser();
+
+        /**
+         * The producer class that accumulates the numbers.
+         */
+        protected FloatArrayProducer producer = new FloatArrayProducer();
+
+        /**
+         * Creates a new AnimatableNumberListValueFactory.
+         */
+        public AnimatableRectValueFactory() {
+            parser.setNumberListHandler(producer);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                parser.parse(s);
+                float[] r = producer.getFloatArray();
+                if (r.length != 4) {
+                    // XXX Do something better than returning null.
+                    return null;
+                }
+                return new AnimatableRectValue(target, r[0], r[1], r[2], r[3]);
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since rects aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatablePointListValue}s.
+     */
+    protected class AnimatablePointListValueFactory implements Factory {
+
+        /**
+         * Parser for point lists.
+         */
+        protected PointsParser parser = new PointsParser();
+
+        /**
+         * The producer class that accumulates the points.
+         */
+        protected FloatArrayProducer producer = new FloatArrayProducer();
+
+        /**
+         * Creates a new AnimatablePointListValueFactory.
+         */
+        public AnimatablePointListValueFactory() {
+            parser.setPointsHandler(producer);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                parser.parse(s);
+                return new AnimatablePointListValue(target,
+                                                    producer.getFloatArray());
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since point lists aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatablePathDataValue}s.
+     */
+    protected class AnimatablePathDataFactory implements Factory {
+
+        /**
+         * Parser for path data.
+         */
+        protected PathParser parser = new PathParser();
+
+        /**
+         * The producer class that accumulates the path segments.
+         */
+        protected PathArrayProducer producer = new PathArrayProducer();
+
+        /**
+         * Creates a new AnimatablePathDataFactory.
+         */
+        public AnimatablePathDataFactory() {
+            parser.setPathHandler(producer);
+        }
+
+        /**
+         * Creates a new AnimatableValue from a string.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            try {
+                parser.parse(s);
+                return new AnimatablePathDataValue
+                    (target, producer.getPathCommands(),
+                     producer.getPathParameters());
+            } catch (ParseException e) {
+                // XXX Do something better than returning null.
+                return null;
+            }
+        }
+
+        /**
+         * Creates a new AnimatableValue from a CSS {@link Value}.  Returns null
+         * since point lists aren't used in CSS values.
+         */
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableStringValue}s.
+     */
+    protected class UncomputedAnimatableStringValueFactory implements Factory {
+
+        public AnimatableValue createValue(AnimationTarget target, String ns,
+                                           String ln, boolean isCSS, String s) {
+            return new AnimatableStringValue(target, s);
+        }
+
+        public AnimatableValue createValue(AnimationTarget target, String pn,
+                                           Value v) {
+            return new AnimatableStringValue(target, v.getCssText());
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableLengthOrIdentValue}s.
+     */
+    protected class AnimatableLengthOrIdentFactory extends CSSValueFactory {
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            if (v instanceof StringValue) {
+                return new AnimatableLengthOrIdentValue(target,
+                                                        v.getStringValue());
+            }
+            short pcInterp = target.getPercentageInterpretation(null, pn, true);
+            FloatValue fv = (FloatValue) v;
+            return new AnimatableLengthOrIdentValue
+                (target, fv.getPrimitiveType(), fv.getFloatValue(), pcInterp);
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableNumberOrIdentValue}s.
+     */
+    protected class AnimatableNumberOrIdentFactory extends CSSValueFactory {
+
+        /**
+         * Whether numbers are actually numeric keywords, as with the
+         * font-weight property.
+         */
+        protected boolean numericIdents;
+
+        public AnimatableNumberOrIdentFactory(boolean numericIdents) {
+            this.numericIdents = numericIdents;
+        }
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            if (v instanceof StringValue) {
+                return new AnimatableNumberOrIdentValue(target,
+                                                        v.getStringValue());
+            }
+            FloatValue fv = (FloatValue) v;
+            return new AnimatableNumberOrIdentValue(target, fv.getFloatValue(),
+                                                    numericIdents);
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableAngleValue}s.
+     */
+    protected class AnimatableAngleValueFactory extends CSSValueFactory {
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            FloatValue fv = (FloatValue) v;
+            short unit;
+            switch (fv.getPrimitiveType()) {
+                case CSSPrimitiveValue.CSS_NUMBER:
+                case CSSPrimitiveValue.CSS_DEG:
+                    unit = SVGAngle.SVG_ANGLETYPE_DEG;
+                    break;
+                case CSSPrimitiveValue.CSS_RAD:
+                    unit = SVGAngle.SVG_ANGLETYPE_RAD;
+                    break;
+                case CSSPrimitiveValue.CSS_GRAD:
+                    unit = SVGAngle.SVG_ANGLETYPE_GRAD;
+                    break;
+                default:
+                    // XXX Do something better than returning null.
+                    return null;
+            }
+            return new AnimatableAngleValue(target, fv.getFloatValue(), unit);
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableAngleOrIdentValue}s.
+     */
+    protected class AnimatableAngleOrIdentFactory extends CSSValueFactory {
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            if (v instanceof StringValue) {
+                return new AnimatableAngleOrIdentValue(target,
+                                                       v.getStringValue());
+            }
+            FloatValue fv = (FloatValue) v;
+            short unit;
+            switch (fv.getPrimitiveType()) {
+                case CSSPrimitiveValue.CSS_NUMBER:
+                case CSSPrimitiveValue.CSS_DEG:
+                    unit = SVGAngle.SVG_ANGLETYPE_DEG;
+                    break;
+                case CSSPrimitiveValue.CSS_RAD:
+                    unit = SVGAngle.SVG_ANGLETYPE_RAD;
+                    break;
+                case CSSPrimitiveValue.CSS_GRAD:
+                    unit = SVGAngle.SVG_ANGLETYPE_GRAD;
+                    break;
+                default:
+                    // XXX Do something better than returning null.
+                    return null;
+            }
+            return new AnimatableAngleOrIdentValue(target, fv.getFloatValue(),
+                                                   unit);
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatableColorValue}s.
+     */
+    protected class AnimatableColorValueFactory extends CSSValueFactory {
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            Paint p = PaintServer.convertPaint
+                (target.getElement(), null, v, 1.0f, ctx);
+            if (p instanceof Color) {
+                Color c = (Color) p;
+                return new AnimatableColorValue(target,
+                                                c.getRed() / 255f,
+                                                c.getGreen() / 255f,
+                                                c.getBlue() / 255f);
+            }
+            // XXX Indicate that the parsed value wasn't a Color?
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for {@link AnimatablePaintValue}s.
+     */
+    protected class AnimatablePaintValueFactory extends CSSValueFactory {
+
+        /**
+         * Creates a new {@link AnimatablePaintValue} from a {@link Color}
+         * object.
+         */
+        protected AnimatablePaintValue createColorPaintValue(AnimationTarget t,
+                                                             Color c) {
+            return AnimatablePaintValue.createColorPaintValue
+                (t, c.getRed() / 255f, c.getGreen() / 255f, c.getBlue() / 255f);
+
+        }
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            if (v.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE) {
+                switch (v.getPrimitiveType()) {
+                    case CSSPrimitiveValue.CSS_IDENT:
+                        return AnimatablePaintValue.createNonePaintValue(target);
+                    case CSSPrimitiveValue.CSS_RGBCOLOR: {
+                        Paint p = PaintServer.convertPaint
+                            (target.getElement(), null, v, 1.0f, ctx);
+                        return createColorPaintValue(target, (Color) p);
+                    }
+                    case CSSPrimitiveValue.CSS_URI:
+                        return AnimatablePaintValue.createURIPaintValue
+                            (target, v.getStringValue());
+                }
+            } else {
+                Value v1 = v.item(0);
+                switch (v1.getPrimitiveType()) {
+                    case CSSPrimitiveValue.CSS_RGBCOLOR: {
+                        Paint p = PaintServer.convertPaint
+                            (target.getElement(), null, v, 1.0f, ctx);
+                        return createColorPaintValue(target, (Color) p);
+                    }
+                    case CSSPrimitiveValue.CSS_URI: {
+                        Value v2 = v.item(1);
+                        switch (v2.getPrimitiveType()) {
+                            case CSSPrimitiveValue.CSS_IDENT:
+                                return AnimatablePaintValue.createURINonePaintValue
+                                    (target, v1.getStringValue());
+                            case CSSPrimitiveValue.CSS_RGBCOLOR: {
+                                Paint p = PaintServer.convertPaint
+                                    (target.getElement(), null, v.item(1), 1.0f, ctx);
+                                return createColorPaintValue(target, (Color) p);
+                            }
+                        }
+                    }
+                }
+            }
+            // XXX Indicate that the specified Value wasn't a Color?
+            return null;
+        }
+    }
+
+    /**
+     * Factory class for computed CSS {@link AnimatableStringValue}s.
+     */
+    protected class AnimatableStringValueFactory extends CSSValueFactory {
+
+        protected AnimatableValue createAnimatableValue(AnimationTarget target,
+                                                        String pn, Value v) {
+            return new AnimatableStringValue(target, v.getCssText());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBridgeExtension.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBridgeExtension.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBridgeExtension.java
index 3d00998..b1683e3 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBridgeExtension.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBridgeExtension.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2002,2004-2005  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,6 +27,9 @@ import org.w3c.dom.Element;
 /**
  * This is a Service interface for classes that want to extend the
  * functionality of the Bridge, to support new tags in the rendering tree.
+ *
+ * @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
+ * @version $Id: SVGBridgeExtension.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGBridgeExtension implements BridgeExtension {
 
@@ -147,7 +151,11 @@ public class SVGBridgeExtension implements BridgeExtension {
         ctx.putBridge(new SVGTitleElementBridge());
         ctx.putBridge(new SVGUseElementBridge());
         ctx.putBridge(new SVGVKernElementBridge());
-
+        ctx.putBridge(new SVGSetElementBridge());
+        ctx.putBridge(new SVGAnimateElementBridge());
+        ctx.putBridge(new SVGAnimateColorElementBridge());
+        ctx.putBridge(new SVGAnimateTransformElementBridge());
+        ctx.putBridge(new SVGAnimateMotionElementBridge());
     }
 
     /**
@@ -165,7 +173,7 @@ public class SVGBridgeExtension implements BridgeExtension {
         String ln = e.getLocalName();
         if (ln.equals(SVGConstants.SVG_SCRIPT_TAG)
                 || ln.startsWith("animate")
-                || ln.equals("set")) {
+                || ln.equals(SVGConstants.SVG_SET_TAG)) {
             return true;
         }
         return false;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBrokenLinkProvider.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBrokenLinkProvider.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBrokenLinkProvider.java
index 27e1f94..1a1f318 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBrokenLinkProvider.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGBrokenLinkProvider.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,53 +18,27 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
-import java.net.URL;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.flex.forks.batik.dom.util.DOMUtilities;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
 import org.apache.flex.forks.batik.ext.awt.image.spi.DefaultBrokenLinkProvider;
-import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.filter.GraphicsNodeRable8Bit;
-import org.apache.flex.forks.batik.util.SVGConstants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+
 /**
  * This interface is to be used to provide alternate ways of 
  * generating a placeholder image when the ImageTagRegistry
  * fails to handle a given reference.
+ *
+ * @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
+ * @version $Id: SVGBrokenLinkProvider.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGBrokenLinkProvider 
     extends    DefaultBrokenLinkProvider 
     implements ErrorConstants {
 
-    public final static String SVG_BROKEN_LINK_DOCUMENT_PROPERTY = 
-        "org.apache.flex.forks.batik.bridge.BrokenLinkDocument";
-
-    UserAgent      userAgent;
-    DocumentLoader loader;
-    BridgeContext  ctx;
-    GraphicsNode   gvtRoot = null;
-    SVGDocument       svgDoc;
-    
     public SVGBrokenLinkProvider() {
-        userAgent = new UserAgentAdapter();
-        loader    = new DocumentLoader(userAgent);
-        ctx       = new BridgeContext(userAgent, loader);
-
-        Class cls = SVGBrokenLinkProvider.class;
-        URL blURL = cls.getResource("BrokenLink.svg");
-        if (blURL == null) return;
-
-        GVTBuilder builder = new GVTBuilder();
-        try {
-            svgDoc  = (SVGDocument)loader.loadDocument(blURL.toString());
-            gvtRoot = builder.build(ctx, svgDoc);
-        } catch (Exception ex) {
-            // t.printStackTrace();
-        }
     }
 
     /**
@@ -81,38 +56,11 @@ public class SVGBrokenLinkProvider
      *        the circumstances of the failure.  */
     public Filter getBrokenLinkImage(Object base, String code, 
                                      Object[] params) {
-        if (gvtRoot == null) 
-            return null;
-
         String message = formatMessage(base, code, params);
-        Document doc = getBrokenLinkDocument(message);
         Map props = new HashMap();
         props.put(BROKEN_LINK_PROPERTY, message);
-        props.put(SVG_BROKEN_LINK_DOCUMENT_PROPERTY, doc);
-        
-        return new GraphicsNodeRable8Bit(gvtRoot, props);
-    }
-
-    public SVGDocument getBrokenLinkDocument(Object base, 
-                                          String code, Object [] params) {
-        String message = formatMessage(base, code, params);
-        return getBrokenLinkDocument(message);
-    }
 
-    public SVGDocument getBrokenLinkDocument(String message) {
-        SVGDocument doc = (SVGDocument)DOMUtilities.deepCloneDocument
-            (svgDoc, svgDoc.getImplementation());
-        Element infoE = doc.getElementById("__More_About");
-        Element title = doc.createElementNS(SVGConstants.SVG_NAMESPACE_URI,
-                                            SVGConstants.SVG_TITLE_TAG);
-        title.appendChild(doc.createTextNode
-                          (Messages.formatMessage
-                           (MSG_BROKEN_LINK_TITLE, null)));
-        Element desc = doc.createElementNS(SVGConstants.SVG_NAMESPACE_URI,
-                                           SVGConstants.SVG_DESC_TAG);
-        desc.appendChild(doc.createTextNode(message));
-        infoE.insertBefore(desc, infoE.getFirstChild());
-        infoE.insertBefore(title, desc);
-        return doc;
+        CompositeGraphicsNode cgn = new CompositeGraphicsNode();
+        return new GraphicsNodeRable8Bit(cgn, props);
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGCircleElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGCircleElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGCircleElementBridge.java
index e620f1c..0193610 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGCircleElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGCircleElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,16 +21,20 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Rectangle2D;
 
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMCircleElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.gvt.ShapePainter;
+
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
 
 /**
  * Bridge class for the &lt;circle> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGCircleElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGCircleElementBridge.java 527382 2007-04-11 04:31:58Z cam $
  */
 public class SVGCircleElementBridge extends SVGShapeElementBridge {
 
@@ -62,57 +67,51 @@ public class SVGCircleElementBridge extends SVGShapeElementBridge {
     protected void buildShape(BridgeContext ctx,
                               Element e,
                               ShapeNode shapeNode) {
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-        String s;
-
-        // 'cx' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_CX_ATTRIBUTE);
-        float cx = 0;
-        if (s.length() != 0) {
-            cx = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_CX_ATTRIBUTE, uctx);
-        }
-
-        // 'cy' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_CY_ATTRIBUTE);
-        float cy = 0;
-        if (s.length() != 0) {
-            cy = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_CY_ATTRIBUTE, uctx);
-        }
-
-        // 'r' attribute - required
-        s = e.getAttributeNS(null, SVG_R_ATTRIBUTE);
-        float r;
-        if (s.length() != 0) {
-            r = UnitProcessor.svgOtherLengthToUserSpace
-                (s, SVG_R_ATTRIBUTE, uctx);
-        } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_R_ATTRIBUTE, s});
+        try {
+            SVGOMCircleElement ce = (SVGOMCircleElement) e;
+
+            // 'cx' attribute - default is 0
+            AbstractSVGAnimatedLength _cx =
+                (AbstractSVGAnimatedLength) ce.getCx();
+            float cx = _cx.getCheckedValue();
+
+            // 'cy' attribute - default is 0
+            AbstractSVGAnimatedLength _cy =
+                (AbstractSVGAnimatedLength) ce.getCy();
+            float cy = _cy.getCheckedValue();
+
+            // 'r' attribute - required
+            AbstractSVGAnimatedLength _r =
+                (AbstractSVGAnimatedLength) ce.getR();
+            float r = _r.getCheckedValue();
+
+            float x = cx - r;
+            float y = cy - r;
+            float w = r * 2;
+            shapeNode.setShape(new Ellipse2D.Float(x, y, w, w));
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-        float x = cx - r;
-        float y = cy - r;
-        float w = r * 2;
-        shapeNode.setShape(new Ellipse2D.Float(x, y, w, w));
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_CX_ATTRIBUTE) ||
-            attrName.equals(SVG_CY_ATTRIBUTE) ||
-            attrName.equals(SVG_R_ATTRIBUTE)) {
-
-            buildShape(ctx, e, (ShapeNode)node);
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_CX_ATTRIBUTE)
+                    || ln.equals(SVG_CY_ATTRIBUTE)
+                    || ln.equals(SVG_R_ATTRIBUTE)) {
+                buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
+            }
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     protected ShapePainter createShapePainter(BridgeContext ctx,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGClipPathElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGClipPathElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGClipPathElementBridge.java
index 06bc58f..4d77761 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGClipPathElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGClipPathElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,8 +24,7 @@ import java.awt.geom.AffineTransform;
 import java.awt.geom.Area;
 import java.awt.geom.GeneralPath;
 
-import org.apache.flex.forks.batik.css.engine.CSSImportNode;
-import org.apache.flex.forks.batik.dom.svg.SVGOMCSSImportedElementRoot;
+import org.apache.flex.forks.batik.dom.svg.SVGOMUseElement;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.ClipRable;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.ClipRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
@@ -37,10 +37,10 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;clipPath> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGClipPathElementBridge.java,v 1.23 2004/11/18 01:46:53 deweese Exp $
+ * @version $Id: SVGClipPathElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
-public class SVGClipPathElementBridge extends AbstractSVGBridge
-    implements ClipBridge {
+public class SVGClipPathElementBridge extends AnimatableGenericSVGBridge
+        implements ClipBridge {
 
     /**
      * Constructs a new bridge for the &lt;clipPath> element.
@@ -74,7 +74,7 @@ public class SVGClipPathElementBridge extends AbstractSVGBridge
         s = clipElement.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
         if (s.length() != 0) {
             Tx = SVGUtilities.convertTransform
-                (clipElement, SVG_TRANSFORM_ATTRIBUTE, s);
+                (clipElement, SVG_TRANSFORM_ATTRIBUTE, s, ctx);
         } else {
             Tx = new AffineTransform();
         }
@@ -86,7 +86,7 @@ public class SVGClipPathElementBridge extends AbstractSVGBridge
             coordSystemType = SVGUtilities.USER_SPACE_ON_USE;
         } else {
             coordSystemType = SVGUtilities.parseCoordinateSystem
-                (clipElement, SVG_CLIP_PATH_UNITS_ATTRIBUTE, s);
+                (clipElement, SVG_CLIP_PATH_UNITS_ATTRIBUTE, s, ctx);
         }
         // additional transform to move to objectBoundingBox coordinate system
         if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX) {
@@ -123,17 +123,13 @@ public class SVGClipPathElementBridge extends AbstractSVGBridge
             hasChildren = true;
 
             // if this is a 'use' element, get the actual shape used
-            if (child instanceof CSSImportNode) {
-                SVGOMCSSImportedElementRoot shadow =
-                    (SVGOMCSSImportedElementRoot)
-                    ((CSSImportNode) child).getCSSImportedElementRoot();
-                
-                if (shadow != null) {
-                    Node shadowChild = shadow.getFirstChild();
-                    if (shadowChild != null
-                            && shadowChild.getNodeType() == Node.ELEMENT_NODE) {
-                        child = (Element) shadowChild;
-                    }
+            if (child instanceof SVGOMUseElement) {
+                Node shadowChild
+                    = ((SVGOMUseElement) child).getCSSFirstChild();
+
+                if (shadowChild != null
+                        && shadowChild.getNodeType() == Node.ELEMENT_NODE) {
+                    child = (Element) shadowChild;
                 }
             }
 


[06/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultXBLManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultXBLManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultXBLManager.java
new file mode 100644
index 0000000..2b39fa1
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultXBLManager.java
@@ -0,0 +1,2089 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.event.EventListenerList;
+
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.BridgeException;
+import org.apache.flex.forks.batik.bridge.ErrorConstants;
+import org.apache.flex.forks.batik.dom.AbstractAttrNS;
+import org.apache.flex.forks.batik.dom.AbstractDocument;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg12.BindableElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMDefinitionElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMImportElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMShadowTreeElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMTemplateElement;
+import org.apache.flex.forks.batik.dom.xbl.NodeXBL;
+import org.apache.flex.forks.batik.dom.xbl.ShadowTreeEvent;
+import org.apache.flex.forks.batik.dom.xbl.XBLManager;
+import org.apache.flex.forks.batik.dom.xbl.XBLManagerData;
+import org.apache.flex.forks.batik.dom.xbl.XBLShadowTreeElement;
+import org.apache.flex.forks.batik.util.DoublyIndexedTable;
+import org.apache.flex.forks.batik.util.XBLConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * A full featured sXBL manager.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: DefaultXBLManager.java 592621 2007-11-07 05:58:12Z cam $
+ */
+public class DefaultXBLManager implements XBLManager, XBLConstants {
+
+    /**
+     * Whether XBL processing is currently taking place.
+     */
+    protected boolean isProcessing;
+
+    /**
+     * The document.
+     */
+    protected Document document;
+
+    /**
+     * The BridgeContext.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * Map of namespace URI/local name pairs to ordered sets of
+     * definition records.
+     */
+    protected DoublyIndexedTable definitionLists = new DoublyIndexedTable();
+
+    /**
+     * Map of definition element/import element pairs to definition records.
+     */
+    protected DoublyIndexedTable definitions = new DoublyIndexedTable();
+
+    /**
+     * Map of shadow trees to content managers.
+     */
+    protected Map contentManagers = new HashMap();
+
+    /**
+     * Map of import elements to import records.
+     */
+    protected Map imports = new HashMap();
+
+    /**
+     * DOM node inserted listener for the document.
+     */
+    protected DocInsertedListener docInsertedListener
+        = new DocInsertedListener();
+
+    /**
+     * DOM node removed listener for the document.
+     */
+    protected DocRemovedListener docRemovedListener
+        = new DocRemovedListener();
+
+    /**
+     * DOM subtree mutation listener for the document.
+     */
+    protected DocSubtreeListener docSubtreeListener
+        = new DocSubtreeListener();
+
+    /**
+     * DOM attribute listener for import elements.
+     */
+    protected ImportAttrListener importAttrListener = new ImportAttrListener();
+
+    /**
+     * DOM attribute listener for referencing definition elements.
+     */
+    protected RefAttrListener refAttrListener = new RefAttrListener();
+
+    /**
+     * Global event listener list for XBL binding related events.
+     */
+    protected EventListenerList bindingListenerList = new EventListenerList();
+
+    /**
+     * Global event listener list for ContentSelectionChanged events.
+     */
+    protected EventListenerList contentSelectionChangedListenerList
+        = new EventListenerList();
+
+    /**
+     * Creates a new DefaultXBLManager for the given document.
+     */
+    public DefaultXBLManager(Document doc, BridgeContext ctx) {
+        document = doc;
+        this.ctx = ctx;
+        ImportRecord ir = new ImportRecord(null, null);
+        imports.put(null, ir);
+    }
+
+    /**
+     * Starts XBL processing on the document.
+     */
+    public void startProcessing() {
+        if (isProcessing) {
+            return;
+        }
+
+        // Get list of all current definitions in the document.
+        NodeList nl = document.getElementsByTagNameNS(XBL_NAMESPACE_URI,
+                                                      XBL_DEFINITION_TAG);
+        XBLOMDefinitionElement[] defs
+            = new XBLOMDefinitionElement[nl.getLength()];
+        for (int i = 0; i < defs.length; i++) {
+            defs[i] = (XBLOMDefinitionElement) nl.item(i);
+        }
+
+        // Get list of all imports in the document.
+        nl = document.getElementsByTagNameNS(XBL_NAMESPACE_URI,
+                                             XBL_IMPORT_TAG);
+        Element[] imports
+            = new Element[nl.getLength()];
+        for (int i = 0; i < imports.length; i++) {
+            imports[i] = (Element) nl.item(i);
+        }
+
+        // Add document listeners.
+        AbstractDocument doc = (AbstractDocument) document;
+        XBLEventSupport es = (XBLEventSupport) doc.initializeEventSupport();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             docRemovedListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             docInsertedListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMSubtreeModified",
+             docSubtreeListener, true);
+
+        // Add definitions.
+        for (int i = 0; i < defs.length; i++) {
+            if (defs[i].getAttributeNS(null, XBL_REF_ATTRIBUTE).length() != 0) {
+                addDefinitionRef(defs[i]);
+            } else {
+                String ns = defs[i].getElementNamespaceURI();
+                String ln = defs[i].getElementLocalName();
+                addDefinition(ns, ln, defs[i], null);
+            }
+        }
+
+        // Add imports.
+        for (int i = 0; i < imports.length; i++) {
+            addImport(imports[i]);
+        }
+
+        // Bind all of the bindable elements in the document that have a
+        // matching definition.
+        isProcessing = true;
+        bind(document.getDocumentElement());
+    }
+
+    /**
+     * Stops XBL processing on the document.
+     */
+    public void stopProcessing() {
+        if (!isProcessing) {
+            return;
+        }
+        isProcessing = false;
+
+        // Remove document listeners.
+        AbstractDocument doc = (AbstractDocument) document;
+        XBLEventSupport es = (XBLEventSupport) doc.initializeEventSupport();
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             docRemovedListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             docInsertedListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMSubtreeModified",
+             docSubtreeListener, true);
+
+        // Remove all imports.
+        int nSlots = imports.values().size();
+        ImportRecord[] irs = new ImportRecord[ nSlots ];
+        imports.values().toArray( irs );
+        for (int i = 0; i < irs.length; i++) {
+            ImportRecord ir = irs[i];
+            if (ir.importElement.getLocalName().equals(XBL_DEFINITION_TAG)) {
+                removeDefinitionRef(ir.importElement);
+            } else {
+                removeImport(ir.importElement);
+            }
+        }
+
+        // Remove all bindings.
+        Object[] defRecs = definitions.getValuesArray();
+        definitions.clear();
+        for (int i = 0; i < defRecs.length; i++) {
+            DefinitionRecord defRec = (DefinitionRecord) defRecs[i];
+            TreeSet defs = (TreeSet) definitionLists.get(defRec.namespaceURI,
+                                                         defRec.localName);
+            if (defs != null) {
+                while (!defs.isEmpty()) {
+                    defRec = (DefinitionRecord) defs.first();
+                    defs.remove(defRec);
+                    removeDefinition(defRec);
+                }
+                definitionLists.put(defRec.namespaceURI, defRec.localName, null);
+            }
+        }
+        definitionLists = new DoublyIndexedTable();
+        contentManagers.clear();
+    }
+
+    /**
+     * Returns whether XBL processing is currently enabled.
+     */
+    public boolean isProcessing() {
+        return isProcessing;
+    }
+
+    /**
+     * Adds a definition through its referring definition element (one
+     * with a 'ref' attribute).
+     */
+    protected void addDefinitionRef(Element defRef) {
+        String ref = defRef.getAttributeNS(null, XBL_REF_ATTRIBUTE);
+        Element e = ctx.getReferencedElement(defRef, ref);
+        if (!XBL_NAMESPACE_URI.equals(e.getNamespaceURI())
+                || !XBL_DEFINITION_TAG.equals(e.getLocalName())) {
+            throw new BridgeException
+                (ctx, defRef, ErrorConstants.ERR_URI_BAD_TARGET,
+                 new Object[] { ref });
+        }
+        ImportRecord ir = new ImportRecord(defRef, e);
+        imports.put(defRef, ir);
+
+        NodeEventTarget et = (NodeEventTarget) defRef;
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             refAttrListener, false, null);
+
+        XBLOMDefinitionElement d = (XBLOMDefinitionElement) defRef;
+        String ns = d.getElementNamespaceURI();
+        String ln = d.getElementLocalName();
+        addDefinition(ns, ln, (XBLOMDefinitionElement) e, defRef);
+    }
+
+    /**
+     * Removes a definition through its referring definition element (one
+     * with a 'ref' attribute).
+     */
+    protected void removeDefinitionRef(Element defRef) {
+        ImportRecord ir = (ImportRecord) imports.get(defRef);
+        NodeEventTarget et = (NodeEventTarget) defRef;
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             refAttrListener, false);
+        DefinitionRecord defRec
+            = (DefinitionRecord) definitions.get(ir.node, defRef);
+        removeDefinition(defRec);
+        imports.remove(defRef);
+    }
+
+    /**
+     * Imports bindings from another document.
+     */
+    protected void addImport(Element imp) {
+        String bindings = imp.getAttributeNS(null, XBL_BINDINGS_ATTRIBUTE);
+        Node n = ctx.getReferencedNode(imp, bindings);
+        if (n.getNodeType() == Node.ELEMENT_NODE
+                && !(XBL_NAMESPACE_URI.equals(n.getNamespaceURI())
+                        && XBL_XBL_TAG.equals(n.getLocalName()))) {
+            throw new BridgeException
+                (ctx, imp, ErrorConstants.ERR_URI_BAD_TARGET,
+                 new Object[] { n });
+        }
+        ImportRecord ir = new ImportRecord(imp, n);
+        imports.put(imp, ir);
+
+        NodeEventTarget et = (NodeEventTarget) imp;
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             importAttrListener, false, null);
+
+        et = (NodeEventTarget) n;
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+             ir.importInsertedListener, false, null);
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             ir.importRemovedListener, false, null);
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             ir.importSubtreeListener, false, null);
+        addImportedDefinitions(imp, n);
+    }
+
+    /**
+     * Adds the definitions in the given imported subtree.
+     */
+    protected void addImportedDefinitions(Element imp, Node n) {
+        if (n instanceof XBLOMDefinitionElement) {
+            XBLOMDefinitionElement def = (XBLOMDefinitionElement) n;
+            String ns = def.getElementNamespaceURI();
+            String ln = def.getElementLocalName();
+            addDefinition(ns, ln, def, imp);
+        } else {
+            n = n.getFirstChild();
+            while (n != null) {
+                addImportedDefinitions(imp, n);
+                n = n.getNextSibling();
+            }
+        }
+    }
+
+    /**
+     * Removes an import.
+     */
+    protected void removeImport(Element imp) {
+        ImportRecord ir = (ImportRecord) imports.get(imp);
+        NodeEventTarget et = (NodeEventTarget) ir.node;
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+             ir.importInsertedListener, false);
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             ir.importRemovedListener, false);
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             ir.importSubtreeListener, false);
+
+        et = (NodeEventTarget) imp;
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             importAttrListener, false);
+
+        Object[] defRecs = definitions.getValuesArray();
+        for (int i = 0; i < defRecs.length; i++) {
+            DefinitionRecord defRec = (DefinitionRecord) defRecs[i];
+            if (defRec.importElement == imp) {
+                removeDefinition(defRec);
+            }
+        }
+        imports.remove(imp);
+    }
+
+    /**
+     * Adds an xbl:definition element to the list of definitions that
+     * could possibly affect elements with the specified QName.  This
+     * may or may not actually cause a new binding to come in to effect,
+     * as this new definition element may be added earlier in the
+     * document than another already in effect.
+     *
+     * @param namespaceURI the namespace URI of the bound elements
+     * @param localName the local name of the bound elements
+     * @param def the xbl:definition element
+     * @param imp the xbl:import or xbl;definition element through which
+     *            this definition is being added, or null if the binding
+     *            is in the original document
+     */
+    protected void addDefinition(String namespaceURI,
+                                 String localName,
+                                 XBLOMDefinitionElement def,
+                                 Element imp) {
+        ImportRecord ir = (ImportRecord) imports.get(imp);
+        DefinitionRecord oldDefRec = null;
+        DefinitionRecord defRec;
+        TreeSet defs = (TreeSet) definitionLists.get(namespaceURI, localName);
+        if (defs == null) {
+            defs = new TreeSet();
+            definitionLists.put(namespaceURI, localName, defs);
+        } else if (defs.size() > 0) {
+            oldDefRec = (DefinitionRecord) defs.first();
+        }
+        XBLOMTemplateElement template = null;
+        for (Node n = def.getFirstChild(); n != null; n = n.getNextSibling()) {
+            if (n instanceof XBLOMTemplateElement) {
+                template = (XBLOMTemplateElement) n;
+                break;
+            }
+        }
+        defRec = new DefinitionRecord(namespaceURI, localName, def,
+                                      template, imp);
+        defs.add(defRec);
+        definitions.put(def, imp, defRec);
+        addDefinitionElementListeners(def, ir);
+        if (defs.first() != defRec) {
+            return;
+        }
+        if (oldDefRec != null) {
+            XBLOMDefinitionElement oldDef = oldDefRec.definition;
+            XBLOMTemplateElement oldTemplate = oldDefRec.template;
+            if (oldTemplate != null) {
+                removeTemplateElementListeners(oldTemplate, ir);
+            }
+            removeDefinitionElementListeners(oldDef, ir);
+        }
+        if (template != null) {
+            addTemplateElementListeners(template, ir);
+        }
+        if (isProcessing) {
+            rebind(namespaceURI, localName, document.getDocumentElement());
+        }
+    }
+
+    /**
+     * Adds DOM mutation listeners to the given definition element.
+     */
+    protected void addDefinitionElementListeners(XBLOMDefinitionElement def,
+                                                 ImportRecord ir) {
+        XBLEventSupport es = (XBLEventSupport) def.initializeEventSupport();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             ir.defAttrListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             ir.defNodeInsertedListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             ir.defNodeRemovedListener, false);
+    }
+
+    /**
+     * Adds DOM mutation listeners to the given template element.
+     */
+    protected void addTemplateElementListeners(XBLOMTemplateElement template,
+                                               ImportRecord ir) {
+        XBLEventSupport es
+            = (XBLEventSupport) template.initializeEventSupport();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             ir.templateMutationListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             ir.templateMutationListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             ir.templateMutationListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMCharacterDataModified",
+             ir.templateMutationListener, false);
+    }
+
+    /**
+     * Removes an xbl:definition element from the list of definitions that
+     * could possibly affect elements with the specified QName.  This
+     * will only cause a new binding to come in to effect if it is currently
+     * active.
+     */
+    protected void removeDefinition(DefinitionRecord defRec) {
+        TreeSet defs = (TreeSet) definitionLists.get(defRec.namespaceURI,
+                                                     defRec.localName);
+        if (defs == null) {
+            return;
+        }
+        Element imp = defRec.importElement;
+        ImportRecord ir = (ImportRecord) imports.get(imp);
+        DefinitionRecord activeDefRec = (DefinitionRecord) defs.first();
+        defs.remove(defRec);
+        definitions.remove(defRec.definition, imp);
+        removeDefinitionElementListeners(defRec.definition, ir);
+        if (defRec != activeDefRec) {
+            return;
+        }
+        if (defRec.template != null) {
+            removeTemplateElementListeners(defRec.template, ir);
+        }
+        rebind(defRec.namespaceURI, defRec.localName,
+               document.getDocumentElement());
+    }
+
+    /**
+     * Removes DOM mutation listeners from the given definition element.
+     */
+    protected void removeDefinitionElementListeners
+            (XBLOMDefinitionElement def,
+             ImportRecord ir) {
+        XBLEventSupport es = (XBLEventSupport) def.initializeEventSupport();
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             ir.defAttrListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             ir.defNodeInsertedListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             ir.defNodeRemovedListener, false);
+    }
+
+    /**
+     * Removes DOM mutation listeners from the given template element.
+     */
+    protected void removeTemplateElementListeners
+            (XBLOMTemplateElement template,
+             ImportRecord ir) {
+        XBLEventSupport es
+            = (XBLEventSupport) template.initializeEventSupport();
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             ir.templateMutationListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             ir.templateMutationListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             ir.templateMutationListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMCharacterDataModified",
+             ir.templateMutationListener, false);
+    }
+
+    /**
+     * Returns the definition record of the active definition for namespace
+     * URI/local name pair.
+     */
+    protected DefinitionRecord getActiveDefinition(String namespaceURI,
+                                                   String localName) {
+        TreeSet defs = (TreeSet) definitionLists.get(namespaceURI, localName);
+        if (defs == null || defs.size() == 0) {
+            return null;
+        }
+        return (DefinitionRecord) defs.first();
+    }
+
+    /**
+     * Unbinds each bindable element in the given element's subtree.
+     */
+    protected void unbind(Element e) {
+        if (e instanceof BindableElement) {
+            setActiveDefinition((BindableElement) e, null);
+        } else {
+            NodeList nl = getXblScopedChildNodes(e);
+            for (int i = 0; i < nl.getLength(); i++) {
+                Node n = nl.item(i);
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    unbind((Element) n);
+                }
+            }
+        }
+    }
+
+    /**
+     * Binds each bindable element in the given element's subtree.
+     */
+    protected void bind(Element e) {
+        AbstractDocument doc = (AbstractDocument) e.getOwnerDocument();
+        if (doc != document) {
+            XBLManager xm = doc.getXBLManager();
+            if (xm instanceof DefaultXBLManager) {
+                ((DefaultXBLManager) xm).bind(e);
+                return;
+            }
+        }
+
+        if (e instanceof BindableElement) {
+            DefinitionRecord defRec
+                = getActiveDefinition(e.getNamespaceURI(),
+                                      e.getLocalName());
+            setActiveDefinition((BindableElement) e, defRec);
+        } else {
+            NodeList nl = getXblScopedChildNodes(e);
+            for (int i = 0; i < nl.getLength(); i++) {
+                Node n = nl.item(i);
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    bind((Element) n);
+                }
+            }
+        }
+    }
+
+    /**
+     * Rebinds each bindable element of the given name in the given element's
+     * subtree.
+     */
+    protected void rebind(String namespaceURI, String localName, Element e) {
+        AbstractDocument doc = (AbstractDocument) e.getOwnerDocument();
+        if (doc != document) {
+            XBLManager xm = doc.getXBLManager();
+            if (xm instanceof DefaultXBLManager) {
+                ((DefaultXBLManager) xm).rebind(namespaceURI, localName, e);
+                return;
+            }
+        }
+
+        if (e instanceof BindableElement
+                && namespaceURI.equals(e.getNamespaceURI())
+                && localName.equals(e.getLocalName())) {
+            DefinitionRecord defRec
+                = getActiveDefinition(e.getNamespaceURI(),
+                                      e.getLocalName());
+            setActiveDefinition((BindableElement) e, defRec);
+        } else {
+            NodeList nl = getXblScopedChildNodes(e);
+            for (int i = 0; i < nl.getLength(); i++) {
+                Node n = nl.item(i);
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    rebind(namespaceURI, localName, (Element) n);
+                }
+            }
+        }
+    }
+
+    /**
+     * Sets the given definition as the active one for a particular
+     * bindable element.
+     */
+    protected void setActiveDefinition(BindableElement elt,
+                                       DefinitionRecord defRec) {
+        XBLRecord rec = getRecord(elt);
+        rec.definitionElement = defRec == null ? null : defRec.definition;
+        if (defRec != null
+                && defRec.definition != null
+                && defRec.template != null) {
+            setXblShadowTree(elt, cloneTemplate(defRec.template));
+        } else {
+            setXblShadowTree(elt, null);
+        }
+    }
+
+    /**
+     * Sets the shadow tree for the given bindable element.
+     */
+    protected void setXblShadowTree(BindableElement elt,
+                                    XBLOMShadowTreeElement newShadow) {
+        XBLOMShadowTreeElement oldShadow
+            = (XBLOMShadowTreeElement) getXblShadowTree(elt);
+        if (oldShadow != null) {
+            fireShadowTreeEvent(elt, XBL_UNBINDING_EVENT_TYPE, oldShadow);
+            ContentManager cm = getContentManager(oldShadow);
+            if (cm != null) {
+                cm.dispose();
+            }
+            elt.setShadowTree(null);
+            XBLRecord rec = getRecord(oldShadow);
+            rec.boundElement = null;
+            oldShadow.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                 "DOMSubtreeModified",
+                 docSubtreeListener, false);
+        }
+        if (newShadow != null) {
+            newShadow.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                 "DOMSubtreeModified",
+                 docSubtreeListener, false, null);
+            fireShadowTreeEvent(elt, XBL_PREBIND_EVENT_TYPE, newShadow);
+            elt.setShadowTree(newShadow);
+            XBLRecord rec = getRecord(newShadow);
+            rec.boundElement = elt;
+            AbstractDocument doc
+                = (AbstractDocument) elt.getOwnerDocument();
+            XBLManager xm = doc.getXBLManager();
+            ContentManager cm = new ContentManager(newShadow, xm);
+            setContentManager(newShadow, cm);
+        }
+        invalidateChildNodes(elt);
+        if (newShadow != null) {
+            NodeList nl = getXblScopedChildNodes(elt);
+            for (int i = 0; i < nl.getLength(); i++) {
+                Node n = nl.item(i);
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    bind((Element) n);
+                }
+            }
+            dispatchBindingChangedEvent(elt, newShadow);
+            fireShadowTreeEvent(elt, XBL_BOUND_EVENT_TYPE, newShadow);
+        } else {
+            dispatchBindingChangedEvent(elt, newShadow);
+        }
+    }
+
+    /**
+     * Fires a ShadowTreeEvent of the given type on this element.
+     */
+    protected void fireShadowTreeEvent(BindableElement elt,
+                                       String type,
+                                       XBLShadowTreeElement e) {
+        DocumentEvent de = (DocumentEvent) elt.getOwnerDocument();
+        ShadowTreeEvent evt
+            = (ShadowTreeEvent) de.createEvent("ShadowTreeEvent");
+        evt.initShadowTreeEventNS(XBL_NAMESPACE_URI, type, true, false, e);
+        elt.dispatchEvent(evt);
+    }
+
+    /**
+     * Clones a template element for use as a shadow tree.
+     */
+    protected XBLOMShadowTreeElement cloneTemplate
+            (XBLOMTemplateElement template) {
+        XBLOMShadowTreeElement clone =
+            (XBLOMShadowTreeElement)
+            template.getOwnerDocument().createElementNS(XBL_NAMESPACE_URI,
+                                                        XBL_SHADOW_TREE_TAG);
+        NamedNodeMap attrs = template.getAttributes();
+        for (int i = 0; i < attrs.getLength(); i++) {
+            Attr attr = (Attr) attrs.item(i);
+            if (attr instanceof AbstractAttrNS) {
+                clone.setAttributeNodeNS(attr);
+            } else {
+                clone.setAttributeNode(attr);
+            }
+        }
+        for (Node n = template.getFirstChild();
+                n != null;
+                n = n.getNextSibling()) {
+            clone.appendChild(n.cloneNode(true));
+        }
+        return clone;
+    }
+
+    /**
+     * Get the parent of a node in the fully flattened tree.
+     */
+    public Node getXblParentNode(Node n) {
+        Node contentElement = getXblContentElement(n);
+        Node parent = contentElement == null
+                        ? n.getParentNode()
+                        : contentElement.getParentNode();
+        if (parent instanceof XBLOMContentElement) {
+            parent = parent.getParentNode();
+        }
+        if (parent instanceof XBLOMShadowTreeElement) {
+            parent = getXblBoundElement(parent);
+        }
+        return parent;
+    }
+
+    /**
+     * Get the list of child nodes of a node in the fully flattened tree.
+     */
+    public NodeList getXblChildNodes(Node n) {
+        XBLRecord rec = getRecord(n);
+        if (rec.childNodes == null) {
+            rec.childNodes = new XblChildNodes(rec);
+        }
+        return rec.childNodes;
+    }
+
+    /**
+     * Get the list of child nodes of a node in the fully flattened tree
+     * that are within the same shadow scope.
+     */
+    public NodeList getXblScopedChildNodes(Node n) {
+        XBLRecord rec = getRecord(n);
+        if (rec.scopedChildNodes == null) {
+            rec.scopedChildNodes = new XblScopedChildNodes(rec);
+        }
+        return rec.scopedChildNodes;
+    }
+
+    /**
+     * Get the first child node of a node in the fully flattened tree.
+     */
+    public Node getXblFirstChild(Node n) {
+        NodeList nl = getXblChildNodes(n);
+        return nl.item(0);
+    }
+
+    /**
+     * Get the last child node of a node in the fully flattened tree.
+     */
+    public Node getXblLastChild(Node n) {
+        NodeList nl = getXblChildNodes(n);
+        return nl.item(nl.getLength() - 1);
+    }
+
+    /**
+     * Get the node which directly precedes a node in the xblParentNode's
+     * xblChildNodes list.
+     */
+    public Node getXblPreviousSibling(Node n) {
+        Node p = getXblParentNode(n);
+        if (p == null || getRecord(p).childNodes == null) {
+            return n.getPreviousSibling();
+        }
+        XBLRecord rec = getRecord(n);
+        if (!rec.linksValid) {
+            updateLinks(n);
+        }
+        return rec.previousSibling;
+    }
+
+    /**
+     * Get the node which directly follows a node in the xblParentNode's
+     * xblChildNodes list.
+     */
+    public Node getXblNextSibling(Node n) {
+        Node p = getXblParentNode(n);
+        if (p == null || getRecord(p).childNodes == null) {
+            return n.getNextSibling();
+        }
+        XBLRecord rec = getRecord(n);
+        if (!rec.linksValid) {
+            updateLinks(n);
+        }
+        return rec.nextSibling;
+    }
+
+    /**
+     * Get the first element child of a node in the fully flattened tree.
+     */
+    public Element getXblFirstElementChild(Node n) {
+        n = getXblFirstChild(n);
+        while (n != null && n.getNodeType() != Node.ELEMENT_NODE) {
+            n = getXblNextSibling(n);
+        }
+        return (Element) n;
+    }
+
+    /**
+     * Get the last element child of a node in the fully flattened tree.
+     */
+    public Element getXblLastElementChild(Node n) {
+        n = getXblLastChild(n);
+        while (n != null && n.getNodeType() != Node.ELEMENT_NODE) {
+            n = getXblPreviousSibling(n);
+        }
+        return (Element) n;
+    }
+
+    /**
+     * Get the first element that precedes the a node in the
+     * xblParentNode's xblChildNodes list.
+     */
+    public Element getXblPreviousElementSibling(Node n) {
+        do {
+            n = getXblPreviousSibling(n);
+        } while (n != null && n.getNodeType() != Node.ELEMENT_NODE);
+        return (Element) n;
+    }
+
+    /**
+     * Get the first element that follows a node in the
+     * xblParentNode's xblChildNodes list.
+     */
+    public Element getXblNextElementSibling(Node n) {
+        do {
+            n = getXblNextSibling(n);
+        } while (n != null && n.getNodeType() != Node.ELEMENT_NODE);
+        return (Element) n;
+    }
+
+    /**
+     * Get the bound element whose shadow tree a node resides in.
+     */
+    public Element getXblBoundElement(Node n) {
+        while (n != null && !(n instanceof XBLShadowTreeElement)) {
+            XBLOMContentElement content = getXblContentElement(n);
+            if (content != null) {
+                n = content;
+            }
+            n = n.getParentNode();
+        }
+        if (n == null) {
+            return null;
+        }
+        return getRecord(n).boundElement;
+    }
+
+    /**
+     * Get the shadow tree of a node.
+     */
+    public Element getXblShadowTree(Node n) {
+        if (n instanceof BindableElement) {
+            BindableElement elt = (BindableElement) n;
+            return elt.getShadowTree();
+        }
+        return null;
+    }
+
+    /**
+     * Get the xbl:definition elements currently binding an element.
+     */
+    public NodeList getXblDefinitions(Node n) {
+        final String namespaceURI = n.getNamespaceURI();
+        final String localName = n.getLocalName();
+        return new NodeList() {
+            public Node item(int i) {
+                TreeSet defs = (TreeSet) definitionLists.get(namespaceURI, localName);
+                if (defs != null && defs.size() != 0 && i == 0) {
+                    DefinitionRecord defRec = (DefinitionRecord) defs.first();
+                    return defRec.definition;
+                }
+                return null;
+            }
+            public int getLength() {
+                Set defs = (TreeSet) definitionLists.get(namespaceURI, localName);
+                return defs != null && defs.size() != 0 ? 1 : 0;
+            }
+        };
+    }
+
+    /**
+     * Returns the XBL record for the given node.
+     */
+    protected XBLRecord getRecord(Node n) {
+        XBLManagerData xmd = (XBLManagerData) n;
+        XBLRecord rec = (XBLRecord) xmd.getManagerData();
+        if (rec == null) {
+            rec = new XBLRecord();
+            rec.node = n;
+            xmd.setManagerData(rec);
+        }
+        return rec;
+    }
+
+    /**
+     * Updates the xblPreviousSibling and xblNextSibling properties of the
+     * given XBL node.
+     */
+    protected void updateLinks(Node n) {
+        XBLRecord rec = getRecord(n);
+        rec.previousSibling = null;
+        rec.nextSibling = null;
+        rec.linksValid = true;
+        Node p = getXblParentNode(n);
+        if (p != null) {
+            NodeList xcn = getXblChildNodes(p);
+            if (xcn instanceof XblChildNodes) {
+                ((XblChildNodes) xcn).update();
+            }
+        }
+    }
+
+    /**
+     * Returns the content element that caused the given node to be
+     * present in the flattened tree.
+     */
+    public XBLOMContentElement getXblContentElement(Node n) {
+        return getRecord(n).contentElement;
+    }
+
+    /**
+     * Determines the number of nodes events should bubble if the
+     * mouse pointer has moved from one element to another.
+     * @param from the element from which the mouse pointer moved
+     * @param to   the element to which the mouse pointer moved
+     */
+    public static int computeBubbleLimit(Node from, Node to) {
+        ArrayList fromList = new ArrayList(10);
+        ArrayList toList = new ArrayList(10);
+        while (from != null) {
+            fromList.add(from);
+            from = ((NodeXBL) from).getXblParentNode();
+        }
+        while (to != null) {
+            toList.add(to);
+            to = ((NodeXBL) to).getXblParentNode();
+        }
+        int fromSize = fromList.size();
+        int toSize = toList.size();
+        for (int i = 0; i < fromSize && i < toSize; i++) {
+            Node n1 = (Node) fromList.get(fromSize - i - 1);
+            Node n2 = (Node) toList.get(toSize - i - 1);
+            if (n1 != n2) {
+                Node prevBoundElement = ((NodeXBL) n1).getXblBoundElement();
+                while (i > 0 && prevBoundElement != fromList.get(fromSize - i - 1)) {
+                    i--;
+                }
+                return fromSize - i - 1;
+            }
+        }
+        return 1;
+    }
+
+    /**
+     * Returns the ContentManager that handles the shadow tree the given
+     * node resides in.
+     */
+    public ContentManager getContentManager(Node n) {
+        Node b = getXblBoundElement(n);
+        if (b != null) {
+            Element s = getXblShadowTree(b);
+            if (s != null) {
+                ContentManager cm;
+                Document doc = b.getOwnerDocument();
+                if (doc != document) {
+                    DefaultXBLManager xm = (DefaultXBLManager)
+                        ((AbstractDocument) doc).getXBLManager();
+                    cm = (ContentManager) xm.contentManagers.get(s);
+                } else {
+                    cm = (ContentManager) contentManagers.get(s);
+                }
+                return cm;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Records the ContentManager that handles the given shadow tree.
+     */
+    void setContentManager(Element shadow, ContentManager cm) {
+        if (cm == null) {
+            contentManagers.remove(shadow);
+        } else {
+            contentManagers.put(shadow, cm);
+        }
+    }
+
+    /**
+     * Mark the xblChildNodes and xblScopedChildNodes variables
+     * as invalid.
+     */
+    public void invalidateChildNodes(Node n) {
+        XBLRecord rec = getRecord(n);
+        if (rec.childNodes != null) {
+            rec.childNodes.invalidate();
+        }
+        if (rec.scopedChildNodes != null) {
+            rec.scopedChildNodes.invalidate();
+        }
+    }
+
+    /**
+     * Adds the specified ContentSelectionChangedListener to the
+     * global listener list.
+     */
+    public void addContentSelectionChangedListener
+            (ContentSelectionChangedListener l) {
+        contentSelectionChangedListenerList.add
+            (ContentSelectionChangedListener.class, l);
+    }
+
+    /**
+     * Removes the specified ContentSelectionChangedListener from the
+     * global listener list.
+     */
+    public void removeContentSelectionChangedListener
+            (ContentSelectionChangedListener l) {
+        contentSelectionChangedListenerList.remove
+            (ContentSelectionChangedListener.class, l);
+    }
+
+    /**
+     * Returns an array of the gloabl ContentSelectionChangedListeners.
+     */
+    protected Object[] getContentSelectionChangedListeners() {
+        return contentSelectionChangedListenerList.getListenerList();
+    }
+
+    /**
+     * Called by the ContentManager of a shadow tree to indicate some
+     * selected nodes have changed.
+     */
+    void shadowTreeSelectedContentChanged(Set deselected, Set selected) {
+        Iterator i = deselected.iterator();
+        while (i.hasNext()) {
+            Node n = (Node) i.next();
+            if (n.getNodeType() == Node.ELEMENT_NODE) {
+                unbind((Element) n);
+            }
+        }
+        i = selected.iterator();
+        while (i.hasNext()) {
+            Node n = (Node) i.next();
+            if (n.getNodeType() == Node.ELEMENT_NODE) {
+                bind((Element) n);
+            }
+        }
+    }
+
+    /**
+     * Adds the specified BindingListener to the global listener list.
+     */
+    public void addBindingListener(BindingListener l) {
+        bindingListenerList.add(BindingListener.class, l);
+    }
+
+    /**
+     * Removes the specified BindingListener from the global listener list.
+     */
+    public void removeBindingListener(BindingListener l) {
+        bindingListenerList.remove(BindingListener.class, l);
+    }
+
+    /**
+     * Dispatches a BindingEvent the registered listeners.
+     * @param bindableElement the bindable element whose binding has changed
+     * @param shadowTree the new shadow tree of the bindable element
+     */
+    protected void dispatchBindingChangedEvent(Element bindableElement,
+                                               Element shadowTree) {
+        Object[] ls = bindingListenerList.getListenerList();
+        for (int i = ls.length - 2; i >= 0; i -= 2) {
+            BindingListener l = (BindingListener) ls[i + 1];
+            l.bindingChanged(bindableElement, shadowTree);
+        }
+    }
+
+    /**
+     * Returns whether the given definition element is the active one
+     * for its element name.
+     */
+    protected boolean isActiveDefinition(XBLOMDefinitionElement def,
+                                         Element imp) {
+        DefinitionRecord defRec = (DefinitionRecord) definitions.get(def, imp);
+        if (defRec == null) {
+            return false;
+        }
+        return defRec == getActiveDefinition(defRec.namespaceURI,
+                                             defRec.localName);
+    }
+
+    /**
+     * Record class for storing information about an XBL definition.
+     */
+    protected class DefinitionRecord implements Comparable {
+
+        /**
+         * The namespace URI.
+         */
+        public String namespaceURI;
+
+        /**
+         * The local name.
+         */
+        public String localName;
+
+        /**
+         * The definition element.
+         */
+        public XBLOMDefinitionElement definition;
+
+        /**
+         * The template element for this definition.
+         */
+        public XBLOMTemplateElement template;
+
+        /**
+         * The import element that imported this definition.
+         */
+        public Element importElement;
+
+        /**
+         * Creates a new DefinitionRecord.
+         */
+        public DefinitionRecord(String ns,
+                                String ln,
+                                XBLOMDefinitionElement def,
+                                XBLOMTemplateElement t,
+                                Element imp) {
+            namespaceURI = ns;
+            localName = ln;
+            definition = def;
+            template = t;
+            importElement = imp;
+        }
+
+        /**
+         * Returns whether two definition records are the same.
+         */
+        public boolean equals(Object other) {
+            return compareTo(other) == 0;
+        }
+
+        /**
+         * Compares two definition records.
+         */
+        public int compareTo(Object other) {
+            DefinitionRecord rec = (DefinitionRecord) other;
+            AbstractNode n1, n2;
+            if (importElement == null) {
+                n1 = definition;
+                if (rec.importElement == null) {
+                    n2 = rec.definition;
+                } else {
+                    n2 = (AbstractNode) rec.importElement;
+                }
+            } else if (rec.importElement == null) {
+                n1 = (AbstractNode) importElement;
+                n2 = rec.definition;
+            } else if (definition.getOwnerDocument()
+                        == rec.definition.getOwnerDocument()) {
+                n1 = definition;
+                n2 = rec.definition;
+            } else {
+                n1 = (AbstractNode) importElement;
+                n2 = (AbstractNode) rec.importElement;
+            }
+            short comp = n1.compareDocumentPosition(n2);
+            if ((comp & AbstractNode.DOCUMENT_POSITION_PRECEDING) != 0) {
+                return -1;
+            }
+            if ((comp & AbstractNode.DOCUMENT_POSITION_FOLLOWING) != 0) {
+                return 1;
+            }
+            return 0;
+        }
+    }
+
+    /**
+     * Record class for storing information about an XBL import.
+     */
+    protected class ImportRecord {
+
+        /**
+         * The import element.
+         */
+        public Element importElement;
+
+        /**
+         * The imported tree.
+         */
+        public Node node;
+
+        /**
+         * The DOM node inserted listener for definitions accessed through
+         * this import.
+         */
+        public DefNodeInsertedListener defNodeInsertedListener;
+
+        /**
+         * The DOM node removed listener for definitions accessed through
+         * this import.
+         */
+        public DefNodeRemovedListener defNodeRemovedListener;
+
+        /**
+         * The DOM attribute mutation listener for definitions accessed through
+         * this import.
+         */
+        public DefAttrListener defAttrListener;
+
+        /**
+         * The DOM node inserted listener for the imported tree.
+         */
+        public ImportInsertedListener importInsertedListener;
+
+        /**
+         * The DOM node removed listener for the imported tree.
+         */
+        public ImportRemovedListener importRemovedListener;
+
+        /**
+         * The DOM subtree modified listener for the imported tree.
+         */
+        public ImportSubtreeListener importSubtreeListener;
+
+        /**
+         * The DOM subtree modified listener for templates of definitions
+         * accessed through this import.
+         */
+        public TemplateMutationListener templateMutationListener;
+
+        /**
+         * Creates a new ImportRecord.
+         */
+        public ImportRecord(Element imp, Node n) {
+            importElement = imp;
+            node = n;
+            defNodeInsertedListener = new DefNodeInsertedListener(imp);
+            defNodeRemovedListener = new DefNodeRemovedListener(imp);
+            defAttrListener = new DefAttrListener(imp);
+            importInsertedListener = new ImportInsertedListener(imp);
+            importRemovedListener = new ImportRemovedListener();
+            importSubtreeListener
+                = new ImportSubtreeListener(imp, importRemovedListener);
+            templateMutationListener = new TemplateMutationListener(imp);
+        }
+    }
+
+    /**
+     * DOM node inserted listener for imported XBL trees.
+     */
+    protected class ImportInsertedListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * Creates a new ImportInsertedListener.
+         */
+        public ImportInsertedListener(Element importElement) {
+            this.importElement = importElement;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target instanceof XBLOMDefinitionElement) {
+                XBLOMDefinitionElement def = (XBLOMDefinitionElement) target;
+                addDefinition(def.getElementNamespaceURI(),
+                              def.getElementLocalName(),
+                              def,
+                              importElement);
+            }
+        }
+    }
+
+    /**
+     * DOM node removed listener for imported XBL trees.
+     */
+    protected class ImportRemovedListener implements EventListener {
+
+        /**
+         * List of definition elements to be removed from the document.
+         */
+        protected LinkedList toBeRemoved = new LinkedList();
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            toBeRemoved.add(evt.getTarget());
+        }
+    }
+
+    /**
+     * DOM subtree listener for imported XBL trees.
+     */
+    protected class ImportSubtreeListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * The ImportedRemovedListener to check for to-be-removed definitions.
+         */
+        protected ImportRemovedListener importRemovedListener;
+
+        /**
+         * Creates a new ImportSubtreeListener.
+         */
+        public ImportSubtreeListener(Element imp,
+                                     ImportRemovedListener irl) {
+            importElement = imp;
+            importRemovedListener = irl;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            Object[] defs = importRemovedListener.toBeRemoved.toArray();
+            importRemovedListener.toBeRemoved.clear();
+            for (int i = 0; i < defs.length; i++) {
+                XBLOMDefinitionElement def = (XBLOMDefinitionElement) defs[i];
+                DefinitionRecord defRec
+                    = (DefinitionRecord) definitions.get(def, importElement);
+                removeDefinition(defRec);
+            }
+        }
+    }
+
+    /**
+     * DOM node inserted listener for the document.
+     */
+    protected class DocInsertedListener implements EventListener {
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target instanceof XBLOMDefinitionElement) {
+                // only handle definition elements in document-level scope
+                if (getXblBoundElement((Node) target) == null) {       // ??? suspect cast ???
+                    XBLOMDefinitionElement def
+                        = (XBLOMDefinitionElement) target;
+                    if (def.getAttributeNS(null, XBL_REF_ATTRIBUTE).length()
+                            == 0) {
+                        addDefinition(def.getElementNamespaceURI(),
+                                      def.getElementLocalName(),
+                                      def,
+                                      null);
+                    } else {
+                        addDefinitionRef(def);
+                    }
+                }
+            } else if (target instanceof XBLOMImportElement) {
+                // only handle import elements in document-level scope
+                if (getXblBoundElement((Node) target) == null) {      // ??? suspect cast ???
+                    addImport((Element) target);
+                }
+            } else {
+                evt = XBLEventSupport.getUltimateOriginalEvent(evt);
+                target = evt.getTarget();
+                Node parent = getXblParentNode((Node) target);
+                if (parent != null) {
+                    invalidateChildNodes(parent);
+                }
+                if (target instanceof BindableElement) {
+                    // Only bind it if it's not the descendent of a bound
+                    // element.  If it is, and this new element will be
+                    // selected by an xbl:content element in the shadow tree,
+                    // the ContentManager will bind it.
+                    for (Node n = ((Node) target).getParentNode();
+                            n != null;
+                            n = n.getParentNode()) {
+                        if (n instanceof BindableElement
+                                && getRecord(n).definitionElement != null) {
+                            return;
+                        }
+                    }
+                    bind((Element) target);
+                }
+            }
+        }
+    }
+
+    /**
+     * DOM node removed listener for the document.
+     */
+    protected class DocRemovedListener implements EventListener {
+
+        /**
+         * List of definition elements to be removed from the document.
+         */
+        protected LinkedList defsToBeRemoved = new LinkedList();
+
+        /**
+         * List of import elements to be removed from the document.
+         */
+        protected LinkedList importsToBeRemoved = new LinkedList();
+
+        /**
+         * List of nodes to have their XBL child lists invalidated.
+         */
+        protected LinkedList nodesToBeInvalidated = new LinkedList();
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target instanceof XBLOMDefinitionElement) {
+                // only handle definition elements in document-level scope
+                if (getXblBoundElement((Node) target) == null) {
+                    defsToBeRemoved.add(target);
+                }
+            } else if (target instanceof XBLOMImportElement) {
+                // only handle import elements in document-level scope
+                if (getXblBoundElement((Node) target) == null) {
+                    importsToBeRemoved.add(target);
+                }
+            }
+
+            Node parent = getXblParentNode((Node) target);
+            if (parent != null) {
+                nodesToBeInvalidated.add(parent);
+            }
+        }
+    }
+
+    /**
+     * DOM subtree mutation listener for the document.
+     */
+    protected class DocSubtreeListener implements EventListener {
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            Object[] defs = docRemovedListener.defsToBeRemoved.toArray();
+            docRemovedListener.defsToBeRemoved.clear();
+            for (int i = 0; i < defs.length; i++) {
+                XBLOMDefinitionElement def = (XBLOMDefinitionElement) defs[i];
+                if (def.getAttributeNS(null, XBL_REF_ATTRIBUTE).length() == 0) {
+                    DefinitionRecord defRec
+                        = (DefinitionRecord) definitions.get(def, null);
+                    removeDefinition(defRec);
+                } else {
+                    removeDefinitionRef(def);
+                }
+            }
+
+            Object[] imps = docRemovedListener.importsToBeRemoved.toArray();
+            docRemovedListener.importsToBeRemoved.clear();
+            for (int i = 0; i < imps.length; i++) {
+                removeImport((Element) imps[i]);
+            }
+
+            Object[] nodes = docRemovedListener.nodesToBeInvalidated.toArray();
+            docRemovedListener.nodesToBeInvalidated.clear();
+            for (int i = 0; i < nodes.length; i++) {
+                invalidateChildNodes((Node) nodes[i]);
+            }
+        }
+    }
+
+    /**
+     * DOM mutation listener for template elements.
+     */
+    protected class TemplateMutationListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * Creates a new TemplateMutationListener.
+         */
+        public TemplateMutationListener(Element imp) {
+            importElement = imp;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            Node n = (Node) evt.getTarget();
+            while (n != null && !(n instanceof XBLOMDefinitionElement)) {
+                n = n.getParentNode();
+            }
+
+            DefinitionRecord defRec
+                = (DefinitionRecord) definitions.get(n, importElement);
+            if (defRec == null) {
+                return;
+            }
+
+            rebind(defRec.namespaceURI, defRec.localName,
+                   document.getDocumentElement());
+        }
+    }
+
+    /**
+     * DOM attribute mutation listener for definition elements.
+     */
+    protected class DefAttrListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * Creates a new DefAttrListener.
+         */
+        public DefAttrListener(Element imp) {
+            importElement = imp;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (!(target instanceof XBLOMDefinitionElement)) {
+                return;
+            }
+
+            XBLOMDefinitionElement def = (XBLOMDefinitionElement) target;
+            if (!isActiveDefinition(def, importElement)) {
+                return;
+            }
+
+            MutationEvent mevt = (MutationEvent) evt;
+            String attrName = mevt.getAttrName();
+            if (attrName.equals(XBL_ELEMENT_ATTRIBUTE)) {
+                DefinitionRecord defRec =
+                    (DefinitionRecord) definitions.get(def, importElement);
+                removeDefinition(defRec);
+
+                addDefinition(def.getElementNamespaceURI(),
+                              def.getElementLocalName(),
+                              def,
+                              importElement);
+            } else if (attrName.equals(XBL_REF_ATTRIBUTE)) {
+                if (mevt.getNewValue().length() != 0) {
+                    DefinitionRecord defRec =
+                        (DefinitionRecord) definitions.get(def, importElement);
+                    removeDefinition(defRec);
+                    addDefinitionRef(def);
+                }
+            }
+        }
+    }
+
+    /**
+     * DOM node inserted listener for definition elements.
+     */
+    protected class DefNodeInsertedListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * Creates a new DefNodeInsertedListener.
+         */
+        public DefNodeInsertedListener(Element imp) {
+            importElement = imp;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            MutationEvent mevt = (MutationEvent) evt;
+            Node parent = mevt.getRelatedNode();
+            if (!(parent instanceof XBLOMDefinitionElement)) {
+                return;
+            }
+
+            EventTarget target = evt.getTarget();
+            if (!(target instanceof XBLOMTemplateElement)) {
+                return;
+            }
+            XBLOMTemplateElement template = (XBLOMTemplateElement) target;
+
+            DefinitionRecord defRec
+                = (DefinitionRecord) definitions.get(parent, importElement);
+            if (defRec == null) {
+                return;
+            }
+
+            ImportRecord ir = (ImportRecord) imports.get(importElement);
+
+            if (defRec.template != null) {
+                for (Node n = parent.getFirstChild();
+                        n != null;
+                        n = n.getNextSibling()) {
+                    if (n == template) {
+                        removeTemplateElementListeners(defRec.template, ir);
+                        defRec.template = template;
+                        break;
+                    } else if (n == defRec.template) {
+                        return;
+                    }
+                }
+            } else {
+                defRec.template = template;
+            }
+            addTemplateElementListeners(template, ir);
+            rebind(defRec.namespaceURI, defRec.localName,
+                   document.getDocumentElement());
+        }
+    }
+
+    /**
+     * DOM node removed listener for definition elements.
+     */
+    protected class DefNodeRemovedListener implements EventListener {
+
+        /**
+         * The import element.
+         */
+        protected Element importElement;
+
+        /**
+         * Creates a new DefNodeRemovedListener.
+         */
+        public DefNodeRemovedListener(Element imp) {
+            importElement = imp;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            MutationEvent mevt = (MutationEvent) evt;
+            Node parent = mevt.getRelatedNode();
+            if (!(parent instanceof XBLOMDefinitionElement)) {
+                return;
+            }
+
+            EventTarget target = evt.getTarget();
+            if (!(target instanceof XBLOMTemplateElement)) {
+                return;
+            }
+            XBLOMTemplateElement template = (XBLOMTemplateElement) target;
+
+            DefinitionRecord defRec
+                = (DefinitionRecord) definitions.get(parent, importElement);
+            if (defRec == null || defRec.template != template) {
+                return;
+            }
+
+            ImportRecord ir = (ImportRecord) imports.get(importElement);
+
+            removeTemplateElementListeners(template, ir);
+            defRec.template = null;
+
+            for (Node n = template.getNextSibling();
+                    n != null;
+                    n = n.getNextSibling()) {
+                if (n instanceof XBLOMTemplateElement) {
+                    defRec.template = (XBLOMTemplateElement) n;
+                    break;
+                }
+            }
+
+            addTemplateElementListeners(defRec.template, ir);
+            rebind(defRec.namespaceURI, defRec.localName,
+                   document.getDocumentElement());
+        }
+    }
+
+    /**
+     * DOM attribute mutation listener for import elements.
+     */
+    protected class ImportAttrListener implements EventListener {
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target != evt.getCurrentTarget()) {
+                return;
+            }
+
+            MutationEvent mevt = (MutationEvent) evt;
+            if (mevt.getAttrName().equals(XBL_BINDINGS_ATTRIBUTE)) {
+                Element imp = (Element) target;
+                removeImport(imp);
+                addImport(imp);
+            }
+        }
+    }
+
+    /**
+     * DOM attribute mutation listener for referencing definition elements.
+     */
+    protected class RefAttrListener implements EventListener {
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target != evt.getCurrentTarget()) {
+                return;
+            }
+
+            MutationEvent mevt = (MutationEvent) evt;
+            if (mevt.getAttrName().equals(XBL_REF_ATTRIBUTE)) {
+                Element defRef = (Element) target;
+                removeDefinitionRef(defRef);
+                if (mevt.getNewValue().length() == 0) {
+                    XBLOMDefinitionElement def
+                        = (XBLOMDefinitionElement) defRef;
+                    String ns = def.getElementNamespaceURI();
+                    String ln = def.getElementLocalName();
+                    addDefinition(ns, ln,
+                                  (XBLOMDefinitionElement) defRef, null);
+                } else {
+                    addDefinitionRef(defRef);
+                }
+            }
+        }
+    }
+
+    /**
+     * XBL record.
+     */
+    protected class XBLRecord {
+
+        /**
+         * The node.
+         */
+        public Node node;
+
+        /**
+         * The xblChildNodes NodeList for this node.
+         */
+        public XblChildNodes childNodes;
+
+        /**
+         * The xblScopedChildNodes NodeList for this node.
+         */
+        public XblScopedChildNodes scopedChildNodes;
+
+        /**
+         * The content element which caused this node to appear in the
+         * flattened tree.
+         */
+        public XBLOMContentElement contentElement;
+
+        /**
+         * The definition element that applies to this element.
+         */
+        public XBLOMDefinitionElement definitionElement;
+
+        /**
+         * The bound element that owns this shadow tree, if this node
+         * is an XBLOMShadowTreeElement.
+         */
+        public BindableElement boundElement;
+
+        /**
+         * Whether the next/previous links are valid.
+         */
+        public boolean linksValid;
+
+        /**
+         * The following sibling in the flattened tree.
+         */
+        public Node nextSibling;
+
+        /**
+         * The previous sibling in the flattened tree.
+         */
+        public Node previousSibling;
+    }
+
+    /**
+     * To iterate over the XBL child nodes.
+     */
+    protected class XblChildNodes implements NodeList {
+
+        /**
+         * The XBLRecord.
+         */
+        protected XBLRecord record;
+
+        /**
+         * The nodes.
+         */
+        protected List nodes;
+
+        /**
+         * The number of nodes.
+         */
+        protected int size;
+
+        /**
+         * Creates a new XblChildNodes.
+         */
+        public XblChildNodes(XBLRecord rec) {
+            record = rec;
+            nodes = new ArrayList();
+            size = -1;
+        }
+
+        /**
+         * Update the NodeList.
+         */
+        protected void update() {
+            size = 0;
+            Node shadowTree = getXblShadowTree(record.node);
+            Node last = null;
+            Node m = shadowTree == null ? record.node.getFirstChild()
+                                        : shadowTree.getFirstChild();
+            while (m != null) {
+                last = collectXblChildNodes(m, last);
+                m = m.getNextSibling();
+            }
+            if (last != null) {
+                XBLRecord rec = getRecord(last);
+                rec.nextSibling = null;
+                rec.linksValid = true;
+            }
+        }
+
+        /**
+         * Find the XBL child nodes of this element.
+         */
+        protected Node collectXblChildNodes(Node n, Node prev) {
+            boolean isChild = false;
+            if (n.getNodeType() == Node.ELEMENT_NODE) {
+                if (!XBL_NAMESPACE_URI.equals(n.getNamespaceURI())) {
+                    isChild = true;
+                } else if (n instanceof XBLOMContentElement) {
+                    ContentManager cm = getContentManager(n);
+                    if (cm != null) {
+                        NodeList selected =
+                            cm.getSelectedContent((XBLOMContentElement) n);
+                        for (int i = 0; i < selected.getLength(); i++) {
+                            prev = collectXblChildNodes(selected.item(i),
+                                                        prev);
+                        }
+                    }
+                }
+            } else {
+                isChild = true;
+            }
+            if (isChild) {
+                nodes.add(n);
+                size++;
+                if (prev != null) {
+                    XBLRecord rec = getRecord(prev);
+                    rec.nextSibling = n;
+                    rec.linksValid = true;
+                }
+                XBLRecord rec = getRecord(n);
+                rec.previousSibling = prev;
+                rec.linksValid = true;
+                prev = n;
+            }
+            return prev;
+        }
+
+        /**
+         * Mark the xblNextSibling and xblPreviousSibling variables
+         * on each node in the list as invalid, then invalidate the
+         * NodeList.
+         */
+        public void invalidate() {
+            for (int i = 0; i < size; i++) {
+                XBLRecord rec = getRecord((Node) nodes.get(i));
+                rec.previousSibling = null;
+                rec.nextSibling = null;
+                rec.linksValid = false;
+            }
+            nodes.clear();
+            size = -1;
+        }
+
+        /**
+         * Returns the first node in the list.
+         */
+        public Node getFirstNode() {
+            if (size == -1) {
+                update();
+            }
+            return size == 0 ? null : (Node) nodes.get(0);
+        }
+
+        /**
+         * Returns the last node in the list.
+         */
+        public Node getLastNode() {
+            if (size == -1) {
+                update();
+            }
+            return size == 0 ? null : (Node) nodes.get( nodes.size() -1 );
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#item(int)}.
+         */
+        public Node item(int index) {
+            if (size == -1) {
+                update();
+            }
+            if (index < 0 || index >= size) {
+                return null;
+            }
+            return (Node) nodes.get(index);
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#getLength()}.
+         */
+        public int getLength() {
+            if (size == -1) {
+                update();
+            }
+            return size;
+        }
+    }
+
+    /**
+     * To iterate over the scoped XBL child nodes.
+     */
+    protected class XblScopedChildNodes extends XblChildNodes {
+
+        /**
+         * Creates a new XblScopedChildNodes object.
+         */
+        public XblScopedChildNodes(XBLRecord rec) {
+            super(rec);
+        }
+
+        /**
+         * Update the NodeList.
+         */
+        protected void update() {
+            size = 0;
+            Node shadowTree = getXblShadowTree(record.node);
+            Node n = shadowTree == null ? record.node.getFirstChild()
+                                        : shadowTree.getFirstChild();
+            while (n != null) {
+                collectXblScopedChildNodes(n);
+                n = n.getNextSibling();
+            }
+        }
+
+        /**
+         * Find the XBL child nodes of this element.
+         */
+        protected void collectXblScopedChildNodes(Node n) {
+            boolean isChild = false;
+            if (n.getNodeType() == Node.ELEMENT_NODE) {
+                if (!n.getNamespaceURI().equals(XBL_NAMESPACE_URI)) {
+                    isChild = true;
+                } else if (n instanceof XBLOMContentElement) {
+                    ContentManager cm = getContentManager(n);
+                    if (cm != null) {
+                        NodeList selected =
+                            cm.getSelectedContent((XBLOMContentElement) n);
+                        for (int i = 0; i < selected.getLength(); i++) {
+                            collectXblScopedChildNodes(selected.item(i));
+                        }
+                    }
+                }
+            } else {
+                isChild = true;
+            }
+            if (isChild) {
+                nodes.add(n);
+                size++;
+            }
+        }
+    }
+}


[24/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterFileSource.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterFileSource.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterFileSource.java
deleted file mode 100644
index 96109f3..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterFileSource.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-
-/**
- * Describes a file source for the <tt>SVGConverter</tt>
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: SVGConverterFileSource.java,v 1.5 2004/08/18 07:12:26 vhardy Exp $
- */
-public class SVGConverterFileSource implements SVGConverterSource {
-    File file;
-    String ref;
-
-    public SVGConverterFileSource(File file){
-        this.file = file;
-    }
-
-    public SVGConverterFileSource(File file, String ref){
-        this.file = file;
-        this.ref = ref;
-    }
-
-    public String getName(){
-        String name = file.getName();
-        if (ref != null && !"".equals(ref)){
-            name += "#" + ref;
-        }
-        return name;
-    }
-
-    public File getFile(){
-        return file;
-    }
-
-    public String toString(){
-        return getName();
-    }
-
-    public String getURI(){
-        try{
-            String uri = file.toURL().toString();
-            if (ref != null && !"".equals(ref)){
-                uri += "#" + ref;
-            }
-            return uri;
-        } catch(MalformedURLException e){
-            throw new Error();
-        }
-    }
-
-    public boolean equals(Object o){
-        if (o == null || !(o instanceof SVGConverterFileSource)){
-            return false;
-        }
-        
-        return file.equals(((SVGConverterFileSource)o).file);
-    }
-
-    public InputStream openStream() throws FileNotFoundException{
-        return new FileInputStream(file);
-    }
-
-    public boolean isSameAs(String srcStr){
-        if (file.toString().equals(srcStr)){
-            return true;
-        }
-
-        return false;
-    }
-        
-    public boolean isReadable(){
-        return file.canRead();
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterSource.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterSource.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterSource.java
deleted file mode 100644
index f53db49..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterSource.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * Interface used to handle both Files and URLs in the 
- * <tt>SVGConverter</tt>
- * 
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: SVGConverterSource.java,v 1.5 2004/08/18 07:12:26 vhardy Exp $
- */
-public interface SVGConverterSource {
-    /**
-     * Returns the name of the source. That would be the 
-     * name for a File or URL
-     */
-    public String getName();
-    
-    /**
-     * Gets a <tt>TranscoderInput</tt> for that source
-     */
-    public InputStream openStream() throws IOException;
-    
-    /**
-     * Checks if same as source described by srcStr
-     */
-    public boolean isSameAs(String srcStr);
-    
-    /**
-     * Checks if source can be read
-     */
-    public boolean isReadable();
-
-    /**
-     * Returns a URI string corresponding to this source
-     */
-    public String getURI();
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterURLSource.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterURLSource.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterURLSource.java
deleted file mode 100644
index fd3f296..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterURLSource.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-*/
-
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.flex.forks.batik.util.ParsedURL;
-
-/*
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: SVGConverterURLSource.java,v 1.6 2004/10/30 18:38:04 deweese Exp $
- */
-public class SVGConverterURLSource implements SVGConverterSource {
-    /** 
-     * SVG file extension 
-     */
-    protected static final String SVG_EXTENSION = ".svg";
-    protected static final String SVGZ_EXTENSION = ".svgz";
-
-    //
-    // Reported when the URL for one of the sources is
-    // invalid. This will happen if the URL is malformed or
-    // if the URL file does not end with the ".svg" extension.
-    // This is needed to be able to create a file name for
-    // the ouptut automatically.
-    //
-    public static final String ERROR_INVALID_URL
-        = "SVGConverterURLSource.error.invalid.url";
-
-    ParsedURL purl;
-    String name;
-
-    public SVGConverterURLSource(String url) throws SVGConverterException{
-        this.purl = new ParsedURL(url);
-
-        // Get the path portion
-        String path = this.purl.getPath();
-        if (path == null || 
-            !(path.toLowerCase().endsWith(SVG_EXTENSION) ||
-              path.toLowerCase().endsWith(SVGZ_EXTENSION))){
-            throw new SVGConverterException(ERROR_INVALID_URL,
-                                            new Object[]{url});
-        }
-
-        int n = path.lastIndexOf("/");
-        if (n != -1){
-            // The following is safe because we know there is at least ".svg"
-            // after the slash.
-            path = path.substring(n+1);
-        }
-            
-        name = path;
-
-        //
-        // The following will force creation of different output file names
-        // for urls with references (e.g., anne.svg#svgView(viewBox(0,0,4,5)))
-        //
-        String ref = this.purl.getRef();
-        if (ref != null && (ref.length()!=0)) {
-            name += "" + ref.hashCode();
-        }
-    }
-
-    public String toString(){
-        return purl.toString();
-    }
-
-    public String getURI(){
-        return toString();
-    }
-
-    public boolean equals(Object o){
-        if (o == null || !(o instanceof SVGConverterURLSource)){
-            return false;
-        }
-
-        return purl.equals(((SVGConverterURLSource)o).purl);
-    }
-
-    public InputStream openStream() throws IOException {
-        return purl.openStream();
-    }
-
-    public boolean isSameAs(String srcStr){
-        return toString().equals(srcStr);
-    }
-
-    public boolean isReadable(){
-        return true;
-    }
-
-    public String getName(){
-        return name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/slideshow/Main.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/slideshow/Main.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/slideshow/Main.java
deleted file mode 100644
index 426f638..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/slideshow/Main.java
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
-
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-*/
-
-package org.apache.flex.forks.batik.apps.slideshow;
-
-import java.awt.Color;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.Toolkit;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.image.BufferedImage;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-
-import javax.swing.JComponent;
-import javax.swing.JWindow;
-
-import org.apache.flex.forks.batik.bridge.BridgeContext;
-import org.apache.flex.forks.batik.bridge.DocumentLoader;
-import org.apache.flex.forks.batik.bridge.GVTBuilder;
-import org.apache.flex.forks.batik.bridge.UserAgent;
-import org.apache.flex.forks.batik.bridge.UserAgentAdapter;
-import org.apache.flex.forks.batik.bridge.ViewBox;
-import org.apache.flex.forks.batik.gvt.GraphicsNode;
-import org.apache.flex.forks.batik.gvt.renderer.StaticRenderer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-
-public class Main extends JComponent {
-
-    StaticRenderer renderer;
-    UserAgent      userAgent;
-    DocumentLoader loader;
-    BridgeContext  ctx;
-
-    BufferedImage image;
-    BufferedImage display;
-    File [] files;
-
-    static int duration = 3000;
-    static int frameDelay = duration+7000;
-
-    boolean done = false;
-
-    public Main(File []files, Dimension size) { 
-        setBackground(Color.black);
-        this.files = files;
-        renderer = new StaticRenderer();
-        userAgent = new UserAgentAdapter();
-        loader    = new DocumentLoader(userAgent);
-        ctx       = new BridgeContext(userAgent, loader);
-
-        if (size == null) {
-            size = Toolkit.getDefaultToolkit().getScreenSize();
-        }
-
-        setPreferredSize(size);
-        setDoubleBuffered(false);
-        addMouseListener(new MouseAdapter() {
-                public void mouseClicked(MouseEvent me) {
-                    if (done)
-                        System.exit(0);
-                    else
-                        togglePause();
-                }
-            });
-
-        size.width += 2;
-        size.height += 2;
-        display = new BufferedImage(size.width, size.height, 
-                                    BufferedImage.TYPE_INT_BGR);
-
-        Thread t = new RenderThread();
-        t.start();
-
-        JWindow w = new JWindow();
-        w.setBackground(Color.black);
-        w.getContentPane().setBackground(Color.black);
-        w.getContentPane().add(this);
-        w.pack();
-        w.setLocation(new Point(-1, -1));
-        w.setVisible(true);
-    }
-
-    class RenderThread extends Thread {
-        public void run() {
-            renderer.setDoubleBuffered(true);
-            for (int i=0; i<files.length; i++) {
-                GraphicsNode   gvtRoot = null;
-                GVTBuilder builder = new GVTBuilder();
-
-                try {
-                    System.out.println("Reading: " + files[i]);
-                    Document svgDoc = loader.loadDocument
-                        (files[i].toURL().toString());
-                    System.out.println("Building: " + files[i]);
-                    gvtRoot = builder.build(ctx, svgDoc);
-                    System.out.println("Rendering: " + files[i]);
-                    renderer.setTree(gvtRoot);
-
-                    Element elt = ((SVGDocument)svgDoc).getRootElement();
-                    renderer.setTransform
-                        (ViewBox.getViewTransform
-                         (null, elt, display.getWidth(), display.getHeight()));
-
-                    renderer.updateOffScreen(display.getWidth(), 
-                                             display.getHeight());
-
-                    Rectangle r = new Rectangle(0, 0,
-                                                display.getWidth(), 
-                                                display.getHeight());
-                    renderer.repaint(r);
-                    System.out.println("Painting: " + files[i]);
-                    image = renderer.getOffScreen();
-                    setTransition(image);
-                } catch (Exception ex) {
-                    ex.printStackTrace();
-                }
-            }
-            if (transitionThread != null) {
-                try {
-                    transitionThread.join();
-                } catch (InterruptedException ie) { }
-                done = true;
-                setCursor(new Cursor(Cursor.WAIT_CURSOR));
-            }
-        }
-    }
-
-    Thread transitionThread = null;
-
-    public void setTransition(BufferedImage newImg) {
-        synchronized (this) {
-            while (transitionThread != null) {
-                try {
-                    wait();
-                } catch (InterruptedException ie) { }
-            }
-            transitionThread = new TransitionThread(newImg);
-            transitionThread.start();
-        }
-    }
-
-
-    long   startLastTransition=0;
-
-    boolean paused = false;
-
-    public void togglePause() {
-        synchronized(this) {
-            paused = !paused;
-            Cursor c;
-            if (paused) {
-                c = new Cursor(Cursor.WAIT_CURSOR);
-            } else {
-                c = new Cursor(Cursor.DEFAULT_CURSOR);
-                if (transitionThread != null) {
-                    synchronized (transitionThread) {
-                        transitionThread.notifyAll();
-                    }
-                }
-            }
-            setCursor(c);
-        }
-    }
-
-    class TransitionThread extends Thread {
-        BufferedImage src;
-        int blockw = 75;
-        int blockh = 75;
-
-        public TransitionThread(BufferedImage bi) {
-            src = bi;
-        }
-
-        public void run() {
-            int xblocks = (display.getWidth()+blockw-1)/blockw;
-            int yblocks = (display.getHeight()+blockh-1)/blockh;
-            int nblocks = xblocks*yblocks;
-
-            int tblock = duration/nblocks;
-            
-            Point [] rects = new Point[nblocks];
-            for (int y=0; y<yblocks; y++)
-                for (int x=0; x<xblocks; x++)
-                    rects[y*xblocks+x] = new Point(x, y);
-
-            Graphics2D g2d = display.createGraphics();
-            g2d.setColor(new Color(0,0,0));
-
-            long currTrans = System.currentTimeMillis();
-            while ((currTrans-startLastTransition) < frameDelay) {
-                try {
-                    long stime = frameDelay-(currTrans-startLastTransition);
-                    if (stime > 500) {
-                        System.gc();
-                        currTrans = System.currentTimeMillis();
-                        stime = frameDelay-(currTrans-startLastTransition);
-                    }
-                    if (stime > 0) sleep(stime);
-                } catch (InterruptedException ie) { }
-                currTrans = System.currentTimeMillis();
-            }
-
-            synchronized(this) {
-                while (paused) {
-                    try {
-                        wait();
-                    } catch (InterruptedException ie) { }
-                }
-            }
-
-            long last = startLastTransition = System.currentTimeMillis();
-            
-            for (int i=0; i<rects.length; i++) {
-                int idx = (int)(Math.random()*(rects.length-i));
-                Point pt = rects[idx];
-                for (int j=idx+1; j<rects.length-i;j++)
-                    rects[j-1] = rects[j];
-                int x=pt.x*blockw, y=pt.y*blockh;
-                int w=blockw, h = blockh;
-                if (x+w > src.getWidth())  w = src.getWidth()-x;
-                if (y+h > src.getHeight()) h = src.getHeight()-y;
-
-                synchronized (display) {
-                    g2d.fillRect(x, y, w, h);
-                    BufferedImage sub;
-
-                    sub = src.getSubimage(x, y, w, h);
-                    g2d.drawImage(sub, null, x, y);
-                }
-
-                repaint(x, y, w, h);
-                long current = System.currentTimeMillis();
-                try {
-                    long dt = current-last;
-                    if (dt < tblock)
-                        sleep(tblock-dt);
-                } catch (InterruptedException ie) { }
-                last = current;
-            }
-
-            synchronized (Main.this) {
-                transitionThread = null;
-                Main.this.notifyAll();
-            }
-        }
-    }
-
-    public void paint(Graphics g) {
-        Graphics2D g2d = (Graphics2D)g;
-        if (display == null) return;
-        // System.out.println("Drawing Image: " + display);
-        g2d.drawImage(display, null, 0, 0);
-    }
-
-    public static void readFileList(String file, Vector fileVec) {
-        BufferedReader br;
-        try {
-            br = new BufferedReader(new FileReader(file));
-        } catch(FileNotFoundException fnfe) {
-            System.err.println("Unable to open file-list: " + file);
-            return;
-        }
-        try {
-            URL flURL = new File(file).toURL();
-            String line;
-            while ((line = br.readLine()) != null) {
-                String str = line;
-                int idx = str.indexOf('#');
-                if (idx != -1)
-                    str = str.substring(0, idx);
-                str.trim();
-                if (str.length() == 0)
-                    continue;
-                try {
-                    URL imgURL = new URL(flURL, str);
-                    fileVec.add(imgURL.getFile());
-                } catch (MalformedURLException mue) {
-                    System.err.println("Can't make sense of line:\n  " + line);
-                }
-            }
-        } catch (IOException ioe) {
-            System.err.println("Error while reading file-list: " + file);
-        }
-    }
-
-    public static void main(String []args) {
-
-        Vector fileVec = new Vector();
-
-        Dimension d = null;
-        
-        if (args.length == 0) {
-            showUsage();
-            return;
-        }
-
-        for (int i=0; i<args.length; i++) {
-            if ((args[i].equals("-h")) ||
-                (args[i].equals("-help")) ||
-                (args[i].equals("--help"))){
-                showUsage();
-                return;
-            } else if (args[i].equals("--")) {
-                i++;
-                while(i < args.length) {
-                    fileVec.add(args[i++]);
-                }
-                break;
-            } else if ((args[i].equals("-fl"))||
-                     (args[i].equals("--file-list"))) {
-                if (i+1 == args.length) {
-                    System.err.println
-                        ("Must provide name of file list file after " + 
-                         args[i]);
-                    break;
-                }
-                readFileList(args[i+1], fileVec);
-                i++;
-            } else if ((args[i].equals("-ft"))||
-                       (args[i].equals("--frame-time"))) {
-                if (i+1 == args.length) {
-                    System.err.println
-                        ("Must provide time in millis after " + args[i]);
-                    break;
-                }
-                try {
-                    frameDelay = Integer.decode(args[i+1]).intValue();
-                    i++;
-                } catch (NumberFormatException nfe) {
-                    System.err.println
-                        ("Can't parse frame time: " + args[i+1]);
-                }
-            } else if ((args[i].equals("-tt"))||
-                       (args[i].equals("--transition-time"))) {
-                if (i+1 == args.length) {
-                    System.err.println
-                        ("Must provide time in millis after " + args[i]);
-                    break;
-                }
-                try {
-                    duration = Integer.decode(args[i+1]).intValue();
-                    i++;
-                } catch (NumberFormatException nfe) {
-                    System.err.println
-                        ("Can't parse transition time: " + args[i+1]);
-                }                
-            } else if ((args[i].equals("-ws"))||
-                       (args[i].equals("--window-size"))) {
-                
-                if (i+1 == args.length) {
-                    System.err.println
-                        ("Must provide window size [w,h] after " + args[i]);
-                    break;
-                }
-                try {
-                    int idx = args[i+1].indexOf(',');
-                    int w, h;
-                    if (idx == -1)
-                        w = h = Integer.decode(args[i+1]).intValue();
-                    else {
-                        String wStr = args[i+1].substring(0,idx);
-                        String hStr = args[i+1].substring(idx+1);
-                        w = Integer.decode(wStr).intValue();
-                        h = Integer.decode(hStr).intValue();
-                    }
-                    d = new Dimension(w, h);
-                    i++;
-                } catch (NumberFormatException nfe) {
-                    System.err.println
-                        ("Can't parse window size: " + args[i+1]);
-                }
-            } else
-                fileVec.add(args[i]);
-        }
-            
-        File [] files = new File[fileVec.size()];
-
-
-        for (int i=0; i<fileVec.size(); i++) {
-            try {
-                files[i] = new File((String)fileVec.get(i));
-            } catch (Exception ex) {
-                ex.printStackTrace();
-            }
-        }
-
-        new Main(files, d);
-    }
-
-    public static void showUsage() {
-        System.out.println
-("Options:\n" +
- "                                 -- : Remaining args are file names\n" +
- "                         -fl <file>\n" +
- "                 --file-list <file> : file contains list of images to\n" +
- "                                      show one per line\n" +
- "             -ws <width>[,<height>]\n" +
- "    -window-size <width>[,<height>] : Set the size of slideshow window\n" +
- "                                      defaults to full screen\n" +
- "                          -ft <int>\n" +
- "                 --frame-time <int> : Amount of time in millisecs to\n" +
- "                                      show each frame.\n" +
- "                                      Includes transition time.\n" +
- "                          -tt <int>\n" +
- "            --transition-time <int> : Amount of time in millisecs to\n" +
- "                                      transition between frames.\n" +
- "                             <file> : SVG file to display");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/AboutDialog.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/AboutDialog.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/AboutDialog.java
deleted file mode 100644
index 62d96d7..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/AboutDialog.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.Point;
-import java.awt.Rectangle;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.net.URL;
-
-import javax.swing.BorderFactory;
-import javax.swing.ImageIcon;
-import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JTextArea;
-import javax.swing.JWindow;
-import javax.swing.SwingConstants;
-import javax.swing.border.BevelBorder;
-
-import org.apache.flex.forks.batik.Version;
-
-/**
- * A dialog showing the revision of the Batik viewer as well
- * as the list of contributors.
- * The dialog can be dismissed by click or by escaping.
- *
- * @author <a href="mailto:vincent.hardy@eng.sun.com">Vincent Hardy</a>
- * @version $Id: AboutDialog.java,v 1.14 2004/08/18 07:12:26 vhardy Exp $
- */
-public class AboutDialog extends JWindow {
-
-    public static final String ICON_BATIK_SPLASH 
-        = "AboutDialog.icon.batik.splash";
-
-    public static final String ICON_APACHE_LOGO
-        = "AboutDialog.icon.apache.logo";
-
-    public static final String LABEL_APACHE_BATIK_PROJECT
-        = "AboutDialog.label.apache.batik.project";
-
-    public static final String LABEL_CONTRIBUTORS
-        = "AboutDialog.label.contributors";
-
-    /**
-     * Default constructor
-     */
-    public AboutDialog(){
-        super();
-        buildGUI();
-    }
-
-    public AboutDialog(Frame owner){
-        super(owner);
-        buildGUI();
-
-        addKeyListener(new KeyAdapter(){
-                public void keyPressed(KeyEvent e){
-                    if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
-                        setVisible(false);
-                        dispose();
-                    }
-                }
-            });
-
-        addMouseListener(new MouseAdapter(){
-                public void mousePressed(MouseEvent e){
-                    setVisible(false);
-                    dispose();
-                }
-            });
-    }
-
-    public void setLocationRelativeTo(Frame f) {
-        Dimension invokerSize = f.getSize();
-        Point loc = f.getLocation();
-        Point invokerScreenLocation = new Point(loc.x, loc.y);
-
-        Rectangle bounds = getBounds();
-        int  dx = invokerScreenLocation.x+((invokerSize.width-bounds.width)/2);
-        int  dy = invokerScreenLocation.y+((invokerSize.height - bounds.height)/2);
-        Dimension screenSize = getToolkit().getScreenSize();
-
-        if (dy+bounds.height>screenSize.height) {
-            dy = screenSize.height-bounds.height;
-            dx = invokerScreenLocation.x<(screenSize.width>>1) ? invokerScreenLocation.x+invokerSize.width :
-                invokerScreenLocation.x-bounds.width;
-        }
-        if (dx+bounds.width>screenSize.width) {
-            dx = screenSize.width-bounds.width;
-        }
-
-        if (dx<0) dx = 0;
-        if (dy<0) dy = 0;
-        setLocation(dx, dy);
-    }
-
-    /**
-     * Populates this window
-     */
-    protected void buildGUI(){
-        JPanel panel = new JPanel(new BorderLayout(5, 5));
-        panel.setBackground(Color.white);
-
-        ClassLoader cl = this.getClass().getClassLoader();
-
-        //
-        // Top is made of the Apache feather, the 
-        // name of the project and URL
-        //
-        URL url = cl.getResource(Resources.getString(ICON_APACHE_LOGO));
-        JLabel l = new JLabel(Resources.getString(LABEL_APACHE_BATIK_PROJECT),
-                              new ImageIcon(url),
-                              SwingConstants.LEFT);
-        panel.add(BorderLayout.NORTH, l);
-
-        //
-        // Add splash image
-        //
-        url = cl.getResource(Resources.getString(ICON_BATIK_SPLASH));
-        panel.add(BorderLayout.CENTER, new JLabel(new ImageIcon(url)));
-
-        //
-        // Add exact revision information
-        //
-        String tagName = Version.getVersion();
-
-        panel.add(BorderLayout.SOUTH, new JLabel(tagName, SwingConstants.RIGHT));
-
-        setBackground(Color.white);
-        getContentPane().setBackground(Color.white);
-
-        JPanel p = new JPanel(new BorderLayout());
-        p.setBackground(Color.white);
-        p.add(panel, BorderLayout.CENTER);
-
-        JTextArea contributors 
-            = new JTextArea(Resources.getString(LABEL_CONTRIBUTORS)){ 
-                    {setLineWrap(true); setWrapStyleWord(true); setEnabled(false); setRows(11); }
-                };
-
-        contributors.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));
-
-        p.add(contributors,
-              BorderLayout.SOUTH);
-        ((JComponent)getContentPane()).setBorder
-            (BorderFactory.createCompoundBorder
-             (BorderFactory.createBevelBorder(BevelBorder.RAISED, Color.gray, Color.black),
-              BorderFactory.createCompoundBorder
-             (BorderFactory.createCompoundBorder
-              (BorderFactory.createEmptyBorder(3, 3, 3, 3),
-               BorderFactory.createLineBorder(Color.black)),
-              BorderFactory.createEmptyBorder(10, 10, 10, 10))));
-        
-        getContentPane().add(p);
-        pack();
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Application.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Application.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Application.java
deleted file mode 100644
index 75f3c16..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Application.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import javax.swing.Action;
-
-/**
- * This interface represents a SVG viewer application.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: Application.java,v 1.13 2004/08/18 07:12:27 vhardy Exp $
- */
-public interface Application {
-
-    /**
-     * Creates and shows a new viewer frame.
-     */
-    JSVGViewerFrame createAndShowJSVGViewerFrame();
-
-    /**
-     * Closes the given viewer frame.
-     */
-    void closeJSVGViewerFrame(JSVGViewerFrame f);
-
-    /**
-     * Creates an action to exit the application.
-     */
-    Action createExitAction(JSVGViewerFrame vf);
-
-    /**
-     * Opens the given link in a new window.
-     */
-    void openLink(String url);
-
-    /**
-     * Returns the XML parser class name.
-     */
-    String getXMLParserClassName();
-
-    /**
-     * Returns true if the XML parser must be in validation mode, false
-     * otherwise.
-     */
-    boolean isXMLParserValidating();
-
-    /**
-     * Shows the preference dialog.
-     */
-    void showPreferenceDialog(JSVGViewerFrame f);
-
-    /**
-     * Returns the user languages.
-     */
-    String getLanguages();
-
-    /**
-     * Returns the user stylesheet uri.
-     * @return null if no user style sheet was specified.
-     */
-    String getUserStyleSheetURI();
-
-    /**
-     * Returns the default value for the CSS
-     * "font-family" property
-     */
-    String getDefaultFontFamily();
-
-    /**
-     * Returns the CSS media to use.
-     * @return empty string if no CSS media was specified.
-     */
-    String getMedia();
-
-    /**
-     * Returns true if the selection overlay is painted in XOR mode, false
-     * otherwise.
-     */
-    boolean isSelectionOverlayXORMode();
-
-    /**
-     * Returns true if the input scriptType can be loaded in
-     * this application.
-     */
-    boolean canLoadScriptType(String scriptType);
-
-    /**
-     * Returns the allowed origins for scripts.
-     * @see ResourceOrigin
-     */
-    int getAllowedScriptOrigin();
-
-    /**
-     * Returns the allowed origins for external
-     * resources. 
-     *
-     * @see ResourceOrigin
-     */
-    int getAllowedExternalResourceOrigin();
-
-    /**
-     * Notifies Application of recently visited URI
-     */
-    void addVisitedURI(String uri);
-
-    /**
-     * Asks Application for a list of recently visited URI
-     */
-    String[] getVisitedURIs();
-
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/FindDialog.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/FindDialog.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/FindDialog.java
deleted file mode 100644
index e17b1cf..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/FindDialog.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Frame;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.awt.Shape;
-import java.awt.event.ActionEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Rectangle2D;
-import java.text.AttributedCharacterIterator;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JTextField;
-
-import org.apache.flex.forks.batik.gvt.GVTTreeWalker;
-import org.apache.flex.forks.batik.gvt.GraphicsNode;
-import org.apache.flex.forks.batik.gvt.TextNode;
-import org.apache.flex.forks.batik.gvt.text.Mark;
-import org.apache.flex.forks.batik.swing.JSVGCanvas;
-import org.apache.flex.forks.batik.util.gui.ExtendedGridBagConstraints;
-import org.apache.flex.forks.batik.util.gui.resource.ActionMap;
-import org.apache.flex.forks.batik.util.gui.resource.ButtonFactory;
-import org.apache.flex.forks.batik.util.gui.resource.MissingListenerException;
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-
-/**
- * This class represents a Dialog that lets the user searching for text inside
- * an SVG document.
- *
- * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: FindDialog.java,v 1.10 2004/08/18 07:12:27 vhardy Exp $
- */
-public class FindDialog extends JDialog implements ActionMap {
-
-    /**
-     * The resource file name
-     */
-    protected final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.FindDialog";
-
-    // action names
-    public final static String FIND_ACTION = "FindButtonAction";
-
-    public final static String CLEAR_ACTION = "ClearButtonAction";
-
-    public final static String CLOSE_ACTION = "CloseButtonAction";
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager resources;
-
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        resources = new ResourceManager(bundle);
-    }
-
-    /** The button factory */
-    protected ButtonFactory buttonFactory;
-
-    /** The GVT root into which text is searched. */
-    protected GraphicsNode gvtRoot;
-
-    /** The GVTTreeWalker used to scan the GVT Tree. */
-    protected GVTTreeWalker walker;
-
-    /** The current index in the TextNode's string. */
-    protected int currentIndex;
-
-    /** The TextField that owns the text to search. */
-    protected JTextField search;
-
-    /** The next button. */
-    protected JButton findButton;
-
-    /** The next button. */
-    protected JButton clearButton;
-
-    /** The cancel button. */
-    protected JButton closeButton;
-
-    /** The case sensitive button. */
-    protected JCheckBox caseSensitive;
-
-    /** The canvas. */
-    protected JSVGCanvas svgCanvas;
-
-    /** The highlight button. */
-    protected JRadioButton highlightButton;
-
-    /** The highlight and center button. */
-    protected JRadioButton highlightCenterButton;
-
-    /** The highlight center and zoom button. */
-    protected JRadioButton highlightCenterZoomButton;
-    /**
-     * Constructs a new <tt>FindDialog</tt>.
-     */
-    public FindDialog(JSVGCanvas svgCanvas) {
-        this(null, svgCanvas);
-    }
-
-    /**
-     * Constructs a new <tt>FindDialog</tt>.
-     */
-    public FindDialog(Frame owner, JSVGCanvas svgCanvas) {
-        super(owner, resources.getString("Dialog.title"));
-        this.svgCanvas = svgCanvas;
-
-        buttonFactory = new ButtonFactory(bundle, this);
-
-        listeners.put(FIND_ACTION, 
-		      new FindButtonAction());
-
-        listeners.put(CLEAR_ACTION, 
-		      new ClearButtonAction());
-
-        listeners.put(CLOSE_ACTION, 
-		      new CloseButtonAction());
-
-	JPanel p = new JPanel(new BorderLayout());
-	p.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
-	p.add(createFindPanel(), BorderLayout.CENTER);
-	p.add(createShowResultPanel(), BorderLayout.SOUTH);
-
-	getContentPane().add(p, BorderLayout.CENTER);
-        getContentPane().add(createButtonsPanel(), BorderLayout.SOUTH);
-    }
-
-    /**
-     * Creates the Find panel.
-     */
-    protected JPanel createFindPanel() {
-        JPanel panel = new JPanel(new GridBagLayout());
-
-        panel.setBorder(BorderFactory.createTitledBorder
-                        (BorderFactory.createEtchedBorder(),
-                         resources.getString("Panel.title")));
-
-        ExtendedGridBagConstraints gbc = new ExtendedGridBagConstraints();
-        gbc.insets = new Insets(2, 2, 2, 2);
-
-        gbc.anchor = ExtendedGridBagConstraints.EAST;
-        gbc.fill = ExtendedGridBagConstraints.NONE;
-        gbc.setWeight(0, 0);
-        gbc.setGridBounds(0, 0, 1, 1);
-        panel.add(new JLabel(resources.getString("FindLabel.text")), gbc);
-
-        gbc.fill = ExtendedGridBagConstraints.HORIZONTAL;
-        gbc.setWeight(1.0, 0);
-        gbc.setGridBounds(1, 0, 2, 1);
-        panel.add(search = new JTextField(20), gbc);
-
-        gbc.fill = ExtendedGridBagConstraints.NONE;
-        gbc.anchor = ExtendedGridBagConstraints.WEST;
-        gbc.setWeight(0, 0);
-        gbc.setGridBounds(1, 1, 1, 1);
-        caseSensitive = buttonFactory.createJCheckBox("CaseSensitiveCheckBox");
-        panel.add(caseSensitive, gbc);
-
-        return panel;
-    }
-
-    protected JPanel createShowResultPanel() {
-        JPanel panel = new JPanel(new GridBagLayout());
-
-        panel.setBorder(BorderFactory.createTitledBorder
-                        (BorderFactory.createEtchedBorder(),
-                         resources.getString("ShowResultPanel.title")));
-
-        ExtendedGridBagConstraints gbc = new ExtendedGridBagConstraints();
-        gbc.insets = new Insets(2, 2, 2, 2);
-
-        gbc.anchor = ExtendedGridBagConstraints.WEST;
-        gbc.fill = ExtendedGridBagConstraints.NONE;
-        gbc.setWeight(0, 0);
-
-	ButtonGroup grp = new ButtonGroup();
-
-	highlightButton = buttonFactory.createJRadioButton("Highlight");
-	highlightButton.setSelected(true);
-	grp.add(highlightButton);
-        gbc.setGridBounds(0, 0, 1, 1);
-        panel.add(highlightButton, gbc);
-
-	highlightCenterButton = 
-	    buttonFactory.createJRadioButton("HighlightAndCenter");
-	grp.add(highlightCenterButton);
-        gbc.setGridBounds(0, 1, 1, 1);
-        panel.add(highlightCenterButton, gbc);
-
-	highlightCenterZoomButton = 
-	    buttonFactory.createJRadioButton("HighlightCenterAndZoom");
-	grp.add(highlightCenterZoomButton);
-        gbc.setGridBounds(0, 2, 1, 1);
-        panel.add(highlightCenterZoomButton, gbc);
-
-	return panel;
-    }
-
-    /**
-     * Creates the buttons panel
-     */
-    protected JPanel createButtonsPanel() {
-        JPanel panel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-        panel.add(findButton = buttonFactory.createJButton("FindButton"));
-        panel.add(clearButton = buttonFactory.createJButton("ClearButton"));
-        panel.add(closeButton = buttonFactory.createJButton("CloseButton"));
-        return panel;
-    }
-
-
-    /**
-     * Sets the graphics node into which text is searched.
-     * @param gvtRoot the GVT root node
-     */
-    public void setGraphicsNode(GraphicsNode gvtRoot) {
-        this.gvtRoot = gvtRoot;
-        if (gvtRoot != null) {
-            this.walker = new GVTTreeWalker(gvtRoot);
-        } else {
-            this.walker = null;
-        }
-    }
-
-    /**
-     * Returns the next GraphicsNode that matches the specified string or null
-     * if any.
-     *
-     * @param text the text to match
-     */
-    protected GraphicsNode getNext(String text) {
-	if (walker == null && gvtRoot != null) {
-	    walker = new GVTTreeWalker(gvtRoot);
-	}
-        GraphicsNode gn = walker.getCurrentGraphicsNode();
-	int index = match(gn, text, currentIndex+text.length());
-	if (index >= 0) {
-	    currentIndex = index;
-	} else {
-	    currentIndex = 0;
-	    gn = walker.nextGraphicsNode();
-	    while (gn != null && 
-		   ((currentIndex = match(gn, text, currentIndex)) < 0)) {
-		currentIndex = 0;
-		gn = walker.nextGraphicsNode();
-	    }
-	}
-        return gn;
-    }
-
-    /**
-     * Returns the index inside the specified TextNode of the
-     * specified text, or -1 if not found.
-     *
-     * @param node the graphics node to check
-     * @param text the text use to match 
-     * @param index the index from which to start */
-    protected int match(GraphicsNode node, String text, int index) {
-        if (!(node instanceof TextNode)
-            || !node.isVisible()
-            || text == null || text.length() == 0) {
-            return -1;
-        }
-        String s = ((TextNode)node).getText();
-        if (!caseSensitive.isSelected()) {
-            s = s.toLowerCase();
-            text = text.toLowerCase();
-        }
-        return s.indexOf(text, index);
-    }
-
-    /**
-     * Shows the current selected <tt>TextNode</tt>.
-     */
-    protected void showSelectedGraphicsNode() {
-        GraphicsNode gn = walker.getCurrentGraphicsNode();
-        if (!(gn instanceof TextNode)) {
-            return;
-        }
-	TextNode textNode = (TextNode)gn;
-	// mark the selection of the substring found
-	String text    = textNode.getText();
-	String pattern = search.getText();
-        if (!caseSensitive.isSelected()) {
-            text    = text.toLowerCase();
-            pattern = pattern.toLowerCase();
-        }
-	int end = text.indexOf(pattern, currentIndex);
-
-	AttributedCharacterIterator aci = 
-	    textNode.getAttributedCharacterIterator();
-	aci.first();
-	for (int i=0; i < end; ++i) {
-	    aci.next();
-	}
-	Mark startMark = textNode.getMarkerForChar(aci.getIndex(), true);
-	
-	for (int i = 0; i < pattern.length()-1; ++i) {
-	    aci.next();
-	}
-	Mark endMark = textNode.getMarkerForChar(aci.getIndex(), false);
-	svgCanvas.select(startMark, endMark);
-
-	// zoom on the TextNode if needed
-        if (highlightButton.isSelected()) {
-	    return;
-	}
-
-	// get the highlight shape in GVT root (global) coordinate sytem
-	Shape s = textNode.getHighlightShape();
-	AffineTransform at;
-	if (highlightCenterZoomButton.isSelected()) {
-	    at = svgCanvas.getInitialTransform();
-	} else {
-	    at = svgCanvas.getRenderingTransform();
-	}
-	// get the bounds of the highlight shape in the canvas coordinate system
-	Rectangle2D gnb = at.createTransformedShape(s).getBounds();
-	    
-	Dimension canvasSize = svgCanvas.getSize();
-	// translate the highlight region to (0, 0) in the canvas coordinate
-	// system
-	AffineTransform Tx = AffineTransform.getTranslateInstance
-	    (-gnb.getX()-gnb.getWidth()/2,
-	     -gnb.getY()-gnb.getHeight()/2);
-	
-	if (highlightCenterZoomButton.isSelected()) {
-	    // zoom on the highlight shape such as the shape takes x% of the
-	    // canvas size
-	    double sx = canvasSize.width/gnb.getWidth();
-	    double sy = canvasSize.height/gnb.getHeight();
-	    double scale = Math.min(sx, sy) / 8;
-	    if (scale > 1) {
-		Tx.preConcatenate
-		    (AffineTransform.getScaleInstance(scale, scale));
-	    }
-	}
-	Tx.preConcatenate(AffineTransform.getTranslateInstance
-			  (canvasSize.width/2, canvasSize.height/2));
-	// take into account the initial transform
-	AffineTransform newRT = new AffineTransform(at);
-	newRT.preConcatenate(Tx);
-	// change the rendering transform
-	svgCanvas.setRenderingTransform(newRT);
-    }
-
-    // ActionMap implementation
-
-    /**
-     * The map that contains the listeners
-     */
-    protected Map listeners = new HashMap(10);
-
-    /**
-     * Returns the action associated with the given string
-     * or null on error
-     * @param key the key mapped with the action to get
-     * @throws MissingListenerException if the action is not found
-     */
-    public Action getAction(String key) throws MissingListenerException {
-        return (Action)listeners.get(key);
-    }
-
-    //////////////////////////////////////////////////////////////////////////
-    // Action implementation
-    //////////////////////////////////////////////////////////////////////////
-
-    /**
-     * The action associated to the 'find' button.
-     */
-    protected class FindButtonAction extends AbstractAction {
-        public void actionPerformed(ActionEvent e) {
-            String text = search.getText();
-	    if (text == null || text.length() == 0) {
-		return;
-	    }
-	    GraphicsNode gn = getNext(text);
-	    if (gn != null) {
-		showSelectedGraphicsNode();
-	    } else {
-		// end of document reached
-		walker = null;
-		JOptionPane.showMessageDialog(FindDialog.this, 
-					      resources.getString("End.text"), 
-					      resources.getString("End.title"),
-					      JOptionPane.INFORMATION_MESSAGE);
-	    }
-	}
-    }
-
-    /**
-     * The action associated to the 'clear' button.
-     */
-    protected class ClearButtonAction extends AbstractAction {
-        public void actionPerformed(ActionEvent e) {
-	    search.setText(null);
-	    walker = null;
-        }
-    }
-
-    /**
-     * The action associated to the 'close' button.
-     */
-    protected class CloseButtonAction extends AbstractAction {
-        public void actionPerformed(ActionEvent e) {
-            dispose();
-        }
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JAuthenticator.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JAuthenticator.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JAuthenticator.java
deleted file mode 100644
index b6390604..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JAuthenticator.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Container;
-import java.awt.EventQueue;
-import java.awt.Frame;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.net.Authenticator;
-import java.net.PasswordAuthentication;
-
-import javax.swing.JButton;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JPasswordField;
-import javax.swing.JTextField;
-import javax.swing.SwingConstants;
-
-/**
- * This class is resposible for providing authentication information
- * when needed by network protocols.  It does this by poping up a small
- * window that asks for User ID and password for the system.
- */
-public class JAuthenticator extends Authenticator {
-
-    /**
-     * Internationalization message string
-     */
-    public static final String TITLE
-        = "JAuthenticator.title";
-    public static final String LABEL_SITE
-        = "JAuthenticator.label.site";
-    public static final String LABEL_REQ
-        = "JAuthenticator.label.req";
-    public static final String LABEL_USERID
-        = "JAuthenticator.label.userID";
-    public static final String LABEL_PASSWORD
-        = "JAuthenticator.label.password";
-
-    public static final String LABEL_CANCEL
-        = "JAuthenticator.label.cancel";
-    public static final String LABEL_OK
-        = "JAuthenticator.label.ok";
-
-    protected JDialog window;
-    protected JButton cancelButton;
-    protected JButton okButton;
-
-    protected JLabel     label1;
-    protected JLabel     label2;
-    protected JTextField     JUserID;
-    protected JPasswordField JPassword;
-
-    Object lock = new Object();
-
-    private boolean result;
-    private boolean wasNotified;
-    private String  userID;
-    private char [] password;
-
-    public JAuthenticator() {
-        initWindow();
-    }
-
-    protected void initWindow() {
-        String title = Resources.getString(TITLE);
-        window = new JDialog((Frame)null, title, true);
-
-        Container mainPanel = window.getContentPane();
-        mainPanel.setLayout(new BorderLayout());
-        mainPanel.add(buildAuthPanel(), BorderLayout.CENTER);
-        mainPanel.add(buildButtonPanel(), BorderLayout.SOUTH);
-        window.pack();
-
-        window.addWindowListener( new WindowAdapter() {
-                public void windowClosing(WindowEvent e) {
-                    cancelListener.actionPerformed
-                        (new ActionEvent(e.getWindow(), 
-                                         ActionEvent.ACTION_PERFORMED,
-                                         "Close"));
-                }
-            });
-    }
-
-    protected JComponent buildAuthPanel() {
-        GridBagLayout gridBag = new GridBagLayout();
-        GridBagConstraints  c = new GridBagConstraints();
-        JPanel proxyPanel = new JPanel(gridBag);
-        c.fill = GridBagConstraints.BOTH;
-        c.weightx = 1.0;
-
-        c.gridwidth = 1;
-        JLabel labelS = new JLabel(Resources.getString(LABEL_SITE));
-        labelS.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(labelS, c);
-        proxyPanel.add(labelS);
-		
-        c.gridwidth = GridBagConstraints.REMAINDER;
-        label1 = new JLabel("");
-        label1.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(label1, c);
-        proxyPanel.add(label1);
-		
-        c.gridwidth = 1;
-        JLabel labelR = new JLabel(Resources.getString(LABEL_REQ));
-        labelR.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(labelR, c);
-        proxyPanel.add(labelR);
-		
-        c.gridwidth = GridBagConstraints.REMAINDER;
-        label2 = new JLabel("");
-        label2.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(label2, c);
-        proxyPanel.add(label2);
-		
-        c.gridwidth = 1;
-        JLabel labelUserID = new JLabel(Resources.getString(LABEL_USERID));
-        labelUserID.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(labelUserID, c);
-        proxyPanel.add(labelUserID);
-
-        c.gridwidth = GridBagConstraints.REMAINDER;
-        JUserID = new JTextField(20);
-        gridBag.setConstraints(JUserID, c);
-        proxyPanel.add(JUserID);
-
-        c.gridwidth = 1;
-        JLabel labelPassword = new JLabel(Resources.getString(LABEL_PASSWORD));
-        labelPassword.setHorizontalAlignment(SwingConstants.LEFT);
-        gridBag.setConstraints(labelPassword, c);
-        proxyPanel.add(labelPassword);
-
-        c.gridwidth = GridBagConstraints.REMAINDER;
-        JPassword = new JPasswordField(20);
-        JPassword.setEchoChar('*');
-        JPassword.addActionListener(okListener);
-        gridBag.setConstraints(JPassword, c);
-        proxyPanel.add(JPassword);
-
-        return proxyPanel;
-    }
-
-    
-
-    protected JComponent buildButtonPanel() {
-        JPanel buttonPanel = new JPanel();
-        cancelButton = new JButton(Resources.getString(LABEL_CANCEL));
-        cancelButton.addActionListener(cancelListener);
-        buttonPanel.add(cancelButton);
-
-        okButton = new JButton(Resources.getString(LABEL_OK));
-        okButton.addActionListener( okListener);
-        buttonPanel.add(okButton);
-
-        return buttonPanel;
-    }
-
-    /** 
-     * This is called by the protocol stack when authentication is
-     * required.  We then show the dialog in the Swing event thread,
-     * and block waiting for the user to select either cancel or ok,
-     * at which point we get notified.
-     */
-    public PasswordAuthentication getPasswordAuthentication() {
-        synchronized (lock) {
-            EventQueue.invokeLater(new Runnable() {
-                    public void run() {
-                        label1.setText(getRequestingSite().getHostName());
-                        label2.setText(getRequestingPrompt());
-                        window.setVisible(true);
-                    }
-                });
-            wasNotified = false;
-            while (!wasNotified) {
-                try {
-                    lock.wait();
-                } catch(InterruptedException ie) { }
-            }
-            if (!result)
-                return null;
-
-            return new PasswordAuthentication(userID, password);
-        }
-    }
-
-    ActionListener okListener = new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                synchronized (lock) {
-                    window.setVisible(false);
-
-                    userID   = JUserID.getText();
-                    password = JPassword.getPassword();
-                    JPassword.setText("");
-                    result = true;
-                    wasNotified = true;
-                    lock.notifyAll();
-                }
-            }
-        };
-
-    ActionListener cancelListener = new ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                synchronized (lock) {
-                    window.setVisible(false);
-
-                    userID = null; 
-                    JUserID.setText("");
-                    password = null;
-                    JPassword.setText("");
-                    result = false;
-                    wasNotified = true;
-                    lock.notifyAll();
-                }
-            }
-        };
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JPEGOptionPanel.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JPEGOptionPanel.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JPEGOptionPanel.java
deleted file mode 100644
index dfc2f3b..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JPEGOptionPanel.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-import java.util.Hashtable;
-
-import javax.swing.BorderFactory;
-import javax.swing.JLabel;
-import javax.swing.JSlider;
-
-import org.apache.flex.forks.batik.util.gui.ExtendedGridBagConstraints;
-
-/**
- * This class represents a panel to control jpeg encoding quality.
- *
- * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: JPEGOptionPanel.java,v 1.5 2004/08/18 07:12:27 vhardy Exp $
- */
-public class JPEGOptionPanel extends OptionPanel {
-    /**
-     * The jpeg encoding quality.
-     */
-    protected JSlider quality;
-
-    /**
-     * Creates a new panel.
-     */
-    public JPEGOptionPanel() {
-	super(new GridBagLayout());
-
-	ExtendedGridBagConstraints constraints = 
-	    new ExtendedGridBagConstraints();
-
-	
-	constraints.insets = new Insets(5, 5, 5, 5);
-
-	constraints.weightx = 0;
-	constraints.weighty = 0;
-	constraints.fill = GridBagConstraints.NONE;
-	constraints.setGridBounds(0, 0, 1, 1);
-	add(new JLabel(resources.getString("JPEGOptionPanel.label")), 
-	    constraints);
-
-	quality = new JSlider();
-	quality.setMinimum(0);
-	quality.setMaximum(100);
-	quality.setMajorTickSpacing(10);
-	quality.setMinorTickSpacing(5);
-	quality.setPaintTicks(true);
-	quality.setPaintLabels(true);
-	quality.setBorder(BorderFactory.createEmptyBorder(0,0,10,0));
-	Hashtable labels = new Hashtable();
-	for (int i=0; i < 100; i+=10) {
-	    labels.put(new Integer(i), new JLabel("0."+i/10));
-	}
-	labels.put(new Integer(100), new JLabel("1"));
-	quality.setLabelTable(labels);
-
-	Dimension dim = quality.getPreferredSize();
-	quality.setPreferredSize(new Dimension(350, dim.height));
-
-	constraints.weightx = 1.0;
-	constraints.fill = GridBagConstraints.HORIZONTAL;
-	constraints.setGridBounds(1, 0, 1, 1);
-	add(quality, constraints);
-    }
-
-    /**
-     * Returns the jpeg quality.
-     */
-    public float getQuality() {
-	return quality.getValue()/100f;
-    }
-
-    /**
-     * Shows a dialog to choose the jpeg encoding quality and return
-     * the quality as a float.  
-     */
-    public static float showDialog(Component parent) {
-        String title = resources.getString("JPEGOptionPanel.dialog.title");
-        JPEGOptionPanel panel = new JPEGOptionPanel();
-	Dialog dialog = new Dialog(parent, title, panel);
-	dialog.pack();
-	dialog.show();
-	return panel.getQuality();
-    }
-}


[28/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedDocumentRoot.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedDocumentRoot.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedDocumentRoot.java
new file mode 100644
index 0000000..2b21958
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedDocumentRoot.java
@@ -0,0 +1,288 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+import org.apache.flex.forks.batik.util.DoublyIndexedSet;
+
+/**
+ * An abstract base class for the root time container element
+ * for a document.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimedDocumentRoot.java 580685 2007-09-30 09:07:29Z cam $
+ */
+public abstract class TimedDocumentRoot extends TimeContainer {
+
+    /**
+     * The wallclock time that the document began.
+     */
+    protected Calendar documentBeginTime;
+
+    /**
+     * Allows the use of accessKey() timing specifiers with a single
+     * character, as specified in SVG 1.1.
+     */
+    protected boolean useSVG11AccessKeys;
+
+    /**
+     * Allows the use of accessKey() timing specifiers with a DOM 3
+     * key name, as specified in SVG 1.2.
+     */
+    protected boolean useSVG12AccessKeys;
+
+    /**
+     * A set to determine when propagation of new Instance times should
+     * be stopped.
+     */
+    protected DoublyIndexedSet propagationFlags = new DoublyIndexedSet();
+
+    /**
+     * List of {link TimegraphListener}s to be notified of changes to the
+     * timed elements in this document.
+     */
+    protected LinkedList listeners = new LinkedList();
+
+    /**
+     * Whether the document is currently being sampled.
+     */
+    protected boolean isSampling;
+
+    /**
+     * Whether the document is currently being sampled for a hyperlink.
+     */
+    protected boolean isHyperlinking;
+
+    /**
+     * Creates a new TimedDocumentRoot.
+     * @param useSVG11AccessKeys allows the use of accessKey() timing
+     *                           specifiers with a single character
+     * @param useSVG12AccessKeys allows the use of accessKey() with a
+     *                           DOM 3 key name
+     */
+    public TimedDocumentRoot(boolean useSVG11AccessKeys,
+                             boolean useSVG12AccessKeys) {
+        root = this;
+        this.useSVG11AccessKeys = useSVG11AccessKeys;
+        this.useSVG12AccessKeys = useSVG12AccessKeys;
+    }
+
+    /**
+     * Returns the implicit duration of the element.  The document root
+     * has an {@link #INDEFINITE} implicit duration.
+     */
+    protected float getImplicitDur() {
+        return INDEFINITE;
+    }
+
+    /**
+     * Returns the default begin time for the given child
+     * timed element.  In SVG, this is always 0, since the
+     * only time container is the root SVG element, which acts
+     * like a 'par'.
+     */
+    public float getDefaultBegin(TimedElement child) {
+        return 0.0f;
+    }
+
+    /**
+     * Returns the last sampled document time.
+     */
+    public float getCurrentTime() {
+        return lastSampleTime;
+    }
+
+    /**
+     * Returns whether the document is currently being sampled.
+     */
+    public boolean isSampling() {
+        return isSampling;
+    }
+
+    /**
+     * Returns whether the document is currently being sampled for a hyperlink.
+     */
+    public boolean isHyperlinking() {
+        return isHyperlinking;
+    }
+
+    /**
+     * Samples the entire timegraph at the given time.
+     */
+    public float seekTo(float time, boolean hyperlinking) {
+        // Trace.enter(this, "seekTo", new Object[] { new Float(time) } ); try {
+        isSampling = true;
+        lastSampleTime = time;
+        isHyperlinking = hyperlinking;
+        propagationFlags.clear();
+        // No time containers in SVG, so we don't have to worry
+        // about a partial ordering of timed elements to sample.
+        float mint = Float.POSITIVE_INFINITY;
+        TimedElement[] es = getChildren();
+        for (int i = 0; i < es.length; i++) {
+            float t = es[i].sampleAt(time, hyperlinking);
+            if (t < mint) {
+                mint = t;
+            }
+        }
+        boolean needsUpdates;
+        do {
+            needsUpdates = false;
+            for (int i = 0; i < es.length; i++) {
+                if (es[i].shouldUpdateCurrentInterval) {
+                    needsUpdates = true;
+                    // System.err.print("{" + ((Test.AnimateElement) es[i]).id + "} ");
+                    float t = es[i].sampleAt(time, hyperlinking);
+                    if (t < mint) {
+                        mint = t;
+                    }
+                }
+            }
+        } while (needsUpdates);
+        isSampling = false;
+        if (hyperlinking) {
+            root.currentIntervalWillUpdate();
+        }
+        return mint;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Resets the entire timegraph.
+     */
+    public void resetDocument(Calendar documentBeginTime) {
+        if (documentBeginTime == null) {
+            this.documentBeginTime = Calendar.getInstance();
+        } else {
+            this.documentBeginTime = documentBeginTime;
+        }
+        reset(true);
+    }
+
+    /**
+     * Returns the wallclock time that the document began.
+     */
+    public Calendar getDocumentBeginTime() {
+        return documentBeginTime;
+    }
+
+    /**
+     * Converts an epoch time to document time.
+     */
+    public float convertEpochTime(long t) {
+        long begin = documentBeginTime.getTime().getTime();
+        return (t - begin) / 1000f;
+    }
+
+    /**
+     * Converts a wallclock time to document time.
+     */
+    public float convertWallclockTime(Calendar time) {
+        long begin = documentBeginTime.getTime().getTime();
+        long t = time.getTime().getTime();
+        return (t - begin) / 1000f;
+    }
+
+    /**
+     * Adds a {@link TimegraphListener} to the document.
+     */
+    public void addTimegraphListener(TimegraphListener l) {
+        listeners.add(l);
+    }
+
+    /**
+     * Removes a {@link TimegraphListener} from the document.
+     */
+    public void removeTimegraphListener(TimegraphListener l) {
+        listeners.remove(l);
+    }
+
+    /**
+     * Fires an {@link TimegraphListener#elementAdded} event on all
+     * timegraph listeners.
+     */
+    void fireElementAdded(TimedElement e) {
+        Iterator i = listeners.iterator();
+        while (i.hasNext()) {
+            ((TimegraphListener) i.next()).elementAdded(e);
+        }
+    }
+
+    /**
+     * Fires an {@link TimegraphListener#elementRemoved} event on all
+     * timegraph listeners.
+     */
+    void fireElementRemoved(TimedElement e) {
+        Iterator i = listeners.iterator();
+        while (i.hasNext()) {
+            ((TimegraphListener) i.next()).elementRemoved(e);
+        }
+    }
+
+    // XXX Add fire* methods for the other events in TimegraphListener, and make
+    //     TimedElement fire them.
+
+    /**
+     * Returns whether the specified newly created {@link Interval} should 
+     * propagate its times to the given {@link TimingSpecifier}.
+     * @param i the Interval that has just been created
+     * @param ts the TimingSpecifier that is a dependent of the Interval
+     * @param isBegin whether the dependency is on the begin or end time of
+     *        the Interval
+     */
+    boolean shouldPropagate(Interval i, TimingSpecifier ts, boolean isBegin) {
+        InstanceTime it = isBegin ? i.getBeginInstanceTime()
+                                  : i.getEndInstanceTime();
+        if (propagationFlags.contains(it, ts)) {
+            return false;
+        }
+        propagationFlags.add(it, ts);
+        return true;
+    }
+
+    /**
+     * Invoked by timed elements in this document to indicate that the current
+     * interval will be re-evaluated at the next sample.  This should be
+     * overridden in a concrete class so that ticks can be scheduled immediately
+     * if they are currently paused due to no animations being active.
+     */
+    protected void currentIntervalWillUpdate() {
+    }
+
+    /**
+     * Returns the namespace URI of the event that corresponds to the given
+     * animation event name.
+     */
+    protected abstract String getEventNamespaceURI(String eventName);
+
+    /**
+     * Returns the type of the event that corresponds to the given
+     * animation event name.
+     */
+    protected abstract String getEventType(String eventName);
+
+    /**
+     * Returns the name of the repeat event.
+     * @return either "repeat" or "repeatEvent"
+     */
+    protected abstract String getRepeatEventName();
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedElement.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedElement.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedElement.java
new file mode 100644
index 0000000..bc73529
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimedElement.java
@@ -0,0 +1,1575 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.*;
+
+import org.apache.flex.forks.batik.anim.AnimationException;
+import org.apache.flex.forks.batik.i18n.LocalizableSupport;
+import org.apache.flex.forks.batik.parser.ClockHandler;
+import org.apache.flex.forks.batik.parser.ClockParser;
+import org.apache.flex.forks.batik.parser.ParseException;
+import org.apache.flex.forks.batik.util.SMILConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventTarget;
+
+/**
+ * An abstract base class for elements that can have timing applied to them.
+ * The concrete versions of this class do not necessarily have to be the
+ * same as the DOM class, and in fact, this will mostly be impossible unless
+ * creating new DOM classes that inherit from these elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimedElement.java 592593 2007-11-07 00:44:30Z cam $
+ */
+public abstract class TimedElement implements SMILConstants {
+
+    // Constants for fill mode.
+    public static final int FILL_REMOVE = 0;
+    public static final int FILL_FREEZE = 1;
+
+    // Constants for restart mode.
+    public static final int RESTART_ALWAYS          = 0;
+    public static final int RESTART_WHEN_NOT_ACTIVE = 1;
+    public static final int RESTART_NEVER           = 2;
+
+    // Constants for time values.
+    public static final float INDEFINITE = Float.POSITIVE_INFINITY;
+    public static final float UNRESOLVED = Float.NaN;
+
+    /**
+     * The root time container.
+     */
+    protected TimedDocumentRoot root;
+
+    /**
+     * The parent time container.
+     */
+    protected TimeContainer parent;
+
+    /**
+     * Timing specifiers for the begin times of this element.
+     */
+    protected TimingSpecifier[] beginTimes;
+
+    /**
+     * Timing specifiers for the end times of this element.
+     */
+    protected TimingSpecifier[] endTimes;
+
+    /**
+     * Duration of this element, if {@link #durMedia} <code>= false</code>.
+     * If unspecified, it will be {@link #UNRESOLVED}.
+     */
+    protected float simpleDur;
+
+    /**
+     * Whether the simple duration of this element should be equal
+     * to the implicit duration.
+     */
+    protected boolean durMedia;
+
+    /**
+     * The number of repeats.  If unspecified, it will be
+     * {@link #UNRESOLVED}.
+     */
+    protected float repeatCount;
+
+    /**
+     * The duration of repeats.  If unspecified, it will be
+     * {@link #UNRESOLVED}.
+     */
+    protected float repeatDur;
+
+    /**
+     * The current repeat iteration.
+     */
+    protected int currentRepeatIteration;
+
+    /**
+     * The local active time of the last repeat.
+     */
+    protected float lastRepeatTime;
+
+    /**
+     * The fill mode for this element.  Uses the FILL_* constants
+     * defined in this class.
+     */
+    protected int fillMode;
+
+    /**
+     * The restart mode for this element.  Uses the RESTART_* constants
+     * defined in this class.
+     */
+    protected int restartMode;
+
+    /**
+     * The minimum active duration of this element.  If {@link #minMedia}
+     * <code>= true</code>, it will be <code>0f</code>.
+     */
+    protected float min;
+
+    /**
+     * Whether the min value was specified as 'media'.
+     */
+    protected boolean minMedia;
+
+    /**
+     * The maximum active duration of this element.  If {@link #maxMedia}
+     * <code>= true</code>, it will be {@link #INDEFINITE}.
+     */
+    protected float max;
+
+    /**
+     * Whether the max value was specified as 'media'.
+     */
+    protected boolean maxMedia;
+
+    /**
+     * Whether the element is currently active.
+     */
+    protected boolean isActive;
+
+    /**
+     * Whether the element is currently frozen.
+     */
+    protected boolean isFrozen;
+
+    /**
+     * The current time of this element in local active time.
+     */
+    protected float lastSampleTime;
+
+    /**
+     * The computed repeat duration of the element.
+     */
+    protected float repeatDuration;
+
+    /**
+     * List of begin InstanceTimes.
+     */
+    protected List beginInstanceTimes = new ArrayList();
+
+    /**
+     * List of end InstanceTimes.
+     */
+    protected List endInstanceTimes = new ArrayList();
+
+    /**
+     * The current Interval.
+     */
+    protected Interval currentInterval;
+
+    /**
+     * The end time of the previous interval, initially
+     * {@link Float#NEGATIVE_INFINITY}.
+     */
+    protected float lastIntervalEnd;
+
+    /**
+     * List of previous intervals.
+     */
+    // protected LinkedList previousIntervals = new LinkedList();
+
+    /**
+     * The previous interval.
+     */
+    protected Interval previousInterval;
+
+    /**
+     * List of TimingSpecifiers on other elements that depend on this
+     * element's begin times.
+     */
+    protected LinkedList beginDependents = new LinkedList();
+
+    /**
+     * List of TimingSpecifiers on other elements that depend on this
+     * element's end times.
+     */
+    protected LinkedList endDependents = new LinkedList();
+
+    /**
+     * Whether the list of instance times should be checked to update
+     * the current interval.
+     */
+    protected boolean shouldUpdateCurrentInterval = true;
+
+    /**
+     * Whether this timed element has parsed its timing attributes yet.
+     */
+    protected boolean hasParsed;
+
+    /**
+     * Map of {@link Event} objects to {@link HashSet}s of {@link
+     * TimingSpecifier}s that caught them.
+     */
+    protected Map handledEvents = new HashMap();
+
+    /**
+     * Whether this timed element is currently being sampled.
+     */
+    protected boolean isSampling;
+
+    /**
+     * Whether an instance time update message has already been propagated to
+     * this timed element.
+     */
+    protected boolean hasPropagated;
+
+    /**
+     * Creates a new TimedElement.
+     */
+    public TimedElement() {
+        beginTimes = new TimingSpecifier[0];
+        endTimes = beginTimes;
+        simpleDur = UNRESOLVED;
+        repeatCount = UNRESOLVED;
+        repeatDur = UNRESOLVED;
+        lastRepeatTime = UNRESOLVED;
+        max = INDEFINITE;
+        lastSampleTime = UNRESOLVED;
+        lastIntervalEnd = Float.NEGATIVE_INFINITY;
+    }
+
+    /**
+     * Returns the root time container of this timed element.
+     */
+    public TimedDocumentRoot getRoot() {
+        return root;
+    }
+
+    /**
+     * Returns the current active time of this element.
+     */
+    public float getActiveTime() {
+        return lastSampleTime;
+    }
+
+    /**
+     * Returns the current simple time of this element.
+     */
+    public float getSimpleTime() {
+        return lastSampleTime - lastRepeatTime;
+    }
+
+    /**
+     * Called by a TimingSpecifier of this element when a new
+     * InstanceTime is created.  This will be in response to an event
+     * firing, a DOM method being called or a new Instance being
+     * created by a syncbase element.
+     */
+    protected float addInstanceTime(InstanceTime time, boolean isBegin) {
+        // Trace.enter(this, "addInstanceTime", new Object[] { time, new Boolean(isBegin) } ); try {
+        hasPropagated = true;
+        List instanceTimes = isBegin ? beginInstanceTimes : endInstanceTimes;
+        int index = Collections.binarySearch(instanceTimes, time);
+        if (index < 0) {
+            index = -(index + 1);
+        }
+        instanceTimes.add(index, time);
+        shouldUpdateCurrentInterval = true;
+        float ret;
+        if (root.isSampling() && !isSampling) {
+            ret = sampleAt(root.getCurrentTime(), root.isHyperlinking());
+        } else {
+            ret = Float.POSITIVE_INFINITY;
+        }
+        hasPropagated = false;
+        root.currentIntervalWillUpdate();
+        return ret;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Called by a TimingSpecifier of this element when an InstanceTime
+     * should be removed.  This will be in response to the pruning of an
+     * Interval.
+     */
+    protected float removeInstanceTime(InstanceTime time, boolean isBegin) {
+        // Trace.enter(this, "removeInstanceTime", new Object[] { time, new Boolean(isBegin) } ); try {
+        hasPropagated = true;
+        List instanceTimes = isBegin ? beginInstanceTimes : endInstanceTimes;
+        int index = Collections.binarySearch(instanceTimes, time);
+        for (int i = index; i >= 0; i--) {
+            InstanceTime it = (InstanceTime) instanceTimes.get(i);
+            if (it == time) {
+                instanceTimes.remove(i);
+                break;
+            }
+            if (it.compareTo(time) != 0) {
+                break;
+            }
+        }
+        int len = instanceTimes.size();
+        for (int i = index + 1; i < len; i++) {
+            InstanceTime it = (InstanceTime) instanceTimes.get(i);
+            if (it == time) {
+                instanceTimes.remove(i);
+                break;
+            }
+            if (it.compareTo(time) != 0) {
+                break;
+            }
+        }
+        shouldUpdateCurrentInterval = true;
+        float ret;
+        if (root.isSampling() && !isSampling) {
+            ret = sampleAt(root.getCurrentTime(), root.isHyperlinking());
+        } else {
+            ret = Float.POSITIVE_INFINITY;
+        }
+        hasPropagated = false;
+        root.currentIntervalWillUpdate();
+        return ret;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Called by a TimingSpecifier of this element when an InstanceTime
+     * has been updated.  This will be in response to a dependent
+     * syncbase change.
+     */
+    protected float instanceTimeChanged(InstanceTime time, boolean isBegin) {
+        // Trace.enter(this, "instanceTimeChanged", new Object[] { time, new Boolean(isBegin) } ); try {
+        hasPropagated = true;
+        shouldUpdateCurrentInterval = true;
+        float ret;
+        if (root.isSampling() && !isSampling) {
+            ret = sampleAt(root.getCurrentTime(), root.isHyperlinking());
+        } else {
+            ret = Float.POSITIVE_INFINITY;
+        }
+        hasPropagated = false;
+        return ret;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Adds a dependent TimingSpecifier for this element.
+     */
+    protected void addDependent(TimingSpecifier dependent, boolean forBegin) {
+        // Trace.enter(this, "addDependent", new Object[] { dependent, new Boolean(forBegin) } ); try {
+        if (forBegin) {
+            beginDependents.add(dependent);
+        } else {
+            endDependents.add(dependent);
+        }
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Removes a dependent TimingSpecifier for this element.
+     */
+    protected void removeDependent(TimingSpecifier dependent,
+                                   boolean forBegin) {
+        // Trace.enter(this, "removeDependent", new Object[] { dependent, new Boolean(forBegin) } ); try {
+        if (forBegin) {
+            beginDependents.remove(dependent);
+        } else {
+            endDependents.remove(dependent);
+        }
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns the simple duration time of this element.
+     */
+    public float getSimpleDur() {
+        if (durMedia) {
+            return getImplicitDur();
+        } else if (isUnresolved(simpleDur)) {
+            if (isUnresolved(repeatCount) && isUnresolved(repeatDur)
+                    && endTimes.length > 0) {
+                return INDEFINITE;
+            }
+            return getImplicitDur();
+        } else {
+            return simpleDur;
+        }
+    }
+
+    /**
+     * Returns whether the given time value is equal to the
+     * {@link #UNRESOLVED} value.
+     */
+    public static boolean isUnresolved(float t) {
+        return Float.isNaN(t);
+    }
+
+    /**
+     * Returns the active duration time of this element.
+     */
+    public float getActiveDur(float B, float end) {
+        float d = getSimpleDur();
+        float PAD;
+        if (!isUnresolved(end) && d == INDEFINITE) {
+            PAD = minusTime(end, B);
+            repeatDuration = minTime(max, maxTime(min, PAD));
+            return repeatDuration;
+        }
+
+        float IAD;
+        if (d == 0) {
+            IAD = 0;
+        } else {
+            if (isUnresolved(repeatDur) && isUnresolved(repeatCount)) {
+                IAD = d;
+            } else {
+                float p1 = isUnresolved(repeatCount)
+                                ? INDEFINITE
+                                : multiplyTime(d, repeatCount);
+                float p2 = isUnresolved(repeatDur)
+                                ? INDEFINITE
+                                : repeatDur;
+                IAD = minTime(minTime(p1, p2), INDEFINITE);
+            }
+        }
+        if (isUnresolved(end) || end == INDEFINITE) {
+            PAD = IAD;
+        } else {
+            PAD = minTime(IAD, minusTime(end, B));
+        }
+        repeatDuration = IAD;
+        return minTime(max, maxTime(min, PAD));
+    }
+
+    /**
+     * Subtracts one simple time from another.
+     */
+    protected float minusTime(float t1, float t2) {
+        if (isUnresolved(t1) || isUnresolved(t2)) {
+            return UNRESOLVED;
+        }
+        if (t1 == INDEFINITE || t2 == INDEFINITE) {
+            return INDEFINITE;
+        }
+        return t1 - t2;
+    }
+
+    /**
+     * Multiplies one simple time by n.
+     */
+    protected float multiplyTime(float t, float n) {
+        if (isUnresolved(t) || t == INDEFINITE) {
+            return t;
+        }
+        return t * n;
+    }
+
+    /**
+     * Returns the minimum of two time values.
+     */
+    protected float minTime(float t1, float t2) {
+        if (t1 == 0.0f || t2 == 0.0f) {
+            return 0.0f;
+        }
+        if ((t1 == INDEFINITE || isUnresolved(t1))
+                && t2 != INDEFINITE && !isUnresolved(t2)) {
+            return t2;
+        }
+        if ((t2 == INDEFINITE || isUnresolved(t2))
+                && t1 != INDEFINITE && !isUnresolved(t1)) {
+            return t1;
+        }
+        if (t1 == INDEFINITE && isUnresolved(t2)
+                || isUnresolved(t1) && t2 == INDEFINITE) {
+            return INDEFINITE;
+        }
+        if (t1 < t2) {
+            return t1;
+        }
+        return t2;
+    }
+
+    /**
+     * Returns the maximum of two time values.
+     */
+    protected float maxTime(float t1, float t2) {
+        if ((t1 == INDEFINITE || isUnresolved(t1))
+                && t2 != INDEFINITE && !isUnresolved(t2)) {
+            return t1;
+        }
+        if ((t2 == INDEFINITE || isUnresolved(t2))
+                && t1 != INDEFINITE && !isUnresolved(t1)) {
+            return t2;
+        }
+        if (t1 == INDEFINITE && isUnresolved(t2)
+                || isUnresolved(t1) && t2 == INDEFINITE) {
+            return UNRESOLVED;
+        }
+        if (t1 > t2) {
+            return t1;
+        }
+        return t2;
+    }
+
+    /**
+     * Returns the implicit duration of the element.  Currently, nested time
+     * containers are not supported by SVG so this just returns
+     * {@link #UNRESOLVED} by default.  This should be overriden in derived
+     * classes that play media, since they will have an implicit duration.
+     */
+    protected float getImplicitDur() {
+        return UNRESOLVED;
+    }
+
+    /**
+     * Notifies dependents of a new interval.
+     */
+    protected float notifyNewInterval(Interval interval) {
+        // Trace.enter(this, "notifyNewInterval", new Object[] { interval } ); try {
+        float dependentMinTime = Float.POSITIVE_INFINITY;
+        Iterator i = beginDependents.iterator();
+        while (i.hasNext()) {
+            TimingSpecifier ts = (TimingSpecifier) i.next();
+            // Trace.print(ts.owner + "'s " + (ts.isBegin ? "begin" : "end" ) + ": " + ts);
+            float t = ts.newInterval(interval);
+            if (t < dependentMinTime) {
+                dependentMinTime = t;
+            }
+        }
+        i = endDependents.iterator();
+        while (i.hasNext()) {
+            TimingSpecifier ts = (TimingSpecifier) i.next();
+            // Trace.print(ts.owner + "'s " + (ts.isBegin ? "begin" : "end" ) + ": " + ts);
+            float t = ts.newInterval(interval);
+            if (t < dependentMinTime) {
+                dependentMinTime = t;
+            }
+        }
+        return dependentMinTime;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Notifies dependents of a removed interval.
+     */
+    protected float notifyRemoveInterval(Interval interval) {
+        // Trace.enter(this, "notifyRemoveInterval", new Object[] { interval } ); try {
+        float dependentMinTime = Float.POSITIVE_INFINITY;
+        Iterator i = beginDependents.iterator();
+        while (i.hasNext()) {
+            TimingSpecifier ts = (TimingSpecifier) i.next();
+            float t = ts.removeInterval(interval);
+            if (t < dependentMinTime) {
+                dependentMinTime = t;
+            }
+        }
+        i = endDependents.iterator();
+        while (i.hasNext()) {
+            TimingSpecifier ts = (TimingSpecifier) i.next();
+            float t = ts.removeInterval(interval);
+            if (t < dependentMinTime) {
+                dependentMinTime = t;
+            }
+        }
+        return dependentMinTime;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Calculates the local simple time.  Currently the hyperlinking parameter
+     * is ignored, so DOM timing events are fired during hyperlinking seeks.
+     * If we were following SMIL 2.1 rather than SMIL Animation, then these
+     * events would have to be suppressed.
+     *
+     * @return the number of seconds until this element becomes active again
+     *         if it currently is not, {@link Float#POSITIVE_INFINITY} if this
+     *         element will become active at some undetermined point in the
+     *         future (because of unresolved begin times, for example) or
+     *         will never become active again, or <code>0f</code> if the
+     *         element is currently active.
+     */
+    protected float sampleAt(float parentSimpleTime, boolean hyperlinking) {
+        // Trace.enter(this, "sampleAt", new Object[] { new Float(parentSimpleTime) } ); try {
+        isSampling = true;
+
+        float time = parentSimpleTime; // No time containers in SVG.
+
+        // First, process any events that occurred since the last sampling,
+        // taking into account event sensitivity.
+        Iterator i = handledEvents.entrySet().iterator();
+        while (i.hasNext()) {
+            Map.Entry e = (Map.Entry) i.next();
+            Event evt = (Event) e.getKey();
+            Set ts = (Set) e.getValue();
+            Iterator j = ts.iterator();
+            boolean hasBegin = false, hasEnd = false;
+            while (j.hasNext() && !(hasBegin && hasEnd)) {
+                EventLikeTimingSpecifier t =
+                    (EventLikeTimingSpecifier) j.next();
+                if (t.isBegin()) {
+                    hasBegin = true;
+                } else {
+                    hasEnd = true;
+                }
+            }
+            boolean useBegin, useEnd;
+            if (hasBegin && hasEnd) {
+                useBegin = !isActive || restartMode == RESTART_ALWAYS;
+                useEnd = !useBegin;
+            } else if (hasBegin && (!isActive ||
+                        restartMode == RESTART_ALWAYS)) {
+                useBegin = true;
+                useEnd = false;
+            } else if (hasEnd && isActive) {
+                useBegin = false;
+                useEnd = true;
+            } else {
+                continue;
+            }
+            j = ts.iterator();
+            while (j.hasNext()) {
+                EventLikeTimingSpecifier t =
+                    (EventLikeTimingSpecifier) j.next();
+                boolean isBegin = t.isBegin();
+                if (isBegin && useBegin || !isBegin && useEnd) {
+                    t.resolve(evt);
+                    shouldUpdateCurrentInterval = true;
+                }
+            }
+        }
+        handledEvents.clear();
+
+        // Now process intervals.
+        if (currentInterval != null) {
+            float begin = currentInterval.getBegin();
+            if (lastSampleTime < begin && time >= begin) {
+                if (!isActive) {
+                    toActive(begin);
+                }
+                isActive = true;
+                isFrozen = false;
+                lastRepeatTime = begin;
+                fireTimeEvent
+                    (SMIL_BEGIN_EVENT_NAME, currentInterval.getBegin(), 0);
+            }
+        }
+        // For each sample, we might need to update the current interval's
+        // begin and end times, or end the current interval and compute
+        // a new one.
+        boolean hasEnded = currentInterval != null
+            && time >= currentInterval.getEnd();
+        // Fire any repeat events that should have been fired since the
+        // last sample.
+        if (currentInterval != null) {
+            float begin = currentInterval.getBegin();
+            if (time >= begin) {
+                float d = getSimpleDur();
+                while (time - lastRepeatTime >= d
+                        && lastRepeatTime + d < begin + repeatDuration) {
+                    lastRepeatTime += d;
+                    currentRepeatIteration++;
+                    fireTimeEvent(root.getRepeatEventName(), lastRepeatTime,
+                                  currentRepeatIteration);
+                }
+            }
+        }
+
+        // Trace.print("begin loop");
+        float dependentMinTime = Float.POSITIVE_INFINITY;
+        if (hyperlinking) {
+            shouldUpdateCurrentInterval = true;
+        }
+        while (shouldUpdateCurrentInterval || hasEnded) {
+            if (hasEnded) {
+                // previousIntervals.add(currentInterval);
+                previousInterval = currentInterval;
+                isActive = false;
+                isFrozen = fillMode == FILL_FREEZE;
+                toInactive(false, isFrozen);
+                fireTimeEvent(SMIL_END_EVENT_NAME, currentInterval.getEnd(), 0);
+            }
+            boolean first =
+                // currentInterval == null && previousIntervals.isEmpty();
+                currentInterval == null && previousInterval == null;
+            if (currentInterval != null && hyperlinking) {
+                // Hyperlinking, so remove the current interval and force a new
+                // one to be computed.
+                isActive = false;
+                isFrozen = false;
+                toInactive(false, false);
+                currentInterval = null;
+                // fireTimeEvent(SMIL_END_EVENT_NAME, currentInterval.getEnd(), 0);
+            }
+            if (currentInterval == null || hasEnded) {
+                if (first || hyperlinking || restartMode != RESTART_NEVER) {
+                    float beginAfter;
+                    boolean incl = true;
+                    if (first || hyperlinking) {
+                        beginAfter = Float.NEGATIVE_INFINITY;
+                    } else {
+                        // beginAfter = ((Interval) previousIntervals.getLast()).getEnd();
+                        beginAfter = previousInterval.getEnd();
+                        incl = beginAfter != previousInterval.getBegin();
+                    }
+                    Interval interval =
+                        computeInterval(first, false, beginAfter, incl);
+                    if (interval == null) {
+                        currentInterval = null;
+                    } else {
+                        float dmt = selectNewInterval(time, interval);
+                        if (dmt < dependentMinTime) {
+                            dependentMinTime = dmt;
+                        }
+                    }
+                } else {
+                    currentInterval = null;
+                }
+            } else {
+                float currentBegin = currentInterval.getBegin();
+                if (currentBegin > time) {
+                    // Interval hasn't started yet.
+                    float beginAfter;
+                    boolean incl = true;
+                    // if (previousIntervals.isEmpty()) {
+                    if (previousInterval == null) {
+                        beginAfter = Float.NEGATIVE_INFINITY;
+                    } else {
+                        // beginAfter = ((Interval) previousIntervals.getLast()).getEnd();
+                        beginAfter = previousInterval.getEnd();
+                        incl = beginAfter != previousInterval.getBegin();
+                    }
+                    Interval interval =
+                        computeInterval(false, false, beginAfter, incl);
+                    float dmt = notifyRemoveInterval(currentInterval);
+                    if (dmt < dependentMinTime) {
+                        dependentMinTime = dmt;
+                    }
+                    if (interval == null) {
+                        currentInterval = null;
+                    } else {
+                        dmt = selectNewInterval(time, interval);
+                        if (dmt < dependentMinTime) {
+                            dependentMinTime = dmt;
+                        }
+                    }
+                } else {
+                    // Interval has already started.
+                    Interval interval =
+                        computeInterval(false, true, currentBegin, true);
+                    float newEnd = interval.getEnd();
+                    if (currentInterval.getEnd() != newEnd) {
+                        float dmt =
+                            currentInterval.setEnd
+                                (newEnd, interval.getEndInstanceTime());
+                        if (dmt < dependentMinTime) {
+                            dependentMinTime = dmt;
+                        }
+                    }
+                }
+            }
+            shouldUpdateCurrentInterval = false;
+            hyperlinking = false;
+            hasEnded = currentInterval != null && time >= currentInterval.getEnd();
+        }
+        // Trace.print("end loop");
+
+        float d = getSimpleDur();
+        if (isActive && !isFrozen) {
+            if (time - currentInterval.getBegin() >= repeatDuration) {
+                // Trace.print("element between repeat and active duration");
+                isFrozen = fillMode == FILL_FREEZE;
+                toInactive(true, isFrozen);
+            } else {
+                // Trace.print("element active, sampling at simple time " + (time - lastRepeatTime));
+                sampledAt(time - lastRepeatTime, d, currentRepeatIteration);
+            }
+        }
+        if (isFrozen) {
+            float t;
+            boolean atLast;
+            if (isActive) {
+                t = currentInterval.getBegin() + repeatDuration - lastRepeatTime;
+                atLast = lastRepeatTime + d == currentInterval.getBegin() + repeatDuration;
+            } else {
+                // Interval previousInterval = (Interval) previousIntervals.getLast();
+                t = previousInterval.getEnd() - lastRepeatTime;
+                atLast = lastRepeatTime + d == previousInterval.getEnd();
+            }
+            if (atLast) {
+                // Trace.print("element frozen" + (isActive ? " (but still active)" : "") + ", sampling last value");
+                sampledLastValue(currentRepeatIteration);
+            } else {
+                // Trace.print("element frozen" + (isActive ? " (but still active)" : "") + ", sampling at simple time " + (t % d));
+                sampledAt(t % d, d, currentRepeatIteration);
+            }
+        } else if (!isActive) {
+            // Trace.print("element not sampling");
+        }
+
+        isSampling = false;
+
+        lastSampleTime = time;
+        if (currentInterval != null) {
+            float t = currentInterval.getBegin() - time;
+            if (t <= 0) {
+                t = isConstantAnimation() || isFrozen ? currentInterval.getEnd() - time : 0;
+            }
+            if (dependentMinTime < t) {
+                return dependentMinTime;
+            }
+            return t;
+        }
+        return dependentMinTime;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns whether the end timing specifier list contains any eventbase,
+     * accesskey or repeat timing specifiers.
+     */
+    protected boolean endHasEventConditions() {
+        for (int i = 0; i < endTimes.length; i++) {
+            if (endTimes[i].isEventCondition()) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Sets the current interval to the one specified.  This will notify
+     * dependents and fire the 'begin' and any necessary 'repeat' events.
+     * @param time the current sampling time
+     * @param interval the Interval object to select to be current
+     * @return the minimum time the animation engine can safely wait, as
+     *         determined by dependents of the interval
+     */
+    protected float selectNewInterval(float time, Interval interval) {
+        // Trace.enter(this, "selectNewInterval", new Object[] { interval }); try {
+        currentInterval = interval;
+        float dmt = notifyNewInterval(currentInterval);
+        float beginEventTime = currentInterval.getBegin();
+        if (time >= beginEventTime) {
+            lastRepeatTime = beginEventTime;
+            if (beginEventTime < 0) {
+                beginEventTime = 0;
+            }
+            toActive(beginEventTime);
+            isActive = true;
+            isFrozen = false;
+            fireTimeEvent(SMIL_BEGIN_EVENT_NAME, beginEventTime, 0);
+            float d = getSimpleDur();
+            float end = currentInterval.getEnd();
+            while (time - lastRepeatTime >= d
+                    && lastRepeatTime + d < end) {
+                lastRepeatTime += d;
+                currentRepeatIteration++;
+                fireTimeEvent(root.getRepeatEventName(), lastRepeatTime,
+                              currentRepeatIteration);
+            }
+        }
+        return dmt;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Computes an interval from the begin and end instance time lists.
+     * @param first indicates whether this is the first interval to compute
+     * @param fixedBegin if true, specifies that the value given for
+     *                   <code>beginAfter</code> is taken to be the actual begin
+     *                   time for the interval; only the end value is computed.
+     * @param beginAfter the earliest possible begin time for the computed
+     *                   interval.
+     * @param incl if true (and <code>!fixedBegin</code>), specifies that the
+     *             new interval's begin time must be greater than
+     *             <code>beginAfter</code>; otherwise, the begin time must be
+     *             greater than or equal to <code>beginAfter</code>.
+     */
+    protected Interval computeInterval(boolean first, boolean fixedBegin,
+                                       float beginAfter, boolean incl) {
+        // Trace.enter(this, "computeInterval", new Object[] { new Boolean(first), new Boolean(fixedBegin), new Float(beginAfter)} ); try {
+        // Trace.print("computing interval from begins=" + beginInstanceTimes + ", ends=" + endInstanceTimes);
+        Iterator beginIterator = beginInstanceTimes.iterator();
+        Iterator endIterator = endInstanceTimes.iterator();
+        float parentSimpleDur = parent.getSimpleDur();
+        InstanceTime endInstanceTime = endIterator.hasNext()
+            ? (InstanceTime) endIterator.next()
+            : null;
+        boolean firstEnd = true;
+        InstanceTime beginInstanceTime = null;
+        InstanceTime nextBeginInstanceTime = null;
+        for (;;) {
+            float tempBegin;
+            if (fixedBegin) {
+                tempBegin = beginAfter;
+                while (beginIterator.hasNext()) {
+                    nextBeginInstanceTime = (InstanceTime) beginIterator.next();
+                    if (nextBeginInstanceTime.getTime() > tempBegin) {
+                        break;
+                    }
+                }
+            } else {
+                for (;;) {
+                    if (!beginIterator.hasNext()) {
+                        // ran out of begin values
+                        // Trace.print("returning null interval");
+                        return null;
+                    }
+                    beginInstanceTime = (InstanceTime) beginIterator.next();
+                    tempBegin = beginInstanceTime.getTime();
+                    if (incl && tempBegin >= beginAfter
+                            || !incl && tempBegin > beginAfter) {
+                        if (beginIterator.hasNext()) {
+                            nextBeginInstanceTime =
+                                (InstanceTime) beginIterator.next();
+                            if (beginInstanceTime.getTime()
+                                    == nextBeginInstanceTime.getTime()) {
+                                // XXX Not sure if this is exactly correct to
+                                //     skip past these identical times, but it
+                                //     avoids an infinite loop of 0s intervals
+                                //     being created.
+                                nextBeginInstanceTime = null;
+                                continue;
+                            }
+                        }
+                        break;
+                    }
+                }
+            }
+            if (tempBegin >= parentSimpleDur) {
+                // the begin value is after the parent has ended
+                // Trace.print("returning null interval");
+                return null;
+            }
+            float tempEnd;
+            if (endTimes.length == 0) {
+                // no 'end' attribute specified
+                tempEnd = tempBegin + getActiveDur(tempBegin, INDEFINITE);
+                // Trace.print("no end specified, so tempEnd = " + tempEnd);
+            } else {
+                if (endInstanceTimes.isEmpty()) {
+                    tempEnd = UNRESOLVED;
+                } else {
+                    tempEnd = endInstanceTime.getTime();
+                    if (first && !firstEnd && tempEnd == tempBegin
+                            || !first && currentInterval != null
+                                && tempEnd == currentInterval.getEnd()
+                                && (incl && beginAfter >= tempEnd
+                                        || !incl && beginAfter > tempEnd)) {
+                        for (;;) {
+                            if (!endIterator.hasNext()) {
+                                if (endHasEventConditions()) {
+                                    tempEnd = UNRESOLVED;
+                                    break;
+                                }
+                                // Trace.print("returning null interval");
+                                return null;
+                            }
+                            endInstanceTime = (InstanceTime) endIterator.next();
+                            tempEnd = endInstanceTime.getTime();
+                            if (tempEnd > tempBegin) {
+                                break;
+                            }
+                        }
+                    }
+                    firstEnd = false;
+                    for (;;) {
+                        if (tempEnd >= tempBegin) {
+                            break;
+                        }
+                        if (!endIterator.hasNext()) {
+                            if (endHasEventConditions()) {
+                                tempEnd = UNRESOLVED;
+                                break;
+                            }
+                            // Trace.print("returning null interval");
+                            return null;
+                        }
+                        endInstanceTime = (InstanceTime) endIterator.next();
+                        tempEnd = endInstanceTime.getTime();
+                    }
+                }
+                float ad = getActiveDur(tempBegin, tempEnd);
+                tempEnd = tempBegin + ad;
+            }
+            if (!first || tempEnd > 0 || tempBegin == 0 && tempEnd == 0
+                    || isUnresolved(tempEnd)) {
+                // Trace.print("considering restart semantics");
+                if (restartMode == RESTART_ALWAYS
+                        && nextBeginInstanceTime != null) {
+                    float nextBegin = nextBeginInstanceTime.getTime();
+                    // Trace.print("nextBegin == " + nextBegin);
+                    if (nextBegin < tempEnd || isUnresolved(tempEnd)) {
+                        tempEnd = nextBegin;
+                        endInstanceTime = nextBeginInstanceTime;
+                    }
+                }
+                Interval i = new Interval(tempBegin, tempEnd,
+                                          beginInstanceTime, endInstanceTime);
+                // Trace.print("returning interval: " + i);
+                return i;
+            }
+            if (fixedBegin) {
+                // Trace.print("returning null interval");
+                return null;
+            }
+            beginAfter = tempEnd;
+        }
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Resets this element.
+     */
+    protected void reset(boolean clearCurrentBegin) {
+        Iterator i = beginInstanceTimes.iterator();
+        while (i.hasNext()) {
+            InstanceTime it = (InstanceTime) i.next();
+            if (it.getClearOnReset() &&
+                    (clearCurrentBegin
+                        || currentInterval == null
+                        || currentInterval.getBeginInstanceTime() != it)) {
+                i.remove();
+            }
+        }
+        i = endInstanceTimes.iterator();
+        while (i.hasNext()) {
+            InstanceTime it = (InstanceTime) i.next();
+            if (it.getClearOnReset()) {
+                i.remove();
+            }
+        }
+        if (isFrozen) {
+            removeFill();
+        }
+        currentRepeatIteration = 0;
+        lastRepeatTime = UNRESOLVED;
+        isActive = false;
+        isFrozen = false;
+        lastSampleTime = UNRESOLVED;
+        // XXX should reconvert resolved syncbase/wallclock/media-marker time
+        //     instances into the parent simple timespace
+    }
+
+    /**
+     * Parses the animation attributes for this timed element.
+     */
+    public void parseAttributes(String begin, String dur, String end,
+                                String min, String max, String repeatCount,
+                                String repeatDur, String fill,
+                                String restart) {
+        if (!hasParsed) {
+            parseBegin(begin);
+            parseDur(dur);
+            parseEnd(end);
+            parseMin(min);
+            parseMax(max);
+            if (this.min > this.max) {
+                this.min = 0f;
+                this.max = INDEFINITE;
+            }
+            parseRepeatCount(repeatCount);
+            parseRepeatDur(repeatDur);
+            parseFill(fill);
+            parseRestart(restart);
+            hasParsed = true;
+        }
+    }
+
+    /**
+     * Parses a new 'begin' attribute.
+     */
+    protected void parseBegin(String begin) {
+        try {
+            if (begin.length() == 0) {
+                begin = SMIL_BEGIN_DEFAULT_VALUE;
+            }
+            beginTimes = TimingSpecifierListProducer.parseTimingSpecifierList
+                (TimedElement.this, true, begin,
+                 root.useSVG11AccessKeys, root.useSVG12AccessKeys);
+        } catch (ParseException ex) {
+            throw createException
+                ("attribute.malformed",
+                 new Object[] { null, SMIL_BEGIN_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Parses a new 'dur' attribute.
+     */
+    protected void parseDur(String dur) {
+        if (dur.equals(SMIL_MEDIA_VALUE)) {
+            durMedia = true;
+            simpleDur = UNRESOLVED;
+        } else {
+            durMedia = false;
+            if (dur.length() == 0 || dur.equals(SMIL_INDEFINITE_VALUE)) {
+                simpleDur = INDEFINITE;
+            } else {
+                try {
+                    simpleDur = parseClockValue(dur, false);
+                } catch (ParseException e) {
+                    throw createException
+                        ("attribute.malformed",
+                         new Object[] { null, SMIL_DUR_ATTRIBUTE });
+                }
+                if (simpleDur < 0) {
+                    simpleDur = INDEFINITE;
+                }
+            }
+        }
+    }
+
+    /**
+     * Parses a clock value or offset and returns it as a float.
+     */
+    protected float parseClockValue(String s, boolean parseOffset)
+            throws ParseException {
+        ClockParser p = new ClockParser(parseOffset);
+        class Handler implements ClockHandler {
+            protected float v = 0;
+            public void clockValue(float newClockValue) {
+                v = newClockValue;
+            }
+        }
+
+        Handler h = new Handler();
+        p.setClockHandler(h);
+        p.parse(s);
+        return h.v;
+    }
+
+    /**
+     * Parses a new 'end' attribute.
+     */
+    protected void parseEnd(String end) {
+        try {
+            endTimes = TimingSpecifierListProducer.parseTimingSpecifierList
+                (TimedElement.this, false, end,
+                 root.useSVG11AccessKeys, root.useSVG12AccessKeys);
+        } catch (ParseException ex) {
+            throw createException
+                ("attribute.malformed",
+                 new Object[] { null, SMIL_END_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Parses a new 'min' attribute.
+     */
+    protected void parseMin(String min) {
+        if (min.equals(SMIL_MEDIA_VALUE)) {
+            this.min = 0;
+            minMedia = true;
+        } else {
+            minMedia = false;
+            if (min.length() == 0) {
+                this.min = 0;
+            } else {
+                try {
+                    this.min = parseClockValue(min, false);
+                } catch (ParseException ex) {
+                	this.min = 0;
+                }
+                if (this.min < 0) {
+                    this.min = 0;
+                }
+            }
+        }
+    }
+
+    /**
+     * Parses a new 'max' attribute.
+     */
+    protected void parseMax(String max) {
+        if (max.equals(SMIL_MEDIA_VALUE)) {
+            this.max = INDEFINITE;
+            maxMedia = true;
+        } else {
+            maxMedia = false;
+            if (max.length() == 0 || max.equals(SMIL_INDEFINITE_VALUE)) {
+                this.max = INDEFINITE;
+            } else {
+                try {
+                    this.max = parseClockValue(max, false);
+                } catch (ParseException ex) {
+                	this.max = INDEFINITE;
+                }
+                if (this.max < 0) {
+                    this.max = 0;
+                }
+            }
+        }
+    }
+
+    /**
+     * Parses a new 'repeatCount' attribute.
+     */
+    protected void parseRepeatCount(String repeatCount) {
+        if (repeatCount.length() == 0) {
+            this.repeatCount = UNRESOLVED;
+        } else if (repeatCount.equals(SMIL_INDEFINITE_VALUE)) {
+            this.repeatCount = INDEFINITE;
+        } else {
+            try {
+                this.repeatCount = Float.parseFloat(repeatCount);
+                if (this.repeatCount > 0) {
+                    return;
+                }
+            } catch (NumberFormatException ex) {
+                throw createException
+                    ("attribute.malformed",
+                     new Object[] { null, SMIL_REPEAT_COUNT_ATTRIBUTE });
+            }
+        }
+    }
+
+    /**
+     * Parses a new 'repeatDur' attribute.
+     */
+    protected void parseRepeatDur(String repeatDur) {
+        try {
+            if (repeatDur.length() == 0) {
+                this.repeatDur = UNRESOLVED;
+            } else if (repeatDur.equals(SMIL_INDEFINITE_VALUE)) {
+                this.repeatDur = INDEFINITE;
+            } else {
+                this.repeatDur = parseClockValue(repeatDur, false);
+            }
+        } catch (ParseException ex) {
+            throw createException
+                ("attribute.malformed",
+                 new Object[] { null, SMIL_REPEAT_DUR_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Parses a new 'fill' attribute.
+     */
+    protected void parseFill(String fill) {
+        if (fill.length() == 0 || fill.equals(SMIL_REMOVE_VALUE)) {
+            fillMode = FILL_REMOVE;
+        } else if (fill.equals(SMIL_FREEZE_VALUE)) {
+            fillMode = FILL_FREEZE;
+        } else {
+            throw createException
+                ("attribute.malformed",
+                 new Object[] { null, SMIL_FILL_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Parses a new 'restart' attribute.
+     */
+    protected void parseRestart(String restart) {
+        if (restart.length() == 0 || restart.equals(SMIL_ALWAYS_VALUE)) {
+            restartMode = RESTART_ALWAYS;
+        } else if (restart.equals(SMIL_WHEN_NOT_ACTIVE_VALUE)) {
+            restartMode = RESTART_WHEN_NOT_ACTIVE;
+        } else if (restart.equals(SMIL_NEVER_VALUE)) {
+            restartMode = RESTART_NEVER;
+        } else {
+            throw createException
+                ("attribute.malformed",
+                 new Object[] { null, SMIL_RESTART_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Initializes this timed element.
+     */
+    public void initialize() {
+        for (int i = 0; i < beginTimes.length; i++) {
+            beginTimes[i].initialize();
+        }
+        for (int i = 0; i < endTimes.length; i++) {
+            endTimes[i].initialize();
+        }
+    }
+
+    /**
+     * Deinitializes this timed element.
+     */
+    public void deinitialize() {
+        for (int i = 0; i < beginTimes.length; i++) {
+            beginTimes[i].deinitialize();
+        }
+        for (int i = 0; i < endTimes.length; i++) {
+            endTimes[i].deinitialize();
+        }
+    }
+
+    /**
+     * Adds a time to the begin time instance list that will cause
+     * the element to begin immediately (if restart semantics allow it).
+     */
+    public void beginElement() {
+        beginElement(0);
+    }
+
+    /**
+     * Adds a time to the begin time instance list that will cause
+     * the element to begin at some offset to the current time (if restart
+     * semantics allow it).
+     */
+    public void beginElement(float offset) {
+        float t = root.convertWallclockTime( Calendar.getInstance());
+        InstanceTime it = new InstanceTime(null, t + offset, true);
+        addInstanceTime(it, true);
+    }
+
+    /**
+     * Adds a time to the end time instance list that will cause
+     * the element to end immediately (if restart semantics allow it).
+     */
+    public void endElement() {
+        endElement(0);
+    }
+
+    /**
+     * Adds a time to the end time instance list that will cause
+     * the element to end at some offset to the current time (if restart
+     * semantics allow it).
+     */
+    public void endElement(float offset) {
+        float t = root.convertWallclockTime(Calendar.getInstance());
+        InstanceTime it = new InstanceTime(null, t + offset, true);
+        addInstanceTime(it, false);
+    }
+
+    /**
+     * Returns the last sample time of this element, in local active time.
+     */
+    public float getLastSampleTime() {
+        return lastSampleTime;
+    }
+
+    /**
+     * Returns the begin time of the current interval, in parent simple time,
+     * or <code>Float.NaN</code> if the element is not active.
+     */
+    public float getCurrentBeginTime() {
+        float begin;
+        if (currentInterval == null
+                || (begin = currentInterval.getBegin()) < lastSampleTime) {
+            return Float.NaN;
+        }
+        return begin;
+    }
+
+    /**
+     * Returns whether this element can be begun or restarted currently.
+     */
+    public boolean canBegin() {
+        return currentInterval == null
+            || isActive && restartMode != RESTART_NEVER;
+    }
+
+    /**
+     * Returns whether this element can be ended currently.
+     */
+    public boolean canEnd() {
+        return isActive;
+    }
+
+    /**
+     * Returns the time that the document would seek to if this animation
+     * element were hyperlinked to, or <code>NaN</code> if there is no
+     * such begin time.
+     */
+    public float getHyperlinkBeginTime() {
+        if (isActive) {
+            return currentInterval.getBegin();
+        }
+        if (!beginInstanceTimes.isEmpty()) {
+            return ((InstanceTime) beginInstanceTimes.get(0)).getTime();
+        }
+        return Float.NaN;
+    }
+
+    /**
+     * Fires a TimeEvent of the given type on this element.
+     * @param eventType the type of TimeEvent ("beginEvent", "endEvent"
+     *                  or "repeatEvent").
+     * @param time the timestamp of the event object
+     * @param detail the repeat iteration, if this event is a repeat event
+     */
+    protected void fireTimeEvent(String eventType, float time, int detail) {
+        Calendar t = (Calendar) root.getDocumentBeginTime().clone();
+        t.add(Calendar.MILLISECOND, (int) Math.round(time * 1e3));
+        fireTimeEvent(eventType, t, detail);
+    }
+
+    /**
+     * Invoked by a {@link TimingSpecifier} to indicate that an event occurred
+     * that would create a new instance time for this timed element.  These
+     * will be processed at the beginning of the next tick.
+     */
+    void eventOccurred(TimingSpecifier t, Event e) {
+        Set ts = (HashSet) handledEvents.get(e);
+        if (ts == null) {
+            ts = new HashSet();
+            handledEvents.put(e, ts);
+        }
+        ts.add(t);
+        root.currentIntervalWillUpdate();
+    }
+
+    /**
+     * Fires a TimeEvent of the given type on this element.
+     * @param eventType the type of TimeEvent ("beginEvent", "endEvent"
+     *                  or "repeatEvent").
+     * @param time the timestamp of the event object
+     */
+    protected abstract void fireTimeEvent(String eventType, Calendar time,
+                                          int detail);
+
+    /**
+     * Invoked to indicate this timed element became active at the
+     * specified time.
+     * @param begin the time the element became active, in document simple time
+     */
+    protected abstract void toActive(float begin);
+
+    /**
+     * Invoked to indicate that this timed element became inactive.
+     * @param stillActive if true, indicates that the element is still actually
+     *                    active, but between the end of the computed repeat
+     *                    duration and the end of the interval
+     * @param isFrozen whether the element is frozen or not
+     */
+    protected abstract void toInactive(boolean stillActive, boolean isFrozen);
+
+    /**
+     * Invoked to indicate that this timed element has had its fill removed.
+     */
+    protected abstract void removeFill();
+
+    /**
+     * Invoked to indicate that this timed element has been sampled at the
+     * given time.
+     * @param simpleTime the sample time in local simple time
+     * @param simpleDur the simple duration of the element
+     * @param repeatIteration the repeat iteration during which the element
+     *                        was sampled
+     */
+    protected abstract void sampledAt(float simpleTime, float simpleDur,
+                                      int repeatIteration);
+
+    /**
+     * Invoked to indicate that this timed element has been sampled
+     * at the end of its active time, at an integer multiple of the
+     * simple duration.  This is the "last" value that will be used
+     * for filling, which cannot be sampled normally.
+     */
+    protected abstract void sampledLastValue(int repeatIteration);
+
+    /**
+     * Returns the timed element with the given ID.
+     */
+    protected abstract TimedElement getTimedElementById(String id);
+
+    /**
+     * Returns the event target with the given ID.
+     */
+    protected abstract EventTarget getEventTargetById(String id);
+
+    /**
+     * Returns the event target that should be listened to for
+     * access key events.
+     */
+    protected abstract EventTarget getRootEventTarget();
+
+    /**
+     * Returns the DOM element that corresponds to this timed element, if
+     * such a DOM element exists.
+     */
+    public abstract Element getElement();
+
+    /**
+     * Returns the target of this animation as an {@link EventTarget}.  Used
+     * for eventbase timing specifiers where the element ID is omitted.
+     */
+    protected abstract EventTarget getAnimationEventTarget();
+
+    /**
+     * Returns whether this timed element comes before the given timed element
+     * in document order.
+     */
+    public abstract boolean isBefore(TimedElement other);
+
+    /**
+     * Returns whether this timed element is for a constant animation (i.e., a
+     * 'set' animation.
+     */
+    protected abstract boolean isConstantAnimation();
+
+    /**
+     * Creates and returns a new {@link AnimationException}.
+     */
+    public AnimationException createException(String code, Object[] params) {
+        Element e = getElement();
+        if (e != null) {
+            params[0] = e.getNodeName();
+        }
+        return new AnimationException(this, code, params);
+    }
+
+    /**
+     * The error messages bundle class name.
+     */
+    protected static final String RESOURCES =
+        "org.apache.flex.forks.batik.anim.resources.Messages";
+
+    /**
+     * The localizable support for the error messages.
+     */
+    protected static LocalizableSupport localizableSupport =
+        new LocalizableSupport(RESOURCES, TimedElement.class.getClassLoader());
+
+    /**
+     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#setLocale(java.util.Locale)}.
+     */
+    public static void setLocale( Locale l) {
+        localizableSupport.setLocale(l);
+    }
+
+    /**
+     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#getLocale()}.
+     */
+    public static Locale getLocale() {
+        return localizableSupport.getLocale();
+    }
+
+    /**
+     * Implements {@link
+     * org.apache.flex.forks.batik.i18n.Localizable#formatMessage(String,Object[])}.
+     */
+    public static String formatMessage(String key, Object[] args)
+        throws MissingResourceException {
+        return localizableSupport.formatMessage(key, args);
+    }
+
+    /**
+     * Returns a string representation of the given time value.
+     */
+    public static String toString(float time) {
+        if (Float.isNaN(time)) {
+            return "UNRESOLVED";
+        } else if (time == Float.POSITIVE_INFINITY) {
+            return "INDEFINITE";
+        } else {
+            return Float.toString(time);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphAdapter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphAdapter.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphAdapter.java
new file mode 100644
index 0000000..762b1dd
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphAdapter.java
@@ -0,0 +1,106 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * An adapter class for {@link TimegraphListener}s.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimegraphAdapter.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class TimegraphAdapter implements TimegraphListener {
+
+    /**
+     * Invoked to indicate that a timed element has been added to the
+     * document.
+     */
+    public void elementAdded(TimedElement e) {
+    }
+
+    /**
+     * Invoked to indicate that a timed element has been removed from the
+     * document.
+     */
+    public void elementRemoved(TimedElement e) {
+    }
+
+    /**
+     * Invoked to indicate that a timed element has become active.
+     * @param e the TimedElement that became active
+     * @param t the time (in parent simple time) that the element became active
+     */
+    public void elementActivated(TimedElement e, float t) {
+    }
+
+    /**
+     * Invoked to indicate that a timed element has become inactive
+     * and is filling.
+     */
+    public void elementFilled(TimedElement e, float t) {
+    }
+
+    /**
+     * Invoked to indicate that a timed element has become inactive
+     * and is not filling.
+     */
+    public void elementDeactivated(TimedElement e, float t) {
+    }
+
+    /**
+     * Invoked to indivate that an interval was created for the given
+     * timed element.
+     */
+    public void intervalCreated(TimedElement e, Interval i) {
+    }
+
+    /**
+     * Invoked to indivate that an interval was removed for the given
+     * timed element.
+     */
+    public void intervalRemoved(TimedElement e, Interval i) {
+    }
+
+    /**
+     * Invoked to indivate that an interval's endpoints were changed.
+     */
+    public void intervalChanged(TimedElement e, Interval i) {
+    }
+
+    /**
+     * Invoked to indivate that the given interval began.
+     * @param i the Interval that began, or null if no interval is
+     *          active for the given timed element.
+     */
+    public void intervalBegan(TimedElement e, Interval i) {
+    }
+
+    /**
+     * Invoked to indicate that the given timed element began a repeat
+     * iteration at the specified time.
+     */
+    public void elementRepeated(TimedElement e, int i, float t) {
+    }
+
+    /**
+     * Invoked to indicate that the list of instance times for the given
+     * timed element has been updated.
+     */
+    public void elementInstanceTimesChanged(TimedElement e, float isBegin) {
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphListener.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphListener.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphListener.java
new file mode 100644
index 0000000..68a9b44
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimegraphListener.java
@@ -0,0 +1,95 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * An interface for listening to timing events in a timed document.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimegraphListener.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public interface TimegraphListener {
+
+    /**
+     * Invoked to indicate that a timed element has been added to the
+     * document.
+     */
+    void elementAdded(TimedElement e);
+
+    /**
+     * Invoked to indicate that a timed element has been removed from the
+     * document.
+     */
+    void elementRemoved(TimedElement e);
+
+    /**
+     * Invoked to indicate that a timed element has become active.
+     * @param e the TimedElement that became active
+     * @param t the time (in parent simple time) that the element became active
+     */
+    void elementActivated(TimedElement e, float t);
+
+    /**
+     * Invoked to indicate that a timed element has become inactive
+     * and is filling.
+     */
+    void elementFilled(TimedElement e, float t);
+
+    /**
+     * Invoked to indicate that a timed element has become inactive
+     * and is not filling.
+     */
+    void elementDeactivated(TimedElement e, float t);
+
+    /**
+     * Invoked to indivate that an interval was created for the given
+     * timed element.
+     */
+    void intervalCreated(TimedElement e, Interval i);
+
+    /**
+     * Invoked to indivate that an interval was removed for the given
+     * timed element.
+     */
+    void intervalRemoved(TimedElement e, Interval i);
+
+    /**
+     * Invoked to indivate that an interval's endpoints were changed.
+     */
+    void intervalChanged(TimedElement e, Interval i);
+
+    /**
+     * Invoked to indivate that the given interval began.
+     * @param i the Interval that began, or null if no interval is
+     *          active for the given timed element.
+     */
+    void intervalBegan(TimedElement e, Interval i);
+
+    /**
+     * Invoked to indicate that the given timed element began a repeat
+     * iteration at the specified time.
+     */
+    void elementRepeated(TimedElement e, int i, float t);
+
+    /**
+     * Invoked to indicate that the list of instance times for the given
+     * timed element has been updated.
+     */
+    void elementInstanceTimesChanged(TimedElement e, float isBegin);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifier.java
new file mode 100644
index 0000000..e96d7a2
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifier.java
@@ -0,0 +1,110 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * An abstract class for SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimingSpecifier.java 485485 2006-12-11 04:04:53Z cam $
+ */
+public abstract class TimingSpecifier {
+
+    /**
+     * The element that owns this timing specifier.
+     */
+    protected TimedElement owner;
+
+    /**
+     * Whether this timing specifier is for a begin time or an end time.
+     */
+    protected boolean isBegin;
+
+    /**
+     * Creates a new TimingSpecifier object.
+     */
+    protected TimingSpecifier(TimedElement owner, boolean isBegin) {
+        this.owner = owner;
+        this.isBegin = isBegin;
+    }
+
+    /**
+     * Returns the element that owns this timing specifier.
+     */
+    public TimedElement getOwner() {
+        return owner;
+    }
+
+    /**
+     * Returns true if this timing specifier is in the owner's begin list,
+     * false if it is in the owner's end list.
+     */
+    public boolean isBegin() {
+        return isBegin;
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     * This should be overriden in descendant classes.
+     */
+    public void initialize() {
+    }
+
+    /**
+     * Deinitializes this timing specifier by removing any event listeners.
+     * This should be overriden in descendant classes.
+     */
+    public void deinitialize() {
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public abstract boolean isEventCondition();
+
+    /**
+     * Called by the timebase element when it creates a new Interval.
+     * This should be overridden in descendant classes that generate
+     * time instances based on the interval of a timebase element.
+     */
+    float newInterval(Interval interval) {
+        return Float.POSITIVE_INFINITY;
+    }
+
+    /**
+     * Called by the timebase element when it deletes an Interval.
+     * This should be overridden in descendant classes that generate
+     * time instances based on the interval of a timebase element.
+     */
+    float removeInterval(Interval interval) {
+        return Float.POSITIVE_INFINITY;
+    }
+
+    /**
+     * Called by an {@link InstanceTime} created by this TimingSpecifier
+     * to indicate that its value has changed.  This should be overriden
+     * in descendant classes that generate time instances based on the
+     * interval of a timebase element.
+     */
+    float handleTimebaseUpdate(InstanceTime instanceTime, float newTime) {
+        return Float.POSITIVE_INFINITY;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifierListProducer.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifierListProducer.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifierListProducer.java
new file mode 100644
index 0000000..6513762
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimingSpecifierListProducer.java
@@ -0,0 +1,177 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.Calendar;
+import java.util.LinkedList;
+
+import org.apache.flex.forks.batik.parser.DefaultTimingSpecifierListHandler;
+import org.apache.flex.forks.batik.parser.TimingSpecifierListParser;
+
+/**
+ * A {@link org.apache.flex.forks.batik.parser.TimingSpecifierListHandler} that creates
+ * {@link TimingSpecifier}s.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimingSpecifierListProducer.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class TimingSpecifierListProducer
+        extends DefaultTimingSpecifierListHandler {
+
+    /**
+     * The list of parsed timing specifiers.
+     */
+    protected LinkedList timingSpecifiers = new LinkedList();
+
+    /**
+     * The owner TimedElement used when creating the TimingSpecifiers.
+     */
+    protected TimedElement owner;
+
+    /**
+     * Whether the created TimingSpecifiers should be begin times.
+     */
+    protected boolean isBegin;
+
+    /**
+     * Creates a new TimingSpecifierListProducer.
+     */
+    public TimingSpecifierListProducer(TimedElement owner, boolean isBegin) {
+        this.owner = owner;
+        this.isBegin = isBegin;
+    }
+
+    /**
+     * Returns an array of the parsed TimingSpecifiers.
+     */
+    public TimingSpecifier[] getTimingSpecifiers() {
+        return (TimingSpecifier[]) timingSpecifiers.toArray(new TimingSpecifier[0]);
+    }
+
+    /**
+     * Parses a timing specifier list.
+     */
+    public static TimingSpecifier[] parseTimingSpecifierList
+            (TimedElement owner, boolean isBegin, String spec,
+             boolean useSVG11AccessKeys, boolean useSVG12AccessKeys) {
+        TimingSpecifierListParser p =
+            new TimingSpecifierListParser(useSVG11AccessKeys,
+                                          useSVG12AccessKeys);
+        TimingSpecifierListProducer pp =
+            new TimingSpecifierListProducer(owner, isBegin);
+        p.setTimingSpecifierListHandler(pp);
+        p.parse(spec);
+        TimingSpecifier[] specs = pp.getTimingSpecifiers();
+        return specs;
+    }
+
+    // TimingSpecifierHandler ////////////////////////////////////////////////
+
+    /**
+     * Invoked when an offset value timing specifier is parsed.
+     */
+    public void offset(float offset) {
+        TimingSpecifier ts = new OffsetTimingSpecifier(owner, isBegin, offset);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when a syncbase value timing specifier is parsed.
+     */
+    public void syncbase(float offset, String syncbaseID,
+                         String timeSymbol) {
+        TimingSpecifier ts = new SyncbaseTimingSpecifier
+            (owner, isBegin, offset, syncbaseID, timeSymbol.charAt(0) == 'b');
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when an eventbase value timing specifier is parsed.
+     */
+    public void eventbase(float offset, String eventbaseID,
+                          String eventType) {
+        TimingSpecifier ts = new EventbaseTimingSpecifier
+            (owner, isBegin, offset, eventbaseID, eventType);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when a repeat value timing specifier with no iteration
+     * is parsed.
+     */
+    public void repeat(float offset, String syncbaseID) {
+        TimingSpecifier ts = new RepeatTimingSpecifier
+            (owner, isBegin, offset, syncbaseID);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when a repeat value timing specifier with an iteration
+     * is parsed.
+     */
+    public void repeat(float offset, String syncbaseID,
+                       int repeatIteration) {
+        TimingSpecifier ts = new RepeatTimingSpecifier
+            (owner, isBegin, offset, syncbaseID, repeatIteration);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when an accesskey value timing specifier is parsed.
+     */
+    public void accesskey(float offset, char key) {
+        TimingSpecifier ts = new AccesskeyTimingSpecifier
+            (owner, isBegin, offset, key);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when an SVG 1.2 accessKey value timing specifier is parsed.
+     */
+    public void accessKeySVG12(float offset, String keyName) {
+        TimingSpecifier ts = new AccesskeyTimingSpecifier
+            (owner, isBegin, offset, keyName);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when a media marker value timing specifier is parsed.
+     */
+    public void mediaMarker(String syncbaseID, String markerName) {
+        TimingSpecifier ts = new MediaMarkerTimingSpecifier
+            (owner, isBegin, syncbaseID, markerName);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when a wallclock value timing specifier is parsed.
+     */
+    public void wallclock(Calendar time) {
+        TimingSpecifier ts = new WallclockTimingSpecifier(owner, isBegin, time);
+        timingSpecifiers.add(ts);
+    }
+
+    /**
+     * Invoked when an indefinite value timing specifier is parsed.
+     */
+    public void indefinite() {
+        TimingSpecifier ts = new IndefiniteTimingSpecifier(owner, isBegin);
+        timingSpecifiers.add(ts);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Trace.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Trace.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Trace.java
new file mode 100644
index 0000000..c4e2f4c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Trace.java
@@ -0,0 +1,68 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * Animation debugging support.  To be removed.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: Trace.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class Trace {
+
+    private static int level;
+
+    private static boolean enabled = false;
+
+    public static void enter(Object o, String fn, Object[] args) {
+        if (enabled) {
+            System.err.print("LOG\t");
+            for (int i = 0; i < level; i++) {
+                System.err.print("  ");
+            }
+            if (fn == null) {
+                System.err.print("new " + o.getClass().getName() + "(");
+            } else {
+                System.err.print(o + "." + fn + "(");
+            }
+            if (args != null) {
+                System.err.print(args[0]);
+                for (int i = 1; i < args.length; i++) {
+                    System.err.print(", " + args[i]);
+                }
+            }
+            System.err.println(")");
+        }
+            level++;
+    }
+    
+    public static void exit() {
+        level--;
+    }
+
+    public static void print(String s) {
+        if (enabled) {
+            System.err.print("LOG\t");
+            for (int i = 0; i < level; i++) {
+                System.err.print("  ");
+            }
+            System.err.println(s);
+        }
+    }
+}


[11/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolygonElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolygonElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolygonElementBridge.java
index 58e4dba..dfc7fa3 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolygonElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolygonElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,20 +21,23 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.Shape;
 import java.awt.geom.GeneralPath;
 
-import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedPoints;
+import org.apache.flex.forks.batik.dom.svg.SVGOMPolygonElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.parser.AWTPolygonProducer;
-import org.apache.flex.forks.batik.parser.ParseException;
-import org.apache.flex.forks.batik.parser.PointsParser;
+
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGPoint;
+import org.w3c.dom.svg.SVGPointList;
 
 /**
  * Bridge class for the &lt;polygon> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGPolygonElementBridge.java,v 1.20 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGPolygonElementBridge.java 594018 2007-11-12 04:17:41Z cam $
  */
 public class SVGPolygonElementBridge extends SVGDecoratedShapeElementBridge {
 
@@ -73,44 +77,46 @@ public class SVGPolygonElementBridge extends SVGDecoratedShapeElementBridge {
                               Element e,
                               ShapeNode shapeNode) {
 
-        String s = e.getAttributeNS(null, SVG_POINTS_ATTRIBUTE);
-        if (s.length() != 0) {
-            AWTPolygonProducer app = new AWTPolygonProducer();
-            app.setWindingRule(CSSUtilities.convertFillRule(e));
-            try {
-                PointsParser pp = new PointsParser();
-                pp.setPointsHandler(app);
-                pp.parse(s);
-            } catch (ParseException ex) {
-                BridgeException bex
-                    = new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                          new Object[] {SVG_POINTS_ATTRIBUTE});
-                bex.setGraphicsNode(shapeNode);
-                throw bex;
-            } finally {
+        SVGOMPolygonElement pe = (SVGOMPolygonElement) e;
+        try {
+            SVGOMAnimatedPoints _points = pe.getSVGOMAnimatedPoints();
+            _points.check();
+            SVGPointList pl = _points.getAnimatedPoints();
+            int size = pl.getNumberOfItems();
+            if (size == 0) {
+                shapeNode.setShape(DEFAULT_SHAPE);
+            } else {
+                AWTPolygonProducer app = new AWTPolygonProducer();
+                app.setWindingRule(CSSUtilities.convertFillRule(e));
+                app.startPoints();
+                for (int i = 0; i < size; i++) {
+                    SVGPoint p = pl.getItem(i);
+                    app.point(p.getX(), p.getY());
+                }
+                app.endPoints();
                 shapeNode.setShape(app.getShape());
             }
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_POINTS_ATTRIBUTE)) {
-            if ( evt.getNewValue().length() == 0 ){
-                ((ShapeNode)node).setShape(DEFAULT_SHAPE);
-            }
-            else{
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_POINTS_ATTRIBUTE)) {
                 buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
             }
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     protected void handleCSSPropertyChanged(int property) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolylineElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolylineElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolylineElementBridge.java
index 321ef76..5b8dbea 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolylineElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPolylineElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,20 +21,23 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.Shape;
 import java.awt.geom.GeneralPath;
 
-import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedPoints;
+import org.apache.flex.forks.batik.dom.svg.SVGOMPolylineElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.parser.AWTPolylineProducer;
-import org.apache.flex.forks.batik.parser.ParseException;
-import org.apache.flex.forks.batik.parser.PointsParser;
+
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGPoint;
+import org.w3c.dom.svg.SVGPointList;
 
 /**
  * Bridge class for the &lt;polyline> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGPolylineElementBridge.java,v 1.19 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGPolylineElementBridge.java 594018 2007-11-12 04:17:41Z cam $
  */
 public class SVGPolylineElementBridge extends SVGDecoratedShapeElementBridge {
 
@@ -73,44 +77,46 @@ public class SVGPolylineElementBridge extends SVGDecoratedShapeElementBridge {
                               Element e,
                               ShapeNode shapeNode) {
 
-        String s = e.getAttributeNS(null, SVG_POINTS_ATTRIBUTE);
-        if (s.length() != 0) {
-            AWTPolylineProducer app = new AWTPolylineProducer();
-            app.setWindingRule(CSSUtilities.convertFillRule(e));
-            try {
-                PointsParser pp = new PointsParser();
-                pp.setPointsHandler(app);
-                pp.parse(s);
-            } catch (ParseException ex) {
-                BridgeException bex
-                    = new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                          new Object[] {SVG_POINTS_ATTRIBUTE});
-                bex.setGraphicsNode(shapeNode);
-                throw bex;
-            } finally {
+        SVGOMPolylineElement pe = (SVGOMPolylineElement) e;
+        try {
+            SVGOMAnimatedPoints _points = pe.getSVGOMAnimatedPoints();
+            _points.check();
+            SVGPointList pl = _points.getAnimatedPoints();
+            int size = pl.getNumberOfItems();
+            if (size == 0) {
+                shapeNode.setShape(DEFAULT_SHAPE);
+            } else {
+                AWTPolylineProducer app = new AWTPolylineProducer();
+                app.setWindingRule(CSSUtilities.convertFillRule(e));
+                app.startPoints();
+                for (int i = 0; i < size; i++) {
+                    SVGPoint p = pl.getItem(i);
+                    app.point(p.getX(), p.getY());
+                }
+                app.endPoints();
                 shapeNode.setShape(app.getShape());
             }
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_POINTS_ATTRIBUTE)) {
-            if ( evt.getNewValue().length() == 0 ){
-                ((ShapeNode)node).setShape(DEFAULT_SHAPE);
-            }
-            else{
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_POINTS_ATTRIBUTE)) {
                 buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
             }
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     protected void handleCSSPropertyChanged(int property) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRadialGradientElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRadialGradientElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRadialGradientElementBridge.java
index e05e08c..5a83793 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRadialGradientElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRadialGradientElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,17 +22,20 @@ import java.awt.Color;
 import java.awt.Paint;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
+import org.apache.flex.forks.batik.dom.svg.SVGContext;
 import org.apache.flex.forks.batik.ext.awt.MultipleGradientPaint;
 import org.apache.flex.forks.batik.ext.awt.RadialGradientPaint;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
 import org.w3c.dom.Element;
 
 /**
  * Bridge class for the &lt;radialGradient> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGRadialGradientElementBridge.java,v 1.11 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGRadialGradientElementBridge.java 594776 2007-11-14 05:34:02Z cam $
  */
 public class SVGRadialGradientElementBridge
     extends AbstractSVGGradientElementBridge {
@@ -116,7 +120,21 @@ public class SVGRadialGradientElementBridge
             coordSystemType = SVGUtilities.OBJECT_BOUNDING_BOX;
         } else {
             coordSystemType = SVGUtilities.parseCoordinateSystem
-                (paintElement, SVG_GRADIENT_UNITS_ATTRIBUTE, s);
+                (paintElement, SVG_GRADIENT_UNITS_ATTRIBUTE, s, ctx);
+        }
+
+        // The last paragraph of section 7.11 in SVG 1.1 states that objects
+        // with zero width or height bounding boxes that use gradients with
+        // gradientUnits="objectBoundingBox" must not use the gradient.
+        SVGContext bridge = BridgeContext.getSVGContext(paintedElement);
+        if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX
+                && bridge instanceof AbstractGraphicsNodeBridge) {
+            // XXX Make this work for non-AbstractGraphicsNodeBridges, like
+            // the various text child bridges.
+            Rectangle2D bbox = ((AbstractGraphicsNodeBridge) bridge).getBBox();
+            if (bbox != null && bbox.getWidth() == 0 || bbox.getHeight() == 0) {
+                return null;
+            }
         }
 
         // additional transform to move to objectBoundingBox coordinate system
@@ -131,8 +149,8 @@ public class SVGRadialGradientElementBridge
                                              SVG_R_ATTRIBUTE,
                                              coordSystemType,
                                              uctx);
-	// A value of zero will cause the area to be painted as a single color
-	// using the color and opacity of the last gradient stop.
+        // A value of zero will cause the area to be painted as a single color
+        // using the color and opacity of the last gradient stop.
         if (r == 0) {
             return colors[colors.length-1];
         } else {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRectElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRectElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRectElementBridge.java
index c2a3cea..1ecc395 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRectElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGRectElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,17 +22,20 @@ import java.awt.Shape;
 import java.awt.geom.Rectangle2D;
 import java.awt.geom.RoundRectangle2D;
 
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMRectElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.gvt.ShapePainter;
 
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
 
 /**
  * Bridge class for the &lt;rect> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGRectElementBridge.java,v 1.16 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGRectElementBridge.java 527382 2007-04-11 04:31:58Z cam $
  */
 public class SVGRectElementBridge extends SVGShapeElementBridge {
 
@@ -65,114 +69,80 @@ public class SVGRectElementBridge extends SVGShapeElementBridge {
                               Element e,
                               ShapeNode shapeNode) {
 
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-        String s;
-
-        // 'x' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-        float x = 0;
-        if (s.length() != 0) {
-            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_X_ATTRIBUTE, uctx);
-        }
-
-        // 'y' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-        float y = 0;
-        if (s.length() != 0) {
-            y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_Y_ATTRIBUTE, uctx);
-        }
-
-        // 'width' attribute - required
-        s = e.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
-        float w;
-        if (s.length() != 0) {
-            w = UnitProcessor.svgHorizontalLengthToUserSpace
-                (s, SVG_WIDTH_ATTRIBUTE, uctx);
-        } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_WIDTH_ATTRIBUTE, s});
-        }
-
-        // 'height' attribute - required
-        s = e.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
-        float h;
-        if (s.length() != 0) {
-            h = UnitProcessor.svgVerticalLengthToUserSpace
-                (s, SVG_HEIGHT_ATTRIBUTE, uctx);
-        } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_HEIGHT_ATTRIBUTE, s});
-        }
+        try {
+            SVGOMRectElement re = (SVGOMRectElement) e;
+
+            // 'x' attribute - default is 0
+            AbstractSVGAnimatedLength _x =
+                (AbstractSVGAnimatedLength) re.getX();
+            float x = _x.getCheckedValue();
+
+            // 'y' attribute - default is 0
+            AbstractSVGAnimatedLength _y =
+                (AbstractSVGAnimatedLength) re.getY();
+            float y = _y.getCheckedValue();
+
+            // 'width' attribute - required
+            AbstractSVGAnimatedLength _width =
+                (AbstractSVGAnimatedLength) re.getWidth();
+            float w = _width.getCheckedValue();
+
+            // 'height' attribute - required
+            AbstractSVGAnimatedLength _height =
+                (AbstractSVGAnimatedLength) re.getHeight();
+            float h = _height.getCheckedValue();
+
+            // 'rx' attribute - default is 0
+            AbstractSVGAnimatedLength _rx =
+                (AbstractSVGAnimatedLength) re.getRx();
+            float rx = _rx.getCheckedValue();
+            if (rx > w / 2) {
+                rx = w / 2;
+            }
 
-        // 'rx' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_RX_ATTRIBUTE);
-        boolean rxs = (s.length() != 0);
-        float rx = 0;
-        if (rxs) {
-            rx = UnitProcessor.svgHorizontalLengthToUserSpace
-                (s, SVG_RX_ATTRIBUTE, uctx);
-        }
-        rx = (rx > w / 2) ? w / 2 : rx;
-
-        // 'ry' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_RY_ATTRIBUTE);
-        boolean rys = (s.length() != 0);
-        float ry = 0;
-        if (rys) {
-            ry = UnitProcessor.svgVerticalLengthToUserSpace
-                (s, SVG_RY_ATTRIBUTE, uctx);
-        }
-        ry = (ry > h / 2) ? h / 2 : ry;
+            // 'ry' attribute - default is rx
+            AbstractSVGAnimatedLength _ry =
+                (AbstractSVGAnimatedLength) re.getRy();
+            float ry = _ry.getCheckedValue();
+            if (ry > h / 2) {
+                ry = h / 2;
+            }
 
-        Shape shape = null;
-        if (rxs && rys) {
+            Shape shape;
             if (rx == 0 || ry == 0) {
                 shape = new Rectangle2D.Float(x, y, w, h);
             } else {
-                shape = new RoundRectangle2D.Float(x, y, w, h, rx*2, ry*2);
-            }
-        } else if (rxs) {
-            if (rx == 0) {
-                shape = new Rectangle2D.Float(x, y, w, h);
-            } else {
-                shape = new RoundRectangle2D.Float(x, y, w, h, rx*2, rx*2);
+                shape = new RoundRectangle2D.Float(x, y, w, h, rx * 2, ry * 2);
             }
-        } else if (rys) {
-            if (ry == 0) {
-                shape = new Rectangle2D.Float(x, y, w, h);
-            } else {
-                shape = new RoundRectangle2D.Float(x, y, w, h, ry*2, ry*2);
-            }
-        } else {
-            shape = new Rectangle2D.Float(x, y, w, h);
+            shapeNode.setShape(shape);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-        shapeNode.setShape(shape);
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_X_ATTRIBUTE) ||
-            attrName.equals(SVG_Y_ATTRIBUTE) ||
-            attrName.equals(SVG_WIDTH_ATTRIBUTE) ||
-            attrName.equals(SVG_HEIGHT_ATTRIBUTE) ||
-            attrName.equals(SVG_RX_ATTRIBUTE) ||
-            attrName.equals(SVG_RY_ATTRIBUTE)) {
-
-            buildShape(ctx, e, (ShapeNode)node);
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_X_ATTRIBUTE)
+                    || ln.equals(SVG_Y_ATTRIBUTE)
+                    || ln.equals(SVG_WIDTH_ATTRIBUTE)
+                    || ln.equals(SVG_HEIGHT_ATTRIBUTE)
+                    || ln.equals(SVG_RX_ATTRIBUTE)
+                    || ln.equals(SVG_RY_ATTRIBUTE)) {
+                buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
+            }
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
-
     protected ShapePainter createShapePainter(BridgeContext ctx,
                                               Element e,
                                               ShapeNode shapeNode) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSVGElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSVGElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSVGElementBridge.java
index 30a214e..ecaf0dd 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSVGElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSVGElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,15 +24,19 @@ import java.awt.Shape;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.NoninvertibleTransformException;
 import java.awt.geom.Rectangle2D;
-import java.text.AttributedCharacterIterator;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.flex.forks.batik.dom.svg.SVGSVGContext;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
 import org.apache.flex.forks.batik.dom.svg.SVGContext;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedRect;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMSVGElement;
+import org.apache.flex.forks.batik.dom.svg.SVGSVGContext;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.ClipRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
 import org.apache.flex.forks.batik.gvt.CanvasGraphicsNode;
@@ -39,23 +44,18 @@ import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.gvt.TextNode;
-import org.apache.flex.forks.batik.gvt.font.GVTGlyphVector;
-import org.apache.flex.forks.batik.gvt.renderer.StrokingTextPainter;
-import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
-import org.apache.flex.forks.batik.gvt.text.TextSpanLayout;
-import org.apache.flex.forks.batik.util.SVGConstants;
+
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.dom.events.MutationEvent;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGSVGElement;
-import org.w3c.flex.forks.dom.svg.SVGRect;
+import org.w3c.dom.svg.SVGAnimatedPreserveAspectRatio;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGRect;
 
 /**
  * Bridge class for the &lt;svg> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGSVGElementBridge.java,v 1.47 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGSVGElementBridge.java 579487 2007-09-26 06:40:16Z cam $
  */
 public class SVGSVGElementBridge 
     extends SVGGElementBridge 
@@ -95,130 +95,133 @@ public class SVGSVGElementBridge
      * @return a graphics node that represents the specified element
      */
     public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
-	// 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
-	if (!SVGUtilities.matchUserAgent(e, ctx.getUserAgent())) {
-	    return null;
-	}
+        // 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
+        if (!SVGUtilities.matchUserAgent(e, ctx.getUserAgent())) {
+            return null;
+        }
 
         CanvasGraphicsNode cgn;
         cgn = (CanvasGraphicsNode)instantiateGraphicsNode();
 
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-        String s;
-
-        // In some cases we converted document fragments which didn't
-        // have a parent SVG element, this check makes sure only the
-        // real root of the SVG Document tries to do negotiation with
-        // the UA.
-        SVGDocument doc = (SVGDocument)e.getOwnerDocument();
-        boolean isOutermost = (doc.getRootElement() == e);
-        float x = 0;
-        float y = 0;
-        // x and y have no meaning on the outermost 'svg' element
-        if (!isOutermost) {
-            // 'x' attribute - default is 0
-            s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-            if (s.length() != 0) {
-                x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                    (s, SVG_X_ATTRIBUTE, uctx);
-            }
-            // 'y' attribute - default is 0
-            s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-            if (s.length() != 0) {
-                y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                    (s, SVG_Y_ATTRIBUTE, uctx);
-            }
-        }
+        associateSVGContext(ctx, e, cgn);
 
-        // 'width' attribute - default is 100%
-        s = e.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
-        if (s.length() == 0) {
-            s = SVG_SVG_WIDTH_DEFAULT_VALUE;
-        }
-        float w = UnitProcessor.svgHorizontalLengthToUserSpace
-            (s, SVG_WIDTH_ATTRIBUTE, uctx);
+        try {
+            // In some cases we converted document fragments which didn't
+            // have a parent SVG element, this check makes sure only the
+            // real root of the SVG Document tries to do negotiation with
+            // the UA.
+            SVGDocument doc = (SVGDocument)e.getOwnerDocument();
+            SVGOMSVGElement se = (SVGOMSVGElement) e;
+            boolean isOutermost = (doc.getRootElement() == e);
+            float x = 0;
+            float y = 0;
+            // x and y have no meaning on the outermost 'svg' element
+            if (!isOutermost) {
+                // 'x' attribute - default is 0
+                AbstractSVGAnimatedLength _x =
+                    (AbstractSVGAnimatedLength) se.getX();
+                x = _x.getCheckedValue();
 
-        // 'height' attribute - default is 100%
-        s = e.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
-        if (s.length() == 0) {
-            s = SVG_SVG_HEIGHT_DEFAULT_VALUE;
-        }
-        float h = UnitProcessor.svgVerticalLengthToUserSpace
-            (s, SVG_HEIGHT_ATTRIBUTE, uctx);
+                // 'y' attribute - default is 0
+                AbstractSVGAnimatedLength _y =
+                    (AbstractSVGAnimatedLength) se.getY();
+                y = _y.getCheckedValue();
+            }
 
-        // 'visibility'
-        cgn.setVisible(CSSUtilities.convertVisibility(e));
+            // 'width' attribute - default is 100%
+            AbstractSVGAnimatedLength _width =
+                (AbstractSVGAnimatedLength) se.getWidth();
+            float w = _width.getCheckedValue();
 
-        // 'viewBox' and "preserveAspectRatio' attributes
-        AffineTransform viewingTransform =
-            ViewBox.getPreserveAspectRatioTransform(e, w, h);
+            // 'height' attribute - default is 100%
+            AbstractSVGAnimatedLength _height =
+                (AbstractSVGAnimatedLength) se.getHeight();
+            float h = _height.getCheckedValue();
 
-        float actualWidth = w;
-        float actualHeight = h;
-        try {
-            AffineTransform vtInv = viewingTransform.createInverse();
-            actualWidth = (float) (w*vtInv.getScaleX());
-            actualHeight = (float) (h*vtInv.getScaleY());
-        } catch (NoninvertibleTransformException ex) {}
-
-        AffineTransform positionTransform =
-            AffineTransform.getTranslateInstance(x, y);
-        // The outermost preserveAspectRatio matrix is set by the user
-        // agent, so we don't need to set the transform for outermost svg
-        if (!isOutermost) {
-            // X & Y are ignored on outermost SVG.
-            cgn.setPositionTransform(positionTransform);
-        } else if (doc == ctx.getDocument()) {
-            // <!> FIXME: hack to compute the original document's size
-            ctx.setDocumentSize(new Dimension((int)(w+0.5f), (int)(h+0.5f)));
-        }
-        // Set the viewing transform, this is often updated when the
-        // component prepares for rendering.
-        cgn.setViewingTransform(viewingTransform);
-
-        // 'overflow' and 'clip'
-        Shape clip = null;
-        if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
-            float [] offsets = CSSUtilities.convertClip(e);
-            if (offsets == null) { // clip:auto
-                clip = new Rectangle2D.Float(x, y, w, h);
-            } else { // clip:rect(<x> <y> <w> <h>)
-                // offsets[0] = top
-                // offsets[1] = right
-                // offsets[2] = bottom
-                // offsets[3] = left
-                clip = new Rectangle2D.Float(x+offsets[3],
-                                             y+offsets[0],
-                                             w-offsets[1]-offsets[3],
-                                             h-offsets[2]-offsets[0]);
-            }
-        }
+            // 'visibility'
+            cgn.setVisible(CSSUtilities.convertVisibility(e));
+
+            // 'viewBox' and "preserveAspectRatio' attributes
+            SVGOMAnimatedRect vb = (SVGOMAnimatedRect) se.getViewBox();
+            SVGAnimatedPreserveAspectRatio par = se.getPreserveAspectRatio();
+            AffineTransform viewingTransform =
+                ViewBox.getPreserveAspectRatioTransform(e, vb, par, w, h, ctx);
 
-        if (clip != null) {
+            float actualWidth = w;
+            float actualHeight = h;
             try {
-                AffineTransform at = new AffineTransform(positionTransform);
-                at.concatenate(viewingTransform);
-                at = at.createInverse(); // clip in user space
-                clip = at.createTransformedShape(clip);
-                Filter filter = cgn.getGraphicsNodeRable(true);
-                cgn.setClip(new ClipRable8Bit(filter, clip));
+                AffineTransform vtInv = viewingTransform.createInverse();
+                actualWidth = (float) (w*vtInv.getScaleX());
+                actualHeight = (float) (h*vtInv.getScaleY());
             } catch (NoninvertibleTransformException ex) {}
-        }
-        RenderingHints hints = null;
-        hints = CSSUtilities.convertColorRendering(e, hints);
-        if (hints != null)
-            cgn.setRenderingHints(hints);
-
-        // 'enable-background'
-        Rectangle2D r = CSSUtilities.convertEnableBackground(e);
-        if (r != null) {
-            cgn.setBackgroundEnable(r);
-        }
 
-        ctx.openViewport
-            (e, new SVGSVGElementViewport(actualWidth,
-                                          actualHeight));
-        return cgn;
+            AffineTransform positionTransform =
+                AffineTransform.getTranslateInstance(x, y);
+            // The outermost preserveAspectRatio matrix is set by the user
+            // agent, so we don't need to set the transform for outermost svg
+            if (!isOutermost) {
+                // X & Y are ignored on outermost SVG.
+                cgn.setPositionTransform(positionTransform);
+            } else if (doc == ctx.getDocument()) {
+                // <!> FIXME: hack to compute the original document's size
+                ctx.setDocumentSize(new Dimension((int) (w + 0.5f),
+                                                  (int) (h + 0.5f)));
+            }
+            // Set the viewing transform, this is often updated when the
+            // component prepares for rendering.
+            cgn.setViewingTransform(viewingTransform);
+
+            // 'overflow' and 'clip'
+            Shape clip = null;
+            if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
+                float [] offsets = CSSUtilities.convertClip(e);
+                if (offsets == null) { // clip:auto
+                    clip = new Rectangle2D.Float(x, y, w, h);
+                } else { // clip:rect(<x> <y> <w> <h>)
+                    // offsets[0] = top
+                    // offsets[1] = right
+                    // offsets[2] = bottom
+                    // offsets[3] = left
+                    clip = new Rectangle2D.Float(x+offsets[3],
+                                                 y+offsets[0],
+                                                 w-offsets[1]-offsets[3],
+                                                 h-offsets[2]-offsets[0]);
+                }
+            }
+
+            if (clip != null) {
+                try {
+                    AffineTransform at = new AffineTransform(positionTransform);
+                    at.concatenate(viewingTransform);
+                    at = at.createInverse(); // clip in user space
+                    clip = at.createTransformedShape(clip);
+                    Filter filter = cgn.getGraphicsNodeRable(true);
+                    cgn.setClip(new ClipRable8Bit(filter, clip));
+                } catch (NoninvertibleTransformException ex) {}
+            }
+            RenderingHints hints = null;
+            hints = CSSUtilities.convertColorRendering(e, hints);
+            if (hints != null)
+                cgn.setRenderingHints(hints);
+
+            // 'enable-background'
+            Rectangle2D r = CSSUtilities.convertEnableBackground(e);
+            if (r != null) {
+                cgn.setBackgroundEnable(r);
+            }
+
+            if (vb.isSpecified()) {
+                SVGRect vbr = vb.getAnimVal();
+                actualWidth = vbr.getWidth();
+                actualHeight = vbr.getHeight();
+            }
+            ctx.openViewport
+                (e, new SVGSVGElementViewport(actualWidth,
+                                              actualHeight));
+            return cgn;
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
     }
 
     /**
@@ -258,144 +261,139 @@ public class SVGSVGElementBridge
     }
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        // Don't call 'super' because there is no 'transform'
-        // attribute on <svg>
-        String attrName = evt.getAttrName();
-        boolean rebuild = false;
-        if (attrName.equals(SVG_WIDTH_ATTRIBUTE) ||
-            attrName.equals(SVG_HEIGHT_ATTRIBUTE) ) {
-            rebuild = true;
-        } else if (attrName.equals(SVG_X_ATTRIBUTE) ||
-                   attrName.equals(SVG_Y_ATTRIBUTE)) {
-            SVGDocument doc = (SVGDocument)e.getOwnerDocument();
-            boolean isOutermost = (doc.getRootElement() == e);
-            if (!isOutermost) {
-                // X & Y are ignored on outermost SVG.
-                float x = 0;
-                float y = 0;
-                UnitProcessor.Context uctx;
-                uctx = UnitProcessor.createContext(ctx, e);
-                // 'x' attribute - default is 0
-                String s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-                if (s.length() != 0) {
-                    x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                        (s, SVG_X_ATTRIBUTE, uctx);
-                }
-                // 'y' attribute - default is 0
-                s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-                if (s.length() != 0) {
-                    y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                        (s, SVG_Y_ATTRIBUTE, uctx);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        try {
+            boolean rebuild = false;
+            if (alav.getNamespaceURI() == null) {
+                String ln = alav.getLocalName();
+                if (ln.equals(SVG_WIDTH_ATTRIBUTE)
+                        || ln.equals(SVG_HEIGHT_ATTRIBUTE)) {
+                    rebuild = true;
+                } else if (ln.equals(SVG_X_ATTRIBUTE)
+                        || ln.equals(SVG_Y_ATTRIBUTE)) {
+                    SVGDocument doc = (SVGDocument)e.getOwnerDocument();
+                    SVGOMSVGElement se = (SVGOMSVGElement) e;
+                    // X & Y are ignored on outermost SVG.
+                    boolean isOutermost = doc.getRootElement() == e;
+                    if (!isOutermost) {
+                        // 'x' attribute - default is 0
+                        AbstractSVGAnimatedLength _x =
+                            (AbstractSVGAnimatedLength) se.getX();
+                        float x = _x.getCheckedValue();
+
+                        // 'y' attribute - default is 0
+                        AbstractSVGAnimatedLength _y =
+                            (AbstractSVGAnimatedLength) se.getY();
+                        float y = _y.getCheckedValue();
+
+                        AffineTransform positionTransform =
+                            AffineTransform.getTranslateInstance(x, y);
+                        CanvasGraphicsNode cgn;
+                        cgn = (CanvasGraphicsNode)node;
+
+                        cgn.setPositionTransform(positionTransform);
+                        return;
+                    }
+                } else if (ln.equals(SVG_VIEW_BOX_ATTRIBUTE)
+                        || ln.equals(SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE)) {
+                    SVGDocument doc = (SVGDocument)e.getOwnerDocument();
+                    SVGOMSVGElement se = (SVGOMSVGElement) e;
+                    boolean isOutermost = doc.getRootElement() == e;
+
+                    // X & Y are ignored on outermost SVG.
+                    float x = 0;
+                    float y = 0;
+                    if (!isOutermost) {
+                        // 'x' attribute - default is 0
+                        AbstractSVGAnimatedLength _x =
+                            (AbstractSVGAnimatedLength) se.getX();
+                        x = _x.getCheckedValue();
+
+                        // 'y' attribute - default is 0
+                        AbstractSVGAnimatedLength _y =
+                            (AbstractSVGAnimatedLength) se.getY();
+                        y = _y.getCheckedValue();
+                    }
+                    
+                    // 'width' attribute - default is 100%
+                    AbstractSVGAnimatedLength _width =
+                        (AbstractSVGAnimatedLength) se.getWidth();
+                    float w = _width.getCheckedValue();
+                    
+                    // 'height' attribute - default is 100%
+                    AbstractSVGAnimatedLength _height =
+                        (AbstractSVGAnimatedLength) se.getHeight();
+                    float h = _height.getCheckedValue();
+                    
+                    CanvasGraphicsNode cgn;
+                    cgn = (CanvasGraphicsNode)node;
+                    
+                    // 'viewBox' and "preserveAspectRatio' attributes
+                    SVGOMAnimatedRect vb = (SVGOMAnimatedRect) se.getViewBox();
+                    SVGAnimatedPreserveAspectRatio par = se.getPreserveAspectRatio();
+                    AffineTransform newVT = ViewBox.getPreserveAspectRatioTransform
+                        (e, vb, par, w, h, ctx);
+
+                    AffineTransform oldVT = cgn.getViewingTransform();
+                    if ((newVT.getScaleX() != oldVT.getScaleX()) ||
+                        (newVT.getScaleY() != oldVT.getScaleY()) ||
+                        (newVT.getShearX() != oldVT.getShearX()) ||
+                        (newVT.getShearY() != oldVT.getShearY()))
+                        rebuild = true;
+                    else {
+                        // Only differs in translate.
+                        cgn.setViewingTransform(newVT);
+                        
+                        // 'overflow' and 'clip'
+                        Shape clip = null;
+                        if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
+                            float [] offsets = CSSUtilities.convertClip(e);
+                            if (offsets == null) { // clip:auto
+                                clip = new Rectangle2D.Float(x, y, w, h);
+                            } else { // clip:rect(<x> <y> <w> <h>)
+                                // offsets[0] = top
+                                // offsets[1] = right
+                                // offsets[2] = bottom
+                                // offsets[3] = left
+                                clip = new Rectangle2D.Float(x+offsets[3],
+                                                             y+offsets[0],
+                                                             w-offsets[1]-offsets[3],
+                                                             h-offsets[2]-offsets[0]);
+                            }
+                        }
+                        
+                        if (clip != null) {
+                            try {
+                                AffineTransform at;
+                                at = cgn.getPositionTransform();
+                                if (at == null) at = new AffineTransform();
+                                else            at = new AffineTransform(at);
+                                at.concatenate(newVT);
+                                at = at.createInverse(); // clip in user space
+                                clip = at.createTransformedShape(clip);
+                                Filter filter = cgn.getGraphicsNodeRable(true);
+                                cgn.setClip(new ClipRable8Bit(filter, clip));
+                            } catch (NoninvertibleTransformException ex) {}
+                        }
+                    }
                 }
 
-                AffineTransform positionTransform =
-                    AffineTransform.getTranslateInstance(x, y);
-                CanvasGraphicsNode cgn;
-                cgn = (CanvasGraphicsNode)node;
-
-                cgn.setPositionTransform(positionTransform);
-            }
-        } else if (attrName.equals(SVG_VIEW_BOX_ATTRIBUTE) ||
-                   attrName.equals(SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE)) {
-            SVGDocument doc = (SVGDocument)e.getOwnerDocument();
-            boolean isOutermost = (doc.getRootElement() == e);
+                if (rebuild) {
+                    CompositeGraphicsNode gn = node.getParent();
+                    gn.remove(node);
+                    disposeTree(e, false);
 
-            String s;
-            UnitProcessor.Context uctx;
-            uctx = UnitProcessor.createContext(ctx, e);
-            // X & Y are ignored on outermost SVG.
-            float x = 0;
-            float y = 0;
-            if (!isOutermost) {
-                // 'x' attribute - default is 0
-                s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-                if (s.length() != 0) {
-                    x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                        (s, SVG_X_ATTRIBUTE, uctx);
-                }
-                // 'y' attribute - default is 0
-                s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-                if (s.length() != 0) {
-                    y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                        (s, SVG_Y_ATTRIBUTE, uctx);
+                    handleElementAdded(gn, e.getParentNode(), e);
+                    return;
                 }
             }
-            
-            // 'width' attribute - default is 100%
-            s = e.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
-            if (s.length() == 0) {
-                s = SVG_SVG_WIDTH_DEFAULT_VALUE;
-            }
-            float w = UnitProcessor.svgHorizontalLengthToUserSpace
-                (s, SVG_WIDTH_ATTRIBUTE, uctx);
-            
-            // 'height' attribute - default is 100%
-            s = e.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
-            if (s.length() == 0) {
-                s = SVG_SVG_HEIGHT_DEFAULT_VALUE;
-            }
-            float h = UnitProcessor.svgVerticalLengthToUserSpace
-                (s, SVG_HEIGHT_ATTRIBUTE, uctx);
-            
-            CanvasGraphicsNode cgn;
-            cgn = (CanvasGraphicsNode)node;
-            
-            // 'viewBox' and "preserveAspectRatio' attributes
-            AffineTransform newVT =
-                ViewBox.getPreserveAspectRatioTransform(e, w, h);
-            AffineTransform oldVT = cgn.getViewingTransform();
-            if ((newVT.getScaleX() != oldVT.getScaleX()) ||
-                (newVT.getScaleY() != oldVT.getScaleY()) ||
-                (newVT.getShearX() != oldVT.getShearX()) ||
-                (newVT.getShearY() != oldVT.getShearY()))
-                rebuild = true;
-            else {
-                // Only differs in translate.
-                cgn.setViewingTransform(newVT);
-                
-                // 'overflow' and 'clip'
-                Shape clip = null;
-                if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
-                    float [] offsets = CSSUtilities.convertClip(e);
-                    if (offsets == null) { // clip:auto
-                        clip = new Rectangle2D.Float(x, y, w, h);
-                    } else { // clip:rect(<x> <y> <w> <h>)
-                        // offsets[0] = top
-                        // offsets[1] = right
-                        // offsets[2] = bottom
-                        // offsets[3] = left
-                        clip = new Rectangle2D.Float(x+offsets[3],
-                                                     y+offsets[0],
-                                                     w-offsets[1]-offsets[3],
-                                                     h-offsets[2]-offsets[0]);
-                    }
-                }
-                
-                if (clip != null) {
-                    try {
-                        AffineTransform at;
-                        at = cgn.getPositionTransform();
-                        at = new AffineTransform(at);
-                        at.concatenate(newVT);
-                        at = at.createInverse(); // clip in user space
-                        clip = at.createTransformedShape(clip);
-                        Filter filter = cgn.getGraphicsNodeRable(true);
-                        cgn.setClip(new ClipRable8Bit(filter, clip));
-                    } catch (NoninvertibleTransformException ex) {}
-                }
-            }
-        }
-
-        if (rebuild) {
-            CompositeGraphicsNode gn = node.getParent();
-            gn.remove(node);
-            disposeTree(e);
-
-            handleElementAdded(gn, e.getParentNode(), e);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     /**
@@ -430,10 +428,6 @@ public class SVGSVGElementBridge
         }
     }
 
-    public static final 
-        AttributedCharacterIterator.Attribute TEXT_COMPOUND_DELIMITER 
-        = GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_DELIMITER;
-
     public List getIntersectionList(SVGRect svgRect, Element end) {
         List ret = new ArrayList();
         Rectangle2D rect = new Rectangle2D.Float(svgRect.getX(),
@@ -480,10 +474,10 @@ public class SVGSVGElementBridge
             String nsURI = curr.getNamespaceURI();
             String tag = curr.getLocalName();
             boolean isGroup;
-            isGroup = (SVGConstants.SVG_NAMESPACE_URI.equals(nsURI) &&
-                       ((SVGConstants.SVG_G_TAG.equals(tag)) ||
-                        (SVGConstants.SVG_SVG_TAG.equals(tag)) ||
-                        (SVGConstants.SVG_A_TAG.equals(tag))));
+            isGroup = SVG_NAMESPACE_URI.equals(nsURI)
+                && (SVG_G_TAG.equals(tag)
+                        || SVG_SVG_TAG.equals(tag)
+                        || SVG_A_TAG.equals(tag));
 
             GraphicsNode gn = ctx.getGraphicsNode(curr);
             if (gn == null) {
@@ -531,8 +525,8 @@ public class SVGSVGElementBridge
                 if (curr == end) break;
                 // Otherwise check this node for intersection more
                 // carefully and if it still intersects add it.
-                if (SVGConstants.SVG_NAMESPACE_URI.equals(nsURI) &&
-                    SVGConstants.SVG_USE_TAG.equals(tag)) {
+                if (SVG_NAMESPACE_URI.equals(nsURI)
+                        && SVG_USE_TAG.equals(tag)) {
                     // FIXX: This really isn't right we need to 
                     // Add the proxy children.
                     if (rect.contains(gnBounds))
@@ -616,10 +610,10 @@ public class SVGSVGElementBridge
             String nsURI = curr.getNamespaceURI();
             String tag = curr.getLocalName();
             boolean isGroup;
-            isGroup = (SVGConstants.SVG_NAMESPACE_URI.equals(nsURI) &&
-                       ((SVGConstants.SVG_G_TAG.equals(tag)) ||
-                        (SVGConstants.SVG_SVG_TAG.equals(tag)) ||
-                        (SVGConstants.SVG_A_TAG.equals(tag))));
+            isGroup = SVG_NAMESPACE_URI.equals(nsURI)
+                && (SVG_G_TAG.equals(tag)
+                        || SVG_SVG_TAG.equals(tag)
+                        || SVG_A_TAG.equals(tag));
 
             GraphicsNode gn = ctx.getGraphicsNode(curr);
             if (gn == null) {
@@ -664,8 +658,8 @@ public class SVGSVGElementBridge
                 }
             } else {
                 if (curr == end) break;
-                if (SVGConstants.SVG_NAMESPACE_URI.equals(nsURI) &&
-                    SVGConstants.SVG_USE_TAG.equals(tag)) {
+                if (SVG_NAMESPACE_URI.equals(nsURI)
+                        && SVG_USE_TAG.equals(tag)) {
                     // FIXX: This really isn't right we need to 
                     // Add the proxy children.
                     if (rect.contains(gnBounds))
@@ -855,4 +849,63 @@ public class SVGSVGElementBridge
     public void deselectAll() {
         ctx.getUserAgent().deselectAll();
     }
+
+    public int          suspendRedraw ( int max_wait_milliseconds ) {
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null)
+            return um.addRedrawSuspension(max_wait_milliseconds);
+        return -1;
+    }
+    public boolean      unsuspendRedraw ( int suspend_handle_id ) {
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null)
+            return um.releaseRedrawSuspension(suspend_handle_id);
+        return false; // no UM so couldn't have issued an id...
+    }
+    public void         unsuspendRedrawAll (  ) {
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null)
+            um.releaseAllRedrawSuspension();
+    }
+
+    public void          forceRedraw (  ) {
+        UpdateManager um = ctx.getUpdateManager();
+        if (um != null)
+            um.forceRepaint();
+    }
+    
+    /**
+     * Pauses animations in the document.
+     */
+    public void pauseAnimations() {
+        ctx.getAnimationEngine().pause();
+    }
+
+    /**
+     * Unpauses animations in the document.
+     */
+    public void unpauseAnimations() {
+        ctx.getAnimationEngine().unpause();
+    }
+
+    /**
+     * Returns whether animations are currently paused.
+     */
+    public boolean animationsPaused() {
+        return ctx.getAnimationEngine().isPaused();
+    }
+
+    /**
+     * Returns the current document time.
+     */
+    public float getCurrentTime() {
+        return ctx.getAnimationEngine().getCurrentTime();
+    }
+
+    /**
+     * Sets the current document time.
+     */
+    public void setCurrentTime(float t) {
+        ctx.getAnimationEngine().setCurrentTime(t);
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSetElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSetElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSetElementBridge.java
new file mode 100644
index 0000000..93a1fbf
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSetElementBridge.java
@@ -0,0 +1,71 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.SetAnimation;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+
+/**
+ * A bridge class for the 'set' animation element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGSetElementBridge.java 478160 2006-11-22 13:35:06Z dvholten $
+ */
+public class SVGSetElementBridge extends SVGAnimationElementBridge {
+
+    /**
+     * Returns 'set'.
+     */
+    public String getLocalName() {
+        return SVG_SET_TAG;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGSetElementBridge();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected AbstractAnimation createAnimation(AnimationTarget target) {
+        AnimatableValue to = parseAnimatableValue(SVG_TO_ATTRIBUTE);
+        return new SetAnimation(timedElement, this, to);
+    }
+
+    /**
+     * Returns whether the animation element being handled by this bridge can
+     * animate attributes of the specified type.
+     * @param type one of the TYPE_ constants defined in {@link org.apache.flex.forks.batik.util.SVGTypes}.
+     */
+    protected boolean canAnimateType(int type) {
+        return true;
+    }
+
+    /**
+     * Returns whether this is a constant animation (i.e., a 'set' animation).
+     */
+    protected boolean isConstantAnimation() {
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGShapeElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGShapeElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGShapeElementBridge.java
index 94f172b..985dd4e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGShapeElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGShapeElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.Element;
  * The base bridge class for shapes. Subclasses bridge <tt>ShapeNode</tt>.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGShapeElementBridge.java,v 1.28 2004/08/20 19:29:46 deweese Exp $
+ * @version $Id: SVGShapeElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public abstract class SVGShapeElementBridge extends AbstractGraphicsNodeBridge {
 
@@ -49,9 +50,12 @@ public abstract class SVGShapeElementBridge extends AbstractGraphicsNodeBridge {
      */
     public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
         ShapeNode shapeNode = (ShapeNode)super.createGraphicsNode(ctx, e);
-	if (shapeNode == null) {
-	    return null;
-	}
+        if (shapeNode == null) {
+            return null;
+        }
+
+        associateSVGContext(ctx, e, shapeNode);
+
         // delegates to subclasses the shape construction
         buildShape(ctx, e, shapeNode);
 
@@ -137,7 +141,7 @@ public abstract class SVGShapeElementBridge extends AbstractGraphicsNodeBridge {
     /**
      * Invoked when the geometry of an graphical element has changed.
      */
-    protected  void handleGeometryChanged() {
+    protected void handleGeometryChanged() {
         super.handleGeometryChanged();
         ShapeNode shapeNode = (ShapeNode)node;
         shapeNode.setShapePainter(createShapePainter(ctx, e, shapeNode));

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSwitchElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSwitchElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSwitchElementBridge.java
index d4f72b2..259c4d2 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSwitchElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGSwitchElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,18 +20,24 @@ package org.apache.flex.forks.batik.bridge;
 
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.flex.forks.dom.svg.SVGTests;
+import org.w3c.dom.svg.SVGTests;
 
 /**
  * Bridge class for the &lt;switch> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGSwitchElementBridge.java,v 1.17 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGSwitchElementBridge.java 491178 2006-12-30 06:18:34Z cam $
  */
-public class SVGSwitchElementBridge extends AbstractSVGBridge
-    implements GraphicsNodeBridge {
+public class SVGSwitchElementBridge extends SVGGElementBridge {
+
+    /**
+     * The child element that was chosen for rendering according to the
+     * test attributes.
+     */
+    protected Element selectedChild;
 
     /**
      * Constructs a new bridge for the &lt;switch> element.
@@ -44,8 +51,11 @@ public class SVGSwitchElementBridge extends AbstractSVGBridge
         return SVG_SWITCH_TAG;
     }
 
-    public Bridge getInstance(){
-        return this;
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGSwitchElementBridge();
     }
 
     /**
@@ -58,59 +68,110 @@ public class SVGSwitchElementBridge extends AbstractSVGBridge
     public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
         GraphicsNode refNode = null;
         GVTBuilder builder = ctx.getGVTBuilder();
+        selectedChild = null;
         for (Node n = e.getFirstChild(); n != null; n = n.getNextSibling()) {
             if (n.getNodeType() == Node.ELEMENT_NODE) {
                 Element ref = (Element)n;
-                if (n instanceof SVGTests
-                    && SVGUtilities.matchUserAgent(ref, ctx.getUserAgent())) {
+                if (n instanceof SVGTests &&
+                        SVGUtilities.matchUserAgent(ref, ctx.getUserAgent())) {
+                    selectedChild = ref;
                     refNode = builder.build(ctx, ref);
                     break;
                 }
             }
         }
+
         if (refNode == null) {
             return null;
         }
-        CompositeGraphicsNode group = new CompositeGraphicsNode();
-        group.add(refNode);
-        // 'transform'
-        String s = e.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
-        if (s.length() != 0) {
-            group.setTransform
-                (SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s));
+
+        CompositeGraphicsNode group =
+            (CompositeGraphicsNode) super.createGraphicsNode(ctx, e);
+        if (group == null) {
+            return null;
         }
+
+        group.add(refNode);
+
         return group;
     }
 
     /**
-     * Builds using the specified BridgeContext and element, the
-     * specified graphics node.
-     *
-     * @param ctx the bridge context to use
-     * @param e the element that describes the graphics node to build
-     * @param node the graphics node to build
+     * Returns true as the &lt;switch> element is not a container.
      */
-    public void buildGraphicsNode(BridgeContext ctx,
-                                  Element e,
-                                  GraphicsNode node) {
-        // bind the specified element and its associated graphics node if needed
-        if (ctx.isInteractive()) {
-            ctx.bind(e, node);
-        }
+    public boolean isComposite() {
+        return false;
     }
 
+    // BridgeUpdateHandler implementation //////////////////////////////////
+
     /**
-     * Returns true if the graphics node has to be displayed, false
-     * otherwise.
+     * Disposes this BridgeUpdateHandler and releases all resources.
      */
-    public boolean getDisplay(Element e) {
-        return CSSUtilities.convertDisplay(e);
+    public void dispose() {
+        selectedChild = null;
+        super.dispose();
     }
 
     /**
-     * Returns false as the &lt;switch> element is not a container.
+     * Responds to the insertion of a child element by re-evaluating the
+     * test attributes.
      */
-    public boolean isComposite() {
-        return false;
+    protected void handleElementAdded(CompositeGraphicsNode gn, 
+                                      Node parent, 
+                                      Element childElt) {
+        for (Node n = childElt.getPreviousSibling(); n
+                != null;
+                n = n.getPreviousSibling()) {
+            if (n == childElt) {
+                return;
+            }
+        }
+        if (childElt instanceof SVGTests
+                && SVGUtilities.matchUserAgent(childElt, ctx.getUserAgent())) {
+            if (selectedChild != null) {
+                gn.remove(0);
+                disposeTree(selectedChild);
+            }
+            selectedChild = childElt;
+            GVTBuilder builder = ctx.getGVTBuilder();
+            GraphicsNode refNode = builder.build(ctx, childElt);
+            if (refNode != null) {
+                gn.add(refNode);
+            }
+        }
+    }
+
+    /**
+     * Responds to the removal of a child element by re-evaluating the
+     * test attributes.
+     */
+    protected void handleChildElementRemoved(Element e) {
+        CompositeGraphicsNode gn = (CompositeGraphicsNode) node;
+        if (selectedChild == e) {
+            gn.remove(0);
+            disposeTree(selectedChild);
+            selectedChild = null;
+            GraphicsNode refNode = null;
+            GVTBuilder builder = ctx.getGVTBuilder();
+            for (Node n = e.getNextSibling();
+                    n != null;
+                    n = n.getNextSibling()) {
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    Element ref = (Element) n;
+                    if (n instanceof SVGTests &&
+                            SVGUtilities.matchUserAgent
+                                (ref, ctx.getUserAgent())) {
+                        refNode = builder.build(ctx, ref);
+                        selectedChild = ref;
+                        break;
+                    }
+                }
+            }
+
+            if (refNode != null) {
+                gn.add(refNode);
+            }
+        }
     }
 }


[21/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Resources.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Resources.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Resources.java
deleted file mode 100644
index 484e95f..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Resources.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-
-import org.apache.flex.forks.batik.i18n.LocalizableSupport;
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-
-/**
- * This class manages the message for the Swing extensions.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: Resources.java,v 1.6 2004/08/18 07:12:27 vhardy Exp $
- */
-public class Resources {
-
-    /**
-     * This class does not need to be instantiated.
-     */
-    protected Resources() { }
-
-    /**
-     * The error messages bundle class name.
-     */
-    protected final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.GUI";
-
-    /**
-     * The localizable support for the error messages.
-     */
-    protected static LocalizableSupport localizableSupport =
-        new LocalizableSupport(RESOURCES, Resources.class.getClassLoader());
-
-    /**
-     * The resource manager to decode messages.
-     */
-    protected static ResourceManager resourceManager =
-        new ResourceManager(localizableSupport.getResourceBundle());
-
-    /**
-     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#setLocale(Locale)}.
-     */
-    public static void setLocale(Locale l) {
-        localizableSupport.setLocale(l);
-        resourceManager = new ResourceManager(localizableSupport.getResourceBundle());
-    }
-
-    /**
-     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#getLocale()}.
-     */
-    public static Locale getLocale() {
-        return localizableSupport.getLocale();
-    }
-
-    /**
-     * Implements {@link
-     * org.apache.flex.forks.batik.i18n.Localizable#formatMessage(String,Object[])}.
-     */
-    public static String formatMessage(String key, Object[] args)
-        throws MissingResourceException {
-        return localizableSupport.formatMessage(key, args);
-    }
-
-    public static String getString(String key)
-        throws MissingResourceException {
-        return resourceManager.getString(key);
-    }
-
-    public static int getInteger(String key) 
-        throws MissingResourceException {
-        return resourceManager.getInteger(key);
-    }
-
-    public static int getCharacter(String key)
-        throws MissingResourceException {
-        return resourceManager.getCharacter(key);
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGInputHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGInputHandler.java
deleted file mode 100644
index 9cf8f9c..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGInputHandler.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.File;
-
-import org.apache.flex.forks.batik.util.ParsedURL;
-
-/**
- * This implementation of the <tt>SquiggleInputHandler</tt> class
- * simply displays an SVG file into the JSVGCanvas.
- *
- * @author <a mailto="vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: SVGInputHandler.java,v 1.5 2004/08/18 07:12:27 vhardy Exp $
- */
-public class SVGInputHandler implements SquiggleInputHandler {
-    public static final String[] SVG_MIME_TYPES = 
-    { "image/svg+xml" };
-
-    public static final String[] SVG_FILE_EXTENSIONS =
-    { ".svg", ".svgz" };
-
-    /**
-     * Returns the list of mime types handled by this handler.
-     */
-    public String[] getHandledMimeTypes() {
-        return SVG_MIME_TYPES;
-    }
-    
-    /**
-     * Returns the list of file extensions handled by this handler
-     */
-    public String[] getHandledExtensions() {
-        return SVG_FILE_EXTENSIONS;
-    }
-
-    /**
-     * Returns a description for this handler.
-     */
-    public String getDescription() {
-        return "";
-    }
-
-    /**
-     * Handles the given input for the given JSVGViewerFrame
-     */
-    public void handle(ParsedURL purl, JSVGViewerFrame svgViewerFrame) {
-        svgViewerFrame.getJSVGCanvas().loadSVGDocument(purl.toString());
-    }
-
-    /**
-     * Returns true if the input file can be handled.
-     */
-    public boolean accept(File f) {
-        return f != null && f.isFile() && accept(f.getPath());
-    }
-
-    /**
-     * Returns true if the input URI can be handled by the handler
-     */
-    public boolean accept(ParsedURL purl) {
-        // <!> Note: this should be improved to rely on Mime Type 
-        //     when the http protocol is used. This will use the 
-        //     ParsedURL.getContentType method.
-        if (purl == null) {
-            return false;
-        }
-
-        String path = purl.getPath();
-        if (path == null) return false;
-
-        return accept(path);
-    }
-
-    /**
-     * Returns true if the resource at the given path can be handled
-     */
-    public boolean accept(String path) {
-        if (path == null) return false;
-        for (int i=0; i<SVG_FILE_EXTENSIONS.length; i++) {
-            if (path.endsWith(SVG_FILE_EXTENSIONS[i])) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGOptionPanel.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGOptionPanel.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGOptionPanel.java
deleted file mode 100644
index bb26f25..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SVGOptionPanel.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.Component;
-import java.awt.BorderLayout;
-
-import javax.swing.JLabel;
-import javax.swing.JCheckBox;
-
-/**
- * This class represents a panel to control svg encoding options.
- *
- * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGOptionPanel.java,v 1.2 2005/03/29 10:48:02 deweese Exp $
- */
-public class SVGOptionPanel extends OptionPanel {
-    /**
-     * The svg encoding options.
-     */
-    protected JCheckBox xmlbaseCB;
-    protected JCheckBox prettyPrintCB;
-
-    /**
-     * Creates a new panel.
-     */
-    public SVGOptionPanel() {
-	super(new BorderLayout());
-	add(new JLabel(resources.getString("SVGOptionPanel.label")), 
-	    BorderLayout.NORTH);
-
-        xmlbaseCB = new JCheckBox
-            (resources.getString("SVGOptionPanel.UseXMLBase"));
-        xmlbaseCB.setSelected
-            (resources.getBoolean("SVGOptionPanel.UseXMLBaseDefault"));
-        add(xmlbaseCB, BorderLayout.CENTER);
-             
-        prettyPrintCB = new JCheckBox
-            (resources.getString("SVGOptionPanel.PrettyPrint"));
-        prettyPrintCB.setSelected
-            (resources.getBoolean("SVGOptionPanel.PrettyPrintDefault"));
-        add(prettyPrintCB, BorderLayout.SOUTH);
-    }
-
-    /**
-     * Returns true if the output should use xml:base.
-     */
-    public boolean getUseXMLBase() {
-	return xmlbaseCB.isSelected();
-    }
-
-    /**
-     * Returns true if the output should use xml:base.
-     */
-    public boolean getPrettyPrint() {
-	return prettyPrintCB.isSelected();
-    }
-
-    /**
-     * Shows a dialog to choose the jpeg encoding quality and return
-     * the quality as a float.  
-     */
-    public static SVGOptionPanel showDialog(Component parent) {
-        String title = resources.getString("SVGOptionPanel.dialog.title");
-        SVGOptionPanel panel = new SVGOptionPanel();
-	Dialog dialog = new Dialog(parent, title, panel);
-	dialog.pack();
-	dialog.show();
-	return panel;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandler.java
deleted file mode 100644
index ddc332e..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.File;
-
-import org.apache.flex.forks.batik.util.ParsedURL;
-
-/**
- * This is the interface expected from classes which can handle specific 
- * types of input for the Squiggle SVG browser. The simplest implementation
- * will simply handle SVG documents. Other, more sophisticated implementations
- * will handle other types of documents and convert them into SVG before
- * displaying them in an SVG canvas.
- *
- * @author <a mailto="vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: SquiggleInputHandler.java,v 1.3 2004/08/18 07:12:27 vhardy Exp $
- */
-public interface SquiggleInputHandler {
-    /**
-     * Returns the list of mime types handled by this handler.
-     */
-    String[] getHandledMimeTypes();
-
-    /**
-     * Returns the list of file extensions handled by this handler
-     */
-    String[] getHandledExtensions();
-
-    /**
-     * Returns a description for this handler
-     */
-    String getDescription();
-
-    /**
-     * Returns true if the input file can be handled by the handler
-     */
-    boolean accept(File f);
-
-    /**
-     * Returns true if the input URI can be handled by the handler
-     * @param purl URL describing the candidate input
-     */
-    boolean accept(ParsedURL purl);
-
-    /**
-     * Handles the given input for the given JSVGViewerFrame
-     */
-    void handle(ParsedURL purl, JSVGViewerFrame svgFrame) throws Exception ;
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandlerFilter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandlerFilter.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandlerFilter.java
deleted file mode 100644
index ac5498c..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/SquiggleInputHandlerFilter.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.File;
-
-import javax.swing.filechooser.FileFilter;
-
-/**
- * This class filters file for a given <tt>SquiggleInputHandler</tt>
- *
- * @author <a mailto="vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: SquiggleInputHandlerFilter.java,v 1.4 2004/08/18 07:12:27 vhardy Exp $
- */
-public class SquiggleInputHandlerFilter extends FileFilter {
-    protected SquiggleInputHandler handler;
-
-    public SquiggleInputHandlerFilter(SquiggleInputHandler handler) {
-        this.handler = handler;
-    }
-
-    public boolean accept(File f) {
-        return f.isDirectory() || handler.accept(f);
-    }
-
-    public String getDescription() {
-        StringBuffer sb = new StringBuffer();
-        String extensions[] = handler.getHandledExtensions();
-        int n = extensions != null ? extensions.length : 0;
-        for (int i=0; i<n; i++) {
-            if (i > 0) {
-                sb.append(", ");
-            }
-            sb.append(extensions[i]);
-        }
-
-        if (n > 0) {
-            sb.append(" ");
-        }
-
-        sb.append(handler.getDescription());
-        return sb.toString();
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/StatusBar.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/StatusBar.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/StatusBar.java
deleted file mode 100644
index 36d1569..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/StatusBar.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Dimension;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.border.BevelBorder;
-
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-
-/**
- * This class represents a viewer status bar.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: StatusBar.java,v 1.8 2005/03/27 08:58:30 cam Exp $
- */
-public class StatusBar extends JPanel {
-
-    /**
-     * The gui resources file name
-     */
-    protected final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.StatusBarMessages";
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager rManager;
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        rManager = new ResourceManager(bundle);
-    }
-
-    /**
-     * The x position/width label.
-     */
-    protected JLabel xPosition;
-
-    /**
-     * The y position/height label.
-     */
-    protected JLabel yPosition;
-
-    /**
-     * The zoom label.
-     */
-    protected JLabel zoom;
-
-    /**
-     * The message label
-     */
-    protected JLabel message;
-
-    /**
-     * The main message
-     */
-    protected String mainMessage;
-
-    /**
-     * The temporary message
-     */
-    protected String temporaryMessage;
-
-    /**
-     * The current display thread.
-     */
-    protected DisplayThread displayThread;
-
-    /**
-     * Creates a new status bar.
-     */
-    public StatusBar() {
-        super(new BorderLayout(5, 5));
-
-        JPanel p = new JPanel(new BorderLayout(0, 0));
-        add("West", p);
-
-        xPosition = new JLabel();
-        BevelBorder bb;
-        bb = new BevelBorder(BevelBorder.LOWERED,
-                             getBackground().brighter().brighter(),
-                             getBackground(),
-                             getBackground().darker().darker(),
-                             getBackground());
-        xPosition.setBorder(bb);
-        xPosition.setPreferredSize(new Dimension(110, 16));
-        p.add("West", xPosition);
-
-        yPosition = new JLabel();
-        yPosition.setBorder(bb);
-        yPosition.setPreferredSize(new Dimension(110, 16));
-        p.add("Center", yPosition);
-
-        zoom = new JLabel();
-        zoom.setBorder(bb);
-        zoom.setPreferredSize(new Dimension(70, 16));
-        p.add("East", zoom);
-
-        p = new JPanel(new BorderLayout(0, 0));
-        message = new JLabel();
-        message.setBorder(bb);
-        p.add(message);
-        add(p);
-        setMainMessage(rManager.getString("Panel.default_message"));
-    }
-
-    /**
-     * Sets the x position.
-     */
-    public void setXPosition(float x) {
-        xPosition.setText("x: " + x);
-    }
-
-    /**
-     * Sets the width.
-     */
-    public void setWidth(float w) {
-        xPosition.setText(rManager.getString("Position.width_letters") +
-                          " " + w);
-    }
-
-    /**
-     * Sets the y position.
-     */
-    public void setYPosition(float y) {
-        yPosition.setText("y: " + y);
-    }
-
-    /**
-     * Sets the height.
-     */
-    public void setHeight(float h) {
-        yPosition.setText(rManager.getString("Position.height_letters") +
-                          " " + h);
-    }
-
-    /**
-     * Sets the zoom factor.
-     */
-    public void setZoom(float f) {
-        f = (f > 0) ? f : -f;
-        if (f == 1) {
-            zoom.setText("1:1");
-        } else if (f >= 1) {
-            String s = Float.toString(f);
-            if (s.length() > 6) {
-                s = s.substring(0, 6);
-            }
-            zoom.setText("1:" + s);
-        } else {
-            String s = Float.toString(1 / f);
-            if (s.length() > 6) {
-                s = s.substring(0, 6);
-            }
-            zoom.setText(s + ":1");
-        }
-    }
-
-    /**
-     * Sets a temporary message
-     * @param s the message
-     */
-    public void setMessage(String s) {
-        setPreferredSize(new Dimension(0, getPreferredSize().height));
-        if (displayThread != null) {
-            displayThread.finish();
-        }
-        temporaryMessage = s;
-        Thread old = displayThread;
-        displayThread = new DisplayThread(old);
-        displayThread.start();
-    }
-
-    /**
-     * Sets the main message
-     * @param s the message
-     */
-    public void setMainMessage(String s) {
-        mainMessage = s;
-        message.setText(mainMessage = s);
-        if (displayThread != null) {
-            displayThread.finish();
-            displayThread = null;
-        }
-        setPreferredSize(new Dimension(0, getPreferredSize().height));
-    }
-
-    /**
-     * To display the main message
-     */
-    protected class DisplayThread extends Thread {
-        static final long DEFAULT_DURATION = 5000;
-        long duration;
-        Thread toJoin;
-        public DisplayThread() {
-            this(DEFAULT_DURATION, null);
-        }
-        public DisplayThread(long duration) {
-            this(duration, null);
-        }
-        public DisplayThread(Thread toJoin) {
-            this(DEFAULT_DURATION, toJoin);
-        }
-        public DisplayThread(long duration, Thread toJoin) {
-            this.duration = duration;
-            this.toJoin   = toJoin;
-            setPriority(Thread.MIN_PRIORITY);
-        }
-
-        public synchronized void finish() {
-            this.duration = 0;
-            this.notifyAll();
-        }
-
-        public void run() {
-            synchronized (this) {
-                if (toJoin != null) {
-                    while (toJoin.isAlive()) {
-                        try { toJoin.join(); }
-                        catch (InterruptedException ie) { }
-                    }
-                    toJoin = null;
-                }
-
-                message.setText(temporaryMessage);
-
-                long lTime = System.currentTimeMillis();
-
-                while (duration > 0) {
-                    try {
-                        wait(duration);
-                    } catch(InterruptedException e) { }
-                    long cTime = System.currentTimeMillis();
-                    duration -= (cTime-lTime);
-                    lTime = cTime;
-                }
-                message.setText(mainMessage);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ThumbnailDialog.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ThumbnailDialog.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ThumbnailDialog.java
deleted file mode 100644
index 57d8a76..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ThumbnailDialog.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BasicStroke;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.Graphics;
-import java.awt.Graphics2D;
-import java.awt.Shape;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.MouseEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Dimension2D;
-import java.awt.geom.NoninvertibleTransformException;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.util.List;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-import javax.swing.JDialog;
-import javax.swing.event.MouseInputAdapter;
-
-import org.apache.flex.forks.batik.bridge.ViewBox;
-import org.apache.flex.forks.batik.gvt.CanvasGraphicsNode;
-import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
-import org.apache.flex.forks.batik.gvt.GraphicsNode;
-import org.apache.flex.forks.batik.swing.JSVGCanvas;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererAdapter;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererEvent;
-import org.apache.flex.forks.batik.swing.gvt.JGVTComponent;
-import org.apache.flex.forks.batik.swing.gvt.Overlay;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderAdapter;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderEvent;
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-import org.apache.flex.forks.batik.util.SVGConstants;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGSVGElement;
-
-/**
- * This class represents a Dialog that displays a Thumbnail of the current SVG
- * document.
- *
- * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: ThumbnailDialog.java,v 1.15 2005/03/27 08:58:30 cam Exp $
- */
-public class ThumbnailDialog extends JDialog {
-
-    /**
-     * The resource file name
-     */
-    protected final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.ThumbnailDialog";
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager resources;
-
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        resources = new ResourceManager(bundle);
-    }
-
-    /** The canvas that owns the SVG document to display. */
-    protected JSVGCanvas svgCanvas;
-
-    /** The canvas that displays the thumbnail. */
-    protected JGVTComponent svgThumbnailCanvas;
-
-    /** A flag bit that indicates a document has been loaded. */
-    protected boolean documentChanged;
-
-    /** The overlay used to display the area of interest. */
-    protected AreaOfInterestOverlay overlay;
-
-    /** The overlay used to display the area of interest. */
-    protected AreaOfInterestListener aoiListener;
-
-    protected boolean interactionEnabled = true;
-
-    /**
-     * Constructs a new <tt>ThumbnailDialog</tt> for the specified canvas.
-     *
-     * @param owner the owner frame
-     * @param svgCanvas the canvas that owns the SVG document to display
-     */
-    public ThumbnailDialog(Frame owner, JSVGCanvas svgCanvas) {
-        super(owner, resources.getString("Dialog.title"));
-
-        addWindowListener(new ThumbnailListener());
-
-        // register listeners to maintain consistency
-        this.svgCanvas = svgCanvas;
-        svgCanvas.addGVTTreeRendererListener(new ThumbnailGVTListener());
-        svgCanvas.addSVGDocumentLoaderListener(new ThumbnailDocumentListener());        
-        svgCanvas.addComponentListener(new ThumbnailCanvasComponentListener());
-
-        // create the thumbnail
-        svgThumbnailCanvas = new JGVTComponent();
-        overlay = new AreaOfInterestOverlay();
-        svgThumbnailCanvas.getOverlays().add(overlay);
-        svgThumbnailCanvas.setPreferredSize(new Dimension(150, 150));
-        svgThumbnailCanvas.addComponentListener(new ThumbnailComponentListener());
-        aoiListener = new AreaOfInterestListener();
-        svgThumbnailCanvas.addMouseListener(aoiListener);
-        svgThumbnailCanvas.addMouseMotionListener(aoiListener);
-        getContentPane().add(svgThumbnailCanvas, BorderLayout.CENTER);
-    }
-
-    public void setInteractionEnabled(boolean b) {
-        if (b == interactionEnabled) return;
-        interactionEnabled = b;
-        if (b) {
-            svgThumbnailCanvas.addMouseListener      (aoiListener);
-            svgThumbnailCanvas.addMouseMotionListener(aoiListener);
-        } else {
-            svgThumbnailCanvas.removeMouseListener      (aoiListener);
-            svgThumbnailCanvas.removeMouseMotionListener(aoiListener);
-        }
-    }
-
-    public boolean getInteractionEnabled() {
-        return interactionEnabled;
-    }
-
-    /**
-     * Updates the thumbnail component.
-     */
-    protected void updateThumbnailGraphicsNode() {
-        svgThumbnailCanvas.setGraphicsNode(svgCanvas.getGraphicsNode());
-        updateThumbnailRenderingTransform();
-    }
-
-    protected CanvasGraphicsNode getCanvasGraphicsNode(GraphicsNode gn) {
-        if (!(gn instanceof CompositeGraphicsNode))
-            return null;
-        CompositeGraphicsNode cgn = (CompositeGraphicsNode)gn;
-        List children = cgn.getChildren();
-        if (children.size() == 0) 
-            return null;
-        gn = (GraphicsNode)cgn.getChildren().get(0);
-        if (!(gn instanceof CanvasGraphicsNode))
-            return null;
-        return (CanvasGraphicsNode)gn;
-    }
-
-    /**
-     * Updates the thumbnail component rendering transform.
-     */
-    protected void updateThumbnailRenderingTransform() {
-        SVGDocument svgDocument = svgCanvas.getSVGDocument();
-        if (svgDocument != null) {
-            SVGSVGElement elt = svgDocument.getRootElement();
-            Dimension dim = svgThumbnailCanvas.getSize();
-
-            String viewBox = elt.getAttributeNS
-                (null, SVGConstants.SVG_VIEW_BOX_ATTRIBUTE);
-
-            AffineTransform Tx;
-            if (viewBox.length() != 0) {
-                String aspectRatio = elt.getAttributeNS
-                    (null, SVGConstants.SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE);
-                Tx = ViewBox.getPreserveAspectRatioTransform
-                    (elt, viewBox, aspectRatio, dim.width, dim.height);
-            }else {
-                // no viewBox has been specified, create a scale transform
-                Dimension2D docSize = svgCanvas.getSVGDocumentSize();
-                double sx = dim.width / docSize.getWidth();
-                double sy = dim.height / docSize.getHeight();
-                double s = Math.min(sx, sy);
-                Tx = AffineTransform.getScaleInstance(s, s);
-            }
-
-            GraphicsNode gn = svgCanvas.getGraphicsNode();
-            CanvasGraphicsNode cgn = getCanvasGraphicsNode(gn);
-            if (cgn != null) {
-                AffineTransform vTx = cgn.getViewingTransform();
-                if ((vTx != null) && !vTx.isIdentity()) {
-                    try {
-                        AffineTransform invVTx = vTx.createInverse();
-                        Tx.concatenate(invVTx);
-                    } catch (NoninvertibleTransformException nite) {
-                        /* nothing */
-                    }
-                }
-            }
-
-            svgThumbnailCanvas.setRenderingTransform(Tx);
-            overlay.synchronizeAreaOfInterest();
-        }
-    }
-
-    /**
-     * Used to determine whether or not the GVT tree of the thumbnail has to be
-     * updated.
-     */
-    protected class ThumbnailDocumentListener extends SVGDocumentLoaderAdapter {
-
-        public void documentLoadingStarted(SVGDocumentLoaderEvent e) {
-            documentChanged = true;
-        }
-    }
-
-    /**
-     * Used to perform a translation using the area of interest.
-     */
-    protected class AreaOfInterestListener extends MouseInputAdapter {
-
-        protected int sx, sy;
-        protected boolean in;
-
-        public void mousePressed(MouseEvent evt) {
-            sx = evt.getX();
-            sy = evt.getY();
-            in = overlay.contains(sx, sy);
-            overlay.setPaintingTransform(new AffineTransform());
-        }
-
-        public void mouseDragged(MouseEvent evt) {
-            if (in) {
-                int dx = evt.getX() - sx;
-                int dy = evt.getY() - sy;
-                overlay.setPaintingTransform
-                    (AffineTransform.getTranslateInstance(dx, dy));
-                svgThumbnailCanvas.repaint();
-            }
-        }
-
-        public void mouseReleased(MouseEvent evt) {
-            if (in) {
-                in = false;
-
-                int dx = evt.getX() - sx;
-                int dy = evt.getY() - sy;
-                AffineTransform at = overlay.getOverlayTransform();
-                Point2D pt0 = new Point2D.Float(0, 0);
-                Point2D pt = new Point2D.Float(dx, dy);
-
-                try {
-                    at.inverseTransform(pt0, pt0);
-                    at.inverseTransform(pt, pt);
-                    double tx = pt0.getX() - pt.getX();
-                    double ty = pt0.getY() - pt.getY();
-                    at = svgCanvas.getRenderingTransform();
-                    at.preConcatenate
-                        (AffineTransform.getTranslateInstance(tx, ty));
-                    svgCanvas.setRenderingTransform(at);
-                } catch (NoninvertibleTransformException ex) { }
-            }
-        }
-    }
-
-    /**
-     * Used to update the overlay and/or the GVT tree of the thumbnail.
-     */
-    protected class ThumbnailGVTListener extends GVTTreeRendererAdapter {
-
-        public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
-            if (documentChanged) {
-                updateThumbnailGraphicsNode();
-                documentChanged = false;
-            } else {
-                overlay.synchronizeAreaOfInterest();
-                svgThumbnailCanvas.repaint();
-            }
-        }
-
-        public void gvtRenderingCancelled(GVTTreeRendererEvent e) {
-	    if (documentChanged) {
-		svgThumbnailCanvas.setGraphicsNode(null);
-		svgThumbnailCanvas.setRenderingTransform(new AffineTransform());
-	    }
-        }
-
-        public void gvtRenderingFailed(GVTTreeRendererEvent e) {
-	    if (documentChanged) {
-		svgThumbnailCanvas.setGraphicsNode(null);
-		svgThumbnailCanvas.setRenderingTransform(new AffineTransform());
-	    }
-	}
-    }
-
-    /**
-     * Used the first time the thumbnail dialog is shown to make visible the
-     * current GVT tree being displayed by the original SVG component.
-     */
-    protected class ThumbnailListener extends WindowAdapter {
-
-        public void windowOpened(WindowEvent evt) {
-            updateThumbnailGraphicsNode();
-        }
-    }
-
-    /**
-     * Used to allow the SVG document being displayed by the thumbnail to be
-     * resized properly.
-     */
-    protected class ThumbnailComponentListener extends ComponentAdapter {
-
-        public void componentResized(ComponentEvent e) {
-            updateThumbnailRenderingTransform();
-        }
-    }
-
-    /**
-     * Used to allow the SVG document being displayed by the thumbnail to be
-     * resized properly when parent resizes.
-     */
-    protected class ThumbnailCanvasComponentListener extends ComponentAdapter {
-
-        public void componentResized(ComponentEvent e) {
-            updateThumbnailRenderingTransform();
-        }
-    }
-
-    /**
-     * An overlay that represents the current area of interest.
-     */
-    protected class AreaOfInterestOverlay implements Overlay {
-
-        protected Shape s;
-        protected AffineTransform at;
-        protected AffineTransform paintingTransform = new AffineTransform();
-
-        public boolean contains(int x, int y) {
-            return (s != null) ? s.contains(x, y) : false;
-        }
-
-        public AffineTransform getOverlayTransform() {
-            return at;
-        }
-
-        public void setPaintingTransform(AffineTransform rt) {
-            this.paintingTransform = rt;
-        }
-
-        public AffineTransform getPaintingTransform() {
-            return paintingTransform;
-        }
-
-        public void synchronizeAreaOfInterest() {
-            paintingTransform = new AffineTransform();
-            Dimension dim = svgCanvas.getSize();
-            s = new Rectangle2D.Float(0, 0, dim.width, dim.height);
-            try {
-		at = svgCanvas.getRenderingTransform().createInverse();
-		at.preConcatenate(svgThumbnailCanvas.getRenderingTransform());
-                s = at.createTransformedShape(s);
-            } catch (NoninvertibleTransformException ex) {
-                dim = svgThumbnailCanvas.getSize();
-                s = new Rectangle2D.Float(0, 0, dim.width, dim.height);
-            }
-        }
-
-        public void paint(Graphics g) {
-            if (s != null) {
-                Graphics2D g2d = (Graphics2D)g;
-                g2d.transform(paintingTransform);
-                g2d.setColor(new Color(255, 255, 255, 128));
-                g2d.fill(s);
-                g2d.setColor(Color.black);
-                g2d.setStroke(new BasicStroke());
-                g2d.draw(s);
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/TransformHistory.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/TransformHistory.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/TransformHistory.java
deleted file mode 100644
index 112bbfc..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/TransformHistory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.geom.AffineTransform;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This class implements a transform history mechanism.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: TransformHistory.java,v 1.4 2004/08/18 07:12:27 vhardy Exp $
- */
-public class TransformHistory {
-    
-    /**
-     * The transform stack.
-     */
-    protected List transforms = new ArrayList();
-
-    /**
-     * The current position in the stack.
-     */
-    protected int position = -1;
-
-    /**
-     * Goes back of one position in the history.
-     * Assumes that <tt>canGoBack()</tt> is true.
-     */
-    public void back() {
-        position -= 2;
-    }
-
-    /**
-     * Whether it is possible to go back.
-     */
-    public boolean canGoBack() {
-        return position > 0;
-    }
-
-    /**
-     * Goes forward of one position in the history.
-     * Assumes that <tt>canGoForward()</tt> is true.
-     */
-    public void forward() {
-    }
-
-    /**
-     * Whether it is possible to go forward.
-     */
-    public boolean canGoForward() {
-        return position < transforms.size() - 1;
-    }
-
-    /**
-     * Returns the current transform.
-     */
-    public AffineTransform currentTransform() {
-        return (AffineTransform)transforms.get(position + 1);
-    }
-
-    /**
-     * Adds a transform to the history.
-     */
-    public void update(AffineTransform at) {
-        if (position < -1) {
-            position = -1;
-        }
-        if (++position < transforms.size()) {
-            if (!transforms.get(position).equals(at)) {
-                transforms = transforms.subList(0, position + 1);
-            }
-            transforms.set(position, at);
-        } else {
-            transforms.add(at);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/WindowsAltFileSystemView.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/WindowsAltFileSystemView.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/WindowsAltFileSystemView.java
deleted file mode 100644
index 804ab89..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/WindowsAltFileSystemView.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Vector;
-
-import javax.swing.filechooser.FileSystemView;
-
-/**
- * Work around FileSystemView implementation bug on the Windows 
- * platform. See:
- *
- * <a href="http://forums.java.sun.com/thread.jsp?forum=38&thread=71491">
- * Using JFileChooser in WebStart-deployed application</a>
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: WindowsAltFileSystemView.java,v 1.4 2004/08/18 07:12:27 vhardy Exp $
- */
-
-// This class is necessary due to an annoying bug on Windows NT where
-// instantiating a JFileChooser with the default FileSystemView will
-// cause a "drive A: not ready" error every time. I grabbed the
-// Windows FileSystemView impl from the 1.3 SDK and modified it so
-// as to not use java.io.File.listRoots() to get fileSystem roots.
-// java.io.File.listRoots() does a SecurityManager.checkRead() which
-// causes the OS to try to access drive A: even when there is no disk,
-// causing an annoying "abort, retry, ignore" popup message every time
-// we instantiate a JFileChooser!
-//
-// Instead of calling listRoots() we use a straightforward alternate
-// method of getting file system roots.
-
-class WindowsAltFileSystemView extends FileSystemView {
-    public static final String EXCEPTION_CONTAINING_DIR_NULL
-        = "AltFileSystemView.exception.containing.dir.null";
-
-    public static final String EXCEPTION_DIRECTORY_ALREADY_EXISTS
-        = "AltFileSystemView.exception.directory.already.exists";
-
-    public static final String NEW_FOLDER_NAME = 
-        " AltFileSystemView.new.folder.name";
-
-    public static final String FLOPPY_DRIVE = 
-        "AltFileSystemView.floppy.drive";
-
-    private static final Object[] noArgs = {};
-    private static final Class[] noArgTypes = {};
-    
-    private static Method listRootsMethod = null;
-    private static boolean listRootsMethodChecked = false;
-    
-    /**
-     * Returns true if the given file is a root.
-     */
-    public boolean isRoot(File f) {
-        if(!f.isAbsolute()) {
-            return false;
-        }
-        
-        String parentPath = f.getParent();
-        if(parentPath == null) {
-            return true;
-        } else {
-            File parent = new File(parentPath);
-            return parent.equals(f);
-        }
-    }
-    
-    /**
-     * creates a new folder with a default folder name.
-     */
-    public File createNewFolder(File containingDir) throws
-        IOException {
-        if(containingDir == null) {
-            throw new IOException(Resources.getString(EXCEPTION_CONTAINING_DIR_NULL));
-        }
-        File newFolder = null;
-        // Using NT's default folder name
-        newFolder = createFileObject(containingDir, 
-                                     Resources.getString(NEW_FOLDER_NAME));
-        int i = 2;
-        while (newFolder.exists() && (i < 100)) {
-            newFolder = createFileObject
-                (containingDir, Resources.getString(NEW_FOLDER_NAME) + " (" + i + ")");
-            i++;
-        }
-        
-        if(newFolder.exists()) {
-            throw new IOException
-                (Resources.formatMessage(EXCEPTION_DIRECTORY_ALREADY_EXISTS,
-                                         new Object[]{newFolder.getAbsolutePath()}));
-        } else {
-            newFolder.mkdirs();
-        }
-        
-        return newFolder;
-    }
-    
-    /**
-     * Returns whether a file is hidden or not. On Windows
-     * there is currently no way to get this information from
-     * io.File, therefore always return false.
-     */
-    public boolean isHiddenFile(File f) {
-        return false;
-    }
-    
-    /**
-     * Returns all root partitians on this system. On Windows, this
-     * will be the A: through Z: drives.
-     */
-    public File[] getRoots() {
-        
-        Vector rootsVector = new Vector();
-        
-        // Create the A: drive whether it is mounted or not
-        FileSystemRoot floppy = new FileSystemRoot(Resources.getString(FLOPPY_DRIVE)
-                                                   + "\\");
-        rootsVector.addElement(floppy);
-        
-        // Run through all possible mount points and check
-        // for their existance.
-        for (char c = 'C'; c <= 'Z'; c++) {
-            char device[] = {c, ':', '\\'};
-            String deviceName = new String(device);
-            File deviceFile = new FileSystemRoot(deviceName);
-            if (deviceFile != null && deviceFile.exists()) {
-                rootsVector.addElement(deviceFile);
-            }
-        }
-        File[] roots = new File[rootsVector.size()];
-        rootsVector.copyInto(roots);
-        return roots;
-    }
-    
-    class FileSystemRoot extends File {
-        public FileSystemRoot(File f) {
-            super(f, "");
-        }
-        
-        public FileSystemRoot(String s) {
-            super(s);
-        }
-        
-        public boolean isDirectory() {
-            return true;
-        }
-    }
-    
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLInputHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLInputHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLInputHandler.java
deleted file mode 100644
index c994252..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLInputHandler.java
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.File;
-import java.io.StringReader;
-import java.io.StringWriter;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.URIResolver;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.flex.forks.batik.dom.svg.SAXSVGDocumentFactory;
-import org.apache.flex.forks.batik.dom.svg.SVGDOMImplementation;
-import org.apache.flex.forks.batik.dom.util.DOMUtilities;
-import org.apache.flex.forks.batik.dom.util.HashTable;
-import org.apache.flex.forks.batik.util.ParsedURL;
-import org.apache.flex.forks.batik.util.SVGConstants;
-import org.apache.flex.forks.batik.util.XMLResourceDescriptor;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-
-/**
- * A <tt>SquiggleInputHandler</tt> that handles XSLT transformable
- * XML documents.
- * This implementation of the <tt>SquiggleInputHandler</tt> class
- * handles XML files by looking for the first
- * &lt;?xml-stylesheet ... ?&gt; processing instruction referencing
- * an xsl document. In case there is one, the transform is applied to the 
- * input XML file and the handler checks that the result is an 
- * SVG document with an SVG root.
- *
- * @author <a mailto="vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: XMLInputHandler.java,v 1.9 2005/03/27 08:58:30 cam Exp $
- */
-public class XMLInputHandler implements SquiggleInputHandler {
-    public static final String[] XVG_MIME_TYPES = 
-    { "image/xml+xsl+svg" };
-
-    public static final String[] XVG_FILE_EXTENSIONS =
-    { ".xml", ".xsl" };
-
-    public static final String ERROR_NO_XML_STYLESHEET_PROCESSING_INSTRUCTION
-        = "XMLInputHandler.error.no.xml.stylesheet.processing.instruction";
-
-    public static final String ERROR_TRANSFORM_OUTPUT_NOT_SVG
-        = "XMLInputHandler.error.transform.output.not.svg";
-
-    public static final String ERROR_TRANSFORM_PRODUCED_NO_CONTENT
-        = "XMLInputHandler.error.transform.produced.no.content";
-
-    public static final String ERROR_TRANSFORM_OUTPUT_WRONG_NS
-        = "XMLInputHandler.error.transform.output.wrong.ns";
-
-    public static final String ERROR_RESULT_GENERATED_EXCEPTION 
-        = "XMLInputHandler.error.result.generated.exception";
-
-    public static final String XSL_PROCESSING_INSTRUCTION_TYPE
-        = "text/xsl";
-
-    public static final String PSEUDO_ATTRIBUTE_TYPE
-        = "type";
-
-    public static final String PSEUDO_ATTRIBUTE_HREF
-        = "href";
-
-    /**
-     * Returns the list of mime types handled by this handler.
-     */
-    public String[] getHandledMimeTypes() {
-        return XVG_MIME_TYPES;
-    }
-    
-    /**
-     * Returns the list of file extensions handled by this handler
-     */
-    public String[] getHandledExtensions() {
-        return XVG_FILE_EXTENSIONS;
-    }
-
-    /**
-     * Returns a description for this handler
-     */
-    public String getDescription() {
-        return "";
-    }
-
-    /**
-     * Returns true if the input file can be handled by the handler
-     */
-    public boolean accept(File f) {
-        return f.isFile() && accept(f.getPath());
-    }
-
-    /**
-     * Returns true if the input URI can be handled by the handler
-     */
-    public boolean accept(ParsedURL purl) {
-        if (purl == null) {
-            return false;
-        }
-
-        // <!> Note: this should be improved to rely on Mime Type 
-        //     when the http protocol is used. This will use the 
-        //     ParsedURL.getContentType method.
-
-        String path = purl.getPath();        
-        return accept(path);
-    }
-
-    /**
-     * Return true if the resource with the given path can 
-     * be handled.
-     */
-    public boolean accept(String path) {
-        if (path == null) {
-            return false;
-        }
-
-        for (int i=0; i<XVG_FILE_EXTENSIONS.length; i++) {
-            if (path.endsWith(XVG_FILE_EXTENSIONS[i])) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Handles the given input for the given JSVGViewerFrame
-     */
-    public void handle(ParsedURL purl, JSVGViewerFrame svgViewerFrame) throws Exception {
-        String uri = purl.toString();
-
-        TransformerFactory tFactory 
-            = TransformerFactory.newInstance();
-        
-        // First, load the input XML document into a generic DOM tree
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setValidating(false);
-        dbf.setNamespaceAware(true);
-
-        DocumentBuilder db = dbf.newDocumentBuilder();
-
-        Document inDoc = db.parse(uri);
-       
-        // Now, look for <?xml-stylesheet ...?> processing instructions
-        String xslStyleSheetURI 
-            = extractXSLProcessingInstruction(inDoc);
-        
-        if (xslStyleSheetURI == null) {
-            // Assume that the input file is a literal result template
-            xslStyleSheetURI = uri;
-        }
-
-        ParsedURL parsedXSLStyleSheetURI 
-            = new ParsedURL(uri, xslStyleSheetURI);
-
-        Transformer transformer
-            = tFactory.newTransformer
-            (new StreamSource(parsedXSLStyleSheetURI.toString()));
-
-        // Set the URIResolver to properly handle document() and xsl:include
-        transformer.setURIResolver
-            (new DocumentURIResolver(parsedXSLStyleSheetURI.toString()));
-
-        // Now, apply the transformation to the input document.
-        //
-        // <!> Due to issues with namespaces, the transform creates the 
-        //     result in a stream which is parsed. This is sub-optimal
-        //     but this was the only solution found to be able to 
-        //     generate content in the proper namespaces.
-        //
-        // SVGOMDocument outDoc = 
-        //   (SVGOMDocument)impl.createDocument(svgNS, "svg", null);
-        // outDoc.setURLObject(new URL(uri));
-        // transformer.transform
-        //     (new DOMSource(inDoc),
-        //     new DOMResult(outDoc.getDocumentElement()));
-        //
-        StringWriter sw = new StringWriter();
-        StreamResult result = new StreamResult(sw);
-        transformer.transform(new DOMSource(inDoc),
-                              result);
-        sw.flush();
-        sw.close();
-
-        String parser = XMLResourceDescriptor.getXMLParserClassName();
-        SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
-        SVGDocument outDoc = null;
-
-        try {
-            outDoc = f.createSVGDocument
-                (uri, new StringReader(sw.toString()));
-        } catch (Exception e) {
-            System.err.println("======================================");
-            System.err.println(sw.toString());
-            System.err.println("======================================");
-            
-            throw new IllegalArgumentException
-                (Resources.getString(ERROR_RESULT_GENERATED_EXCEPTION));
-        }
-
-        // Patch the result tree to go under the root node
-        // checkAndPatch(outDoc);
-        
-        svgViewerFrame.getJSVGCanvas().setSVGDocument(outDoc);
-        svgViewerFrame.setSVGDocument(outDoc,
-                                      uri,
-                                      outDoc.getTitle());
-    }
-
-    /**
-     * This method checks that the generated content is SVG.
-     *
-     * This method accounts for the fact that the root svg's first child
-     * is the result of the transform. It moves all its children under the root
-     * and sets the attributes
-     */
-    protected void checkAndPatch(Document doc) {
-        Element root = doc.getDocumentElement();
-        Node realRoot = root.getFirstChild();
-        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;
-
-        if (realRoot == null) {
-            throw new IllegalArgumentException
-                (Resources.getString(ERROR_TRANSFORM_PRODUCED_NO_CONTENT));
-        }
-
-        if (realRoot.getNodeType() != Node.ELEMENT_NODE
-            || 
-            !SVGConstants.SVG_SVG_TAG.equals(realRoot.getLocalName())) {
-            throw new IllegalArgumentException
-                (Resources.getString(ERROR_TRANSFORM_OUTPUT_NOT_SVG));
-        }
-
-        if (!svgNS.equals(realRoot.getNamespaceURI())) {
-            throw new IllegalArgumentException
-                (Resources.getString(ERROR_TRANSFORM_OUTPUT_WRONG_NS));
-        }
-
-        Node child = realRoot.getFirstChild();
-        while ( child != null ) {
-            root.appendChild(child);
-            child = realRoot.getFirstChild();
-        }
-
-        NamedNodeMap attrs = realRoot.getAttributes();
-        int n = attrs.getLength();
-        for (int i=0; i<n; i++) {
-            root.setAttributeNode((Attr)attrs.item(i));
-        }
-
-        root.removeChild(realRoot);
-    }
-
-    /**
-     * Extracts the first XSL processing instruction from the input 
-     * XML document. 
-     */
-    protected String extractXSLProcessingInstruction(Document doc) {
-        Node child = doc.getFirstChild();
-        while (child != null) {
-            if (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-                ProcessingInstruction pi 
-                    = (ProcessingInstruction)child;
-                
-                HashTable table = new HashTable();
-                DOMUtilities.parseStyleSheetPIData(pi.getData(),
-                                                   table);
-
-                Object type = table.get(PSEUDO_ATTRIBUTE_TYPE);
-                if (XSL_PROCESSING_INSTRUCTION_TYPE.equals(type)) {
-                    Object href = table.get(PSEUDO_ATTRIBUTE_HREF);
-                    if (href != null) {
-                        return href.toString();
-                    } else {
-                        return null;
-                    }
-                }
-            }
-            child = child.getNextSibling();
-        }
-
-        return null;
-    }
-
-    /**
-     * Implements the URIResolver interface so that relative urls used in 
-     * transformations are resolved properly.
-     */
-    public class DocumentURIResolver implements URIResolver {
-        String documentURI;
-
-        public DocumentURIResolver(String documentURI) {
-            this.documentURI = documentURI;
-        }
-
-        public Source resolve(String href, String base) {
-            if (base == null || "".equals(base)) {
-                base = documentURI;
-            }
-
-            ParsedURL purl = new ParsedURL(base, href);
-
-            return new StreamSource(purl.toString());
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLPreferenceManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLPreferenceManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLPreferenceManager.java
deleted file mode 100644
index 543647c..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/XMLPreferenceManager.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
-
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-*/
-
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.flex.forks.batik.dom.GenericDOMImplementation;
-import org.apache.flex.forks.batik.dom.util.DOMUtilities;
-import org.apache.flex.forks.batik.dom.util.DocumentFactory;
-import org.apache.flex.forks.batik.dom.util.SAXDocumentFactory;
-import org.apache.flex.forks.batik.util.PreferenceManager;
-import org.apache.flex.forks.batik.util.XMLResourceDescriptor;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * An extension of {@link PreferenceManager} which store the preference
- * in XML.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: XMLPreferenceManager.java,v 1.6 2004/10/30 18:38:04 deweese Exp $
- */
-public class XMLPreferenceManager extends PreferenceManager {
-    
-    /**
-     * The XML parser
-     */
-    protected String xmlParserClassName;
-
-    /**
-     * The XML encoding used to store properties
-     */
-    public static final String PREFERENCE_ENCODING = "8859_1";
-
-    /**
-     * Creates a preference manager.
-     * @param prefFileName the name of the preference file.
-     */
-    public XMLPreferenceManager(String prefFileName){
-        this(prefFileName, null, 
-             XMLResourceDescriptor.getXMLParserClassName());
-    }
-
-    /**
-     * Creates a preference manager.
-     * @param prefFileName the name of the preference file.
-     * @param defaults where to get defaults value if the value is
-     * not specified in the file.
-     */
-    public XMLPreferenceManager(String prefFileName,
-                                Map defaults){
-        this(prefFileName, defaults, 
-             XMLResourceDescriptor.getXMLParserClassName());
-    }
-
-    /**
-     * Creates a preference manager.
-     * @param prefFileName the name of the preference file.
-     * @param parser The XML parser class name.
-     */
-    public XMLPreferenceManager(String prefFileName, String parser) {
-        this(prefFileName, null, parser);
-    }
-
-    /**
-     * Creates a preference manager with a default values
-     * initialization map.
-     * @param prefFileName the name of the preference file.
-     * @param defaults where to get defaults value if the value is
-     * not specified in the file.
-     * @param parser The XML parser class name.
-     */
-    public XMLPreferenceManager(String prefFileName, Map defaults, String parser) {
-        super(prefFileName, defaults);
-        internal = new XMLProperties();
-        xmlParserClassName = parser;
-    }
-
-    /**
-     * To store the preferences.
-     */
-    protected class XMLProperties extends Properties {
-
-        /**
-         * Reads a property list (key and element pairs) from the input stream.
-         * The stream is assumed to be using the ISO 8859-1 character encoding.
-         */
-        public synchronized void load(InputStream is) throws IOException {
-            BufferedReader r;
-            r = new BufferedReader(new InputStreamReader(is, PREFERENCE_ENCODING));
-            DocumentFactory df = new SAXDocumentFactory
-                (GenericDOMImplementation.getDOMImplementation(),
-                 xmlParserClassName);
-            Document doc = df.createDocument("http://xml.apache.org/batik/preferences",
-                                             "preferences",
-                                             null,
-                                             r);
-            Element elt = doc.getDocumentElement();
-            for (Node n = elt.getFirstChild(); n != null; n = n.getNextSibling()) {
-                if (n.getNodeType() == Node.ELEMENT_NODE) {
-                    if (n.getNodeName().equals("property")) {
-                        String name = ((Element)n).getAttributeNS(null, "name");
-                        
-                        StringBuffer cont = new StringBuffer();
-                        for (Node c = n.getFirstChild();
-                             c != null;
-                             c = c.getNextSibling()) {
-                            if (c.getNodeType() == Node.TEXT_NODE) {
-                                cont.append(c.getNodeValue());
-                            } else {
-                                break;
-                            }
-                        }
-                        String val = cont.toString();
-                        put(name, val);
-                    }
-                }
-            }
-        }
-
-        /**
-         * Writes this property list (key and element pairs) in this
-         * <code>Properties</code> table to the output stream in a format suitable
-         * for loading into a <code>Properties</code> table using the
-         * <code>load</code> method.
-         * The stream is written using the ISO 8859-1 character encoding.
-         */
-        public synchronized void store(OutputStream os, String header)
-            throws IOException {
-            BufferedWriter w;
-            w = new BufferedWriter(new OutputStreamWriter(os, PREFERENCE_ENCODING));
-
-            Map m = new HashMap();
-            enumerate(m);
-
-            w.write("<preferences xmlns=\"http://xml.apache.org/batik/preferences\">\n");
-
-            Iterator it = m.keySet().iterator();
-            while (it.hasNext()) {
-                String n = (String)it.next();
-                String v = (String)m.get(n);
-                
-                w.write("<property name=\"" + n + "\">");
-                w.write(DOMUtilities.contentToString(v));
-                w.write("</property>\n");
-            }
-
-            w.write("</preferences>\n");
-            w.flush();
-        }
-
-        /**
-         * Enumerates all key/value pairs in the specified m.
-         * @param m the map
-         */
-        private synchronized void enumerate(Map m) {
-            if (defaults != null) {
-                Iterator it = m.keySet().iterator();
-                while (it.hasNext()) {
-                    Object k = it.next();
-                    m.put(k, defaults.get(k));
-                }
-            }
-            Iterator it = keySet().iterator();
-            while (it.hasNext()) {
-                Object k = it.next();
-                m.put(k, get(k));
-            }
-        }
-        
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgpp/Main.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgpp/Main.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgpp/Main.java
deleted file mode 100644
index e71d240..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgpp/Main.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
-
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-*/
-
-package org.apache.flex.forks.batik.apps.svgpp;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.flex.forks.batik.i18n.LocalizableSupport;
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-import org.apache.flex.forks.batik.transcoder.TranscoderInput;
-import org.apache.flex.forks.batik.transcoder.TranscoderOutput;
-import org.apache.flex.forks.batik.transcoder.svg2svg.SVGTranscoder;
-
-/**
- * This class is the main class of the svgpp application.
- * <p>
- * svgpp is a pretty-printer for SVG source files.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: Main.java,v 1.8 2004/10/30 18:38:04 deweese Exp $
- */
-public class Main {
-
-    /**
-     * The application main method.
-     * @param args The command-line arguments.
-     */
-    public static void main(String[] args) {
-        new Main(args).run();
-    }
-
-    /**
-     * The default resource bundle base name.
-     */
-    public final static String BUNDLE_CLASSNAME =
-	"org.apache.flex.forks.batik.apps.svgpp.resources.Messages";
-
-    /**
-     * The localizable support.
-     */
-    protected static LocalizableSupport localizableSupport =
-        new LocalizableSupport(BUNDLE_CLASSNAME, Main.class.getClassLoader());
-
-    /**
-     * The arguments.
-     */
-    protected String[] arguments;
-
-    /**
-     * The current index.
-     */
-    protected int index;
-
-    /**
-     * The option handlers.
-     */
-    protected Map handlers = new HashMap();
-    {
-        handlers.put("-doctype", new DoctypeHandler());
-        handlers.put("-doc-width", new DocWidthHandler());
-        handlers.put("-newline", new NewlineHandler());
-        handlers.put("-public-id", new PublicIdHandler());
-        handlers.put("-no-format", new NoFormatHandler());
-        handlers.put("-system-id", new SystemIdHandler());
-        handlers.put("-tab-width", new TabWidthHandler());
-        handlers.put("-xml-decl", new XMLDeclHandler());
-    }
-
-    /**
-     * The transcoder.
-     */
-    protected Transcoder transcoder = new SVGTranscoder();
-
-    /**
-     * Initializes the application.
-     * @param args The command-line arguments.
-     */
-    public Main(String[] args) {
-        arguments = args;
-    }
-
-    /**
-     * Runs the pretty printer.
-     */
-    public void run() {
-        if (arguments.length == 0) {
-            printUsage();
-            return;
-        }
-        try {
-            for (;;) {
-                OptionHandler oh = (OptionHandler)handlers.get(arguments[index]);
-                if (oh == null) {
-                    break;
-                }
-                oh.handleOption();
-            }
-            TranscoderInput in;
-            in = new TranscoderInput(new java.io.FileReader(arguments[index++]));
-            TranscoderOutput out;
-            if (index < arguments.length) {
-                out = new TranscoderOutput(new java.io.FileWriter(arguments[index]));
-            } else {
-                out = new TranscoderOutput(new java.io.OutputStreamWriter(System.out));
-            }
-            transcoder.transcode(in, out);
-        } catch (Exception e) {
-            e.printStackTrace();
-            printUsage();
-        }
-    }
-
-    /**
-     * Prints the command usage.
-     */
-    protected void printUsage() {
-        printHeader();
-        System.out.println(localizableSupport.formatMessage("syntax", null));
-        System.out.println();
-        System.out.println(localizableSupport.formatMessage("options", null));
-        Iterator it = handlers.keySet().iterator();
-        while (it.hasNext()) {
-            String s = (String)it.next();
-            System.out.println(((OptionHandler)handlers.get(s)).getDescription());
-        }
-    }
-
-    /**
-     * Prints the command header.
-     */
-    protected void printHeader() {
-        System.out.println(localizableSupport.formatMessage("header", null));
-    }
-
-    /**
-     * This interface represents an option handler.
-     */
-    protected interface OptionHandler {
-        /**
-         * Handles the current option.
-         */
-        void handleOption();
-
-        /**
-         * Returns the option description.
-         */
-        String getDescription();
-    }
-
-    /**
-     * To handle the '-doctype' option.
-     */
-    protected class DoctypeHandler implements OptionHandler {
-        protected final Map values = new HashMap(6);
-        {
-            values.put("remove", SVGTranscoder.VALUE_DOCTYPE_REMOVE);
-            values.put("change", SVGTranscoder.VALUE_DOCTYPE_CHANGE);
-        }
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            Object val = values.get(arguments[index++]);
-            if (val == null) {
-                throw new IllegalArgumentException();
-            }
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_DOCTYPE, val);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("doctype.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-newline' option.
-     */
-    protected class NewlineHandler implements OptionHandler {
-        protected final Map values = new HashMap(6);
-        {
-            values.put("cr",    SVGTranscoder.VALUE_NEWLINE_CR);
-            values.put("cr-lf", SVGTranscoder.VALUE_NEWLINE_CR_LF);
-            values.put("lf",    SVGTranscoder.VALUE_NEWLINE_LF);
-        }
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            Object val = values.get(arguments[index++]);
-            if (val == null) {
-                throw new IllegalArgumentException();
-            }
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_NEWLINE, val);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("newline.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-no-format' option.
-     */
-    protected class NoFormatHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_FORMAT, Boolean.FALSE);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("no-format.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-public-id' option.
-     */
-    protected class PublicIdHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            String s = arguments[index++];
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_PUBLIC_ID, s);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("public-id.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-system-id' option.
-     */
-    protected class SystemIdHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            String s = arguments[index++];
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_SYSTEM_ID, s);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("system-id.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-xml-decl' option.
-     */
-    protected class XMLDeclHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            String s = arguments[index++];
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_XML_DECLARATION, s);
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("xml-decl.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-tab-width' option.
-     */
-    protected class TabWidthHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_TABULATION_WIDTH,
-                                          new Integer(arguments[index++]));
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("tab-width.description", null);
-        }
-    }
-
-    /**
-     * To handle the '-doc-width' option.
-     */
-    protected class DocWidthHandler implements OptionHandler {
-        public void handleOption() {
-            index++;
-            if (index >= arguments.length) {
-                throw new IllegalArgumentException();
-            }
-            transcoder.addTranscodingHint(SVGTranscoder.KEY_DOCUMENT_WIDTH,
-                                          new Integer(arguments[index++]));
-        }
-
-        public String getDescription() {
-            return localizableSupport.formatMessage("doc-width.description", null);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/ttf2svg/Main.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/ttf2svg/Main.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/ttf2svg/Main.java
deleted file mode 100644
index 4716677..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/ttf2svg/Main.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-*/
-
-package org.apache.flex.forks.batik.apps.ttf2svg;
-
-import org.apache.flex.forks.batik.svggen.font.SVGFont;
-
-/**
- * This test runs the True Type Font to SVG Font converter, the 
- * tool that allows some characters from a font to be converted
- * to the SVG Font format.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: Main.java,v 1.4 2004/10/30 18:38:04 deweese Exp $
- */
-public class Main {
-    public static void main(String[] args){
-        SVGFont.main(args);
-    }
-}
-


[50/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/DISCLAIMER
----------------------------------------------------------------------
diff --git a/DISCLAIMER b/DISCLAIMER
deleted file mode 100644
index 46661d6..0000000
--- a/DISCLAIMER
+++ /dev/null
@@ -1,8 +0,0 @@
-Apache Flex is an effort undergoing incubation at The Apache 
-Software Foundation (ASF), sponsored by the Apache Incubator. 
-Incubation is required of all newly accepted projects until a further 
-review indicates that the infrastructure, communications, and decision 
-making process have stabilized in a manner consistent with other 
-successful ASF projects. While incubation status is not necessarily a 
-reflection of the completeness or stability of the code, it does indicate 
-that the project has yet to be fully endorsed by the ASF.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/KEYS
----------------------------------------------------------------------
diff --git a/KEYS b/KEYS
index 46218b7..75dc18e 100644
--- a/KEYS
+++ b/KEYS
@@ -262,3 +262,63 @@ j7fbBfvl1NNzxoXm+WgO2/W1DSJDxO00rZboj/wOvff7YpXjqJ3Rgb5CDnLcTGSu
 EyHfcH1CYCaCMPEP2x5gPuQKWd2U
 =EadN
 -----END PGP PUBLIC KEY BLOCK-----
+
+pub   4096R/AEEAD151 2012-10-20
+uid                  Justin Mclean <jm...@apache.org>
+sig 3        AEEAD151 2012-10-20  Justin Mclean <jm...@apache.org>
+sub   4096R/A7926E70 2012-10-20
+sig          AEEAD151 2012-10-20  Justin Mclean <jm...@apache.org>
+
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
+Comment: GPGTools - http://gpgtools.org
+
+mQINBFCCDvYBEADuxrUv8i8fiU13BzGi2xfeotZejJSQnNgJ87hWyhATcko32UIZ
+5a52tKEMNaagNljTT3hexb3i1VsVagQ89eK9UUKk8a3/NfPvaqD3eyiB1ayAcOq1
+Ns1s/kpkXKh0HDPz7xwCkIGT3C7JSbQsz5jgfPI0EhKKrT2UjQYCe5zL34+fioWU
+I5+6PS6+HJMu9ylRsFra6WuzhQoUMp1Z9dD1t4cCQ9uPFE2wmheZIjwPBvkIWqgR
+1lC3pTx2HvY5UoAUvGaJCyf2tJPW4QnNKAgMlnmY8DDZrkJt0FmK6g2nosGBgxVe
+7GXCeOBGu/X52VAZ2PLOlr/r4e8AlvDM9iw2lR4lP/wp6CqpeWmzTv/I/mKltqfg
+nPEYTmpCHLyrDiyLHxuW2xq/qhJXzzAfPqV8M8Va9TVNvAK1vWITD3r52fwJV/YP
+cl7HEWF1bgC4nJH+y5NUgbFJ5p2waVMXNEhgfxQL/TrJO/e+Z7oWOyJp7jERAAiq
+m04+y5lKfaOzGTDlOi+XN4zSJwFf4C8NdYh1nQb8ze3R/4AikvzsR7aJPcQkvf1H
+XOgsUSbYwi3oFCcUxGVN+vn71sMX4/Z8m1NYhy/tidRwl4r5EULB52VujR/V5LtK
+X2IkcAZ72Adk+Kui01Cn8eEOYd/SJ542Vn0gZ6BItV8ClN3Q0tOvtN2AqQARAQAB
+tCJKdXN0aW4gTWNsZWFuIDxqbWNsZWFuQGFwYWNoZS5vcmc+iQI3BBMBCgAhBQJQ
+gg72AhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEODyhZOu6tFRMjMP/2Zw
+kYu7+I5RFEAabW+s/9OxnQsQzk2+tmPKzaNo+z+A3CYcVKTYM8HzjmkX+xxzj8rp
+YiwkFZfAs4TSnhMZ+rB5wVKQq4cis8xJahNwrB4ZGawZGkUF0HkegHwQqbsX5OcX
+vYvZDrbvVCuxrOTHNh4M0wip1bD3GnsNCjK+RuyGMNR1tDchNWqKxSCJsjB3n9SK
+yqc4y8cVDTxQfqMS0Um13vQUXJqW9goUIBpjiG44fqN/JghOqCiHMGqgGaSO1mHH
+u90eUHsMJbOCLuGDymaQW4NTn/o4GDjsOlPzm/fqHjINLOCRU/JJx4h9zF6vjSlj
+/yK/HsZcJ9x9B0IaYsie0VaBSlvBIcAlCd9BG0BMEOkTTryJA/4wfLuEapYMd5iK
+ewG21ZHFElBFgcEGk6CtZ9TrjU6IDf33WkkV0lUuAETlKsqk3V4kD4Sxqnb2ShkC
+DPARKNfM2sq5sY3chjx1UDTzTKNbtjrx36YdjJBzd+WWaFeDx7JwOevF+fqHSzNx
+jRbknp8R2pXphO3oYtloNqdh7gUMOYeS2W3CwZvZhsp2hlCHg6Nbsf8jtSgddQWa
+dE5MLyR4dywR/5Q6avI3YcguLGi0MFzzOeGWD/MPDWflWSN+duRndVM6ls4oSPft
+UBEkRI1DsgB9MzHZPDHbTEazxvwpHGPwIc/xDmZNuQINBFCCDvYBEADOjpMMPQGn
+L3XH5/h4wQTkWsAf7eq3ycG5lyDYZxwUi22Cn7uJZqLCJns4Ve3aC1LhwfJOYiLp
+KUwv5lmKdVGu3dsAZ5ES6eqKipoaOz9DSK0tPV2MxfNvfJ1olpgZn5GE2HQ9i1mh
+1+8+gSjVI/KNxhubVhrDbglgqpc8seIMlWqeYmoEOOo/RmyJYnqwQimtVqUu8PRH
+lUf3ItXxUOLr12uQKXoYPIMttf+Y85Id3Fp/+TBlBWSDIp4bSW1CSNlYEPl7Iopr
+yHUbAH8De9CGUeC7dhjj+C5a1QNG+3+lgW6g2mb3RJ6b8/iqUPCWyqDzMhFhdc+H
+zkHhOvRY1uRM6N7M1kA0WP99d5Y0L45+R13vs2eyg2iVsfRPeBV2uDfJIW6CQmrF
+I3vzfDGalgaE6RpppJAT8ZP0PCc8M/hIl18Ol7Epfxx3r2kikuwA31ebxh3cV9rt
+QajAuoCQPwGXpUnLxPZCl3qAhfPxldGAg3/q8E11Lt0f7ePe1u9r/34mDyYjj65d
+19xmczknaZ7lDPkieRaEsNgWSM5K74lWAvjBX6NW/ds1PHpkO6ex1KWVrhPRwYmQ
+fomXLkilWRGP6X6F3GEm0d+/nfkuu5WHN9a84VKNFVeE0JHUxmy6RbUUu468AN5Q
+GfLn6+IFSH99aH/xoag5c8HRiNAx5r/5nQARAQABiQIfBBgBCgAJBQJQgg72AhsM
+AAoJEODyhZOu6tFR5IoP/2Rd8ebwZVf4Eya4T1e0OF7m2tzlNod2fN3Du8wmmmGu
+YXXVKPdmLpiO3KJvbLLi+0bZml+RX0b/tgU9xa21ztTSZYWR+Tw9OvzEro1vAEHN
+9Jqc21adrKKBatuk5mAZpzEllO4d4uaoLL8FV55+9tQC5M1k73pl1fkcSlnOYfqV
+r4NXLaVxHDibeTJTQZhpqj3odpx4TF3FA4Cizd7W9ylye/KjLYnOjJys1yCvhpSK
+MyQR4rVYAIGYABMvjt2kI8eBzWk4u/OVU5nJajC6Bb8mWaW96TxbQxSGrChnsCq0
+lRsUtGDW7YwlrUBs+PUD3+sUnGYUOGAX9PXGmi+1dqIm6D7Egy/xww1Jo8N4e3Ed
+eYUriCYSy7cR/2TsxWifrUidfDJ2NP5p2RR7J8JI9LTbSsZMlXqnb9WAK/XLjFYV
+FyUxMyOnYe/HV/0/Dl/5w/4uDZYIsxrqqQlZGw0zqcdvwumfG4DZ3sb1mmYyHT9H
+491yeIIC/cu5eJm1uIGHM6dTxZVXw/H/6bGgn9WT4rrdpixCWrdSCTGYY7f4wuXs
+/YuUemeBKv11iBnjIJuPWpa50d1h4uhzmmZa50zcnhsidqbCk7IMo0ntx1I+LP2S
+Q96oD9lJJ/uXMjjXLnyp35MHRfAPMfmuBL0s9rRSGW3yxRinY0cLv1+qOx6VTyti
+=Kaki
+-----END PGP PUBLIC KEY BLOCK-----

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
index b8fef9c..ac731dd 100644
--- a/NOTICE
+++ b/NOTICE
@@ -25,7 +25,3 @@ The Batik SVG toolkit source contains code from the International Organisation f
 The Open Source Media Framework used by the video components is licensed under the 
     Mozilla Public License Version 1.1.  The source code can be found here:
     http://sourceforge.net/projects/osmf.adobe/files/OSMF%201.0%20%28final%20source%2C%20ASDocs%2C%20PDF%20guides%2C%20and%20release%20notes%29/OSMF_1.0.zip
-
-The Adobe Text Layout Framework used by the Spark text components is licensed under the 
-    Mozilla Public License Version 1.1.  The source code can be found here:
-    http://sourceforge.net/projects/tlf.adobe/files/2.0/232/textLayout_build.zip

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/README
----------------------------------------------------------------------
diff --git a/README b/README
index 3729439..89aa04f 100644
--- a/README
+++ b/README
@@ -3,12 +3,20 @@ Apache Flex (Flex)
 
     Apache Flex is an application framework for easily building Flash-based applications 
     for mobile devices, the browser and desktop.
-    
+
+    Apache Flex 4.9 is a follow up release to Apache Flex 4.8 which was a parity release
+    of Adobe Flex 4.6.  This version adds new features and implements bug fixes that were
+    unavailable in previous versions.  It is compatible with most code written to target
+    Adobe Flex 4.6.
+
     For detailed information about Apache Flex please visit 
-    http://incubator.apache.org/flex/
+    http://incubator.apache.org/flex/ 
+    
+    The Apache Flex project has just graduated to be a top level Apache project and the
+    project's URL will be soon be changing to http://flex.apache.org/.
 
     Apache Flex is a large project with many pieces.  The framework is implemented
-    in Actionscript and the compiler is implemented in Java.
+    in ActionScript and the compiler is implemented in Java.
 
     Currently supported platforms include:
 
@@ -27,22 +35,45 @@ Apache Flex (Flex)
 Getting the latest sources via Subversion
 =========================================
 
+    This is the recommended way to get Apache Flex.  We offer an automated installer
+    along with binary distributions on our website at http://incubator.apache.org/flex.
+
     You can always checkout the latest source via subversion using the following
     command:
 
     svn co https://svn.apache.org/repos/asf/incubator/flex/trunk flex
 
     For further information visit http://incubator.apache.org/flex/source.html
-    
-Building Apache Flex 4.8
+
+
+Getting the convenience packages for Apache Flex
+================================================
+
+    The Apache Flex SDK Installer is an application that simplifies the download and
+    installation of the Apache Flex SDK and its (required) components. It is aimed at
+    anyone who wants to use the latest release of the Apache Flex SDK, but who might not
+    necessarily be familiar with the tools and procedures required to compile the Apache
+    Flex SDK from source code. The application will grab the binary distribution of the
+    SDK from apache.org or one of its mirrors, install it onto your computer and prepare
+    it for use with your favorite IDE such as Adobe Flash Builder or JetBrains IntelliJ.
+
+    You can get the SDK Installer from the Apache Flex website at
+
+      http://incubator.apache.org/flex/installer.html
+
+    You can also get just the binaries from our website as well.  These binaries do not
+    include the dependencies, so additional software may need to be downloaded and installed.
+
+      http://incubator.apache.org/flex/download.html
+
+Building Apache Flex 4.9
 ========================
 
-    Apache Flex 4.8 is a parity release from Apache of Adobe Flex 4.6.
-    
     Apache Flex is a large project. It requires some build tools which must be installed
     prior to building Flex and it depends on some external software which
-    are downloaded as part of the build process.  See the Software Dependencies
-    section for more information on the external software dependencies.
+    are downloaded as part of the build process.  Some of these have different licenses.
+    See the Software Dependencies section for more information on the external software
+    dependencies.
     
     From Apache's perspective, the Adobe Flash Player and Adobe AIR have excluded
     licenses so they can not be bundled with the Apache Flex binaries.  They must be
@@ -51,21 +82,18 @@ Building Apache Flex 4.8
 Install Prerequisites
 ---------------------
 
-    Adobe Flex 4.6 was certified with AIR 3.1 and Flash Player 11.1.  Adobe Flex 4.8
-    will continue to use these.
-
     Before building Flex you must install the following software and set the
     corresponding environment variables using absolute file paths.  Relative file paths
     will result in build errors.
-	
-	The environment variables PLAYERGLOBAL_HOME, AIR_HOME, FLASHPLAYER_DEBUGGER,
-	PIXELBENDER_HOME and ADOBE_EXTENSION_MANAGER can also be set in the property file 
-	called env.properties. See the env-template.properties file for instructions.
+    
+    The environment variables PLAYERGLOBAL_HOME, AIR_HOME, FLASHPLAYER_DEBUGGER,
+    PIXELBENDER_HOME and ADOBE_EXTENSION_MANAGER can also be set in the property file 
+    called env.properties. See the env-template.properties file for instructions.
     
     The Adobe Flash Player playerglobal.swc is needed to compile all the components
     with the exception of the airframework and airspark components which require
     airglobal.swc from the AIR Integration Kit.  The AIR Integration kit is also needed
-    to build and debug mobile applications.  The Flash Player content debugger is
+    to build and debug mobile applications.  The Adobe Flash Player content debugger is
     used by checkintests and other pieces of the test subsystem to run compiled
     applications.  The Adobe Pixel Bender Toolkit is needed to build some
     files needed for effects.
@@ -74,25 +102,25 @@ Install Prerequisites
     SOFTWARE                                    ENVIRONMENT VARIABLE (absolute paths)
     ==================================================================================
     
-    Java SDK 1.5 (0_13 or greater)              JAVA_HOME
-    or Java SDK 1.6 (*1)
-     -- Java SDK 1.7 is not supported
-
-    Ant 1.7.0 or greater (*1)                   ANT_HOME
-    
+    Java SDK 1.6 or greater (*1)                JAVA_HOME
+        (for Java 1.7 see note at (*2))
+        
+    Ant 1.7.1 or greater (*1)                   ANT_HOME
+        (for Java 1.7 see note at (*2))
+        
     Cygwin, git bash 
     or other unix-like shell
     (if Windows)
     
-    Adobe AIR Integration Kit (*2)              AIR_HOME 
+    Adobe AIR Integration Kit (*3)              AIR_HOME 
     
-    Adobe Flash Player Content Debugger (*3)    FLASHPLAYER_DEBUGGER
+    Adobe Flash Player Content Debugger (*4)    FLASHPLAYER_DEBUGGER
         
-    Adobe Pixel Bender Toolkit (*4)             PIXELBENDER_HOME
+    Adobe Pixel Bender Toolkit (*5)             PIXELBENDER_HOME
     
-    Adobe Flash Player (*5)                     PLAYERGLOBAL_HOME
+    Adobe Flash Player (*6)                     PLAYERGLOBAL_HOME
 
-    Adobe Extension Manager CS5 (*6)            ADOBE_EXTENSION_MANAGER
+    Adobe Extension Manager CS5 (*7)            ADOBE_EXTENSION_MANAGER
 
     ==================================================================================
         
@@ -105,46 +133,68 @@ Install Prerequisites
         On the Mac (bash), set PATH to
             
             export PATH="$PATH:$ANT_HOME/bin:$JAVA_HOME/bin"
-    
-    *2) The Adobe AIR integration kit for Windows can be downloaded from:
-                http://airdownload.adobe.com/air/win/download/3.1/AdobeAIRSDK.zip
+
+    *2)  If you are using Java SDK 1.7 or greater on a Mac you must use Ant 1.8 or 
+         greater. If you use Java 1.7 with Ant 1.7, ant reports the java version as 1.6 
+         so the JVM args for the data model (-d32/-d64) will not be set correctly and you
+         will get compile errors.
         
-         The Adobe AIR integration kit for Mac can be downloaded from:
-            http://airdownload.adobe.com/air/mac/download/3.1/AdobeAIRSDK.tbz2
+    *3) The Adobe AIR integration kit for Windows can be downloaded from:
+                http://airdownload.adobe.com/air/win/download/3.4/AdobeAIRSDK.zip
         
+         The Adobe AIR integration kit for Mac can be downloaded from:
+            http://airdownload.adobe.com/air/mac/download/3.4/AdobeAIRSDK.tbz2
+
+        This version of Apache Flex was certified for use with AIR 3.4, and should
+        be compatible with other versions of AIR newer than 3.1. However it hasn't
+        been tested on AIR 3.2, 3.3 or 3.5.
+
         Download the AIR SDK for your platform and unzip it.  Set AIR_HOME to the absolute 
         path of the AIR SDK directory.
                
-    *3) The Adobe Flash Player content debuggers can be found here:
+    *4) The Adobe Flash Player content debuggers can be found here:
             http://www.adobe.com/support/flashplayer/downloads.html
+
+        This version of Apache Flex was certified for use with Adobe Flash Player 11.1, and
+        is compatible with versions 10.2 through 11.5. It has been tested with versions 11.1
+        and 11.5 on Windows and Mac. It has been compiled against other Adobe Flash Player
+        versions but has not been fully tested.
             
         On Windows, set FLASHPLAYER_DEBUGGER to the absolute path of FlashPlayerDebugger.exe
         
         On the Mac, set FLASHPLAYER_DEBUGGER to the absolute path of 
         Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger
         
-        On Linux, set set FLASHPLAYER_DEBUGGER to the absolute path of flashplayerdebugger
+        On Linux, set FLASHPLAYER_DEBUGGER to the absolute path of flashplayerdebugger
             
-    *4) The Adobe Pixel Bender Toolkit for Windows can be downloaded from:
+    *5) The Adobe Pixel Bender Toolkit for Windows can be downloaded from:
             http://www.adobe.com/go/pixelbender_toolkit_zip/
         
          The Adobe Pixel Bender Toolkit for Mac can be downloaded from:
             http://www.adobe.com/go/pixelbender_toolkit_dmg/
         
         Download the Pixel Bender Toolkit for your platform and install or unzip it.
-	    Set PIXELBENDER_HOME to the absolute path of the Pixel Bender Toolkit directory.
+        Set PIXELBENDER_HOME to the absolute path of the Pixel Bender Toolkit directory.
 
-    *5) The Adobe Flash Player playerglobal.swc for 11.1 can be downloaded from:
+    *6) The Adobe Flash Player playerglobal.swc for 11.1 can be downloaded from:
             http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc 
         
         Use URL above to download playerglobal11_1.swc. Create the directory, player/11.1
         and copy playerglobal11_1.swc to player/11.1/playerglobal.swc.
         
         Set PLAYERGLOBAL_HOME to the absolute path of the player directory (not including
-		the version subdirectory). The target-version option controls which 
-		PLAYERGLOBAL_HOME subdirectory is used.
-
-    *6) The Adobe Extension Manager is only required for those creating release or testing
+        the version subdirectory). The target-player option controls which 
+        PLAYERGLOBAL_HOME subdirectory is used.
+
+        Other more recent versions of Adode Flash Player playergloal.swc can be downloaded from:
+            http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_2.swc
+            http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc
+            http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swc
+            http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_5.swc
+            
+        These can be used with Apache Flex but have not been fully tested.
+        
+    *7) The Adobe Extension Manager is only required for those creating releases or testing
             changes to the flash-integration swc.  Not that if you change APIs on classes
             that flash-integration depends on, you may need to update flash-integration.
 
@@ -161,12 +211,108 @@ Install Prerequisites
 FlashPlayer Configuration
 -------------------------
 
-    For testing, the Flash Player's mm.cfg file must have the following entries
+    For testing, the Adobe Flash Player's mm.cfg file must have the following entries
     
         ErrorReportingEnable=1
         TraceOutputFileEnable=1
     
     and a FlashPlayerTrust file must allow local SWFs to access local files.
+    
+Other Locale Support
+--------------------
+
+    The Apache Flex SDK defaults to using the en_US locale and SDK error messages are by default
+    displayed in American English.
+    
+    To compile the SDK for another locale either:
+
+    Change the locale in the build.properties file to have a value other than "en_US". For this new
+    locale to take effect the SDK needs to be recompiled. For example, to use the Australian English
+    locale change locale to have a value of "en_AU" like so:
+     
+        locale = en_AU
+        
+    OR
+    
+    Compile the SDK with a -Dlocale=<locale> option, where <locale> is the new locale to compile the
+    SDK against.
+
+    The list of supported locales include:
+        da_DK    el_GR    en_GB    fi_FI    ja_JP    nl_NL    ru_RU    zh_TW
+        de_CH    en_AU    en_US    fr_FR    ko_KR    pt_BR    sv_SE
+        de_DE    en_CA    es_ES    it_IT    nb_NO    pt_PT    zh_CN
+
+    The Apache Flex SDK has only been tested for the en_US locale, however there is unlikely to be any
+    issues with a SDK compiled for another locales.
+    
+Adobe Flash Player Version Support
+----------------------------------
+
+    The Apache Flex SDK defaults to using the Adobe Flash Player 11.1. The SDK can be
+    compiled for Flash Player versions 10.2, 10.3, 11.0, 11.0, 11.1, 11.2, 11.3, 11.4 and 11.5.
+
+    To compile the SDK for another version of the Adobe Flash Player either:
+
+    Change the playerglobal.version in the build.properties file to have a value other than "11.1".
+    For this change to take effect the SDK needs to be recompiled. For example to compile against the
+    lastest version of the Adobe Flash Player set the value of playerglobal.version to be "11.5" like so:
+     
+        playerglobal.version = 11.5
+        
+    OR
+    
+    Compile the SDK with a -Dplayerglobal.version=<version> option, where <version> is the 
+    Adobe Flash Player version to compile the SDK against.
+    
+    
+    Different versions of the Adobe Flash Player require different versions of playerglobal.swc.
+    
+    These can be found at:
+    
+    http://fpdownload.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_2.swc
+    http://fpdownload.macromedia.com/get/flashplayer/installers/archive/playerglobal/playerglobal10_3.swc
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_0.swc 
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_2.swc
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_4.swc
+    http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_5.swc
+    
+    Copy the target playerglobal.swc to the directory:
+    
+        frameworks/libs/player/<version>/playerglobal.swf
+    
+    Where <version> is the major and minor version numbers of the Adobe Flash Player 
+    separated by a period or full stop.
+    
+    If all of the playerglobal swcs where installed the frameworks/libs/player directory
+    structure would look like this.
+    
+        /frameworks
+            /libs
+                /player
+                    /10.2
+                         /playerglobal.swc
+                    /10.3
+                         /playerglobal.swc
+                    /11.0
+                         /playerglobal.swc
+                    /11.2
+                         /playerglobal.swc
+                    /11.2
+                         /playerglobal.swc
+                    /11.3
+                         /playerglobal.swc
+                    /11.4
+                         /playerglobal.swc
+                    /11.5
+                         /playerglobal.swc     
+                                                                                                                                
+    Apache Flex has been tested with Adobe Flash Player 11.1 and 11.5 on Windows and Mac.
+    
+    It compiles against other Adobe Flash Player versions and is expected to work but they 
+    may be some issues, particularly with the earlier 10.2 and 10.3 versions of the 
+    Adobe Flash Player.
 
 Software Dependencies
 ---------------------
@@ -197,8 +343,7 @@ Software Dependencies
     downloaded to your system. These files are installed in frameworks/libs.
         
         osmf.swc            
-            frameworks/libs
-            
+
             Open Source Media Framework v1.0 used for video components
         
             This file is extracted from:
@@ -206,18 +351,7 @@ Software Dependencies
             
             This software is released under the Mozilla Public License Version 1.1:
             <http://www.mozilla.org/MPL/>
-        
-        textLayout.swc
-            framework/libs
-            
-            Text Layout Format v2.0 used for text in Spark components
-        
-            This file is extracted from:
-            http://sourceforge.net/projects/tlf.adobe/files/2.0/232/textLayout_build.zip/download
-    
-            This software is released under the Mozilla Public License Version 1.1:
-            <http://www.mozilla.org/MPL/>
-            
+                    
     The following dependencies have licenses which Apache considers to be not compatible 
     with the Apache License Version 2.0. You will be prompted to read and agree to the 
     license terms of the dependency before the software can be downloaded to your system.  
@@ -248,7 +382,7 @@ Software Dependencies
 Using the Binary Distribution
 -----------------------------
 
-    You must download the thirdparty dependencies.
+    You must download the third-party dependencies.
 
     When you have all the prerequisites in place and the environment variables set, 
     (see Install Prerequisites above), use
@@ -268,7 +402,7 @@ Building the Framework in a Binary Distribution
         cd <flex.dir>/frameworks
         ant main        (or just ant since the default target is main)
     
-    to download the thirdparty dependencies and build the Flex framework.  You may be 
+    to download the third-party dependencies and build the Flex framework.  You may be 
     prompted to acknowledge some of the downloads.  Since the third-party dependencies 
     take a little while to download and they don't change very often, they are not 
     cleaned with the regular clean target.
@@ -301,6 +435,10 @@ Building the Source in the Source Distribution
     dependencies take a little while to download and they don't change very often, they 
     are not cleaned with the regular clean target.
     
+    If you would like to build the RSLs, use
+    
+        ant frameworks-rsls
+        
     To clean the build, of everything other than the downloaded third-party dependencies 
     use
     
@@ -329,4 +467,4 @@ Building the Source in the Source Distribution
 Thanks for using Apache Flex.
 
                                           The Apache Flex Project
-                                          <http://incubator.apache.org/flex/>
+                                          <http://incubator.apache.org/flex>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/RELEASE_NOTES
----------------------------------------------------------------------
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 498fab6..edc7b4b 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,14 +1,40 @@
-Apache Flex 4.8.0
+Apache Flex 4.9.0
 =================
 
-This is a parity release with Adobe Flex 4.6.0.
+This is first release after the Apache Flex 4.8.0 parity release.
 
 The official Apache distribution is the source kit which can contain only source.
 Because of this, and various licensing constraints, there must be a few differences.  
 
 ====> Please see the README, especially the "Install Prerequisites" section. <====
   
-  Differences:
+  Differences from Apache Flex 4.8.0:
+  - New locales for Apache Flex including Australian, British, Canadian, Greek, Switzerland (German) and Portuguese
+  - Apache Flex SDK can be compiled for any version of the Flash Player from 10.2 to 11.5
+  - New PostCodeFormatter and PostCodeValidator classes for international postcode formatting and validation
+  - New VectorList and VectorCollection classes for lists and collections of vectors
+  - New version of the TLF (Text Layout Framework), the TLF 3.0.33 source code is now included as it is now part
+    of the Apache Flex donation.
+  - Can use Java 7 to compile SDK (see README for instructions)
+  - Many improvements and updates to Mustella tests
+  - An SDK installer has also been created and is the recommended way of installing the Apache Flex SDK in an IDE.
+    For more information see http://incubator.apache.org/flex/installer.html
+  
+  Several bug have also been fixed including (but not limited to):
+  FLEX-33272 A #1010 error occurred while trying to hide columns of an AdvancedDataGrid having lockedColumnCount
+             greater than 0
+  FLEX-33263 FocusOut in datagrid causes RTE if target.parent is null
+  FLEX-33248 Spark GridItemEditor cannot edit nested properties
+  FLEX-33216 Chart initialization performance degradation between Flex 3 and Flex 4
+  FLEX-33110 Building the SDK with Java 7
+  FLEX-29002 RunTime Error #1009 at mx.managers::PopUpManagerImpl/addModalPopUpAccessibility() when displaying more
+             than one modal popup via PopUpManager on top of each other. On Windows 7 running on some PCs
+  FLEX-28982 DropDownController - Null Object Reference
+  FLEX-27758 Keyboard navigation stops working in mx:DataGrid
+  
+  For a full list see https://issues.apache.org/jira/browse/FLEX
+  
+  Differences from Adobe Flex 4.6.0:
   
   - BlazeDS integration is an optional feature (Adobe license)
   - Adobe embedded font support is an optional feature  
@@ -24,9 +50,6 @@ Because of this, and various licensing constraints, there must be a few differen
   - the frameworks/rsls directory contains unsigned RSL for libraries we build
     
   - the frameworks/osmf src is not included which means there is not an osmf RSL.  
-
-  - the frameworks/textLayout src is not included which means there is not a textLayout 
-    RSL.  We expect this difference to be limited to this release.
   
   - the ASDoc in the asdoc package no longer has active links for Adobe Flash,
     Adobe Air, the Open Source Media Framework (OSMF) or Text Layout Format (TLF).

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/SVN-TEST.txt
----------------------------------------------------------------------
diff --git a/SVN-TEST.txt b/SVN-TEST.txt
index 43fe27c..d7487bd 100644
--- a/SVN-TEST.txt
+++ b/SVN-TEST.txt
@@ -51,3 +51,15 @@ Dear diary: Jackpot. -Glen Quagmire (via jonbcampos)
 "Money is only important to those who don't have any" (via quetwo)
 
 "Beware the young doctor and old barber" (Ben Franklin)
+
+The World was all before them, where to choose
+Thir place of rest, and Providence thir guide:
+They hand in hand with wandring steps and slow,
+Through Eden took thir solitarie way.
+(John Milton, last lines of Paradise Lost, via gordonsmith)
+
+"We can do so much more. We can save this world... with the right leadership." (Adrian Veidt, Ozymandias in Watchmen Graphic Novel, via carlosrovira)
+
+Frédéric Thomas (fthomas)
+
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/asdoc/build.xml
----------------------------------------------------------------------
diff --git a/asdoc/build.xml b/asdoc/build.xml
index a346cc5..eefb43c 100644
--- a/asdoc/build.xml
+++ b/asdoc/build.xml
@@ -24,6 +24,7 @@
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
+	<property file="${FLEX_HOME}/build.properties"/>
 
 	<target name="main" depends="clean,doc" description="Clean build of all ASDocs"/>
 
@@ -45,12 +46,13 @@
 	        <os family="unix"/>
 	    </condition>
 
-	    <available property="flexTasksJar" value="${FLEX_HOME}/lib/flexTasks.jar" file="${FLEX_HOME}/lib/flexTasks.jar"/>
-	    <available property="flexTasksJar" value="${FLEX_HOME}/ant/lib/flexTasks.jar" file="${FLEX_HOME}/ant/lib/flexTasks.jar"/>
-
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${flexTasksJar}"/>
+        <path id="flexTasks.path">
+            <fileset dir="${FLEX_HOME}">
+                <include name="lib/flexTasks.jar" />
+                <include name="ant/lib/flexTasks.jar" />
+            </fileset>
+        </path>
+        <taskdef resource="flexTasks.tasks" classpathref="flexTasks.path"/>
 
 		<!-- Call asdoc to generate dita xml files -->
 		<asdoc output="${FLEX_HOME}/asdoc-output" lenient="true" failonerror="true" warnings="false" strict="false" locale="en_US" fork="true">
@@ -66,9 +68,9 @@
 		    <doc-classes class="MobileComponentsClasses"/>		    
 		    <doc-classes class="SparkDmvClasses"/>
 	    		    
-			<!--doc-classes class="flashx.textLayout.CoreClasses"/-->
-			<!--doc-classes class="flashx.textLayout.EditClasses"/-->
-			<!--doc-classes class="flashx.textLayout.ConversionClasses"/-->
+			<doc-classes class="flashx.textLayout.CoreClasses"/>
+			<doc-classes class="flashx.textLayout.EditClasses"/>
+			<doc-classes class="flashx.textLayout.ConversionClasses"/>
 
 			<!-- source path for asdoc -->
 			<compiler.source-path path-element="${flexlib}/projects/airframework/src"/>
@@ -79,7 +81,7 @@
 			<compiler.source-path path-element="${flexlib}/projects/mx/src"/>
 			<compiler.source-path path-element="${flexlib}/projects/sparkskins/src"/>
 			<compiler.source-path path-element="${flexlib}/projects/rpc/src"/>
-		    <!--compiler.source-path path-element="${flexlib}/projects/textLayout/src"/-->
+		    <compiler.source-path path-element="${flexlib}/projects/textLayout/${tlf.version}/src"/>
 			<!--compiler.source-path path-element="${flexlib}/projects/osmf/src"/-->
 			<compiler.source-path path-element="${flexlib}/projects/advancedgrids/src"/>
 			<compiler.source-path path-element="${flexlib}/projects/charts/src"/>
@@ -92,14 +94,14 @@
 		    <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
 		    <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
 		    <doc-namespaces uri="http://www.adobe.com/2006/rpcmxml"/>
- 			<!--doc-namespaces uri="library://ns.adobe.com/flashx/textLayout"/-->
+ 			<doc-namespaces uri="library://ns.adobe.com/flashx/textLayout"/>
  			<doc-namespaces uri="http://ns.adobe.com/2009/mx-mxml"/>
  			<doc-namespaces uri="http://www.adobe.com/2006/advancedgridsmxml"/>
  			<doc-namespaces uri="http://www.adobe.com/2006/charts"/>
  			<doc-namespaces uri="library://ns.adobe.com/flex/spark-mobilecomponents"/>
  			<doc-namespaces uri="library://ns.adobe.com/flex/spark-dmv"/>
  			
-		    <!--namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${flexlib}/projects/textLayout/manifest.xml"/-->
+		    <namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${flexlib}/projects/textLayout/${tlf.version}/manifest.xml"/>
 
 			<!-- namespace declaration for asdoc -->
 		    <namespace uri="http://www.adobe.com/2006/airmxml" manifest="${flexlib}/projects/airframework/manifest.xml"/>
@@ -124,7 +126,7 @@
 		    	<!-- if no osfm sources -->
 		    	<include name="osmf.swc" />
 		    	<!-- if no textLayout sources -->
-		    	<include name="textLayout.swc" />
+		    	<!--include name="textLayout.swc" /-->
 		    </external-library-path>
 
 			<jvmarg line="${asdoc.jvm.args}"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/asc.bat
----------------------------------------------------------------------
diff --git a/bin/asc.bat b/bin/asc.bat
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/asdoc
----------------------------------------------------------------------
diff --git a/bin/asdoc b/bin/asdoc
index cb8e5bc..0b74986 100755
--- a/bin/asdoc
+++ b/bin/asdoc
@@ -30,35 +30,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to asdoc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to asdoc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to asdoc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
+    # set FLEX_HOME relative to asdoc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
 
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 
 fi
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/compc
----------------------------------------------------------------------
diff --git a/bin/compc b/bin/compc
index 79d5c29..5009701 100755
--- a/bin/compc
+++ b/bin/compc
@@ -30,36 +30,37 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to compc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to compc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to compc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
-	
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
-	
+    # set FLEX_HOME relative to compc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+    
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
+    
 fi
 
 # don't use $FLEX_HOME in this variable because it may contain spaces,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/copylocale
----------------------------------------------------------------------
diff --git a/bin/copylocale b/bin/copylocale
index 24c46c9..c48ed6b 100755
--- a/bin/copylocale
+++ b/bin/copylocale
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to copylocale if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to copylocale if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to copylocale if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
-
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to copylocale if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 
 fi
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/digest
----------------------------------------------------------------------
diff --git a/bin/digest b/bin/digest
index fbead63..055d01b 100755
--- a/bin/digest
+++ b/bin/digest
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to digest if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to digest if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to digest if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
-
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to digest if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 
 fi
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/fcsh
----------------------------------------------------------------------
diff --git a/bin/fcsh b/bin/fcsh
index 19c2ebe..28ece27 100755
--- a/bin/fcsh
+++ b/bin/fcsh
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to fcsh if not set
-	test "$FLEX_HOME" = "" && {
-		FLEX_HOME=`dirname $0`/..
-		FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to fcsh if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to fcsh if not set
-	test "$FLEX_HOME" = "" && {
-		FLEX_HOME=`dirname "$0"`/..
-	}
-
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to fcsh if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 
 fi
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/fdb
----------------------------------------------------------------------
diff --git a/bin/fdb b/bin/fdb
index 2ea72c7..beb415d 100755
--- a/bin/fdb
+++ b/bin/fdb
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to fdb if not set
-	test "$FLEX_HOME" = "" && {
-		FLEX_HOME=`dirname $0`/..
-		FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to fdb if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to fdb if not set
-	test "$FLEX_HOME" = "" && {
-		FLEX_HOME=`dirname "$0"`/..
-	}
-
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to fdb if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 
 fi
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/mxmlc
----------------------------------------------------------------------
diff --git a/bin/mxmlc b/bin/mxmlc
index bcc021b..791bbec 100755
--- a/bin/mxmlc
+++ b/bin/mxmlc
@@ -30,35 +30,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to mxmlc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to mxmlc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to mxmlc if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
-	
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to mxmlc if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname "$0"`/..
+    }
+    
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 fi
 
 # don't use $FLEX_HOME in this variable because it may contain spaces,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/optimizer
----------------------------------------------------------------------
diff --git a/bin/optimizer b/bin/optimizer
index eed0fe2..e40a4d4 100755
--- a/bin/optimizer
+++ b/bin/optimizer
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to optimizer if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to optimizer if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to optimizer if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname "$0"`/..
-	}
-	
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-		isOSX="`uname | grep -i Darwin`"
-		
-		if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-			D32='-d32'
-	fi
+    # set FLEX_HOME relative to optimizer if not set
+    test "$FLEX_HOME" = "" && {
+    FLEX_HOME=`dirname "$0"`/..
+    }
+    
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 fi
 
 # don't use $FLEX_HOME in this variable because it may contain spaces,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/bin/swfdump
----------------------------------------------------------------------
diff --git a/bin/swfdump b/bin/swfdump
index 03a1cf5..2529472 100755
--- a/bin/swfdump
+++ b/bin/swfdump
@@ -24,35 +24,36 @@
 #
 
 case `uname` in
-		CYGWIN*)
-			OS="Windows"
-		;;
-		*)
-			OS=Unix
+        CYGWIN*)
+            OS="Windows"
+        ;;
+        *)
+            OS=Unix
 esac
 
 D32=''
 
 if [ $OS = "Windows" ]; then
-	# set FLEX_HOME relative to swfdump if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-    	FLEX_HOME=`cygpath -m $FLEX_HOME`
-	}
+    # set FLEX_HOME relative to swfdump if not set
+    test "$FLEX_HOME" = "" && {
+        FLEX_HOME=`dirname $0`/..
+        FLEX_HOME=`cygpath -m $FLEX_HOME`
+    }
 
 elif [ $OS = "Unix" ]; then
 
-	# set FLEX_HOME relative to swfdump if not set
-	test "$FLEX_HOME" = "" && {
-	FLEX_HOME=`dirname $0`/..
-	}
-
-	check64="`java -version 2>&1 | grep -i 64-Bit`"
-	isOSX="`uname | grep -i Darwin`"
-	
-	if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" ]; then
-		D32='-d32'
-	fi
+    # set FLEX_HOME relative to swfdump if not set
+    test "$FLEX_HOME" = "" && {
+    FLEX_HOME=`dirname $0`/..
+    }
+
+    check64="`java -version 2>&1 | grep -i 64-Bit`"
+    isOSX="`uname | grep -i Darwin`"
+    javaVersion="`java -version 2>&1 | awk -F '[ ".]+' 'NR==1 {print $3 "." $4}'`"
+    
+    if [ "$isOSX" != "" -a "$HOSTTYPE" = "x86_64" -a "$check64" != "" -a "$javaVersion" = "1.6" ]; then
+        D32='-d32'
+    fi
 fi
 
 VMARGS="-ea -Dapplication.home=$FLEX_HOME -Xms32m -Xmx384m "

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/build.properties
----------------------------------------------------------------------
diff --git a/build.properties b/build.properties
index f499dc4..899d748 100644
--- a/build.properties
+++ b/build.properties
@@ -31,12 +31,21 @@ locale = en_US
 qa.dir = ${basedir}/../qa
 asc = ${basedir}/bin/asc
 
-local.d32 = 
+# TextLayoutFormat version.  This is a sub-directory in frameworks/textLayout.
+tlf.version = 3.0.33
+
+# For Java 7 on Mac OS X, you need an Intel-based Mac running Mac OS X version 10.7.3 
+# (Lion) and above.  Only the 64-bit data model is available so leave this blank.
+# Since ant properties are immutable, if this property is set in the build file before
+# this file is included, setting it to nothing here is a no-op.
+local.d32 =
+
 src.depend = true
 src.debug = on
 
 # JVM options for <compc> and <mxmlc> tasks
 jvm.args = ${local.d32} -Xms64m -Xmx384m -ea -Dapple.awt.UIElement=true
+    # -d32/-d64 for 32-bit/64-bit code model (or don't specify for the default)
 	# -Xms64m: start out with a 64 MB heap
 	# -Xmx384m: allow the heap to grow to 384 MB
 	# -ea: enable Java assertions

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 398ac32..84e1f8c 100644
--- a/build.xml
+++ b/build.xml
@@ -22,12 +22,15 @@
 
     <property name="FLEX_HOME" location="${basedir}"/>
     
-    <!-- Required for OSX 10.6 / Snow Leopard Performance -->
-    <condition property="local.d32" value="-d32" >
+    <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
+    <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
+    <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
+    <condition property="local.d32" value="-d32">
         <and>
+            <os family="windows"/>
             <equals arg1="${sun.arch.data.model}" arg2="64"/>
             <equals arg1="${os.arch}" arg2="x86_64"/>
-                <os family="mac"/>
+            <equals arg1="${ant.java.version}" arg2="1.6"/>
         </and>
     </condition>
 
@@ -40,7 +43,7 @@
     <property name="strict" value="true"/>
     <property name="javac.src" value="1.5"/>
     
-    <property name="kit.prefix" value="apache-flex-sdk-${release.version}-incubating"/>
+    <property name="kit.prefix" value="apache-flex-sdk-${release.version}"/>
     <property name="source.kit" value="${kit.prefix}-src"/>
     <property name="binary.kit" value="${kit.prefix}-bin"/>
       
@@ -121,7 +124,12 @@
         description="Stuff that needs to be done before any builds." />
 
     <target name="check-compile-env" depends="check-playerglobal-home,check-air-home,check-pixelbender-home"
-        description="Check for the required environment variables for compilation."/>
+        description="Check for the required environment variables for compilation.">
+            <echo>OS: ${os.name} / ${os.version} / ${os.arch}</echo>
+            <echo>VM: ${java.vm.name} / ${java.vm.version}</echo>
+            <echo>Java: ${java.version}</echo>
+            <echo>Ant: ${ant.version} Ant Java Version: ${ant.java.version}</echo>
+    </target>
 
     <target name="check-playerglobal-home" unless="playerglobal.swc.exists"
         description="Check PLAYERGLOBAL_HOME for both a directory and a swc file">
@@ -402,6 +410,8 @@
     </macrodef>
 
 	<target name="frameworks-rsls" description="Build signed framework RSLs">
+		<!-- textLayout RSL -->
+		<create-rsl rsl-dir="${basedir}/frameworks/rsls" swc-dir="${basedir}/frameworks/libs" swc-name="textLayout" build-number="${release.version}.${build.number}"/>
 		<!-- framework RSL -->
 		<create-rsl rsl-dir="${basedir}/frameworks/rsls" swc-dir="${basedir}/frameworks/libs" swc-name="framework" build-number="${release.version}.${build.number}"/>
 		<!-- mx RSL -->
@@ -506,7 +516,6 @@
 				<include name="env-template.properties"/>
                 <include name="flex-sdk-description.xml"/>
                 <include name="CHANGES"/>
-                <include name="DISCLAIMER"/>
                 <include name="LICENSE"/>
                 <include name="NOTICE"/>
                 <include name="README"/>
@@ -562,8 +571,9 @@
              either type of line endings but the converse is often not true.             
              The bin directory is handled in stage-bin.
         -->
-        <fixcrlf srcdir="${basedir}/temp" eol="crlf">
+        <fixcrlf srcdir="${basedir}/temp" eol="crlf" fixlast="false">
             <exclude name="bin/**"/>
+            <exclude name="**/assets/**"/>
             <exclude name="**/*.fla"/>
             <exclude name="**/*.flv"/>
             <exclude name="**/*.gif"/>
@@ -579,7 +589,7 @@
             Unix shell scripts need the correct line endings. 
             The bin directory is handled in stage-bin.
         -->      
-        <fixcrlf srcdir="${basedir}/temp" eol="unix">  
+        <fixcrlf srcdir="${basedir}/temp" eol="unix" fixlast="false">  
             <include name="**.sh"/>
             <exclude name="bin/**"/>
         </fixcrlf>
@@ -599,9 +609,9 @@
                 <exclude name="test*/**"/>
                 <exclude name="javascript/**"/>
                 <exclude name="projects/air/**"/>
-                <exclude name="projects/textLayout/**"/>
                 <exclude name="projects/spark/manifest.xml"/>
                 <exclude name="projects/*/bundles.properties"/>
+                <exclude name="projects/*/.settings/**"/>
             </fileset>
         </copy>
 
@@ -649,12 +659,12 @@
             </fileset>
         </copy>
         
-        <fixcrlf srcdir="${basedir}/temp/bin" eol="crlf">
+        <fixcrlf srcdir="${basedir}/temp/bin" eol="crlf" fixlast="false">
             <include name="**/*.bat"/>
         </fixcrlf>
   
           <!-- Unix shell scripts need the correct line endings. -->      
-        <fixcrlf srcdir="${basedir}/temp/bin" eol="unix">  
+        <fixcrlf srcdir="${basedir}/temp/bin" eol="unix" fixlast="false">  
             <exclude name="**/*.bat"/>
         </fixcrlf>
     </target>
@@ -702,8 +712,8 @@
                 <exclude name="as3/src/mustella/ContinueAfterRuntimeException/**"/>
                 <exclude name="as3/src/mustella/ExcludeList.txt"/>
                 <exclude name="as3/src/mustella/IncludeList.txt"/>
-                <exclude name="**/*.air"/>
-                <exclude name="**/*.swf"/>
+                <exclude name="as3/**/*.air"/>
+                <exclude name="as3/**/*.swf"/>
                 <include name="build.xml"/>
                 <include name="local.properties"/>
                 <include name="MustellaResultsParser.java"/>
@@ -793,15 +803,16 @@
             </fileset>
         </copy>
 
-
         <!-- frameworks/libs -->
         <copy todir="${basedir}/temp/frameworks/libs">
             <fileset dir="${basedir}/frameworks/libs">
                 <include name="air/airframework.swc"/>
                 <include name="air/airspark.swc"/>
                 <include name="mobile/mobilecomponents.swc"/>
+                <include name="apache.swc"/>
                 <include name="authoringsupport.swc"/>
                 <include name="core.swc"/>
+                <include name="experimental.swc"/>
                 <include name="spark.swc"/>
                 <include name="framework.swc"/>
                 <include name="mx/mx.swc"/>
@@ -812,10 +823,8 @@
                 <include name="charts.swc"/>
                 <include name="advancedgrids.swc"/>
                 <include name="spark_dmv.swc"/>
+            	<include name="textLayout.swc"/>
                 <exclude name="osmf.swc"/>
-            	<exclude name="textLayout.swc"/>
-            	<exclude name="apache.swc"/>
-                <exclude name="experimental.swc"/>
             </fileset>
         </copy>
 
@@ -910,30 +919,21 @@
         -->
         <copy todir="${basedir}/temp/lib/external">
             <fileset dir="${basedir}/lib/external">
+                <!-- required license and notice files -->
+                <include name="*LICENSE*/**"/>
+                <include name="*NOTICE*/**"/>
+                <include name="*README*"/>
+                <!-- jar files -->
                 <include name="commons-collections.jar"/>
-                <include name="commons-collections-LICENSE*"/>
-                <include name="commons-collections-NOTICE*/**"/>
                 <include name="commons-discovery.jar"/>
-                <include name="commons-discovery-LICENSE*"/>
-                <include name="commons-discovery-NOTICE*/**"/>
                 <include name="commons-logging.jar"/>
-                <include name="commons-logging-LICENSE*"/>
-                <include name="commons-logging-NOTICE*/**"/>
                 <include name="javacc.jar"/>
-                <include name="javacc-LICENSE*"/>
                 <include name="saxon9.jar"/>
-                <include name="saxon9-LICENSE*"/>
-                <include name="saxon9-NOTICE*/**"/>
                 <include name="xalan.jar"/>
-                <include name="xalan-LICENSE*"/>
-                <include name="xalan-NOTICE*/**"/>
                 <include name="xercesImpl.jar"/>
                 <include name="xercesPatch.jar"/>
-                <include name="xerces-LICENSE*/**"/>
-                <include name="xerces-NOTICE*/**"/>
+                <include name="xml-apis-ext.jar"/>
                 <include name="xml-apis.jar"/>
-                <include name="xml-batik-LICENSE*"/>
-                <include name="xml-batik-NOTICE*/**"/>
                 <exclude name="optional/**"/>
             </fileset>
         </copy>
@@ -1200,7 +1200,6 @@
             <fileset dir="${basedir}">
                 <include name="LICENSE" />
                 <include name="NOTICE" />
-                <include name="DISCLAIMER" />
             </fileset>
         </copy>
         <zip file="${basedir}/out/${kit.prefix}-asdocs.zip" basedir="${basedir}/temp"/>
@@ -1245,7 +1244,7 @@
         </copy>
     </target>
 
-    <target name="clean-temp">
+    <target name="clean-temp" unless="noclean.temp">
         <delete dir="${basedir}/temp" failonerror="false" includeEmptyDirs="true"/>
     </target>
 
@@ -1275,9 +1274,9 @@
     <target name="airmobile-basictests-mustella" depends="mustella-setup,airmobile-basictests"/>
 
     <target name="mustella-setup" depends="runtime-setup" description="compile mustella java file">
-        <!-- delete and rebuild mustella.swc -->
-        <ant dir="${basedir}/mustella" target="cleanmustellaswc"/>
-        <ant dir="${basedir}/mustella" target="makemustellaswc"/>
+        <ant dir="${basedir}/mustella" target="makemustellaswc">
+            <property name="use_mustella_framework_dir" value="false"/>
+        </ant>
         <property name="moreCompilerArgs" value=""/>
         <!-- compile the results parser -->
         <javac srcdir="mustella" includes="MustellaResultsParser.java"/>
@@ -1612,16 +1611,13 @@
     <target name="rat-check" depends="rat-taskdef" if="have.rattasks"
         description="Report on licenses in source kit.">
     
-        <!-- Unzip the source kit -->
-        <antcall target="clean-temp" />
-        <unzip src="${basedir}/out/${source.kit}.zip" dest="${basedir}/temp"/>
-        
         <property name="rat.dir" value="${basedir}/temp"/>
-
-        <echo message="Checking files at ${rat.dir}, report is ${basedir}/rat.report"/>
+        <antcall target="rat-unzip" />
+        
+        <property name="rat.report" value="${basedir}/rat.report"/>
+        <echo message="Checking files at ${rat.dir}, report is ${rat.report}"/>
              
-        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" 
-            reportFile="${basedir}/rat.report">
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" reportFile="${rat.report}">
             <fileset dir="${rat.dir}">
                 <!--          Start of binary files           -->
                 <!-- exclude Flash Professional file used for integration with Flash Professional -->
@@ -1634,15 +1630,22 @@
                 <exclude name="**/*.jpg"/>
                 <exclude name="**/*.mp3"/>
                 <exclude name="**/*.flv"/>
+                <!-- exclude batik icon -->
+                <exclude name="modules/thirdparty/batik/sources/*.icns"/>
                 <!--          End of binary files           -->
                 <!-- exclude batik manifests -->
                 <exclude name="modules/thirdparty/batik/sources/*.mf"/>
+                <!-- exclude text files -->
+                <exclude name="modules/thirdparty/batik/lib/**/LICENSE*.txt"/>
+                <exclude name="modules/thirdparty/batik/lib/**/README*.txt"/>
                 <!-- exclude w3c sources -->
                 <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.mod"/>
                 <exclude name="modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/*.dtd"/>
+                <exclude name="modules/thirdparty/batik/sources/org/w3c/css/sac/LexicalUnit.java"/>
                 <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/*.java"/>
                 <exclude name="modules/thirdparty/batik/sources/org/w3c/flex/forks/css/sac/helpers/ParserFactory.java"/>
                 <!-- exclude config files -->
+                <exclude name="modules/thirdparty/batik/svn-revision"/>
                 <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/javax.xml.parsers.SAXParserFactory"/>
                 <exclude name="modules/thirdparty/xerces-patch/src/java/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration"/>
                 <exclude name="modules/thirdparty/xerces-patch/src/java/org/apache/xerces/jaxp/javax.xml.parsers.SAXParserFactory"/>
@@ -1650,6 +1653,11 @@
         </rat:report>
     </target>
 
+    <target name="rat-unzip" unless="no.zip">
+        <antcall target="clean-temp" />
+        <unzip src="${basedir}/out/${source.kit}.zip" dest="${rat.dir}"/>
+    </target>
+    
     <target name="rat-taskdef" description="Rat taskdef"> 
         <available property="have.rattasks" 
             resource="org/apache/rat/anttasks/antlib.xml" 
@@ -1669,5 +1677,32 @@
         <echo message="Rat report not generated."/>
         <echo message="rat jars (apache-rat-*.jar, apache-rat-tasks-*.jar)"/>
         <echo message="not found in anttask.classpath"/>
-    </target>   
+    </target>
+    
+    <target name="rat-check-mustella" depends="rat-taskdef" if="have.rattasks"
+        description="Report on licenses in mustella directory.">
+    
+        <ant dir="${basedir}/mustella" target="clean"/>
+        
+        <property name="rat.mustella.dir" value="${basedir}/mustella"/>
+        <property name="rat.mustella.report" value="rat.mustella.report"/>
+                
+        <echo message="Checking files at ${rat.mustella.dir}, report is ${basedir}/${rat.mustella.report}"/>
+             
+        <rat:report xmlns:rat="antlib:org.apache.rat.anttasks" 
+            reportFile="${basedir}/${rat.mustella.report}">
+            <fileset dir="${rat.mustella.dir}">
+                <!--          Start of binary files           -->
+                <!-- exclude media (png, gif, jpg, mp3, flv) -->
+                <exclude name="assets/**"/>
+                <exclude name="tests/**/*.png"/>
+                <exclude name="tests/**/*.gif"/>
+                <exclude name="tests/**/*.jpg"/>
+                <exclude name="tests/**/*.mp3"/>
+                <exclude name="tests/**/*.flv"/>
+                <!--          End of binary files           -->
+                <exclude name="tests/**/*.compile"/>
+            </fileset>
+        </rat:report>
+    </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index 516c1d3..81de5de 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -26,16 +26,19 @@
 <project name="frameworks" default="main" basedir=".">
 
     <property name="FLEX_HOME" location=".."/>
-    
-    <!-- Required for OSX 10.6 / Snow Leopard Performance -->
-    <condition property="local.d32" value="-d32" >
+
+    <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
+    <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
+    <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
+    <condition property="local.d32" value="-d32">
         <and>
+            <os family="mac"/>
+            <matches pattern="1.6.*" string="${java.version}"/>
             <equals arg1="${sun.arch.data.model}" arg2="64"/>
             <equals arg1="${os.arch}" arg2="x86_64"/>
-            <os family="mac"/>
         </and>
     </condition>
-    
+
     <!-- Property for the platform.  -->
     <condition property="isMac" value="true">
         <os family="mac"/>
@@ -85,6 +88,7 @@
     <target name="compile" description="Builds all SWCs but not their resource bundles" depends="flex-config">
         <antcall target="framework"/>
         <antcall target="mx"/>
+        <antcall target="textLayout"/>
         <antcall target="rpc"/>
         <antcall target="charts"/>
         <antcall target="advancedgrids"/>
@@ -139,6 +143,9 @@
 		<condition property="playerglobal.swfversion" value="17">
 			<equals arg1="${playerglobal.version}" arg2="11.4" />
 		</condition>
+		<condition property="playerglobal.swfversion" value="18">
+			<equals arg1="${playerglobal.version}" arg2="11.5" />
+		</condition>
 	</target>	
 
     <!--
@@ -159,6 +166,7 @@
     <target name="other.locales" description ="Builds resource SWCs for all locales">
         <ant dir="${basedir}/projects/framework" target="other.locales"/>
         <ant dir="${basedir}/projects/mx" target="other.locales"/>
+        <ant dir="${basedir}/projects/textLayout" target="other.locales"/>
         <ant dir="${basedir}/projects/airframework" target="other.locales"/>
         <ant dir="${basedir}/projects/airspark" target="other.locales"/>
         <ant dir="${basedir}/projects/rpc" target="other.locales"/>
@@ -166,7 +174,6 @@
         <ant dir="${basedir}/projects/advancedgrids" target="other.locales"/>
         <ant dir="${basedir}/projects/spark" target="other.locales"/>
         <ant dir="${basedir}/projects/mobilecomponents" target="other.locales" />
-        <!--ant dir="${basedir}/projects/textLayout" target="other.locales"/-->
         <ant dir="${basedir}/projects/playerglobal" target="other.locales" />
         <ant dir="${basedir}/projects/flash-integration" target="other.locales"/>
         <ant dir="${basedir}/projects/automation" target="other.locales"/>
@@ -180,6 +187,7 @@
     <target name="doc" >
         <ant dir="${basedir}/projects/framework" target="doc" />
         <ant dir="${basedir}/projects/mx" target="doc" />
+        <ant dir="${basedir}/projects/textLayout" target="doc" />
         <ant dir="${basedir}/projects/rpc" target="doc" />
         <ant dir="${basedir}/projects/charts" target="doc" />
         <ant dir="${basedir}/projects/advancedgrids" target="doc" />
@@ -198,7 +206,7 @@
         <!--
         <ant dir="${basedir}/projects/automation" target="doc" />
         -->
-    	<ant dir="${basedir}/projects/apache" target="doc" />
+        <ant dir="${basedir}/projects/apache" target="doc" />
     	<ant dir="${basedir}/projects/experimental" target="doc" />
     </target>
    
@@ -214,6 +222,7 @@
     
     <target name="clean" depends="automation-clean,airsdk-clean" description="Cleans all SWCs and their resource bundles">
         <!-- Delete output from SWC projects -->
+        <ant dir="${basedir}/projects/textLayout" target="clean"/>
         <ant dir="${basedir}/projects/framework" target="clean"/>
         <ant dir="${basedir}/projects/mx" target="clean"/>
         <ant dir="${basedir}/projects/airframework" target="clean"/>
@@ -235,6 +244,12 @@
         <ant dir="${basedir}/projects/experimental" target="clean"/>
         <ant dir="${basedir}/javascript" target="clean"/>
     	<ant dir="${basedir}/themes/AeonGraphical" target="clean"/>
+        <!-- delete the FlashBuilder executable directories -->
+        <delete includeemptydirs="true" failonerror="false">
+            <fileset dir="${basedir}/projects">
+                <include name="*/bin/**"/>
+            </fileset>
+        </delete> 
         <!-- Delete empty folders -->
         <delete dir="${basedir}/locale">
             <exclude name="**/metadata.properties"/>
@@ -280,7 +295,7 @@
         <delete dir="${FLEX_HOME}/runtimes"/>
         <delete includeEmptyDirs="true" failonerror="false">
             <fileset dir="${FLEX_HOME}/samples">
-                <include name="badges/**" />
+                <include name="badge/**" />
                 <include name="descriptor-sample.xml" />
                 <include name="icons/**" />
             </fileset>
@@ -365,8 +380,7 @@
         <ant dir="${basedir}/projects/rpc"/>
     </target>
 
-    <!-- For debugging only.  For release, we distribute the swc built by the TLF team. -->
-    <target name="tlf" description="Clean build of textLayout.swc">
+    <target name="textLayout" description="Clean build of textLayout.swc">
         <ant dir="${basedir}/projects/textLayout"/>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/build_framework.xml
----------------------------------------------------------------------
diff --git a/frameworks/build_framework.xml b/frameworks/build_framework.xml
index ad2495c..bb154cb 100644
--- a/frameworks/build_framework.xml
+++ b/frameworks/build_framework.xml
@@ -55,7 +55,11 @@
     <property name="rpc.dir" value="${projects.dir}/rpc"/>
     <property name="spark.dir" value="${projects.dir}/spark"/>
     <property name="sparkskin.dir" value="${projects.dir}/sparkskins"/>
-    <property name="spark_dmv.dir" value="${projects.dir}/spark_dmv"/>
+	<property name="spark_dmv.dir" value="${projects.dir}/spark_dmv"/>
+	<property name="apache.dir" value="${projects.dir}/apache"/>
+	<property name="experimental.dir" value="${projects.dir}/experimental"/>
+    <property name="textLayout.dir" value="${projects.dir}/textLayout"/>
+    <property name="textLayout.ver.dir" value="${textLayout.dir}/${tlf.version}"/>
 
     <!-- automation -->
     <property name="automation.dir" value="${projects.dir}/automation"/>
@@ -75,11 +79,11 @@
 
     <property name="compc.jvm.args" value="-Xmx384m" />
     
-    <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar"/>
+    <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar;${FLEX_HOME}/lib/flexTasks.jar"/>
 
-    <target name="main" depends="check-compile-env,clean,thirdparty-downloads,prepare,framework,mx,spark,airframework,airspark,mobilecomponents,rpc,charts,advancedgrids,core,flash-integration,automation-swcs,bundles,themes,sparkskins,spark_dmv"/>
+    <target name="main" depends="check-compile-env,clean,thirdparty-downloads,prepare,textLayout,framework,mx,spark,airframework,airspark,mobilecomponents,rpc,charts,advancedgrids,core,flash-integration,automation-swcs,bundles,themes,sparkskins,spark_dmv,apache,experimental"/>
 
-    <target name="bundles" depends="framework_rb,mx_rb,spark_rb,airframework_rb,airspark_rb,mobilecomponents_rb,rpc_rb,charts_rb,advancedgrids_rb,automation-rbs"/>
+    <target name="bundles" depends="framework_rb,mx_rb,textLayout_rb,spark_rb,airframework_rb,airspark_rb,mobilecomponents_rb,rpc_rb,charts_rb,advancedgrids_rb,automation-rbs,apache_rb,experimental_rb"/>
     
     <target name="automation-swcs" 
         depends="automation_agent,automation_dmv,tool,tool_air,automation,automation_air,automation_spark,automation_flashflexkit,automation_air,automation_airspark"
@@ -805,7 +809,6 @@
             <include-resource-bundles bundle="components"/>
             <include-resource-bundles bundle="sparkEffects"/>
             <include-resource-bundles bundle="layout"/>
-            <include-resource-bundles bundle="textLayout"/>
             <include-resource-bundles bundle="osmf"/>
             <source-path path-element="${spark.dir}/bundles/${locale}"/>
             <source-path path-element="${spark.dir}/src"/>
@@ -858,7 +861,40 @@
             <jvmarg line="${compc.jvm.args}"/>
         </compc>
     </target>
+	
+	<target name="textLayout" description="Builds the textLayout.swc">
+		<compc fork="true"
+			   output="${basedir}/libs/textLayout.swc"
+			   show-actionscript-warnings="false"
+			   compute-digest="true"
+			   include-classes="flashx.textLayout.CoreClasses flashx.textLayout.EditClasses flashx.textLayout.ConversionClasses">
+			<jvmarg line="${compc.jvm.args}"/>
+			<keep-as3-metadata>IMXMLObject</keep-as3-metadata>
+			<include-namespaces uri="library://ns.adobe.com/flashx/textLayout"/>
+			<namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${textLayout.ver.dir}/manifest.xml"/>
+			<source-path path-element="${textLayout.ver.dir}/src"/>
+			<library-path/>
+			<include-file name="manifest.xml" path="${textLayout.ver.dir}/manifest.xml"/>
+			<static-link-runtime-shared-libraries/>
+			<define name="CONFIG::debug" value="false"/>
+			<define name="CONFIG::release" value="true"/>
+		</compc>
+     </target>
 
+    <target name="textLayout_rb" description="Builds default locale textLayout_rb.swc">
+        <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" 
+            output="${basedir}/locale/${locale}/mx_rb.swc">
+            <include-resource-bundles bundle="textLayout"/>
+            <source-path path-element="${textLayout.dir}/bundles/${locale}"/>
+            <external-library-path dir="${playerglobal.dir}" includes="playerglobal.swc"/>
+            <external-library-path dir="${basedir}/libs">
+                <include name="framework.swc"/>
+            </external-library-path>
+            <library-path/>
+            <jvmarg line="${compc.jvm.args}"/>
+        </compc>
+    </target>   
+    
     <target name="tool_air" description="Builds the tool_air.swc">
         <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" accessible="true"
             include-classes="ToolAIRClasses" output="${basedir}/libs/automation/tool_air.swc"
@@ -961,6 +997,78 @@
             <jvmarg line="${compc.jvm.args}"/>
         </compc>
     </target>
+	
+    <target name="apache" description="Builds the apache.swc">
+        <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" accessible="true" 
+            include-classes="ApacheClasses" output="${basedir}/libs/apache.swc"
+            resource-bundle-list="${apache.dir}/bundles.properties">
+        	<namespace uri="http://flex.apache.org/ns" manifest="${apache.dir}/manifest.xml"/>
+            <source-path path-element="${apache.dir}/src"/>
+            <library-path />
+            <external-library-path dir="${playerglobal.dir}" includes="playerglobal.swc"/>
+            <external-library-path dir="${basedir}/libs">
+            	<include name="mx.swc"/>
+            </external-library-path>
+            <include-file name="defaults.css" path="${mx.dir}/defaults.css"/>
+            <jvmarg line="${compc.jvm.args}"/>
+            <keep-as3-metadata name="Bindable"/>
+            <keep-as3-metadata name="Managed"/>
+            <keep-as3-metadata name="ChangeEvent"/>
+            <keep-as3-metadata name="NonCommittingChangeEvent"/>
+            <keep-as3-metadata name="Transient"/>
+        </compc>
+    </target>
+    
+    <target name="apache_rb" description="Builds default locale apache_rb.swc">
+        <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" 
+            output="${basedir}/locale/${locale}/apache_rb.swc">
+            <include-resource-bundles bundle="apache"/>
+            <source-path path-element="${apache.dir}/bundles/${locale}"/>
+            <source-path path-element="${apache.dir}/src"/>
+            <external-library-path dir="${playerglobal.dir}" includes="playerglobal.swc"/>
+            <external-library-path dir="${basedir}/libs">
+                <include name="framework.swc"/>
+            </external-library-path>
+            <library-path/>
+            <jvmarg line="${compc.jvm.args}"/>
+        </compc>
+    </target>   
+	
+    <target name="experimental" description="Builds the experimental.swc">
+        <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" accessible="true" 
+            include-classes="ExperimentalClasses" output="${basedir}/libs/experimental.swc"
+            resource-bundle-list="${experimental.dir}/bundles.properties">
+            <source-path path-element="${experimental.dir}/src"/>
+            <library-path />
+            <external-library-path dir="${playerglobal.dir}" includes="playerglobal.swc"/>
+            <external-library-path dir="${basedir}/libs">
+            	<include name="mx.swc"/>
+            </external-library-path>
+            <include-file name="defaults.css" path="${mx.dir}/defaults.css"/>
+            <jvmarg line="${compc.jvm.args}"/>
+            <keep-as3-metadata name="Bindable"/>
+            <keep-as3-metadata name="Managed"/>
+            <keep-as3-metadata name="ChangeEvent"/>
+            <keep-as3-metadata name="NonCommittingChangeEvent"/>
+            <keep-as3-metadata name="Transient"/>
+        </compc>
+    </target>
+    
+    <target name="experimental_rb" description="Builds default locale experimental_rb.swc">
+        <compc static-link-runtime-shared-libraries="true" fork="true" locale="${locale}" 
+            output="${basedir}/locale/${locale}/experimental_rb.swc">
+            <include-resource-bundles bundle="experimental"/>
+            <source-path path-element="${experimental.dir}/bundles/${locale}"/>
+            <source-path path-element="${experimental.dir}/src"/>
+            <external-library-path dir="${playerglobal.dir}" includes="playerglobal.swc"/>
+            <external-library-path dir="${basedir}/libs">
+                <include name="framework.swc"/>
+            </external-library-path>
+            <library-path/>
+            <jvmarg line="${compc.jvm.args}"/>
+        </compc>
+    </target>
+
         
     <!-- Download thirdparty code -->
     
@@ -987,8 +1095,11 @@
                 <include name="rpc.swc"/>
                 <include name="sparkskins.swc"/>
                 <include name="spark.swc"/>
+                <include name="textLayout.swc"/>
                 <include name="authoringsupport.swc"/>
                 <include name="flash-integration.swc"/>
+            	<include name="apache.swc"/>
+            	<include name="experimental.swc"/>	
             </fileset>
             <fileset dir="${basedir}/libs/automation">
                 <include name="automation_agent.swc"/>
@@ -1021,7 +1132,10 @@
                 <include name="mx_rb.swc"/>
                 <include name="rpc_rb.swc"/>
                 <include name="spark_rb.swc"/>
-                <include name="tool_air_rb.swc"/>
+                <include name="textLayout_rb.swc"/>
+            	<include name="tool_air_rb.swc"/>
+            	<include name="apache_rb.swc"/>
+                <include name="experimental_rb.swc"/>
             </fileset>
         </delete>
         <delete dir="${basedir}/projects" includes="*/bundles.properties"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/downloads.xml
----------------------------------------------------------------------
diff --git a/frameworks/downloads.xml b/frameworks/downloads.xml
index 48eec5f..76362fe 100644
--- a/frameworks/downloads.xml
+++ b/frameworks/downloads.xml
@@ -52,7 +52,7 @@
        clean does not remove these since they don't change often and the downloads take time.
     -->
     <target name="main" 
-        depends="swfobject-download,swfobject-fabridge-download,textLayout-download,osmf-download,optional-downloads" 
+        depends="swfobject-download,swfobject-fabridge-download,osmf-download,optional-downloads" 
         description="Copies third-party software into place for build">
         <echo message="Use thirdparty-clean or super-clean to remove these."/> 
     </target>
@@ -66,7 +66,6 @@
         <delete failonerror="false">
             <fileset dir="${basedir}/libs">
                 <include name="osmf.swc"/>
-                <include name="textLayout.swc"/>
             </fileset>
         </delete>
         <delete includeEmptyDirs="true" failonerror="false">
@@ -74,7 +73,6 @@
                 <include name="${adobe.flex.zip.file}"/>
                 <include name="OSMF*/**"/>
                 <include name="osmf*/**"/>
-                <include name="textLayout*/**"/>
                 <include name="swfobject*/**"/>
             </fileset>
         </delete>
@@ -193,41 +191,6 @@
             </fileset>
         </delete>
     </target>
-
-    <!-- textLayout.swc (Version 2.0.232) -->
-    <!-- Because this requires a network connection it downloads TLF only if it doesn't already exist. -->
-    <target name="textLayout-check" description="Checks if the Text Layout Framework has been downloaded.">
-        <available file="${basedir}/libs/textLayout.swc" property="textLayout.swc.present"/>
-    </target>
-
-    <!-- 
-        Notify before downloading file with MPL1.1 license.
-    -->
-    <target name="ask-tlf" unless="build.noprompt">
-        <echo message="The Adobe Text Layout Framework (TLF) used by the Spark text components"/>
-        <echo message="is licensed under the Mozilla Public License Version 1.1."/>
-        <antcall target="echo-mpl1.1-license"/>
-    </target>
-
-    <target name="textLayout-download" depends="textLayout-check" unless="textLayout.swc.present">
-        <antcall target="ask-tlf"/>
-        
-        <available file="${download.dir}/textLayout_build.zip" type="file" property="tlf.zip.exists"/>
-        <antcall target="download-tlf-zip" />
-        
-        <unzip src="${download.dir}/textLayout_build.zip" dest="${basedir}">
-            <patternset>
-                <include name="libs/textLayout.swc"/>
-            </patternset>
-        </unzip>
-    </target>
-
-    <target name="download-tlf-zip" unless="tlf.zip.exists">
-        <mkdir dir="${download.dir}"/>
-        <get src="http://sourceforge.net/projects/tlf.adobe/files/2.0/232/textLayout_build.zip/download" 
-            dest="${download.dir}/textLayout_build.zip" 
-            verbose="false"/>
-    </target>
     
 	<!--============================================================================= -->
 	<!--      Optional Jars.  Licenses are not compatible with Apache v2 license.     -->
@@ -235,6 +198,7 @@
 	
 	<!--
         flex-messaging-common.jar - BlazeDS interface for -service compiler option
+        This does not get installed if build.noprompt is set.
     -->
     
     <target name="blazeds-jar-check" unless="blazeds.donot.ask"
@@ -253,7 +217,7 @@
         description="Prompt the user before downloading BlaseDS">
 
         <property name="blazeds.prompt.text" 
-            value="Apache Flex can optionally integrate with Adobe BlazeDS..
+            value="Apache Flex can optionally integrate with Adobe BlazeDS.
             ${line.separator}This feature requires flex-messaging-common.jar from the Adobe Flex SDK.
             ${line.separator}The Adobe SDK license agreement for Adobe Flex 4.6 applies to this jar.
             ${line.separator}This license is not compatible with the Apache v2 license.
@@ -286,6 +250,7 @@
 
 	<!--
         Embedded Font Support
+        This does not get installed if build.noprompt is set.
     -->
     
     <target name="font-jars-check" unless="font.donot.ask"

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/de_CH/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/de_CH/metadata.properties b/frameworks/locale/de_CH/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/de_CH/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.


[14/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGColorProfileElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGColorProfileElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGColorProfileElementBridge.java
index 73c74b0..5e37b43 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGColorProfileElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGColorProfileElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,11 +21,12 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.color.ICC_Profile;
 import java.io.IOException;
 
-import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.ext.awt.color.ICCColorSpaceExt;
 import org.apache.flex.forks.batik.ext.awt.color.NamedProfileCache;
 import org.apache.flex.forks.batik.util.ParsedURL;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -35,7 +37,7 @@ import org.w3c.dom.NodeList;
  * <tt>ICC_ColorSpace</tt> object.
  *
  * @author <a href="mailto:vincent.hardy@eng.sun.com">Vincent Hardy</a>
- * @version $Id: SVGColorProfileElementBridge.java,v 1.13 2004/08/18 07:12:33 vhardy Exp $ */
+ * @version $Id: SVGColorProfileElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $ */
 public class SVGColorProfileElementBridge extends AbstractSVGBridge
     implements ErrorConstants {
 
@@ -64,7 +66,7 @@ public class SVGColorProfileElementBridge extends AbstractSVGBridge
                                                    Element paintedElement,
                                                    String iccProfileName) {
         // Check if there is one if the cache.
-        ICCColorSpaceExt cs = cache.request(iccProfileName.toLowerCase());
+        ICCColorSpaceExt cs = cache.request(iccProfileName.toLowerCase()); // todo locale??
         if (cs != null){
             return cs;
         }
@@ -98,27 +100,25 @@ public class SVGColorProfileElementBridge extends AbstractSVGBridge
         String href = XLinkSupport.getXLinkHref(profile);
         ICC_Profile p = null;
         if (href != null) {
-            String baseURI= ((SVGOMDocument)doc).getURL();
-            ParsedURL purl = new ParsedURL(baseURI, href);
-            if (!purl.complete()) 
-                throw new BridgeException(paintedElement, ERR_URI_MALFORMED,
-                                          new Object[] {href});
-            try{
-                ParsedURL pDocURL = null;
-                if (baseURI != null) {
-                    pDocURL = new ParsedURL(baseURI);
-                }
-
-               ctx.getUserAgent().checkLoadExternalResource(purl, 
-                                                            pDocURL);
+            String baseURI = ((AbstractNode) profile).getBaseURI();
+            ParsedURL pDocURL = null;
+            if (baseURI != null) {
+                pDocURL = new ParsedURL(baseURI);
+            }
 
+            ParsedURL purl = new ParsedURL(pDocURL, href);
+            if (!purl.complete())
+                throw new BridgeException(ctx, paintedElement, ERR_URI_MALFORMED,
+                                          new Object[] {href});
+            try {
+                ctx.getUserAgent().checkLoadExternalResource(purl, pDocURL);
                 p = ICC_Profile.getInstance(purl.openStream());
-            } catch(IOException e) {
-                throw new BridgeException(paintedElement, ERR_URI_IO,
+            } catch (IOException ioEx) {
+                throw new BridgeException(ctx, paintedElement, ioEx, ERR_URI_IO,
                                           new Object[] {href});
                 // ??? IS THAT AN ERROR FOR THE SVG SPEC ???
-            } catch(SecurityException e) {
-                throw new BridgeException(paintedElement, ERR_URI_UNSECURE,
+            } catch (SecurityException secEx) {
+                throw new BridgeException(ctx, paintedElement, secEx, ERR_URI_UNSECURE,
                                           new Object[] {href});
             }
         }
@@ -127,7 +127,7 @@ public class SVGColorProfileElementBridge extends AbstractSVGBridge
         }
 
         // Extract the rendering intent from profile element
-        int intent = convertIntent(profile);
+        int intent = convertIntent(profile, ctx);
         cs = new ICCColorSpaceExt(p, intent);
 
         // Add profile to cache
@@ -135,7 +135,7 @@ public class SVGColorProfileElementBridge extends AbstractSVGBridge
         return cs;
     }
 
-    private static int convertIntent(Element profile) {
+    private static int convertIntent(Element profile, BridgeContext ctx) {
 
         String intent
             = profile.getAttributeNS(null, SVG_RENDERING_INTENT_ATTRIBUTE);
@@ -159,7 +159,7 @@ public class SVGColorProfileElementBridge extends AbstractSVGBridge
             return ICCColorSpaceExt.SATURATION;
         }
         throw new BridgeException
-            (profile, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            (ctx, profile, ERR_ATTRIBUTE_VALUE_MALFORMED,
              new Object[] {SVG_RENDERING_INTENT_ATTRIBUTE, intent});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDecoratedShapeElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDecoratedShapeElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDecoratedShapeElementBridge.java
index 9fa7e7a..f02fb4e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDecoratedShapeElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDecoratedShapeElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.Element;
  * filled, stroked and can have markers.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGDecoratedShapeElementBridge.java,v 1.10 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGDecoratedShapeElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public abstract class SVGDecoratedShapeElementBridge
         extends SVGShapeElementBridge {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescElementBridge.java
index f6152d4..8392d2c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2005  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,13 +18,11 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
-import org.w3c.dom.Element;
-
 /**
  * Bridge class for the &lt;desc&gt; element.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: SVGDescElementBridge.java,v 1.4 2005/02/27 02:08:51 deweese Exp $
+ * @version $Id: SVGDescElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGDescElementBridge extends SVGDescriptiveElementBridge {
 
@@ -39,10 +38,8 @@ public class SVGDescElementBridge extends SVGDescriptiveElementBridge {
         return SVG_DESC_TAG;
     }
 
-
     /**
      * Returns a new instance of this bridge.
      */
     public Bridge getInstance() { return new SVGDescElementBridge(); }
 }
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescriptiveElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescriptiveElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescriptiveElementBridge.java
index fcc631f..6e9d2c1 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescriptiveElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDescriptiveElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2005 The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,16 +26,17 @@ import org.w3c.dom.Element;
 import org.w3c.dom.events.MutationEvent;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
 import org.apache.flex.forks.batik.dom.svg.SVGContext;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
 
 /**
  * Base class for 'descriptive' elements, mostly title and desc.
  *
- * @author <a href="mailto:deweese@apache.org">deweese</a>
- * @version $Id: SVGDescriptiveElementBridge.java,v 1.2 2005/03/27 08:58:30 cam Exp $
+ * @author <a href="mailto:deweese@apache.org">Thomas DeWeese</a>
+ * @version $Id: SVGDescriptiveElementBridge.java 478160 2006-11-22 13:35:06Z dvholten $
  */
-public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge 
+public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge
     implements GenericBridge,  BridgeUpdateHandler, SVGContext {
 
     Element theElt;
@@ -51,12 +53,12 @@ public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge
      * <tt>SVGDescElementBridge</tt>.
      *
      * @param ctx the bridge context to use
-     * @param e the element that describes the graphics node to build
+     * @param e the element to be handled
      */
     public void handleElement(BridgeContext ctx, Element e){
         UserAgent ua = ctx.getUserAgent();
         ua.handleElement(e, Boolean.TRUE);
-        
+
         if (ctx.isDynamic()) {
             SVGDescriptiveElementBridge b;
             b = (SVGDescriptiveElementBridge)getInstance();
@@ -77,21 +79,25 @@ public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge
         theElt = null;
         parent = null;
     }
-    public void handleDOMNodeInsertedEvent(MutationEvent evt) { 
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) {
         UserAgent ua = theCtx.getUserAgent();
         ua.handleElement(theElt, Boolean.TRUE);
     }
-    public void handleDOMCharacterDataModified(MutationEvent evt) { 
+    public void handleDOMCharacterDataModified(MutationEvent evt) {
         UserAgent ua = theCtx.getUserAgent();
         ua.handleElement(theElt, Boolean.TRUE);
     }
 
-    public void handleDOMNodeRemovedEvent (MutationEvent evt) { 
+    public void handleDOMNodeRemovedEvent (MutationEvent evt) {
         dispose();
     }
 
     public void handleDOMAttrModifiedEvent(MutationEvent evt) { }
     public void handleCSSEngineEvent(CSSEngineEvent evt) { }
+    public void handleAnimatedAttributeChanged
+        (AnimatedLiveAttributeValue alav) { }
+    public void handleOtherAnimationChanged(String type) { }
+
 
     // SVGContext implementation ///////////////////////////////////////////
 
@@ -109,14 +115,14 @@ public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge
      */
     public float getPixelToMM() {
         return getPixelUnitToMillimeter();
-            
+
     }
 
     public Rectangle2D getBBox() { return null; }
-    public AffineTransform getScreenTransform() { 
+    public AffineTransform getScreenTransform() {
         return theCtx.getUserAgent().getTransform();
     }
-    public void setScreenTransform(AffineTransform at) { 
+    public void setScreenTransform(AffineTransform at) {
         theCtx.getUserAgent().setTransform(at);
     }
     public AffineTransform getCTM() { return null; }
@@ -128,4 +134,4 @@ public abstract class SVGDescriptiveElementBridge extends AbstractSVGBridge
         return theCtx.getBlockHeight(theElt);
     }
     public float getFontSize() { return 0; }
-};
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDocumentBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDocumentBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDocumentBridge.java
new file mode 100644
index 0000000..129f011
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGDocumentBridge.java
@@ -0,0 +1,226 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+
+import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.SVGContext;
+import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.gvt.RootGraphicsNode;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * Bridge class for an SVGDocument node.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGDocumentBridge.java 582434 2007-10-06 02:11:51Z cam $
+ */
+public class SVGDocumentBridge implements DocumentBridge, BridgeUpdateHandler,
+                                          SVGContext {
+
+    /**
+     * The document node this bridge is associated with.
+     */
+    protected Document document;
+
+    /**
+     * The graphics node constructed by this bridge.
+     */
+    protected RootGraphicsNode node;
+
+    /**
+     * The bridge context.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * Constructs a new bridge the SVG document.
+     */
+    public SVGDocumentBridge() {
+    }
+
+    // Bridge ////////////////////////////////////////////////////////////////
+
+    /**
+     * Returns the namespace URI of the element this <tt>Bridge</tt> is
+     * dedicated to.  Returns <code>null</code>, as a Document node has no
+     * namespace URI.
+     */
+    public String getNamespaceURI() {
+        return null;
+    }
+
+    /**
+     * Returns the local name of the element this <tt>Bridge</tt> is dedicated
+     * to.  Returns <code>null</code>, as a Document node has no local name.
+     */
+    public String getLocalName() {
+        return null;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGDocumentBridge();
+    }
+
+    // DocumentBridge ////////////////////////////////////////////////////////
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     * This is called before children have been added to the
+     * returned GraphicsNode (obviously since you construct and return it).
+     *
+     * @param ctx the bridge context to use
+     * @param doc the document node that describes the graphics node to build
+     * @return a graphics node that represents the specified document node
+     */
+    public RootGraphicsNode createGraphicsNode(BridgeContext ctx,
+                                               Document doc) {
+        RootGraphicsNode gn = new RootGraphicsNode();
+        this.document = doc;
+        this.node = gn;
+        this.ctx = ctx;
+        ((SVGOMDocument) doc).setSVGContext(this);
+        return gn;
+    }
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.  This is called after all the children
+     * of the node have been constructed and added, so it is safe to
+     * do work that depends on being able to see your children nodes
+     * in this method.
+     *
+     * @param ctx the bridge context to use
+     * @param doc the document node that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    public void buildGraphicsNode(BridgeContext ctx,
+                                  Document doc,
+                                  RootGraphicsNode node) {
+        if (ctx.isDynamic()) {
+            ctx.bind(doc, node);
+        }
+    }
+
+    // BridgeUpdateHandler ///////////////////////////////////////////////////
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     */
+    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
+     */
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) {
+        if (evt.getTarget() instanceof Element) {
+            Element childElt = (Element) evt.getTarget();
+
+            GVTBuilder builder = ctx.getGVTBuilder();
+            GraphicsNode childNode = builder.build(ctx, childElt);
+            if (childNode == null) {
+                return;
+            }
+
+            // There can only be one document element.
+            node.add(childNode);
+        }
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
+     */
+    public void handleDOMNodeRemovedEvent(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+     * is fired.
+     */
+    public void handleDOMCharacterDataModified(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an CSSEngineEvent is fired.
+     */
+    public void handleCSSEngineEvent(CSSEngineEvent evt) {
+    }
+
+    /**
+     * Invoked when the animated value of an animated attribute has changed.
+     */
+    public void handleAnimatedAttributeChanged(AnimatedLiveAttributeValue alav) {
+    }
+
+    /**
+     * Invoked when an 'other' animation value has changed.
+     */
+    public void handleOtherAnimationChanged(String type) {
+    }
+
+    /**
+     * Disposes this BridgeUpdateHandler and releases all resources.
+     */
+    public void dispose() {
+        ((SVGOMDocument) document).setSVGContext(null);
+        ctx.unbind(document);
+    }
+
+    // SVGContext //////////////////////////////////////////////////////////
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     */
+    public float getPixelUnitToMillimeter() {
+        return ctx.getUserAgent().getPixelUnitToMillimeter();
+    }
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     * This will be removed after next release.
+     * @see #getPixelUnitToMillimeter()
+     */
+    public float getPixelToMM() {
+        return getPixelUnitToMillimeter();
+    }
+
+    public Rectangle2D getBBox() { return null; }
+    public AffineTransform getScreenTransform() {
+        return ctx.getUserAgent().getTransform();
+    }
+    public void setScreenTransform(AffineTransform at) {
+        ctx.getUserAgent().setTransform(at);
+    }
+    public AffineTransform getCTM() { return null; }
+    public AffineTransform getGlobalTransform() { return null; }
+    public float getViewportWidth() { return 0f; }
+    public float getViewportHeight() { return 0f; }
+    public float getFontSize() { return 0; }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGEllipseElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGEllipseElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGEllipseElementBridge.java
index 89298ee..02df05d 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGEllipseElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGEllipseElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,16 +21,20 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.geom.Ellipse2D;
 import java.awt.geom.Rectangle2D;
 
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMEllipseElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.gvt.ShapePainter;
+
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
 
 /**
  * Bridge class for the &lt;ellipse> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGEllipseElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGEllipseElementBridge.java 527382 2007-04-11 04:31:58Z cam $
  */
 public class SVGEllipseElementBridge extends SVGShapeElementBridge {
 
@@ -62,68 +67,55 @@ public class SVGEllipseElementBridge extends SVGShapeElementBridge {
     protected void buildShape(BridgeContext ctx,
                               Element e,
                               ShapeNode shapeNode) {
-
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-        String s;
-
-        // 'cx' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_CX_ATTRIBUTE);
-        float cx = 0;
-        if (s.length() != 0) {
-            cx = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_CX_ATTRIBUTE, uctx);
-        }
-
-        // 'cy' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_CY_ATTRIBUTE);
-        float cy = 0;
-        if (s.length() != 0) {
-            cy = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_CY_ATTRIBUTE, uctx);
+        try {
+            SVGOMEllipseElement ee = (SVGOMEllipseElement) e;
+
+            // 'cx' attribute - default is 0
+            AbstractSVGAnimatedLength _cx =
+                (AbstractSVGAnimatedLength) ee.getCx();
+            float cx = _cx.getCheckedValue();
+
+            // 'cy' attribute - default is 0
+            AbstractSVGAnimatedLength _cy =
+                (AbstractSVGAnimatedLength) ee.getCy();
+            float cy = _cy.getCheckedValue();
+
+            // 'rx' attribute - required
+            AbstractSVGAnimatedLength _rx =
+                (AbstractSVGAnimatedLength) ee.getRx();
+            float rx = _rx.getCheckedValue();
+
+            // 'ry' attribute - required
+            AbstractSVGAnimatedLength _ry =
+                (AbstractSVGAnimatedLength) ee.getRy();
+            float ry = _ry.getCheckedValue();
+
+            shapeNode.setShape(new Ellipse2D.Float(cx - rx, cy - ry,
+                                                   rx * 2, ry * 2));
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-
-        // 'rx' attribute - required
-        s = e.getAttributeNS(null, SVG_RX_ATTRIBUTE);
-        float rx;
-        if (s.length() != 0) {
-            rx = UnitProcessor.svgHorizontalLengthToUserSpace
-                (s, SVG_RX_ATTRIBUTE, uctx);
-        } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_RX_ATTRIBUTE, s});
-        }
-
-        // 'ry' attribute - required
-        s = e.getAttributeNS(null, SVG_RY_ATTRIBUTE);
-        float ry;
-        if (s.length() != 0) {
-            ry = UnitProcessor.svgVerticalLengthToUserSpace
-                (s, SVG_RY_ATTRIBUTE, uctx);
-        } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_RY_ATTRIBUTE, s});
-        }
-
-        shapeNode.setShape(new Ellipse2D.Float(cx-rx, cy-ry, rx*2, ry*2));
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_CX_ATTRIBUTE) ||
-            attrName.equals(SVG_CY_ATTRIBUTE) ||
-            attrName.equals(SVG_RX_ATTRIBUTE) ||
-            attrName.equals(SVG_RY_ATTRIBUTE)) {
-
-            buildShape(ctx, e, (ShapeNode)node);
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_CX_ATTRIBUTE)
+                    || ln.equals(SVG_CY_ATTRIBUTE)
+                    || ln.equals(SVG_RX_ATTRIBUTE)
+                    || ln.equals(SVG_RY_ATTRIBUTE)) {
+                buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
+            }
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     protected ShapePainter createShapePainter(BridgeContext ctx,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeBlendElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeBlendElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeBlendElementBridge.java
index 0c25a66..4c1cbbe 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeBlendElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeBlendElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -34,7 +35,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feBlend> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeBlendElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeBlendElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeBlendElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -80,7 +81,7 @@ public class SVGFeBlendElementBridge
 
 
         // 'mode' attribute - default is 'normal'
-        CompositeRule rule = convertMode(filterElement);
+        CompositeRule rule = convertMode(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -140,7 +141,8 @@ public class SVGFeBlendElementBridge
      *
      * @param filterElement the filter feBlend element
      */
-    protected static CompositeRule convertMode(Element filterElement) {
+    protected static CompositeRule convertMode(Element filterElement,
+                                               BridgeContext ctx) {
         String rule = filterElement.getAttributeNS(null, SVG_MODE_ATTRIBUTE);
         if (rule.length() == 0) {
             return CompositeRule.OVER;
@@ -160,7 +162,8 @@ public class SVGFeBlendElementBridge
         if (SVG_LIGHTEN_VALUE.equals(rule)) {
             return CompositeRule.LIGHTEN;
         }
-        throw new BridgeException(filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                  new Object[] {SVG_MODE_ATTRIBUTE, rule});
+        throw new BridgeException
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] {SVG_MODE_ATTRIBUTE, rule});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeColorMatrixElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeColorMatrixElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeColorMatrixElementBridge.java
index d21a0d7..e046c02 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeColorMatrixElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeColorMatrixElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -33,7 +34,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feColorMatrix> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeColorMatrixElementBridge.java,v 1.16 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeColorMatrixElementBridge.java 504084 2007-02-06 11:24:46Z dvholten $
  */
 public class SVGFeColorMatrixElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -99,26 +100,26 @@ public class SVGFeColorMatrixElementBridge
                                                         filterRegion,
                                                         ctx);
 
-        int type = convertType(filterElement);
+        int type = convertType(filterElement, ctx);
         ColorMatrixRable colorMatrix;
         switch (type) {
         case ColorMatrixRable.TYPE_HUE_ROTATE:
-            float a = convertValuesToHueRotate(filterElement);
+            float a = convertValuesToHueRotate(filterElement, ctx);
             colorMatrix = ColorMatrixRable8Bit.buildHueRotate(a);
             break;
         case ColorMatrixRable.TYPE_LUMINANCE_TO_ALPHA:
             colorMatrix = ColorMatrixRable8Bit.buildLuminanceToAlpha();
             break;
         case ColorMatrixRable.TYPE_MATRIX:
-            float [][] matrix = convertValuesToMatrix(filterElement);
+            float [][] matrix = convertValuesToMatrix(filterElement, ctx);
             colorMatrix = ColorMatrixRable8Bit.buildMatrix(matrix);
             break;
         case ColorMatrixRable.TYPE_SATURATE:
-            float s = convertValuesToSaturate(filterElement);
+            float s = convertValuesToSaturate(filterElement, ctx);
             colorMatrix = ColorMatrixRable8Bit.buildSaturate(s);
             break;
         default:
-            throw new Error(); // can't be reached
+            throw new Error("invalid convertType:" + type ); // can't be reached
         }
         colorMatrix.setSource(in);
 
@@ -139,8 +140,10 @@ public class SVGFeColorMatrixElementBridge
      * filter primitive element for the 'matrix' type.
      *
      * @param filterElement the filter element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float[][] convertValuesToMatrix(Element filterElement) {
+    protected static float[][] convertValuesToMatrix(Element filterElement,
+                                                     BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_VALUES_ATTRIBUTE);
         float [][] matrix = new float[4][5];
         if (s.length() == 0) {
@@ -158,14 +161,14 @@ public class SVGFeColorMatrixElementBridge
                     = SVGUtilities.convertSVGNumber(tokens.nextToken());
                 n++;
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_VALUES_ATTRIBUTE, s, ex});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_VALUES_ATTRIBUTE, s, nfEx });
         }
         if (n != 20 || tokens.hasMoreTokens()) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_VALUES_ATTRIBUTE, s});
         }
 
@@ -180,17 +183,19 @@ public class SVGFeColorMatrixElementBridge
      * filter primitive element for the 'saturate' type.
      *
      * @param filterElement the filter element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float convertValuesToSaturate(Element filterElement) {
+    protected static float convertValuesToSaturate(Element filterElement,
+                                                   BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_VALUES_ATTRIBUTE);
         if (s.length() == 0)
             return 1; // default is 1
         try {
             return SVGUtilities.convertSVGNumber(s);
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object [] {SVG_VALUES_ATTRIBUTE, s});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_VALUES_ATTRIBUTE, s});
         }
     }
 
@@ -199,16 +204,18 @@ public class SVGFeColorMatrixElementBridge
      * filter primitive element for the 'hueRotate' type.
      *
      * @param filterElement the filter element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float convertValuesToHueRotate(Element filterElement) {
+    protected static float convertValuesToHueRotate(Element filterElement,
+                                                    BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_VALUES_ATTRIBUTE);
         if (s.length() == 0)
             return 0; // default is 0
         try {
-            return (float)(SVGUtilities.convertSVGNumber(s)*Math.PI)/180f;
-        } catch (NumberFormatException ex) {
+            return (float) Math.toRadians( SVGUtilities.convertSVGNumber(s) );
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object [] {SVG_VALUES_ATTRIBUTE, s});
         }
     }
@@ -217,8 +224,9 @@ public class SVGFeColorMatrixElementBridge
      * Converts the type of the specified color matrix filter primitive.
      *
      * @param filterElement the filter element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static int convertType(Element filterElement) {
+    protected static int convertType(Element filterElement, BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_TYPE_ATTRIBUTE);
         if (s.length() == 0) {
             return ColorMatrixRable.TYPE_MATRIX;
@@ -235,7 +243,8 @@ public class SVGFeColorMatrixElementBridge
         if (SVG_SATURATE_VALUE.equals(s)) {
             return ColorMatrixRable.TYPE_SATURATE;
         }
-        throw new BridgeException(filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                  new Object[] {SVG_TYPE_ATTRIBUTE, s});
+        throw new BridgeException
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] {SVG_TYPE_ATTRIBUTE, s});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeComponentTransferElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeComponentTransferElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeComponentTransferElementBridge.java
index 9025e50..cb48a82 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeComponentTransferElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeComponentTransferElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -35,7 +36,7 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;feComponentTransfer> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeComponentTransferElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeComponentTransferElementBridge.java 504084 2007-02-06 11:24:46Z dvholten $
  */
 public class SVGFeComponentTransferElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -226,8 +227,8 @@ public class SVGFeComponentTransferElementBridge
     /**
      * The base bridge class for component transfer function.
      */
-    protected static abstract class SVGFeFuncElementBridge
-        extends AbstractSVGBridge {
+    protected abstract static class SVGFeFuncElementBridge
+            extends AnimatableGenericSVGBridge {
 
         /**
          * Constructs a new bridge for component transfer function.
@@ -244,10 +245,10 @@ public class SVGFeComponentTransferElementBridge
         public ComponentTransferFunction createComponentTransferFunction
             (Element filterElement, Element funcElement) {
 
-            int type = convertType(funcElement);
+            int type = convertType(funcElement, ctx);
             switch (type) {
             case ComponentTransferFunction.DISCRETE: {
-                float [] v = convertTableValues(funcElement);
+                float [] v = convertTableValues(funcElement, ctx);
                 if (v == null) {
                     return ConcreteComponentTransferFunction.getIdentityTransfer();
                 } else {
@@ -260,13 +261,13 @@ public class SVGFeComponentTransferElementBridge
             case ComponentTransferFunction.GAMMA: {
                 // 'amplitude' attribute - default is 1
                 float amplitude
-                    = convertNumber(funcElement, SVG_AMPLITUDE_ATTRIBUTE, 1);
+                    = convertNumber(funcElement, SVG_AMPLITUDE_ATTRIBUTE, 1, ctx);
                 // 'exponent' attribute - default is 1
                 float exponent
-                    = convertNumber(funcElement, SVG_EXPONENT_ATTRIBUTE, 1);
+                    = convertNumber(funcElement, SVG_EXPONENT_ATTRIBUTE, 1, ctx);
                 // 'offset' attribute - default is 0
                 float offset
-                    = convertNumber(funcElement, SVG_OFFSET_ATTRIBUTE, 0);
+                    = convertNumber(funcElement, SVG_OFFSET_ATTRIBUTE, 0, ctx);
 
                 return ConcreteComponentTransferFunction.getGammaTransfer
                     (amplitude, exponent, offset);
@@ -274,16 +275,16 @@ public class SVGFeComponentTransferElementBridge
             case ComponentTransferFunction.LINEAR: {
                 // 'slope' attribute - default is 1
                 float slope
-                    = convertNumber(funcElement, SVG_SLOPE_ATTRIBUTE, 1);
+                    = convertNumber(funcElement, SVG_SLOPE_ATTRIBUTE, 1, ctx);
                 // 'intercept' attribute - default is 0
                 float intercept
-                    = convertNumber(funcElement, SVG_INTERCEPT_ATTRIBUTE, 0);
+                    = convertNumber(funcElement, SVG_INTERCEPT_ATTRIBUTE, 0, ctx);
 
                 return ConcreteComponentTransferFunction.getLinearTransfer
                     (slope, intercept);
             }
             case ComponentTransferFunction.TABLE: {
-                float [] v = convertTableValues(funcElement);
+                float [] v = convertTableValues(funcElement, ctx);
                 if (v == null) {
                     return ConcreteComponentTransferFunction.getIdentityTransfer();
                 } else {
@@ -291,7 +292,7 @@ public class SVGFeComponentTransferElementBridge
                 }
             }
             default:
-                throw new Error(); // can't be reached
+                throw new Error("invalid convertType:" + type ); // can't be reached
             }
 
         }
@@ -301,8 +302,9 @@ public class SVGFeComponentTransferElementBridge
          * transfer function element.
          *
          * @param e the element that represents a component transfer function
+         * @param ctx the BridgeContext to use for error information
          */
-        protected static float [] convertTableValues(Element e) {
+        protected static float [] convertTableValues(Element e, BridgeContext ctx) {
             String s = e.getAttributeNS(null, SVG_TABLE_VALUES_ATTRIBUTE);
             if (s.length() == 0) {
                 return null;
@@ -313,9 +315,9 @@ public class SVGFeComponentTransferElementBridge
                 for (int i = 0; tokens.hasMoreTokens(); ++i) {
                     v[i] = SVGUtilities.convertSVGNumber(tokens.nextToken());
                 }
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, e, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {SVG_TABLE_VALUES_ATTRIBUTE, s});
         }
             return v;
@@ -326,11 +328,12 @@ public class SVGFeComponentTransferElementBridge
          * function element.
          *
          * @param e the element that represents a component transfer function
+         * @param ctx the BridgeContext to use for error information
          */
-        protected static int convertType(Element e) {
+        protected static int convertType(Element e, BridgeContext ctx) {
             String s = e.getAttributeNS(null, SVG_TYPE_ATTRIBUTE);
             if (s.length() == 0) {
-                throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
+                throw new BridgeException(ctx, e, ERR_ATTRIBUTE_MISSING,
                                           new Object[] {SVG_TYPE_ATTRIBUTE});
             }
             if (SVG_DISCRETE_VALUE.equals(s)) {
@@ -348,7 +351,7 @@ public class SVGFeComponentTransferElementBridge
             if (SVG_TABLE_VALUE.equals(s)) {
                 return ComponentTransferFunction.TABLE;
             }
-            throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                       new Object[] {SVG_TYPE_ATTRIBUTE, s});
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeCompositeElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeCompositeElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeCompositeElementBridge.java
index 67b2dad..40afec3 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeCompositeElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeCompositeElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -34,7 +35,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feComposite> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeCompositeElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeCompositeElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeCompositeElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -79,7 +80,7 @@ public class SVGFeCompositeElementBridge
                                Map filterMap) {
 
         // 'operator' attribute - default is 'over'
-        CompositeRule rule = convertOperator(filterElement);
+        CompositeRule rule = convertOperator(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -137,8 +138,10 @@ public class SVGFeCompositeElementBridge
      * filter primitive element.
      *
      * @param filterElement the feComposite filter element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static CompositeRule convertOperator(Element filterElement) {
+    protected static CompositeRule convertOperator(Element filterElement,
+                                                   BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_OPERATOR_ATTRIBUTE);
         if (s.length() == 0) {
             return CompositeRule.OVER; // default is over
@@ -159,13 +162,14 @@ public class SVGFeCompositeElementBridge
             return CompositeRule.XOR;
         }
         if (SVG_ARITHMETIC_VALUE.equals(s)) {
-            float k1 = convertNumber(filterElement, SVG_K1_ATTRIBUTE, 0);
-            float k2 = convertNumber(filterElement, SVG_K2_ATTRIBUTE, 0);
-            float k3 = convertNumber(filterElement, SVG_K3_ATTRIBUTE, 0);
-            float k4 = convertNumber(filterElement, SVG_K4_ATTRIBUTE, 0);
+            float k1 = convertNumber(filterElement, SVG_K1_ATTRIBUTE, 0, ctx);
+            float k2 = convertNumber(filterElement, SVG_K2_ATTRIBUTE, 0, ctx);
+            float k3 = convertNumber(filterElement, SVG_K3_ATTRIBUTE, 0, ctx);
+            float k4 = convertNumber(filterElement, SVG_K4_ATTRIBUTE, 0, ctx);
             return CompositeRule.ARITHMETIC(k1, k2, k3, k4);
         }
-        throw new BridgeException(filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                  new Object[] {SVG_OPERATOR_ATTRIBUTE, s});
+        throw new BridgeException
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] {SVG_OPERATOR_ATTRIBUTE, s});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeConvolveMatrixElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeConvolveMatrixElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeConvolveMatrixElementBridge.java
index 1fc2b60..75ed37e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeConvolveMatrixElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeConvolveMatrixElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,7 +37,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feConvolveMatrix> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeConvolveMatrixElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeConvolveMatrixElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeConvolveMatrixElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -81,28 +82,28 @@ public class SVGFeConvolveMatrixElementBridge
                                Map filterMap) {
 
         // 'order' attribute - default is [3, 3]
-        int [] orderXY = convertOrder(filterElement);
+        int[] orderXY = convertOrder(filterElement, ctx);
 
         // 'kernelMatrix' attribute - required
-        float [] kernelMatrix = convertKernelMatrix(filterElement, orderXY);
+        float[] kernelMatrix = convertKernelMatrix(filterElement, orderXY, ctx);
 
         // 'divisor' attribute - default is kernel matrix sum or 1 if sum is 0
-        float divisor = convertDivisor(filterElement, kernelMatrix);
+        float divisor = convertDivisor(filterElement, kernelMatrix, ctx);
 
         // 'bias' attribute - default is 0
-        float bias = convertNumber(filterElement, SVG_BIAS_ATTRIBUTE, 0);
+        float bias = convertNumber(filterElement, SVG_BIAS_ATTRIBUTE, 0, ctx);
 
         // 'targetX' and 'targetY' attribute
-        int [] targetXY = convertTarget(filterElement, orderXY);
+        int[] targetXY = convertTarget(filterElement, orderXY, ctx);
 
         // 'edgeMode' attribute - default is 'duplicate'
-        PadMode padMode = convertEdgeMode(filterElement);
+        PadMode padMode = convertEdgeMode(filterElement, ctx);
 
         // 'kernelUnitLength' attribute
-        double [] kernelUnitLength = convertKernelUnitLength(filterElement);
+        double[] kernelUnitLength = convertKernelUnitLength(filterElement, ctx);
 
         // 'preserveAlpha' attribute - default is 'false'
-        boolean preserveAlpha = convertPreserveAlpha(filterElement);
+        boolean preserveAlpha = convertPreserveAlpha(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -158,8 +159,10 @@ public class SVGFeConvolveMatrixElementBridge
      * filter primitive element.
      *
      * @param filterElement the feConvolveMatrix filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static int [] convertOrder(Element filterElement) {
+    protected static int[] convertOrder(Element filterElement,
+                                        BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_ORDER_ATTRIBUTE);
         if (s.length() == 0) {
             return new int[] {3, 3};
@@ -173,14 +176,14 @@ public class SVGFeConvolveMatrixElementBridge
             } else {
                 orderXY[1] = orderXY[0];
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_ORDER_ATTRIBUTE, s, ex});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_ORDER_ATTRIBUTE, s, nfEx });
         }
         if (tokens.hasMoreTokens() || orderXY[0] <= 0 || orderXY[1] <= 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_ORDER_ATTRIBUTE, s});
         }
         return orderXY;
@@ -192,15 +195,17 @@ public class SVGFeConvolveMatrixElementBridge
      *
      * @param filterElement the feConvolveMatrix filter primitive element
      * @param orderXY the value of the 'order' attribute
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static
-        float [] convertKernelMatrix(Element filterElement, int [] orderXY) {
+    protected static float[] convertKernelMatrix(Element filterElement,
+                                                 int[] orderXY,
+                                                 BridgeContext ctx) {
 
         String s =
             filterElement.getAttributeNS(null, SVG_KERNEL_MATRIX_ATTRIBUTE);
         if (s.length() == 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_MISSING,
+                (ctx, filterElement, ERR_ATTRIBUTE_MISSING,
                  new Object[] {SVG_KERNEL_MATRIX_ATTRIBUTE});
         }
         int size = orderXY[0]*orderXY[1];
@@ -212,14 +217,14 @@ public class SVGFeConvolveMatrixElementBridge
                 kernelMatrix[i++]
                     = SVGUtilities.convertSVGNumber(tokens.nextToken());
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_KERNEL_MATRIX_ATTRIBUTE, s, ex});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_KERNEL_MATRIX_ATTRIBUTE, s, nfEx });
         }
         if (i != size) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_KERNEL_MATRIX_ATTRIBUTE, s});
         }
         return kernelMatrix;
@@ -231,9 +236,11 @@ public class SVGFeConvolveMatrixElementBridge
      *
      * @param filterElement the feConvolveMatrix filter primitive element
      * @param kernelMatrix the value of the 'kernelMatrix' attribute
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static
-        float convertDivisor(Element filterElement, float [] kernelMatrix) {
+    protected static float convertDivisor(Element filterElement,
+                                          float[] kernelMatrix,
+                                          BridgeContext ctx) {
 
         String s = filterElement.getAttributeNS(null, SVG_DIVISOR_ATTRIBUTE);
         if (s.length() == 0) {
@@ -242,14 +249,14 @@ public class SVGFeConvolveMatrixElementBridge
             for (int i=0; i < kernelMatrix.length; ++i) {
                 sum += kernelMatrix[i];
             }
-            return (sum == 0) ? 1f : sum;
+            return (sum == 0) ? 1.0f : sum;
         } else {
             try {
                 return SVGUtilities.convertSVGNumber(s);
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {SVG_DIVISOR_ATTRIBUTE, s, ex});
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {SVG_DIVISOR_ATTRIBUTE, s, nfEx });
             }
         }
     }
@@ -260,11 +267,12 @@ public class SVGFeConvolveMatrixElementBridge
      *
      * @param filterElement the feConvolveMatrix filter primitive element
      * @param orderXY the value of the 'order' attribute
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static
-        int [] convertTarget(Element filterElement, int [] orderXY) {
+    protected static int[] convertTarget(Element filterElement, int[] orderXY,
+                                         BridgeContext ctx) {
 
-        int [] targetXY = new int[2];
+        int[] targetXY = new int[2];
         // 'targetX' attribute - default is floor(orderX / 2)
         String s = filterElement.getAttributeNS(null, SVG_TARGET_X_ATTRIBUTE);
         if (s.length() == 0) {
@@ -274,14 +282,14 @@ public class SVGFeConvolveMatrixElementBridge
                 int v = SVGUtilities.convertSVGInteger(s);
                 if (v < 0 || v >= orderXY[0]) {
                     throw new BridgeException
-                        (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                        (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                          new Object[] {SVG_TARGET_X_ATTRIBUTE, s});
                 }
                 targetXY[0] = v;
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {SVG_TARGET_X_ATTRIBUTE, s, ex});
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {SVG_TARGET_X_ATTRIBUTE, s, nfEx });
             }
         }
         // 'targetY' attribute - default is floor(orderY / 2)
@@ -293,14 +301,14 @@ public class SVGFeConvolveMatrixElementBridge
                 int v = SVGUtilities.convertSVGInteger(s);
                 if (v < 0 || v >= orderXY[1]) {
                     throw new BridgeException
-                        (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                        (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                          new Object[] {SVG_TARGET_Y_ATTRIBUTE, s});
                 }
                 targetXY[1] = v;
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {SVG_TARGET_Y_ATTRIBUTE, s, ex});
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {SVG_TARGET_Y_ATTRIBUTE, s, nfEx });
             }
         }
         return targetXY;
@@ -311,8 +319,10 @@ public class SVGFeConvolveMatrixElementBridge
      * feConvolveMatrix filter primitive element.
      *
      * @param filterElement the feConvolveMatrix filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static double [] convertKernelUnitLength(Element filterElement) {
+    protected static double[] convertKernelUnitLength(Element filterElement,
+                                                      BridgeContext ctx) {
         String s = filterElement.getAttributeNS
             (null, SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE);
         if (s.length() == 0) {
@@ -327,15 +337,15 @@ public class SVGFeConvolveMatrixElementBridge
             } else {
                 units[1] = units[0];
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE, s});
 
         }
         if (tokens.hasMoreTokens() || units[0] <= 0 || units[1] <= 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE, s});
         }
         return units;
@@ -346,8 +356,10 @@ public class SVGFeConvolveMatrixElementBridge
      * filter primitive element.
      *
      * @param filterElement the feConvolveMatrix filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static PadMode convertEdgeMode(Element filterElement) {
+    protected static PadMode convertEdgeMode(Element filterElement,
+                                             BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, SVG_EDGE_MODE_ATTRIBUTE);
         if (s.length() == 0) {
             return PadMode.REPLICATE;
@@ -362,7 +374,7 @@ public class SVGFeConvolveMatrixElementBridge
             return PadMode.ZERO_PAD;
         }
         throw new BridgeException
-            (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
              new Object[] {SVG_EDGE_MODE_ATTRIBUTE, s});
     }
 
@@ -371,8 +383,10 @@ public class SVGFeConvolveMatrixElementBridge
      * filter primitive element.
      *
      * @param filterElement the feConvolveMatrix filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static boolean convertPreserveAlpha(Element filterElement) {
+    protected static boolean convertPreserveAlpha(Element filterElement,
+                                                  BridgeContext ctx) {
         String s
             = filterElement.getAttributeNS(null, SVG_PRESERVE_ALPHA_ATTRIBUTE);
         if (s.length() == 0) {
@@ -385,7 +399,7 @@ public class SVGFeConvolveMatrixElementBridge
             return false;
         }
         throw new BridgeException
-            (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
              new Object[] {SVG_PRESERVE_ALPHA_ATTRIBUTE, s});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDiffuseLightingElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDiffuseLightingElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDiffuseLightingElementBridge.java
index c2ebc3a..1765a0f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDiffuseLightingElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDiffuseLightingElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feDiffuseLighting> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeDiffuseLightingElementBridge.java,v 1.16 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeDiffuseLightingElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeDiffuseLightingElementBridge
     extends AbstractSVGLightingElementBridge {
@@ -76,11 +77,12 @@ public class SVGFeDiffuseLightingElementBridge
 
         // 'surfaceScale' attribute - default is 1
         float surfaceScale
-            = convertNumber(filterElement, SVG_SURFACE_SCALE_ATTRIBUTE, 1);
+            = convertNumber(filterElement, SVG_SURFACE_SCALE_ATTRIBUTE, 1, ctx);
 
         // 'diffuseConstant' attribute - default is 1
         float diffuseConstant
-            = convertNumber(filterElement, SVG_DIFFUSE_CONSTANT_ATTRIBUTE, 1);
+            = convertNumber(filterElement, SVG_DIFFUSE_CONSTANT_ATTRIBUTE, 1,
+                            ctx);
 
         // 'kernelUnitLength' attribute
         // <!> FIXME: Why is it ignored ???
@@ -89,7 +91,7 @@ public class SVGFeDiffuseLightingElementBridge
         Light light = extractLight(filterElement, ctx);
 
         // 'kernelUnitLength' attribute
-        double [] kernelUnitLength = convertKernelUnitLength(filterElement);
+        double[] kernelUnitLength = convertKernelUnitLength(filterElement, ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDisplacementMapElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDisplacementMapElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDisplacementMapElementBridge.java
index 6c2e3df..2806158 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDisplacementMapElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeDisplacementMapElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -35,7 +36,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feDisplacementMap> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeDisplacementMapElementBridge.java,v 1.15 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeDisplacementMapElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeDisplacementMapElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -80,15 +81,17 @@ public class SVGFeDisplacementMapElementBridge
                                Map filterMap) {
 
         // 'scale' attribute - default is 0
-        float scale = convertNumber(filterElement, SVG_SCALE_ATTRIBUTE, 0);
+        float scale = convertNumber(filterElement, SVG_SCALE_ATTRIBUTE, 0, ctx);
 
         // 'xChannelSelector' attribute - default is 'A'
         ARGBChannel xChannelSelector = convertChannelSelector
-            (filterElement, SVG_X_CHANNEL_SELECTOR_ATTRIBUTE, ARGBChannel.A);
+            (filterElement, SVG_X_CHANNEL_SELECTOR_ATTRIBUTE, ARGBChannel.A,
+             ctx);
 
         // 'yChannelSelector' attribute - default is 'A'
         ARGBChannel yChannelSelector = convertChannelSelector
-            (filterElement, SVG_Y_CHANNEL_SELECTOR_ATTRIBUTE, ARGBChannel.A);
+            (filterElement, SVG_Y_CHANNEL_SELECTOR_ATTRIBUTE, ARGBChannel.A,
+             ctx);
 
         // 'in' attribute
         Filter in = getIn(filterElement,
@@ -152,11 +155,13 @@ public class SVGFeDisplacementMapElementBridge
      *
      * @param filterElement the feDisplacementMap filter primitive element
      * @param attrName the name of the channel attribute
+     * @param ctx the BridgeContext to use for error information
      */
     protected static
         ARGBChannel convertChannelSelector(Element filterElement,
                                            String attrName,
-                                           ARGBChannel defaultChannel) {
+                                           ARGBChannel defaultChannel,
+                                           BridgeContext ctx) {
 
         String s = filterElement.getAttributeNS(null, attrName);
         if (s.length() == 0) {
@@ -174,7 +179,8 @@ public class SVGFeDisplacementMapElementBridge
         if (SVG_B_VALUE.equals(s)) {
             return ARGBChannel.B;
         }
-        throw new BridgeException(filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                  new Object[] {attrName, s});
+        throw new BridgeException
+            (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] {attrName, s});
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeFloodElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeFloodElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeFloodElementBridge.java
index 3ac34b1..4c2feaf 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeFloodElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeFloodElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feFlood> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeFloodElementBridge.java,v 1.12 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeFloodElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGFeFloodElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeGaussianBlurElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeGaussianBlurElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeGaussianBlurElementBridge.java
index c193250..e76cc9c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeGaussianBlurElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGFeGaussianBlurElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -33,7 +34,7 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;feGaussianBlur> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGFeGaussianBlurElementBridge.java,v 1.18 2004/08/18 07:12:33 vhardy Exp $
+ * @version $Id: SVGFeGaussianBlurElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class SVGFeGaussianBlurElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -78,12 +79,12 @@ public class SVGFeGaussianBlurElementBridge
                                Map filterMap) {
 
         // 'stdDeviation' attribute - default is [0, 0]
-        float [] stdDeviationXY = convertStdDeviation(filterElement);
+        float[] stdDeviationXY = convertStdDeviation(filterElement, ctx);
         if (stdDeviationXY[0] < 0 || stdDeviationXY[1] < 0) {
-            throw new BridgeException(filterElement,
+            throw new BridgeException(ctx, filterElement,
                                       ERR_ATTRIBUTE_VALUE_MALFORMED,
                                       new Object[] {SVG_STD_DEVIATION_ATTRIBUTE,
-                                                    "" + stdDeviationXY[0] + 
+                                                    String.valueOf( stdDeviationXY[ 0 ] ) +
                                                     stdDeviationXY[1]});
         }
 
@@ -135,8 +136,10 @@ public class SVGFeGaussianBlurElementBridge
      * filter primitive element.
      *
      * @param filterElement the feGaussianBlur filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static float [] convertStdDeviation(Element filterElement) {
+    protected static float[] convertStdDeviation(Element filterElement,
+                                                 BridgeContext ctx) {
         String s
             = filterElement.getAttributeNS(null, SVG_STD_DEVIATION_ATTRIBUTE);
         if (s.length() == 0) {
@@ -151,14 +154,14 @@ public class SVGFeGaussianBlurElementBridge
             } else {
                 stdDevs[1] = stdDevs[0];
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_STD_DEVIATION_ATTRIBUTE, s, ex});
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_STD_DEVIATION_ATTRIBUTE, s, nfEx });
         }
         if (tokens.hasMoreTokens()) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_STD_DEVIATION_ATTRIBUTE, s});
         }
         return stdDevs;


[23/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JSVGViewerFrame.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JSVGViewerFrame.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JSVGViewerFrame.java
deleted file mode 100644
index aa0bc6e..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/JSVGViewerFrame.java
+++ /dev/null
@@ -1,2804 +0,0 @@
-/*
-
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Cursor;
-import java.awt.Dimension;
-import java.awt.Event;
-import java.awt.EventQueue;
-import java.awt.Font;
-import java.awt.Graphics2D;
-import java.awt.Rectangle;
-import java.awt.Toolkit;
-import java.awt.event.ActionEvent;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.awt.event.MouseMotionAdapter;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.NoninvertibleTransformException;
-import java.awt.geom.Point2D;
-import java.awt.image.BufferedImage;
-import java.awt.print.PrinterException;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.util.Vector;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.JCheckBox;
-import javax.swing.JComponent;
-import javax.swing.JDialog;
-import javax.swing.JFileChooser;
-import javax.swing.JFrame;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButtonMenuItem;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import javax.swing.JToolBar;
-import javax.swing.JWindow;
-import javax.swing.KeyStroke;
-import javax.swing.filechooser.FileFilter;
-import javax.swing.text.Document;
-import javax.swing.text.PlainDocument;
-
-import org.apache.flex.forks.batik.bridge.DefaultExternalResourceSecurity;
-import org.apache.flex.forks.batik.bridge.DefaultScriptSecurity;
-import org.apache.flex.forks.batik.bridge.EmbededExternalResourceSecurity;
-import org.apache.flex.forks.batik.bridge.EmbededScriptSecurity;
-import org.apache.flex.forks.batik.bridge.ExternalResourceSecurity;
-import org.apache.flex.forks.batik.bridge.NoLoadExternalResourceSecurity;
-import org.apache.flex.forks.batik.bridge.NoLoadScriptSecurity;
-import org.apache.flex.forks.batik.bridge.RelaxedExternalResourceSecurity;
-import org.apache.flex.forks.batik.bridge.RelaxedScriptSecurity;
-import org.apache.flex.forks.batik.bridge.ScriptSecurity;
-import org.apache.flex.forks.batik.bridge.UpdateManager;
-import org.apache.flex.forks.batik.bridge.UpdateManagerEvent;
-import org.apache.flex.forks.batik.bridge.UpdateManagerListener;
-import org.apache.flex.forks.batik.dom.StyleSheetProcessingInstruction;
-import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
-import org.apache.flex.forks.batik.dom.util.HashTable;
-import org.apache.flex.forks.batik.dom.util.DOMUtilities;
-import org.apache.flex.forks.batik.ext.swing.JAffineTransformChooser;
-import org.apache.flex.forks.batik.swing.JSVGCanvas;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererEvent;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererListener;
-import org.apache.flex.forks.batik.swing.svg.GVTTreeBuilderEvent;
-import org.apache.flex.forks.batik.swing.svg.GVTTreeBuilderListener;
-import org.apache.flex.forks.batik.swing.svg.LinkActivationEvent;
-import org.apache.flex.forks.batik.swing.svg.LinkActivationListener;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderEvent;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderListener;
-import org.apache.flex.forks.batik.swing.svg.SVGFileFilter;
-import org.apache.flex.forks.batik.swing.svg.SVGLoadEventDispatcherEvent;
-import org.apache.flex.forks.batik.swing.svg.SVGLoadEventDispatcherListener;
-import org.apache.flex.forks.batik.swing.svg.SVGUserAgent;
-import org.apache.flex.forks.batik.transcoder.TranscoderInput;
-import org.apache.flex.forks.batik.transcoder.TranscoderOutput;
-import org.apache.flex.forks.batik.transcoder.image.ImageTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.JPEGTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.PNGTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.TIFFTranscoder;
-import org.apache.flex.forks.batik.transcoder.print.PrintTranscoder;
-import org.apache.flex.forks.batik.transcoder.svg2svg.SVGTranscoder;
-import org.apache.flex.forks.batik.util.ParsedURL;
-import org.apache.flex.forks.batik.util.Service;
-import org.apache.flex.forks.batik.util.SVGConstants;
-import org.apache.flex.forks.batik.util.XMLConstants;
-import org.apache.flex.forks.batik.util.gui.DOMViewer;
-import org.apache.flex.forks.batik.util.gui.JErrorPane;
-import org.apache.flex.forks.batik.util.gui.LocationBar;
-import org.apache.flex.forks.batik.util.gui.MemoryMonitor;
-import org.apache.flex.forks.batik.util.gui.URIChooser;
-import org.apache.flex.forks.batik.util.gui.resource.ActionMap;
-import org.apache.flex.forks.batik.util.gui.resource.JComponentModifier;
-import org.apache.flex.forks.batik.util.gui.resource.MenuFactory;
-import org.apache.flex.forks.batik.util.gui.resource.MissingListenerException;
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-import org.apache.flex.forks.batik.util.gui.resource.ToolBarFactory;
-import org.apache.flex.forks.batik.xml.XMLUtilities;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.ContextListener;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.css.ViewCSS;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-
-/**
- * This class represents a SVG viewer swing frame.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: JSVGViewerFrame.java,v 1.109 2005/03/29 10:48:01 deweese Exp $
- */
-public class JSVGViewerFrame
-    extends    JFrame
-    implements ActionMap,
-               SVGDocumentLoaderListener,
-               GVTTreeBuilderListener,
-               SVGLoadEventDispatcherListener,
-               GVTTreeRendererListener,
-               LinkActivationListener,
-               UpdateManagerListener {
-
-    static private String EOL;
-    static {
-        String  temp;
-        try { temp = System.getProperty ("line.separator", "\n"); }
-        catch (SecurityException e) { temp = "\n"; }
-        EOL = temp;
-    }
-
-    /**
-     * Kind of ugly, but we need to know if we are running before
-     * or after 1.4...
-     */
-    protected static boolean priorJDK1_4 = true;
-
-    /**
-     * If the following class can be found (it appeared in JDK 1.4),
-     * then we know we are post JDK 1.4.
-     */
-    protected static final String JDK_1_4_PRESENCE_TEST_CLASS
-        = "java.util.logging.LoggingPermission";
-
-    static {
-        Class cl = null;
-        try {
-            cl = Class.forName(JDK_1_4_PRESENCE_TEST_CLASS);
-        } catch (ClassNotFoundException e){
-        }
-
-        if (cl != null) {
-            priorJDK1_4 = false;
-        }
-    }
-
-    static JFrame debuggerFrame = null;
-    static Class  debuggerClass = null;
-    static Method clearAllBreakpoints = null;
-    static Method scriptGo = null;
-    static Method setExitAction = null;
-    static {
-        try {
-            debuggerClass = JSVGViewerFrame.class.getClassLoader().loadClass
-                ("org.mozilla.javascript.tools.debugger.Main");
-            clearAllBreakpoints = debuggerClass.getMethod
-                ("clearAllBreakpoints", null);
-            scriptGo = debuggerClass.getMethod
-                ("go", null);
-            setExitAction = debuggerClass.getMethod
-                ("setExitAction", new Class[] {Runnable.class});
-        } catch (ThreadDeath td) {
-            debuggerClass = null;
-            clearAllBreakpoints = null;
-            scriptGo = null;
-            setExitAction = null;
-            throw td;
-        } catch (Throwable t) {
-            debuggerClass = null;
-            clearAllBreakpoints = null;
-            scriptGo = null;
-            setExitAction = null;
-        }
-    }
-
-    public static void showDebugger() {
-        if (debuggerClass == null) return;
-        if (debuggerFrame == null) {
-            try {
-                Constructor c = debuggerClass.getConstructor
-                    (new Class [] { String.class });
-                debuggerFrame = (JFrame)c.newInstance
-                    (new Object[] { "Rhino JavaScript Debugger" });
-                // Customize the menubar a bit, disable menu
-                // items that can't be used and change 'Exit' to 'Close'.
-                JMenuBar menuBar = debuggerFrame.getJMenuBar();
-                JMenu    menu    = menuBar.getMenu(0);
-                menu.getItem(0).setEnabled(false); // Open...
-                menu.getItem(1).setEnabled(false); // Run...
-                menu.getItem(3).setText
-                    (Resources.getString("Close.text")); // Exit -> "Close"
-                menu.getItem(3).setAccelerator
-                    (KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK));
-
-                debuggerFrame.setSize(600, 460);
-                debuggerFrame.pack();
-                WindowAdapter wa = new WindowAdapter() {
-                        public void windowClosing(WindowEvent e) {
-                            hideDebugger();
-                        }};
-                setExitAction.invoke(debuggerFrame, 
-                                     new Object [] { new Runnable() {
-                                             public void run() {
-                                                 hideDebugger();
-                                             }}});
-                debuggerFrame.addWindowListener(wa);
-            } catch (Exception ex) {
-                ex.printStackTrace();
-                return;
-            }
-        }
-        if (debuggerFrame != null) {
-            debuggerFrame.setVisible(true);
-            Context.addContextListener((ContextListener)debuggerFrame);
-        }
-    }
-
-    public static void hideDebugger() {
-        if (debuggerFrame == null)
-            return;
-        Context.removeContextListener((ContextListener)debuggerFrame);
-        debuggerFrame.setVisible(false);
-        try {
-            clearAllBreakpoints.invoke(debuggerFrame, null);
-            scriptGo.invoke(debuggerFrame, null);
-        } catch (Exception ex) {
-            ex.printStackTrace();
-        }
-    }
-
-    /**
-     * The gui resources file name
-     */
-    public final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.GUI";
-
-    // The actions names.
-    public final static String ABOUT_ACTION = "AboutAction";
-    public final static String OPEN_ACTION = "OpenAction";
-    public final static String OPEN_LOCATION_ACTION = "OpenLocationAction";
-    public final static String NEW_WINDOW_ACTION = "NewWindowAction";
-    public final static String RELOAD_ACTION = "ReloadAction";
-    public final static String SAVE_AS_ACTION = "SaveAsAction";
-    public final static String BACK_ACTION = "BackAction";
-    public final static String FORWARD_ACTION = "ForwardAction";
-    public final static String FULL_SCREEN_ACTION = "FullScreenAction";
-    public final static String PRINT_ACTION = "PrintAction";
-    public final static String EXPORT_AS_JPG_ACTION = "ExportAsJPGAction";
-    public final static String EXPORT_AS_PNG_ACTION = "ExportAsPNGAction";
-    public final static String EXPORT_AS_TIFF_ACTION = "ExportAsTIFFAction";
-    public final static String PREFERENCES_ACTION = "PreferencesAction";
-    public final static String CLOSE_ACTION = "CloseAction";
-    public final static String VIEW_SOURCE_ACTION = "ViewSourceAction";
-    public final static String EXIT_ACTION = "ExitAction";
-    public final static String RESET_TRANSFORM_ACTION = "ResetTransformAction";
-    public final static String ZOOM_IN_ACTION = "ZoomInAction";
-    public final static String ZOOM_OUT_ACTION = "ZoomOutAction";
-    public final static String PREVIOUS_TRANSFORM_ACTION = "PreviousTransformAction";
-    public final static String NEXT_TRANSFORM_ACTION = "NextTransformAction";
-    public final static String USE_STYLESHEET_ACTION = "UseStylesheetAction";
-    public final static String PLAY_ACTION = "PlayAction";
-    public final static String PAUSE_ACTION = "PauseAction";
-    public final static String STOP_ACTION = "StopAction";
-    public final static String MONITOR_ACTION = "MonitorAction";
-    public final static String DOM_VIEWER_ACTION = "DOMViewerAction";
-    public final static String SET_TRANSFORM_ACTION = "SetTransformAction";
-    public final static String FIND_DIALOG_ACTION = "FindDialogAction";
-    public final static String THUMBNAIL_DIALOG_ACTION = "ThumbnailDialogAction";
-    public final static String FLUSH_ACTION = "FlushAction";
-    public final static String TOGGLE_DEBUGGER_ACTION = "ToggleDebuggerAction";
-
-    /**
-     * The cursor indicating that an operation is pending.
-     */
-    public final static Cursor WAIT_CURSOR =
-        new Cursor(Cursor.WAIT_CURSOR);
-
-    /**
-     * The default cursor.
-     */
-    public final static Cursor DEFAULT_CURSOR =
-        new Cursor(Cursor.DEFAULT_CURSOR);
-
-    /**
-     * Name for the os-name property
-     */
-    public final static String PROPERTY_OS_NAME 
-        = Resources.getString("JSVGViewerFrame.property.os.name");
-
-    /**
-     * Name for the os.name default
-     */
-    public final static String PROPERTY_OS_NAME_DEFAULT 
-        = Resources.getString("JSVGViewerFrame.property.os.name.default");
-
-    /**
-     * Name for the os.name property prefix we are looking
-     * for in OpenAction to work around JFileChooser bug
-     */
-    public final static String PROPERTY_OS_WINDOWS_PREFIX 
-        = Resources.getString("JSVGViewerFrame.property.os.windows.prefix");
-
-    /**
-     * The input handlers
-     */
-    protected static Vector handlers;
-
-    /**
-     * The default input handler
-     */
-    protected static SquiggleInputHandler defaultHandler = new SVGInputHandler();
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager resources;
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        resources = new ResourceManager(bundle);
-    }
-
-    /**
-     * The current application.
-     */
-    protected Application application;
-
-    /**
-     * The JSVGCanvas.
-     */
-    protected JSVGCanvas svgCanvas;
-
-    /**
-     * The panel where the svgCanvas is displayed
-     */
-    protected JPanel svgCanvasPanel;
-
-    /**
-     * A window used for full screen display
-     */
-    protected JWindow window;
-
-    /**
-     * The memory monitor frame.
-     */
-    protected static JFrame memoryMonitorFrame;
-
-    /**
-     * The current path.
-     */
-    protected File currentPath = new File("");
-
-    /**
-     * The current export path.
-     */
-    protected File currentSavePath = new File("");
-
-    /**
-     * The back action
-     */
-    protected BackAction backAction = new BackAction();
-
-    /**
-     * The forward action
-     */
-    protected ForwardAction forwardAction = new ForwardAction();
-
-    /**
-     * The play action
-     */
-    protected PlayAction playAction = new PlayAction();
-
-    /**
-     * The pause action
-     */
-    protected PauseAction pauseAction = new PauseAction();
-
-    /**
-     * The stop action
-     */
-    protected StopAction stopAction = new StopAction();
-
-    /**
-     * The previous transform action
-     */
-    protected PreviousTransformAction previousTransformAction =
-        new PreviousTransformAction();
-
-    /**
-     * The next transform action
-     */
-    protected NextTransformAction nextTransformAction =
-        new NextTransformAction();
-
-    /**
-     * The use (author) stylesheet action
-     */
-    protected UseStylesheetAction useStylesheetAction =
-        new UseStylesheetAction();
-
-    /**
-     * The debug flag.
-     */
-    protected boolean debug;
-
-    /**
-     * The auto adjust flag.
-     */
-    protected boolean autoAdjust = true;
-
-    /**
-     * Whether the update manager was stopped.
-     */
-    protected boolean managerStopped;
-
-    /**
-     * The SVG user agent.
-     */
-    protected SVGUserAgent userAgent = new UserAgent();
-
-    /**
-     * The current document.
-     */
-    protected SVGDocument svgDocument;
-
-    /**
-     * The URI chooser.
-     */
-    protected URIChooser uriChooser;
-
-    /**
-     * The DOM viewer.
-     */
-    protected DOMViewer domViewer;
-
-    /**
-     * The Find dialog.
-     */
-    protected FindDialog findDialog;
-
-    /**
-     * The Find dialog.
-     */
-    protected ThumbnailDialog thumbnailDialog;
-
-    /**
-     * The transform dialog
-     */
-    protected JAffineTransformChooser.Dialog transformDialog;
-
-    /**
-     * The location bar.
-     */
-    protected LocationBar locationBar;
-
-    /**
-     * The status bar.
-     */
-    protected StatusBar statusBar;
-
-    /**
-     * The initial frame title.
-     */
-    protected String title;
-
-    /**
-     * The local history.
-     */
-    protected LocalHistory localHistory;
-
-    /**
-     * The transform history.
-     */
-    protected TransformHistory transformHistory = new TransformHistory();
-
-    /**
-     * The alternate style-sheet title.
-     */
-    protected String alternateStyleSheet;
-
-    /**
-     * Creates a new SVG viewer frame.
-     */
-    public JSVGViewerFrame(Application app) {
-        application = app;
-
-        addWindowListener(new WindowAdapter() {
-            public void windowClosing(WindowEvent e) {
-                application.closeJSVGViewerFrame(JSVGViewerFrame.this);
-            }
-        });
-
-        //
-        // Set the frame's maximum size so that content
-        // bigger than the screen does not cause the creation
-        // of unnecessary large images.
-        //
-        svgCanvas = new JSVGCanvas(userAgent, true, true){
-                Dimension screenSize;
-                
-                {
-                    screenSize = Toolkit.getDefaultToolkit().getScreenSize();
-                    setMaximumSize(screenSize);
-                }
-                
-                public Dimension getPreferredSize(){
-                    Dimension s = super.getPreferredSize();
-                    if (s.width > screenSize.width) s.width =screenSize.width;
-                    if (s.height > screenSize.height) s.height = screenSize.height;
-                    return s;
-                }
-
-                
-                /**
-                 * This method is called when the component knows the desired
-                 * size of the window (based on width/height of outermost SVG
-                 * element). We override it to immediately pack this frame.
-                 */
-                public void setMySize(Dimension d) {
-                    setPreferredSize(d);
-                    invalidate();
-                    if (JSVGViewerFrame.this.autoAdjust) {
-                        JSVGViewerFrame.this.pack();
-                    }
-                }
-
-                public void setDisableInteractions(boolean b) {
-                    super.setDisableInteractions(b);
-
-                    // Disable/Enable all our different ways to adjust the
-                    // rendering transform (menus, toolbar, thumbnail, keyboard).
-
-                    ((Action)listeners.get(SET_TRANSFORM_ACTION)) .setEnabled(!b);
-
-                    if (thumbnailDialog != null)
-                        thumbnailDialog.setInteractionEnabled(!b);
-                }
-            };
-        
-        javax.swing.ActionMap map = svgCanvas.getActionMap();
-        map.put(FULL_SCREEN_ACTION, new FullScreenAction());
-        javax.swing.InputMap imap = svgCanvas.getInputMap(JComponent.WHEN_FOCUSED);
-        KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0);
-        imap.put(key, FULL_SCREEN_ACTION);
-
-        svgCanvas.setDoubleBufferedRendering(true);
-
-        listeners.put(ABOUT_ACTION, new AboutAction());
-        listeners.put(OPEN_ACTION, new OpenAction());
-        listeners.put(OPEN_LOCATION_ACTION, new OpenLocationAction());
-        listeners.put(NEW_WINDOW_ACTION, new NewWindowAction());
-        listeners.put(RELOAD_ACTION, new ReloadAction());
-        listeners.put(SAVE_AS_ACTION, new SaveAsAction());
-        listeners.put(BACK_ACTION, backAction);
-        listeners.put(FORWARD_ACTION, forwardAction);
-        listeners.put(PRINT_ACTION, new PrintAction());
-        listeners.put(EXPORT_AS_JPG_ACTION, new ExportAsJPGAction());
-        listeners.put(EXPORT_AS_PNG_ACTION, new ExportAsPNGAction());
-        listeners.put(EXPORT_AS_TIFF_ACTION, new ExportAsTIFFAction());
-        listeners.put(PREFERENCES_ACTION, new PreferencesAction());
-        listeners.put(CLOSE_ACTION, new CloseAction());
-        listeners.put(EXIT_ACTION, application.createExitAction(this));
-        listeners.put(VIEW_SOURCE_ACTION, new ViewSourceAction());
-
-        javax.swing.ActionMap cMap = svgCanvas.getActionMap();
-        listeners.put(RESET_TRANSFORM_ACTION,
-                      cMap.get(JSVGCanvas.RESET_TRANSFORM_ACTION));
-        listeners.put(ZOOM_IN_ACTION,
-                      cMap.get(JSVGCanvas.ZOOM_IN_ACTION));
-        listeners.put(ZOOM_OUT_ACTION,
-                      cMap.get(JSVGCanvas.ZOOM_OUT_ACTION));
-
-        listeners.put(PREVIOUS_TRANSFORM_ACTION, previousTransformAction);
-        key = KeyStroke.getKeyStroke(KeyEvent.VK_K, KeyEvent.CTRL_MASK);
-        imap.put(key, previousTransformAction);
-
-        listeners.put(NEXT_TRANSFORM_ACTION, nextTransformAction);
-        key = KeyStroke.getKeyStroke(KeyEvent.VK_L, KeyEvent.CTRL_MASK);
-        imap.put(key, nextTransformAction);
-
-        listeners.put(USE_STYLESHEET_ACTION, useStylesheetAction);
-        listeners.put(PLAY_ACTION, playAction);
-        listeners.put(PAUSE_ACTION, pauseAction);
-        listeners.put(STOP_ACTION, stopAction);
-        listeners.put(MONITOR_ACTION, new MonitorAction());
-        listeners.put(DOM_VIEWER_ACTION, new DOMViewerAction());
-        listeners.put(SET_TRANSFORM_ACTION, new SetTransformAction());
-        listeners.put(FIND_DIALOG_ACTION, new FindDialogAction());
-        listeners.put(THUMBNAIL_DIALOG_ACTION, new ThumbnailDialogAction());
-        listeners.put(FLUSH_ACTION, new FlushAction());
-        listeners.put(TOGGLE_DEBUGGER_ACTION, new ToggleDebuggerAction());
-
-        JPanel p = null;
-        try {
-            // Create the menu
-            MenuFactory mf = new MenuFactory(bundle, this);
-            JMenuBar mb = mf.createJMenuBar("MenuBar");
-            setJMenuBar(mb);
-
-            localHistory = new LocalHistory(mb, this);
-
-            String uri[] = application.getVisitedURIs();
-            for (int i=0; i<uri.length; i++) {
-                if (uri[i] != null && !"".equals(uri[i])) {
-                    localHistory.update(uri[i]);
-                }
-            }
-            p = new JPanel(new BorderLayout());
-
-            // Create the toolbar
-            ToolBarFactory tbf = new ToolBarFactory(bundle, this);
-            JToolBar tb = tbf.createJToolBar("ToolBar");
-            tb.setFloatable(false);
-            getContentPane().add(p, BorderLayout.NORTH);
-            p.add(tb, BorderLayout.NORTH);
-            p.add(new javax.swing.JSeparator(), BorderLayout.CENTER);
-            p.add(locationBar = new LocationBar(), BorderLayout.SOUTH);
-
-        } catch (MissingResourceException e) {
-            System.out.println(e.getMessage());
-            System.exit(0);
-        }
-
-        svgCanvasPanel = new JPanel(new BorderLayout());
-        svgCanvasPanel.setBorder(BorderFactory.createEtchedBorder());
-
-        svgCanvasPanel.add(svgCanvas, BorderLayout.CENTER);
-        p = new JPanel(new BorderLayout());
-        p.add(svgCanvasPanel, BorderLayout.CENTER);
-        p.add(statusBar = new StatusBar(), BorderLayout.SOUTH);
-
-        getContentPane().add(p, BorderLayout.CENTER);
-
-        svgCanvas.addSVGDocumentLoaderListener(this);
-        svgCanvas.addGVTTreeBuilderListener(this);
-        svgCanvas.addSVGLoadEventDispatcherListener(this);
-        svgCanvas.addGVTTreeRendererListener(this);
-        svgCanvas.addLinkActivationListener(this);
-        svgCanvas.addUpdateManagerListener(this);
-
-        svgCanvas.addMouseMotionListener(new MouseMotionAdapter() {
-                public void mouseMoved(MouseEvent e) {
-                    if (svgDocument == null) {
-                        statusBar.setXPosition(e.getX());
-                        statusBar.setYPosition(e.getY());
-                    } else {
-                        try {
-                            AffineTransform at;
-                            at = svgCanvas.getViewBoxTransform();
-                            if (at != null) {
-                                at = at.createInverse();
-                                Point2D p2d =
-                                    at.transform(new Point2D.Float(e.getX(), e.getY()),
-                                                 null);
-                                statusBar.setXPosition((float)p2d.getX());
-                                statusBar.setYPosition((float)p2d.getY());
-                                return;
-                            }
-                        } catch (NoninvertibleTransformException ex) {
-                        }
-                        statusBar.setXPosition(e.getX());
-                        statusBar.setYPosition(e.getY());
-                    }
-                }
-            });
-        svgCanvas.addMouseListener(new MouseAdapter() {
-                public void mouseExited(MouseEvent e) {
-                    Dimension dim = svgCanvas.getSize();
-                    if (svgDocument == null) {
-                        statusBar.setWidth(dim.width);
-                        statusBar.setHeight(dim.height);
-                    } else {
-                        try {
-                            AffineTransform at;
-                            at = svgCanvas.getViewBoxTransform();
-                            if (at != null) {
-                                at = at.createInverse();
-                                Point2D o =
-                                    at.transform(new Point2D.Float(0, 0),
-                                                 null);
-                                Point2D p2d =
-                                    at.transform(new Point2D.Float(dim.width,
-                                                                   dim.height),
-                                                 null);
-                                statusBar.setWidth((float)(p2d.getX() - o.getX()));
-                                statusBar.setHeight((float)(p2d.getY() - o.getY()));
-                                return;
-                            }
-                        } catch (NoninvertibleTransformException ex) {
-                        }
-                        statusBar.setWidth(dim.width);
-                        statusBar.setHeight(dim.height);
-                    }
-                }
-            });
-        svgCanvas.addComponentListener(new ComponentAdapter() {
-                public void componentResized(ComponentEvent e) {
-                    Dimension dim = svgCanvas.getSize();
-                    if (svgDocument == null) {
-                        statusBar.setWidth(dim.width);
-                        statusBar.setHeight(dim.height);
-                    } else {
-                        try {
-                            AffineTransform at;
-                            at = svgCanvas.getViewBoxTransform();
-                            if (at != null) {
-                                at = at.createInverse();
-                                Point2D o =
-                                    at.transform(new Point2D.Float(0, 0),
-                                                 null);
-                                Point2D p2d =
-                                    at.transform(new Point2D.Float(dim.width,
-                                                                   dim.height),
-                                                 null);
-                                statusBar.setWidth((float)(p2d.getX() - o.getX()));
-                                statusBar.setHeight((float)(p2d.getY() - o.getY()));
-                                return;
-                            }
-                        } catch (NoninvertibleTransformException ex) {
-                        }
-                        statusBar.setWidth(dim.width);
-                        statusBar.setHeight(dim.height);
-                    }
-                }
-            });
-
-        locationBar.addActionListener(new AbstractAction() {
-            public void actionPerformed(ActionEvent e) {
-                String st = locationBar.getText().trim();
-                int i = st.indexOf("#");
-                String t = "";
-                if (i != -1) {
-                    t = st.substring(i + 1);
-                    st = st.substring(0, i);
-                }
-                if (!st.equals("")) {
-                    try{
-                        File f = new File(st);
-                        if (f.exists()) {
-                            if (f.isDirectory()) {
-                                st = null;
-                            } else {
-                                try {
-                                    st = f.getCanonicalPath();
-                                    if (st.startsWith("/")) {
-                                        st = "file:" + st;
-                                    } else {
-                                        st = "file:/" + st;
-                                    }
-                                } catch (IOException ex) {
-                                }
-                            }
-                        }
-                    }catch(SecurityException se){
-                        // Could not patch the file URI for security
-                        // reasons (e.g., when run as an unsigned
-                        // JavaWebStart jar): file access is not
-                        // allowed. Loading will fail, but there is
-                        // nothing more to do at this point.
-                    }
-
-                    if (st != null) {
-                        if (svgDocument != null) {
-                            ParsedURL docPURL 
-                                = new ParsedURL(svgDocument.getURL());
-                            ParsedURL purl = new ParsedURL(docPURL, st);
-                            String fi = svgCanvas.getFragmentIdentifier();
-                            fi = (fi == null) ? "" : fi;
-                            if (docPURL.equals(purl) && t.equals(fi)) {
-                                return;
-                            }
-                        }
-                        if (t.length() != 0) {
-                            st += "#" + t;
-                        }
-                        locationBar.setText(st);
-                        locationBar.addToHistory(st);
-                        showSVGDocument(st);
-                    }
-                }
-            }
-        });
-
-    }
-
-    /**
-     * Call dispose on canvas as well.
-     */
-    public void dispose() {
-        svgCanvas.dispose();
-        super.dispose();
-    }
-
-    /**
-     * Whether to show the debug traces.
-     */
-    public void setDebug(boolean b) {
-        debug = b;
-    }
-
-    /**
-     * Whether to auto adjust the canvas to the size of the document.
-     */
-    public void setAutoAdjust(boolean b) {
-        autoAdjust = b;
-    }
-
-    /**
-     * Returns the main JSVGCanvas of this frame.
-     */
-    public JSVGCanvas getJSVGCanvas() {
-        return svgCanvas;
-    }
-
-    /**
-     * Needed to work-around JFileChooser bug with abstract Files
-     */
-    private static File makeAbsolute(File f){
-        if(!f.isAbsolute()){
-            return f.getAbsoluteFile();
-        }
-        return f;
-    }
-
-    /**
-     * To show the about dialog
-     */
-    public class AboutAction extends AbstractAction {
-        public AboutAction(){
-        }
-
-        public void actionPerformed(ActionEvent e){
-            AboutDialog dlg = new AboutDialog(JSVGViewerFrame.this);
-            // Work around pack() bug on some platforms
-            dlg.setSize(dlg.getPreferredSize()); 
-            dlg.setLocationRelativeTo(JSVGViewerFrame.this);
-            dlg.setVisible(true);
-            dlg.toFront();
-        }
-    }
-
-    /**
-     * To open a new file.
-     */
-    public class OpenAction extends AbstractAction {
-
-        public OpenAction() {
-        }
-        public void actionPerformed(ActionEvent e) {
-            JFileChooser fileChooser = null;
-
-            // Apply work around Windows problem when security is enabled, 
-            // and when prior to JDK 1.4.
-            String os = System.getProperty(PROPERTY_OS_NAME, PROPERTY_OS_NAME_DEFAULT);
-            SecurityManager sm = System.getSecurityManager();
-            
-            if ( priorJDK1_4 && sm != null && os.indexOf(PROPERTY_OS_WINDOWS_PREFIX) != -1 ){
-                fileChooser = new JFileChooser(makeAbsolute(currentPath),
-                                               new WindowsAltFileSystemView());
-            } else {
-                fileChooser = new JFileChooser(makeAbsolute(currentPath));
-            }
-
-            fileChooser.setFileHidingEnabled(false);
-            fileChooser.setFileSelectionMode
-                (JFileChooser.FILES_ONLY);
-
-            //
-            // Add file filters from the handlers map
-            //
-            Iterator iter = getHandlers().iterator();
-            while (iter.hasNext()) {
-                SquiggleInputHandler handler 
-                    = (SquiggleInputHandler)iter.next();
-                fileChooser.addChoosableFileFilter
-                    (new SquiggleInputHandlerFilter(handler));
-            }
-            
-            int choice = fileChooser.showOpenDialog(JSVGViewerFrame.this);
-            if (choice == JFileChooser.APPROVE_OPTION) {
-                File f = fileChooser.getSelectedFile();
-                
-                currentPath = f;
-                try { 
-                    String furl = f.toURL().toString();
-                    showSVGDocument(furl);
-                } catch (MalformedURLException ex) {
-                    if (userAgent != null) {
-                        userAgent.displayError(ex);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Shows the given document into the viewer frame
-     */
-    public void showSVGDocument(String uri){
-        try {
-            ParsedURL purl = new ParsedURL(uri);
-            SquiggleInputHandler 
-                handler = getInputHandler(purl);
-            
-            handler.handle(purl,
-                           JSVGViewerFrame.this);
-        } catch (Exception e) {
-            if (userAgent != null) {
-                userAgent.displayError(e);
-            }
-        }
-
-    }
-
-    /**
-     * Returns the input handler for the given URI
-     */
-    public SquiggleInputHandler getInputHandler(ParsedURL purl) throws IOException {
-        Iterator iter = getHandlers().iterator();
-        SquiggleInputHandler handler = null;
-
-        while (iter.hasNext()) {
-            SquiggleInputHandler curHandler = 
-                (SquiggleInputHandler)iter.next();
-            if (curHandler.accept(purl)) {
-                handler = curHandler;
-                break;
-            }
-        }
-
-        // No handler found, use the default one.
-        if (handler == null) {
-            handler = defaultHandler;
-        }
-
-        return handler;
-    }
-
-
-    /**
-     * Returns the list of input file handler. 
-     */
-    protected static Vector getHandlers() {
-        if (handlers != null) {
-            return handlers;
-        }
-
-        handlers = new Vector();
-        registerHandler(new SVGInputHandler());
-        
-        Iterator iter = Service.providers(SquiggleInputHandler.class);
-        while (iter.hasNext()) {
-            SquiggleInputHandler handler 
-                = (SquiggleInputHandler)iter.next();
-
-            registerHandler(handler);
-        }
-
-        return handlers;
-    }
-
-    /**
-     * Registers an input file handler by adding it to the handlers map.
-     * @param handler the new input handler to register.
-     */
-    public static synchronized 
-        void registerHandler(SquiggleInputHandler handler) {
-        Vector handlers = getHandlers();
-        handlers.addElement(handler);
-    }
-
-    /**
-     * To open a new document.
-     */
-    public class OpenLocationAction extends AbstractAction {
-        public OpenLocationAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (uriChooser == null) {
-                uriChooser = new URIChooser(JSVGViewerFrame.this);
-                uriChooser.setFileFilter(new SVGFileFilter());
-                uriChooser.pack();
-                Rectangle fr = getBounds();
-                Dimension sd = uriChooser.getSize();
-                uriChooser.setLocation(fr.x + (fr.width  - sd.width) / 2,
-                                       fr.y + (fr.height - sd.height) / 2);
-            }
-            if (uriChooser.showDialog() == URIChooser.OK_OPTION) {
-                String s = uriChooser.getText();
-                int i = s.indexOf("#");
-                String t = "";
-                if (i != -1) {
-                    t = s.substring(i + 1);
-                    s = s.substring(0, i);
-                }
-                if (!s.equals("")) {
-                    File f = new File(s);
-                    if (f.exists()) {
-                        if (f.isDirectory()) {
-                            s = null;
-                        } else {
-                            try {
-                                s = f.getCanonicalPath();
-                                if (s.startsWith("/")) {
-                                    s = "file:" + s;
-                                } else {
-                                    s = "file:/" + s;
-                                }
-                            } catch (IOException ex) {
-                            }
-                        }
-                    }
-                    if (s != null) {
-                        if (svgDocument != null) {
-                            ParsedURL docPURL 
-                                = new ParsedURL(svgDocument.getURL());
-                            ParsedURL purl = new ParsedURL(docPURL, s);
-                            String fi = svgCanvas.getFragmentIdentifier();
-                            if (docPURL.equals(purl) && t.equals(fi)) {
-                                return;
-                            }
-                        }
-                        if (t.length() != 0) {
-                            s += "#" + t;
-                        }
-
-                        showSVGDocument(s);
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * To open a new window.
-     */
-    public class NewWindowAction extends AbstractAction {
-        public NewWindowAction() {}
-        public void actionPerformed(ActionEvent e) {
-            JSVGViewerFrame vf = application.createAndShowJSVGViewerFrame();
-
-            // Copy the current settings to the new window.
-            vf.autoAdjust = autoAdjust;
-            vf.debug = debug;
-            vf.svgCanvas.setProgressivePaint(svgCanvas.getProgressivePaint());
-            vf.svgCanvas.setDoubleBufferedRendering
-                (svgCanvas.getDoubleBufferedRendering());
-        }
-    }
-
-    /**
-     * To show the preferences.
-     */
-    public class PreferencesAction extends AbstractAction {
-        public PreferencesAction() {}
-        public void actionPerformed(ActionEvent e) {
-            application.showPreferenceDialog(JSVGViewerFrame.this);
-        }
-    }
-
-    /**
-     * To close the last document.
-     */
-    public class CloseAction extends AbstractAction {
-        public CloseAction() {}
-        public void actionPerformed(ActionEvent e) {
-            application.closeJSVGViewerFrame(JSVGViewerFrame.this);
-        }
-    }
-
-    /**
-     * To reload the current document.
-     */
-    public class ReloadAction extends AbstractAction {
-        public ReloadAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if ((e.getModifiers() & ActionEvent.SHIFT_MASK) == 1) {
-                svgCanvas.flushImageCache();
-            }
-            if (svgDocument != null) {
-                localHistory.reload();
-            }
-        }
-    }
-
-    /**
-     * To go back to the previous document
-     */
-    public class BackAction extends    AbstractAction
-                            implements JComponentModifier {
-        List components = new LinkedList();
-        public BackAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (localHistory.canGoBack()) {
-                localHistory.back();
-            }
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        protected void update() {
-            boolean b = localHistory.canGoBack();
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(b);
-            }
-        }
-    }
-
-    /**
-     * To go forward to the next document
-     */
-    public class ForwardAction extends    AbstractAction
-                               implements JComponentModifier {
-        List components = new LinkedList();
-        public ForwardAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (localHistory.canGoForward()) {
-                localHistory.forward();
-            }
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        protected void update() {
-            boolean b = localHistory.canGoForward();
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(b);
-            }
-        }
-    }
-
-    /**
-     * To print the current document.
-     */
-    public class PrintAction extends AbstractAction {
-        public PrintAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (svgDocument != null) {
-                final SVGDocument doc = svgDocument;
-                new Thread() {
-                    public void run(){
-                        String uri = doc.getURL();
-                        String fragment = svgCanvas.getFragmentIdentifier();
-                        if (fragment != null) {
-                            uri += "#"+fragment;
-                        }
-
-                        //
-                        // Build a PrintTranscoder to handle printing
-                        // of the svgDocument object
-                        //
-                        PrintTranscoder pt = new PrintTranscoder();
-
-                        //
-                        // Set transcoding hints
-                        //
-                        pt.addTranscodingHint(PrintTranscoder.KEY_XML_PARSER_CLASSNAME,
-                                              application.getXMLParserClassName());
-
-                        pt.addTranscodingHint(PrintTranscoder.KEY_SHOW_PAGE_DIALOG,
-                                              Boolean.TRUE);
-
-
-                        pt.addTranscodingHint(PrintTranscoder.KEY_SHOW_PRINTER_DIALOG,
-                                              Boolean.TRUE);
-
-                        //
-                        // Do transcoding now
-                        //
-                        pt.transcode(new TranscoderInput(uri), null);
-
-                        //
-                        // Print
-                        //
-                        try {
-                            pt.print();
-                        } catch (PrinterException ex) {
-                            userAgent.displayError(ex);
-                        }
-                    }
-                }.start();
-            }
-        }
-    }
-
-    /**
-     * To save the current document as SVG.
-     */
-    public class SaveAsAction extends AbstractAction {
-        public SaveAsAction() {}
-
-        public void actionPerformed(ActionEvent e) {
-            JFileChooser fileChooser;
-            fileChooser = new JFileChooser(makeAbsolute(currentSavePath));
-            fileChooser.setDialogTitle(resources.getString("SaveAs.title"));
-            fileChooser.setFileHidingEnabled(false);
-            fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
-            fileChooser.addChoosableFileFilter(new ImageFileFilter(".svg"));
-
-            int choice = fileChooser.showSaveDialog(JSVGViewerFrame.this);
-            if (choice != JFileChooser.APPROVE_OPTION)
-                return;
-
-            final File f = fileChooser.getSelectedFile();
-
-            SVGOptionPanel sop;
-            sop = SVGOptionPanel.showDialog(JSVGViewerFrame.this);
-            
-            final boolean useXMLBase  = sop.getUseXMLBase();
-            final boolean prettyPrint = sop.getPrettyPrint();
-            sop = null;
-
-            final SVGDocument svgDoc = svgCanvas.getSVGDocument();
-            if (svgDoc == null) return;
-            
-            statusBar.setMessage(resources.getString("Message.saveAs"));
-            currentSavePath = f;
-            OutputStreamWriter w = null;
-            try { 
-                OutputStream tos = null;
-                tos = new FileOutputStream(f);
-                tos = new BufferedOutputStream(tos);
-                w = new OutputStreamWriter(tos, "utf-8");
-            } catch (Exception ex) { 
-                userAgent.displayError(ex); 
-                return;
-            }
-
-            final OutputStreamWriter writer  = w;
-            
-            final Runnable doneRun = new Runnable() {
-                    public void run() {
-                        String doneStr = resources.getString("Message.done");
-                        statusBar.setMessage(doneStr);
-                    }
-                };
-            Runnable r = new Runnable() {
-                    public void run() {
-                        try {
-                            // Write standard XML header.
-                            writer.write 
-                                ("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
-                                writer.write (EOL);
-
-                            Node fc = svgDoc.getFirstChild();
-                            if (fc.getNodeType() != Node.DOCUMENT_TYPE_NODE) {
-                                // Not DT node in Document, so 
-                                // provide Document Type dec.
-                                writer.write ("<!DOCTYPE svg PUBLIC '");
-                                writer.write (SVGConstants.SVG_PUBLIC_ID);
-                                writer.write ("' '");
-                                writer.write (SVGConstants.SVG_SYSTEM_ID);
-                                writer.write ("'>");
-                                writer.write (EOL);
-                                writer.write (EOL);
-                            }
-                            Element root = svgDoc.getRootElement();
-                            boolean doXMLBase = useXMLBase;
-                            if (root.hasAttributeNS
-                                (XMLConstants.XML_NAMESPACE_URI, "base"))
-                                doXMLBase = false;
-
-                            if (doXMLBase) {
-                                root.setAttributeNS
-                                    (XMLConstants.XML_NAMESPACE_URI, 
-                                     "xml:base",
-                                     svgDoc.getURL());
-                            }
-
-                            if (prettyPrint) {
-                                SVGTranscoder trans = new SVGTranscoder();
-                                trans.transcode(new TranscoderInput(svgDoc), 
-                                                new TranscoderOutput(writer));
-                            } else {
-                                DOMUtilities.writeDocument(svgDoc, writer);
-                            }
-
-                            writer.close();
-
-                            if (doXMLBase)
-                                root.removeAttributeNS
-                                    (XMLConstants.XML_NAMESPACE_URI, 
-                                     "xml:base");
-
-                            if (EventQueue.isDispatchThread()) {
-                                doneRun.run();
-                            } else {
-                                EventQueue.invokeLater(doneRun);
-                            }
-                        } catch (Exception ex) {
-                            userAgent.displayError(ex);
-                        }
-                    }
-                };
-
-            UpdateManager um = svgCanvas.getUpdateManager();
-            if ((um != null) && (um.isRunning())) {
-                um.getUpdateRunnableQueue().invokeLater(r);
-            } else {
-                r.run();
-            }
-        }
-    }
-
-    /**
-     * To save the current document as JPG.
-     */
-    public class ExportAsJPGAction extends AbstractAction {
-        public ExportAsJPGAction() {}
-        public void actionPerformed(ActionEvent e) {
-            JFileChooser fileChooser =
-                new JFileChooser(makeAbsolute(currentSavePath));
-            fileChooser.setDialogTitle(resources.getString("ExportAsJPG.title"));
-            fileChooser.setFileHidingEnabled(false);
-            fileChooser.setFileSelectionMode
-                (JFileChooser.FILES_ONLY);
-            fileChooser.addChoosableFileFilter(new ImageFileFilter(".jpg"));
-
-            int choice = fileChooser.showSaveDialog(JSVGViewerFrame.this);
-            if (choice == JFileChooser.APPROVE_OPTION) {
-                float quality =
-                    JPEGOptionPanel.showDialog(JSVGViewerFrame.this);
-
-                final File f = fileChooser.getSelectedFile();
-                BufferedImage buffer = svgCanvas.getOffScreen();
-                if (buffer != null) {
-                    statusBar.setMessage
-                        (resources.getString("Message.exportAsJPG"));
-
-                    // create a BufferedImage of the appropriate type
-                    int w = buffer.getWidth();
-                    int h = buffer.getHeight();
-                    final ImageTranscoder trans = new JPEGTranscoder();
-                    trans.addTranscodingHint
-                        (JPEGTranscoder.KEY_XML_PARSER_CLASSNAME,
-                         application.getXMLParserClassName());
-                    trans.addTranscodingHint
-                        (JPEGTranscoder.KEY_QUALITY, new Float(quality));
-
-                    final BufferedImage img = trans.createImage(w, h);
-
-                    // paint the buffer to the image
-                    Graphics2D g2d = img.createGraphics();
-                    g2d.setColor(Color.white);
-                    g2d.fillRect(0, 0, w, h);
-                    g2d.drawImage(buffer, null, 0, 0);
-                    new Thread() {
-                        public void run() {
-                            try {
-                                currentSavePath = f;
-                                OutputStream ostream =
-                                    new BufferedOutputStream(new FileOutputStream(f));
-                                trans.writeImage(img, new TranscoderOutput(ostream));
-                                ostream.flush();
-                                ostream.close();
-                            } catch (Exception ex) { }
-                            statusBar.setMessage
-                                (resources.getString("Message.done"));
-                        }
-                    }.start();
-                }
-            }
-        }
-    }
-
-    /**
-     * To save the current document as PNG.
-     */
-    public class ExportAsPNGAction extends AbstractAction {
-        public ExportAsPNGAction() {}
-        public void actionPerformed(ActionEvent e) {
-            JFileChooser fileChooser =
-                new JFileChooser(makeAbsolute(currentSavePath));
-            fileChooser.setDialogTitle(resources.getString("ExportAsPNG.title"));
-            fileChooser.setFileHidingEnabled(false);
-            fileChooser.setFileSelectionMode
-                (JFileChooser.FILES_ONLY);
-            fileChooser.addChoosableFileFilter(new ImageFileFilter(".png"));
-
-            int choice = fileChooser.showSaveDialog(JSVGViewerFrame.this);
-            if (choice == JFileChooser.APPROVE_OPTION) {
-
-		// Start: By Jun Inamori (jun@oop-reserch.com)
-                boolean isIndexed =
-                    PNGOptionPanel.showDialog(JSVGViewerFrame.this);
-		// End: By Jun Inamori (jun@oop-reserch.com)
-
-                final File f = fileChooser.getSelectedFile();
-                BufferedImage buffer = svgCanvas.getOffScreen();
-                if (buffer != null) {
-                    statusBar.setMessage
-                        (resources.getString("Message.exportAsPNG"));
-
-                    // create a BufferedImage of the appropriate type
-                    int w = buffer.getWidth();
-                    int h = buffer.getHeight();
-                    final ImageTranscoder trans = new PNGTranscoder();
-                    trans.addTranscodingHint(PNGTranscoder.KEY_XML_PARSER_CLASSNAME,
-                                             application.getXMLParserClassName());
-                    trans.addTranscodingHint(PNGTranscoder.KEY_FORCE_TRANSPARENT_WHITE,
-                                             new Boolean(true));
-
-		    // Start: By Jun Inamori
-		    if(isIndexed){
-			trans.addTranscodingHint
-                            (PNGTranscoder.KEY_INDEXED,new Integer(256));
-		    }
-		    // End: By Jun Inamori
-
-                    final BufferedImage img = trans.createImage(w, h);
-
-                    // paint the buffer to the image
-                    Graphics2D g2d = img.createGraphics();
-                    g2d.drawImage(buffer, null, 0, 0);
-                    new Thread() {
-                        public void run() {
-                            try {
-                                currentSavePath = f;
-                                OutputStream ostream =
-                                    new BufferedOutputStream(new FileOutputStream(f));
-                                trans.writeImage(img,
-                                                 new TranscoderOutput(ostream));
-                                ostream.flush();
-                            } catch (Exception ex) {}
-                            statusBar.setMessage
-                                (resources.getString("Message.done"));
-                        }
-                    }.start();
-                }
-            }
-        }
-    }
-
-    /**
-     * To save the current document as TIFF.
-     */
-    public class ExportAsTIFFAction extends AbstractAction {
-        public ExportAsTIFFAction() {}
-        public void actionPerformed(ActionEvent e) {
-            JFileChooser fileChooser =
-                new JFileChooser(makeAbsolute(currentSavePath));
-            fileChooser.setDialogTitle(resources.getString("ExportAsTIFF.title"));
-            fileChooser.setFileHidingEnabled(false);
-            fileChooser.setFileSelectionMode
-                (JFileChooser.FILES_ONLY);
-            fileChooser.addChoosableFileFilter(new ImageFileFilter(".tiff"));
-
-            int choice = fileChooser.showSaveDialog(JSVGViewerFrame.this);
-            if (choice == JFileChooser.APPROVE_OPTION) {
-                final File f = fileChooser.getSelectedFile();
-                BufferedImage buffer = svgCanvas.getOffScreen();
-                if (buffer != null) {
-                    statusBar.setMessage
-                        (resources.getString("Message.exportAsTIFF"));
-
-                    // create a BufferedImage of the appropriate type
-                    int w = buffer.getWidth();
-                    int h = buffer.getHeight();
-                    final ImageTranscoder trans = new TIFFTranscoder();
-                    trans.addTranscodingHint
-                        (TIFFTranscoder.KEY_XML_PARSER_CLASSNAME,
-                         application.getXMLParserClassName());
-                    final BufferedImage img = trans.createImage(w, h);
-
-                    // paint the buffer to the image
-                    Graphics2D g2d = img.createGraphics();
-                    g2d.drawImage(buffer, null, 0, 0);
-                    new Thread() {
-                        public void run() {
-                            try {
-                                currentSavePath = f;
-                                OutputStream ostream = new BufferedOutputStream
-                                    (new FileOutputStream(f));
-                                trans.writeImage
-                                    (img, new TranscoderOutput(ostream));
-                                ostream.flush();
-                            } catch (Exception ex) {}
-                            statusBar.setMessage
-                                (resources.getString("Message.done"));
-                        }
-                    }.start();
-                }
-            }
-        }
-    }
-
-    /**
-     * To view the source of the current document.
-     */
-    public class ViewSourceAction extends AbstractAction {
-        public ViewSourceAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (svgDocument == null) {
-                return;
-            }
-
-            final ParsedURL u = new ParsedURL(svgDocument.getURL());
-            
-            final JFrame fr = new JFrame(u.toString());
-            fr.setSize(resources.getInteger("ViewSource.width"),
-                       resources.getInteger("ViewSource.height"));
-            final JTextArea ta  = new JTextArea();
-            ta.setLineWrap(true);
-            ta.setFont(new Font("monospaced", Font.PLAIN, 12));
-
-            JScrollPane scroll = new JScrollPane();
-            scroll.getViewport().add(ta);
-            scroll.setVerticalScrollBarPolicy
-                (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
-            fr.getContentPane().add(scroll, BorderLayout.CENTER);
-
-            new Thread() {
-                public void run() {
-                    char [] buffer = new char[4096];
-
-                    try {
-                        Document  doc = new PlainDocument();
-
-                        ParsedURL purl = new ParsedURL(svgDocument.getURL());
-                        InputStream is
-                            = u.openStream(getInputHandler(purl).
-                                           getHandledMimeTypes());
-                        // u.openStream(MimeTypeConstants.MIME_TYPES_SVG);
-
-                        Reader in = XMLUtilities.createXMLDocumentReader(is);
-                        int len;
-                        while ((len=in.read(buffer, 0, buffer.length)) != -1) {
-                            doc.insertString(doc.getLength(),
-                                             new String(buffer, 0, len), null);
-                        }
-
-                        ta.setDocument(doc);
-                        ta.setEditable(false);
-                        ta.setBackground(Color.white);
-                        fr.setVisible(true);
-                    } catch (Exception ex) {
-                        userAgent.displayError(ex);
-                    }
-                }
-            }.start();
-        }
-    }
-
-    /**
-     * To flush image cache (purely for debugging purposes)
-     */
-    public class FlushAction extends AbstractAction {
-        public FlushAction() {}
-        public void actionPerformed(ActionEvent e) {
-            svgCanvas.flush();
-            // Force redraw...
-            svgCanvas.setRenderingTransform(svgCanvas.getRenderingTransform());
-        }
-    }
-
-    /**
-     * To toggle visiblity of JavaScript Debugger.
-     */
-    public class ToggleDebuggerAction extends AbstractAction {
-        public ToggleDebuggerAction() {
-            super("Toggle Debugger Action");
-            if (debuggerClass == null)
-                setEnabled(false);
-        }
-
-        public void actionPerformed(ActionEvent e) {
-            if (debuggerClass == null) {
-                setEnabled(false);
-                return;
-            }
-            if ((debuggerFrame == null) || !debuggerFrame.isShowing())
-                showDebugger();
-            else
-                hideDebugger();
-        }
-    }
-
-    /**
-     * To go back to the previous transform
-     */
-    public class PreviousTransformAction extends    AbstractAction
-                                         implements JComponentModifier {
-        List components = new LinkedList();
-        public PreviousTransformAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (transformHistory.canGoBack()) {
-                transformHistory.back();
-                update();
-                nextTransformAction.update();
-                svgCanvas.setRenderingTransform(transformHistory.currentTransform());
-            }
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        protected void update() {
-            boolean b = transformHistory.canGoBack();
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(b);
-            }
-        }
-    }
-
-    /**
-     * To go forward to the next transform
-     */
-    public class NextTransformAction extends    AbstractAction
-                                         implements JComponentModifier {
-        List components = new LinkedList();
-        public NextTransformAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (transformHistory.canGoForward()) {
-                transformHistory.forward();
-                update();
-                previousTransformAction.update();
-                svgCanvas.setRenderingTransform(transformHistory.currentTransform());
-            }
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        protected void update() {
-            boolean b = transformHistory.canGoForward();
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(b);
-            }
-        }
-    }
-
-    /**
-     * To apply the selected author stylesheet
-     */
-    public class UseStylesheetAction extends    AbstractAction
-                                     implements JComponentModifier {
-
-        List components = new LinkedList();
-
-        public UseStylesheetAction() {}
-
-        public void actionPerformed(ActionEvent e) {
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        protected void update() {
-            alternateStyleSheet = null;
-            Iterator it = components.iterator();
-            SVGDocument doc = svgCanvas.getSVGDocument();
-            while (it.hasNext()) {
-                JComponent stylesheetMenu = (JComponent)it.next();
-                stylesheetMenu.removeAll();
-                stylesheetMenu.setEnabled(false);
-
-                ButtonGroup buttonGroup = new ButtonGroup();
-
-                for (Node n = doc.getFirstChild();
-                     n != null && n.getNodeType() != Node.ELEMENT_NODE;
-                     n = n.getNextSibling()) {
-                    if (n instanceof StyleSheetProcessingInstruction) {
-                        StyleSheetProcessingInstruction sspi;
-                        sspi = (StyleSheetProcessingInstruction)n;
-                        HashTable attrs = sspi.getPseudoAttributes();
-                        final String title = (String)attrs.get("title");
-                        String alt = (String)attrs.get("alternate");
-                        if (title != null && "yes".equals(alt)) {
-                            JRadioButtonMenuItem button;
-                            button = new JRadioButtonMenuItem(title);
-
-                            button.addActionListener
-                                (new java.awt.event.ActionListener() {
-                                    public void actionPerformed(ActionEvent e) {
-                                        SVGOMDocument doc;
-                                        doc = (SVGOMDocument)svgCanvas.getSVGDocument();
-                                        doc.clearViewCSS();
-                                        alternateStyleSheet = title;
-                                        svgCanvas.setSVGDocument(doc);
-                                    }
-                                });
-
-                            buttonGroup.add(button);
-                            stylesheetMenu.add(button);
-                            stylesheetMenu.setEnabled(true);
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * To restart after a pause.
-     */
-    public class PlayAction extends   AbstractAction
-                            implements JComponentModifier {
-        java.util.List components = new LinkedList();
-        public PlayAction() {}
-        public void actionPerformed(ActionEvent e) {
-            svgCanvas.resumeProcessing();
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        public void update(boolean enabled) {
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(enabled);
-            }
-        }
-    }
-
-    /**
-     * To pause a document.
-     */
-    public class PauseAction extends   AbstractAction
-                            implements JComponentModifier {
-        java.util.List components = new LinkedList();
-        public PauseAction() {}
-        public void actionPerformed(ActionEvent e) {
-            svgCanvas.suspendProcessing();
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        public void update(boolean enabled) {
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(enabled);
-            }
-        }
-    }
-
-    /**
-     * To stop the current processing.
-     */
-    public class StopAction extends    AbstractAction
-                            implements JComponentModifier {
-        java.util.List components = new LinkedList();
-        public StopAction() {}
-        public void actionPerformed(ActionEvent e) {
-            svgCanvas.stopProcessing();
-        }
-
-        public void addJComponent(JComponent c) {
-            components.add(c);
-            c.setEnabled(false);
-        }
-
-        public void update(boolean enabled) {
-            Iterator it = components.iterator();
-            while (it.hasNext()) {
-                ((JComponent)it.next()).setEnabled(enabled);
-            }
-        }
-    }
-
-    /**
-     * To show the set transform dialog
-     */
-    public class SetTransformAction extends AbstractAction {
-        public SetTransformAction(){}
-        public void actionPerformed(ActionEvent e){
-            if (transformDialog == null){
-                transformDialog
-                    = JAffineTransformChooser.createDialog
-                    (JSVGViewerFrame.this,
-                     resources.getString("SetTransform.title"));
-            }
-
-            AffineTransform txf = transformDialog.showDialog();
-            if(txf != null){
-                AffineTransform at = svgCanvas.getRenderingTransform();
-                if(at == null){
-                    at = new AffineTransform();
-                }
-
-                txf.concatenate(at);
-                svgCanvas.setRenderingTransform(txf);
-            }
-        }
-    }
-
-    /**
-     * To display the memory monitor.
-     */
-    public class MonitorAction extends AbstractAction {
-        public MonitorAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (memoryMonitorFrame == null) {
-                memoryMonitorFrame = new MemoryMonitor();
-                Rectangle fr = getBounds();
-                Dimension md = memoryMonitorFrame.getSize();
-                memoryMonitorFrame.setLocation(fr.x + (fr.width  - md.width) / 2,
-                                               fr.y + (fr.height - md.height) / 2);
-            }
-            memoryMonitorFrame.setVisible(true);
-        }
-    }
-
-    /**
-     * To display the Find dialog
-     */
-    public class FindDialogAction extends AbstractAction {
-        public FindDialogAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (findDialog == null) {
-                findDialog = new FindDialog(JSVGViewerFrame.this, svgCanvas);
-                findDialog.setGraphicsNode(svgCanvas.getGraphicsNode());
-                findDialog.pack();
-                Rectangle fr = getBounds();
-                Dimension td = findDialog.getSize();
-                findDialog.setLocation(fr.x + (fr.width  - td.width) / 2,
-                                       fr.y + (fr.height - td.height) / 2);
-            }
-            findDialog.setVisible(true);
-        }
-    }
-
-    /**
-     * To display the Thumbnail dialog
-     */
-    public class ThumbnailDialogAction extends AbstractAction {
-        public ThumbnailDialogAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (thumbnailDialog == null) {
-                thumbnailDialog
-                    = new ThumbnailDialog(JSVGViewerFrame.this, svgCanvas);
-                thumbnailDialog.pack();
-                Rectangle fr = getBounds();
-                Dimension td = thumbnailDialog.getSize();
-                thumbnailDialog.setLocation(fr.x + (fr.width  - td.width) / 2,
-                                            fr.y + (fr.height - td.height) / 2);
-            }
-            thumbnailDialog.setInteractionEnabled
-                (!svgCanvas.getDisableInteractions());
-            thumbnailDialog.setVisible(true);
-        }
-    }
-
-    /**
-     * To display the document full screen
-     */
-    public class FullScreenAction extends AbstractAction {
-        public FullScreenAction() {}
-
-        public void actionPerformed(ActionEvent e) {
-            if (window == null || !window.isVisible()) {
-                if (window == null) {
-                    window = new JWindow(JSVGViewerFrame.this);
-                    Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
-                    window.setSize(size);
-                }
-                // Go to full screen in JWindow)
-                svgCanvas.getParent().remove(svgCanvas);
-                window.getContentPane().add(svgCanvas);
-                window.setVisible(true);
-                window.toFront();
-                svgCanvas.requestFocus();
-            } else {
-                // Go back to JSVGViewerFrame display
-                svgCanvas.getParent().remove(svgCanvas);
-                svgCanvasPanel.add(svgCanvas, BorderLayout.CENTER);
-                window.setVisible(false);
-            } 
-        }
-    }
-    
-    /**
-     * To display the DOM viewer of the document
-     */
-    public class DOMViewerAction extends AbstractAction {
-        public DOMViewerAction() {}
-        public void actionPerformed(ActionEvent e) {
-            if (domViewer == null) {
-                domViewer = new DOMViewer();
-                if (svgDocument != null) {
-                    domViewer.setDocument(svgDocument,
-                                          (ViewCSS)svgDocument.getDocumentElement());
-                }
-                Rectangle fr = getBounds();
-                Dimension td = domViewer.getSize();
-                domViewer.setLocation(fr.x + (fr.width  - td.width) / 2,
-                                      fr.y + (fr.height - td.height) / 2);
-            }
-            domViewer.setVisible(true);
-        }
-    }
-
-    // ActionMap /////////////////////////////////////////////////////
-
-    /**
-     * The map that contains the action listeners
-     */
-    protected Map listeners = new HashMap();
-
-    /**
-     * Returns the action associated with the given string
-     * or null on error
-     * @param key the key mapped with the action to get
-     * @throws MissingListenerException if the action is not found
-     */
-    public Action getAction(String key) throws MissingListenerException {
-        Action result = (Action)listeners.get(key);
-        //if (result == null) {
-        //result = canvas.getAction(key);
-        //}
-        if (result == null) {
-            throw new MissingListenerException("Can't find action.", RESOURCES, key);
-        }
-        return result;
-    }
-
-    // SVGDocumentLoaderListener ///////////////////////////////////////////
-
-    long time; // For debug.
-
-    /**
-     * Called when the loading of a document was started.
-     */
-    public void documentLoadingStarted(SVGDocumentLoaderEvent e) {
-        String msg = resources.getString("Message.documentLoad");
-        if (debug) {
-            System.out.println(msg);
-            time = System.currentTimeMillis();
-        }
-        statusBar.setMainMessage(msg);
-        stopAction.update(true);
-        svgCanvas.setCursor(WAIT_CURSOR);
-    }
-
-
-    /**
-     * Called when the loading of a document was completed.
-     */
-    public void documentLoadingCompleted(SVGDocumentLoaderEvent e) {
-        if (debug) {
-            System.out.print(resources.getString("Message.documentLoadTime"));
-            System.out.println((System.currentTimeMillis() - time) + " ms");
-        }
-
-        setSVGDocument(e.getSVGDocument(),
-                       e.getSVGDocument().getURL(),
-                       e.getSVGDocument().getTitle());
-    }
-
-    /**
-     * Forces the viewer frame to show the input SVGDocument
-     */
-    public void setSVGDocument(SVGDocument svgDocument,
-                               String svgDocumentURL,
-                               String svgDocumentTitle) {
-        this.svgDocument = svgDocument;
-
-        if (domViewer != null) {
-            if(domViewer.isVisible() && svgDocument != null) {
-                domViewer.setDocument(svgDocument,
-                                      (ViewCSS)svgDocument.getDocumentElement());
-            } else {
-                domViewer.dispose();
-                domViewer = null;
-            }
-        }
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-        String s = svgDocumentURL;
-        String t = svgCanvas.getFragmentIdentifier();
-        if (t != null) {
-            s += "#" + t;
-        }
-
-        locationBar.setText(s);
-        if (title == null) {
-            title = getTitle();
-        }
-
-        String dt = svgDocumentTitle;
-        if (dt.length() != 0) {
-            setTitle(title + ": " + dt);
-        } else {
-            int i = s.lastIndexOf("/");
-            if (i == -1)
-                i = s.lastIndexOf("\\");
-            if (i == -1) {
-                setTitle(title + ": " + s);
-            } else {
-                setTitle(title + ": " + s.substring(i + 1));
-            }
-        }
-
-        localHistory.update(s);
-        application.addVisitedURI(s);
-        backAction.update();
-        forwardAction.update();
-
-        transformHistory = new TransformHistory();
-        previousTransformAction.update();
-        nextTransformAction.update();
-
-        useStylesheetAction.update();
-    }
-
-    /**
-     * Called when the loading of a document was cancelled.
-     */
-    public void documentLoadingCancelled(SVGDocumentLoaderEvent e) {
-        String msg = resources.getString("Message.documentCancelled");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-    }
-
-    /**
-     * Called when the loading of a document has failed.
-     */
-    public void documentLoadingFailed(SVGDocumentLoaderEvent e) {
-        String msg = resources.getString("Message.documentFailed");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-    }
-
-    // GVTTreeBuilderListener //////////////////////////////////////////////
-
-    /**
-     * Called when a build started.
-     * The data of the event is initialized to the old document.
-     */
-    public void gvtBuildStarted(GVTTreeBuilderEvent e) {
-        String msg = resources.getString("Message.treeBuild");
-        if (debug) {
-            System.out.println(msg);
-            time = System.currentTimeMillis();
-        }
-        statusBar.setMainMessage(msg);
-        stopAction.update(true);
-        svgCanvas.setCursor(WAIT_CURSOR);
-    }
-
-    /**
-     * Called when a build was completed.
-     */
-    public void gvtBuildCompleted(GVTTreeBuilderEvent e) {
-        if (debug) {
-            System.out.print(resources.getString("Message.treeBuildTime"));
-            System.out.println((System.currentTimeMillis() - time) + " ms");
-        }
-        if (findDialog != null) {
-            if(findDialog.isVisible()) {
-                findDialog.setGraphicsNode(svgCanvas.getGraphicsNode());
-            } else {
-                findDialog.dispose();
-                findDialog = null;
-            }
-        }
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-        svgCanvas.setSelectionOverlayXORMode
-            (application.isSelectionOverlayXORMode());
-        svgCanvas.requestFocus();  // request focus when load completes.
-    }
-
-    /**
-     * Called when a build was cancelled.
-     */
-    public void gvtBuildCancelled(GVTTreeBuilderEvent e) {
-        String msg = resources.getString("Message.treeCancelled");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-        svgCanvas.setSelectionOverlayXORMode
-            (application.isSelectionOverlayXORMode());
-    }
-
-    /**
-     * Called when a build failed.
-     */
-    public void gvtBuildFailed(GVTTreeBuilderEvent e) {
-        String msg = resources.getString("Message.treeFailed");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        stopAction.update(false);
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-        svgCanvas.setSelectionOverlayXORMode
-            (application.isSelectionOverlayXORMode());
-        if (autoAdjust) {
-            pack();
-        }
-    }
-
-    // SVGLoadEventDispatcherListener //////////////////////////////////////
-
-    /**
-     * Called when a onload event dispatch started.
-     */
-    public void svgLoadEventDispatchStarted(SVGLoadEventDispatcherEvent e) {
-        String msg = resources.getString("Message.onload");
-        if (debug) {
-            System.out.println(msg);
-            time = System.currentTimeMillis();
-        }
-        stopAction.update(true);
-        statusBar.setMainMessage(msg);
-    }
-
-    /**
-     * Called when a onload event dispatch was completed.
-     */
-    public void svgLoadEventDispatchCompleted(SVGLoadEventDispatcherEvent e) {
-        if (debug) {
-            System.out.print(resources.getString("Message.onloadTime"));
-            System.out.println((System.currentTimeMillis() - time) + " ms");
-        }
-        stopAction.update(false);
-        statusBar.setMainMessage("");
-        statusBar.setMessage(resources.getString("Message.done"));
-    }
-
-    /**
-     * Called when a onload event dispatch was cancelled.
-     */
-    public void svgLoadEventDispatchCancelled(SVGLoadEventDispatcherEvent e) {
-        String msg = resources.getString("Message.onloadCancelled");
-        if (debug) {
-            System.out.println(msg);
-        }
-        stopAction.update(false);
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-    }
-
-    /**
-     * Called when a onload event dispatch failed.
-     */
-    public void svgLoadEventDispatchFailed(SVGLoadEventDispatcherEvent e) {
-        String msg = resources.getString("Message.onloadFailed");
-        if (debug) {
-            System.out.println(msg);
-        }
-        stopAction.update(false);
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-    }
-
-    // GVTTreeRendererListener /////////////////////////////////////////////
-
-    /**
-     * Called when a rendering is in its preparing phase.
-     */
-    public void gvtRenderingPrepare(GVTTreeRendererEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.treeRenderingPrep");
-            System.out.println(msg);
-            time = System.currentTimeMillis();
-        }
-        stopAction.update(true);
-        svgCanvas.setCursor(WAIT_CURSOR);
-        statusBar.setMainMessage(resources.getString("Message.treeRendering"));
-    }
-
-    /**
-     * Called when a rendering started.
-     */
-    public void gvtRenderingStarted(GVTTreeRendererEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.treeRenderingPrepTime");
-            System.out.print(msg);
-            System.out.println((System.currentTimeMillis() - time) + " ms");
-            time = System.currentTimeMillis();
-            msg = resources.getString("Message.treeRenderingStart");
-            System.out.println(msg);
-        }
-        // Do nothing
-    }
-
-    /**
-     * Called when a rendering was completed.
-     */
-    public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.treeRenderingTime");
-            System.out.print(msg);
-            System.out.println((System.currentTimeMillis() - time) + " ms");
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(resources.getString("Message.done"));
-        if (!svgCanvas.isDynamic() || managerStopped) {
-            stopAction.update(false);
-        }
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-
-        transformHistory.update(svgCanvas.getRenderingTransform());
-        previousTransformAction.update();
-        nextTransformAction.update();
-    }
-
-    /**
-     * Called when a rendering was cancelled.
-     */
-    public void gvtRenderingCancelled(GVTTreeRendererEvent e) {
-        String msg = resources.getString("Message.treeRenderingCancelled");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        if (!svgCanvas.isDynamic()) {
-            stopAction.update(false);
-        }
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-    }
-
-    /**
-     * Called when a rendering failed.
-     */
-    public void gvtRenderingFailed(GVTTreeRendererEvent e) {
-        String msg = resources.getString("Message.treeRenderingFailed");
-        if (debug) {
-            System.out.println(msg);
-        }
-        statusBar.setMainMessage("");
-        statusBar.setMessage(msg);
-        if (!svgCanvas.isDynamic()) {
-            stopAction.update(false);
-        }
-        svgCanvas.setCursor(DEFAULT_CURSOR);
-    }
-
-    // LinkActivationListener /////////////////////////////////////////
-
-    /**
-     * Called when a link was activated.
-     */
-    public void linkActivated(LinkActivationEvent e) {
-        String s = e.getReferencedURI();
-        if (svgDocument != null) {
-            ParsedURL docURL = new ParsedURL(svgDocument.getURL());
-            ParsedURL url    = new ParsedURL(docURL, s);
-            if (!url.sameFile(docURL)) {
-                return;
-            }
-
-            if (s.indexOf("#") != -1) {
-                localHistory.update(s);
-                application.addVisitedURI(s);
-                backAction.update();
-                forwardAction.update();
-
-                transformHistory = new TransformHistory();
-                previousTransformAction.update();
-                nextTransformAction.update();
-            }
-        }
-    }
-
-    // UpdateManagerListener ////////////////////////////////////////////////
-
-    /**
-     * Called when the manager was started.
-     */
-    public void managerStarted(UpdateManagerEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.updateManagerStarted");
-            System.out.println(msg);
-        }
-        managerStopped = false;
-        playAction.update(false);
-        pauseAction.update(true);
-        stopAction.update(true);
-    }
-
-    /**
-     * Called when the manager was suspended.
-     */
-    public void managerSuspended(UpdateManagerEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.updateManagerSuspended");
-            System.out.println(msg);
-        }
-        playAction.update(true);
-        pauseAction.update(false);
-    }
-
-    /**
-     * Called when the manager was resumed.
-     */
-    public void managerResumed(UpdateManagerEvent e) {
-        if (debug) {
-            String msg = resources.getString("Message.updateManagerResumed");
-            System.out.println(msg);
-        }
-        playAction.update(false);
-        pauseAction.update(true);
-    }
-
-    /

<TRUNCATED>

[52/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Flex has become a TLP

Posted by jm...@apache.org.
Flex has become a TLP

git-svn-id: https://svn.apache.org/repos/asf/flex/sdk/trunk@1429184 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/f5aaef88
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/f5aaef88
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/f5aaef88

Branch: refs/heads/release4.11.0
Commit: f5aaef8844172a9b3140c755da87c09b2ceed0d6
Parents: f690ea2
Author: Daniel Shahaf <da...@apache.org>
Authored: Sat Jan 5 01:40:28 2013 +0000
Committer: Daniel Shahaf <da...@apache.org>
Committed: Sat Jan 5 01:40:28 2013 +0000

----------------------------------------------------------------------

----------------------------------------------------------------------



[36/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/build.xml
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/build.xml b/modules/thirdparty/batik/build.xml
index abb69eb..c378d2a 100644
--- a/modules/thirdparty/batik/build.xml
+++ b/modules/thirdparty/batik/build.xml
@@ -1,10 +1,11 @@
 <!--
 
-   Copyright 2000-2005  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,10 +18,9 @@
 -->
 <!--
    Modified by Adobe Flex.
-   Added source="1.4" target="1.4" to javac.
    Added <compilerarg value="-Xbootclasspath/p:${basedir}/lib/xml-apis.jar"/>
 
--->    
+--> 
 <!--
 
 
@@ -33,7 +33,7 @@ Build Tools
 
 The Batik build system is based on Apache Ant, which is a Java building tool
 used in Apache projects.
-For more information refer to "http://jakarta.apache.org/ant/".
+For more information refer to <http://ant.apache.org/>.
 
 The distribution contains a precompiled version of Ant.
 
@@ -70,57 +70,94 @@ To display the available targets type:
   [win32] .\build.bat help
 
  
- $Id: build.xml,v 1.165 2005/04/10 13:37:48 deweese Exp $
+ $Id: build.xml 608259 2008-01-02 22:23:29Z cam $
 
 -->
 
-<project default="help" basedir=".">
+<project default="help" name="batik" basedir=".">
 
-  <!-- Initializations .................................................... -->
-  <target name="init-args" unless="args">
-    <property name="args" value=""/>
-  </target>
+  <!-- Configuring the build -->
+  <property file="${basedir}/build-local.properties"/>
+  <property environment="env"/>
 
-  <target name="init" depends="init-args">
-    <tstamp/>
-    <property name="Project"            value="Batik"/>
+  <!-- Initializations .................................................... -->
+  <target name="init" unless="init.done">
+    <tstamp>
+      <format property="ts" pattern="yyyyMMdd-HHmmss-z"/>
+    </tstamp>
+    <property name="Project"            value="Apache Batik"/>
     <property name="project"            value="batik"/>
-    <property name="year"               value="2005"/>
-    <property name="version"            value="1.6"/>
+    <property name="year"               value="2008"/>
+    <property name="version"            value="1.7"/>
     <property name="revisionType"       value=""/>
     <property name="revisionNumber"     value=""/>
-
+    <property name="completeVersion"    value="${version}${revisionType}${revisionNumber}"/>
+  
     <property file="build.properties"/>
     <property name="debug"              value="off"/>
     <property name="optimize"           value="on"/>
     <property name="deprecation"        value="on"/>
 
+    <!-- Added by Apache Flex -->  
+    <property name="javac.source" value="1.6"/>
+    <property name="javac.target" value="1.6"/>
+
     <property name="src"                value="sources"/>
+    <property name="src-internal-codec" value="sources-internal-codec"/>
     <property name="resources"          value="resources"/>
     <property name="testsrc"            value="test-sources"/>
     <property name="testresources"      value="test-resources"/>
     <property name="dest"               value="classes"/>
-    <property name="build"              value="${project}-${version}"/>
+    <property name="dest-internal-codec" value="classes-internal-codec"/>
+    <property name="build"              value="${project}-${completeVersion}"/>
+    <property name="build.id"           value="${ts} (${user.name} [${os.name} ${os.version} ${os.arch}, Java ${java.runtime.version}])"/>
     <property name="docs"               value="${build}/docs"/>
+    <property name="forrest-build"      value="${build}/forrest"/>
+    <property name="app"                value="${build}/Squiggle.app"/>
+    <property name="dmg"                value="${build}/Squiggle-${completeVersion}.dmg"/>
+    <property name="maven"              value="${build}/maven"/>
     <property name="lib"                value="lib"/>
     <property name="samples"            value="samples"/>
-    <property name="package-prefix"     value="org/apache/${project}"/>
-
-    <property name="class-prefix"       value="org.apache.${project}"/>
-
-    <property name="xdocs"              value="xdocs"/>
-    <property name="skins"              value="xdocs/skins"/>
-    <property name="stylebook-class"    value="org.apache.stylebook.StyleBook"/>
-    <property name="javadoc-exclusions" value=""/>
-
-    <property name="site"               value="../xml-site/targets/${project}"/>
-    <property name="site-skin"          value="${skins}/xml.apache.org/"/>
-    <property name="print-skin"         value="${skins}/printer/"/>
-
-    <property name="test-reports"       value="test-reports" />
-    <property name="test-references"    value="test-references" />
-    <property name="test-resources"     value="test-resources" />
-
+    <property name="package-prefix"     value="org/apache/flex/forks/${project}"/>
+  
+    <property name="class-prefix"       value="org.apache.flex.forks.${project}"/>
+  
+    <property name="dom.javadoc"        value="http://www.w3.org/2003/01/dom2-javadoc/"/>
+    <property name="jdk.javadoc"        value="http://java.sun.com/j2se/1.4/docs/api/"/>
+    <property name="rhino.javadoc"      value="http://www.mozilla.org/rhino/apidocs/"/>
+  
+    <property name="site"               value="site"/>
+  
+    <property name="test-reports"       value="test-reports"/>
+    <property name="test-references"    value="test-references"/>
+    <property name="test-resources"     value="test-resources"/>
+  
+    <!-- For site deployment -->
+    <property name="deploy.svn.url"     value="https://svn.apache.org/repos/asf/xmlgraphics/site/deploy/batik"/>
+    <property name="build.site-dir"     value="${site}"/>
+  
+    <pathconvert property="cwd">
+      <path path="."/>
+    </pathconvert>
+  
+    <path id="libs-classpath">
+      <fileset dir="lib" erroronmissingdir="false">
+        <include name="*.jar"/>
+      </fileset>
+    </path>
+  
+    <path id="libs-build-classpath">
+      <fileset dir="lib/build">
+        <include name="stylebook*.jar"/>
+      </fileset>
+      <fileset dir="lib">
+        <include name="xalan*.jar"/>
+        <include name="xerces*.jar"/>
+        <include name="xml-apis.jar"/>
+        <include name="xml-apis-ext.jar"/>
+      </fileset>
+    </path>
+  
     <available property="rhino.present" classname="org.mozilla.javascript.Context">
       <classpath refid="libs-classpath"/>
     </available>
@@ -130,182 +167,688 @@ To display the available targets type:
     <available property="jacl.present" classname="tcl.lang.Interp">
       <classpath refid="libs-classpath"/>
     </available>
-
-    <condition property="javadoc-exclusions"
+    <available property="jdk14.present" classname="java.lang.CharSequence"/>
+    
+    <!-- When compiling Batik under GNU Classpath, the Sun codecs are not available. -->
+    <condition property="sun-codecs.present">
+      <and>
+        <available classname="com.sun.image.codec.jpeg.JPEGCodec" 
+                   classpathref="libs-classpath"/>
+        <not>
+          <equals arg1="${sun-codecs.disabled}" arg2="true"/>
+        </not>
+      </and>
+    </condition>
+    
+    <condition property="src-jdk" value="sources-1.4">
+      <equals arg1="${jdk14.present}" arg2="true"/>
+    </condition>
+    <condition property="src-jdk" value="sources-1.3">
+      <not>
+        <equals arg1="${jdk14.present}" arg2="true"/>
+      </not>
+    </condition>
+  
+    <condition property="javadoc-exclusion-rhino"
                value="org.apache.flex.forks.batik.script.rhino">
       <not>
         <equals arg1="${rhino.present}" arg2="true"/>
       </not>
     </condition>
-    <condition property="javadoc-exclusions"
-               value="${javadoc-exclusions},org.apache.flex.forks.batik.script.jpython">
+    <condition property="javadoc-exclusion-jpython"
+               value="org.apache.flex.forks.batik.script.jpython">
       <not>
         <equals arg1="${jpython.present}" arg2="true"/>
       </not>
     </condition>
-    <condition property="javadoc-exclusions"
-               value="${javadoc-exclusions},org.apache.flex.forks.batik.script.jacl">
+    <condition property="javadoc-exclusion-jacl"
+               value="org.apache.flex.forks.batik.script.jacl">
       <not>
         <equals arg1="${jacl.present}" arg2="true"/>
       </not>
     </condition>
-  </target>
-
-  <path id="libs-classpath">
-    <fileset dir="lib">
-      <include name="*.jar"/>
-    </fileset>
-  </path>
-
-  <path id="libs-build-classpath">
-    <fileset dir="lib/build">
-      <include name="stylebook*.jar"/>
-      <include name="xalan*.jar"/>
-    </fileset>
-    <fileset dir="lib">
-      <include name="xerces*.jar"/>
-      <include name="xml-apis.jar"/>
-    </fileset>
-  </path>
+  
+    <property name="javadoc-exclusions"
+              value="${javadoc-exclusion-rhino},${javadoc-exclusion-jpython},${javadoc-exclusion-jacl}"/>
+  
+    <uptodate property="IWasLoadedUpToDate" 
+     targetfile="${testresources}/org/apache/batik/bridge/IWasLoaded.jar">
+     <srcfiles dir="${testresources}//org/apache/batik/bridge"
+               includes="IWasLoaded.java"/>
+    </uptodate>
+  
+    <uptodate property="IWasLoadedTooUpToDate" 
+     targetfile="${testresources}/org/apache/batik/bridge/IWasLoadedToo.jar">
+     <srcfiles dir="${testresources}//org/apache/batik/bridge"
+               includes="IWasLoadedToo.java"/>
+    </uptodate>
+  
+    <condition property="forrest.call" value="cmd" else="${env.FORREST_HOME}/bin/forrest">
+      <os family="windows"/>
+    </condition>
+  
+    <condition property="forrest.args" value="/c ${env.FORREST_HOME}\bin\forrest.bat" else="">
+      <os family="windows"/>
+    </condition>
+  
+    <!-- Info ............................................................... -->
+    <echo message=" == ${Project} ${completeVersion} build file ================================"/>
+    <echo message=""/>
+    <echo message="    JAVA_HOME:       ${env.JAVA_HOME}"/>
+    <echo message="    VM:              ${java.vm.version}, ${java.vm.vendor}"/>
+    <echo message="    javac.source:    ${javac.source}"/>
+    <echo message="    javac.target:    ${javac.target}"/>
 
+    <property name="init.done" value="true"/>
+  </target>
 
   <!-- Help ............................................................... -->
-  <target name       ="help"
-          depends    ="init"
-          description="Displays the usage">
+  <target name="help" depends="init" description="Displays the usage">
+    <echo message=""/>
+    <echo message="The following build targets are available:"/>
+    <echo message=""/>
+    <echo message=" -- Running -------------------------------------------------------"/>
+    <echo message=""/>
+    <echo message="    squiggle"/>
+    <echo message="        Runs the Squiggle SVG browser application."/>
+    <echo message=""/>
+    <echo message="    svgrasterizer"/>
+    <echo message="        Runs the SVG rasterizer application."/>
+    <echo message=""/>
+    <echo message="    svgpp"/>
+    <echo message="        Runs the SVG pretty-printer application."/>
+    <echo message=""/>
+    <echo message="    ttf2svg"/>
+    <echo message="        Runs the TrueType Font to SVG Font convert application."/>
+    <echo message=""/>
+    <echo message=" -- Building ------------------------------------------------------"/>
+    <echo message=""/>
+    <echo message="    dist-zip"/>
+    <echo message="        Builds the binary, source and documentation distributions"/>
+    <echo message="        as ZIP files."/>
+    <echo message="        (Creates ${project}-${completeVersion}.zip, ${project}-docs-${completeVersion}.zip"/>
+    <echo message="        and ${project}-src-${completeVersion}.zip.)"/>
+    <echo message=""/>
+    <echo message="    dist-tgz"/>
+    <echo message="        Builds the binary, source and documentation distributions"/>
+    <echo message="        as .tar.gz files."/>
+    <echo message="        (Creates ${project}-${completeVersion}.tar.gz, ${project}-docs-${completeVersion}.tar.gz"/>
+    <echo message="        and ${project}-src-${completeVersion}.tar.gz.)"/>
+    <echo message=""/>
+    <echo message="    appbundle"/>
+    <echo message="        Builds the Mac OS X Squiggle application bundle."/>
+    <echo message="        (Creates ${app}.)"/>
+    <echo message=""/>
+    <echo message="    dmg"/>
+    <echo message="        Builds the Mac OS X Squiggle application bundle disk image."/>
+    <echo message="        (Creates ${dmg}.)"/>
+    <echo message=""/>
+    <echo message="    compile"/>
+    <echo message="        Compiles all of Batik except the test infrastructure."/>
+    <echo message="        (Creates class files in classes/ from files in sources/,"/>
+    <echo message="        sources-1.3/ and sources-1.4/.)"/>
+    <echo message=""/>
+    <echo message="    compiletest"/>
+    <echo message="        Compiles the Batik test infrastructure."/>
+    <echo message="        (Creates class files in classes/ from files in"/>
+    <echo message="        test-sources/.)"/>
+    <echo message=""/>
+    <echo message="    jars"/>
+    <echo message="        Builds jar files for all Batik libraries and applications."/>
+    <echo message="        (Creates ${build}/.)"/>
+    <echo message=""/>
+    <echo message="    all-jar"/>
+    <echo message="        Builds a single jar that contains all Batik libraries."/>
+    <echo message="        (Creates ${build}/lib/${project}-all.jar.)"/>
+    <echo message=""/>
+    <echo message="    maven-artifacts"/>
+    <echo message="        Builds Maven artifacts for all jars."/>
+    <echo message="        (Creates ${maven}/.)"/>
     <echo message=""/>
-    <echo message="${project} build file"/>
+    <echo message="    javadoc"/>
+    <echo message="        Generates the API documentation."/>
+    <echo message="        (Creates ${docs}/javadoc/.)"/>
     <echo message=""/>
-    <echo message=" Available targets are:"/>
+    <echo message="    site"/>
+    <echo message="        Generates the http://xmlgraphics.apache.org/batik/ site,"/>
+    <echo message="        including Javadocs."/>
+    <echo message="        (Creates ${site}/.)"/>
     <echo message=""/>
-    <echo message="   dist-zip      --> build the zip distributions"/>
-    <echo message="   dist-tgz      --> build the tgz distributions"/>
-    <echo message="   compile       --> compiles the source code"/>
-    <echo message="   compiletest   --> compiles the tests source code"/>
-    <echo message="   squiggle      --> runs Squiggle the SVG browser"/>
-    <echo message="   svgbrowser    --> runs Squiggle the SVG browser"/>
-    <echo message="   svgrasterizer --> runs the SVG rasterizer"/>
-    <echo message="   svgpp         --> runs the SVG pretty-printer"/>
-    <echo message="   ttf2svg       --> converts selected glyphs from a True Type"/>
-    <echo message="                     Font file to the SVG Font format"/>
-    <echo message="   regard        --> runs the regard regression utility"/>
-    <echo message="   regard.manual --> runs regard tests that require user"/>
-    <echo message="                     interaction."/>
-    <echo message="   runtestsuite  --> runs a TestSuite, given an XML test suite"/>
-    <echo message="                     document"/>
-    <echo message="   runtest       --> runs a test whose class name is given at the command line"/>
-    <echo message="   showpainter   --> runs a Painter test instance to check its rendering."/>
-    <echo message="   javadoc       --> generates the API documentation"/>
-    <echo message="   site          --> generates the site documentation"/>
-    <echo message="   sitedoc       --> generates the site documentation without"/>
-    <echo message="                     the Javadoc"/>
-    <echo message="   html          --> generates the site documentation in"/>
-    <echo message="                     ${build}/docs/"/>
-    <echo message="   htmldoc       --> generates the site documentation in"/>
-    <echo message="                     ${build}/docs/ without the Javadoc"/>
-    <echo message="   printerdoc    --> generates the printable documentation in"/>
-    <echo message="                     ${build}/docs/print"/>
-    <echo message="   clean         --> cleans up the directory"/>
-    <echo message="   splash        --> Updates documentation and browser splash screens"/>
-    <echo message="   jarDepend     --> Updates jar files dependency image"/>
-    <echo message="   all-jar       --> Creates a combined JAR file of the Batik"/>
-    <echo message="                     libraries in ${build}/lib"/>
+    <echo message="    sitedoc"/>
+    <echo message="        Generates the http://xmlgraphics.apache.org/batik/ site,"/>
+    <echo message="        excluding Javadocs."/>
+    <echo message="        (Creates ${site}/.)"/>
     <echo message=""/>
-    <echo message=" See the comments in the build.xml file for more details."/>
+    <echo message="    html"/>
+    <echo message="        Generates the HTML documentation, including Javadocs."/>
+    <echo message="        (Creates ${docs}/.)"/>
     <echo message=""/>
+    <echo message="    htmldoc"/>
+    <echo message="        Generates the HTML documentation, excluding Javadocs."/>
+    <echo message="        (Creates ${docs}/.)"/>
     <echo message=""/>
+    <echo message="    splash"/>
+    <echo message="        Regenerates the Squiggle browser splash screen."/>
+    <echo message=""/>
+    <echo message="    clean"/>
+    <echo message="        Removes all output files and directories."/>
+    <echo message="    "/>
+    <echo message=" -- Testing -------------------------------------------------------"/>
+    <echo message=""/>
+    <echo message="    regard"/>
+    <echo message="        Runs the Regard regression testing tool for all tests that"/>
+    <echo message="        need no user interaction."/>
+    <echo message="        (Creates HTML test reports in test-reports/.)"/>
+    <echo message=""/>
+    <echo message="    regard.manual"/>
+    <echo message="        Runs the Regard regression testing tool for all test that"/>
+    <echo message="        need user interaction."/>
+    <echo message="        (Creates HTML test reports in test-reports/.)"/>
+    <echo message=""/>
+    <echo message="    runtestsuite"/>
+    <echo message="        Runs a test suite, given an XML test suite document."/>
+    <echo message=""/>
+    <echo message="    runtest"/>
+    <echo message="        Runs an individual test, given a class name."/>
+    <echo message=""/>
+    <echo message="    showpainter"/>
+    <echo message="        Runs an SVG Generator painter test, given a class name."/>
+    <echo message=""/>
+    <echo message="See the comments in the build.xml file for more details."/>
   </target>
 
   <!-- Build .............................................................. -->
-  <target name="dist-zip" depends="build"/>
-  <target name="build" depends="doc-zip, bin-zip, src-zip, jars, html" />
+  <target name="dist-zip" depends="build-zip"/>
+  <target name="build-zip" depends="doc-zip, bin-zip, src-zip"/>
 
   <target name="doc-zip" depends="init, html">
     <delete dir="${build}/docs/images/BE"/>
-    <zip zipfile="${project}-docs-${version}.zip" basedir="${build}"
+    <zip zipfile="${project}-docs-${completeVersion}.zip" basedir="${build}"
          includes="docs/javadoc/**"/>
     <delete dir="${build}/docs/javadoc"/>
   </target>
 
-  <target name="bin-zip" depends="jars">
-    <copy file="README" todir="${build}"/>
-    <copy file="LICENSE" todir="${build}"/>
-    <copy file="NOTICE" todir="${build}"/>
-    <copy todir="${build}/lib">
-       <fileset dir="lib">
-           <include name="LICENSE.*.txt"/>
-           <include name="README.*.txt"/>
-       </fileset>
-    </copy>
-    <copy todir="${build}/samples">
-      <fileset dir="samples"/>
-    </copy>
-    <zip zipfile="${project}-${version}.zip" basedir="." includes="${build}/**"/> 
-  </target>
-
-  <target name="src-zip" depends="init">
-    <echo message="xml-${project}"/>
-    <zip zipfile="${project}-src-${version}.zip" basedir=".." 
-         includes="xml-${project}/**" excludes="xml-${project}/test-references/**">
-        <exclude name="xml-${project}/${project}-src-${version}.zip" />
-        <exclude name="xml-${project}/${project}-${version}.zip" />
-        <exclude name="xml-${project}/${project}-docs-${version}.zip" />
-        <exclude name="xml-${project}/classes/**" />
-        <exclude name="xml-${project}/test-references/**" />
-        <exclude name="xml-${project}/${build}/**" />
+  <target name="bin-zip" depends="init, jars, htmldoc, bundle-script">
+    <zip zipfile="${project}-${completeVersion}.zip">
+      <zipfileset dir="." prefix="${project}-${completeVersion}">
+        <include name="LICENSE"/>
+        <include name="NOTICE"/>
+        <include name="README"/>
+        <include name="CHANGES"/>
+      </zipfileset>
+      <zipfileset dir="${build}" prefix="${project}-${completeVersion}">
+        <include name="*.jar"/>
+        <include name="docs/**"/>
+        <include name="extensions/**"/>
+        <include name="lib/*.jar"/>
+        <include name="lib/make-squiggle-app.sh"/>
+      </zipfileset>
+      <zipfileset dir="lib" prefix="${project}-${completeVersion}/lib">
+        <include name="LICENSE.*.txt"/>
+        <include name="README.*.txt"/>
+      </zipfileset>
+      <zipfileset dir="${resources}/${package-prefix}/extensions"
+                  prefix="${project}-${completeVersion}/extensions">
+        <include name="README.txt"/>
+      </zipfileset>
+      <zipfileset dir="${src}" prefix="${project}-${completeVersion}/lib">
+        <include name="Squiggle.icns"/>
+      </zipfileset>
+      <zipfileset dir="." includes="samples/**" prefix="${project}-${completeVersion}"/>
     </zip>
   </target>
 
+  <target name="src-zip" depends="init, record-svn-revision">
+    <zip zipfile="${project}-src-${completeVersion}.zip">
+      <zipfileset dir="." prefix="${project}-${completeVersion}">
+        <include name="LICENSE"/>
+        <include name="KEYS"/>
+        <include name="MAINTAIN"/>
+        <include name="NOTICE"/>
+        <include name="README"/>
+        <include name="CHANGES"/>
+        <include name="build.bat"/>
+        <include name="build.sh"/>
+        <include name="build.xml"/>
+        <include name="forrest.properties"/>
+        <include name="svn-revision"/>
+        <include name="contrib/**"/>
+        <include name="lib/**"/>
+        <include name="documentation-sources/**"/>
+        <include name="resources/**"/>
+        <include name="samples/**"/>
+        <include name="sources/**"/>
+        <include name="sources-1.3/**"/>
+        <include name="sources-1.4/**"/>
+        <include name="test-resources/**"/>
+        <include name="test-sources/**"/>
+      </zipfileset>
+    </zip>
+    <delete file="svn-revision" failonerror="false"/>
+  </target>
+
   <target name="dist-tgz" depends="build-tgz"/>
-  <target name="build-tgz" depends="jars, html">
+  <target name="build-tgz" depends="doc-tgz, bin-tgz, src-tgz"/>
+
+  <target name="doc-tgz" depends="init, html">
     <delete dir="${build}/docs/images/BE"/>
-    <tar tarfile="${project}-docs-${version}.tar" basedir="${build}"
-         includes="docs/javadoc/**"/>
-    <gzip zipfile="${project}-docs-${version}.tar.gz"
-          src="${project}-docs-${version}.tar"/>
-    <delete file="${project}-${version}.tar"/>
+    <tar tarfile="${project}-docs-${completeVersion}.tar.gz" compression="gzip"
+         basedir="${build}" includes="docs/javadoc/**"/>
     <delete dir="${build}/docs/javadoc"/>
+  </target>
 
-    <copy file="README" todir="${build}"/>
-    <copy file="LICENSE" todir="${build}"/>
-    <copy file="NOTICE" todir="${build}"/>
-    <copy todir="${build}/lib">
-       <fileset dir="lib">
-           <include name="LICENSE.*.txt"/>
-           <include name="README.*.txt"/>
-       </fileset>
+  <target name="bin-tgz" depends="init, jars, htmldoc, bundle-script">
+    <tar tarfile="${project}-${completeVersion}.tar.gz" compression="gzip">
+      <tarfileset dir="." prefix="${project}-${completeVersion}">
+        <include name="LICENSE"/>
+        <include name="NOTICE"/>
+        <include name="README"/>
+        <include name="CHANGES"/>
+      </tarfileset>
+      <tarfileset dir="${build}" prefix="${project}-${completeVersion}">
+        <include name="*.jar"/>
+        <include name="docs/**"/>
+        <include name="extensions/**"/>
+        <include name="lib/*.jar"/>
+        <include name="lib/make-squiggle-app.sh"/>
+      </tarfileset>
+      <tarfileset dir="lib" prefix="${project}-${completeVersion}/lib">
+        <include name="LICENSE.*.txt"/>
+        <include name="README.*.txt"/>
+      </tarfileset>
+      <tarfileset dir="${resources}/${package-prefix}/extensions"
+                  prefix="${project}-${completeVersion}/extensions">
+        <include name="README.txt"/>
+      </tarfileset>
+      <tarfileset dir="${src}" prefix="${project}-${completeVersion}/lib">
+        <include name="Squiggle.icns"/>
+      </tarfileset>
+      <tarfileset dir="." includes="samples/**" prefix="${project}-${completeVersion}"/>
+    </tar>
+  </target>
+
+  <target name="src-tgz" depends="init, record-svn-revision">
+    <tar tarfile="${project}-src-${completeVersion}.tar.gz" compression="gzip">
+      <tarfileset dir="." prefix="${project}-${completeVersion}">
+        <include name="LICENSE"/>
+        <include name="KEYS"/>
+        <include name="MAINTAIN"/>
+        <include name="NOTICE"/>
+        <include name="README"/>
+        <include name="CHANGES"/>
+        <include name="build.bat"/>
+        <include name="build.sh"/>
+        <include name="build.xml"/>
+        <include name="forrest.properties"/>
+        <include name="svn-revision"/>
+        <include name="contrib/**"/>
+        <include name="documentation-sources/**"/>
+        <include name="lib/**"/>
+        <include name="resources/**"/>
+        <include name="samples/**"/>
+        <include name="sources/**"/>
+        <include name="sources-1.3/**"/>
+        <include name="sources-1.4/**"/>
+        <include name="test-resources/**"/>
+        <include name="test-sources/**"/>
+      </tarfileset>
+    </tar>
+    <delete file="svn-revision" failonerror="false"/>
+  </target>
+
+  <target name="dmg" depends="appbundle">
+    <exec executable="hdiutil">
+      <arg line="create -srcfolder ${app} ${dmg}"/>
+    </exec>
+  </target>
+
+  <target name="appbundle" depends="init, jars, determine-svn-revision">
+    <mkdir dir="${app}/Contents/MacOS"/>
+    <mkdir dir="${app}/Contents/Resources"/>
+    <echo file="${app}/Contents/Info.plist"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleExecutable</key>
+  <string>Squiggle</string>
+  <key>CFBundleVersion</key>
+  <string>${completeVersion}${svn-revision-suffix}</string>
+  <key>CFBundleShortVersionString</key>
+  <string>${completeVersion}${svn-revision-suffix}</string>
+  <key>CFBundleIconFile</key>
+  <string>Squiggle.icns</string>
+  <key>CFBundleIdentifier</key>
+  <string>org.apache.flex.forks.batik</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>Squiggle</string>
+  <key>CFBundlePackageType</key>
+  <string>APPL</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>NSHumanReadableCopyright</key>
+  <string>Copyright © ${year} Apache Software Foundation. All Rights Reserved.</string>
+</dict>
+</plist>]]></echo>
+    <echo file="${app}/Contents/MacOS/Squiggle"><![CDATA[#!/bin/sh
+
+JAVA=/usr/bin/java
+[ -e "$JAVA_HOME/bin/java" ] && JAVA="$JAVA_HOME/bin/java"
+
+"$JAVA" -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar "`dirname $0`/../Resources/batik-squiggle.jar"
+]]></echo>
+    <chmod perm="a+x" file="${app}/Contents/MacOS/Squiggle"/>
+    <copy todir="${app}/Contents/Resources">
+      <fileset dir=".">
+        <include name="LICENSE"/>
+        <include name="NOTICE"/>
+        <include name="README"/>
+      </fileset>
+      <fileset dir="${build}">
+        <include name="*.jar"/>
+        <include name="lib/**"/>
+        <include name="extensions/**"/>
+      </fileset>
+      <fileset dir="${src}">
+        <include name="Squiggle.icns"/>
+      </fileset>
     </copy>
-    <copy file="${resources}/${package-prefix}/extensions/README.txt" 
-          todir="${build}/extensions"/>
-    <copy todir="${build}/samples">
-      <fileset dir="samples"/>
+    <copy todir="${app}/Contents/Resources/lib">
+      <fileset dir="${lib}">
+        <include name="LICENSE.*.txt"/>
+        <include name="README.*.txt"/>
+      </fileset>
     </copy>
-    <tar tarfile="${project}-${version}.tar" basedir="." includes="${build}/**"/>
-    <gzip zipfile="${project}-${version}.tar.gz" src="${project}-${version}.tar"/>
-    <delete file="${project}-docs-${version}.tar"/>
+    <copy todir="${app}/Contents/Resources/extensions">
+      <fileset dir="${resources}/${package-prefix}/extensions">
+        <include name="README.txt"/>
+      </fileset>
+    </copy>
+  </target>
 
-    <cvs cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
-         package="xml-batik"
-         dest="xml-${project}"/>
-    <tar tarfile="${project}-src-${version}.tar" basedir="." includes="xml-${project}"/>
-    <gzip zipfile="${project}-src-${version}.tar.gz"
-          src="${project}-src-${version}.tar"/>
-    <delete file="${project}-src-${version}.tar"/>
+  <target name="bundle-script" depends="init, determine-svn-revision">
+    <copy file="${src}/make-squiggle-app.sh.template"
+          tofile="${build}/lib/make-squiggle-app.sh">
+      <filterset>
+        <filter token="VERSION" value="${completeVersion}${svn-revision-suffix}"/>
+        <filter token="YEAR" value="${year}"/>
+      </filterset>
+    </copy>
+    <chmod perm="a+x" file="${build}/lib/make-squiggle-app.sh"/>
   </target>
 
+  <!-- Generates maven artifacts to be copied to
+       http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/xmlgraphics/.
+       Updating maven-metadata.xml files, and PGP signing of artifacts and POMs
+       must be done manually.
+
+       Note that the rules to build the artifact jars here are mostly redundant
+       with the relevant jar target (e.g. rasterizer-jar, squiggle-jar).  The
+       commonality should be factored out.
+       -->
+  <target name="maven-artifacts" depends="init, determine-svn-revision, jars">
+    <filter token="version" value="${completeVersion}"/>
+
+    <!-- batik-rasterizer application artifact -->
+    <mkdir dir="${maven}/batik-rasterizer/${completeVersion}"/>
+    <copy file="${src}/batik-rasterizer.pom.template" tofile="${maven}/batik-rasterizer/${completeVersion}/batik-rasterizer-${completeVersion}.pom" filtering="true"/>
+    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"
+          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.classes.policy"/>
+    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.bin.policy"
+          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"/>
+    <jar jarfile="${maven}/batik-rasterizer/${completeVersion}/batik-rasterizer-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG rasterizer"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.rasterizer.Main"/>
+        <attribute name="Class-Path" value="batik-ext-${completeVersion}.jar batik-dom-${completeVersion}.jar batik-css-${completeVersion}.jar batik-svg-dom-${completeVersion}.jar batik-gvt-${completeVersion}.jar batik-parser-${completeVersion}.jar batik-script-${completeVersion}.jar batik-bridge-${completeVersion}.jar batik-anim-${completeVersion}.jar batik-transcoder-${completeVersion}.jar batik-awt-util-${completeVersion}.jar batik-codec-${completeVersion}.jar batik-util-${completeVersion}.jar batik-xml-${completeVersion}.jar xerces-2.5.0.jar xalan-2.6.0.jar xml-apis-1.3.04.jar xml-apis-ext-1.3.04.jar fop-0.94.jar batik-js.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/apps/rasterizer/**/*.class"/>
+      </fileset>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="${package-prefix}/apps/rasterizer/**/resources/**"/>
+      </fileset>
+    </jar>
+    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"
+          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.bin.policy"/>
+    <move file="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.classes.policy"
+          tofile="${resources}/${package-prefix}/apps/rasterizer/resources/rasterizer.policy"/>
+
+    <!-- batik-rasterizer-ext application artifact -->
+    <mkdir dir="${maven}/batik-rasterizer-ext/${completeVersion}"/>
+    <copy file="${src}/batik-rasterizer-ext.pom.template" tofile="${maven}/batik-rasterizer-ext/${completeVersion}/batik-rasterizer-ext-${completeVersion}.pom" filtering="true"/>
+    <jar jarfile="${maven}/batik-rasterizer-ext/${completeVersion}/batik-rasterizer-ext-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG rasterizer with extensions"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.svgbrowser.Main"/>
+        <attribute name="Class-Path" value="batik-rasterizer-${completeVersion}.jar batik-extension-${completeVersion}.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="META-INF/services/**"/>
+      </fileset>
+    </jar>
+
+    <!-- batik-slideshow application artifact -->
+    <mkdir dir="${maven}/batik-slideshow/${completeVersion}"/>
+    <copy file="${src}/batik-slideshow.pom.template" tofile="${maven}/batik-slideshow/${completeVersion}/batik-slideshow-${completeVersion}.pom" filtering="true"/>
+    <jar jarfile="${maven}/batik-slideshow/${completeVersion}/batik-slideshow-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG slide show tool"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.slideshow.Main"/>
+        <attribute name="Class-Path" value="batik-ext-${completeVersion}.jar batik-dom-${completeVersion}.jar batik-css-${completeVersion}.jar batik-svg-dom-${completeVersion}.jar batik-gvt-${completeVersion}.jar batik-parser-${completeVersion}.jar batik-script-${completeVersion}.jar batik-bridge-${completeVersion}.jar batik-anim-${completeVersion}.jar batik-transcoder-${completeVersion}.jar batik-gui-util-${completeVersion}.jar batik-awt-util-${completeVersion}.jar batik-codec-${completeVersion}.jar batik-util-${completeVersion}.jar batik-xml-${completeVersion}.jar xerces-2.5.0.jar xalan-2.6.0.jar xml-apis-1.3.04.jar xml-apis-ext-1.3.04.jar batik-js.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/apps/slideshow/**/*.class"/>
+      </fileset>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="${package-prefix}/apps/slideshow/**/resources/**"/>
+      </fileset>
+    </jar>
+
+    <!-- batik-squiggle application artifact -->
+    <mkdir dir="${maven}/batik-squiggle/${completeVersion}"/>
+    <copy file="${src}/batik-squiggle.pom.template" tofile="${maven}/batik-squiggle/${completeVersion}/batik-squiggle-${completeVersion}.pom" filtering="true"/>
+    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"
+          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.classes.policy"/>
+    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.bin.policy"
+          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"/>
+    <jar jarfile="${maven}/batik-squiggle/${completeVersion}/batik-squiggle-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik Squiggle SVG browser"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.svgbrowser.Main"/>
+        <attribute name="Class-Path" value="batik-ext-${completeVersion}.jar batik-dom-${completeVersion}.jar batik-css-${completeVersion}.jar batik-svg-dom-${completeVersion}.jar batik-gvt-${completeVersion}.jar batik-parser-${completeVersion}.jar batik-script-${completeVersion}.jar batik-bridge-${completeVersion}.jar batik-swing-${completeVersion}.jar batik-anim-${completeVersion}.jar batik-transcoder-${completeVersion}.jar batik-gui-util-${completeVersion}.jar batik-awt-util-${completeVersion}.jar batik-codec-${completeVersion}.jar batik-util-${completeVersion}.jar batik-xml-${completeVersion}.jar xerces-2.5.0.jar xalan-2.6.0.jar xml-apis-1.3.04.jar xml-apis-ext-1.3.04.jar batik-js.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/apps/svgbrowser/**/*.class"/>
+      </fileset>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="${package-prefix}/apps/svgbrowser/**/resources/**"/>
+        <exclude name="${package-prefix}/apps/svgbrowser/resources/squiggle.xsl"/>
+        <exclude name="${package-prefix}/apps/svgbrowser/resources/squiggle.svg"/>
+      </fileset>
+    </jar>
+    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"
+          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.bin.policy"/>
+    <move file="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.classes.policy"
+          tofile="${resources}/${package-prefix}/apps/svgbrowser/resources/svgbrowser.policy"/>
+
+    <!-- batik-squiggle-ext application artifact -->
+    <mkdir dir="${maven}/batik-squiggle-ext/${completeVersion}"/>
+    <copy file="${src}/batik-squiggle-ext.pom.template" tofile="${maven}/batik-squiggle-ext/${completeVersion}/batik-squiggle-ext-${completeVersion}.pom" filtering="true"/>
+    <jar jarfile="${maven}/batik-squiggle-ext/${completeVersion}/batik-squiggle-ext-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik Squiggle SVG browser with extensions"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.svgbrowser.Main"/>
+        <attribute name="Class-Path" value="batik-squiggle-${completeVersion}.jar batik-extension-${completeVersion}.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="META-INF/services/**"/>
+      </fileset>
+    </jar>
+
+    <!-- batik-svgpp application artifact -->
+    <mkdir dir="${maven}/batik-svgpp/${completeVersion}"/>
+    <copy file="${src}/batik-svgpp.pom.template" tofile="${maven}/batik-svgpp/${completeVersion}/batik-svgpp-${completeVersion}.pom" filtering="true"/>
+    <jar jarfile="${maven}/batik-svgpp/${completeVersion}/batik-svgpp-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik XML pretty printer"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.svgpp.Main"/>
+        <attribute name="Class-Path" value="batik-ext-${completeVersion}.jar batik-dom-${completeVersion}.jar batik-parser-${completeVersion}.jar batik-transcoder-${completeVersion}.jar batik-util-${completeVersion}.jar batik-xml-${completeVersion}.jar xml-apis-1.3.04.jar xml-apis-ext-1.3.04.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/apps/svgpp/**/*.class"/>
+      </fileset>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="${package-prefix}/apps/svgpp/**/resources/**"/>
+      </fileset>
+    </jar>
+
+    <!-- batik-ttf2svg application artifact -->
+    <mkdir dir="${maven}/batik-ttf2svg/${completeVersion}"/>
+    <copy file="${src}/batik-ttf2svg.pom.template" tofile="${maven}/batik-ttf2svg/${completeVersion}/batik-ttf2svg-${completeVersion}.pom" filtering="true"/>
+    <jar jarfile="${maven}/batik-ttf2svg/${completeVersion}/batik-ttf2svg-${completeVersion}.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik TrueType to SVG Font converter"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="org.apache.flex.forks.batik.apps.ttf2svg.Main"/>
+        <attribute name="Class-Path" value="batik-svggen-${completeVersion}.jar batik-util-${completeVersion}.jar"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/apps/ttf2svg/**/*.class"/>
+      </fileset>
+    </jar>
+
+    <!-- library artifacts -->
+    <mkdir dir="${maven}/batik-anim/${completeVersion}"/>
+    <copy file="${src}/batik-anim.pom.template" tofile="${maven}/batik-anim/${completeVersion}/batik-anim-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-anim.jar" tofile="${maven}/batik-anim/${completeVersion}/batik-anim-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-awt-util/${completeVersion}"/>
+    <copy file="${src}/batik-awt-util.pom.template" tofile="${maven}/batik-awt-util/${completeVersion}/batik-awt-util-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-awt-util.jar" tofile="${maven}/batik-awt-util/${completeVersion}/batik-awt-util-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-bridge/${completeVersion}"/>
+    <copy file="${src}/batik-bridge.pom.template" tofile="${maven}/batik-bridge/${completeVersion}/batik-bridge-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-bridge.jar" tofile="${maven}/batik-bridge/${completeVersion}/batik-bridge-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-codec/${completeVersion}"/>
+    <copy file="${src}/batik-codec.pom.template" tofile="${maven}/batik-codec/${completeVersion}/batik-codec-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-codec.jar" tofile="${maven}/batik-codec/${completeVersion}/batik-codec-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-css/${completeVersion}"/>
+    <copy file="${src}/batik-css.pom.template" tofile="${maven}/batik-css/${completeVersion}/batik-css-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-css.jar" tofile="${maven}/batik-css/${completeVersion}/batik-css-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-dom/${completeVersion}"/>
+    <copy file="${src}/batik-dom.pom.template" tofile="${maven}/batik-dom/${completeVersion}/batik-dom-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-dom.jar" tofile="${maven}/batik-dom/${completeVersion}/batik-dom-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-extension/${completeVersion}"/>
+    <copy file="${src}/batik-extension.pom.template" tofile="${maven}/batik-extension/${completeVersion}/batik-extension-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-extension.jar" tofile="${maven}/batik-extension/${completeVersion}/batik-extension-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-ext/${completeVersion}"/>
+    <copy file="${src}/batik-ext.pom.template" tofile="${maven}/batik-ext/${completeVersion}/batik-ext-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-ext.jar" tofile="${maven}/batik-ext/${completeVersion}/batik-ext-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-gui-util/${completeVersion}"/>
+    <copy file="${src}/batik-gui-util.pom.template" tofile="${maven}/batik-gui-util/${completeVersion}/batik-gui-util-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-gui-util.jar" tofile="${maven}/batik-gui-util/${completeVersion}/batik-gui-util-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-gvt/${completeVersion}"/>
+    <copy file="${src}/batik-gvt.pom.template" tofile="${maven}/batik-gvt/${completeVersion}/batik-gvt-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-gvt.jar" tofile="${maven}/batik-gvt/${completeVersion}/batik-gvt-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-parser/${completeVersion}"/>
+    <copy file="${src}/batik-parser.pom.template" tofile="${maven}/batik-parser/${completeVersion}/batik-parser-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-parser.jar" tofile="${maven}/batik-parser/${completeVersion}/batik-parser-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-script/${completeVersion}"/>
+    <copy file="${src}/batik-script.pom.template" tofile="${maven}/batik-script/${completeVersion}/batik-script-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-script.jar" tofile="${maven}/batik-script/${completeVersion}/batik-script-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-svg-dom/${completeVersion}"/>
+    <copy file="${src}/batik-svg-dom.pom.template" tofile="${maven}/batik-svg-dom/${completeVersion}/batik-svg-dom-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-svg-dom.jar" tofile="${maven}/batik-svg-dom/${completeVersion}/batik-svg-dom-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-svggen/${completeVersion}"/>
+    <copy file="${src}/batik-svggen.pom.template" tofile="${maven}/batik-svggen/${completeVersion}/batik-svggen-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-svggen.jar" tofile="${maven}/batik-svggen/${completeVersion}/batik-svggen-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-swing/${completeVersion}"/>
+    <copy file="${src}/batik-swing.pom.template" tofile="${maven}/batik-swing/${completeVersion}/batik-swing-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-swing.jar" tofile="${maven}/batik-swing/${completeVersion}/batik-swing-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-transcoder/${completeVersion}"/>
+    <copy file="${src}/batik-transcoder.pom.template" tofile="${maven}/batik-transcoder/${completeVersion}/batik-transcoder-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-transcoder.jar" tofile="${maven}/batik-transcoder/${completeVersion}/batik-transcoder-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-util/${completeVersion}"/>
+    <copy file="${src}/batik-util.pom.template" tofile="${maven}/batik-util/${completeVersion}/batik-util-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-util.jar" tofile="${maven}/batik-util/${completeVersion}/batik-util-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-xml/${completeVersion}"/>
+    <copy file="${src}/batik-xml.pom.template" tofile="${maven}/batik-xml/${completeVersion}/batik-xml-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/batik-xml.jar" tofile="${maven}/batik-xml/${completeVersion}/batik-xml-${completeVersion}.jar"/>
+
+    <mkdir dir="${maven}/batik-js/${completeVersion}"/>
+    <copy file="${src}/batik-js.pom.template" tofile="${maven}/batik-js/${completeVersion}/batik-js-${completeVersion}.pom" filtering="true"/>
+    <copy file="${build}/lib/js.jar" tofile="${maven}/batik-js/${completeVersion}/batik-js-${completeVersion}.jar"/>
+
+    <!-- Generate checksums of all artifacts and POMs -->
+    <checksum algorithm="MD5" fileext=".md5">
+      <fileset dir="${maven}">
+        <include name="**/*.jar"/>
+        <include name="**/*.pom"/>
+      </fileset>
+    </checksum>
+    <checksum algorithm="SHA1" fileext=".sha1">
+      <fileset dir="${maven}">
+        <include name="**/*.jar"/>
+        <include name="**/*.pom"/>
+      </fileset>
+    </checksum>
+  </target>
 
   <!-- Compilation ........................................................ -->
-  <target name       ="compiletest"
-          depends    ="compile"
+  <target name="compiletest" depends="init, compile"
           description="Compiles the tests infrastructure source files">
     <mkdir dir="${dest}"/>
 
     <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
 
     <javac srcdir="${testsrc}" destdir="${dest}"  deprecation="${deprecation}" 
-           debug="${debug}" optimize="${optimize}" >
+           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
       <classpath>
-        <pathelement location="${dest}" />
+        <pathelement location="${dest}"/>
         <path refid="libs-classpath"/>
         <path refid="libs-build-classpath"/>
       </classpath>
@@ -317,10 +860,9 @@ To display the available targets type:
   <!-- Note that this is needed to avoid having the class files in the classes          -->
   <!-- subdirectory, which interferes with the tests, because classes in that directory -->
   <!-- are loaded first in the development version.                                     -->
-  <target name="testjars" depends="security2.jar, IWasLoaded.jar, IWasLoadedToo.jar, JarCheckPermissionsGranted.jar, JarCheckPermissionsDenied.jar, java-binding.jar" />
+  <target name="testjars" depends="security2.jar, IWasLoaded.jar, IWasLoadedToo.jar, JarCheckPermissionsGranted.jar, JarCheckPermissionsDenied.jar, java-binding.jar"/>
 
-  <target name       ="compiletestjars"
-          depends    ="compile"
+  <target name="compiletestjars" depends="init, compile"
           description="Compiles the source files for the samples scripts and the test-resources">
     <mkdir dir="${testresources}/classes"/>
     <mkdir dir="${samples}/tests/resources/java/classes"/>
@@ -328,27 +870,27 @@ To display the available targets type:
     <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
 
     <javac srcdir="${samples}/tests/resources/java/sources" destdir="${samples}/tests/resources/java/classes"  deprecation="${deprecation}" 
-           debug="${debug}" optimize="${optimize}" >
+           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
       <classpath>
-        <pathelement location="${dest}" />
-        <pathelement location="${samples}/tests/resources/java/classes" />
+        <pathelement location="${dest}"/>
+        <pathelement location="${samples}/tests/resources/java/classes"/>
         <path refid="libs-classpath"/>
         <path refid="libs-build-classpath"/>
       </classpath>
     </javac>
 
     <javac srcdir="${testresources}" destdir="${testresources}/classes"  deprecation="${deprecation}" 
-           debug="${debug}" optimize="${optimize}" >
+           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
       <classpath>
-        <pathelement location="${dest}" />
-        <pathelement location="${testresources}/classes" />
+        <pathelement location="${dest}"/>
+        <pathelement location="${testresources}/classes"/>
         <path refid="libs-classpath"/>
         <path refid="libs-build-classpath"/>
       </classpath>
     </javac>
   </target>
 
-  <target name="security2.jar" depends="compiletestjars" >
+  <target name="security2.jar" depends="init, compiletestjars">
     <jar manifest="${samples}/tests/resources/java/resources/com/untrusted/script/security2.mf"
          jarfile="samples/tests/spec/scripting/security2.jar">
       <fileset dir="${samples}/tests/resources/java/classes">
@@ -357,25 +899,29 @@ To display the available targets type:
     </jar>
   </target>
 
-  <target name="IWasLoaded.jar" depends="compiletestjars" >
+  <target name="IWasLoaded.jar" depends="init, compiletestjars" 
+          unless="IWasLoadedUpToDate">
     <jar manifest="${testresources}/org/apache/batik/bridge/IWasLoaded.mf"
          jarfile="${testresources}/org/apache/batik/bridge/IWasLoaded.jar">
       <fileset dir="${testresources}/classes">
-        <include name="org/apache/batik/bridge/IWasLoaded*.class"/>
+        <include name="org/apache/batik/bridge/IWasLoaded.class"/>
+        <include name="org/apache/batik/bridge/IWasLoaded$*.class"/>
       </fileset>
     </jar>
   </target>
 
-  <target name="IWasLoadedToo.jar" depends="compiletestjars" >
+  <target name="IWasLoadedToo.jar" depends="init, compiletestjars" 
+          unless="IWasLoadedTooUpToDate">
     <jar manifest="${testresources}/org/apache/batik/bridge/IWasLoadedToo.mf"
          jarfile="${testresources}/org/apache/batik/bridge/IWasLoadedToo.jar">
       <fileset dir="${testresources}/classes">
-        <include name="org/apache/batik/bridge/IWasLoadedToo*.class"/>
+        <include name="org/apache/batik/bridge/IWasLoadedToo.class"/>
+        <include name="org/apache/batik/bridge/IWasLoadedToo$*.class"/>
       </fileset>
     </jar>
   </target>
 
-  <target name="JarCheckPermissionsDenied.jar" depends="compiletestjars" >
+  <target name="JarCheckPermissionsDenied.jar" depends="init, compiletestjars">
     <jar manifest="${testresources}/org/apache/batik/bridge/JarCheckPermissionsDenied.mf"
          jarfile="${testresources}/org/apache/batik/bridge/JarCheckPermissionsDenied.jar">
       <fileset dir="${testresources}/classes">
@@ -384,7 +930,7 @@ To display the available targets type:
     </jar>
   </target>
 
-  <target name="JarCheckPermissionsGranted.jar" depends="compiletestjars" >
+  <target name="JarCheckPermissionsGranted.jar" depends="init, compiletestjars">
     <jar manifest="${testresources}/org/apache/batik/bridge/JarCheckPermissionsGranted.mf"
          jarfile="${testresources}/org/apache/batik/bridge/JarCheckPermissionsGranted.jar">
       <fileset dir="${testresources}/classes">
@@ -393,7 +939,7 @@ To display the available targets type:
     </jar>
   </target>
 
-  <target name="java-binding.jar" depends="compiletestjars" >
+  <target name="java-binding.jar" depends="init, compiletestjars">
     <jar manifest="${samples}/tests/resources/java/resources/com/test/script/java-binding.mf"
          jarfile="${samples}/tests/spec/scripting/java-binding.jar">
       <fileset dir="${samples}/tests/resources/java/classes">
@@ -403,44 +949,122 @@ To display the available targets type:
   </target>
 
 
-  <target name       ="compile"
-          depends    ="init"
-          description="Compiles the source files">
+  <target name="record-svn-revision" depends="determine-svn-revision"
+          if="svn-revision-determined">
+    <echo message="${svn-revision-number}" file="svn-revision"/>
+  </target>
+
+  <target name="determine-svn-revision"
+          depends="determine-svn-revision-svn-info,
+                   determine-svn-revision-transform,
+                   determine-svn-revision-from-file,
+                   determine-svn-revision-set"/>
+
+  <target name="determine-svn-revision-svn-info" depends="init">
+    <dirset id="dirs" dir="${src}/${package-prefix}">
+      <include name="**"/>
+    </dirset>
+    <pathconvert refid="dirs" pathsep=" " property="svn-info-dirs"/>
+    <exec executable="svn" output="svn-info.xml"
+          resultproperty="svn-info-result" failifexecutionfails="false">
+      <arg line="info --xml . ${svn-info-dirs}"/>
+    </exec>
+    <condition property="should-transform-svn-info">
+      <equals arg1="${svn-info-result}" arg2="0"/>
+    </condition>
+  </target>
+
+  <target name="determine-svn-revision-transform" depends="init"
+          if="should-transform-svn-info">
+    <java fork="yes" classname="org.apache.xalan.xslt.Process"
+          outputproperty="svn-revision-number"
+          errorproperty="svn-revision-transform-error"
+          resultproperty="svn-revision-transform-result">
+      <classpath>
+        <path refid="libs-build-classpath"/>
+      </classpath>
+      <arg line="-in svn-info.xml -xsl ${lib}/build/svn-info-revision.xsl"/>
+    </java>
+    <condition property="svn-revision-determined">
+      <equals arg1="${svn-revision-transform-result}" arg2="0"/>
+    </condition>
+  </target>
+
+  <target name="determine-svn-revision-from-file"
+          unless="svn-revision-determined">
+    <loadfile property="svn-revision-number" srcFile="svn-revision"
+              failonerror="false"/>
+    <condition property="svn-revision-determined">
+      <not>
+        <equals arg1="${svn-revision-suffix-string}" arg2=""/>
+      </not>
+    </condition>
+  </target>
+
+  <target name="determine-svn-revision-set"
+          if="svn-revision-determined">
+    <property name="svn-revision-suffix" value="+r${svn-revision-number}"/>
+    <delete file="svn-info.xml" failonerror="false"/>
+  </target>
+
+
+  <target name="compile-prepare" depends="init" unless="compile-prepare.done">
     <mkdir dir="${dest}"/>
     <echo message="debug ${debug}, optimize ${optimize}, deprecation ${deprecation}"/>
-    <javac srcdir="${src}" destdir="${dest}" deprecation="${deprecation}" 
-           debug="${debug}" optimize="${optimize}" source="1.4" target="1.4">
+    <property name="compile-prepare.done" value="true"/>
+  </target>
+
+  <target name="compile" depends="init, compile-prepare" unless="compile.done">
+    <javac destdir="${dest}" 
+           source="${javac.source}" 
+           target="${javac.target}" 
+           deprecation="${deprecation}" 
+           debug="${debug}" optimize="${optimize}" encoding="UTF-8">
+      <src path="${src}"/>
+      <src path="${src-jdk}"/>
       <classpath refid="libs-classpath"/>
 	  <compilerarg value="-Xbootclasspath/p:${basedir}/lib/xml-apis.jar"/>
       <exclude name="**/*.html"/>
-      <exclude name="**/rhino/*" unless="rhino.present"/>      
+      <exclude name="**/rhino/*"   unless="rhino.present"/>      
       <exclude name="**/jpython/*" unless="jpython.present"/>
-      <exclude name="**/jacl/*" unless="jacl.present"/>
+      <exclude name="**/jacl/*"    unless="jacl.present"/>
+      <exclude name="${package-prefix}/ext/awt/image/codec/jpeg/*"
+               unless="sun-codecs.present"/>
+      <exclude name="${package-prefix}/ext/awt/image/codec/tiff/*"
+               unless="sun-codecs.present"/>
     </javac>
+    <property name="compile.done" value="true"/>
   </target>
 
-  <target name="clean-compile"
-          depends="init"
+  <target name="clean-compile" depends="init"
           description="Cleans the files generated by compile">
     <delete dir="${dest}"/>
   </target>
 
-  <target name="clean-apache"
-          depends="init"
+  <target name="clean-apache" depends="init"
           description="Cleans the Apache files generated by compile">
     <delete dir="${dest}/org/apache"/>
   </target>
 
+  <target name="clean-test" depends="init"
+          description="Cleans files generated by running tests">
+    <delete file="${samples}/tests/spec/scripting/security2.jar"/>
+    <delete file="${samples}/tests/spec/scripting/java-binding.jar"/>
+    <delete file="${samples}/anne.pdf"/>
+    <delete file="${samples}/anne.png"/>
+  </target>
+
 
   <!-- Jars ............................................................... -->
-  <target name="prepare-build">
+  <target name="prepare-build" depends="init, determine-svn-revision">
     <mkdir dir="${build}"/>
     <mkdir dir="${build}/docs"/>
     <mkdir dir="${build}/lib"/>
   </target>
 
   <!-- Generates all the jars except all-jar -->
-  <target name="jars" depends="ext-jar,
+  <target name="jars" depends="init,
+                               ext-jar,
                                util-jar,
                                awt-util-jar,
                                gui-util-jar,
@@ -453,6 +1077,8 @@ To display the available targets type:
                                transcoder-jar,
                                bridge-jar,
                                swing-jar,
+                               anim-jar,
+                               codec-jar,
                                extension-jar,
                                xml-jar,
                                root-jar,
@@ -473,54 +1099,87 @@ To display the available targets type:
 
   <!--====== START additions for Apache Flex =========-->
 
+    <!--
+    The following directories have been removed from the batik source tree since they
+    aren't being used by Flex:
+        resource and sources
+            apps
+            ext/swing
+            extension
+            
+        as well as the manifest files for the applications and all test files.
+        
+    There are several targets in this build file that will not build because of these
+    missing files.
+  -->
+
   <property name="FLEX_HOME" value="${basedir}/../../.."/>
   <property name="FLEX_LIB" value="${basedir}/../../../lib"/>
-
+  <property name="build.number" value="0"/>
+  
   <!-- 
-    Clone all-jar and add Flex manifest. 
+    Clone all-jar and add Flex info to manifest. 
     
     This must be built from the modules build file to get the manifest properties set
     correctly.
   -->
-  
-  <target name="batik-all-flex-jar" depends="compile, prepare-build" 
-    description="Creates a combined JAR file of the Batik libraries in ${build}/lib">
-    <copy file="${FLEX_HOME}/LICENSE" todir="${dest}/META-INF"/>
-    <copy file="${FLEX_HOME}/NOTICE" todir="${dest}/META-INF"/>
 
+  <target name="batik-all-flex-jar" depends="init, compile, determine-svn-revision-from-file, determine-svn-revision-set"
+          description="Creates a combined JAR file of the Batik libraries in ${build}/lib">
+
+    <mkdir dir="${build}"/>
+    <mkdir dir="${build}/docs"/>
+    <mkdir dir="${build}/lib"/>
+
+    <property name="flex.implementation.title" value="Apache Batik all-in-one JAR - Fork of Batik 1.7"/>
+    <property name="flex.implementation.version" value="${completeVersion}${svn-revision-suffix} Build ${build.number}"/>
+    
+    <echo>Implementation-Title: ${flex.implementation.title}</echo>
+    <echo>Implementation-Version: ${flex.implementation.version}</echo>
+    <echo>Build-Id: ${build.id}</echo>
+    
     <jar jarfile="${FLEX_LIB}/batik-all-flex.jar">
-      <fileset dir="${dest}" excludes="**/CVS">
+      <manifest>
+        <attribute name="Implementation-Title" value="${flex.implementation.title}"/>
+        <attribute name="Implementation-Version" value="${flex.implementation.version}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}" excludes="**/.svn/">
         <include name="**"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="**"/>
       </fileset>
-      <manifest>
-        <attribute name="Sealed" value="${manifest.sealed}"/>
-        <attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Fork of Batik 1.6"/>
-        <attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
-        <attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
-        <attribute name="Implementation-Vendor-Id" value="${manifest.Implementation-Vendor-Id}"/>
-        <attribute name="Class-Path" value="batik_de.jar batik_fr.jar batik_ja.jar batik_ko.jar batik_ru.jar batik_zh_CN.jar"/>
-     </manifest>
     </jar>
-    <delete dir="${dest}/META-INF"/>
   </target>
-
-  <target name="batik-all-flex-clean" depends="clean"
+ 
+  <target name="batik-all-flex-clean" depends="init, clean-compile"
     description="cleans files generated by batik-all-flex-jar">
     <delete file="${FLEX_LIB}/batik-all-flex.jar" failonerror="false"/>
+    <delete dir="${build}"/>
   </target>
   
   <!--====== END additions for Apache Flex =========-->
-  
+
   <!-- All batik in a single jar (dependencies: none) -->
-  <target name="all-jar" depends="compile, prepare-build" description="Creates a combined JAR file of the Batik libraries in ${build}/lib">
+
+    <target name="all-jar" depends="init, compile, prepare-build"
+          description="Creates a combined JAR file of the Batik libraries in ${build}/lib">
     <jar jarfile="${build}/lib/${project}-all.jar">
-      <fileset dir="${dest}" excludes="**/CVS">
+      <manifest>
+        <attribute name="Implementation-Title" value="Apache Batik all-in-one JAR"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+        <attribute name="Main-Class" value="${class-prefix}.apps.svgbrowser.Main"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}" excludes="**/.svn/">
         <include name="**"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="**"/>
       </fileset>
     </jar>
@@ -529,16 +1188,19 @@ To display the available targets type:
 
   <!-- All batik in a single jar, without SAX and DOM bindings
        (dependencies: batik-ext.jar) -->
-  <target name="libs-jar" depends="compile, prepare-build">
+  <target name="libs-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-libs.jar">
-      <fileset dir="${dest}" excludes="**/CVS">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik all-in-one minus external dependencies"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <fileset dir="${dest}" excludes="**/.svn/">
         <include name="org/apache/batik/**"/>
-        <include name="org/w3c/css/sac/**"/>
-        <include name="org/w3c/dom/smil/**"/>
-        <include name="org/w3c/dom/svg/**"/>
-        <include name="org/w3c/dom/svg12/**"/>
+        <include name="org/w3c/**"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="**"/>
       </fileset>
     </jar>
@@ -547,16 +1209,18 @@ To display the available targets type:
 
   <!-- What is needed to the JSVGCanvas bean in a jar,
        including the XML parser -->
-  <target name="bean" depends="compile, prepare-build">
+  <target name="bean" depends="init, compile, prepare-build">
     <mkdir dir="${build}/tmp"/>
     <unjar src="lib/xerces_2_5_0.jar" dest="${build}/tmp"/>
     <jar jarfile="${build}/lib/${project}-bean.jar"
          manifest="${src}/${project}-bean.mf">
       <manifest>
-        <attribute name="Implementation-Title" value="Batik Java Bean"/>
-        <attribute name="Implementation-Version" value="${version}${revisionType}${revisionNumber}"/>
-        <attribute name="Implementation-Vendor" value="Apache Software Foundation (http://xml.apache.org/batik/)"/>
+        <attribute name="Implementation-Title" value="Batik JavaBean"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
       </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="org/w3c/**"/>
         <include name="${package-prefix}/bridge/**/*.class"/>
@@ -572,7 +1236,7 @@ To display the available targets type:
         <include name="${package-prefix}/util/io/*.class"/>
         <include name="${package-prefix}/xml/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/bridge/**"/>
         <include name="${package-prefix}/css/**"/>
         <include name="${package-prefix}/dom/**"/>
@@ -589,19 +1253,34 @@ To display the available targets type:
     <delete dir="${build}/tmp"/>
   </target>
 
-  <!-- External packages (dependencies: none) -->
-  <target name="ext-jar" depends="compile, prepare-build">
+  <!-- External code (just DOM Level 3 Events) (dependencies: none) -->
+  <target name="ext-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-ext.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik external code"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${lib}">
+        <include name="LICENSE.dom-*.txt"/>
+      </metainf>
       <fileset dir="${dest}">
         <include name="org/w3c/**"/>
       </fileset>
     </jar>
   </target>
 
-
   <!-- Util, i18n (dependencies: none) -->
-  <target name="util-jar" depends="compile, prepare-build">
+  <target name="util-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-util.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik utility library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/i18n/*.class"/>
         <include name="${package-prefix}/util/*.class"/>
@@ -609,7 +1288,7 @@ To display the available targets type:
         <include name="${package-prefix}/Version.class"/>
         <include name="${package-prefix}/util/resources/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/util/resources/**"/>
         <include name="${package-prefix}/util/io/resources/**"/>
       </fileset>
@@ -618,35 +1297,87 @@ To display the available targets type:
 
 
   <!-- AWT Util (dependencies: none) -->
-  <target name="awt-util-jar" depends="compile, prepare-build">
+  <target name="awt-util-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-awt-util.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik AWT utility library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/ext/awt/**/*.class"/>
         <include name="${package-prefix}/ext/swing/**/*.class"/>
+        <exclude name="${package-prefix}/ext/awt/image/codec/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/ext/awt/image/**"/>
         <include name="${package-prefix}/ext/swing/**"/>
+        <exclude name="${package-prefix}/ext/awt/image/codec/**/properties"/>
+      </fileset>
+    </jar>
+  </target>
+
+
+  <!-- Codecs (dependencies: awt-util, transcoder) -->
+  <target name="codec-jar" depends="init, compile, prepare-build">
+    <jar jarfile="${build}/lib/${project}-codec.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik image codecs"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
+      <fileset dir="${dest}">
+        <include name="${package-prefix}/ext/awt/image/codec/util/*.class"/>
+        <include name="${package-prefix}/ext/awt/image/codec/png/*.class"/>
+        <include name="${package-prefix}/ext/awt/image/codec/tiff/*.class"
+                 if="sun-codecs.present"/>
+        <include name="${package-prefix}/ext/awt/image/codec/jpeg/*.class"
+                 if="sun-codecs.present"/>
+        <include name="${package-prefix}/ext/awt/image/codec/imageio/*.class"
+                 if="jdk14.present"/>
+      </fileset>
+      <fileset dir="${resources}" excludes="**/.svn/">
+        <include name="${package-prefix}/ext/awt/image/codec/**/properties"/>
+        <include name="META-INF/services/org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriter"/>
+        <include name="META-INF/services/org.apache.flex.forks.batik.ext.awt.image.spi.RegistryEntry"/>
       </fileset>
     </jar>
   </target>
 
 
   <!-- SVGGraphics2D (dependencies: util, awt-util) -->
-  <target name="svggen-jar" depends="compile, prepare-build">
+  <target name="svggen-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-svggen.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG generator"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/svggen/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/svggen/font/resources/**"/>
       </fileset>
     </jar>
   </target>
 
   <!-- SVGGraphics2D (dependencies: util, awt-util) -->
-  <target name="svggen-full-jar" depends="compile, prepare-build">
+  <target name="svggen-full-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-svggenfull.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG generator plus dependencies"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/svggen/**/*.class"/>
         <include name="${package-prefix}/util/Base64*.class"/>
@@ -654,7 +1385,7 @@ To display the available targets type:
         <include name="${package-prefix}/ext/awt/g2d/*.class"/>
         <include name="${package-prefix}/util/*Constants.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/svggen/font/resources/**"/>
       </fileset>
     </jar>
@@ -662,40 +1393,63 @@ To display the available targets type:
 
 
   <!-- GUI Util (dependencies: none) -->
-  <target name="gui-util-jar" depends="compile, prepare-build">
+  <target name="gui-util-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-gui-util.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik GUI utility library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/util/gui/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/util/gui/**/resources/**"/>
       </fileset>
     </jar>
   </target>
 
 
-  <!-- DOM Level 2 (dependencies: ext, util) -->
-  <target name="dom-jar" depends="compile, prepare-build">
+  <!-- DOM Level 3 (dependencies: ext, util) -->
+  <target name="dom-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-dom.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik DOM Level 3 implementation"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/dom/*.class"/>
         <include name="${package-prefix}/dom/events/*.class"/>
         <include name="${package-prefix}/dom/traversal/*.class"/>
         <include name="${package-prefix}/dom/util/*.class"/>
+        <include name="${package-prefix}/dom/xbl/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/dom/resources/*"/>
         <include name="${package-prefix}/dom/events/resources/**"/>
         <include name="${package-prefix}/dom/traversal/resources/**"/>
         <include name="${package-prefix}/dom/util/resources/**"/>
+        <include name="${package-prefix}/dom/xbl/resources/**"/>
       </fileset>
     </jar>
   </target>
 
 
   <!-- CSS Engine (dependencies: ext, util) -->
-  <target name="css-jar" depends="compile, prepare-build">
+  <target name="css-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-css.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik CSS engine"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/css/dom/*.class"/>
         <include name="${package-prefix}/css/engine/*.class"/>
@@ -706,7 +1460,7 @@ To display the available targets type:
         <include name="${package-prefix}/css/engine/value/svg12/*.class"/>
         <include name="${package-prefix}/css/parser/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/css/dom/resources/**"/>
         <include name="${package-prefix}/css/engine/resources/**"/>
         <include name="${package-prefix}/css/engine/sac/resources/**"/>
@@ -720,13 +1474,21 @@ To display the available targets type:
   </target>
 
   <!-- SVG DOM (dependencies: ext, DOM, CSS, util) -->
-  <target name="svg-dom-jar" depends="compile, prepare-build">
+  <target name="svg-dom-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-svg-dom.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik SVG DOM implementation"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
+        <include name="${package-prefix}/dom/anim/*.class"/>
         <include name="${package-prefix}/dom/svg/*.class"/>
         <include name="${package-prefix}/dom/svg12/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/dom/svg/resources/**"/>
         <include name="${package-prefix}/dom/svg12/resources/**"/>
       </fileset>
@@ -735,12 +1497,19 @@ To display the available targets type:
 
 
   <!-- GVT (dependencies: util, awt-util) -->
-  <target name="gvt-jar" depends="compile, prepare-build">
+  <target name="gvt-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-gvt.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik GVT library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/gvt/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/gvt/**/resources/*"/>
       </fileset>
     </jar>
@@ -748,12 +1517,19 @@ To display the available targets type:
 
 
   <!-- Parser (dependencies: util) -->
-  <target name="parser-jar" depends="compile, prepare-build">
+  <target name="parser-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-parser.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik parser library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/parser/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/parser/**/resources/*"/>
       </fileset>
     </jar>
@@ -761,12 +1537,19 @@ To display the available targets type:
 
 
   <!-- Script (dependencies: util) -->
-  <target name="script-jar" depends="compile, prepare-build">
+  <target name="script-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-script.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik script library"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/script/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/script/**/resources/*"/>
         <include name="META-INF/services/org.apache.flex.forks.batik.script.InterpreterFactory"/>
       </fileset>
@@ -775,36 +1558,57 @@ To display the available targets type:
 
 
   <!-- Transcoder (dependencies: all) -->
-  <target name="transcoder-jar" depends="compile, prepare-build">
+  <target name="transcoder-jar" depends="init, compile, prepare-build">
     <jar jarfile="${build}/lib/${project}-transcoder.jar">
+      <manifest>
+        <attribute name="Implementation-Title" value="Batik transcoder"/>
+        <attribute name="Implementation-Version" value="${completeVersion}${svn-revision-suffix}"/>
+        <attribute name="Implementation-Vendor" value="The Apache Software Foundation (http://xmlgraphics.apache.org/batik/)"/>
+        <attribute name="Build-Id" value="${build.id}"/>
+      </manifest>
+      <metainf dir="${basedir}" includes="LICENSE,NOTICE"/>
       <fileset dir="${dest}">
         <include name="${package-prefix}/transcoder/**/*.class"/>
       </fileset>
-      <fileset dir="${resources}" excludes="${resources}/**/CVS">
+      <fileset dir="${resources}" excludes="**/.svn/">
         <include name="${package-prefix}/transcoder/**/r

<TRUNCATED>

[03/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLShadowTreeElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLShadowTreeElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLShadowTreeElementBridge.java
new file mode 100644
index 0000000..8c9410d
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLShadowTreeElementBridge.java
@@ -0,0 +1,176 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.AbstractGraphicsNodeBridge;
+import org.apache.flex.forks.batik.bridge.Bridge;
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.GVTBuilder;
+import org.apache.flex.forks.batik.bridge.SVGUtilities;
+import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.util.XBLConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * Bridge class for the &lt;xbl:shadowTree&gt; element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: XBLShadowTreeElementBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class XBLShadowTreeElementBridge extends AbstractGraphicsNodeBridge {
+    
+    /**
+     * Constructs a new bridge for the &lt;xbl:shadowTree&gt; element.
+     */
+    public XBLShadowTreeElementBridge() {}
+
+    /**
+     * Returns 'shadowTree'.
+     */
+    public String getLocalName() {
+        return XBLConstants.XBL_SHADOW_TREE_TAG;
+    }
+
+    /**
+     * Returns the XBL namespace.
+     */
+    public String getNamespaceURI() {
+        return XBLConstants.XBL_NAMESPACE_URI;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new XBLShadowTreeElementBridge();
+    }
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @return a graphics node that represents the specified element
+     */
+    public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
+        // 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
+        if (!SVGUtilities.matchUserAgent(e, ctx.getUserAgent())) {
+            return null;
+        }
+
+        CompositeGraphicsNode cgn = new CompositeGraphicsNode();
+
+        associateSVGContext(ctx, e, cgn);
+
+        return cgn;
+    }
+
+    /**
+     * Creates a <tt>CompositeGraphicsNode</tt>.
+     */
+    protected GraphicsNode instantiateGraphicsNode() {
+        // Not needed, since createGraphicsNode is overridden
+        return null;
+    }
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    public void buildGraphicsNode(BridgeContext ctx,
+                                  Element e,
+                                  GraphicsNode node) {
+        initializeDynamicSupport(ctx, e, node);
+    }
+
+    /**
+     * Returns true if the graphics node has to be displayed, false
+     * otherwise.
+     */
+    public boolean getDisplay(Element e) {
+        return true;
+    }
+
+    /**
+     * Returns true as the &lt;xbl:template&gt; element is a container.
+     */
+    public boolean isComposite() {
+        return true;
+    }
+
+    // BridgeUpdateHandler implementation //////////////////////////////////
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
+     */
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) {
+        if (evt.getTarget() instanceof Element) {
+            handleElementAdded((CompositeGraphicsNode)node, 
+                               e, 
+                               (Element)evt.getTarget());
+        }
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
+     */
+    public void handleElementAdded(CompositeGraphicsNode gn, 
+                                   Node parent, 
+                                   Element childElt) {
+        // build the graphics node
+        GVTBuilder builder = ctx.getGVTBuilder();
+        GraphicsNode childNode = builder.build(ctx, childElt);
+        if (childNode == null) {
+            return; // the added element is not a graphic element
+        }
+        
+        // Find the index where the GraphicsNode should be added
+        int idx = -1;
+        for(Node ps = childElt.getPreviousSibling(); ps != null;
+            ps = ps.getPreviousSibling()) {
+            if (ps.getNodeType() != Node.ELEMENT_NODE)
+                continue;
+            Element pse = (Element)ps;
+            GraphicsNode psgn = ctx.getGraphicsNode(pse);
+            while ((psgn != null) && (psgn.getParent() != gn)) {
+                // In some cases the GN linked is
+                // a child (in particular for images).
+                psgn = psgn.getParent();
+            }
+            if (psgn == null)
+                continue;
+            idx = gn.indexOf(psgn);
+            if (idx == -1)
+                continue;
+            break;
+        }
+        // insert after prevSibling, if
+        // it was -1 this becomes 0 (first slot)
+        idx++; 
+        gn.add(idx, childNode);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathPatternContentSelector.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathPatternContentSelector.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathPatternContentSelector.java
new file mode 100644
index 0000000..9c09dbd
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathPatternContentSelector.java
@@ -0,0 +1,252 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.ArrayList;
+
+import org.apache.xml.utils.PrefixResolver;
+import org.apache.xpath.XPath;
+import org.apache.xpath.XPathContext;
+
+import org.apache.flex.forks.batik.dom.AbstractDocument;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.xpath.XPathException;
+
+/**
+ * A class to handle the XPath Pattern syntax for XBL content elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: XPathPatternContentSelector.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class XPathPatternContentSelector extends AbstractContentSelector {
+
+    /**
+     * The Xalan prefix resolver.
+     */
+    protected NSPrefixResolver prefixResolver = new NSPrefixResolver();
+
+    /**
+     * The XPath expression.
+     */
+    protected XPath xpath;
+
+    /**
+     * The XPath context.
+     */
+    protected XPathContext context;
+
+    /**
+     * The selected nodes.
+     */
+    protected SelectedNodes selectedContent;
+
+    /**
+     * The expression string.
+     */
+    protected String expression;
+
+    /**
+     * Creates a new XPathPatternContentSelector.
+     */
+    public XPathPatternContentSelector(ContentManager cm,
+                                       XBLOMContentElement content,
+                                       Element bound,
+                                       String selector) {
+        super(cm, content, bound);
+        expression = selector;
+        parse();
+    }
+
+    /**
+     * Parses the XPath selector.
+     */
+    protected void parse() {
+        context = new XPathContext();
+        try {
+            xpath = new XPath(expression, null, prefixResolver, XPath.MATCH);
+        } catch (javax.xml.transform.TransformerException te) {
+            AbstractDocument doc
+                = (AbstractDocument) contentElement.getOwnerDocument();
+            throw doc.createXPathException
+                (XPathException.INVALID_EXPRESSION_ERR,
+                 "xpath.invalid.expression",
+                 new Object[] { expression, te.getMessage() });
+        }
+    }
+
+    /**
+     * Returns a list of nodes that were matched by the given selector
+     * string.
+     */
+    public NodeList getSelectedContent() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+        }
+        return selectedContent;
+    }
+
+    /**
+     * Forces this selector to update its selected nodes list.
+     * Returns true if the selected node list needed updating.
+     * This assumes that the previous content elements in this
+     * shadow tree (in document order) have up-to-date selectedContent
+     * lists.
+     */
+    boolean update() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+            return true;
+        }
+        parse();
+        return selectedContent.update();
+    }
+
+    /**
+     * Implementation of NodeList that contains the nodes that matched
+     * this selector.
+     */
+    protected class SelectedNodes implements NodeList {
+
+        /**
+         * The selected nodes.
+         */
+        protected ArrayList nodes = new ArrayList(10);
+
+        /**
+         * Creates a new SelectedNodes object.
+         */
+        public SelectedNodes() {
+            update();
+        }
+
+        protected boolean update() {
+            ArrayList oldNodes = (ArrayList) nodes.clone();
+            nodes.clear();
+            for (Node n = boundElement.getFirstChild();
+                    n != null;
+                    n = n.getNextSibling()) {
+                update(n);
+            }
+            int nodesSize = nodes.size();
+            if (oldNodes.size() != nodesSize) {
+                return true;
+            }
+            for (int i = 0; i < nodesSize; i++) {
+                if (oldNodes.get(i) != nodes.get(i)) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        protected boolean descendantSelected(Node n) {
+            n = n.getFirstChild();
+            while (n != null) {
+                if (isSelected(n) || descendantSelected(n)) {
+                    return true;
+                }
+                n = n.getNextSibling();
+            }
+            return false;
+        }
+
+        protected void update(Node n) {
+            if (!isSelected(n)) {
+                try {
+                    double matchScore
+                        = xpath.execute(context, n, prefixResolver).num();
+                    if (matchScore != XPath.MATCH_SCORE_NONE) {
+                        if (!descendantSelected(n)) {
+                            nodes.add(n);
+                        }
+                    } else {
+                        n = n.getFirstChild();
+                        while (n != null) {
+                            update(n);
+                            n = n.getNextSibling();
+                        }
+                    }
+                } catch (javax.xml.transform.TransformerException te) {
+                    AbstractDocument doc
+                        = (AbstractDocument) contentElement.getOwnerDocument();
+                    throw doc.createXPathException
+                        (XPathException.INVALID_EXPRESSION_ERR,
+                         "xpath.error",
+                         new Object[] { expression, te.getMessage() });
+                }
+            }
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#item(int)}.
+         */
+        public Node item(int index) {
+            if (index < 0 || index >= nodes.size()) {
+                return null;
+            }
+            return (Node) nodes.get(index);
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#getLength()}.
+         */
+        public int getLength() {
+            return nodes.size();
+        }
+    }
+    /**
+     * Xalan prefix resolver.
+     */
+    protected class NSPrefixResolver implements PrefixResolver {
+
+        /**
+         * Get the base URI for this resolver.  Since this resolver isn't
+         * associated with a particular node, returns null.
+         */
+        public String getBaseIdentifier() {
+            return null;
+        }
+
+        /**
+         * Resolves the given namespace prefix.
+         */
+        public String getNamespaceForPrefix(String prefix) {
+            return contentElement.lookupNamespaceURI(prefix);
+        }
+
+        /**
+         * Resolves the given namespace prefix.
+         */
+        public String getNamespaceForPrefix(String prefix, Node context) {
+            // ignore the context node
+            return contentElement.lookupNamespaceURI(prefix);
+        }
+
+        /**
+         * Returns whether this PrefixResolver handles a null prefix.
+         */
+        public boolean handlesNullPrefixes() {
+            return false;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathSubsetContentSelector.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathSubsetContentSelector.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathSubsetContentSelector.java
new file mode 100644
index 0000000..a6fe5eb
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XPathSubsetContentSelector.java
@@ -0,0 +1,513 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.io.IOException;
+import java.util.ArrayList;
+
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+import org.apache.flex.forks.batik.parser.AbstractScanner;
+import org.apache.flex.forks.batik.parser.ParseException;
+import org.apache.flex.forks.batik.xml.XMLUtilities;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A class to handle the XPath subset syntax for XBL content elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: XPathSubsetContentSelector.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class XPathSubsetContentSelector extends AbstractContentSelector {
+
+    protected static final int SELECTOR_INVALID = -1;
+    protected static final int SELECTOR_ANY = 0;
+    protected static final int SELECTOR_QNAME = 1;
+    protected static final int SELECTOR_ID = 2;
+
+    /**
+     * The type of XPath subset expression.
+     */
+    protected int selectorType;
+
+    /**
+     * The QName prefix used for selection.
+     */
+    protected String prefix;
+
+    /**
+     * The local name or ID used for selection.
+     */
+    protected String localName;
+
+    /**
+     * The index for selection.  0 means select all elements that match.
+     */
+    protected int index;
+
+    /**
+     * The selected nodes.
+     */
+    protected SelectedNodes selectedContent;
+
+    /**
+     * Creates a new XPathSubsetContentSelector object.
+     */
+    public XPathSubsetContentSelector(ContentManager cm,
+                                      XBLOMContentElement content,
+                                      Element bound,
+                                      String selector) {
+        super(cm, content, bound);
+        parseSelector(selector);
+    }
+
+    /**
+     * Parses the selector string.
+     */
+    protected void parseSelector(String selector) {
+        selectorType = SELECTOR_INVALID;
+        Scanner scanner = new Scanner(selector);
+        int token = scanner.next();
+        if (token == Scanner.NAME) {
+            String name1 = scanner.getStringValue();
+            token = scanner.next();
+            if (token == Scanner.EOF) {
+                selectorType = SELECTOR_QNAME;
+                prefix = null;
+                localName = name1;
+                index = 0;
+                return;
+            } else if (token == Scanner.COLON) {
+                token = scanner.next();
+                if (token == Scanner.NAME) {
+                    String name2 = scanner.getStringValue();
+                    token = scanner.next();
+                    if (token == Scanner.EOF) {
+                        selectorType = SELECTOR_QNAME;
+                        prefix = name1;
+                        localName = name2;
+                        index = 0;
+                        return;
+                    } else if (token == Scanner.LEFT_SQUARE_BRACKET) {
+                        token = scanner.next();
+                        if (token == Scanner.NUMBER) {
+                            int number = Integer.parseInt(scanner.getStringValue());
+                            token = scanner.next();
+                            if (token == Scanner.RIGHT_SQUARE_BRACKET) {
+                                token = scanner.next();
+                                if (token == Scanner.EOF) {
+                                    selectorType = SELECTOR_QNAME;
+                                    prefix = name1;
+                                    localName = name2;
+                                    index = number;
+                                    return;
+                                }
+                            }
+                        }
+                    }
+                } else if (token == Scanner.LEFT_SQUARE_BRACKET) {
+                    token = scanner.next();
+                    if (token == Scanner.NUMBER) {
+                        int number = Integer.parseInt(scanner.getStringValue());
+                        token = scanner.next();
+                        if (token == Scanner.RIGHT_SQUARE_BRACKET) {
+                            token = scanner.next();
+                            if (token == Scanner.EOF) {
+                                selectorType = SELECTOR_QNAME;
+                                prefix = null;
+                                localName = name1;
+                                index = number;
+                                return;
+                            }
+                        }
+                    }
+                } else if (token == Scanner.LEFT_PARENTHESIS) {
+                    if (name1.equals("id")) {
+                        token = scanner.next();
+                        if (token == Scanner.STRING) {
+                            String id = scanner.getStringValue();
+                            token = scanner.next();
+                            if (token == Scanner.RIGHT_PARENTHESIS) {
+                                token = scanner.next();
+                                if (token == Scanner.EOF) {
+                                    selectorType = SELECTOR_ID;
+                                    localName = id;
+                                    return;
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } else if (token == Scanner.ASTERISK) {
+            token = scanner.next();
+            if (token == Scanner.EOF) {
+                selectorType = SELECTOR_ANY;
+                return;
+            } else if (token == Scanner.LEFT_SQUARE_BRACKET) {
+                token = scanner.next();
+                if (token == Scanner.NUMBER) {
+                    int number = Integer.parseInt(scanner.getStringValue());
+                    token = scanner.next();
+                    if (token == Scanner.RIGHT_SQUARE_BRACKET) {
+                        token = scanner.next();
+                        if (token == Scanner.EOF) {
+                            selectorType = SELECTOR_ANY;
+                            index = number;
+                            return;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Returns a list of nodes that were matched by the given selector
+     * string.
+     */
+    public NodeList getSelectedContent() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+        }
+        return selectedContent;
+    }
+
+    /**
+     * Forces this selector to update its selected nodes list.
+     * Returns true if the selected node list needed updating.
+     * This assumes that the previous content elements in this
+     * shadow tree (in document order) have up-to-date selectedContent
+     * lists.
+     */
+    boolean update() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+            return true;
+        }
+        return selectedContent.update();
+    }
+
+    /**
+     * Implementation of NodeList that contains the nodes that matched
+     * this selector.
+     */
+    protected class SelectedNodes implements NodeList {
+
+        /**
+         * The selected nodes.
+         */
+        protected ArrayList nodes = new ArrayList(10);
+
+        /**
+         * Creates a new SelectedNodes object.
+         */
+        public SelectedNodes() {
+            update();
+        }
+
+        protected boolean update() {
+            ArrayList oldNodes = (ArrayList) nodes.clone();
+            nodes.clear();
+            int nth = 0;
+            for (Node n = boundElement.getFirstChild(); n != null; n = n.getNextSibling()) {
+                if (n.getNodeType() != Node.ELEMENT_NODE) {
+                    continue;
+                }
+                Element e = (Element) n;
+                boolean matched = selectorType == SELECTOR_ANY;
+                switch (selectorType) {
+                    case SELECTOR_ID:
+                        matched = e.getAttributeNS(null, "id").equals(localName);
+                        break;
+                    case SELECTOR_QNAME:
+                        if (prefix == null) {
+                            matched = e.getNamespaceURI() == null;
+                        } else {
+                            String ns = contentElement.lookupNamespaceURI(prefix);
+                            if (ns == null) {
+                                // XXX throw invalid prefix exception
+                            } else {
+                                matched = e.getNamespaceURI().equals(ns);
+                            }
+                        }
+                        matched = matched && localName.equals(e.getLocalName());
+                        break;
+                }
+                if (selectorType == SELECTOR_ANY
+                        || selectorType == SELECTOR_QNAME) {
+                    matched = matched && (index == 0 || ++nth == index);
+                }
+                if (matched && !isSelected(n)) {
+                    nodes.add(e);
+                }
+            }
+            int nodesSize = nodes.size();
+            if (oldNodes.size() != nodesSize) {
+                return true;
+            }
+            for (int i = 0; i < nodesSize; i++) {
+                if (oldNodes.get(i) != nodes.get(i)) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#item(int)}.
+         */
+        public Node item(int index) {
+            if (index < 0 || index >= nodes.size()) {
+                return null;
+            }
+            return (Node) nodes.get(index);
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#getLength()}.
+         */
+        public int getLength() {
+            return nodes.size();
+        }
+    }
+
+    /**
+     * A scanner for XPath subset selectors.
+     */
+    protected static class Scanner extends AbstractScanner {
+
+        public static final int EOF = 0;
+        public static final int NAME = 1;
+        public static final int COLON = 2;
+        public static final int LEFT_SQUARE_BRACKET = 3;
+        public static final int RIGHT_SQUARE_BRACKET = 4;
+        public static final int LEFT_PARENTHESIS = 5;
+        public static final int RIGHT_PARENTHESIS = 6;
+        public static final int STRING = 7;
+        public static final int NUMBER = 8;
+        public static final int ASTERISK = 9;
+
+        /**
+         * Creates a new Scanner object.
+         */
+        public Scanner(String s) {
+            super(s);
+        }
+
+        /**
+         * Returns the end gap of the current lexical unit.
+         */
+        protected int endGap() {
+            return (current == -1) ? 0 : 1;
+        }
+
+//         public int next() {
+//             int i = super.next();
+//             System.err.print("\t\t");
+//             switch (i) {
+//                 case EOF:
+//                     System.err.println("EOF");
+//                     break;
+//                 case NAME:
+//                     System.err.println("NAME " + getStringValue());
+//                     break;
+//                 case COLON:
+//                     System.err.println("COLON");
+//                     break;
+//                 case LEFT_SQUARE_BRACKET:
+//                     System.err.println("LEFT_SQUARE_BRACKET");
+//                     break;
+//                 case RIGHT_SQUARE_BRACKET:
+//                     System.err.println("RIGHT_SQUARE_BRACKET");
+//                     break;
+//                 case LEFT_PARENTHESIS:
+//                     System.err.println("LEFT_PARENTHESIS");
+//                     break;
+//                 case RIGHT_PARENTHESIS:
+//                     System.err.println("RIGHT_PARENTHESIS");
+//                     break;
+//                 case STRING:
+//                     System.err.println("STRING \"" + getStringValue() + "\"");
+//                     break;
+//                 case NUMBER:
+//                     System.err.println("NUMBER " + getStringValue());
+//                     break;
+//                 case ASTERISK:
+//                     System.err.println("ASTERISK");
+//                     break;
+//                 default:
+//                     System.err.println("?");
+//             }
+//             return i;
+//         }
+
+        /**
+         * Returns the next token.
+         */
+        protected void nextToken() throws ParseException {
+            try {
+                switch (current) {
+                    case -1:
+                        type = EOF;
+                        return;
+                    case ':':
+                        nextChar();
+                        type = COLON;
+                        return;
+                    case '[':
+                        nextChar();
+                        type = LEFT_SQUARE_BRACKET;
+                        return;
+                    case ']':
+                        nextChar();
+                        type = RIGHT_SQUARE_BRACKET;
+                        return;
+                    case '(':
+                        nextChar();
+                        type = LEFT_PARENTHESIS;
+                        return;
+                    case ')':
+                        nextChar();
+                        type = RIGHT_PARENTHESIS;
+                        return;
+                    case '*':
+                        nextChar();
+                        type = ASTERISK;
+                        return;
+                    case ' ':
+                    case '\t':
+                    case '\r':
+                    case '\n':
+                    case '\f':
+                        do {
+                            nextChar();
+                        } while (XMLUtilities.isXMLSpace((char) current));
+                        nextToken();
+                        return;
+                    case '\'':
+                        type = string1();
+                        return;
+                    case '"':
+                        type = string2();
+                        return;
+                    case '0': case '1': case '2': case '3': case '4':
+                    case '5': case '6': case '7': case '8': case '9':
+                        type = number();
+                        return;
+                    default:
+                        if (XMLUtilities.isXMLNameFirstCharacter((char) current)) {
+                            do {
+                                nextChar();
+                            } while (current != -1
+                                     && current != ':'
+                                     && XMLUtilities.isXMLNameCharacter((char) current));
+                            type = NAME;
+                            return;
+                        }
+                        nextChar();
+                        throw new ParseException("identifier.character",
+                                                 reader.getLine(),
+                                                 reader.getColumn());
+                }
+            } catch (IOException e) {
+                throw new ParseException(e);
+            }
+        }
+
+        /**
+         * Scans a single quoted string.
+         */
+        protected int string1() throws IOException {
+            start = position;
+            loop: for (;;) {
+                switch (nextChar()) {
+                case -1:
+                    throw new ParseException("eof",
+                                             reader.getLine(),
+                                             reader.getColumn());
+                case '\'':
+                    break loop;
+                }
+            }
+            nextChar();
+            return STRING;
+        }
+
+        /**
+         * Scans a double quoted string.
+         */
+        protected int string2() throws IOException {
+            start = position;
+            loop: for (;;) {
+                switch (nextChar()) {
+                case -1:
+                    throw new ParseException("eof",
+                                             reader.getLine(),
+                                             reader.getColumn());
+                case '"':
+                    break loop;
+                }
+            }
+            nextChar();
+            return STRING;
+        }
+
+        /**
+         * Scans a number.
+         */
+        protected int number() throws IOException {
+            loop: for (;;) {
+                switch (nextChar()) {
+                case '.':
+                    switch (nextChar()) {
+                    case '0': case '1': case '2': case '3': case '4':
+                    case '5': case '6': case '7': case '8': case '9':
+                        return dotNumber();
+                    }
+                    throw new ParseException("character",
+                                             reader.getLine(),
+                                             reader.getColumn());
+                default:
+                    break loop;
+                case '0': case '1': case '2': case '3': case '4':
+                case '5': case '6': case '7': case '8': case '9':
+                }
+            }
+            return NUMBER;
+        }        
+
+        /**
+         * Scans the decimal part of a number.
+         */
+        protected int dotNumber() throws IOException {
+            loop: for (;;) {
+                switch (nextChar()) {
+                default:
+                    break loop;
+                case '0': case '1': case '2': case '3': case '4':
+                case '5': case '6': case '7': case '8': case '9':
+                }
+            }
+            return NUMBER;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMComputedStyle.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMComputedStyle.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMComputedStyle.java
index d347086..522d6a3 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMComputedStyle.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMComputedStyle.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -32,7 +33,7 @@ import org.w3c.dom.css.CSSValue;
  * This class represents the computed style of an element.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMComputedStyle.java,v 1.6 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMComputedStyle.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class CSSOMComputedStyle implements CSSStyleDeclaration {
 
@@ -142,7 +143,7 @@ public class CSSOMComputedStyle implements CSSStyleDeclaration {
      * org.w3c.dom.css.CSSStyleDeclaration#setProperty(String,String,String)}.
      */
     public void setProperty(String propertyName, String value, String prio)
-	throws DOMException {
+        throws DOMException {
         throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGColor.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGColor.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGColor.java
index 6184f5d..23e1728 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGColor.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGColor.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,23 +31,23 @@ import org.w3c.dom.css.CSSValue;
 import org.w3c.dom.css.Counter;
 import org.w3c.dom.css.RGBColor;
 import org.w3c.dom.css.Rect;
-import org.w3c.flex.forks.dom.svg.SVGColor;
-import org.w3c.flex.forks.dom.svg.SVGICCColor;
-import org.w3c.flex.forks.dom.svg.SVGNumber;
-import org.w3c.flex.forks.dom.svg.SVGNumberList;
+import org.w3c.dom.svg.SVGColor;
+import org.w3c.dom.svg.SVGICCColor;
+import org.w3c.dom.svg.SVGNumber;
+import org.w3c.dom.svg.SVGNumberList;
 
 /**
  * This class implements the {@link SVGColor} interface.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMSVGColor.java,v 1.8 2005/03/29 02:26:36 cam Exp $
+ * @version $Id: CSSOMSVGColor.java 489226 2006-12-21 00:05:36Z cam $
  */
 public class CSSOMSVGColor
     implements SVGColor,
                RGBColor,
                SVGICCColor,
                SVGNumberList {
-    
+
     /**
      * The associated value.
      */
@@ -103,13 +104,13 @@ public class CSSOMSVGColor
      * org.w3c.dom.css.CSSValue#setCssText(String)}.
      */
     public void setCssText(String cssText) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             iccColors = null;
             handler.textChanged(cssText);
-	}
+        }
     }
 
     /**
@@ -122,13 +123,15 @@ public class CSSOMSVGColor
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#getColorType()}.
+     * org.w3c.dom.svg.SVGColor#getColorType()}.
      */
     public short getColorType() {
         Value value = valueProvider.getValue();
-        switch (value.getCssValueType()) {
+        int cssValueType = value.getCssValueType();
+        switch ( cssValueType ) {
         case CSSValue.CSS_PRIMITIVE_VALUE:
-            switch (value.getPrimitiveType()) {
+            int primitiveType = value.getPrimitiveType();
+            switch ( primitiveType ) {
             case CSSPrimitiveValue.CSS_IDENT: {
                 if (value.getStringValue().equalsIgnoreCase
                     (CSSConstants.CSS_CURRENTCOLOR_VALUE))
@@ -138,17 +141,19 @@ public class CSSOMSVGColor
             case CSSPrimitiveValue.CSS_RGBCOLOR:
                 return SVG_COLORTYPE_RGBCOLOR;
             }
-            break;
+            // there was no case for this primitiveType, prevent throwing the other exception
+            throw new IllegalStateException("Found unexpected PrimitiveType:" + primitiveType );
 
         case CSSValue.CSS_VALUE_LIST:
             return SVG_COLORTYPE_RGBCOLOR_ICCCOLOR;
         }
-        throw new InternalError();
+        // should not happen
+        throw new IllegalStateException("Found unexpected CssValueType:" + cssValueType );
     }
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#getRGBColor()}.
+     * org.w3c.dom.svg.SVGColor#getRGBColor()}.
      */
     public RGBColor getRGBColor() {
         return this;
@@ -164,20 +169,20 @@ public class CSSOMSVGColor
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#setRGBColor(String)}.
+     * org.w3c.dom.svg.SVGColor#setRGBColor(String)}.
      */
     public void setRGBColor(String color) {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             handler.rgbColorChanged(color);
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#getICCColor()}.
+     * org.w3c.dom.svg.SVGColor#getICCColor()}.
      */
     public SVGICCColor getICCColor() {
         return this;
@@ -193,30 +198,30 @@ public class CSSOMSVGColor
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#setRGBColorICCColor(String,String)}.
+     * org.w3c.dom.svg.SVGColor#setRGBColorICCColor(String,String)}.
      */
     public void setRGBColorICCColor(String rgb, String icc) {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             iccColors = null;
             handler.rgbColorICCColorChanged(rgb, icc);
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#setColor(short,String,String)}.
+     * org.w3c.dom.svg.SVGColor#setColor(short,String,String)}.
      */
     public void setColor(short type, String rgb, String icc) {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+    } else {
             iccColors = null;
             handler.colorChanged(type, rgb, icc);
-	}
+        }
     }
 
     // RGBColor ///////////////////////////////////////////////////
@@ -258,7 +263,7 @@ public class CSSOMSVGColor
     // SVGICCColor //////////////////////////////////////////////////
 
     /**
-     * <b>DOM</b>: Implements {@link org.w3c.flex.forks.dom.svg.SVGICCColor#getColorProfile()}.
+     * <b>DOM</b>: Implements {@link org.w3c.dom.svg.SVGICCColor#getColorProfile()}.
      */
     public String getColorProfile() {
         if (getColorType() != SVG_COLORTYPE_RGBCOLOR_ICCCOLOR) {
@@ -272,12 +277,12 @@ public class CSSOMSVGColor
      * <b>DOM</b>: Implements {@link SVGICCColor#setColorProfile(String)}.
      */
     public void setColorProfile(String colorProfile) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             handler.colorProfileChanged(colorProfile);
-	}
+        }
     }
 
     /**
@@ -304,30 +309,30 @@ public class CSSOMSVGColor
      * <b>DOM</b>: Implements {@link SVGNumberList#clear()}.
      */
     public void clear() throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             iccColors = null;
             handler.colorsCleared();
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link SVGNumberList#initialize(SVGNumber)}.
      */
     public SVGNumber initialize(SVGNumber newItem) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             float f = newItem.getValue();
             iccColors = new ArrayList();
             SVGNumber result = new ColorNumber(f);
             iccColors.add(result);
             handler.colorsInitialized(f);
             return result;
-	}
+        }
     }
 
     /**
@@ -360,10 +365,10 @@ public class CSSOMSVGColor
      */
     public SVGNumber insertItemBefore(SVGNumber newItem, int index)
         throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             int n = getNumberOfItems();
             if (index < 0 || index > n) {
                 throw new DOMException(DOMException.INDEX_SIZE_ERR, "");
@@ -379,7 +384,7 @@ public class CSSOMSVGColor
             iccColors.add(index, result);
             handler.colorInsertedBefore(f, index);
             return result;
-	}
+        }
     }
 
     /**
@@ -388,10 +393,10 @@ public class CSSOMSVGColor
      */
     public SVGNumber replaceItem(SVGNumber newItem, int index)
         throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             int n = getNumberOfItems();
             if (index < 0 || index >= n) {
                 throw new DOMException(DOMException.INDEX_SIZE_ERR, "");
@@ -407,17 +412,17 @@ public class CSSOMSVGColor
             iccColors.set(index, result);
             handler.colorReplaced(f, index);
             return result;
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link SVGNumberList#removeItem(int)}.
      */
     public SVGNumber removeItem(int index) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             int n = getNumberOfItems();
             if (index < 0 || index >= n) {
                 throw new DOMException(DOMException.INDEX_SIZE_ERR, "");
@@ -433,17 +438,17 @@ public class CSSOMSVGColor
             }
             handler.colorRemoved(index);
             return result;
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link SVGNumberList#appendItem(SVGNumber)}.
      */
     public SVGNumber appendItem (SVGNumber newItem) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             if (iccColors == null) {
                 int n = getNumberOfItems();
                 iccColors = new ArrayList(n);
@@ -456,7 +461,7 @@ public class CSSOMSVGColor
             iccColors.add(result);
             handler.colorAppend(f);
             return result;
-	}
+        }
     }
 
     /**
@@ -513,7 +518,7 @@ public class CSSOMSVGColor
     }
 
     /**
-     * To provides the actual value.
+     * To provide the actual value.
      */
     public interface ValueProvider {
 
@@ -565,7 +570,7 @@ public class CSSOMSVGColor
          */
         void blueFloatValueChanged(short unit, float value)
             throws DOMException;
-        
+
         /**
          * Called when the RGBColor text has changed.
          */
@@ -634,169 +639,196 @@ public class CSSOMSVGColor
          * Called when the red value text has changed.
          */
         public void redTextChanged(String text) throws DOMException {
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    text + ", " +
-                    getValue().getGreen().getCssText() + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                sb.append("rgb(");
+                sb.append(text); sb.append(',');
+                sb.append( value.getGreen().getCssText()); sb.append(',');
+                sb.append( value.getBlue().getCssText()); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    text + ", " +
-                    getValue().item(0).getGreen().getCssText() + ", " +
-                    getValue().item(0).getBlue().getCssText() + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(text); sb.append(',');
+                sb.append(value.item(0).getGreen().getCssText());
+                sb.append(',');
+                sb.append(value.item(0).getBlue().getCssText());
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
                 break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
 
         /**
          * Called when the red float value has changed.
          */
-        public void redFloatValueChanged(short unit, float value)
+        public void redFloatValueChanged(short unit, float fValue)
             throws DOMException {
-            String text;
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    FloatValue.getCssText(unit, value) + ", " +
-                    getValue().getGreen().getCssText() + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                sb.append("rgb(");
+                sb.append(FloatValue.getCssText(unit, fValue)); sb.append(',');
+                sb.append(value.getGreen().getCssText()); sb.append(',');
+                sb.append(value.getBlue().getCssText()); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    FloatValue.getCssText(unit, value) + ", " +
-                    getValue().item(0).getGreen().getCssText() + ", " +
-                    getValue().item(0).getBlue().getCssText() + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(FloatValue.getCssText(unit, fValue));
+                sb.append(',');
+                sb.append(value.item(0).getGreen().getCssText());
+                sb.append(',');
+                sb.append(value.item(0).getBlue().getCssText());
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
                 break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
 
         /**
          * Called when the green value text has changed.
          */
         public void greenTextChanged(String text) throws DOMException {
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    getValue().getRed().getCssText() + ", " +
-                    text + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                sb.append("rgb(");
+                sb.append(value.getRed().getCssText()); sb.append(',');
+                sb.append(text); sb.append(',');
+                sb.append(value.getBlue().getCssText()); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    getValue().item(0).getRed().getCssText() + ", " +
-                    text + ", " +
-                    getValue().item(0).getBlue().getCssText() + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(value.item(0).getRed().getCssText());
+                sb.append(',');
+                sb.append(text);
+                sb.append(',');
+                sb.append(value.item(0).getBlue().getCssText());
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
                 break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
 
         /**
          * Called when the green float value has changed.
          */
-        public void greenFloatValueChanged(short unit, float value)
+        public void greenFloatValueChanged(short unit, float fValue)
             throws DOMException {
-            String text;
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    getValue().getRed().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                sb.append("rgb(");
+                sb.append(value.getRed().getCssText()); sb.append(',');
+                sb.append(FloatValue.getCssText(unit, fValue)); sb.append(',');
+                sb.append(value.getBlue().getCssText()); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    getValue().item(0).getRed().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ", " +
-                    getValue().item(0).getBlue().getCssText() + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(value.item(0).getRed().getCssText());
+                sb.append(',');
+                sb.append(FloatValue.getCssText(unit, fValue));
+                sb.append(',');
+                sb.append(value.item(0).getBlue().getCssText());
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
                 break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
 
         /**
          * Called when the blue value text has changed.
          */
         public void blueTextChanged(String text) throws DOMException {
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    getValue().getRed().getCssText() + ", " +
-                    getValue().getGreen().getCssText() + ", " +
-                    text + ")";
+                sb.append("rgb(");
+                sb.append(value.getRed().getCssText()); sb.append(',');
+                sb.append(value.getGreen().getCssText()); sb.append(',');
+                sb.append(text); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    getValue().item(0).getRed().getCssText() + ", " +
-                    getValue().item(0).getGreen().getCssText() + ", " +
-                    text + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(value.item(0).getRed().getCssText());
+                sb.append(',');
+                sb.append(value.item(0).getGreen().getCssText());
+                sb.append(',');
+                sb.append(text);
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
+                break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
 
         /**
          * Called when the blue float value has changed.
          */
-        public void blueFloatValueChanged(short unit, float value)
+        public void blueFloatValueChanged(short unit, float fValue)
             throws DOMException {
-            String text;
+            StringBuffer sb = new StringBuffer(40);
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR:
-                text = "rgb(" +
-                    getValue().getRed().getCssText() + ", " +
-                    getValue().getGreen().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ")";
+                sb.append("rgb(");
+                sb.append(value.getRed().getCssText()); sb.append(',');
+                sb.append(value.getGreen().getCssText()); sb.append(',');
+                sb.append(FloatValue.getCssText(unit, fValue)); sb.append(')');
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                text = "rgb(" +
-                    getValue().item(0).getRed().getCssText() + ", " +
-                    getValue().item(0).getGreen().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ") " +
-                    getValue().item(1).getCssText();
+                sb.append("rgb(");
+                sb.append(value.item(0).getRed().getCssText());
+                sb.append(',');
+                sb.append(value.item(0).getGreen().getCssText());
+                sb.append(',');
+                sb.append(FloatValue.getCssText(unit, fValue));
+                sb.append(')');
+                sb.append(value.item(1).getCssText());
                 break;
 
             default:
                 throw new DOMException
                     (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
             }
-            textChanged(text);
+            textChanged(sb.toString());
         }
-        
+
         /**
          * Called when the RGBColor text has changed.
          */
@@ -823,7 +855,7 @@ public class CSSOMSVGColor
             throws DOMException {
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                textChanged(rgb + " " + icc);
+                textChanged(rgb + ' ' + icc);
                 break;
 
             default:
@@ -847,7 +879,7 @@ public class CSSOMSVGColor
                 break;
 
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
-                textChanged(rgb + " " + icc);
+                textChanged(rgb + ' ' + icc);
                 break;
 
             default:
@@ -859,18 +891,19 @@ public class CSSOMSVGColor
          * Called when the ICC color profile has changed.
          */
         public void colorProfileChanged(String cp) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
                 sb.append(cp);
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -884,14 +917,15 @@ public class CSSOMSVGColor
          * Called when the ICC colors has changed.
          */
         public void colorsCleared() throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -905,16 +939,17 @@ public class CSSOMSVGColor
          * Called when the ICC colors has been initialized.
          */
         public void colorsInitialized(float f) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(",");
+                sb.append(',');
                 sb.append(f);
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -928,24 +963,25 @@ public class CSSOMSVGColor
          * Called when the ICC color has been inserted.
          */
         public void colorInsertedBefore(float f, int idx) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append(',');
                 sb.append(f);
                 for (int i = idx; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -959,24 +995,25 @@ public class CSSOMSVGColor
          * Called when the ICC color has been replaced.
          */
         public void colorReplaced(float f, int idx) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append(',');
                 sb.append(f);
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -990,22 +1027,23 @@ public class CSSOMSVGColor
          * Called when the ICC color has been removed.
          */
         public void colorRemoved(int idx) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -1019,20 +1057,21 @@ public class CSSOMSVGColor
          * Called when the ICC color has been append.
          */
         public void colorAppend(float f) throws DOMException {
+            Value value = getValue();
             switch (getColorType()) {
             case SVG_COLORTYPE_RGBCOLOR_ICCCOLOR:
                 StringBuffer sb =
-                    new StringBuffer(getValue().item(0).getCssText());
+                    new StringBuffer( value.item(0).getCssText());
                 sb.append(" icc-color(");
-                ICCColor iccc = (ICCColor)getValue().item(1);
+                ICCColor iccc = (ICCColor)value.item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append(',');
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append(',');
                 sb.append(f);
-                sb.append(")");
+                sb.append(')');
                 textChanged(sb.toString());
                 break;
 
@@ -1092,7 +1131,7 @@ public class CSSOMSVGColor
         public String getStringValue() throws DOMException {
             return valueProvider.getValue().getStringValue();
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSPrimitiveValue#getCounterValue()}.
@@ -1100,7 +1139,7 @@ public class CSSOMSVGColor
         public Counter getCounterValue() throws DOMException {
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSPrimitiveValue#getRectValue()}.
@@ -1126,7 +1165,7 @@ public class CSSOMSVGColor
         public int getLength() {
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSValueList#item(int)}.
@@ -1155,7 +1194,7 @@ public class CSSOMSVGColor
      * To represents a red component.
      */
     protected class RedComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1199,7 +1238,7 @@ public class CSSOMSVGColor
      * To represents a green component.
      */
     protected class GreenComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1242,7 +1281,7 @@ public class CSSOMSVGColor
      * To represents a blue component.
      */
     protected class BlueComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGComputedStyle.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGComputedStyle.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGComputedStyle.java
index 219e139..d194d0a 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGComputedStyle.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGComputedStyle.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -29,7 +30,7 @@ import org.w3c.dom.css.CSSValue;
  * This class represents the computed style of an SVG element.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMSVGComputedStyle.java,v 1.6 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMSVGComputedStyle.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class CSSOMSVGComputedStyle extends CSSOMComputedStyle {
     


[04/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12ScriptingEnvironment.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12ScriptingEnvironment.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12ScriptingEnvironment.java
new file mode 100644
index 0000000..43cde23
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12ScriptingEnvironment.java
@@ -0,0 +1,334 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.DocumentLoader;
+import org.apache.flex.forks.batik.bridge.Messages;
+import org.apache.flex.forks.batik.bridge.ScriptingEnvironment;
+import org.apache.flex.forks.batik.bridge.SVGUtilities;
+import org.apache.flex.forks.batik.dom.AbstractDocument;
+import org.apache.flex.forks.batik.dom.AbstractElement;
+import org.apache.flex.forks.batik.dom.events.EventSupport;
+import org.apache.flex.forks.batik.dom.svg12.SVGGlobal;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.dom.util.DOMUtilities;
+import org.apache.flex.forks.batik.dom.util.TriplyIndexedTable;
+import org.apache.flex.forks.batik.script.Interpreter;
+import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.SVG12Constants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.events.EventListener;
+
+/**
+ * Manages scripting handlers for SVG 1.2 'handler' elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12ScriptingEnvironment.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class SVG12ScriptingEnvironment extends ScriptingEnvironment {
+
+    /**
+     * Constant used to describe handler scripts.
+     * {0} - URL of document containing script.
+     * {1} - Event type
+     * {2} - Event namespace
+     * {3} - line number of element.
+     */
+    public static final String HANDLER_SCRIPT_DESCRIPTION
+        = "SVG12ScriptingEnvironment.constant.handler.script.description";
+
+    /**
+     * Creates a new SVG12ScriptingEnvironment.
+     * @param ctx the bridge context
+     */
+    public SVG12ScriptingEnvironment(BridgeContext ctx) {
+        super(ctx);
+    }
+
+    /**
+     * The listeners for XML Events style handlers.
+     * Maps (event namespace, event local name, element) to a handler.
+     */
+    protected TriplyIndexedTable handlerScriptingListeners;
+
+    /**
+     * Adds DOM listeners to the document.
+     */
+    protected void addDocumentListeners() {
+        domNodeInsertedListener = new DOMNodeInsertedListener();
+        domNodeRemovedListener = new DOMNodeRemovedListener();
+        domAttrModifiedListener = new DOMAttrModifiedListener();
+        AbstractDocument doc = (AbstractDocument) document;
+        XBLEventSupport es = (XBLEventSupport) doc.initializeEventSupport();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedListener, false);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedListener, false);
+    }
+
+    /**
+     * Removes DOM listeners from the document.
+     */
+    protected void removeDocumentListeners() {
+        AbstractDocument doc = (AbstractDocument) document;
+        XBLEventSupport es = (XBLEventSupport) doc.initializeEventSupport();
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedListener, false);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedListener, false);
+    }
+
+    /**
+     * The listener class for 'DOMNodeInserted' event.
+     */
+    protected class DOMNodeInsertedListener
+            extends ScriptingEnvironment.DOMNodeInsertedListener {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * The listener class for 'DOMNodeRemoved' event.
+     */
+    protected class DOMNodeRemovedListener
+            extends ScriptingEnvironment.DOMNodeRemovedListener {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    protected class DOMAttrModifiedListener
+            extends ScriptingEnvironment.DOMAttrModifiedListener {
+        public void handleEvent (Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * Adds the scripting listeners to the given element.
+     */
+    protected void addScriptingListenersOn(Element elt) {
+        String eltNS = elt.getNamespaceURI();
+        String eltLN = elt.getLocalName();
+        if (SVGConstants.SVG_NAMESPACE_URI.equals(eltNS)
+                && SVG12Constants.SVG_HANDLER_TAG.equals(eltLN)) {
+            // For this 'handler' element, add a handler for the given
+            // event type.
+            AbstractElement tgt = (AbstractElement) elt.getParentNode();
+            String eventType = elt.getAttributeNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                 XMLConstants.XML_EVENTS_EVENT_ATTRIBUTE);
+            String eventNamespaceURI = XMLConstants.XML_EVENTS_NAMESPACE_URI;
+            if (eventType.indexOf(':') != -1) {
+                String prefix = DOMUtilities.getPrefix(eventType);
+                eventType = DOMUtilities.getLocalName(eventType);
+                eventNamespaceURI
+                    = ((AbstractElement) elt).lookupNamespaceURI(prefix);
+            }
+
+            EventListener listener = new HandlerScriptingEventListener
+                (eventNamespaceURI, eventType, (AbstractElement) elt);
+            tgt.addEventListenerNS
+                (eventNamespaceURI, eventType, listener, false, null);
+            if (handlerScriptingListeners == null) {
+                handlerScriptingListeners = new TriplyIndexedTable();
+            }
+            handlerScriptingListeners.put
+                (eventNamespaceURI, eventType, elt, listener);
+        }
+
+        super.addScriptingListenersOn(elt);
+    }
+
+    /**
+     * Removes the scripting listeners from the given element.
+     */
+    protected void removeScriptingListenersOn(Element elt) {
+        String eltNS = elt.getNamespaceURI();
+        String eltLN = elt.getLocalName();
+        if (SVGConstants.SVG_NAMESPACE_URI.equals(eltNS)
+                && SVG12Constants.SVG_HANDLER_TAG.equals(eltLN)) {
+            // For this 'handler' element, remove the handler for the given
+            // event type.
+            AbstractElement tgt = (AbstractElement) elt.getParentNode();
+            String eventType = elt.getAttributeNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                 XMLConstants.XML_EVENTS_EVENT_ATTRIBUTE);
+            String eventNamespaceURI = XMLConstants.XML_EVENTS_NAMESPACE_URI;
+            if (eventType.indexOf(':') != -1) {
+                String prefix = DOMUtilities.getPrefix(eventType);
+                eventType = DOMUtilities.getLocalName(eventType);
+                eventNamespaceURI
+                    = ((AbstractElement) elt).lookupNamespaceURI(prefix);
+            }
+
+            EventListener listener =
+                (EventListener) handlerScriptingListeners.put
+                    (eventNamespaceURI, eventType, elt, null);
+            tgt.removeEventListenerNS
+                (eventNamespaceURI, eventType, listener, false);
+        }
+
+        super.removeScriptingListenersOn(elt);
+    }
+
+    /**
+     * To handle a scripting event with an XML Events style handler.
+     */
+    protected class HandlerScriptingEventListener implements EventListener {
+
+        /**
+         * The namespace URI of the event type.
+         */
+        protected String eventNamespaceURI;
+
+        /**
+         * The event type.
+         */
+        protected String eventType;
+
+        /**
+         * The handler element.
+         */
+        protected AbstractElement handlerElement;
+
+        /**
+         * Creates a new HandlerScriptingEventListener.
+         * @param ns Namespace URI of the event type.
+         * @param et The event type.
+         * @param e The handler element.
+         */
+        public HandlerScriptingEventListener(String ns,
+                                             String et,
+                                             AbstractElement e) {
+            eventNamespaceURI = ns;
+            eventType = et;
+            handlerElement = e;
+        }
+
+        /**
+         * Runs the script.
+         */
+        public void handleEvent(Event evt) {
+            Element elt = (Element)evt.getCurrentTarget();
+            // Evaluate the script
+            String script = handlerElement.getTextContent();
+            if (script.length() == 0)
+                return;
+
+            DocumentLoader dl = bridgeContext.getDocumentLoader();
+            AbstractDocument d
+                = (AbstractDocument) handlerElement.getOwnerDocument();
+            int line = dl.getLineNumber(handlerElement);
+            final String desc = Messages.formatMessage
+                (HANDLER_SCRIPT_DESCRIPTION,
+                 new Object [] {d.getDocumentURI(),
+                                eventNamespaceURI,
+                                eventType,
+                                new Integer(line)});
+
+            // Find the scripting language
+            String lang = handlerElement.getAttributeNS
+                (null, SVGConstants.SVG_CONTENT_SCRIPT_TYPE_ATTRIBUTE);
+            if (lang.length() == 0) {
+                Element e = elt;
+                while (e != null &&
+                       (!SVGConstants.SVG_NAMESPACE_URI.equals
+                        (e.getNamespaceURI()) ||
+                        !SVGConstants.SVG_SVG_TAG.equals(e.getLocalName()))) {
+                    e = SVGUtilities.getParentElement(e);
+                }
+                if (e == null)
+                    return;
+
+                lang = e.getAttributeNS
+                    (null, SVGConstants.SVG_CONTENT_SCRIPT_TYPE_ATTRIBUTE);
+            }
+
+            runEventHandler(script, evt, lang, desc);
+        }
+    }
+
+    /**
+     * Creates a new Window object.
+     */
+    public org.apache.flex.forks.batik.script.Window createWindow(Interpreter interp,
+                                                       String lang) {
+        return new Global(interp, lang);
+    }
+
+    /**
+     * The SVGGlobal object.
+     */
+    protected class Global
+            extends ScriptingEnvironment.Window
+            implements SVGGlobal  {
+
+        /**
+         * Creates a new Global object.
+         */
+        public Global(Interpreter interp, String lang) {
+            super(interp, lang);
+        }
+
+        /**
+         * Implements
+         * {@link org.apache.flex.forks.batik.dom.svg12.SVGGlobal#startMouseCapture(EventTarget,boolean,boolean)}.
+         */
+        public void startMouseCapture(EventTarget target, boolean sendAll,
+                                      boolean autoRelease) {
+            // XXX not sure if it's right to do this on the
+            //     primary bridge context
+            ((SVG12BridgeContext) bridgeContext.getPrimaryBridgeContext())
+                .startMouseCapture(target, sendAll, autoRelease);
+        }
+
+        /**
+         * Stops mouse capture.
+         */
+        public void stopMouseCapture() {
+            // XXX not sure if it's right to do this on the
+            //     primary bridge context
+            ((SVG12BridgeContext) bridgeContext.getPrimaryBridgeContext())
+                .stopMouseCapture();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12TextElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12TextElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12TextElementBridge.java
new file mode 100644
index 0000000..8bb7fdb
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12TextElementBridge.java
@@ -0,0 +1,190 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.Bridge;
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.SVGTextElementBridge;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.dom.events.EventSupport;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.xbl.NodeXBL;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * Bridge class for SVG 'text' elements with support for text content
+ * that has been specified with XBL.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12TextElementBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class SVG12TextElementBridge
+        extends SVGTextElementBridge
+        implements SVG12BridgeUpdateHandler {
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVG12TextElementBridge();
+    }
+
+    /**
+     * Adds the DOM listeners for this text bridge.
+     */
+    protected void addTextEventListeners(BridgeContext ctx, NodeEventTarget e) {
+        if (childNodeRemovedEventListener == null) {
+            childNodeRemovedEventListener =
+                new DOMChildNodeRemovedEventListener();
+        }
+        if (subtreeModifiedEventListener == null) {
+            subtreeModifiedEventListener =
+                new DOMSubtreeModifiedEventListener();
+        }
+
+        SVG12BridgeContext ctx12 = (SVG12BridgeContext) ctx;
+        AbstractNode n = (AbstractNode) e;
+        XBLEventSupport evtSupport =
+            (XBLEventSupport) n.initializeEventSupport();
+
+        //to be notified when a child is removed from the 
+        //<text> element.
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true);
+        ctx12.storeImplementationEventListenerNS
+            (e, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true);
+        
+        //to be notified when the modification of the subtree
+        //of the <text> element is done
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false);
+        ctx12.storeImplementationEventListenerNS
+            (e, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false);
+    }
+
+    /**
+     * Removes the DOM listeners for this text bridge.
+     */
+    protected void removeTextEventListeners(BridgeContext ctx,
+                                            NodeEventTarget e) {
+        AbstractNode n = (AbstractNode) e;
+        XBLEventSupport evtSupport =
+            (XBLEventSupport) n.initializeEventSupport();
+
+        evtSupport.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true);
+        evtSupport.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false);
+    }
+
+    /**
+     * The DOM EventListener invoked when a node is removed.
+     */
+    protected class DOMChildNodeRemovedEventListener
+            extends SVGTextElementBridge.DOMChildNodeRemovedEventListener {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when the subtree is modified.
+     */
+    protected class DOMSubtreeModifiedEventListener
+            extends SVGTextElementBridge.DOMSubtreeModifiedEventListener {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    // Tree navigation ------------------------------------------------------
+
+    /**
+     * Returns the first child node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getFirstChild(Node n) {
+        return ((NodeXBL) n).getXblFirstChild();
+    }
+
+    /**
+     * Returns the next sibling node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getNextSibling(Node n) {
+        return ((NodeXBL) n).getXblNextSibling();
+    }
+
+    /**
+     * Returns the parent node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getParentNode(Node n) {
+        return ((NodeXBL) n).getXblParentNode();
+    }
+
+    // SVG12BridgeUpdateHandler //////////////////////////////////////////////
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+     * is fired.
+     */
+    public void handleDOMCharacterDataModified(MutationEvent evt) {
+        Node childNode = (Node)evt.getTarget();
+        //if the parent is displayed, then discard the layout.
+        if (isParentDisplayed(childNode)) {
+            if (getParentNode(childNode) != childNode.getParentNode()) {
+                // This text node was selected with an xbl:content element,
+                // so a DOMSubtreeModified event is not going to be captured.
+                // Better recompute the text layout now.
+                computeLaidoutText(ctx, e, node);
+            } else {
+                laidoutText = null;
+            }
+        }
+    }
+
+    /**
+     * Invoked when a bindable element's binding has changed.
+     */
+    public void handleBindingEvent(Element bindableElement,
+                                   Element shadowTree) {
+    }
+
+    /**
+     * Invoked when the xblChildNodes property has changed because a
+     * descendant xbl:content element has updated its selected nodes.
+     */
+    public void handleContentSelectionChangedEvent
+            (ContentSelectionChangedEvent csce) {
+        computeLaidoutText(ctx, e, node);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12URIResolver.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12URIResolver.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12URIResolver.java
new file mode 100644
index 0000000..788fafc
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12URIResolver.java
@@ -0,0 +1,86 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.DocumentLoader;
+import org.apache.flex.forks.batik.bridge.URIResolver;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.xbl.NodeXBL;
+import org.apache.flex.forks.batik.dom.xbl.XBLShadowTreeElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.svg.SVGDocument;
+
+/**
+ * A URIResolver for SVG 1.2 documents.  This is to allow resolution of
+ * fragment IDs within shadow trees to work properly.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12URIResolver.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class SVG12URIResolver extends URIResolver {
+
+    /**
+     * Creates a new SVG12URIResolver object.
+     */
+    public SVG12URIResolver(SVGDocument doc, DocumentLoader dl) {
+        super(doc, dl);
+    }
+
+    /**
+     * Returns the base URI of the referer element.
+     */
+    protected String getRefererBaseURI(Element ref) {
+        AbstractNode aref = (AbstractNode) ref;
+        if (aref.getXblBoundElement() != null) {
+            return null;
+        }
+        return aref.getBaseURI();
+    }
+
+    /**
+     * Returns the node referenced by the given fragment identifier.
+     * This is called when the whole URI just contains a fragment identifier
+     * and there is no XML Base URI in effect.
+     * @param frag the URI fragment
+     * @param ref  the context element from which to resolve the URI fragment
+     */
+    protected Node getNodeByFragment(String frag, Element ref) {
+        NodeXBL refx = (NodeXBL) ref;
+        NodeXBL boundElt = (NodeXBL) refx.getXblBoundElement();
+        if (boundElt != null) {
+            XBLShadowTreeElement shadow
+                = (XBLShadowTreeElement) boundElt.getXblShadowTree();
+            Node n = shadow.getElementById(frag);
+            if (n != null) {
+                return n;
+            }
+            NodeList nl = refx.getXblDefinitions();
+            for (int i = 0; i < nl.getLength(); i++) {
+                n = nl.item(i).getOwnerDocument().getElementById(frag);
+                if (n != null) {
+                    return n;
+                }
+            }
+        }
+        return super.getNodeByFragment(frag, ref);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGFlowRootElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGFlowRootElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGFlowRootElementBridge.java
index 20264d2..ba40bff 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGFlowRootElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGFlowRootElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,14 +19,16 @@
 
 package org.apache.flex.forks.batik.bridge.svg12;
 
+import java.awt.Color;
+import java.awt.RenderingHints;
 import java.awt.Shape;
 import java.awt.font.TextAttribute;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
 import java.text.AttributedCharacterIterator;
 import java.text.AttributedString;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.LinkedList;
@@ -33,21 +36,17 @@ import java.util.Map;
 
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.dom.events.EventTarget;
 
 import org.apache.flex.forks.batik.bridge.Bridge;
-import org.apache.flex.forks.batik.bridge.BridgeException;
 import org.apache.flex.forks.batik.bridge.BridgeContext;
 import org.apache.flex.forks.batik.bridge.CSSUtilities;
-import org.apache.flex.forks.batik.bridge.GraphicsNodeBridge;
+import org.apache.flex.forks.batik.bridge.CursorManager;
 import org.apache.flex.forks.batik.bridge.GVTBuilder;
 import org.apache.flex.forks.batik.bridge.SVGTextElementBridge;
 import org.apache.flex.forks.batik.bridge.SVGUtilities;
 import org.apache.flex.forks.batik.bridge.TextUtilities;
-import org.apache.flex.forks.batik.bridge.UnitProcessor;
 import org.apache.flex.forks.batik.bridge.UserAgent;
 import org.apache.flex.forks.batik.bridge.SVGAElementBridge;
-
 import org.apache.flex.forks.batik.css.engine.CSSEngine;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
 import org.apache.flex.forks.batik.css.engine.value.ComputedValue;
@@ -55,47 +54,91 @@ import org.apache.flex.forks.batik.css.engine.value.svg12.SVG12ValueConstants;
 import org.apache.flex.forks.batik.css.engine.value.svg12.LineHeightValue;
 import org.apache.flex.forks.batik.css.engine.value.Value;
 import org.apache.flex.forks.batik.css.engine.value.ValueConstants;
-
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg12.SVGOMFlowRegionElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
 import org.apache.flex.forks.batik.dom.util.XMLSupport;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
-
+import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.TextNode;
 import org.apache.flex.forks.batik.gvt.flow.BlockInfo;
 import org.apache.flex.forks.batik.gvt.flow.FlowTextNode;
 import org.apache.flex.forks.batik.gvt.flow.RegionInfo;
 import org.apache.flex.forks.batik.gvt.flow.TextLineBreaks;
-
 import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
 import org.apache.flex.forks.batik.gvt.text.TextPaintInfo;
 import org.apache.flex.forks.batik.gvt.text.TextPath;
-
 import org.apache.flex.forks.batik.util.SVG12Constants;
 import org.apache.flex.forks.batik.util.SVG12CSSConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
 
 /**
  * Bridge class for the &lt;flowRoot> element.
  *
  * @author <a href="mailto:deweese@apache.org">Thomas DeWeese</a>
- * @version $Id: SVGFlowRootElementBridge.java,v 1.4 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGFlowRootElementBridge.java 594018 2007-11-12 04:17:41Z cam $
  */
-public class SVGFlowRootElementBridge extends SVGTextElementBridge {
+public class SVGFlowRootElementBridge extends SVG12TextElementBridge {
+
+    public static final
+        AttributedCharacterIterator.Attribute FLOW_PARAGRAPH =
+        GVTAttributedCharacterIterator.TextAttribute.FLOW_PARAGRAPH;
 
-    public static final AttributedCharacterIterator.Attribute FLOW_PARAGRAPH
-        = GVTAttributedCharacterIterator.TextAttribute.FLOW_PARAGRAPH;
+    public static final
+        AttributedCharacterIterator.Attribute FLOW_EMPTY_PARAGRAPH =
+        GVTAttributedCharacterIterator.TextAttribute.FLOW_EMPTY_PARAGRAPH;
 
-    public static final AttributedCharacterIterator.Attribute 
-        FLOW_EMPTY_PARAGRAPH
-        = GVTAttributedCharacterIterator.TextAttribute.FLOW_EMPTY_PARAGRAPH;
+    public static final
+        AttributedCharacterIterator.Attribute FLOW_LINE_BREAK =
+        GVTAttributedCharacterIterator.TextAttribute.FLOW_LINE_BREAK;
 
-    public static final AttributedCharacterIterator.Attribute FLOW_LINE_BREAK
-        = GVTAttributedCharacterIterator.TextAttribute.FLOW_LINE_BREAK;
-    
-    public static final AttributedCharacterIterator.Attribute FLOW_REGIONS
-        = GVTAttributedCharacterIterator.TextAttribute.FLOW_REGIONS;
+    public static final
+        AttributedCharacterIterator.Attribute FLOW_REGIONS =
+        GVTAttributedCharacterIterator.TextAttribute.FLOW_REGIONS;
 
-    public static final AttributedCharacterIterator.Attribute LINE_HEIGHT
-        = GVTAttributedCharacterIterator.TextAttribute.LINE_HEIGHT;
+    public static final
+        AttributedCharacterIterator.Attribute LINE_HEIGHT =
+        GVTAttributedCharacterIterator.TextAttribute.LINE_HEIGHT;
+
+    public static final
+    GVTAttributedCharacterIterator.TextAttribute TEXTPATH =
+        GVTAttributedCharacterIterator.TextAttribute.TEXTPATH;
+
+    public static final
+    GVTAttributedCharacterIterator.TextAttribute ANCHOR_TYPE =
+        GVTAttributedCharacterIterator.TextAttribute.ANCHOR_TYPE;
+
+    public static final
+    GVTAttributedCharacterIterator.TextAttribute LETTER_SPACING =
+        GVTAttributedCharacterIterator.TextAttribute.LETTER_SPACING;
+
+    public static final
+    GVTAttributedCharacterIterator.TextAttribute WORD_SPACING =
+        GVTAttributedCharacterIterator.TextAttribute.WORD_SPACING;
+
+    public static final
+    GVTAttributedCharacterIterator.TextAttribute KERNING =
+        GVTAttributedCharacterIterator.TextAttribute.KERNING;
+
+    /**
+     * Map of flowRegion elements to their graphics nodes.
+     */
+    protected Map flowRegionNodes;
+
+    protected TextNode textNode;
+
+    protected TextNode getTextNode() { return textNode; }
+
+    /**
+     * Listener for flowRegion changes.
+     */
+    protected RegionChangeListener regionChangeListener;
 
     /**
      * Constructs a new bridge for the &lt;flowRoot> element.
@@ -130,6 +173,71 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
         return false;
     }
 
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @return a graphics node that represents the specified element
+     */
+    public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
+        // 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
+        if (!SVGUtilities.matchUserAgent(e, ctx.getUserAgent())) {
+            return null;
+        }
+
+        CompositeGraphicsNode cgn = new CompositeGraphicsNode();
+
+        // 'transform'
+        String s = e.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
+        if (s.length() != 0) {
+            cgn.setTransform
+                (SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s,
+                                               ctx));
+        }
+        // 'visibility'
+        cgn.setVisible(CSSUtilities.convertVisibility(e));
+
+        // 'text-rendering' and 'color-rendering'
+        RenderingHints hints = null;
+        hints = CSSUtilities.convertColorRendering(e, hints);
+        hints = CSSUtilities.convertTextRendering (e, hints);
+        if (hints != null) {
+            cgn.setRenderingHints(hints);
+        }
+
+        // first child holds the flow region nodes
+        CompositeGraphicsNode cgn2 = new CompositeGraphicsNode();
+        cgn.add(cgn2);
+
+        // second child is the text node
+        FlowTextNode tn = (FlowTextNode)instantiateGraphicsNode();
+        tn.setLocation(getLocation(ctx, e));
+
+        // specify the text painter to use
+        if (ctx.getTextPainter() != null) {
+            tn.setTextPainter(ctx.getTextPainter());
+        }
+        textNode = tn;
+        cgn.add(tn);
+
+        associateSVGContext(ctx, e, cgn);
+
+        // traverse the children to add SVGContext
+        Node child = getFirstChild(e);
+        while (child != null) {
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                addContextToChild(ctx,(Element)child);
+            }
+            child = getNextSibling(child);
+        }
+
+        return cgn;
+    }
+
+    /**
+     * Creates the graphics node for this element.
+     */
     protected GraphicsNode instantiateGraphicsNode() {
         return new FlowTextNode();
     }
@@ -167,14 +275,137 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
                 nodeName.equals(SVG12Constants.SVG_FLOW_REGION_BREAK_TAG) ||
                 nodeName.equals(SVG12Constants.SVG_FLOW_SPAN_TAG));
     }
-    
-    protected void computeLaidoutText(BridgeContext ctx, 
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    public void buildGraphicsNode(BridgeContext ctx,
+                                  Element e,
+                                  GraphicsNode node) {
+        CompositeGraphicsNode cgn = (CompositeGraphicsNode) node;
+
+        // build flowRegion shapes
+        boolean isStatic = !ctx.isDynamic();
+        if (isStatic) {
+            flowRegionNodes = new HashMap();
+        } else {
+            regionChangeListener = new RegionChangeListener();
+        }
+        CompositeGraphicsNode cgn2 = (CompositeGraphicsNode) cgn.get(0);
+        GVTBuilder builder = ctx.getGVTBuilder();
+        for (Node n = getFirstChild(e); n != null; n = getNextSibling(n)) {
+            if (n instanceof SVGOMFlowRegionElement) {
+                for (Node m = getFirstChild(n);
+                        m != null;
+                        m = getNextSibling(m)) {
+                    if (m.getNodeType() != Node.ELEMENT_NODE) {
+                        continue;
+                    }
+                    GraphicsNode gn = builder.build(ctx, (Element) m);
+                    if (gn != null) {
+                        cgn2.add(gn);
+                        if (isStatic) {
+                            flowRegionNodes.put(m, gn);
+                        }
+                    }
+                }
+
+                if (!isStatic) {
+                    AbstractNode an = (AbstractNode) n;
+                    XBLEventSupport es =
+                        (XBLEventSupport) an.initializeEventSupport();
+                    es.addImplementationEventListenerNS
+                        (SVG_NAMESPACE_URI, "shapechange", regionChangeListener,
+                         false);
+                }
+            }
+        }
+
+        // build text node
+        GraphicsNode tn = (GraphicsNode) cgn.get(1);
+        super.buildGraphicsNode(ctx, e, tn);
+
+        // Drop references once static build is completed.
+        flowRegionNodes = null;
+    }
+
+    protected void computeLaidoutText(BridgeContext ctx,
                                        Element e,
                                        GraphicsNode node) {
         super.computeLaidoutText(ctx, getFlowDivElement(e), node);
     }
 
     /**
+     * Add to the element children of the node, a
+     * <code>SVGContext</code> to support dynamic update. This is
+     * recursive, the children of the nodes are also traversed to add
+     * to the support elements their context
+     *
+     * @param ctx a <code>BridgeContext</code> value
+     * @param e an <code>Element</code> value
+     *
+     * @see org.apache.flex.forks.batik.dom.svg.SVGContext
+     * @see org.apache.flex.forks.batik.bridge.BridgeUpdateHandler
+     */
+    protected void addContextToChild(BridgeContext ctx, Element e) {
+        if (SVG_NAMESPACE_URI.equals(e.getNamespaceURI())) {
+            String ln = e.getLocalName();
+            if (ln.equals(SVG12Constants.SVG_FLOW_DIV_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_LINE_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_PARA_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_SPAN_TAG)) {
+                ((SVGOMElement) e).setSVGContext
+                    (new FlowContentBridge(ctx, this, e));
+            }
+        }
+
+        // traverse the children to add SVGContext
+        Node child = getFirstChild(e);
+        while (child != null) {
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                addContextToChild(ctx,(Element)child);
+            }
+            child = getNextSibling(child);
+        }
+    }
+
+    /**
+     * From the <code>SVGContext</code> from the element children of the node.
+     *
+     * @param ctx the <code>BridgeContext</code> for the document
+     * @param e the <code>Element</code> whose subtree's elements will have
+     *   threir <code>SVGContext</code>s removed
+     *
+     * @see org.apache.flex.forks.batik.dom.svg.SVGContext
+     * @see org.apache.flex.forks.batik.bridge.BridgeUpdateHandler
+     */
+    protected void removeContextFromChild(BridgeContext ctx, Element e) {
+        if (SVG_NAMESPACE_URI.equals(e.getNamespaceURI())) {
+            String ln = e.getLocalName();
+            if (ln.equals(SVG12Constants.SVG_FLOW_DIV_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_LINE_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_PARA_TAG)
+                    || ln.equals(SVG12Constants.SVG_FLOW_SPAN_TAG)) {
+                ((AbstractTextChildBridgeUpdateHandler)
+                    ((SVGOMElement) e).getSVGContext()).dispose();
+            }
+        }
+
+        Node child = getFirstChild(e);
+        while (child != null) {
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                removeContextFromChild(ctx, (Element)child);
+            }
+            child = getNextSibling(child);
+        }
+    }
+
+    /**
      * Creates the attributed string which represents the given text
      * element children.
      *
@@ -183,8 +414,11 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
      */
     protected AttributedString buildAttributedString(BridgeContext ctx,
                                                      Element element) {
+        if (element == null) return null;
+
         List rgns = getRegions(ctx, element);
         AttributedString ret = getFlowDiv(ctx, element);
+        if (ret == null) return ret;
         ret.addAttribute(FLOW_REGIONS, rgns, 0, 1);
         TextLineBreaks.findLineBrk(ret);
         // dumpACIWord(ret);
@@ -192,24 +426,28 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
     }
 
     protected void dumpACIWord(AttributedString as) {
-        String chars = "";
-        String brkStr = "";
+        if (as == null) return;
+
+        StringBuffer chars = new StringBuffer();
+        StringBuffer brkStr = new StringBuffer();
         AttributedCharacterIterator aci = as.getIterator();
         AttributedCharacterIterator.Attribute WORD_LIMIT =
             TextLineBreaks.WORD_LIMIT;
 
-        for (char ch = aci.current(); 
+        for (char ch = aci.current();
              ch!=AttributedCharacterIterator.DONE;
              ch = aci.next()) {
-            chars  += ch + "  ";
-            int w = ((Integer)aci.getAttribute(WORD_LIMIT)).intValue();
-            if (w >=10)
-                brkStr += ""+w+" ";
-            else 
-                brkStr += ""+w+"  ";
-        }
-        System.out.println(chars);
-        System.out.println(brkStr);
+
+                chars.append( ch ).append( ' ' ).append( ' ' );
+                int w = ((Integer)aci.getAttribute(WORD_LIMIT)).intValue();
+                brkStr.append( w ).append( ' ' );
+                if (w < 10) {
+                    // for small values append another ' '
+                    brkStr.append( ' ' );
+                }
+        }
+        System.out.println( chars.toString() );
+        System.out.println( brkStr.toString() );
     }
 
     protected Element getFlowDivElement(Element elem) {
@@ -220,9 +458,9 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
         if (nodeName.equals(SVG12Constants.SVG_FLOW_DIV_TAG)) return elem;
 
         if (!nodeName.equals(SVG12Constants.SVG_FLOW_ROOT_TAG)) return null;
-        
-        for (Node n = elem.getFirstChild();
-             n != null; n = n.getNextSibling()) {
+
+        for (Node n = getFirstChild(elem);
+             n != null; n = getNextSibling(n)) {
             if (n.getNodeType()     != Node.ELEMENT_NODE) continue;
 
             String nNS = n.getNamespaceURI();
@@ -230,7 +468,7 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
 
             Element e = (Element)n;
             String ln = e.getLocalName();
-            if (ln.equals(SVG12Constants.SVG_FLOW_DIV_TAG)) 
+            if (ln.equals(SVG12Constants.SVG_FLOW_DIV_TAG))
                 return e;
         }
         return null;
@@ -245,33 +483,49 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
 
     protected AttributedString gatherFlowPara
         (BridgeContext ctx, Element div) {
+        TextPaintInfo divTPI = new TextPaintInfo();
+        // Set some basic props so we can get bounds info for complex paints.
+        divTPI.visible   = true;
+        divTPI.fillPaint = Color.black;
+        elemTPI.put(div, divTPI);
+
         AttributedStringBuffer asb = new AttributedStringBuffer();
         List paraEnds  = new ArrayList();
         List paraElems = new ArrayList();
         List lnLocs    = new ArrayList();
-        for (Node n = div.getFirstChild();
-             n != null; n = n.getNextSibling()) {
-            if (n.getNodeType()     != Node.ELEMENT_NODE) continue;
-            if (!getNamespaceURI().equals(n.getNamespaceURI())) continue;
+        for (Node n = getFirstChild(div);
+             n != null;
+             n = getNextSibling(n)) {
+
+            if (n.getNodeType() != Node.ELEMENT_NODE
+                    || !getNamespaceURI().equals(n.getNamespaceURI())) {
+                continue;
+            }
             Element e = (Element)n;
 
             String ln = e.getLocalName();
             if (ln.equals(SVG12Constants.SVG_FLOW_PARA_TAG)) {
-                fillAttributedStringBuffer(ctx, e, true, null, asb, lnLocs);
+                fillAttributedStringBuffer
+                    (ctx, e, true, null, null, asb, lnLocs);
 
                 paraElems.add(e);
                 paraEnds.add(new Integer(asb.length()));
             } else if (ln.equals(SVG12Constants.SVG_FLOW_REGION_BREAK_TAG)) {
-                fillAttributedStringBuffer(ctx, e, true, null, asb, lnLocs);
+                fillAttributedStringBuffer
+                    (ctx, e, true, null, null, asb, lnLocs);
 
                 paraElems.add(e);
                 paraEnds.add(new Integer(asb.length()));
             }
         }
+        divTPI.startChar = 0;
+        divTPI.endChar   = asb.length()-1;
 
         // Layer in the PARAGRAPH/LINE_BREAK Attributes so we can
         // break up text chunks.
         AttributedString ret = asb.toAttributedString();
+        if (ret == null)
+            return null;
 
         // Note: The Working Group (in conjunction with XHTML working
         // group) has decided that multiple line elements collapse.
@@ -282,7 +536,7 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
             if (nextLN == prevLN) continue;
 
             // System.out.println("Attr: [" + prevLN + "," + nextLN + "]");
-            ret.addAttribute(FLOW_LINE_BREAK, 
+            ret.addAttribute(FLOW_LINE_BREAK,
                              new Object(),
                              prevLN, nextLN);
             prevLN  = nextLN;
@@ -301,7 +555,7 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
                 continue;
             }
             // System.out.println("Para: [" + start + ", " + end + "]");
-            ret.addAttribute(FLOW_PARAGRAPH, makeBlockInfo(ctx, elem), 
+            ret.addAttribute(FLOW_PARAGRAPH, makeBlockInfo(ctx, elem),
                              start, end);
             if (emptyPara != null) {
                 ret.addAttribute(FLOW_EMPTY_PARAGRAPH, emptyPara, start, end);
@@ -312,15 +566,18 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
         return ret;
     }
 
+    /**
+     * Returns a list of Shapes that define the flow regions.
+     */
     protected List getRegions(BridgeContext ctx, Element element)  {
         // Element comes in as flowDiv element we want flowRoot.
         element = (Element)element.getParentNode();
         List ret = new LinkedList();
-        for (Node n = element.getFirstChild();
-             n != null; n = n.getNextSibling()) {
-            
+        for (Node n = getFirstChild(element);
+             n != null; n = getNextSibling(n)) {
+
             if (n.getNodeType()     != Node.ELEMENT_NODE) continue;
-            if (!SVG12Constants.SVG_NAMESPACE_URI.equals(n.getNamespaceURI())) 
+            if (!SVG12Constants.SVG_NAMESPACE_URI.equals(n.getNamespaceURI()))
                 continue;
 
             Element e = (Element)n;
@@ -329,32 +586,34 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
 
             // our default alignment is to the top of the flow rect.
             float verticalAlignment = 0.0f;
-            
+
             gatherRegionInfo(ctx, e, verticalAlignment, ret);
         }
 
         return ret;
     }
-    
+
     protected void gatherRegionInfo(BridgeContext ctx, Element rgn,
                                     float verticalAlign, List regions) {
 
-        GVTBuilder builder = ctx.getGVTBuilder();
-        for (Node n = rgn.getFirstChild(); 
-             n != null; n = n.getNextSibling()) {
+        boolean isStatic = !ctx.isDynamic();
+        for (Node n = getFirstChild(rgn); n != null; n = getNextSibling(n)) {
 
-            if (n.getNodeType()     != Node.ELEMENT_NODE) continue;
-            if (!getNamespaceURI().equals(n.getNamespaceURI())) continue;
-            Element e = (Element)n;
-
-            GraphicsNode gn = builder.build(ctx, e) ;
-            if (gn == null) continue;
+            if (n.getNodeType() != Node.ELEMENT_NODE) {
+                continue;
+            }
 
+            GraphicsNode gn = isStatic ? (GraphicsNode) flowRegionNodes.get(n)
+                                       : ctx.getGraphicsNode(n);
             Shape s = gn.getOutline();
-            if (s == null) continue;
+            if (s == null) {
+                continue;
+            }
+
             AffineTransform at = gn.getTransform();
-            if (at != null) 
+            if (at != null) {
                 s = at.createTransformedShape(s);
+            }
             regions.add(new RegionInfo(s, verticalAlign));
         }
     }
@@ -368,6 +627,7 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
                                               Element element,
                                               boolean top,
                                               Integer bidiLevel,
+                                              Map initialAttributes,
                                               AttributedStringBuffer asb,
                                               List lnLocs) {
         // 'requiredFeatures', 'requiredExtensions', 'systemLanguage' &
@@ -381,40 +641,49 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
         boolean preserve = s.equals(SVG_PRESERVE_VALUE);
         boolean prevEndsWithSpace;
         Element nodeElement = element;
+        int elementStartChar = asb.length();
 
-        if (top)
+        if (top) {
             endLimit = startLen = asb.length();
-
-        if (preserve)
+        }
+        if (preserve) {
             endLimit = startLen;
-        
-	Map map = getAttributeMap(ctx, element, null, bidiLevel);
-	Object o = map.get(TextAttribute.BIDI_EMBEDDING);
+        }
+
+        Map map = initialAttributes == null
+                ? new HashMap()
+                : new HashMap(initialAttributes);
+        initialAttributes =
+            getAttributeMap(ctx, element, null, bidiLevel, map);
+        Object o = map.get(TextAttribute.BIDI_EMBEDDING);
         Integer subBidiLevel = bidiLevel;
-	if (o != null)
-	    subBidiLevel = (Integer)o;
+        if (o != null) {
+            subBidiLevel = (Integer) o;
+        }
 
         int lineBreak = -1;
-        if (lnLocs.size() != 0)
+        if (lnLocs.size() != 0) {
             lineBreak = ((Integer)lnLocs.get(lnLocs.size()-1)).intValue();
+        }
 
-        for (Node n = element.getFirstChild();
+        for (Node n = getFirstChild(element);
              n != null;
-             n = n.getNextSibling()) {
-            
+             n = getNextSibling(n)) {
+
             if (preserve) {
                 prevEndsWithSpace = false;
             } else {
                 int len = asb.length();
-                if (len == startLen) 
+                if (len == startLen) {
                     prevEndsWithSpace = true;
-                else {
+                } else {
                     prevEndsWithSpace = (asb.getLastChar() == ' ');
                     int idx = lnLocs.size()-1;
                     if (!prevEndsWithSpace && (idx >= 0)) {
                         Integer i = (Integer)lnLocs.get(idx);
-                        if (i.intValue() == len)
+                        if (i.intValue() == len) {
                             prevEndsWithSpace = true;
+                        }
                     }
                 }
             }
@@ -424,71 +693,99 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
                 // System.out.println("Element: " + n);
                 if (!SVG_NAMESPACE_URI.equals(n.getNamespaceURI()))
                     break;
-                
+
                 nodeElement = (Element)n;
 
                 String ln = n.getLocalName();
 
                 if (ln.equals(SVG12Constants.SVG_FLOW_LINE_TAG)) {
-                    fillAttributedStringBuffer(ctx, nodeElement, 
-                                               false, subBidiLevel, 
-					       asb, lnLocs);
-                    // System.out.println("Line: " + asb.length() + 
+                    int before = asb.length();
+                    fillAttributedStringBuffer(ctx, nodeElement, false,
+                                               subBidiLevel, initialAttributes,
+                                               asb, lnLocs);
+                    // System.out.println("Line: " + asb.length() +
                     //                    " - '" +  asb + "'");
                     lineBreak = asb.length();
                     lnLocs.add(new Integer(lineBreak));
+                    if (before != lineBreak) {
+                        initialAttributes = null;
+                    }
                 } else if (ln.equals(SVG12Constants.SVG_FLOW_SPAN_TAG) ||
                            ln.equals(SVG12Constants.SVG_ALT_GLYPH_TAG)) {
-                    fillAttributedStringBuffer(ctx, nodeElement,
-                                               false, subBidiLevel, 
-					       asb, lnLocs);
+                    int before = asb.length();
+                    fillAttributedStringBuffer(ctx, nodeElement, false,
+                                               subBidiLevel, initialAttributes,
+                                               asb, lnLocs);
+                    if (asb.length() != before) {
+                        initialAttributes = null;
+                    }
                 } else if (ln.equals(SVG_A_TAG)) {
                     if (ctx.isInteractive()) {
-                        EventTarget target = (EventTarget)nodeElement;
+                        NodeEventTarget target = (NodeEventTarget)nodeElement;
                         UserAgent ua = ctx.getUserAgent();
-                        target.addEventListener
-                            (SVG_EVENT_CLICK, 
-                             new SVGAElementBridge.AnchorListener(ua),
-                             false);
-                    
-                        target.addEventListener
-                            (SVG_EVENT_MOUSEOVER,
-                             new SVGAElementBridge.CursorMouseOverListener(ua),
-                             false);
-                    
-                        target.addEventListener
-                            (SVG_EVENT_MOUSEOUT,
-                             new SVGAElementBridge.CursorMouseOutListener(ua),
-                             false);
+                        SVGAElementBridge.CursorHolder ch;
+                        ch = new SVGAElementBridge.CursorHolder
+                            (CursorManager.DEFAULT_CURSOR);
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                             SVG_EVENT_CLICK,
+                             new SVGAElementBridge.AnchorListener(ua, ch),
+                             false, null);
+
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                             SVG_EVENT_MOUSEOVER,
+                             new SVGAElementBridge.CursorMouseOverListener(ua,ch),
+                             false, null);
+
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                             SVG_EVENT_MOUSEOUT,
+                             new SVGAElementBridge.CursorMouseOutListener(ua,ch),
+                             false, null);
                     }
-                    fillAttributedStringBuffer(ctx,
-                                               nodeElement,
-                                               false, subBidiLevel,
+                    int before = asb.length();
+                    fillAttributedStringBuffer(ctx, nodeElement, false,
+                                               subBidiLevel, initialAttributes,
                                                asb, lnLocs);
+                    if (asb.length() != before) {
+                        initialAttributes = null;
+                    }
                 } else if (ln.equals(SVG_TREF_TAG)) {
                     String uriStr = XLinkSupport.getXLinkHref((Element)n);
                     Element ref = ctx.getReferencedElement((Element)n, uriStr);
                     s = TextUtilities.getElementContent(ref);
                     s = normalizeString(s, preserve, prevEndsWithSpace);
-                    if (s != null) {
-                        Map m = getAttributeMap(ctx, nodeElement, null, 
-						bidiLevel);
+                    if (s.length() != 0) {
+                        int trefStart = asb.length();
+                        Map m = new HashMap();
+                        getAttributeMap(ctx, nodeElement, null, bidiLevel, m);
                         asb.append(s, m);
+                        int trefEnd = asb.length() - 1;
+                        TextPaintInfo tpi;
+                        tpi = (TextPaintInfo)elemTPI.get(nodeElement);
+                        tpi.startChar = trefStart;
+                        tpi.endChar   = trefEnd;
                     }
                 }
                 break;
-                
+
             case Node.TEXT_NODE:
             case Node.CDATA_SECTION_NODE:
                 s = n.getNodeValue();
                 s = normalizeString(s, preserve, prevEndsWithSpace);
-                asb.append(s, map);
-                if (preserve)
-                    endLimit = asb.length();
+                if (s.length() != 0) {
+                    asb.append(s, map);
+                    if (preserve) {
+                        endLimit = asb.length();
+                    }
+                    initialAttributes = null;
+                }
             }
         }
 
         if (top) {
+            boolean strippedSome = false;
             while ((endLimit < asb.length()) && (asb.getLastChar() == ' ')) {
                 int idx = lnLocs.size()-1;
                 int len = asb.length();
@@ -508,45 +805,41 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
                     }
                 }
                 asb.stripLast();
+                strippedSome = true;
+            }
+            if (strippedSome) {
+                Iterator iter = elemTPI.values().iterator();
+                while (iter.hasNext()) {
+                    TextPaintInfo tpi = (TextPaintInfo)iter.next();
+                    if (tpi.endChar >= asb.length()) {
+                        tpi.endChar = asb.length()-1;
+                        if (tpi.startChar > tpi.endChar)
+                            tpi.startChar = tpi.endChar;
+                    }
+                }
             }
         }
+
+        int elementEndChar = asb.length()-1;
+        TextPaintInfo tpi = (TextPaintInfo)elemTPI.get(element);
+        tpi.startChar = elementStartChar;
+        tpi.endChar   = elementEndChar;
     }
 
-    /**
-     * Returns the map to pass to the current characters.
-     */
     protected Map getAttributeMap(BridgeContext ctx,
                                   Element element,
                                   TextPath textPath,
-                                  Integer bidiLevel) {
-        Map result = super.getAttributeMap(ctx, element, textPath, bidiLevel);
+                                  Integer bidiLevel,
+                                  Map result) {
+        Map inheritingMap =
+            super.getAttributeMap(ctx, element, textPath, bidiLevel, result);
 
         float fontSize   = TextUtilities.convertFontSize(element).floatValue();
         float lineHeight = getLineHeight(ctx, element, fontSize);
         result.put(LINE_HEIGHT, new Float(lineHeight));
-        
-        return result;
-    }
 
-    protected final static 
-        GVTAttributedCharacterIterator.TextAttribute TEXTPATH = 
-        GVTAttributedCharacterIterator.TextAttribute.TEXTPATH;
-
-    protected final static 
-        GVTAttributedCharacterIterator.TextAttribute ANCHOR_TYPE = 
-        GVTAttributedCharacterIterator.TextAttribute.ANCHOR_TYPE;
-
-    protected final static 
-        GVTAttributedCharacterIterator.TextAttribute LETTER_SPACING = 
-        GVTAttributedCharacterIterator.TextAttribute.LETTER_SPACING;
-
-    protected final static 
-        GVTAttributedCharacterIterator.TextAttribute WORD_SPACING = 
-        GVTAttributedCharacterIterator.TextAttribute.WORD_SPACING;
-
-    protected final static 
-        GVTAttributedCharacterIterator.TextAttribute KERNING = 
-        GVTAttributedCharacterIterator.TextAttribute.KERNING;
+        return inheritingMap;
+    }
 
     protected void checkMap(Map attrs) {
         if (attrs.containsKey(TEXTPATH)) {
@@ -610,9 +903,9 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
 
         v = CSSUtilities.getComputedStyle(element, textAlignIndex);
         if (v == ValueConstants.INHERIT_VALUE) {
-            v = CSSUtilities.getComputedStyle(element, 
+            v = CSSUtilities.getComputedStyle(element,
                                               SVGCSSEngine.DIRECTION_INDEX);
-            if (v == ValueConstants.LTR_VALUE) 
+            if (v == ValueConstants.LTR_VALUE)
                 v = SVG12ValueConstants.START_VALUE;
             else
                 v = SVG12ValueConstants.END_VALUE;
@@ -627,21 +920,20 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
         else
             textAlign = BlockInfo.ALIGN_FULL;
 
-        Map   fontAttrs      = getFontProperties(ctx, element, null);
+        Map   fontAttrs      = new HashMap(20);
+        List  fontList       = getFontList(ctx, element, fontAttrs);
         Float fs             = (Float)fontAttrs.get(TextAttribute.SIZE);
         float fontSize       = fs.floatValue();
         float lineHeight     = getLineHeight(ctx, element, fontSize);
-        List  fontFamilyList = getFontFamilyList(element, ctx);
 
         String ln = element.getLocalName();
         boolean rgnBr;
         rgnBr = ln.equals(SVG12Constants.SVG_FLOW_REGION_BREAK_TAG);
-        return new BlockInfo(top, right, bottom, left, indent, textAlign, 
-                             lineHeight, fontFamilyList, fontAttrs,
-                             rgnBr);
+        return new BlockInfo(top, right, bottom, left, indent, textAlign,
+                             lineHeight, fontList, fontAttrs, rgnBr);
     }
 
-    protected float getLineHeight(BridgeContext ctx, Element element, 
+    protected float getLineHeight(BridgeContext ctx, Element element,
                                   float fontSize) {
         if (lineHeightIndex == -1) initCSSPropertyIndexes(element);
 
@@ -659,4 +951,34 @@ public class SVGFlowRootElementBridge extends SVGTextElementBridge {
             lineHeight *= fontSize;
         return lineHeight;
     }
+
+    /**
+     * Bridge class for flow text children that contain text.
+     */
+    protected class FlowContentBridge extends AbstractTextChildTextContent {
+
+        /**
+         * Creates a new FlowContentBridge.
+         */
+        public FlowContentBridge(BridgeContext ctx,
+                                 SVGTextElementBridge parent,
+                                 Element e) {
+            super(ctx, parent, e);
+        }
+    }
+
+    /**
+     * svg:shapechange listener for flowRegion elements.
+     */
+    protected class RegionChangeListener implements EventListener {
+
+        /**
+         * Handles the svg:shapechange event.
+         */
+        public void handleEvent(Event evt) {
+            // the flowRegion geometry may have changed, so relayout text
+            laidoutText = null;
+            computeLaidoutText(ctx, e, getTextNode());
+        }
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGMultiImageElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGMultiImageElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGMultiImageElementBridge.java
index bac6212..61554c8 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGMultiImageElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGMultiImageElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -34,9 +35,9 @@ import org.apache.flex.forks.batik.bridge.BridgeException;
 import org.apache.flex.forks.batik.bridge.CSSUtilities;
 import org.apache.flex.forks.batik.bridge.SVGImageElementBridge;
 import org.apache.flex.forks.batik.bridge.SVGUtilities;
+import org.apache.flex.forks.batik.bridge.UnitProcessor;
 import org.apache.flex.forks.batik.bridge.Viewport;
-import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.ImageNode;
@@ -70,7 +71,7 @@ import org.w3c.dom.Node;
  *
  *
  * @author <a href="mailto:deweese@apache.org">Thomas DeWeese</a>
- * @version $Id: SVGMultiImageElementBridge.java,v 1.4 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGMultiImageElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGMultiImageElementBridge extends SVGImageElementBridge {
 
@@ -94,7 +95,7 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
      * Returns a new instance of this bridge.
      */
     public Bridge getInstance() {
-        return new SVGImageElementBridge();
+        return new SVGMultiImageElementBridge();
     }
 
      /**
@@ -116,15 +117,19 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
             return null;
         }
 
+        associateSVGContext(ctx, e, imgNode);
+
         Rectangle2D b = getImageBounds(ctx, e);
 
         // 'transform'
         AffineTransform at = null;
         String s = e.getAttribute(SVG_TRANSFORM_ATTRIBUTE);
-        if (s.length() != 0)
-            at = SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s);
-        else
+        if (s.length() != 0) {
+            at = SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s,
+                                               ctx);
+        } else {
             at = new AffineTransform();
+        }
 
         at.translate(b.getX(), b.getY());
         imgNode.setTransform(at);
@@ -231,18 +236,10 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
     protected void initializeDynamicSupport(BridgeContext ctx,
                                             Element e,
                                             GraphicsNode node) {
-        if (!ctx.isInteractive())
-            return;
-
-        // HACK due to the way images are represented in GVT
-        ImageNode imgNode = (ImageNode)node;
-        ctx.bind(e, imgNode.getImage());
-
-        if (ctx.isDynamic()) {
-            this.e = e;
-            this.node = node;
-            this.ctx = ctx;
-            ((SVGOMElement)e).setSVGContext(this);
+        if (ctx.isInteractive()) {
+            // HACK due to the way images are represented in GVT
+            ImageNode imgNode = (ImageNode)node;
+            ctx.bind(e, imgNode.getImage());
         }
     }
 
@@ -254,6 +251,58 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
         super.dispose();
     }
 
+    /**
+     * Returns the bounds of the specified image element.
+     *
+     * @param ctx the bridge context
+     * @param element the image element
+     */
+    protected static
+        Rectangle2D getImageBounds(BridgeContext ctx, Element element) {
+
+        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, element);
+
+        // 'x' attribute - default is 0
+        String s = element.getAttributeNS(null, SVG_X_ATTRIBUTE);
+        float x = 0;
+        if (s.length() != 0) {
+            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
+                (s, SVG_X_ATTRIBUTE, uctx);
+        }
+
+        // 'y' attribute - default is 0
+        s = element.getAttributeNS(null, SVG_Y_ATTRIBUTE);
+        float y = 0;
+        if (s.length() != 0) {
+            y = UnitProcessor.svgVerticalCoordinateToUserSpace
+                (s, SVG_Y_ATTRIBUTE, uctx);
+        }
+
+        // 'width' attribute - required
+        s = element.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
+        float w;
+        if (s.length() == 0) {
+            throw new BridgeException(ctx, element, ERR_ATTRIBUTE_MISSING,
+                                      new Object[] {SVG_WIDTH_ATTRIBUTE});
+        } else {
+            w = UnitProcessor.svgHorizontalLengthToUserSpace
+                (s, SVG_WIDTH_ATTRIBUTE, uctx);
+        }
+
+        // 'height' attribute - required
+        s = element.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
+        float h;
+        if (s.length() == 0) {
+            throw new BridgeException(ctx, element, ERR_ATTRIBUTE_MISSING,
+                                      new Object[] {SVG_HEIGHT_ATTRIBUTE});
+        } else {
+            h = UnitProcessor.svgVerticalLengthToUserSpace
+                (s, SVG_HEIGHT_ATTRIBUTE, uctx);
+        }
+
+        return new Rectangle2D.Float(x, y, w, h);
+    }
+
     protected void addInfo(Element e, Collection elems, 
                            Collection minDim, Collection maxDim,
                            Rectangle2D bounds) {
@@ -285,18 +334,18 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
                               Rectangle2D bounds) {
         String uriStr = XLinkSupport.getXLinkHref(e);
         if (uriStr.length() == 0) {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {"xlink:href"});
         }
-        String baseURI = XMLBaseSupport.getCascadedXMLBase(e);
+        String baseURI = AbstractNode.getBaseURI(e);
         ParsedURL purl;
         if (baseURI == null) purl = new ParsedURL(uriStr);
         else                 purl = new ParsedURL(baseURI, uriStr);
         Document doc = e.getOwnerDocument();
         Element imgElem = doc.createElementNS(SVG_NAMESPACE_URI, 
                                               SVG_IMAGE_TAG);
-        imgElem.setAttributeNS(XLinkSupport.XLINK_NAMESPACE_URI, 
-                               "href", purl.toString());
+        imgElem.setAttributeNS(XLINK_NAMESPACE_URI, 
+                               XLINK_HREF_ATTRIBUTE, purl.toString());
         // move the attributes from <subImageRef> to the <image> element
         NamedNodeMap attrs = e.getAttributes();
         int len = attrs.getLength();
@@ -338,8 +387,8 @@ public class SVGMultiImageElementBridge extends SVGImageElementBridge {
         s = e.getAttribute(attr);
         if (s.length() == 0) return null;
 
-        Float [] vals = SVGUtilities.convertSVGNumberOptionalNumber
-            (e, attr, s);
+        Float[] vals = SVGUtilities.convertSVGNumberOptionalNumber
+            (e, attr, s, ctx);
 
         if (vals[0] == null) return null;
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGSolidColorElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGSolidColorElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGSolidColorElementBridge.java
index cc9eec0..6ed2f8b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGSolidColorElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVGSolidColorElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,7 +23,7 @@ import java.awt.Paint;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.flex.forks.batik.bridge.AbstractSVGBridge;
+import org.apache.flex.forks.batik.bridge.AnimatableGenericSVGBridge;
 import org.apache.flex.forks.batik.bridge.BridgeContext;
 import org.apache.flex.forks.batik.bridge.BridgeException;
 import org.apache.flex.forks.batik.bridge.CSSUtilities;
@@ -47,9 +48,10 @@ import org.w3c.dom.css.CSSValue;
  * Bridge class for a regular polygon element.
  *
  * @author <a href="mailto:thomas.deweese@kodak.com">Thomas Deweese</a>
+ * @version $Id: SVGSolidColorElementBridge.java 498740 2007-01-22 18:35:57Z dvholten $
  */
-public class SVGSolidColorElementBridge extends AbstractSVGBridge
-    implements PaintBridge {
+public class SVGSolidColorElementBridge extends AnimatableGenericSVGBridge
+        implements PaintBridge {
 
     /**
      * Constructs a new bridge for the &lt;rect> element.
@@ -90,7 +92,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
         return extractColor(paintElement, opacity, ctx);
     }
 
-    protected static float extractOpacity(Element paintElement, 
+    protected static float extractOpacity(Element paintElement,
                                           float opacity,
                                           BridgeContext ctx) {
         Map refs = new HashMap();
@@ -101,7 +103,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
         for (;;) {
             Value opacityVal =
                 CSSUtilities.getComputedStyle(paintElement, pidx);
-        
+
             // Was solid-opacity explicity set on this element?
             StyleMap sm =
                 ((CSSStylableElement)paintElement).getComputedStyleMap(null);
@@ -122,7 +124,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
             // check if there is circular dependencies
             if (refs.containsKey(purl)) {
                 throw new BridgeException
-                    (paintElement,
+                    (ctx, paintElement,
                      ErrorConstants.ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                      new Object[] {uri});
             }
@@ -131,7 +133,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
         }
     }
 
-    protected static Color extractColor(Element paintElement, 
+    protected static Color extractColor(Element paintElement,
                                         float opacity,
                                         BridgeContext ctx) {
         Map refs = new HashMap();
@@ -142,7 +144,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
         for (;;) {
             Value colorDef =
                 CSSUtilities.getComputedStyle(paintElement, pidx);
-        
+
             // Was solid-color explicity set on this element?
             StyleMap sm =
                 ((CSSStylableElement)paintElement).getComputedStyleMap(null);
@@ -162,8 +164,8 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
 
             String uri = XLinkSupport.getXLinkHref(paintElement);
             if (uri.length() == 0) {
-                // no xlink:href found, exit    
-                return new Color(0, 0, 0, opacity); 
+                // no xlink:href found, exit
+                return new Color(0, 0, 0, opacity);
             }
 
             SVGOMDocument doc = (SVGOMDocument)paintElement.getOwnerDocument();
@@ -172,7 +174,7 @@ public class SVGSolidColorElementBridge extends AbstractSVGBridge
             // check if there is circular dependencies
             if (refs.containsKey(purl)) {
                 throw new BridgeException
-                    (paintElement,
+                    (ctx, paintElement,
                      ErrorConstants.ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                      new Object[] {uri});
             }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLContentElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLContentElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLContentElementBridge.java
new file mode 100644
index 0000000..3e782ed
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/XBLContentElementBridge.java
@@ -0,0 +1,213 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.AbstractGraphicsNodeBridge;
+import org.apache.flex.forks.batik.bridge.Bridge;
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.GVTBuilder;
+import org.apache.flex.forks.batik.dom.AbstractDocument;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.util.XBLConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Bridge class for the &lt;xbl:content&gt; element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: XBLContentElementBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class XBLContentElementBridge extends AbstractGraphicsNodeBridge {
+    
+    /**
+     * The event listener for content element selection changes.
+     */
+    protected ContentChangedListener contentChangedListener;
+
+    /**
+     * The ContentManager object used for the content element selection
+     * change events.
+     */
+    protected ContentManager contentManager;
+
+    /**
+     * Constructs a new bridge for the &lt;xbl:content&gt; element.
+     */
+    public XBLContentElementBridge() {
+    }
+
+    /**
+     * Returns 'content'.
+     */
+    public String getLocalName() {
+        return XBLConstants.XBL_CONTENT_TAG;
+    }
+
+    /**
+     * Returns the XBL namespace.
+     */
+    public String getNamespaceURI() {
+        return XBLConstants.XBL_NAMESPACE_URI;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new XBLContentElementBridge();
+    }
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @return a graphics node that represents the specified element
+     */
+    public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
+        CompositeGraphicsNode gn = buildCompositeGraphicsNode(ctx, e, null);
+        return gn;
+    }
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> from the input element and
+     * populates the input <tt>CompositeGraphicsNode</tt>
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param cgn the CompositeGraphicsNode where the use graphical 
+     *        content will be appended. The composite node is emptied
+     *        before appending new content.
+     */
+    public CompositeGraphicsNode buildCompositeGraphicsNode
+        (BridgeContext ctx, Element e, CompositeGraphicsNode cgn) {
+
+        XBLOMContentElement content = (XBLOMContentElement) e;
+        AbstractDocument doc = (AbstractDocument) e.getOwnerDocument();
+        DefaultXBLManager xm = (DefaultXBLManager) doc.getXBLManager();
+        contentManager = xm.getContentManager(e);
+
+        if (cgn == null) {
+            cgn = new CompositeGraphicsNode();
+            associateSVGContext(ctx, e, cgn);
+        } else {
+            int s = cgn.size();
+            for (int i = 0; i < s; i++) {
+                cgn.remove(0);
+            }
+        }
+
+        GVTBuilder builder = ctx.getGVTBuilder();
+        NodeList nl = contentManager.getSelectedContent(content);
+        if (nl != null) {
+            for (int i = 0; i < nl.getLength(); i++) {
+                Node n = nl.item(i);
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    GraphicsNode gn = builder.build(ctx, (Element) n);
+                    if (gn != null) {
+                        cgn.add(gn);
+                    }
+                }
+            }
+        }
+
+        if (ctx.isDynamic()) {
+            if (contentChangedListener == null) {
+                // Should be the same ContentManager each build
+                contentChangedListener = new ContentChangedListener();
+                contentManager.addContentSelectionChangedListener
+                    (content, contentChangedListener);
+            }
+        }
+
+        return cgn;
+    }
+
+    /**
+     * Creates a <tt>CompositeGraphicsNode</tt>.
+     */
+    protected GraphicsNode instantiateGraphicsNode() {
+        // Not needed, since createGraphicsNode is overridden
+        return null;
+    }
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    public void buildGraphicsNode(BridgeContext ctx,
+                                  Element e,
+                                  GraphicsNode node) {
+        initializeDynamicSupport(ctx, e, node);
+    }
+
+    /**
+     * Returns true if the graphics node has to be displayed, false
+     * otherwise.
+     */
+    public boolean getDisplay(Element e) {
+        return true;
+    }
+
+    /**
+     * Returns false as the &lt;xbl:content&gt; element's selected nodes
+     * are built all in this class.
+     */
+    public boolean isComposite() {
+        return false;
+    }
+
+    /**
+     * Dispose this bridge by removing the ContentSelectionChangedListener
+     * object.
+     */
+    public void dispose() {
+        super.dispose();
+
+        if (contentChangedListener != null) {
+            contentManager.removeContentSelectionChangedListener
+                ((XBLOMContentElement) e, contentChangedListener);
+        }
+    }
+
+    /**
+     * Class to respond to content selection changes and cause GVT rebuilds.
+     */
+    protected class ContentChangedListener
+            implements ContentSelectionChangedListener {
+
+        /**
+         * Invoked after an xbl:content element has updated its selected
+         * nodes list.
+         * @param csce the ContentSelectionChangedEvent object
+         */
+        public void contentSelectionChanged(ContentSelectionChangedEvent csce) {
+            buildCompositeGraphicsNode(ctx, e, (CompositeGraphicsNode) node);
+        }
+    }
+}


[55/62] [abbrv] Merged Apache Flex 4.9.1 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDisabledSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDisabledSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDisabledSkin.fxg
index bc1f490..453d89d 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDisabledSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDisabledSkin.fxg
@@ -1,56 +1,54 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevMonthDisabledSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
-              <fill>
-                <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#CCCCCC" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#EEEEEE" alpha="0.65098039"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.75294118"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor alpha="0.40000001"/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_prevMonthDisabledSkin" version="2.0" afx:className="DateChooser_prevMonthDisabledSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
+          <fill>
+            <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#CCCCCC" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#EEEEEE" alpha="0.65098039"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.75294118"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor alpha="0.40000001"/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDownSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDownSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDownSkin.fxg
index 9204fff..6688f72 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDownSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthDownSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevMonthDownSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
-              <fill>
-                <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#0075BF"/>
-                  <GradientEntry ratio="0.99215686" color="#009DFF"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#99D7FE"/>
-                  <GradientEntry ratio="1" color="#D9F0FE"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
-              <fill>
-                <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_prevMonthDownSkin" version="2.0" afx:className="DateChooser_prevMonthDownSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4">
+          <fill>
+            <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#0075BF"/>
+              <GradientEntry ratio="0.99215686" color="#009DFF"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#99D7FE"/>
+              <GradientEntry ratio="1" color="#D9F0FE"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
+          <fill>
+            <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthOverSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthOverSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthOverSkin.fxg
index c5667b5..7e41cf1 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthOverSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthOverSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevMonthOverSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1">
-              <fill>
-                <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#0075BF"/>
-                  <GradientEntry ratio="0.99215686" color="#009DFF"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
-              <fill>
-                <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_prevMonthOverSkin" version="2.0" afx:className="DateChooser_prevMonthOverSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1">
+          <fill>
+            <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#0075BF"/>
+              <GradientEntry ratio="0.99215686" color="#009DFF"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
+          <fill>
+            <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthUpSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthUpSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthUpSkin.fxg
index 02bd839..d985d3d 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthUpSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevMonthUpSkin.fxg
@@ -1,66 +1,64 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevMonthUpSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Arrow">
-          <Group>
-            <Path data="M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1">
-              <fill>
-                <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
-                  <GradientEntry ratio="0" color="#585F63"/>
-                  <GradientEntry ratio="1" color="#B7BABC"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
-              <fill>
-                <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
-                  <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
-          <Group>
-            <Group>
-              <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
-                <fill>
-                  <SolidColor/>
-                </fill>
-              </Path>
-            </Group>
-          </Group>
-          <Group>
-            <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
-              <fill>
-                <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
-                  <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
-                  <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
-                </LinearGradient>
-              </fill>
-            </Path>
-          </Group>
+<Graphic flm:originalName="DateChooser/DateChooser_prevMonthUpSkin" version="2.0" afx:className="DateChooser_prevMonthUpSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Arrow" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M18 4 18 14Q18 18 14 18L4 18Q0 18 0 14L0 4Q0 0 4 0L14 0Q18 0 18 4M14.15 1 3.875 1Q1 1.0632812 1 4L1 14Q1 16.95 3.9 17L14.15 17Q17 16.95 17 14L17 4Q17 1.1 14.15 1">
+          <fill>
+            <LinearGradient x="-13.65" y="21.7" scaleX="22" rotation="270">
+              <GradientEntry ratio="0" color="#585F63"/>
+              <GradientEntry ratio="1" color="#B7BABC"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M1.1 14 1 4Q1 1.0632812 3.875 1L14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14">
+          <fill>
+            <LinearGradient x="16.3" y="22" scaleX="-22" rotation="90">
+              <GradientEntry ratio="0" color="#E6E6E6" alpha="0.4"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.6"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Group>
+          <Path data="M9 6 10 6 10 5 11 5 11 14 10 14 10 13 9 13 9 12 8 12 8 11 7 11 7 10 6 10 6 9 7 9 7 8 8 8 8 7 9 7 9 6">
+            <fill>
+              <SolidColor/>
+            </fill>
+          </Path>
         </Group>
-  <Private/>
+      </Group>
+      <Group>
+        <Path data="M14.15 1Q17 1.1 17 4L17.1 14Q17.1 16.95 14.25 17L4 17Q1.1 16.95 1.1 14L1 4Q1 1.0632812 3.875 1L14.15 1">
+          <fill>
+            <LinearGradient x="16.7" y="8.8" scaleX="-7.9" rotation="90">
+              <GradientEntry ratio="0" color="#FFFFFF" alpha="0"/>
+              <GradientEntry ratio="1" color="#FFFFFF" alpha="0.30196078"/>
+            </LinearGradient>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDisabledSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDisabledSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDisabledSkin.fxg
new file mode 100644
index 0000000..b2e2430
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDisabledSkin.fxg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="DateChooser/DateChooser_prevYearDisabledSkin" version="2.0" afx:className="DateChooser_prevYearDisabledSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="-672.55" y="-1056" data="M676.525 1058 675.525 1058 675.525 1057 674.525 1057 674.525 1056 681.5 1056 681.5 1057 680.5 1057 680.5 1058 679.525 1058 679.525 1059 678.525 1059 678.525 1060 677.525 1060 677.525 1059 676.525 1059 676.525 1058">
+          <fill>
+            <SolidColor alpha="0.3019608"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDownSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDownSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDownSkin.fxg
index a725930..997175a 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDownSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearDownSkin.fxg
@@ -1,39 +1,37 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevYearDownSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Path data="M12 0 12 12 0 12 0 0 12 0">
-            <fill>
-              <SolidColor color="#5A6165" alpha="0"/>
-            </fill>
-          </Path>
-          <Group>
-            <Path x="-663.55" y="-1056" data="M672.5 1057 671.5 1057 671.5 1058 670.525 1058 670.525 1059 669.525 1059 669.525 1060 668.525 1060 668.525 1059 667.525 1059 667.525 1058 666.525 1058 666.525 1057 665.525 1057 665.525 1056 672.5 1056 672.5 1057">
-              <fill>
-                <SolidColor color="#0075BE"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_prevYearDownSkin" version="2.0" afx:className="DateChooser_prevYearDownSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="-663.55" y="-1056" data="M672.5 1057 671.5 1057 671.5 1058 670.525 1058 670.525 1059 669.525 1059 669.525 1060 668.525 1060 668.525 1059 667.525 1059 667.525 1058 666.525 1058 666.525 1057 665.525 1057 665.525 1056 672.5 1056 672.5 1057">
+          <fill>
+            <SolidColor color="#0075BE"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevYearOverSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearOverSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearOverSkin.fxg
new file mode 100644
index 0000000..5b18280
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearOverSkin.fxg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="DateChooser/DateChooser_prevYearOverSkin" version="2.0" afx:className="DateChooser_prevYearOverSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path x="2" data="M7 1 6 1 6 2 5.025 2 5.025 3 4.025 3 4.025 4 3.025 4 3.025 3 2.025 3 2.025 2 1.025 2 1.025 1 0.025 1 0.025 0 7 0 7 1">
+          <fill>
+            <SolidColor color="#009DFF"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_prevYearUpSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearUpSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearUpSkin.fxg
index 20c520a..98c6315 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_prevYearUpSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_prevYearUpSkin.fxg
@@ -1,39 +1,37 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_prevYearUpSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Path data="M12 0 12 12 0 12 0 0 12 0">
-            <fill>
-              <SolidColor color="#5A6165" alpha="0"/>
-            </fill>
-          </Path>
-          <Group>
-            <Path rotation="180" scaleX="1.0000153" x="15" y="8" data="M10.975 6 11.975 6 11.975 7 12.975 7 12.975 8 6 8 6 7 7 7 7 6 7.975 6 7.975 5 8.975 5 8.975 4 9.975 4 9.975 5 10.975 5 10.975 6">
-              <fill>
-                <SolidColor/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_prevYearUpSkin" version="2.0" afx:className="DateChooser_prevYearUpSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path data="M12 0 12 12 0 12 0 0 12 0">
+        <fill>
+          <SolidColor color="#5A6165" alpha="0"/>
+        </fill>
+      </Path>
+      <Group>
+        <Path rotation="180" scaleX="1.0000153" x="15" y="8" data="M10.975 6 11.975 6 11.975 7 12.975 7 12.975 8 6 8 6 7 7 7 7 6 7.975 6 7.975 5 8.975 5 8.975 4 9.975 4 9.975 5 10.975 5 10.975 6">
+          <fill>
+            <SolidColor/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_rollOverIndicatorSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_rollOverIndicatorSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_rollOverIndicatorSkin.fxg
index 7cb5ba5..679543a 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_rollOverIndicatorSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_rollOverIndicatorSkin.fxg
@@ -1,34 +1,32 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_rollOverIndicatorSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Group>
-            <Path x="-692" y="-1072" data="M711.975 1072 711.975 1092 691.975 1092 691.975 1072 711.975 1072">
-              <fill>
-                <SolidColor color="#DAF1FF"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_rollOverIndicatorSkin" version="2.0" afx:className="DateChooser_rollOverIndicatorSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path x="-692" y="-1072" data="M711.975 1072 711.975 1092 691.975 1092 691.975 1072 711.975 1072">
+          <fill>
+            <SolidColor color="#DAF1FF"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_selectionIndicatorSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_selectionIndicatorSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_selectionIndicatorSkin.fxg
index fcc2d48..5841ea4 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_selectionIndicatorSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_selectionIndicatorSkin.fxg
@@ -1,34 +1,32 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_selectionIndicatorSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 1">
-          <Group>
-            <Path data="M19.975 20 -0.025 20 -0.025 0 19.975 0 19.975 20">
-              <fill>
-                <SolidColor color="#9AD8FF"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_selectionIndicatorSkin" version="2.0" afx:className="DateChooser_selectionIndicatorSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M19.975 20 -0.025 20 -0.025 0 19.975 0 19.975 20">
+          <fill>
+            <SolidColor color="#9AD8FF"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/DateChooser_todayIndicatorSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/DateChooser_todayIndicatorSkin.fxg b/frameworks/themes/AeonGraphical/src/DateChooser_todayIndicatorSkin.fxg
index 73190e3..93c22e0 100644
--- a/frameworks/themes/AeonGraphical/src/DateChooser_todayIndicatorSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/DateChooser_todayIndicatorSkin.fxg
@@ -1,34 +1,32 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <!--
 
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
 
-      http://www.apache.org/licenses/LICENSE-2.0
+http://www.apache.org/licenses/LICENSE-2.0
 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
 
 -->
-<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
-	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
-	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="DateChooser_todayIndicatorSkin" afx:baseClassName="flash.display.Sprite" >
-        <Group d:type="layer" d:userLabel="Layer 7">
-          <Group>
-            <Path data="M19.975 20 -0.025 20 -0.025 0 19.975 0 19.975 20">
-              <fill>
-                <SolidColor color="#B7BABC"/>
-              </fill>
-            </Path>
-          </Group>
-        </Group>
-  <Private/>
+<Graphic flm:originalName="DateChooser/DateChooser_todayIndicatorSkin" version="2.0" afx:className="DateChooser_todayIndicatorSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 7" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M19.975 20 -0.025 20 -0.025 0 19.975 0 19.975 20">
+          <fill>
+            <SolidColor color="#B7BABC"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
 </Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/PanelTitleBackground.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/PanelTitleBackground.fxg b/frameworks/themes/AeonGraphical/src/PanelTitleBackground.fxg
new file mode 100644
index 0000000..fde72cc
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/PanelTitleBackground.fxg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="Panels/PanelTitleBackground" version="2.0" afx:className="PanelTitleBackground" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Group>
+        <Path data="M272 4 272 27.9 271.975 27.9 271.975 27.975 -0.025 27.975 -0.025 7.7 0 7.7 0 4Q0 2.3 1.15 1.15 2.3 0 4 0L268 0Q269.65 0 270.85 1.15 272 2.3 272 4">
+          <fill>
+            <SolidColor color="#E8EAEA" alpha="0"/>
+          </fill>
+        </Path>
+      </Group>
+      <Group>
+        <Path data="M272 27 272 28 0 28 0 27 272 27">
+          <fill>
+            <SolidColor color="#ABAEB0" alpha="0"/>
+          </fill>
+        </Path>
+      </Group>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/PopUpButton_DisabledSkin.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/PopUpButton_DisabledSkin.fxg b/frameworks/themes/AeonGraphical/src/PopUpButton_DisabledSkin.fxg
index 8b8ed34..8a3cfb1 100644
--- a/frameworks/themes/AeonGraphical/src/PopUpButton_DisabledSkin.fxg
+++ b/frameworks/themes/AeonGraphical/src/PopUpButton_DisabledSkin.fxg
@@ -20,7 +20,7 @@
 <Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
 	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
 	xmlns:flm="http://ns.adobe.com/flame/2008"
-	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="PopUpButton_disabledSkin" afx:baseClassName="flash.display.Sprite" >
+	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="PopUpButton_DisabledSkin" afx:baseClassName="flash.display.Sprite" >
         <Group d:type="layer" d:userLabel="Layer 1">
           <Group>
             <Path data="M144.125 21 3.875 21Q1 20.936719 1 18L1 4Q1 1.0632812 3.875 1L144.125 1Q147 1.0632812 147 4L147 18Q147 20.936719 144.125 21">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/frameworks/themes/AeonGraphical/src/ScrollBar_thumbIcon.fxg
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/src/ScrollBar_thumbIcon.fxg b/frameworks/themes/AeonGraphical/src/ScrollBar_thumbIcon.fxg
new file mode 100644
index 0000000..156eac2
--- /dev/null
+++ b/frameworks/themes/AeonGraphical/src/ScrollBar_thumbIcon.fxg
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-->
+<Graphic flm:originalName="Scrollbars/ScrollBar_thumbIcon" version="2.0" afx:className="ScrollBar_thumbIcon" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
+  <Group>
+    <Group aaa:type="layer" aaa:userLabel="Layer 1" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
+      <Path x="-1" data="M5 3 0 3 0 2 5 2 5 3M5 1 0 1 0 0 5 0 5 1M0 4 5 4 5 5 0 5 0 4M5 6 5 7 0 7 0 6 5 6">
+        <fill>
+          <SolidColor color="#5A6165"/>
+        </fill>
+      </Path>
+    </Group>
+  </Group>
+</Graphic>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/asc/src/java/macromedia/abc/Encoder.java
----------------------------------------------------------------------
diff --git a/modules/asc/src/java/macromedia/abc/Encoder.java b/modules/asc/src/java/macromedia/abc/Encoder.java
index badf0f8..bb520dc 100644
--- a/modules/asc/src/java/macromedia/abc/Encoder.java
+++ b/modules/asc/src/java/macromedia/abc/Encoder.java
@@ -1109,14 +1109,6 @@ public class Encoder implements Visitor
 	{
 		if (opcodePass == 1)
 		{
-			if (opat(1) == OP_setlocal && readIntAt(1) == index)
-			{
-				rewind(1);
-				OP_dup();
-				OP_setlocal(index);
-				return;
-			}
-
 			beginop(OP_getlocal);
 			opcodes.writeU32(index);
 		}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java b/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java
index afa9e84..55b3eea 100644
--- a/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java
+++ b/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java
@@ -48,6 +48,7 @@ public class MxmlConfiguration
     //
     // 'compiler.mxml.compatibility-version' option
     //
+	public static final int VERSION_4_9_1 = 0x04090001;
 	public static final int VERSION_4_9 = 0x04090000;
 	public static final int VERSION_4_8 = 0x04080000;
 	public static final int VERSION_4_6 = 0x04060000;
@@ -56,7 +57,7 @@ public class MxmlConfiguration
     public static final int VERSION_3_0 = 0x03000000;
     public static final int VERSION_2_0_1 = 0x02000001;
     public static final int VERSION_2_0 = 0x02000000;
-    public static final int CURRENT_VERSION = VERSION_4_9;
+    public static final int CURRENT_VERSION = VERSION_4_9_1;
     public static final int EARLIEST_MAJOR_VERSION = 3;
     public static final int LATEST_MAJOR_VERSION = 4;
     public static final int LATEST_MINOR_VERSION = 9;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/compiler/src/java/flex2/tools/VersionInfo.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flex2/tools/VersionInfo.java b/modules/compiler/src/java/flex2/tools/VersionInfo.java
index 4b582cd..f62aa55 100644
--- a/modules/compiler/src/java/flex2/tools/VersionInfo.java
+++ b/modules/compiler/src/java/flex2/tools/VersionInfo.java
@@ -33,7 +33,7 @@ public class VersionInfo
 {
     public static String FLEX_MAJOR_VERSION = "4";
     public static String FLEX_MINOR_VERSION = "9";
-    public static String FLEX_NANO_VERSION  = "0";
+    public static String FLEX_NANO_VERSION  = "1";
     
 	/**
 	 * Lib version is the "version" of the SWC format. Major number changes represent big (although not

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/swfutils/src/java/flash/graphics/g2d/SpriteGraphics2D.java
----------------------------------------------------------------------
diff --git a/modules/swfutils/src/java/flash/graphics/g2d/SpriteGraphics2D.java b/modules/swfutils/src/java/flash/graphics/g2d/SpriteGraphics2D.java
index 67e824f..2fb0ab4 100644
--- a/modules/swfutils/src/java/flash/graphics/g2d/SpriteGraphics2D.java
+++ b/modules/swfutils/src/java/flash/graphics/g2d/SpriteGraphics2D.java
@@ -97,7 +97,8 @@ public class SpriteGraphics2D extends AbstractGraphics2D
 	private SpriteGraphics2D(SpriteGraphics2D swf2d)
 	{
 		super((GraphicContext)swf2d.graphicContext.clone());
-		defineTags = new TagList();
+		bounds = new Rect();
+		defineTags = swf2d.getTags();
 	}
 
 	/**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
index 29d0131..6fde713 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
@@ -19,7 +19,7 @@
 # -----------------------------------------------------------------------------
 
 SVGFont.config.usage = \
-usage: java org.apache.batik.svggen.font.SVGFont <ttf-path> [-l <range-begin>] [-h <range-end>] [-autorange] [-ascii] [-id <id>] [-o <output-path>] [-testcard]
+usage: java org.apache.flex.forks.batik.svggen.font.SVGFont <ttf-path> [-l <range-begin>] [-h <range-end>] [-autorange] [-ascii] [-id <id>] [-o <output-path>] [-testcard]
 
 SVGFont.config.svg.begin = \
 <?xml version="1.0" standalone="no"?> \

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
index 39d6a77..6486da4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
@@ -21,4 +21,4 @@
 # -----------------------------------------------------------------------------
 
 #org.xml.sax.driver = org.apache.xerces.parsers.SAXParser
-org.w3c.css.sac.driver = org.apache.batik.css.parser.Parser
+org.w3c.css.sac.driver = org.apache.flex.forks.batik.css.parser.Parser

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/Assets/Fonts/Droid/DroidSansFallback.ttf
----------------------------------------------------------------------
diff --git a/mustella/Assets/Fonts/Droid/DroidSansFallback.ttf b/mustella/Assets/Fonts/Droid/DroidSansFallback.ttf
new file mode 100644
index 0000000..cfbc66a
Binary files /dev/null and b/mustella/Assets/Fonts/Droid/DroidSansFallback.ttf differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/Assets/Fonts/Droid/NOTICE.txt
----------------------------------------------------------------------
diff --git a/mustella/Assets/Fonts/Droid/NOTICE.txt b/mustella/Assets/Fonts/Droid/NOTICE.txt
new file mode 100644
index 0000000..1fdb31d
--- /dev/null
+++ b/mustella/Assets/Fonts/Droid/NOTICE.txt
@@ -0,0 +1,195 @@
+Notice for all the files in this folder.
+------------------------------------------------------------
+
+
+
+   Copyright (c) 2005-2008, The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/SWFs/LangPackApp.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/SWFs/LangPackApp.mxml b/mustella/tests/LangPacks/Japanese/SWFs/LangPackApp.mxml
index e543bc4..168f931 100644
--- a/mustella/tests/LangPacks/Japanese/SWFs/LangPackApp.mxml
+++ b/mustella/tests/LangPacks/Japanese/SWFs/LangPackApp.mxml
@@ -30,30 +30,10 @@
 	</mx:Script>
 	<mx:Style>
 
-	    @font-face {
-		src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf");
-		fontFamily: EmbeddedFont;
-			embedAsCFF: false;
-	    }
-
-	    @font-face {
-		src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf");
-		fontStyle: italic;
-		fontFamily: EmbeddedFont;
-			embedAsCFF: false;
-	    }    
-
-	    @font-face {
-		src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf");
-		fontWeight: bold;
-		fontFamily: EmbeddedFont;
-			embedAsCFF: false;
-	    }
-
-	    @font-face {
-		src: url("../../../../Assets/Fonts/Open_Sans/OpenSans-BoldItalic.ttf");
-		fontWeight: bold;
-		fontStyle: italic;
+        @namespace mx "library://ns.adobe.com/flex/mx";
+        
+        @font-face {
+		src: url("../../../../Assets/Fonts/Droid/DroidSansFallback.ttf");
 		fontFamily: EmbeddedFont;
 			embedAsCFF: false;
 	    }
@@ -65,10 +45,27 @@
 
 	    .errorTip {
 		fontStyle: normal;
+        fontWeight: normal;
 		fontAntiAliasType: normal;
 		fontFamily: EmbeddedFont;
 	    }
 
+        mx|DateChooser
+        {	
+            weekDayStyleName: "noBoldWeekDayStyle";
+			headerStyleName: "noBoldHeaderStyle"
+        }
+        
+        .noBoldWeekDayStyle
+        {
+			fontWeight: normal;
+            textAlign: "center";
+        }
+		
+        .noBoldHeaderStyle {
+            fontWeight: normal;
+        }
+
 	</mx:Style>
 
 	<components:MyFormatters id="mf" />

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_FieldRequired.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_FieldRequired.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_FieldRequired.png
index d113e8b..c1fa148 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_FieldRequired.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_FieldRequired.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_InvalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_InvalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_InvalidCharError.png
index b121a1e..9c9bec1 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_InvalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_InvalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_NumberRequired.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_NumberRequired.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_NumberRequired.png
index a2f904b..deea837 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_NumberRequired.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_NumberRequired.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_TypeRequired.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_TypeRequired.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_TypeRequired.png
index 6eae400..35e7e01 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_TypeRequired.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_TypeRequired.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_invalidNumberError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_invalidNumberError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_invalidNumberError.png
index 33bbc1e..b957c4a 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_invalidNumberError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_invalidNumberError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongLengthError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongLengthError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongLengthError.png
index d499d32..107a792 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongLengthError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongLengthError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongTypeError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongTypeError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongTypeError.png
index 2bd5844..42e409b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongTypeError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CreditCardValidator_wrongTypeError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_currencySymbolError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_currencySymbolError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_currencySymbolError.png
index a735d87..0d25f6e 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_currencySymbolError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_currencySymbolError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_decimalPointCountError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_decimalPointCountError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_decimalPointCountError.png
index af74f5c..a45e8e2 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_decimalPointCountError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_decimalPointCountError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_exceedsMaxError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_exceedsMaxError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_exceedsMaxError.png
index 881d65d..878373e 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_exceedsMaxError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_exceedsMaxError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidCharError.png
index 21366f8..43ea52f 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidFormatCharsError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidFormatCharsError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidFormatCharsError.png
index 2b095a1..3f74247 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidFormatCharsError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_invalidFormatCharsError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_lowerThanMinError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_lowerThanMinError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_lowerThanMinError.png
index fac14c0..2a8211c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_lowerThanMinError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_lowerThanMinError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_negativeError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_negativeError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_negativeError.png
index 6349e33..fb0043c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_negativeError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_negativeError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_precisionError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_precisionError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_precisionError.png
index 2b095a1..3f74247 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_precisionError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_precisionError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_separationError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_separationError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_separationError.png
index 986d29e..011542b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_separationError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_CurrencyValidator_separationError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateChooser_Japanese_Layout.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateChooser_Japanese_Layout.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateChooser_Japanese_Layout.png
index 1789af4..605443e 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateChooser_Japanese_Layout.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateChooser_Japanese_Layout.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateField_Dropdown_Japanese_Layout.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateField_Dropdown_Japanese_Layout.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateField_Dropdown_Japanese_Layout.png
index 9018ed9..2a391c5 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateField_Dropdown_Japanese_Layout.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateField_Dropdown_Japanese_Layout.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_dateFormat.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_dateFormat.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_dateFormat.png
index a5b083f..e5c1f80 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_dateFormat.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_dateFormat.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_formatError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_formatError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_formatError.png
index aa1118c..fe6007e 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_formatError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_formatError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_invalidCharError.png
index ff2ac01..8e0320b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongDayError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongDayError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongDayError.png
index a612910..f9e5ae0 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongDayError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongDayError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongMonthError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongMonthError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongMonthError.png
index 13baf2d..33a003d 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongMonthError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongMonthError.png differ


[59/62] [abbrv] Revert "Merge Apache Flex 4.10 into trunk"

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_Mirroring.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_Mirroring.mxml b/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_Mirroring.mxml
index 176dbbc..a08cc7c 100644
--- a/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_Mirroring.mxml
+++ b/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_Mirroring.mxml
@@ -106,9 +106,7 @@
             </setup>
             <body>
                 <SetProperty target="ellipse_radialGradientStroke.ellipse1" propertyName="y" value="20" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-                <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+                <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
             </body>
         </TestCase>
       
@@ -118,9 +116,7 @@
             </setup>
             <body>
                 <SetProperty target="ellipse_radialGradientStroke.ellipse1.stroke" propertyName="y" value="30" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-                <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+                <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
             </body>
         </TestCase>
    

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_PropertiesAS.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_PropertiesAS.mxml b/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_PropertiesAS.mxml
index ecd2b6c..49aab83 100644
--- a/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_PropertiesAS.mxml
+++ b/mustella/tests/spark/primitives/Ellipse/properties/FXG_Ellipse_PropertiesAS.mxml
@@ -338,9 +338,7 @@
 				<ResetComponent target="ellipse_radialGradientStroke" className="comps.EllipseRadialGradientStroke" waitTarget="ellipse_radialGradientStroke" waitEvent="updateComplete" />
 			</setup>
 			<body>
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_xy_20_0" description="Ellipse with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -349,9 +347,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1" propertyName="x" value="20" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500" >
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_xy_0_20" description="Ellipse with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -360,9 +356,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1" propertyName="y" value="20" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 	    <TestCase testID="FXG_Ellipse_RadialGradientStroke_xy_strokeRotation" description="Ellipse with a RadialGradientStroke and (x,y)=(20,0), rotation=45" keywords="[Line, RadialGradientStroke, rotation]">
@@ -371,9 +365,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.stroke" propertyName="rotation" value="45" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 	    <TestCase testID="FXG_Ellipse_RadialGradientStroke_xy_fillRotation" description="Ellipse with a RadialGradientStroke and (x,y)=(0,0)" keywords="[Line, LinearGradientStroke, caps]">
@@ -382,9 +374,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.fill" propertyName="rotation" value="45" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_fillX" description="Ellipse with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -393,9 +383,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.fill" propertyName="x" value="50" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_fillY" description="Ellipse with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -404,9 +392,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.fill" propertyName="y" value="30" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_strokeX" description="Ellipse with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -415,9 +401,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.stroke" propertyName="x" value="10" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete" />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Ellipse_RadialGradientStroke_strokeY" description="Ellipse with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -426,9 +410,7 @@
 			</setup>
 			<body>
 				<SetProperty target="ellipse_radialGradientStroke.ellipse1.stroke" propertyName="y" value="30" waitTarget="ellipse_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 <!-- using matrix -->
@@ -669,9 +651,7 @@
 		            waitTarget="ellipse_radialGradientStroke.ellipse1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="5000">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Ellipse_XY_matrix_onRadialGradient_fill" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -685,9 +665,7 @@
 		            waitTarget="ellipse_radialGradientStroke.ellipse1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="5000">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Ellipse_Rotation_matrix_onRadialGradient_stroke" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -701,9 +679,7 @@
 		            waitTarget="ellipse_radialGradientStroke.ellipse1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="5000">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Ellipse_XY_matrix_onRadialGradient_stroke" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -717,9 +693,7 @@
 		            waitTarget="ellipse_radialGradientStroke.ellipse1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="ellipse_radialGradientStroke" timeout="5000">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="ellipse_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
     </testCases>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillX@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillX@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillX@win.png
deleted file mode 100644
index 0665e4e..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillX@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillY@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillY@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillY@win.png
deleted file mode 100644
index 7d37662..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_fillY@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeX@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeX@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeX@win.png
deleted file mode 100644
index cb49792..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeX@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeY@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeY@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeY@win.png
deleted file mode 100644
index e6a1403..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_strokeY@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_0@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_0@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_0@win.png
deleted file mode 100644
index 8247863..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_0@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_20@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_20@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_20@win.png
deleted file mode 100644
index b3247aa..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_0_20@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_20_0@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_20_0@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_20_0@win.png
deleted file mode 100644
index 3acc453..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_20_0@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_fillRotation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_fillRotation@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_fillRotation@win.png
deleted file mode 100644
index 9f8d9e1..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_fillRotation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_strokeRotation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_strokeRotation@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_strokeRotation@win.png
deleted file mode 100644
index ca39050..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_RadialGradientStroke_xy_strokeRotation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_fill@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_fill@win.png
deleted file mode 100644
index ce78b0c..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_stroke@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_stroke@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_stroke@win.png
deleted file mode 100644
index cf115da..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_Rotation_matrix_onRadialGradient_stroke@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_fill@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_fill@win.png
deleted file mode 100644
index 494b58c..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_stroke@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_stroke@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_stroke@win.png
deleted file mode 100644
index fd3d39c..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_XY_matrix_onRadialGradient_stroke@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_strokeY@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_strokeY@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_strokeY@win.png
deleted file mode 100644
index fdd2cfb..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_strokeY@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_xy_0_20@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_xy_0_20@win.png b/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_xy_0_20@win.png
deleted file mode 100644
index d55f12a..0000000
Binary files a/mustella/tests/spark/primitives/Ellipse/properties/baselines/FXG_Ellipse_layoutDirectionRTL_RadialGradientStroke_xy_0_20@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/FXG_Rect_PropertiesAS.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/FXG_Rect_PropertiesAS.mxml b/mustella/tests/spark/primitives/Rect/properties/FXG_Rect_PropertiesAS.mxml
index 00836b3..56980a2 100644
--- a/mustella/tests/spark/primitives/Rect/properties/FXG_Rect_PropertiesAS.mxml
+++ b/mustella/tests/spark/primitives/Rect/properties/FXG_Rect_PropertiesAS.mxml
@@ -266,9 +266,7 @@
 				<ResetComponent target="rect_radialGradientStroke" className="comps.RectRadialGradientStroke" waitTarget="rect_radialGradientStroke" waitEvent="updateComplete" />
 			</setup>
 			<body>
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_xy_20_0" description="Rect with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -277,9 +275,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1" propertyName="x" value="20" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_xy_0_20" description="Rect with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -288,9 +284,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1" propertyName="y" value="20" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 	    <TestCase testID="FXG_Rect_RadialGradientStroke_xy_strokeRotation" description="Rect with a RadialGradientStroke and (x,y)=(20,0), rotation=45" keywords="[Line, RadialGradientStroke, rotation]">
@@ -299,9 +293,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.stroke" propertyName="rotation" value="45" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 	    <TestCase testID="FXG_Rect_RadialGradientStroke_xy_fillRotation" description="Rect with a RadialGradientStroke and (x,y)=(0,0)" keywords="[Line, LinearGradientStroke, caps]">
@@ -310,9 +302,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.fill" propertyName="rotation" value="45" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_fillX" description="Rect with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -321,9 +311,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.fill" propertyName="x" value="50" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_fillY" description="Rect with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -332,9 +320,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.fill" propertyName="y" value="30" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500" >
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_strokeX" description="Rect with a RadialGradientStroke and and (x,y)=(20,0)" keywords="[Line, RadialGradientStroke, caps]">
@@ -343,9 +329,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.stroke" propertyName="x" value="10" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete" />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500" >
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 		<TestCase testID="FXG_Rect_RadialGradientStroke_strokeY" description="Rect with a RadialGradientStroke and and (x,y)=(0,20)" keywords="[Line, RadialGradientStroke, x, y]">
@@ -354,9 +338,7 @@
 			</setup>
 			<body>
 				<SetProperty target="rect_radialGradientStroke.rect1.stroke" propertyName="y" value="30" waitTarget="rect_radialGradientStroke.getElementAt(0)" waitEvent="updateComplete"  />
-				<CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="2500" >
-					<ConditionalValue os="win"/>
-				</CompareBitmap>
+				<CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="2500" />
 			</body>
 	    </TestCase>
 <!-- visibility tests -->
@@ -636,9 +618,7 @@
 		            waitTarget="rect_radialGradientStroke.rect1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="5000">
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Rect_XY_matrix_onRadialGradient_fill" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -652,9 +632,7 @@
 		            waitTarget="rect_radialGradientStroke.rect1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="5000" >
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Rect_Rotation_matrix_onRadialGradient_stroke" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -668,9 +646,7 @@
 		            waitTarget="rect_radialGradientStroke.rect1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="5000" >
-					<ConditionalValue os="win" />
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Rect_XY_matrix_onRadialGradient_stroke" keywords="[FXG, GraphicTags, Matrix, Transform, rotation]"
@@ -684,9 +660,7 @@
 		            waitTarget="rect_radialGradientStroke.rect1" waitEvent="updateComplete" />
 		    </setup>
             <body>
-		        <CompareBitmap url="../Properties/baselines/" target="rect_radialGradientStroke" timeout="5000" >
-					<ConditionalValue os="win"/>
-				</CompareBitmap>
+		        <CompareBitmap url="../Properties/baselines/$testID.png" target="rect_radialGradientStroke" timeout="5000" />
             </body>
         </TestCase>
 	    <TestCase testID="FXG_Rect_filters_default" keywords="[FXG, filters, Rect]"

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillX@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillX@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillX@win.png
deleted file mode 100644
index 0c3e203..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillX@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillY@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillY@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillY@win.png
deleted file mode 100644
index 635b9bd..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_fillY@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeX@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeX@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeX@win.png
deleted file mode 100644
index 3c5803c..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeX@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeY@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeY@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeY@win.png
deleted file mode 100644
index 27799e2..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_strokeY@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_0@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_0@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_0@win.png
deleted file mode 100644
index ca81325..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_0@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_20@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_20@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_20@win.png
deleted file mode 100644
index 04581a4..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_0_20@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_20_0@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_20_0@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_20_0@win.png
deleted file mode 100644
index 255a0fd..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_20_0@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_fillRotation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_fillRotation@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_fillRotation@win.png
deleted file mode 100644
index ad92904..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_fillRotation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_strokeRotation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_strokeRotation@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_strokeRotation@win.png
deleted file mode 100644
index 829a9e2..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_RadialGradientStroke_xy_strokeRotation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_fill@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_fill@win.png
deleted file mode 100644
index a262af0..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_stroke@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_stroke@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_stroke@win.png
deleted file mode 100644
index 1f8a484..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_Rotation_matrix_onRadialGradient_stroke@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_fill@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_fill@win.png
deleted file mode 100644
index 75c7cd1..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_stroke@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_stroke@win.png b/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_stroke@win.png
deleted file mode 100644
index 1806f10..0000000
Binary files a/mustella/tests/spark/primitives/Rect/properties/baselines/FXG_Rect_XY_matrix_onRadialGradient_stroke@win.png and /dev/null differ


[43/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/halo/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/halo/build.xml b/frameworks/projects/halo/build.xml
index 8a0aa0d..9464c4b 100644
--- a/frameworks/projects/halo/build.xml
+++ b/frameworks/projects/halo/build.xml
@@ -21,65 +21,54 @@
 
 <project name="halo" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
+    <property file="${FLEX_HOME}/build.properties"/>
 
-	<target name="main" depends="clean,compile" description="Clean build of halo.swc"/>
+    <target name="main" depends="clean,compile" description="Clean build of halo.swc"/>
 
-	<target name="clean">
-		<delete failonerror="false">
-			<fileset file="${basedir}/bundles.properties"/>
-			<fileset dir="${FLEX_HOME}/frameworks/themes/Halo">
-				<include name="halo.swc"/>
-				<include name="halo.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset file="${basedir}/bundles.properties"/>
+            <fileset dir="${FLEX_HOME}/frameworks/themes/Halo">
+                <include name="halo.swc"/>
+                <include name="halo.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
 
-	<target name="compile" description="Compiles halo.swc">
-		<echo message="Compiling frameworks/themes/Halo/halo.swc"/>
+    <target name="compile" description="Compiles halo.swc">
+        <echo message="Compiling frameworks/themes/Halo/halo.swc"/>
 
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			This project builds a theme SWC containing the default stylesheet. 
-			It has no MXML tags and therefore no manifest.
-			Compile against framework.swc, but don't link it into halo.swc.
-			Link in accessibility support.
-			Don't put any resources into the SWC. (The classes don't require any.)
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-			(This should be an empty list.)
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/themes/Halo/halo.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-	                  <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<locale/>
-			<accessible>true</accessible>
-		</compc>
-	</target>
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            This project builds a theme SWC containing the default stylesheet. 
+            It has no MXML tags and therefore no manifest.
+            Compile against framework.swc, but don't link it into halo.swc.
+            Link in accessibility support.
+            Don't put any resources into the SWC. (The classes don't require any.)
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+            (This should be an empty list.)
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/themes/Halo/halo.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
 
-	<target name="doc" depends="clean-temp-docs" description="updates halo.swc with asdoc xml">
-	</target>
+    <target name="doc" depends="clean-temp-docs" description="updates halo.swc with asdoc xml">
+    </target>
 
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-	</target>
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+    </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/halo/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/halo/compile-config.xml b/frameworks/projects/halo/compile-config.xml
new file mode 100644
index 0000000..a905438
--- /dev/null
+++ b/frameworks/projects/halo/compile-config.xml
@@ -0,0 +1,46 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file> 
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/.actionScriptProperties b/frameworks/projects/mobilecomponents/.actionScriptProperties
index 2397ae8..a73fcc3 100644
--- a/frameworks/projects/mobilecomponents/.actionScriptProperties
+++ b/frameworks/projects/mobilecomponents/.actionScriptProperties
@@ -1,24 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
 
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties analytics="false" mainApplicationPath="mobilecomponents.as" projectUUID="fe6cd9e8-ac6c-419a-876e-64da4790b2b9" version="10">
   <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -resource-bundle-list=bundles.properties -namespace=library://ns.adobe.com/flex/spark,../manifest.xml -include-namespaces=library://ns.adobe.com/flex/spark -library-path= -locale= -include-classes=spark.transitions.FlipViewTransitionMode,spark.transitions.ZoomViewTransitionMode" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/.flexLibProperties b/frameworks/projects/mobilecomponents/.flexLibProperties
index f658864..4da7b52 100644
--- a/frameworks/projects/mobilecomponents/.flexLibProperties
+++ b/frameworks/projects/mobilecomponents/.flexLibProperties
@@ -1,24 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
 
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" useMultiPlatformConfig="false" version="3">
   <includeClasses>
     <classEntry path="MobileComponentsClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/.project b/frameworks/projects/mobilecomponents/.project
index 551dd64..660d8d3 100644
--- a/frameworks/projects/mobilecomponents/.project
+++ b/frameworks/projects/mobilecomponents/.project
@@ -17,8 +17,6 @@
   limitations under the License.
 
 -->
-
-
 <projectDescription>
 	<name>mobilecomponents</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/build.xml b/frameworks/projects/mobilecomponents/build.xml
index b6d5bc1..817139e 100644
--- a/frameworks/projects/mobilecomponents/build.xml
+++ b/frameworks/projects/mobilecomponents/build.xml
@@ -25,7 +25,7 @@
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
+    <property file="${FLEX_HOME}/build.properties"/>
 
         <macrodef name="bundle">
             <attribute name="locale"/>
@@ -37,22 +37,12 @@
                 <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
                 
                 <compc fork="true"
-                       output="${FLEX_HOME}/frameworks/locale/@{locale}/mobilecomponents_rb.swc"
-                       locale="@{locale}">
-                    <target-player>10</target-player>
+                       output="${FLEX_HOME}/frameworks/locale/@{locale}/mobilecomponents_rb.swc">
                     <jvmarg line="${compc.jvm.args}"/>
-                    <include-resource-bundles bundle="core"/>
-                    <include-namespaces/>
-                    <include-classes/>
-                    <source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/> 
-                    <include-libraries/>
-                    <library-path/>
-                    <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                        <include name="${playerglobal.version}/playerglobal.swc"/>
-                    </external-library-path>
-                    <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                        <include name="framework.swc"/>
-                    </external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
                 </compc>
             </sequential>
     </macrodef> 
@@ -102,9 +92,9 @@
     <!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
     <target name="bundles">
         <!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
+        <bundler locale="en_AU"/><!-- Australian resources -->
+        <bundler locale="en_GB"/><!-- United Kingdom resources -->
+        <bundler locale="en_CA"/><!-- Canadian resources -->
         <bundler locale="da_DK"/><!-- Danish resources -->
         <bundler locale="de_DE"><!-- German resources -->
             <run.fat.swc>
@@ -141,7 +131,7 @@
             </run.fat.swc>
         </bundler>
         <bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-    	<bundler locale="el_GR"/><!-- Greek Language  resources -->
+        <bundler locale="el_GR"/><!-- Greek Language  resources -->
     </target>
     
     <target name="clean" depends="bundles-clean">
@@ -168,7 +158,7 @@
 
     <target name="compile" description="Compiles mobilecomponents.swc">
         <echo message="Compiling frameworks/libs/mobile/mobilecomponents.swc"/>
-		<echo message="Using ${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" level="info"/>
+        <echo message="Using ${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" level="info"/>
 
         <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
@@ -186,26 +176,12 @@
             Write a bundle list of referenced resource bundles
             into the file bundles.properties in this directory.
         -->
-        <compc fork="true" include-classes="MobileComponentsClasses spark.transitions.FlipViewTransitionMode spark.transitions.ZoomViewTransitionMode"
-               output="${FLEX_HOME}/frameworks/libs/mobile/mobilecomponents.swc"
-               resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/mobile/mobilecomponents.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest.xml"/>
-            <include-namespaces uri="library://ns.adobe.com/flex/spark"/>
-            <source-path path-element="${basedir}/src"/>
-            <library-path/>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-                <include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-            </external-library-path>
-            <external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-            <locale/>
-                <keep-as3-metadata name="SkinPart"/>
-                <accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
         </compc>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/bundle-config.xml b/frameworks/projects/mobilecomponents/bundle-config.xml
new file mode 100644
index 0000000..357197c
--- /dev/null
+++ b/frameworks/projects/mobilecomponents/bundle-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>../framework/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>core</bundle>
+    </include-resource-bundles>
+        
+    <target-player>10</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/compile-config.xml b/frameworks/projects/mobilecomponents/compile-config.xml
new file mode 100644
index 0000000..2527320
--- /dev/null
+++ b/frameworks/projects/mobilecomponents/compile-config.xml
@@ -0,0 +1,66 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>MobileComponentsClasses</class>
+        <class>spark.transitions.FlipViewTransitionMode</class>
+        <class>spark.transitions.ZoomViewTransitionMode</class>
+    </include-classes>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/spark</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as b/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
index c551924..d6a919d 100644
--- a/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
+++ b/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as
@@ -70,7 +70,7 @@ use namespace mx_internal;
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Deprecated(since="4.6")] 
+
 public class FlipViewTransition extends ViewTransitionBase
 {
     //--------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as b/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
index 2748df1..0c4e29c 100644
--- a/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
+++ b/frameworks/projects/mobilecomponents/src/spark/transitions/ZoomViewTransition.as
@@ -55,7 +55,7 @@ use namespace mx_internal;
  *  @playerversion AIR 2.5
  *  @productversion Flex 4.5
  */
-[Deprecated(since="4.6")] 
+
 public class ZoomViewTransition extends ViewTransitionBase
 {
     //--------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobiletheme/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/.actionScriptProperties b/frameworks/projects/mobiletheme/.actionScriptProperties
index 7795197..3a6d36e 100644
--- a/frameworks/projects/mobiletheme/.actionScriptProperties
+++ b/frameworks/projects/mobiletheme/.actionScriptProperties
@@ -1,24 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
 
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties analytics="false" mainApplicationPath="mobiletheme.as" projectUUID="a5cf1b73-b911-4eb1-abc6-e7144be2f4cb" version="10">
   <compiler additionalCompilerArguments="-include-file=defaults.css,../defaults.css -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobiletheme/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/.flexLibProperties b/frameworks/projects/mobiletheme/.flexLibProperties
index 3c36aaf..1627cbb 100644
--- a/frameworks/projects/mobiletheme/.flexLibProperties
+++ b/frameworks/projects/mobiletheme/.flexLibProperties
@@ -1,24 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
 
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
 
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" useMultiPlatformConfig="false" version="3">
   <includeClasses>
     <classEntry path="MobileThemeClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobiletheme/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/.project b/frameworks/projects/mobiletheme/.project
index a9ae00b..0a55bf9 100644
--- a/frameworks/projects/mobiletheme/.project
+++ b/frameworks/projects/mobiletheme/.project
@@ -17,8 +17,6 @@
   limitations under the License.
 
 -->
-
-
 <projectDescription>
 	<name>mobiletheme</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobiletheme/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/build.xml b/frameworks/projects/mobiletheme/build.xml
index a99a0ac..bdec240 100644
--- a/frameworks/projects/mobiletheme/build.xml
+++ b/frameworks/projects/mobiletheme/build.xml
@@ -21,114 +21,99 @@
 
 <project name="mobiletheme" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-
-	<target name="main" depends="clean,compile" description="Clean build of mobile.swc"/>
-
-	<target name="clean">
-		<delete failonerror="false">
-			<fileset file="${basedir}/bundles.properties"/>
-			<fileset dir="${FLEX_HOME}/frameworks/themes/Mobile">
-				<include name="mobile.swc"/>
-				<include name="mobile.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-
-	<target name="compile" description="Compiles mobile.swc">
-		<echo message="Compiling frameworks/themes/Mobile/mobile.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			This project builds a theme SWC containing skin classes.
-			It has no MXML tags and therefore no manifest.
-			Link in the classes (and their dependencies)
-			listed in MobileThemeClasses.as.
-			Compile against framework.swc, but don't link it into mobile.swc.
-			Link in accessibility support.
-			Include various CSS and asset files in the SWC.
-			Don't put any resources into the SWC. (The classes don't require any.)
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-			(This should be an empty list.)
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/themes/Mobile/mobile.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>10</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-classes>MobileThemeClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
+    <property file="${FLEX_HOME}/build.properties"/>
+
+    <target name="main" depends="clean,compile" description="Clean build of mobile.swc"/>
+
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset file="${basedir}/bundles.properties"/>
+            <fileset dir="${FLEX_HOME}/frameworks/themes/Mobile">
+                <include name="mobile.swc"/>
+                <include name="mobile.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+
+    <target name="compile" description="Compiles mobile.swc">
+        <echo message="Compiling frameworks/themes/Mobile/mobile.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            This project builds a theme SWC containing skin classes.
+            It has no MXML tags and therefore no manifest.
+            Link in the classes (and their dependencies)
+            listed in MobileThemeClasses.as.
+            Compile against framework.swc, but don't link it into mobile.swc.
+            Link in accessibility support.
+            Include various CSS and asset files in the SWC.
+            Don't put any resources into the SWC. (The classes don't require any.)
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+            (This should be an empty list.)
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/themes/Mobile/mobile.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+
+    <target name="doc" depends="clean-temp-docs" description="updates mobile.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="MobileThemeClasses"/>
             <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
                 <include name="${playerglobal.version}/playerglobal.swc"/>
             </external-library-path>
             <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs/mobile">
-			    <include name="mobilecomponents.swc" />
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<locale/>
-			<accessible>false</accessible>
-		</compc>
-	</target>
-
-	<target name="doc" depends="clean-temp-docs" description="updates mobile.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-			<compiler.source-path path-element="${basedir}/src"/>
-			<doc-classes class="MobileThemeClasses"/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
+                <include name="framework.swc" />
+                <include name="spark.swc" />
+            </external-library-path>
+            <external-library-path dir="${FLEX_HOME}/frameworks/libs/mobile">
+                <include name="mobilecomponents.swc" />
             </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc" />
-				<include name="spark.swc" />
-			</external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs/mobile">
-			    <include name="mobilecomponents.swc" />
-			</external-library-path>
-			<jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates mobile.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/themes/Mobile/mobile.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-	</target>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates mobile.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/themes/Mobile/mobile.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+    </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mobiletheme/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/compile-config.xml b/frameworks/projects/mobiletheme/compile-config.xml
new file mode 100644
index 0000000..44a3367
--- /dev/null
+++ b/frameworks/projects/mobiletheme/compile-config.xml
@@ -0,0 +1,51 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/mobile/mobilecomponents.swc</path-element>
+        </external-library-path>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>MobileThemeClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/.actionScriptProperties b/frameworks/projects/mx/.actionScriptProperties
index ae0f87e..7206092 100644
--- a/frameworks/projects/mx/.actionScriptProperties
+++ b/frameworks/projects/mx/.actionScriptProperties
@@ -1,35 +1,35 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="mx.as" projectUUID="dbdfcad7-177c-445f-a62f-12c4f7bbfa91" version="6">
-  <compiler additionalCompilerArguments="-keep-as3-metadata=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient --include-file=defaults.css,../defaults.css -include-file=defaults-3.0.0.css,../defaults-3.0.0.css -namespace=library://ns.adobe.com/flex/mx,../manifest.xml -namespace+=http://www.adobe.com/2006/mxml,../manifest.xml -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="mx.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="mx.as" projectUUID="dbdfcad7-177c-445f-a62f-12c4f7bbfa91" version="6">
+  <compiler additionalCompilerArguments="-keep-as3-metadata=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient --include-file=defaults.css,../defaults.css -include-file=defaults-3.0.0.css,../defaults-3.0.0.css -namespace=library://ns.adobe.com/flex/mx,../manifest.xml -namespace+=http://www.adobe.com/2006/mxml,../manifest.xml -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="mx.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/.flexLibProperties b/frameworks/projects/mx/.flexLibProperties
index ba2d4e5..3812e8e 100644
--- a/frameworks/projects/mx/.flexLibProperties
+++ b/frameworks/projects/mx/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="MxClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/build.xml b/frameworks/projects/mx/build.xml
index f2177b3..c66f07d 100644
--- a/frameworks/projects/mx/build.xml
+++ b/frameworks/projects/mx/build.xml
@@ -21,242 +21,211 @@
 
 <project name="mx" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-
-	<macrodef name="bundle">
-		<attribute name="locale"/>
-			<sequential>
-				<echo message="Compiling frameworks/locale/@{locale}/mx_rb.swc"/>
-
-			<!-- Load the <compc> task. We can't do this at the <project> level -->
-			<!-- because targets that run before flexTasks.jar gets built would fail. -->
-			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/mx_rb.swc"
-				   locale="@{locale}">
-				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="containers"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/mx/src"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-					<include name="${playerglobal.version}/playerglobal.swc"/>
-				</external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-	                <include name="framework.swc"/>
-				</external-library-path>
-			</compc>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="fat-swc">
-		<attribute name="locale"/>
-		<sequential>
-			<mkdir dir="${basedir}/bundles/@{locale}/docs" />
-			<zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/mx_rb.swc" update="true">
-				<zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
-					<include name="*.*"/>
-				</zipfileset>
-				<zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
-					<include name="packages.dita"/>
-				</zipfileset>
-			</zip>
-		</sequential>
-	</macrodef>	
-
-	<macrodef name="bundle-clean">
-		<attribute name="locale"/>
-		<sequential>
-			<delete failonerror="false">
-				<fileset dir="${FLEX_HOME}/frameworks/locale">
-					<include name="@{locale}/mx_rb.swc"/>
-					<include name="@{locale}/mx_rb.swc.incr"/>
-				</fileset>
-			</delete>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="bundler">
-		<attribute name="locale"/>
-		<element name="run.fat.swc" optional="yes"/>
-		<sequential>
-			<bundle-clean locale="@{locale}"/>
-			<bundle locale="@{locale}"/>
-			<run.fat.swc/>
-		</sequential>
-	</macrodef>
-	
-	<target name="main" depends="clean,compile" description="Clean build of mx.swc and en_US">
-		<bundle locale="${locale}"/>
-	</target>
-	
-	<target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
-	
-	<!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
-	<!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
-	<target name="bundles">
-		<!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
-		<bundler locale="da_DK"/><!-- Danish resources -->
-		<bundler locale="de_DE"><!-- German resources -->
-			<run.fat.swc>
-				<fat-swc locale="de_DE"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="es_ES"/><!-- Spanish resources -->
-		<bundler locale="fi_FI"/><!--  Finnish resources-->
-		<bundler locale="fr_FR"><!-- French resources -->
-			<run.fat.swc>
-				<fat-swc locale="fr_FR"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="it_IT"/><!-- Italian resources -->
-		<bundler locale="ja_JP"><!-- Japanese resources -->
-			<run.fat.swc>
-				<fat-swc locale="ja_JP"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="ko_KR"/><!-- Korean resources -->
-		<bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
-		<bundler locale="nl_NL"/><!-- Dutch resources -->
-		<bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
-		<bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
-		<bundler locale="ru_RU"><!-- Russian resources -->
-			<run.fat.swc>
-				<fat-swc locale="ru_RU"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="sv_SE"/><!-- Swedish resources -->
-		<bundler locale="zh_CN"><!-- Simplified Chinese resources -->
-			<run.fat.swc>
-				<fat-swc locale="zh_CN"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-		<bundler locale="el_GR"/><!-- Greek Language  resources -->
-	</target>
-	
-	<target name="clean" depends="bundles-clean">
-		<delete failonerror="false">
-			<fileset dir="${basedir}" >
-				<include name="bundles.properties"/>
-			    <include name="bundles/en_US/packages.dita"/>
-			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/libs/mx">
-				<include name="mx.swc"/>
-				<include name="mx.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="bundles-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/locale">
-				<include name="*/mx_rb.swc"/>
-				<include name="*/mx_rb.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="compile" description="Compiles mx.swc">
-		<echo message="Compiling frameworks/libs/mx/mx.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			Link in the classes (and their dependencies) for the MXML tags
-			listed in this project's manifest.xml.
-			Also link the additional classes (and their dependencies)
-			listed in MxClasses.as,
-			because these aren't referenced by the manifest classes.
-			Keep the standard metadata when compiling.
-			Link in accessibility support.
-			Include the appropriate CSS files and assets in the SWC.
-			Don't include any resources in the SWC.
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/mx/mx.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest.xml"/>
-			<namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/mx"/>
-			<include-classes>MxClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                  <include name="textLayout.swc"/>
-                  <include name="framework.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<include-file name="defaults-3.0.0.css" path="${basedir}/defaults-3.0.0.css"/>
-			<locale/>
-			<accessible>true</accessible>
-			<keep-as3-metadata name="Bindable"/>
-			<keep-as3-metadata name="Managed"/>
-			<keep-as3-metadata name="ChangeEvent"/>
-			<keep-as3-metadata name="NonCommittingChangeEvent"/>
-			<keep-as3-metadata name="Transient"/>
-		</compc>
-	</target>
-	
-	<target name="doc" depends="clean-temp-docs" description="updates mx.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		    <compiler.source-path path-element="${basedir}/src"/>
-		    <doc-classes class="MxClasses"/>
-		    <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
-		    <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates mx.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/locale/en_US/mx_rb.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-		<copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-		<delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
-	</target>
+    <property file="${FLEX_HOME}/build.properties"/>
+
+    <macrodef name="bundle">
+        <attribute name="locale"/>
+            <sequential>
+                <echo message="Compiling frameworks/locale/@{locale}/mx_rb.swc"/>
+
+            <!-- Load the <compc> task. We can't do this at the <project> level -->
+            <!-- because targets that run before flexTasks.jar gets built would fail. -->
+            <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+            <compc fork="true"
+                   output="${FLEX_HOME}/frameworks/locale/@{locale}/mx_rb.swc">
+                <jvmarg line="${compc.jvm.args}"/>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
+            </compc>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="fat-swc">
+        <attribute name="locale"/>
+        <sequential>
+            <mkdir dir="${basedir}/bundles/@{locale}/docs" />
+            <zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/mx_rb.swc" update="true">
+                <zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
+                    <include name="*.*"/>
+                </zipfileset>
+                <zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
+                    <include name="packages.dita"/>
+                </zipfileset>
+            </zip>
+        </sequential>
+    </macrodef> 
+
+    <macrodef name="bundle-clean">
+        <attribute name="locale"/>
+        <sequential>
+            <delete failonerror="false">
+                <fileset dir="${FLEX_HOME}/frameworks/locale">
+                    <include name="@{locale}/mx_rb.swc"/>
+                    <include name="@{locale}/mx_rb.swc.incr"/>
+                </fileset>
+            </delete>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="bundler">
+        <attribute name="locale"/>
+        <element name="run.fat.swc" optional="yes"/>
+        <sequential>
+            <bundle-clean locale="@{locale}"/>
+            <bundle locale="@{locale}"/>
+            <run.fat.swc/>
+        </sequential>
+    </macrodef>
+    
+    <target name="main" depends="clean,compile" description="Clean build of mx.swc and en_US">
+        <bundle locale="${locale}"/>
+    </target>
+    
+    <target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
+    
+    <!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
+    <!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
+    <target name="bundles">
+        <!-- these languages do not have localized docs-->
+        <bundler locale="en_AU"/><!-- Australian resources -->
+        <bundler locale="en_GB"/><!-- United Kingdom resources -->
+        <bundler locale="en_CA"/><!-- Canadian resources -->
+        <bundler locale="da_DK"/><!-- Danish resources -->
+        <bundler locale="de_DE"><!-- German resources -->
+            <run.fat.swc>
+                <fat-swc locale="de_DE"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="de_CH"/><!-- Swiss German resources -->
+        <bundler locale="es_ES"/><!-- Spanish resources -->
+        <bundler locale="fi_FI"/><!--  Finnish resources-->
+        <bundler locale="fr_FR"><!-- French resources -->
+            <run.fat.swc>
+                <fat-swc locale="fr_FR"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="it_IT"/><!-- Italian resources -->
+        <bundler locale="ja_JP"><!-- Japanese resources -->
+            <run.fat.swc>
+                <fat-swc locale="ja_JP"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="ko_KR"/><!-- Korean resources -->
+        <bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
+        <bundler locale="nl_NL"/><!-- Dutch resources -->
+        <bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
+        <bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
+        <bundler locale="ru_RU"><!-- Russian resources -->
+            <run.fat.swc>
+                <fat-swc locale="ru_RU"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="sv_SE"/><!-- Swedish resources -->
+        <bundler locale="zh_CN"><!-- Simplified Chinese resources -->
+            <run.fat.swc>
+                <fat-swc locale="zh_CN"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
+        <bundler locale="el_GR"/><!-- Greek Language  resources -->
+    </target>
+    
+    <target name="clean" depends="bundles-clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}" >
+                <include name="bundles.properties"/>
+                <include name="bundles/en_US/packages.dita"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/libs/mx">
+                <include name="mx.swc"/>
+                <include name="mx.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="bundles-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/locale">
+                <include name="*/mx_rb.swc"/>
+                <include name="*/mx_rb.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="compile" description="Compiles mx.swc">
+        <echo message="Compiling frameworks/libs/mx/mx.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in MxClasses.as,
+            because these aren't referenced by the manifest classes.
+            Keep the standard metadata when compiling.
+            Link in accessibility support.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/mx/mx.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+    
+    <target name="doc" depends="clean-temp-docs" description="updates mx.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="MxClasses"/>
+            <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
+            <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates mx.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/locale/en_US/mx_rb.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+        <copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+        <delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
+    </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/bundle-config.xml b/frameworks/projects/mx/bundle-config.xml
new file mode 100644
index 0000000..0186d61
--- /dev/null
+++ b/frameworks/projects/mx/bundle-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>containers</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/bundles/de_CH/containers.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/bundles/de_CH/containers.properties b/frameworks/projects/mx/bundles/de_CH/containers.properties
new file mode 100644
index 0000000..e356297
--- /dev/null
+++ b/frameworks/projects/mx/bundles/de_CH/containers.properties
@@ -0,0 +1,27 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# CanvasLayout
+
+rowNotFound=ConstraintRow '{0}' nicht gefunden.
+columnNotFound=ConstraintColumn '{0}' nicht gefunden.
+noRowsFound=Keine ConstraintRows gefunden.
+noColumnsFound=Keine ConstraintColumns gefunden.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/compile-config.xml b/frameworks/projects/mx/compile-config.xml
new file mode 100644
index 0000000..f64e3b8
--- /dev/null
+++ b/frameworks/projects/mx/compile-config.xml
@@ -0,0 +1,73 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+        <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
+        </keep-as3-metadata>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>http://www.adobe.com/2006/mxml</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes>
+        <class>MxClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-3.0.0.css</name>
+        <path>defaults-3.0.0.css</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/src/mx/controls/DataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/src/mx/controls/DataGrid.as b/frameworks/projects/mx/src/mx/controls/DataGrid.as
index 10574f0..438a826 100644
--- a/frameworks/projects/mx/src/mx/controls/DataGrid.as
+++ b/frameworks/projects/mx/src/mx/controls/DataGrid.as
@@ -5014,7 +5014,7 @@ public class DataGrid extends DataGridBase implements IIMESupport
             var target:DisplayObject = DisplayObject(event.relatedObject);
             while (target && target != this)
             {
-                if (target is IListItemRenderer && target.parent.parent == this && target.parent is ListBaseContentHolder)
+                if (target is IListItemRenderer && target.parent is ListBaseContentHolder && target.parent.parent == this)
                 {
                     if (target.visible)
                     {
@@ -5057,11 +5057,15 @@ public class DataGrid extends DataGridBase implements IIMESupport
      */
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
-        if (itemEditorInstance || event.target != event.currentTarget)
+		if (itemEditorInstance || !owns(DisplayObject(event.target)))
+		{
             return;
-
+		}
+		
         if (event.keyCode != Keyboard.SPACE)
+        {
             super.keyDownHandler(event);
+        }
         else if (caretIndex != -1)
         {
             moveSelectionVertically(event.keyCode, event.shiftKey, event.ctrlKey);

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/mx/src/mx/controls/RadioButtonGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mx/src/mx/controls/RadioButtonGroup.as b/frameworks/projects/mx/src/mx/controls/RadioButtonGroup.as
index 1a768d5..5ce9af8 100644
--- a/frameworks/projects/mx/src/mx/controls/RadioButtonGroup.as
+++ b/frameworks/projects/mx/src/mx/controls/RadioButtonGroup.as
@@ -22,14 +22,16 @@ package mx.controls
 
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
+import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.EventDispatcher;
+
 import mx.core.FlexGlobals;
 import mx.core.IFlexDisplayObject;
 import mx.core.IMXMLObject;
 import mx.core.IRawChildrenContainer;
-import mx.core.mx_internal;
 import mx.core.UIComponent;
+import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.events.ItemClickEvent;
 
@@ -477,8 +479,8 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
         instance.addEventListener(Event.REMOVED, radioButton_removedHandler);
         radioButtons.push(instance);
 
-        // Apply group indices in "breadth-first" order.
-        radioButtons.sort(breadthOrderCompare);
+        // Apply group indices in "tab order" or "breadth-first" order.
+        radioButtons.sort(readOrderCompare);
         for (var i:int = 0; i < radioButtons.length; i++)
             radioButtons[i].indexNumber = i;
 
@@ -604,16 +606,37 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
 
     /**
      *  @private
+	 *  Comparison function used to sort items as they are added to the radioButtons array.
+	 *  Compares by tabIndex or if neither item defines a tabIndex, by "breadthOrder."
+	 * 
+	 *  Returns -1 if a is before b in sort order, 0 if a and b have same
+     *  sort order and 1 if a after b in sort order.
      */
-    private function breadthOrderCompare(a:DisplayObject, b:DisplayObject):Number
+    private function readOrderCompare(a:DisplayObject, b:DisplayObject):Number
     {
         var aParent:DisplayObject = (a is UIComponent) ? UIComponent(a).$parent : a.parent;
         var bParent:DisplayObject = (b is UIComponent) ? UIComponent(b).$parent : b.parent;
 
         if (!aParent || !bParent)
             return 0;
-
-        var aNestLevel:int = (a is UIComponent) ? UIComponent(a).nestLevel : -1;
+		
+		// first check to see if we can compare by tabIndex
+		var aTabIndex:int = (a is InteractiveObject) ? InteractiveObject(a).tabIndex : -1;
+		var bTabIndex:int = (b is InteractiveObject) ? InteractiveObject(b).tabIndex : -1;
+		
+		// if one of the items being compared has a defined tabIndex, compare by tabIndex
+		if(aTabIndex > -1 || bTabIndex > -1)
+		{
+			if (aTabIndex > bTabIndex)
+				return (bTabIndex == -1) ? -1 : 1; // items with assigned tabIndex come before those without
+			if (aTabIndex < bTabIndex)
+				return (aTabIndex == -1) ? 1 : -1; // items without assigned tabIndex come after those without
+			if (a == b)
+				return 0;
+		}
+		
+		// if neither item has a defined tabIndex we compare by "breadthOrder"
+		var aNestLevel:int = (a is UIComponent) ? UIComponent(a).nestLevel : -1;
         var bNestLevel:int = (b is UIComponent) ? UIComponent(b).nestLevel : -1;
 
         var aIndex:int = DisplayObjectContainer(aParent).getChildIndex(a);
@@ -627,7 +650,7 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
         else if (a == b)
             return 0;
         else // Nest levels are identical, compare ancestors.
-            return breadthOrderCompare(aParent, bParent);
+            return readOrderCompare(aParent, bParent);
     }
 
     //--------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/playerglobal/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/playerglobal/build.xml b/frameworks/projects/playerglobal/build.xml
index 1063b59..779daf4 100644
--- a/frameworks/projects/playerglobal/build.xml
+++ b/frameworks/projects/playerglobal/build.xml
@@ -31,23 +31,12 @@
 				<echo message="Compiling frameworks/locale/@{locale}/playerglobal_rb.swc"/>
 
 				<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-				<compc fork="true" output="${FLEX_HOME}/frameworks/locale/@{locale}/playerglobal_rb.swc"
-					locale="@{locale}">
+				<compc fork="true" output="${FLEX_HOME}/frameworks/locale/@{locale}/playerglobal_rb.swc">
 					<jvmarg line="${compc.jvm.args}"/>
-					<target-player>${playerglobal.version}</target-player>
-					<include-resource-bundles bundle="empty"/>
-					<include-namespaces/>
-					<include-classes>Empty</include-classes>
-					<source-path path-element="${basedir}/bundles/@{locale}"/>
-					<source-path path-element="${basedir}/src"/>
-					<include-libraries/>
-					<library-path/>
-                    <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                        <include name="${playerglobal.version}/playerglobal.swc"/>
-                    </external-library-path>
-					<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-						<include name="framework.swc"/>
-					</external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
 				</compc>
 		</sequential>
 	</macrodef>	
@@ -102,23 +91,12 @@
         <echo message="Compiling frameworks/locale/${locale}/playerglobal_rb.swc"/>
 
         <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-        <compc fork="true" output="${FLEX_HOME}/frameworks/locale/${locale}/playerglobal_rb.swc"
-            locale="${locale}">
+        <compc fork="true" output="${FLEX_HOME}/frameworks/locale/${locale}/playerglobal_rb.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <target-player>${playerglobal.version}</target-player>
-            <include-resource-bundles bundle="empty"/>
-            <include-namespaces/>
-            <include-classes>Empty</include-classes>
-            <source-path path-element="${basedir}/bundles/${locale}"/>
-            <source-path path-element="${basedir}/src"/>
-            <include-libraries/>
-            <library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-            </external-library-path>
+            <load-config filename="bundle-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+locale=${locale}" />
         </compc>
     </target>
   

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/playerglobal/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/playerglobal/bundle-config.xml b/frameworks/projects/playerglobal/bundle-config.xml
new file mode 100644
index 0000000..a8af19b
--- /dev/null
+++ b/frameworks/projects/playerglobal/bundle-config.xml
@@ -0,0 +1,52 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes>
+        <class>Empty</class>
+    </include-classes>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>empty</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>


[19/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeContext.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeContext.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeContext.java
index 7745f45..b94f893 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeContext.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeContext.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,8 +23,8 @@ import java.awt.geom.Dimension2D;
 import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.lang.ref.SoftReference;
+import java.lang.ref.WeakReference;
 import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -34,6 +35,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.WeakHashMap;
 
+import org.apache.flex.forks.batik.bridge.svg12.SVG12BridgeContext;
 import org.apache.flex.forks.batik.bridge.svg12.SVG12BridgeExtension;
 import org.apache.flex.forks.batik.css.engine.CSSContext;
 import org.apache.flex.forks.batik.css.engine.CSSEngine;
@@ -43,11 +45,16 @@ import org.apache.flex.forks.batik.css.engine.CSSEngineUserAgent;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
 import org.apache.flex.forks.batik.css.engine.SystemColorSupport;
 import org.apache.flex.forks.batik.css.engine.value.Value;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.AnimatedAttributeListener;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
 import org.apache.flex.forks.batik.dom.svg.SVGContext;
 import org.apache.flex.forks.batik.dom.svg.SVGDOMImplementation;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
 import org.apache.flex.forks.batik.dom.svg.SVGStylableElement;
+import org.apache.flex.forks.batik.dom.xbl.XBLManager;
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.TextPainter;
@@ -58,6 +65,7 @@ import org.apache.flex.forks.batik.util.CleanerThread;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.apache.flex.forks.batik.util.SVGConstants;
 import org.apache.flex.forks.batik.util.Service;
+import org.apache.flex.forks.batik.util.XMLConstants;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -67,7 +75,7 @@ import org.w3c.dom.events.EventListener;
 import org.w3c.dom.events.EventTarget;
 import org.w3c.dom.events.MouseEvent;
 import org.w3c.dom.events.MutationEvent;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * This class represents a context used by the various bridges and the
@@ -80,7 +88,7 @@ import org.w3c.flex.forks.dom.svg.SVGDocument;
  * a SVG DOM tree such as the current viewport or the user agent.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: BridgeContext.java,v 1.83 2005/03/29 10:48:02 deweese Exp $
+ * @version $Id: BridgeContext.java 599681 2007-11-30 02:55:48Z cam $
  */
 public class BridgeContext implements ErrorConstants, CSSContext {
 
@@ -90,6 +98,11 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected Document document;
 
     /**
+     * Whether the document is an SVG 1.2 document.
+     */
+    protected boolean isSVG12;
+
+    /**
      * The GVT builder that might be used to create a GVT subtree.
      */
     protected GVTBuilder gvtBuilder;
@@ -147,6 +160,22 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected Map namespaceURIMap;
 
     /**
+     * Default bridge.
+     * When a bridge is requested for an element type that does not have a
+     * bridge, and there is no other bridge for elements in the same namespace,
+     * the default bridge is returned.  This is used for custom elements,
+     * which all use the same bridge type.
+     */
+    protected Bridge defaultBridge;
+
+    /**
+     * Default bridge reserved namespaces set.
+     * Default bridges will not be created for elements that have a
+     * namespace URI present in this set.
+     */
+    protected Set reservedNamespaceSet;
+
+    /**
      * Element Data Map:
      * This is a general location for elements to 'cache'
      * data.  Such as the graphics tree for a pattern or
@@ -158,7 +187,6 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      */
     protected Map elementDataMap;
 
-
     /**
      * The interpreter pool used to handle scripts.
      */
@@ -186,20 +214,21 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      * the DOM tree (in practice text holds references to the source
      * text elements for font resolution).
      */
-    public final static int STATIC      = 0;
+    public static final int STATIC      = 0;
+
     /**
      * Indicates that DOM listeners should be registered to support,
      * 'interactivity' this includes anchors and cursors, but does not
      * include support for DOM modifications.
      */
-    public final static int INTERACTIVE = 1;
+    public static final int INTERACTIVE = 1;
 
     /**
      * Indicates that all DOM listeners should be registered. This supports
      * 'interactivity' (anchors and cursors), as well as DOM modifications
      * listeners to update the GVT rendering tree.
      */
-    public final static int DYNAMIC     = 2;
+    public static final int DYNAMIC     = 2;
 
     /**
      * Whether the bridge should support dynamic, or interactive features.
@@ -212,9 +241,35 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected UpdateManager updateManager;
 
     /**
-     * Constructs a new empty bridge context.
+     * The XBL manager.
      */
-    protected BridgeContext() {}
+    protected XBLManager xblManager;
+
+    /**
+     * The bridge context for the primary document, if this is a bridge
+     * context for a resource document.
+     */
+    protected BridgeContext primaryContext;
+
+    /**
+     * Set of WeakReferences to child BridgeContexts.
+     */
+    protected HashSet childContexts = new HashSet();
+
+    /**
+     * The animation engine for the document.
+     */
+    protected SVGAnimationEngine animationEngine;
+
+    /**
+     * The animation limiting mode.
+     */
+    protected int animationLimitingMode;
+
+    /**
+     * The amount of animation limiting.
+     */
+    protected float animationLimitingAmount;
 
     /**
      * By default we share a unique instance of InterpreterPool.
@@ -222,6 +277,11 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     private static InterpreterPool sharedPool = new InterpreterPool();
 
     /**
+     * Constructs a new empty bridge context.
+     */
+    protected BridgeContext() {}
+
+    /**
      * Constructs a new bridge context.
      * @param userAgent the user agent
      */
@@ -257,6 +317,56 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     }
 
     /**
+     * Calls dispose on this BridgeContext, if it is a child context.
+     */
+    protected void finalize() {
+        if (primaryContext != null) {
+            dispose();
+        }
+    }
+
+    /**
+     * This function creates a new 'sub' BridgeContext to associated
+     * with 'newDoc' if one currently doesn't exist, otherwise it
+     * returns the BridgeContext currently associated with the
+     * document.
+     * @param newDoc The document to get/create a BridgeContext for.
+     */
+    public BridgeContext createSubBridgeContext(SVGOMDocument newDoc) {
+        BridgeContext subCtx;
+
+        CSSEngine eng = newDoc.getCSSEngine();
+        if (eng != null) {
+            subCtx = (BridgeContext) newDoc.getCSSEngine().getCSSContext();
+            return subCtx;
+        }
+
+        subCtx = createBridgeContext(newDoc);
+        subCtx.primaryContext = primaryContext != null ? primaryContext : this;
+        subCtx.primaryContext.childContexts.add(new WeakReference(subCtx));
+        subCtx.dynamicStatus = dynamicStatus;
+        subCtx.setGVTBuilder(getGVTBuilder());
+        subCtx.setTextPainter(getTextPainter());
+        subCtx.setDocument(newDoc);
+        subCtx.initializeDocument(newDoc);
+        if (isInteractive())
+            subCtx.addUIEventListeners(newDoc);
+        return subCtx;
+    }
+
+    /**
+     * This function creates a new BridgeContext, it mostly
+     * exists so subclasses can provide an instance of
+     * themselves when a sub BridgeContext is needed.
+     */
+    public BridgeContext createBridgeContext(SVGOMDocument doc) {
+        if (doc.isSVG12()) {
+            return new SVG12BridgeContext(getUserAgent(), getDocumentLoader());
+        }
+        return new BridgeContext(getUserAgent(), getDocumentLoader());
+    }
+
+    /**
      * Initializes the given document.
      */
     protected void initializeDocument(Document document) {
@@ -272,10 +382,10 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             String uri = userAgent.getUserStyleSheetURI();
             if (uri != null) {
                 try {
-                    URL url = new URL(uri);
+                    ParsedURL url = new ParsedURL(uri);
                     eng.setUserAgentStyleSheet
                         (eng.parseStyleSheet(url, "all"));
-                } catch (MalformedURLException e) {
+                } catch (Exception e) {
                     userAgent.displayError(e);
                 }
             }
@@ -298,17 +408,17 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      * might be used by bridges (especially SVGTextElementBridge) to set the
      * text painter of each TextNode.
      *
-     * @param textPainter the text painter for text nodes 
+     * @param textPainter the text painter for text nodes
      */
     public void setTextPainter(TextPainter textPainter) {
-	this.textPainter = textPainter;
+        this.textPainter = textPainter;
     }
 
     /**
      * Returns the text painter that will be used be text nodes.
      */
     public TextPainter getTextPainter() {
-	return textPainter;
+        return textPainter;
     }
 
     /**
@@ -328,6 +438,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             fontFamilyMap = null;
         }
         this.document = document;
+        this.isSVG12 = ((SVGOMDocument) document).isSVG12();
         registerSVGBridges();
     }
 
@@ -351,20 +462,19 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     }
 
     /**
-     * Set Element Data.
-     * Associates data object with element so it can be
-     * retrieved later.
+     * Associates a data object with a node so it can be retrieved later.
+     * This is primarily used for caching the graphics node generated from
+     * a 'pattern' element.  A soft reference to the data object is used.
      */
     public void setElementData(Node n, Object data) {
-        if (elementDataMap == null)
+        if (elementDataMap == null) {
             elementDataMap = new WeakHashMap();
+        }
         elementDataMap.put(n, new SoftReference(data));
     }
 
     /**
-     * Set Element Data.
-     * Associates data object with element so it can be
-     * retrieved later.
+     * Retrieves a data object associated with the given node.
      */
     public Object getElementData(Node n) {
         if (elementDataMap == null)
@@ -516,8 +626,8 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     }
 
     /**
-     * Sets the document as a STATIC, INTERACTIVE or DYNAMIC document. 
-     * Call this method before the build phase 
+     * Sets the document as a STATIC, INTERACTIVE or DYNAMIC document.
+     * Call this method before the build phase
      * (ie. before <tt>gvtBuilder.build(...)</tt>)
      * otherwise, that will have no effect.
      *
@@ -549,7 +659,6 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             setDynamicState(STATIC);
     }
 
-
     /**
      * Returns the update manager, if the bridge supports dynamic features.
      */
@@ -564,60 +673,132 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         updateManager = um;
     }
 
+    /**
+     * Sets the update manager on the given BridgeContext.
+     */
+    protected void setUpdateManager(BridgeContext ctx, UpdateManager um) {
+        ctx.setUpdateManager(um);
+    }
+
+    /**
+     * Sets the xblManager variable of the given BridgeContext.
+     */
+    protected void setXBLManager(BridgeContext ctx, XBLManager xm) {
+        ctx.xblManager = xm;
+    }
+
+    /**
+     * Returns whether the managed document is an SVG 1.2 document.
+     */
+    public boolean isSVG12() {
+        return isSVG12;
+    }
+
+    /**
+     * Returns the primary bridge context.
+     */
+    public BridgeContext getPrimaryBridgeContext() {
+        if (primaryContext != null) {
+            return primaryContext;
+        }
+        return this;
+    }
+
+    /**
+     * Returns an array of the child contexts.
+     */
+    public BridgeContext[] getChildContexts() {
+        BridgeContext[] res = new BridgeContext[childContexts.size()];
+        Iterator it = childContexts.iterator();
+        for (int i = 0; i < res.length; i++) {
+            WeakReference wr = (WeakReference) it.next();
+            res[i] = (BridgeContext) wr.get();
+        }
+        return res;
+    }
+
+    /**
+     * Returns the AnimationEngine for the document.  Creates one if
+     * it doesn't exist.
+     */
+    public SVGAnimationEngine getAnimationEngine() {
+        if (animationEngine == null) {
+            animationEngine = new SVGAnimationEngine(document, this);
+            setAnimationLimitingMode();
+        }
+        return animationEngine;
+    }
+
     // reference management //////////////////////////////////////////////////
 
     /**
-     * Returns the element referenced by the specified element by the
-     * specified uri. The referenced element can not be a Document.
-     *
+     * Returns a new URIResolver object.
+     */
+    public URIResolver createURIResolver(SVGDocument doc, DocumentLoader dl) {
+        return new URIResolver(doc, dl);
+    }
+
+    /**
+     * Returns the node referenced by the specified element by the specified
+     * uri. The referenced node can be either an element given by a fragment
+     * ID, or the document node.
      * @param e the element referencing
-     * @param uri the uri of the referenced element
+     * @param uri the uri of the referenced node
      */
-    public Element getReferencedElement(Element e, String uri) {
+    public Node getReferencedNode(Element e, String uri) {
         try {
             SVGDocument document = (SVGDocument)e.getOwnerDocument();
-            URIResolver ur = new URIResolver(document, documentLoader);
-            Element ref = ur.getElement(uri, e);
+            URIResolver ur = createURIResolver(document, documentLoader);
+            Node ref = ur.getNode(uri, e);
             if (ref == null) {
-                throw new BridgeException(e, ERR_URI_BAD_TARGET,
+                throw new BridgeException(this, e, ERR_URI_BAD_TARGET,
                                           new Object[] {uri});
             } else {
-                SVGOMDocument refDoc = (SVGOMDocument)ref.getOwnerDocument();
+                SVGOMDocument refDoc =
+                    (SVGOMDocument) (ref.getNodeType() == Node.DOCUMENT_NODE
+                                       ? ref
+                                       : ref.getOwnerDocument());
                 // This is new rather than attaching this BridgeContext
-                // with the new document we now create a whole new 
+                // with the new document we now create a whole new
                 // BridgeContext to go with the new document.
                 // This means that the new document has it's own
                 // world of stuff and it should avoid memory leaks
                 // since the new document isn't 'tied into' this
                 // bridge context.
                 if (refDoc != document) {
-                    CSSEngine eng = refDoc.getCSSEngine();
-                    if (eng == null) {
-                        BridgeContext subCtx;
-                        subCtx = new BridgeContext(getUserAgent(),
-                                                   getDocumentLoader());
-                        subCtx.setGVTBuilder(getGVTBuilder());
-                        subCtx.setDocument(refDoc);
-                        subCtx.initializeDocument(refDoc);
-                    }
+                    createSubBridgeContext(refDoc);
                 }
                 return ref;
             }
         } catch (MalformedURLException ex) {
-            throw new BridgeException(e, ERR_URI_MALFORMED,
+            throw new BridgeException(this, e, ex, ERR_URI_MALFORMED,
                                       new Object[] {uri});
         } catch (InterruptedIOException ex) {
             throw new InterruptedBridgeException();
         } catch (IOException ex) {
-            throw new BridgeException(e, ERR_URI_IO,
-                                      new Object[] {uri});
-        } catch (IllegalArgumentException ex) {
-            throw new BridgeException(e, ERR_URI_REFERENCE_A_DOCUMENT,
+            //ex.printStackTrace();
+            throw new BridgeException(this, e, ex, ERR_URI_IO,
                                       new Object[] {uri});
         } catch (SecurityException ex) {
-            throw new BridgeException(e, ERR_URI_UNSECURE,
+            throw new BridgeException(this, e, ex, ERR_URI_UNSECURE,
+                                      new Object[] {uri});
+        }
+    }
+
+    /**
+     * Returns the element referenced by the specified element by the
+     * specified uri. The referenced element can not be a Document.
+     *
+     * @param e the element referencing
+     * @param uri the uri of the referenced element
+     */
+    public Element getReferencedElement(Element e, String uri) {
+        Node ref = getReferencedNode(e, uri);
+        if (ref != null && ref.getNodeType() != Node.ELEMENT_NODE) {
+            throw new BridgeException(this, e, ERR_URI_REFERENCE_A_DOCUMENT,
                                       new Object[] {uri});
         }
+        return (Element) ref;
     }
 
     // Viewport //////////////////////////////////////////////////////////////
@@ -684,72 +865,76 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     // Bindings //////////////////////////////////////////////////////////////
 
     /**
-     * Binds the specified GraphicsNode to the specified Element. This method
+     * Binds the specified GraphicsNode to the specified Node. This method
      * automatically bind the graphics node to the element and the element to
      * the graphics node.
      *
-     * @param element the element to bind to the specified graphics node
-     * @param node the graphics node to bind to the specified element
+     * @param node the DOM Node to bind to the specified graphics node
+     * @param gn the graphics node to bind to the specified element
      */
-    public void bind(Element element, GraphicsNode node) {
+    public void bind(Node node, GraphicsNode gn) {
         if (elementNodeMap == null) {
             elementNodeMap = new WeakHashMap();
             nodeElementMap = new WeakHashMap();
         }
-        elementNodeMap.put(element, new SoftReference(node));
-        nodeElementMap.put(node, new SoftReference(element));
+        elementNodeMap.put(node, new SoftReference(gn));
+        nodeElementMap.put(gn, new SoftReference(node));
     }
 
     /**
-     * Removes the binding of the specified Element.
+     * Removes the binding of the specified Node.
      *
-     * @param element the element to unbind
+     * @param node the DOM Node to unbind
      */
-    public void unbind(Element element) {
+    public void unbind(Node node) {
         if (elementNodeMap == null) {
             return;
         }
-        GraphicsNode node = null;
-        SoftReference sr = (SoftReference)elementNodeMap.get(element);
+        GraphicsNode gn = null;
+        SoftReference sr = (SoftReference)elementNodeMap.get(node);
         if (sr != null)
-            node = (GraphicsNode)sr.get();
-        elementNodeMap.remove(element);
-        if (node != null)
-            nodeElementMap.remove(node);
+            gn = (GraphicsNode)sr.get();
+        elementNodeMap.remove(node);
+        if (gn != null)
+            nodeElementMap.remove(gn);
     }
 
     /**
-     * Returns the GraphicsNode associated to the specified Element or
+     * Returns the GraphicsNode associated to the specified Node or
      * null if any.
      *
-     * @param element the element associated to the graphics node to return
+     * @param node the DOM Node associated to the graphics node to return
      */
-    public GraphicsNode getGraphicsNode(Element element) {
+    public GraphicsNode getGraphicsNode(Node node) {
         if (elementNodeMap != null) {
-            SoftReference sr = (SoftReference)elementNodeMap.get(element);
-            if (sr != null) 
+            SoftReference sr = (SoftReference)elementNodeMap.get(node);
+            if (sr != null)
                 return (GraphicsNode)sr.get();
         }
         return null;
     }
 
     /**
-     * Returns the Element associated to the specified GraphicsNode or
+     * Returns the Node associated to the specified GraphicsNode or
      * null if any.
      *
-     * @param node the graphics node associated to the element to return
+     * @param gn the graphics node associated to the element to return
      */
-    public Element getElement(GraphicsNode node) {
+    public Element getElement(GraphicsNode gn) {
         if (nodeElementMap != null) {
-            SoftReference sr = (SoftReference)nodeElementMap.get(node);
-            if (sr != null) 
-                return (Element)sr.get();
+            SoftReference sr = (SoftReference)nodeElementMap.get(gn);
+            if (sr != null) {
+                Node n = (Node) sr.get();
+                if (n.getNodeType() == Node.ELEMENT_NODE) {
+                    return (Element) n;
+                }
+            }
         }
         return null;
     }
 
     // Bridge management /////////////////////////////////////////////////////
- 
+
     /**
      * Returns true if the specified element has a GraphicsNodeBridge
      * associated to it, false otherwise.
@@ -771,6 +956,13 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     }
 
     /**
+     * Returns the bridge for the document node.
+     */
+    public DocumentBridge getDocumentBridge() {
+        return new SVGDocumentBridge();
+    }
+
+    /**
      * Returns the bridge associated with the specified element.
      *
      * @param element the element
@@ -793,11 +985,18 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      *
      */
     public Bridge getBridge(String namespaceURI, String localName) {
-        HashMap localNameMap = (HashMap) namespaceURIMap.get(namespaceURI);
-        if (localNameMap == null) {
-            return null;
+        Bridge bridge = null;
+        if (namespaceURIMap != null) {
+            HashMap localNameMap = (HashMap) namespaceURIMap.get(namespaceURI);
+            if (localNameMap != null) {
+                bridge = (Bridge)localNameMap.get(localName);
+            }
+        }
+        if (bridge == null
+                && (reservedNamespaceSet == null
+                    || !reservedNamespaceSet.contains(namespaceURI))) {
+            bridge = defaultBridge;
         }
-        Bridge bridge = (Bridge)localNameMap.get(localName);
         if (isDynamic()) {
             return bridge == null ? null : bridge.getInstance();
         } else {
@@ -835,7 +1034,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     }
 
     /**
-     * Associates the specified <tt>Bridge</tt> object with it's 
+     * Associates the specified <tt>Bridge</tt> object with it's
      * namespace URI and local name.
      *
      * @param bridge the bridge that manages the element
@@ -868,6 +1067,44 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         }
     }
 
+    /**
+     * Sets the <tt>Bridge</tt> object to be used for foreign
+     * namespace elements.
+     *
+     * @param bridge the bridge that manages the element
+     */
+    public void setDefaultBridge(Bridge bridge) {
+        defaultBridge = bridge;
+    }
+
+    /**
+     * Adds a namespace URI to avoid when creating default bridges.
+     */
+    public void putReservedNamespaceURI(String namespaceURI) {
+        if (namespaceURI == null) {
+            namespaceURI = "";
+        }
+        if (reservedNamespaceSet == null) {
+            reservedNamespaceSet = new HashSet();
+        }
+        reservedNamespaceSet.add(namespaceURI);
+    }
+
+    /**
+     * Removes a namespace URI to avoid when creating default bridges.
+     */
+    public void removeReservedNamespaceURI(String namespaceURI) {
+        if (namespaceURI == null) {
+            namespaceURI = "";
+        }
+        if (reservedNamespaceSet != null) {
+            reservedNamespaceSet.remove(namespaceURI);
+            if (reservedNamespaceSet.isEmpty()) {
+                reservedNamespaceSet = null;
+            }
+        }
+    }
+
     // dynamic support ////////////////////////////////////////////////////////
 
     /**
@@ -879,7 +1116,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     /**
      * The DOM EventListener to receive 'DOMCharacterDataModified' event.
      */
-    protected EventListener domCharacterDataModifiedListener;
+    protected EventListener domCharacterDataModifiedEventListener;
 
     /**
      * The DOM EventListener to receive 'DOMAttrModified' event.
@@ -902,6 +1139,11 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected CSSEngineListener cssPropertiesChangedListener;
 
     /**
+     * The listener to receive notification of animated attribute changes.
+     */
+    protected AnimatedAttributeListener animatedAttributeListener;
+
+    /**
      * The EventListener that is responsible of managing DOM focus event.
      */
     protected FocusManager focusManager;
@@ -912,57 +1154,70 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected CursorManager cursorManager = new CursorManager(this);
 
     /**
-     * Adds EventListeners to the input document to handle the cursor 
+     * Adds EventListeners to the input document to handle the cursor
      * property.
-     * This is not done in the addDOMListeners method because 
-     * addDOMListeners is only used for dynamic content whereas 
+     * This is not done in the addDOMListeners method because
+     * addDOMListeners is only used for dynamic content whereas
      * cursor support is provided for all content.
      * Also note that it is very important that the listeners be
      * registered for the capture phase as the 'default' behavior
-     * for cursors is handled by the BridgeContext during the 
+     * for cursors is handled by the BridgeContext during the
      * capture phase and the 'custom' behavior (handling of 'auto'
-     * on anchors, for example), is handled during the bubling phase.
+     * on anchors, for example), is handled during the bubbling phase.
      */
     public void addUIEventListeners(Document doc) {
-        EventTarget evtTarget = (EventTarget)doc.getDocumentElement();
+        NodeEventTarget evtTarget = (NodeEventTarget)doc.getDocumentElement();
 
         DOMMouseOverEventListener domMouseOverListener =
             new DOMMouseOverEventListener();
-        evtTarget.addEventListener(SVGConstants.SVG_EVENT_MOUSEOVER, 
-                                   domMouseOverListener,
-                                   true);
-        storeEventListener(evtTarget, SVGConstants.SVG_EVENT_MOUSEOVER, 
-                           domMouseOverListener, true);
+        evtTarget.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOVER,
+             domMouseOverListener, true, null);
+        storeEventListenerNS
+            (evtTarget,
+             XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOVER,
+             domMouseOverListener, true);
 
         DOMMouseOutEventListener domMouseOutListener =
             new DOMMouseOutEventListener();
-        evtTarget.addEventListener(SVGConstants.SVG_EVENT_MOUSEOUT,
-                                   domMouseOutListener,
-                                   true);
-        storeEventListener(evtTarget, SVGConstants.SVG_EVENT_MOUSEOUT, 
-                           domMouseOutListener, true);
+        evtTarget.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOUT,
+             domMouseOutListener, true, null);
+        storeEventListenerNS
+            (evtTarget,
+             XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOUT,
+             domMouseOutListener, true);
 
     }
 
-
     public void removeUIEventListeners(Document doc) {
         EventTarget evtTarget = (EventTarget)doc.getDocumentElement();
         synchronized (eventListenerSet) {
             Iterator i = eventListenerSet.iterator();
             while (i.hasNext()) {
                 EventListenerMememto elm = (EventListenerMememto)i.next();
-                EventTarget   et = elm.getTarget();
+                NodeEventTarget et = elm.getTarget();
                 if (et == evtTarget) {
                     EventListener el = elm.getListener();
                     boolean       uc = elm.getUseCapture();
                     String        t  = elm.getEventType();
-                    if ((et == null) || (el == null) || (t == null))
+                    boolean       n  = elm.getNamespaced();
+                    if (et == null || el == null || t == null) {
                         continue;
-                    et.removeEventListener(t, el, uc);
+                    }
+                    if (n) {
+                        String ns = elm.getNamespaceURI();
+                        et.removeEventListenerNS(ns, t, el, uc);
+                    } else {
+                        et.removeEventListener(t, el, uc);
+                    }
                 }
             }
         }
-        
     }
 
     /**
@@ -971,39 +1226,74 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      * properties and update the GVT tree in response.
      */
     public void addDOMListeners() {
-        EventTarget evtTarget = (EventTarget)document;
+        SVGOMDocument doc = (SVGOMDocument)document;
 
         domAttrModifiedEventListener = new DOMAttrModifiedEventListener();
-        evtTarget.addEventListener("DOMAttrModified",
-                                   domAttrModifiedEventListener,
-                                   true);
+        doc.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedEventListener, true, null);
 
         domNodeInsertedEventListener = new DOMNodeInsertedEventListener();
-        evtTarget.addEventListener("DOMNodeInserted",
-                                   domNodeInsertedEventListener,
-                                   true);
+        doc.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedEventListener, true, null);
 
         domNodeRemovedEventListener = new DOMNodeRemovedEventListener();
-        evtTarget.addEventListener("DOMNodeRemoved",
-                                   domNodeRemovedEventListener,
-                                   true);
+        doc.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedEventListener, true, null);
 
-        domCharacterDataModifiedListener = 
-            new DOMCharacterDataModifiedListener();
-        evtTarget.addEventListener("DOMCharacterDataModified",
-                                   domCharacterDataModifiedListener,
-                                   true);
+        domCharacterDataModifiedEventListener =
+            new DOMCharacterDataModifiedEventListener();
+        doc.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMCharacterDataModified",
+             domCharacterDataModifiedEventListener, true, null);
 
+        animatedAttributeListener = new AnimatedAttrListener();
+        doc.addAnimatedAttributeListener(animatedAttributeListener);
 
         focusManager = new FocusManager(document);
 
-        SVGOMDocument svgDocument = (SVGOMDocument)document;
-        CSSEngine cssEngine = svgDocument.getCSSEngine();
+        CSSEngine cssEngine = doc.getCSSEngine();
         cssPropertiesChangedListener = new CSSPropertiesChangedListener();
         cssEngine.addCSSEngineListener(cssPropertiesChangedListener);
     }
 
     /**
+     * Removes event listeners from the DOM and CSS engine.
+     */
+    protected void removeDOMListeners() {
+        SVGOMDocument doc = (SVGOMDocument)document;
+
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             domAttrModifiedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+             domNodeInsertedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             domNodeRemovedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified",
+             domCharacterDataModifiedEventListener, true);
+
+        doc.removeAnimatedAttributeListener(animatedAttributeListener);
+
+        CSSEngine cssEngine = doc.getCSSEngine();
+        if (cssEngine != null) {
+            cssEngine.removeCSSEngineListener
+                (cssPropertiesChangedListener);
+            cssEngine.dispose();
+            doc.setCSSEngine(null);
+        }
+    }
+
+    /**
      * Adds to the eventListenerSet the specified event listener
      * registration.
      */
@@ -1016,7 +1306,21 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         }
     }
 
-    public static class SoftReferenceMememto 
+    /**
+     * Adds to the eventListenerSet the specified event listener
+     * registration.
+     */
+    protected void storeEventListenerNS(EventTarget t,
+                                        String n,
+                                        String s,
+                                        EventListener l,
+                                        boolean b) {
+        synchronized (eventListenerSet) {
+            eventListenerSet.add(new EventListenerMememto(t, n, s, l, b, this));
+        }
+    }
+
+    public static class SoftReferenceMememto
         extends CleanerThread.SoftReferenceCleared {
         Object mememto;
         Set    set;
@@ -1044,13 +1348,15 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected static class EventListenerMememto {
 
         public SoftReference target; // Soft ref to EventTarget
-        public SoftReference listener; // Soft ref to EventListener 
+        public SoftReference listener; // Soft ref to EventListener
         public boolean useCapture;
+        public String namespaceURI;
         public String eventType;
+        public boolean namespaced;
 
-        public EventListenerMememto(EventTarget t, 
-                                    String s, 
-                                    EventListener l, 
+        public EventListenerMememto(EventTarget t,
+                                    String s,
+                                    EventListener l,
                                     boolean b,
                                     BridgeContext ctx) {
             Set set = ctx.eventListenerSet;
@@ -1060,66 +1366,89 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             useCapture = b;
         }
 
+        public EventListenerMememto(EventTarget t,
+                                    String n,
+                                    String s,
+                                    EventListener l,
+                                    boolean b,
+                                    BridgeContext ctx) {
+            this(t, s, l, b, ctx);
+            namespaceURI = n;
+            namespaced = true;
+        }
+
         public EventListener getListener() {
             return (EventListener)listener.get();
         }
-        public EventTarget getTarget() {
-            return (EventTarget)target.get();
+        public NodeEventTarget getTarget() {
+            return (NodeEventTarget)target.get();
         }
         public boolean getUseCapture() {
             return useCapture;
         }
+        public String getNamespaceURI() {
+            return namespaceURI;
+        }
         public String getEventType() {
             return eventType;
         }
+        public boolean getNamespaced() {
+            return namespaced;
+        }
     }
 
+    /**
+     * Adds the GVT listener for AWT event support.
+     */
+    public void addGVTListener(Document doc) {
+        BridgeEventSupport.addGVTListener(this, doc);
+    }
+
+    /**
+     * Clears the list of child BridgeContexts and disposes them if there are
+     * no more references to them.
+     */
+    protected void clearChildContexts() {
+        childContexts.clear();
+    }
 
     /**
      * Disposes this BridgeContext.
      */
     public void dispose() {
+        clearChildContexts();
 
         synchronized (eventListenerSet) {
-        // remove all listeners added by Bridges
+            // remove all listeners added by Bridges
             Iterator iter = eventListenerSet.iterator();
-        while (iter.hasNext()) {
-            EventListenerMememto m = (EventListenerMememto)iter.next();
-            EventTarget   et = m.getTarget();
-            EventListener el = m.getListener();
-            boolean       uc = m.getUseCapture();
-            String        t  = m.getEventType();
-            if ((et == null) || (el == null) || (t == null))
-                continue;
-            et.removeEventListener(t, el, uc);
+            while (iter.hasNext()) {
+                EventListenerMememto m = (EventListenerMememto)iter.next();
+                NodeEventTarget et = m.getTarget();
+                EventListener   el = m.getListener();
+                boolean         uc = m.getUseCapture();
+                String          t  = m.getEventType();
+                boolean         n  = m.getNamespaced();
+                if (et == null || el == null || t == null) {
+                    continue;
+                }
+                if (n) {
+                    String ns = m.getNamespaceURI();
+                    et.removeEventListenerNS(ns, t, el, uc);
+                } else {
+                    et.removeEventListener(t, el, uc);
+                }
             }
         }
 
         if (document != null) {
-            EventTarget evtTarget = (EventTarget)document;
-
-            evtTarget.removeEventListener("DOMAttrModified",
-                                          domAttrModifiedEventListener, 
-                                          true);
-            evtTarget.removeEventListener("DOMNodeInserted",
-                                          domNodeInsertedEventListener, 
-                                          true);
-            evtTarget.removeEventListener("DOMNodeRemoved",
-                                          domNodeRemovedEventListener, 
-                                          true);
-            evtTarget.removeEventListener("DOMCharacterDataModified",
-                                          domCharacterDataModifiedListener, 
-                                          true);
-            
-            SVGOMDocument svgDocument = (SVGOMDocument)document;
-            CSSEngine cssEngine = svgDocument.getCSSEngine();
-            if (cssEngine != null) {
-                cssEngine.removeCSSEngineListener
-                    (cssPropertiesChangedListener);
-                cssEngine.dispose();
-                svgDocument.setCSSEngine(null);
-            }
+            removeDOMListeners();
         }
+
+        if (animationEngine != null) {
+            animationEngine.dispose();
+            animationEngine = null;
+        }
+
         Iterator iter = interpreterMap.values().iterator();
         while (iter.hasNext()) {
             Interpreter interpreter = (Interpreter)iter.next();
@@ -1131,21 +1460,34 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         if (focusManager != null) {
             focusManager.dispose();
         }
+        if (elementDataMap != null) {
+            elementDataMap.clear();
+        }
+        if (nodeElementMap != null) {
+            nodeElementMap.clear();
+        }
+        if (elementNodeMap != null) {
+            elementNodeMap.clear();
+        }        
     }
 
     /**
-     * Returns the SVGContext associated to the specified Node or null if any.
+     * Returns the SVGContext associated to the specified Node or null if
+     * there is none.
      */
     protected static SVGContext getSVGContext(Node node) {
         if (node instanceof SVGOMElement) {
-            return ((SVGOMElement)node).getSVGContext();
+            return ((SVGOMElement) node).getSVGContext();
+        } else if (node instanceof SVGOMDocument) {
+            return ((SVGOMDocument) node).getSVGContext();
         } else {
             return null;
         }
     }
 
     /**
-     * Returns the SVGContext associated to the specified Node or null if any.
+     * Returns the BridgeUpdateHandler associated to the specified Node
+     * or null if there is none.
      */
     protected static BridgeUpdateHandler getBridgeUpdateHandler(Node node) {
         SVGContext ctx = getSVGContext(node);
@@ -1158,6 +1500,12 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected class DOMAttrModifiedEventListener implements EventListener {
 
         /**
+         * Creates a new DOMAttrModifiedEventListener.
+         */
+        public DOMAttrModifiedEventListener() {
+        }
+
+        /**
          * Handles 'DOMAttrModified' event type.
          */
         public void handleEvent(Event evt) {
@@ -1177,6 +1525,16 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      * The DOM EventListener invoked when the mouse exits an element
      */
     protected class DOMMouseOutEventListener implements EventListener {
+
+        /**
+         * Creates a new DOMMouseOutEventListener.
+         */
+        public DOMMouseOutEventListener() {
+        }
+
+        /**
+         * Handles 'mouseout' MouseEvent event type.
+         */
         public void handleEvent(Event evt) {
             MouseEvent me = (MouseEvent)evt;
             Element newTarget = (Element)me.getRelatedTarget();
@@ -1184,7 +1542,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             if (newTarget != null)
                 cursor = CSSUtilities.convertCursor
                     (newTarget, BridgeContext.this);
-            if (cursor == null) 
+            if (cursor == null)
                 cursor = CursorManager.DEFAULT_CURSOR;
 
             userAgent.setSVGCursor(cursor);
@@ -1193,37 +1551,50 @@ public class BridgeContext implements ErrorConstants, CSSContext {
 
 
     /**
-     * The DOM EventListener invoked when the mouse mouves over a new 
+     * The DOM EventListener invoked when the mouse mouves over a new
      * element.
-     * 
+     *
      * Here is how cursors are handled:
-     * 
+     *
      */
     protected class DOMMouseOverEventListener implements EventListener {
+
+        /**
+         * Creates a new DOMMouseOverEventListener.
+         */
+        public DOMMouseOverEventListener() {
+        }
+
         /**
          * Handles 'mouseover' MouseEvent event type.
          */
         public void handleEvent(Event evt) {
             Element target = (Element)evt.getTarget();
             Cursor cursor = CSSUtilities.convertCursor(target, BridgeContext.this);
-            
+
             if (cursor != null) {
                 userAgent.setSVGCursor(cursor);
             }
         }
     }
-    
+
     /**
      * The DOM EventListener invoked when a node is added.
      */
     protected class DOMNodeInsertedEventListener implements EventListener {
 
         /**
+         * Creates a new DOMNodeInsertedEventListener.
+         */
+        public DOMNodeInsertedEventListener() {
+        }
+
+        /**
          * Handles 'DOMNodeInserted' event type.
          */
         public void handleEvent(Event evt) {
             MutationEvent me = (MutationEvent)evt;
-            BridgeUpdateHandler h = 
+            BridgeUpdateHandler h =
                 getBridgeUpdateHandler(me.getRelatedNode());
             if (h != null) {
                 try {
@@ -1243,6 +1614,12 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected class DOMNodeRemovedEventListener implements EventListener {
 
         /**
+         * Creates a new DOMNodeRemovedEventListener.
+         */
+        public DOMNodeRemovedEventListener() {
+        }
+
+        /**
          * Handles 'DOMNodeRemoved' event type.
          */
         public void handleEvent(Event evt) {
@@ -1261,15 +1638,22 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     /**
      * The DOM EventListener invoked when a character data is changed.
      */
-    protected class DOMCharacterDataModifiedListener implements EventListener {
+    protected class DOMCharacterDataModifiedEventListener
+            implements EventListener {
 
         /**
-         * Handles 'DOMNodeRemoved' event type.
+         * Creates a new DOMCharacterDataModifiedEventListener.
+         */
+        public DOMCharacterDataModifiedEventListener() {
+        }
+
+        /**
+         * Handles 'DOMCharacterDataModified' event type.
          */
         public void handleEvent(Event evt) {
             Node node = (Node)evt.getTarget();
             while (node != null && !(node instanceof SVGOMElement)) {
-                node = node.getParentNode();
+                node = (Node) ((AbstractNode) node).getParentNodeEventTarget();
             }
             BridgeUpdateHandler h = getBridgeUpdateHandler(node);
             if (h != null) {
@@ -1289,6 +1673,12 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     protected class CSSPropertiesChangedListener implements CSSEngineListener {
 
         /**
+         * Creates a new CSSPropertiesChangedListener.
+         */
+        public CSSPropertiesChangedListener() {
+        }
+
+        /**
          * Handles CSSEngineEvent that describes the CSS properties
          * that have changed on a particular element.
          */
@@ -1296,11 +1686,10 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             Element elem = evt.getElement();
             SVGContext ctx = getSVGContext(elem);
             if (ctx == null) {
-                GraphicsNode pgn = getGraphicsNode
-                    ((Element)elem.getParentNode());
+                GraphicsNode pgn = getGraphicsNode(elem.getParentNode());
                 if ((pgn == null) || !(pgn instanceof CompositeGraphicsNode)) {
                     // Something changed in this element but we really don't
-                    // care since it's parent isn't displayed either.
+                    // care since its parent isn't displayed either.
                     return;
                 }
                 CompositeGraphicsNode parent = (CompositeGraphicsNode)pgn;
@@ -1319,7 +1708,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
                             (BridgeContext.this, elem);
                         if (childNode == null) {
                             // the added element is not a graphic element?
-                            break; 
+                            break;
                         }
                         int idx = -1;
                         for(Node ps = elem.getPreviousSibling(); ps != null;
@@ -1337,7 +1726,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
                         }
                         // insert after prevSibling, if
                         // it was -1 this becomes 0 (first slot)
-                        idx++; 
+                        idx++;
                         parent.add(idx, childNode);
                         break;
                     }
@@ -1348,6 +1737,54 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         }
     }
 
+    /**
+     * A listener class for changes to animated attributes in the document.
+     */
+    protected class AnimatedAttrListener
+        implements AnimatedAttributeListener {
+
+        /**
+         * Creates a new AnimatedAttributeListener.
+         */
+        public AnimatedAttrListener() {
+        }
+
+        /**
+         * Called to notify an object of a change to the animated value of
+         * an animated XML attribute.
+         * @param e the owner element of the changed animated attribute
+         * @param alav the AnimatedLiveAttributeValue that changed
+         */
+        public void animatedAttributeChanged(Element e,
+                                             AnimatedLiveAttributeValue alav) {
+            BridgeUpdateHandler h = getBridgeUpdateHandler(e);
+            if (h != null) {
+                try {
+                    h.handleAnimatedAttributeChanged(alav);
+                } catch (Exception ex) {
+                    userAgent.displayError(ex);
+                }
+            }
+        }
+
+        /**
+         * Called to notify an object of a change to the value of an 'other'
+         * animation.
+         * @param e the element being animated
+         * @param type the type of animation whose value changed
+         */
+        public void otherAnimationChanged(Element e, String type) {
+            BridgeUpdateHandler h = getBridgeUpdateHandler(e);
+            if (h != null) {
+                try {
+                    h.handleOtherAnimationChanged(type);
+                } catch (Exception ex) {
+                    userAgent.displayError(ex);
+                }
+            }
+        }
+    }
+
     // CSS context ////////////////////////////////////////////////////////////
 
     /**
@@ -1399,7 +1836,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      */
     public float getPixelToMillimeter() {
         return getPixelUnitToMillimeter();
-            
+
     }
 
     /**
@@ -1429,19 +1866,19 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      * This method throws a SecurityException if the resource
      * found at url and referenced from docURL
      * should not be loaded.
-     * 
+     *
      * This is a convenience method to call checkLoadExternalResource
-     * on the ExternalResourceSecurity strategy returned by 
+     * on the ExternalResourceSecurity strategy returned by
      * getExternalResourceSecurity.
      *
      * @param resourceURL url for the script, as defined in
      *        the resource's xlink:href attribute. If that
      *        attribute was empty, then this parameter should
      *        be null
-     * @param docURL url for the document into which the 
+     * @param docURL url for the document into which the
      *        resource was found.
      */
-    public void 
+    public void
         checkLoadExternalResource(ParsedURL resourceURL,
                                   ParsedURL docURL) throws SecurityException {
         userAgent.checkLoadExternalResource(resourceURL,
@@ -1455,14 +1892,14 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     public boolean isDynamicDocument(Document doc) {
         return BaseScriptingEnvironment.isDynamicDocument(this, doc);
     }
-    
+
     /**
      * Tells whether the given SVG document is Interactive.
      * We say it is, if it has any &lt;title>, &lt;desc>, or &lt;a> elements,
      * of if the 'cursor' property is anything but Auto on any element.
      */
     public boolean isInteractiveDocument(Document doc) {
-        
+
         Element root = ((SVGDocument)doc).getRootElement();
         if (!SVGConstants.SVG_NAMESPACE_URI.equals(root.getNamespaceURI()))
             return false;
@@ -1486,7 +1923,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
     public boolean checkInteractiveElement(SVGDocument doc,
                                            Element e) {
         String tag = e.getLocalName();
-        
+
         // Check if it's one of our important element.
         if (SVGConstants.SVG_A_TAG.equals(tag))
             return true;
@@ -1510,7 +1947,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
 
         /* We would like to do this but the CSS Engine isn't setup when
            we want to do this.
-           
+
         // Check if cursor property is set to something other than 'auto'.
         Value cursorValue = CSSUtilities.getComputedStyle
             (e, SVGCSSEngine.CURSOR_INDEX);
@@ -1535,7 +1972,59 @@ public class BridgeContext implements ErrorConstants, CSSContext {
         }
         return false;
     }
-    
+
+    /**
+     * Sets the animation limiting mode to "none".
+     */
+    public void setAnimationLimitingNone() {
+        animationLimitingMode = 0;
+        if (animationEngine != null) {
+            setAnimationLimitingMode();
+        }
+    }
+
+    /**
+     * Sets the animation limiting mode to a percentage of CPU.
+     * @param pc the maximum percentage of CPU to use (0 &lt; pc ≤ 1)
+     */
+    public void setAnimationLimitingCPU(float pc) {
+        animationLimitingMode = 1;
+        animationLimitingAmount = pc;
+        if (animationEngine != null) {
+            setAnimationLimitingMode();
+        }
+    }
+
+    /**
+     * Sets the animation limiting mode to a number of frames per second.
+     * @param fps the maximum number of frames per second (fps &gt; 0)
+     */
+    public void setAnimationLimitingFPS(float fps) {
+        animationLimitingMode = 2;
+        animationLimitingAmount = fps;
+        if (animationEngine != null) {
+            setAnimationLimitingMode();
+        }
+    }
+
+    /**
+     * Set the animationg limiting mode on the animation engine.
+     */
+    protected void setAnimationLimitingMode() {
+        switch (animationLimitingMode) {
+            case 0: // unlimited
+                animationEngine.setAnimationLimitingNone();
+                break;
+            case 1: // %cpu
+                animationEngine.setAnimationLimitingCPU
+                    (animationLimitingAmount);
+                break;
+            case 2: // fps
+                animationEngine.setAnimationLimitingFPS
+                    (animationLimitingAmount);
+                break;
+        }
+    }
 
     // bridge extensions support //////////////////////////////////////////////
 
@@ -1591,7 +2080,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
      */
     protected static List globalExtensions = null;
 
-    public synchronized static List getGlobalBridgeExtensions() {
+    public static synchronized List getGlobalBridgeExtensions() {
         if (globalExtensions != null) {
             return globalExtensions;
         }
@@ -1617,7 +2106,7 @@ public class BridgeContext implements ErrorConstants, CSSContext {
             }
         }
         return globalExtensions;
-    }        
+    }
 
     public static class CSSEngineUserAgentWrapper implements CSSEngineUserAgent {
         UserAgent ua;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeEventSupport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeEventSupport.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeEventSupport.java
index 9040e1d..f4732c6 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeEventSupport.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeEventSupport.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,10 +23,14 @@ import java.awt.event.KeyEvent;
 import java.awt.geom.NoninvertibleTransformException;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
+import java.lang.ref.SoftReference;
 import java.text.AttributedCharacterIterator;
 import java.util.List;
 
 import org.apache.flex.forks.batik.dom.events.DOMKeyEvent;
+import org.apache.flex.forks.batik.dom.events.DOMMouseEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.util.DOMUtilities;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.TextNode;
 import org.apache.flex.forks.batik.gvt.event.EventDispatcher;
@@ -38,24 +43,29 @@ import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
 import org.apache.flex.forks.batik.gvt.text.TextHit;
 import org.apache.flex.forks.batik.gvt.text.TextSpanLayout;
 import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.events.DocumentEvent;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
 import org.w3c.dom.events.EventTarget;
-import org.w3c.dom.events.MouseEvent;
 
 /**
  * This class is responsible of tracking GraphicsNodeMouseEvent and
  * fowarding them to the DOM as regular DOM MouseEvent.
  *
  * @author <a href="mailto:tkormann@ilog.fr">Thierry Kormann</a>
- * @version $Id: BridgeEventSupport.java,v 1.59 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: BridgeEventSupport.java 580012 2007-09-27 13:33:47Z cam $
  */
-public class BridgeEventSupport implements SVGConstants {
+public abstract class BridgeEventSupport implements SVGConstants {
+
+    public static final
+        AttributedCharacterIterator.Attribute TEXT_COMPOUND_ID =
+        GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_ID;
 
-    private BridgeEventSupport() {}
+    protected BridgeEventSupport() {}
 
     /**
      * Is called only for the root element in order to dispatch GVT
@@ -72,19 +82,49 @@ public class BridgeEventSupport implements SVGConstants {
                 // add an unload listener on the SVGDocument to remove
                 // that listener for dispatching events
                 EventListener l = new GVTUnloadListener(dispatcher, listener);
-                EventTarget target = (EventTarget)doc;
-                target.addEventListener("SVGUnload", l, false);
-                ctx.storeEventListener(target, "SVGUnload", l, false);
+                NodeEventTarget target = (NodeEventTarget)doc;
+                target.addEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                     "SVGUnload",
+                     l, false, null);
+                storeEventListenerNS
+                    (ctx, target,
+                     XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                     "SVGUnload",
+                     l, false);
             }
         }
     }
 
+    /**
+     * Calls storeEventListener on the given BridgeContext.
+     */
+    protected static void storeEventListener(BridgeContext ctx,
+                                             EventTarget e,
+                                             String t,
+                                             EventListener l,
+                                             boolean c) {
+        ctx.storeEventListener(e, t, l, c);
+    }
+
+    /**
+     * Calls storeEventListenerNS on the given BridgeContext.
+     */
+    protected static void storeEventListenerNS(BridgeContext ctx,
+                                               EventTarget e,
+                                               String n,
+                                               String t,
+                                               EventListener l,
+                                               boolean c) {
+        ctx.storeEventListenerNS(e, n, t, l, c);
+    }
+
     protected static class GVTUnloadListener implements EventListener {
 
         protected EventDispatcher dispatcher;
         protected Listener listener;
 
-        public GVTUnloadListener(EventDispatcher dispatcher, 
+        public GVTUnloadListener(EventDispatcher dispatcher,
                                  Listener listener) {
             this.dispatcher = dispatcher;
             this.listener = listener;
@@ -93,17 +133,19 @@ public class BridgeEventSupport implements SVGConstants {
         public void handleEvent(Event evt) {
             dispatcher.removeGraphicsNodeMouseListener(listener);
             dispatcher.removeGraphicsNodeKeyListener(listener);
-            evt.getTarget().removeEventListener
-                (SVGConstants.SVG_SVGUNLOAD_EVENT_TYPE, this, false);
+            NodeEventTarget et = (NodeEventTarget) evt.getTarget();
+            et.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGUnload",
+                 this, false);
         }
     }
 
     /**
      * A GraphicsNodeMouseListener that dispatch DOM events accordingly.
      */
-    protected static class Listener 
-        implements GraphicsNodeMouseListener, GraphicsNodeKeyListener {
-        
+    protected static class Listener implements GraphicsNodeMouseListener,
+                                               GraphicsNodeKeyListener {
+
         protected BridgeContext context;
         protected UserAgent ua;
         protected Element lastTargetElement;
@@ -121,6 +163,7 @@ public class BridgeEventSupport implements SVGConstants {
          * @param evt the graphics node key event
          */
         public void keyPressed(GraphicsNodeKeyEvent evt) {
+            // XXX isDown is not preventing key repeats
             if (!isDown) {
                 isDown = true;
                 dispatchKeyEvent("keydown", evt);
@@ -149,25 +192,28 @@ public class BridgeEventSupport implements SVGConstants {
             dispatchKeyEvent("keypress", evt);
         }
 
-        protected void dispatchKeyEvent(String eventType, 
+        /**
+         * Dispatch a DOM 2 Draft Key event.
+         */
+        protected void dispatchKeyEvent(String eventType,
                                         GraphicsNodeKeyEvent evt) {
             FocusManager fmgr = context.getFocusManager();
             if (fmgr == null) return;
 
             Element targetElement = (Element)fmgr.getCurrentEventTarget();
             if (targetElement == null) {
-                return;
+                targetElement = context.getDocument().getDocumentElement();
             }
             DocumentEvent d = (DocumentEvent)targetElement.getOwnerDocument();
             DOMKeyEvent keyEvt = (DOMKeyEvent)d.createEvent("KeyEvents");
-            keyEvt.initKeyEvent(eventType, 
-                                true, 
-                                true, 
-                                evt.isControlDown(), 
+            keyEvt.initKeyEvent(eventType,
+                                true,
+                                true,
+                                evt.isControlDown(),
                                 evt.isAltDown(),
-                                evt.isShiftDown(), 
+                                evt.isShiftDown(),
                                 evt.isMetaDown(),
-                                mapKeyCode(evt.getKeyCode()), 
+                                mapKeyCode(evt.getKeyCode()),
                                 evt.getKeyChar(),
                                 null);
 
@@ -187,7 +233,7 @@ public class BridgeEventSupport implements SVGConstants {
         protected final int mapKeyCode(int keyCode) {
             switch (keyCode) {
                 case KeyEvent.VK_ENTER:
-                    return DOMKeyEvent.DOM_VK_ENTER; 
+                    return DOMKeyEvent.DOM_VK_ENTER;
             case KeyEvent.VK_KANA_LOCK:
                 return DOMKeyEvent.DOM_VK_UNDEFINED;
             case KeyEvent.VK_INPUT_METHOD_ON_OFF:
@@ -212,7 +258,17 @@ public class BridgeEventSupport implements SVGConstants {
         }
 
         public void mouseEntered(GraphicsNodeMouseEvent evt) {
-            dispatchMouseEvent("mouseover", evt, true);
+            Point clientXY = evt.getClientPoint();
+            GraphicsNode node = evt.getGraphicsNode();
+            Element targetElement = getEventTarget
+                (node, new Point2D.Float(evt.getX(), evt.getY()));
+            Element relatedElement = getRelatedElement(evt);
+            dispatchMouseEvent("mouseover",
+                               targetElement,
+                               relatedElement,
+                               clientXY,
+                               evt,
+                               true);
         }
 
         public void mouseExited(GraphicsNodeMouseEvent evt) {
@@ -221,12 +277,13 @@ public class BridgeEventSupport implements SVGConstants {
             GraphicsNode node = evt.getRelatedNode();
             Element targetElement = getEventTarget(node, clientXY);
             if (lastTargetElement != null) {
-                dispatchMouseEvent("mouseout", 
+                dispatchMouseEvent("mouseout",
                                    lastTargetElement, // target
                                    targetElement,     // relatedTarget
                                    clientXY,
                                    evt,
                                    true);
+                lastTargetElement = null;
             }
         }
 
@@ -241,7 +298,7 @@ public class BridgeEventSupport implements SVGConstants {
             Element holdLTE = lastTargetElement;
             if (holdLTE != targetElement) {
                 if (holdLTE != null) {
-                    dispatchMouseEvent("mouseout", 
+                    dispatchMouseEvent("mouseout",
                                        holdLTE, // target
                                        targetElement,     // relatedTarget
                                        clientXY,
@@ -249,7 +306,7 @@ public class BridgeEventSupport implements SVGConstants {
                                        true);
                 }
                 if (targetElement != null) {
-                    dispatchMouseEvent("mouseover", 
+                    dispatchMouseEvent("mouseover",
                                        targetElement,     // target
                                        holdLTE, // relatedTarget
                                        clientXY,
@@ -257,7 +314,7 @@ public class BridgeEventSupport implements SVGConstants {
                                        true);
                 }
             }
-            dispatchMouseEvent("mousemove", 
+            dispatchMouseEvent("mousemove",
                                targetElement,     // target
                                null,              // relatedTarget
                                clientXY,
@@ -281,11 +338,11 @@ public class BridgeEventSupport implements SVGConstants {
             Element targetElement = getEventTarget
                 (node, new Point2D.Float(evt.getX(), evt.getY()));
             Element relatedElement = getRelatedElement(evt);
-            dispatchMouseEvent(eventType, 
+            dispatchMouseEvent(eventType,
                                targetElement,
                                relatedElement,
-                               clientXY, 
-                               evt, 
+                               clientXY,
+                               evt,
                                cancelable);
         }
 
@@ -322,26 +379,27 @@ public class BridgeEventSupport implements SVGConstants {
 
             }
             */
-            short button = getButton(evt);
             Point screenXY = evt.getScreenPoint();
             // create the coresponding DOM MouseEvent
             DocumentEvent d = (DocumentEvent)targetElement.getOwnerDocument();
-            MouseEvent mouseEvt = (MouseEvent)d.createEvent("MouseEvents");
-            mouseEvt.initMouseEvent(eventType, 
-                                    true, 
-                                    cancelable, 
-                                    null,
-                                    evt.getClickCount(),
-                                    screenXY.x, 
-                                    screenXY.y,
-                                    clientXY.x,
-                                    clientXY.y,
-                                    evt.isControlDown(), 
-                                    evt.isAltDown(),
-                                    evt.isShiftDown(), 
-                                    evt.isMetaDown(),
-                                    button, 
-                                    (EventTarget)relatedElement);
+            DOMMouseEvent mouseEvt
+                = (DOMMouseEvent)d.createEvent("MouseEvents");
+            String modifiers
+                = DOMUtilities.getModifiersList(evt.getLockState(),
+                                                evt.getModifiers());
+            mouseEvt.initMouseEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                      eventType,
+                                      true,
+                                      cancelable,
+                                      null,
+                                      evt.getClickCount(),
+                                      screenXY.x,
+                                      screenXY.y,
+                                      clientXY.x,
+                                      clientXY.y,
+                                      (short) (evt.getButton() - 1),
+                                      (EventTarget)relatedElement,
+                                      modifiers);
 
             try {
                 ((EventTarget)targetElement).dispatchEvent(mouseEvt);
@@ -367,21 +425,6 @@ public class BridgeEventSupport implements SVGConstants {
         }
 
         /**
-         * Returns the mouse event button.
-         *
-         * @param evt the GVT GraphicsNodeMouseEvent
-         */
-        protected short getButton(GraphicsNodeMouseEvent evt) {
-            short button = 1;
-            if ((GraphicsNodeMouseEvent.BUTTON1_MASK & evt.getModifiers()) != 0) {
-                button = 0;
-            } else if ((GraphicsNodeMouseEvent.BUTTON3_MASK & evt.getModifiers()) != 0) {
-                button = 2;
-            }
-            return button;
-        }
-
-        /**
          * Returns the element that is the target of the specified
          * event or null if any.
          *
@@ -394,8 +437,8 @@ public class BridgeEventSupport implements SVGConstants {
             // is a tspan or textPath
 
             if (target != null && node instanceof TextNode) {
-		TextNode textNode = (TextNode)node;
-		List list = textNode.getTextRuns();
+                TextNode textNode = (TextNode)node;
+                List list = textNode.getTextRuns();
                 Point2D pt = (Point2D)coords.clone();
                 // place coords in text node coordinate system
                 try {
@@ -412,10 +455,12 @@ public class BridgeEventSupport implements SVGConstants {
                         float y = (float)pt.getY();
                         TextHit textHit = layout.hitTestChar(x, y);
                         Rectangle2D bounds = layout.getBounds2D();
-                        if ((textHit != null) && 
+                        if ((textHit != null) &&
                             (bounds != null) && bounds.contains(x, y)) {
-                            Object delimiter = aci.getAttribute
-                                (GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_DELIMITER);
+                            SoftReference sr;
+                            sr =(SoftReference)aci.getAttribute
+                                (TEXT_COMPOUND_ID);
+                            Object delimiter = sr.get();
                             if (delimiter instanceof Element) {
                                 return (Element)delimiter;
                             }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeException.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeException.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeException.java
index c85d5cc..ee26a19 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeException.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeException.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,15 +18,17 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
 import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * Thrown when the bridge has detected an error.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: BridgeException.java,v 1.8 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: BridgeException.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public class BridgeException extends RuntimeException {
 
@@ -35,6 +38,11 @@ public class BridgeException extends RuntimeException {
     /** The error code. */
     protected String code;
 
+    /**
+     * The message.
+     */
+    protected String message;
+
     /** The paramters to use for the error message. */
     protected Object [] params;
 
@@ -45,30 +53,101 @@ public class BridgeException extends RuntimeException {
     protected GraphicsNode node;
 
     /**
+     * Constructs a new <tt>BridgeException</tt> based on the specified
+     * <tt>LiveAttributeException</tt>.
+     *
+     * @param ctx the bridge context to use for determining the element's
+     *            source position
+     * @param ex the {@link LiveAttributeException}
+     */
+    public BridgeException(BridgeContext ctx, LiveAttributeException ex) {
+        switch (ex.getCode()) {
+            case LiveAttributeException.ERR_ATTRIBUTE_MISSING:
+                this.code = ErrorConstants.ERR_ATTRIBUTE_MISSING;
+                break;
+            case LiveAttributeException.ERR_ATTRIBUTE_MALFORMED:
+                this.code = ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED;
+                break;
+            case LiveAttributeException.ERR_ATTRIBUTE_NEGATIVE:
+                this.code = ErrorConstants.ERR_LENGTH_NEGATIVE;
+                break;
+            default:
+                throw new IllegalStateException
+                    ("Unknown LiveAttributeException error code "
+                     + ex.getCode());
+        }
+        this.e = ex.getElement();
+        this.params = new Object[] { ex.getAttributeName(), ex.getValue() };
+        if (e != null && ctx != null) {
+            this.line = ctx.getDocumentLoader().getLineNumber(e);
+        }
+    }
+
+     /**
      * Constructs a new <tt>BridgeException</tt> with the specified parameters.
      *
-     * @param e the element on which the error occured
+     * @param ctx the bridge context to use for determining the element's
+     *            source position
+     * @param e the element on which the error occurred
      * @param code the error code
      * @param params the parameters to use for the error message
      */
-    public BridgeException(Element e, String code, Object [] params) {
+    public BridgeException(BridgeContext ctx, Element e, String code,
+                           Object[] params) {
+
         this.e = e;
         this.code = code;
         this.params = params;
+        if (e != null && ctx != null) {
+            this.line = ctx.getDocumentLoader().getLineNumber(e);
+        }
     }
 
     /**
-     * Returns the element on which the error occurred.
+     * Constructs a new <tt>BridgeException</tt> with the specified parameters.
+     *
+     * @param ctx the bridge context to use for determining the element's
+     *            source position
+     * @param e the element on which the error occurred
+     * @param ex the exception which was the root-cause for this exception
+     * @param code the error code
+     * @param params the parameters to use for the error message
      */
-    public Element getElement() {
-        return e;
+    public BridgeException(BridgeContext ctx, Element e, Exception ex, String code,
+                           Object[] params) {
+
+        // todo ex can be chained in jdk >= 1.4
+        this.e = e;
+
+        message = ex.getMessage();
+        this.code = code;
+        this.params = params;
+        if (e != null && ctx != null) {
+            this.line = ctx.getDocumentLoader().getLineNumber(e);
+        }
+    }
+
+    /**
+     * Constructs a new <tt>BridgeException</tt> with the specified parameters.
+     *
+     * @param ctx the bridge context to use for determining the element's
+     *            source position
+     * @param e the element on which the error occurred
+     * @param message the error message
+     */
+    public BridgeException(BridgeContext ctx, Element e, String message) {
+        this.e = e;
+        this.message = message;
+        if (e != null && ctx != null) {
+            this.line = ctx.getDocumentLoader().getLineNumber(e);
+        }
     }
 
     /**
-     * Returns the line number on which the error occurred.
+     * Returns the element on which the error occurred.
      */
-    public void setLineNumber(int line) {
-        this.line = line;
+    public Element getElement() {
+        return e;
     }
 
     /**
@@ -91,6 +170,10 @@ public class BridgeException extends RuntimeException {
      * Returns the error message according to the error code and parameters.
      */
     public String getMessage() {
+        if (message != null) {
+            return message;
+        }
+
         String uri;
         String lname = "<Unknown Element>";
         SVGDocument doc = null;
@@ -104,9 +187,7 @@ public class BridgeException extends RuntimeException {
         fullparams[0] = uri;
         fullparams[1] = new Integer(line);
         fullparams[2] = lname;
-        for (int i=0; i < params.length; ++i) {
-            fullparams[i+3] = params[i];
-        }
+        System.arraycopy( params, 0, fullparams, 3, params.length );
         return Messages.formatMessage(code, fullparams);
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeExtension.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeExtension.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeExtension.java
index 1d46fe7..2dc9a36 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeExtension.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeExtension.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,6 +25,9 @@ import org.w3c.dom.Element;
 /**
  * This is a Service interface for classes that want to extend the
  * functionality of the Bridge, to support new tags in the rendering tree.
+ *
+ * @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
+ * @version $Id: BridgeExtension.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public interface BridgeExtension {
 
@@ -31,9 +35,9 @@ public interface BridgeExtension {
      * Return the priority of this Extension.  Extensions are
      * registered from lowest to highest priority.  So if for some
      * reason you need to come before/after another existing extension
-     * make sure your priority is lower/higher than theirs.  
+     * make sure your priority is lower/higher than theirs.
      */
-    public float getPriority();
+    float getPriority();
 
     /**
      * This should return the list of extensions implemented
@@ -43,31 +47,31 @@ public interface BridgeExtension {
      * @return An iterator containing strings one for each implemented
      *         extension.
      */
-     public Iterator getImplementedExtensions();
+    Iterator getImplementedExtensions();
 
     /**
      * This should return the individual or company name responsible
      * for the this implementation of the extension.
      */
-    public String getAuthor();
+    String getAuthor();
 
     /**
      * This should return a contact address (usually an e-mail address).
      */
-    public String getContactAddress();
+    String getContactAddress();
 
     /**
      * This should return a URL where information can be obtained on
      * this extension.
      */
-    public String getURL();
+    String getURL();
 
     /**
      * Human readable description of the extension.
      * Perhaps that should be a resource for internationalization?
      * (although I suppose it could be done internally)
      */
-    public String getDescription();
+    String getDescription();
 
     /**
      * This method should update the BridgeContext with support
@@ -77,7 +81,7 @@ public interface BridgeExtension {
      *
      * @param ctx The BridgeContext instance to be updated
      */
-    public void registerTags(BridgeContext ctx);
+    void registerTags(BridgeContext ctx);
 
     /**
      * Whether the presence of the specified element should cause
@@ -86,5 +90,5 @@ public interface BridgeExtension {
      *
      * @param e The element to check.
      */
-    public boolean isDynamicElement(Element e);
+    boolean isDynamicElement(Element e);
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeUpdateHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeUpdateHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeUpdateHandler.java
index 25a0687..305356d 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeUpdateHandler.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BridgeUpdateHandler.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,6 +19,8 @@
 package org.apache.flex.forks.batik.bridge;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+
 import org.w3c.dom.events.MutationEvent;
 
 /**
@@ -25,7 +28,7 @@ import org.w3c.dom.events.MutationEvent;
  * 
  * @author <a href="mailto:vincent.hardy@apache.org">Vincent Hardy</a>
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: BridgeUpdateHandler.java,v 1.7 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: BridgeUpdateHandler.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface BridgeUpdateHandler {
     
@@ -56,6 +59,16 @@ public interface BridgeUpdateHandler {
     void handleCSSEngineEvent(CSSEngineEvent evt);
 
     /**
+     * Invoked when the animated value of an animated attribute has changed.
+     */
+    void handleAnimatedAttributeChanged(AnimatedLiveAttributeValue alav);
+
+    /**
+     * Invoked when an 'other' animation value has changed.
+     */
+    void handleOtherAnimationChanged(String type);
+
+    /**
      * Disposes this BridgeUpdateHandler and releases all resources.
      */
     void dispose();


[51/62] [abbrv] [partial] git commit: [flex-sdk] [refs/heads/release4.11.0] - Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
Merged Apache Flex 4.9.0 release branch

git-svn-id: https://svn.apache.org/repos/asf/incubator/flex/sdk/trunk@1426689 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/f690ea2f
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/f690ea2f
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/f690ea2f

Branch: refs/heads/release4.11.0
Commit: f690ea2f198d39ebe14ff4de28075e0e400dcf7e
Parents: 5c9eddf
Author: Justin Mclean <jm...@apache.org>
Authored: Sat Dec 29 02:39:06 2012 +0000
Committer: Justin Mclean <jm...@apache.org>
Committed: Sat Dec 29 02:39:06 2012 +0000

----------------------------------------------------------------------
 DISCLAIMER                                      |    8 -
 KEYS                                            |   60 +
 NOTICE                                          |    4 -
 README                                          |  258 +-
 RELEASE_NOTES                                   |   35 +-
 SVN-TEST.txt                                    |   12 +
 asdoc/build.xml                                 |   28 +-
 bin/asc.bat                                     |    0
 bin/asdoc                                       |   41 +-
 bin/compc                                       |   45 +-
 bin/copylocale                                  |   43 +-
 bin/digest                                      |   43 +-
 bin/fcsh                                        |   43 +-
 bin/fdb                                         |   43 +-
 bin/mxmlc                                       |   43 +-
 bin/optimizer                                   |   43 +-
 bin/swfdump                                     |   43 +-
 build.properties                                |   11 +-
 build.xml                                       |  127 +-
 frameworks/build.xml                            |   34 +-
 frameworks/build_framework.xml                  |  126 +-
 frameworks/downloads.xml                        |   43 +-
 frameworks/locale/de_CH/metadata.properties     |   42 +
 frameworks/locale/el_GR/metadata.properties     |   42 +
 frameworks/locale/en_AU/metadata.properties     |   42 +
 frameworks/locale/en_CA/metadata.properties     |   42 +
 frameworks/locale/en_GB/metadata.properties     |   42 +
 frameworks/locale/pt_PT/metadata.properties     |   42 +
 frameworks/projects/advancedgrids/build.xml     |   48 +-
 .../projects/advancedgrids/bundle-config.xml    |   51 +
 .../bundles/de_CH/datamanagement.properties     |   26 +
 .../advancedgrids/bundles/de_CH/olap.properties |   49 +
 .../bundles/pt_PT/datamanagement.properties     |   15 +
 .../advancedgrids/bundles/pt_PT/olap.properties |   15 +
 .../projects/advancedgrids/compile-config.xml   |   69 +
 .../src/mx/controls/AdvancedDataGridBaseEx.as   |    9 +-
 .../airframework/.actionScriptProperties        |   72 +-
 .../projects/airframework/.flexLibProperties    |   36 +-
 frameworks/projects/airframework/build.xml      |   87 +-
 .../projects/airframework/bundle-config.xml     |   60 +
 .../bundles/de_CH/aircontrols.properties        |   47 +
 .../bundles/pt_PT/aircontrols.properties        |   18 +-
 .../projects/airframework/compile-config.xml    |  185 +
 .../src/mx/controls/FileSystemDataGrid.as       |   24 +-
 .../projects/airspark/.actionScriptProperties   |   74 +-
 frameworks/projects/airspark/.flexLibProperties |   36 +-
 frameworks/projects/airspark/build.xml          |   46 +-
 frameworks/projects/airspark/bundle-config.xml  |   49 +
 frameworks/projects/airspark/compile-config.xml |   71 +
 frameworks/projects/apache/build.xml            |   48 +-
 frameworks/projects/apache/bundle-config.xml    |   50 +
 .../apache/bundles/de_CH/apache.properties      |   24 +
 .../apache/bundles/de_DE/apache.properties      |   18 +
 .../apache/bundles/es_ES/apache.properties      |   24 +
 .../apache/bundles/fi_FI/apache.properties      |   18 +
 .../apache/bundles/fr_AR/apache.properties      |   18 +
 .../apache/bundles/it_IT/apache.properties      |   18 +
 .../apache/bundles/ja_JP/apache.properties      |   18 +
 .../apache/bundles/ko_KR/apache.properties      |   18 +
 .../apache/bundles/nb_NO/apache.properties      |   18 +
 .../apache/bundles/nl_NL/apache.properties      |   18 +
 .../apache/bundles/pt_BR/apache.properties      |   18 +
 .../apache/bundles/pt_PT/apache.properties      |   18 +
 .../apache/bundles/ru_RU/apache.properties      |   18 +
 .../apache/bundles/sv_SE/apache.properties      |   18 +
 .../apache/bundles/zh_CN/apache.properties      |   18 +
 .../apache/bundles/zh_TW/apache.properties      |   18 +
 frameworks/projects/apache/compile-config.xml   |   72 +
 .../apache/flex/validators/PostCodeValidator.as |    5 +-
 .../authoringsupport/.actionScriptProperties    |   36 +-
 .../authoringsupport/.flexLibProperties         |   36 +-
 frameworks/projects/authoringsupport/build.xml  |   17 +-
 .../authoringsupport/compile-config.xml         |   48 +
 frameworks/projects/automation/build.xml        |   51 +-
 .../projects/automation/bundle-config.xml       |   51 +
 .../bundles/de_CH/automation.properties         |   24 +
 .../bundles/pt_PT/automation.properties         |   15 +
 .../projects/automation/compile-config.xml      |   49 +
 frameworks/projects/automation_agent/build.xml  |   57 +-
 .../projects/automation_agent/bundle-config.xml |   57 +
 .../bundles/de_CH/automation_agent.properties   |   73 +
 .../automation_agent/compile-config.xml         |   49 +
 frameworks/projects/automation_air/build.xml    |   26 +-
 .../projects/automation_air/compile-config.xml  |   55 +
 .../projects/automation_airspark/build.xml      |   43 +-
 .../automation_airspark/bundle-config.xml       |   45 +
 .../automation_airspark/compile-config.xml      |   56 +
 frameworks/projects/automation_dmv/build.xml    |   25 +-
 .../projects/automation_dmv/compile-config.xml  |   53 +
 .../projects/automation_flashflexkit/build.xml  |   23 +-
 .../automation_flashflexkit/compile-config.xml  |   50 +
 frameworks/projects/automation_spark/build.xml  |   25 +-
 .../automation_spark/compile-config.xml         |   60 +
 frameworks/projects/charts/build.xml            |   48 +-
 frameworks/projects/charts/bundle-config.xml    |   50 +
 .../charts/bundles/de_CH/charts.properties      |   25 +
 .../charts/bundles/pt_PT/charts.properties      |   15 +
 frameworks/projects/charts/compile-config.xml   |   72 +
 .../projects/charts/src/mx/charts/AreaChart.as  |    7 +-
 .../charts/src/mx/charts/AxisRenderer.as        |    7 +-
 .../projects/charts/src/mx/charts/BarChart.as   |    7 +-
 .../charts/src/mx/charts/BubbleChart.as         |    7 +-
 .../charts/src/mx/charts/CandlestickChart.as    |    7 +-
 .../charts/src/mx/charts/ColumnChart.as         |    7 +-
 .../projects/charts/src/mx/charts/GridLines.as  |    7 +-
 .../projects/charts/src/mx/charts/HLOCChart.as  |    7 +-
 .../projects/charts/src/mx/charts/Legend.as     |    5 -
 .../projects/charts/src/mx/charts/LegendItem.as |    8 +-
 .../projects/charts/src/mx/charts/LineChart.as  |    7 +-
 .../projects/charts/src/mx/charts/PieChart.as   |    7 +-
 .../projects/charts/src/mx/charts/PlotChart.as  |    7 +-
 .../mx/charts/chartClasses/CartesianChart.as    |    7 +-
 .../src/mx/charts/chartClasses/ChartBase.as     |    6 +-
 .../src/mx/charts/chartClasses/DataTip.as       |    8 +-
 .../src/mx/charts/chartClasses/PolarChart.as    |    7 +-
 .../charts/src/mx/charts/series/AreaSeries.as   |    6 +-
 .../charts/src/mx/charts/series/BarSeries.as    |    6 +-
 .../charts/src/mx/charts/series/BubbleSeries.as |    7 +-
 .../src/mx/charts/series/CandlestickSeries.as   |    7 +-
 .../charts/src/mx/charts/series/ColumnSeries.as |    6 +-
 .../charts/src/mx/charts/series/HLOCSeries.as   |    7 +-
 .../charts/src/mx/charts/series/LineSeries.as   |    7 +-
 .../charts/src/mx/charts/series/PieSeries.as    |    7 +-
 .../charts/src/mx/charts/series/PlotSeries.as   |    7 +-
 .../projects/core/.actionScriptProperties       |   70 +-
 frameworks/projects/core/.flexLibProperties     |   36 +-
 frameworks/projects/core/build.xml              |   26 +-
 frameworks/projects/core/compile-config.xml     |   53 +
 frameworks/projects/experimental/build.xml      |   46 +-
 .../projects/experimental/bundle-config.xml     |   50 +
 .../bundles/de_CH/experimental.properties       |   18 +
 .../bundles/de_DE/experimental.properties       |   18 +
 .../bundles/en_AU/experimental.properties       |   18 +
 .../bundles/en_CA/experimental.properties       |   18 +
 .../bundles/en_GB/experimental.properties       |   18 +
 .../experimental/bundles/en_US/empty.properties |   18 -
 .../bundles/en_US/experimental.properties       |   18 +
 .../bundles/es_ES/experimental.properties       |   18 +
 .../bundles/fi_FI/experimental.properties       |   18 +
 .../bundles/fr_AR/experimental.properties       |   18 +
 .../bundles/it_IT/experimental.properties       |   18 +
 .../bundles/ja_JP/experimental.properties       |   18 +
 .../bundles/ko_KR/experimental.properties       |   18 +
 .../bundles/nb_NO/experimental.properties       |   18 +
 .../bundles/nl_NL/experimental.properties       |   18 +
 .../bundles/pt_BR/experimental.properties       |   18 +
 .../bundles/pt_PT/experimental.properties       |   18 +
 .../bundles/ru_RU/experimental.properties       |   18 +
 .../bundles/sv_SE/experimental.properties       |   18 +
 .../bundles/zh_CN/experimental.properties       |   18 +
 .../bundles/zh_TW/experimental.properties       |   18 +
 .../projects/experimental/compile-config.xml    |   66 +
 .../flash-integration/.actionScriptProperties   |   36 +-
 .../flash-integration/.flexLibProperties        |   36 +-
 frameworks/projects/flash-integration/build.xml |   44 +-
 .../flash-integration/bundle-config.xml         |   50 +
 .../flash-integration/compile-config.xml        |   60 +
 .../projects/framework/.actionScriptProperties  |   36 +-
 .../projects/framework/.flexLibProperties       |   36 +-
 frameworks/projects/framework/build.xml         |  487 +-
 frameworks/projects/framework/bundle-config.xml |   61 +
 .../bundles/de_CH/SharedResources.properties    |   39 +
 .../bundles/de_CH/collections.properties        |   79 +
 .../framework/bundles/de_CH/controls.properties |  113 +
 .../framework/bundles/de_CH/core.properties     |   63 +
 .../framework/bundles/de_CH/effects.properties  |   28 +
 .../bundles/de_CH/formatters.properties         |   53 +
 .../framework/bundles/de_CH/logging.properties  |   35 +
 .../framework/bundles/de_CH/modules.properties  |   24 +
 .../framework/bundles/de_CH/skins.properties    |   24 +
 .../framework/bundles/de_CH/states.properties   |   24 +
 .../framework/bundles/de_CH/styles.properties   |   22 +
 .../framework/bundles/de_CH/utils.properties    |   22 +
 .../bundles/de_CH/validators.properties         |  176 +
 .../bundles/pt_PT/SharedResources.properties    |   18 +-
 .../bundles/pt_PT/collections.properties        |   18 +-
 .../bundles/pt_PT/containers.properties         |   18 +-
 .../framework/bundles/pt_PT/controls.properties |   18 +-
 .../framework/bundles/pt_PT/core.properties     |   20 +-
 .../framework/bundles/pt_PT/effects.properties  |   18 +-
 .../bundles/pt_PT/formatters.properties         |   18 +-
 .../framework/bundles/pt_PT/logging.properties  |   18 +-
 .../framework/bundles/pt_PT/modules.properties  |   18 +-
 .../framework/bundles/pt_PT/skins.properties    |   18 +-
 .../framework/bundles/pt_PT/states.properties   |   18 +-
 .../framework/bundles/pt_PT/styles.properties   |   18 +-
 .../framework/bundles/pt_PT/utils.properties    |   18 +-
 .../bundles/pt_PT/validators.properties         |   18 +-
 .../projects/framework/compile-config.xml       |   84 +
 .../framework/src/mx/accessibility/AccImpl.as   |    2 +
 .../framework/src/mx/collections/ArrayList.as   |   24 +-
 .../src/mx/collections/ListCollectionView.as    |   18 +-
 .../framework/src/mx/core/UITextField.as        |   22 +-
 .../framework/src/mx/managers/ICursorManager.as |    4 +-
 .../mx/managers/ISystemManagerChildManager.as   |    2 +-
 .../framework/src/mx/printing/FlexPrintJob.as   |   36 +-
 .../framework/src/mx/styles/StyleManagerImpl.as | 3677 +++++++-------
 frameworks/projects/halo/build.xml              |   91 +-
 frameworks/projects/halo/compile-config.xml     |   46 +
 .../mobilecomponents/.actionScriptProperties    |   34 +-
 .../mobilecomponents/.flexLibProperties         |   34 +-
 frameworks/projects/mobilecomponents/.project   |    2 -
 frameworks/projects/mobilecomponents/build.xml  |   56 +-
 .../projects/mobilecomponents/bundle-config.xml |   49 +
 .../mobilecomponents/compile-config.xml         |   66 +
 .../src/spark/transitions/FlipViewTransition.as |    2 +-
 .../src/spark/transitions/ZoomViewTransition.as |    2 +-
 .../mobiletheme/.actionScriptProperties         |   34 +-
 .../projects/mobiletheme/.flexLibProperties     |   34 +-
 frameworks/projects/mobiletheme/.project        |    2 -
 frameworks/projects/mobiletheme/build.xml       |  187 +-
 .../projects/mobiletheme/compile-config.xml     |   51 +
 frameworks/projects/mx/.actionScriptProperties  |   70 +-
 frameworks/projects/mx/.flexLibProperties       |   36 +-
 frameworks/projects/mx/build.xml                |  439 +-
 frameworks/projects/mx/bundle-config.xml        |   50 +
 .../mx/bundles/de_CH/containers.properties      |   27 +
 frameworks/projects/mx/compile-config.xml       |   73 +
 .../projects/mx/src/mx/controls/DataGrid.as     |   10 +-
 .../mx/src/mx/controls/RadioButtonGroup.as      |   37 +-
 frameworks/projects/playerglobal/build.xml      |   42 +-
 .../projects/playerglobal/bundle-config.xml     |   52 +
 frameworks/projects/rpc/.actionScriptProperties |   36 +-
 frameworks/projects/rpc/.flexLibProperties      |   36 +-
 frameworks/projects/rpc/build.xml               |  447 +-
 frameworks/projects/rpc/bundle-config.xml       |   56 +
 .../rpc/bundles/de_CH/messaging.properties      |  133 +
 .../projects/rpc/bundles/de_CH/rpc.properties   |  108 +
 .../rpc/bundles/pt_PT/messaging.properties      |   18 +-
 .../projects/rpc/bundles/pt_PT/rpc.properties   |   18 +-
 frameworks/projects/rpc/compile-config.xml      |   64 +
 .../projects/spark/.actionScriptProperties      |   38 +-
 frameworks/projects/spark/.flexLibProperties    |   36 +-
 .../examples/CurrencyFormatterExample1.mxml     |   44 +-
 .../examples/CurrencyFormatterExample2.mxml     |   36 +-
 .../examples/DateTimeFormatterExample.mxml      |   62 +-
 .../examples/NumberFormatterExample1.mxml       |   50 +-
 .../examples/NumberFormatterExample2.mxml       |   38 +-
 frameworks/projects/spark/build.xml             |  470 +-
 frameworks/projects/spark/bundle-config.xml     |   59 +
 .../spark/bundles/da_DK/textLayout.properties   |   58 -
 .../spark/bundles/de_CH/components.properties   |  100 +
 .../spark/bundles/de_CH/layout.properties       |   30 +
 .../spark/bundles/de_CH/osmf.properties         |  109 +
 .../spark/bundles/de_CH/sparkEffects.properties |   40 +
 .../spark/bundles/de_DE/textLayout.properties   |   58 -
 .../spark/bundles/el_GR/textLayout.properties   |   58 -
 .../spark/bundles/en_AU/textLayout.properties   |   58 -
 .../spark/bundles/en_CA/textLayout.properties   |   58 -
 .../spark/bundles/en_GB/textLayout.properties   |   58 -
 .../spark/bundles/en_US/osmf.properties         |    2 +-
 .../spark/bundles/en_US/textLayout.properties   |   58 -
 .../spark/bundles/es_ES/textLayout.properties   |   58 -
 .../spark/bundles/fi_FI/textLayout.properties   |   58 -
 .../spark/bundles/fr_FR/textLayout.properties   |   58 -
 .../spark/bundles/it_IT/textLayout.properties   |   58 -
 .../spark/bundles/ja_JP/textLayout.properties   |   58 -
 .../spark/bundles/ko_KR/textLayout.properties   |   58 -
 .../spark/bundles/nb_NO/textLayout.properties   |   58 -
 .../spark/bundles/nl_NL/textLayout.properties   |   58 -
 .../spark/bundles/pt_BR/textLayout.properties   |   58 -
 .../spark/bundles/pt_PT/components.properties   |   18 +-
 .../spark/bundles/pt_PT/layout.properties       |   20 +-
 .../spark/bundles/pt_PT/osmf.properties         |   18 +-
 .../spark/bundles/pt_PT/sparkEffects.properties |   18 +-
 .../spark/bundles/pt_PT/textLayout.properties   |   50 -
 .../spark/bundles/ru_RU/textLayout.properties   |   58 -
 .../spark/bundles/sv_SE/textLayout.properties   |   58 -
 .../spark/bundles/zh_CN/textLayout.properties   |   58 -
 .../spark/bundles/zh_TW/textLayout.properties   |   58 -
 frameworks/projects/spark/compile-config.xml    |   86 +
 .../accessibility/RichEditableTextAccImpl.as    |   11 +-
 .../spark/src/spark/components/Application.as   |    4 +
 .../spark/src/spark/components/ComboBox.as      |   64 +-
 .../spark/src/spark/components/Group.as         |   47 +-
 .../spark/src/spark/components/Label.as         |    3 -
 .../src/spark/components/NumericStepper.as      |    9 +-
 .../src/spark/components/RadioButtonGroup.as    |   34 +-
 .../src/spark/components/RichEditableText.as    |   55 +-
 .../spark/src/spark/components/RichText.as      |    1 -
 .../spark/src/spark/components/Scroller.as      |    9 +-
 .../spark/src/spark/components/VideoPlayer.as   |    2 +-
 .../spark/components/gridClasses/GridColumn.as  |    4 +-
 .../components/gridClasses/GridItemEditor.as    |   31 +-
 .../components/gridClasses/GridSelection.as     |    4 +-
 .../supportClasses/DropDownController.as        |    3 +-
 .../components/supportClasses/ItemRenderer.as   |    1 +
 .../spark/components/supportClasses/ListBase.as |    2 +-
 .../spark/components/supportClasses/Range.as    |   21 +-
 .../RichEditableTextContainerManager.as         |   27 +-
 .../supportClasses/SkinnableComponent.as        |   23 +-
 .../components/supportClasses/SliderBase.as     |   14 +-
 .../spark/src/spark/primitives/BitmapImage.as   |    2 +
 .../spark/src/spark/skins/spark/ImageSkin.mxml  |    1 +
 .../metadata/AdvancedInheritingTextStyles.as    |   68 +
 frameworks/projects/spark_dmv/build.xml         |  188 +-
 .../projects/spark_dmv/compile-config.xml       |   69 +
 .../projects/sparkskins/.actionScriptProperties |   72 +-
 .../projects/sparkskins/.flexLibProperties      |   36 +-
 frameworks/projects/sparkskins/build.xml        |  179 +-
 .../projects/sparkskins/compile-config.xml      |   49 +
 .../projects/textLayout/.actionScriptProperties |   20 +-
 .../projects/textLayout/.flexLibProperties      |   20 +-
 frameworks/projects/textLayout/.project         |   18 +
 frameworks/projects/textLayout/build.xml        |  125 +-
 .../projects/textLayout/bundle-config.xml       |   49 +
 .../bundles/da_DK/textLayout.properties         |   58 +
 .../bundles/de_CH/textLayout.properties         |   58 +
 .../bundles/de_DE/textLayout.properties         |   58 +
 .../bundles/el_GR/textLayout.properties         |   58 +
 .../bundles/en_AU/textLayout.properties         |   58 +
 .../bundles/en_CA/textLayout.properties         |   58 +
 .../bundles/en_GB/textLayout.properties         |   58 +
 .../bundles/en_US/textLayout.properties         |   58 +
 .../bundles/es_ES/textLayout.properties         |   58 +
 .../bundles/fi_FI/textLayout.properties         |   58 +
 .../bundles/fr_FR/textLayout.properties         |   58 +
 .../bundles/it_IT/textLayout.properties         |   58 +
 .../bundles/ja_JP/textLayout.properties         |   58 +
 .../bundles/ko_KR/textLayout.properties         |   58 +
 .../bundles/nb_NO/textLayout.properties         |   58 +
 .../bundles/nl_NL/textLayout.properties         |   58 +
 .../bundles/pt_BR/textLayout.properties         |   58 +
 .../bundles/pt_PT/textLayout.properties         |   58 +
 .../bundles/ru_RU/textLayout.properties         |   58 +
 .../bundles/sv_SE/textLayout.properties         |   58 +
 .../bundles/zh_CN/textLayout.properties         |   58 +
 .../bundles/zh_TW/textLayout.properties         |   58 +
 .../projects/textLayout/compile-config.xml      |   67 +
 frameworks/projects/tool/build.xml              |   25 +-
 frameworks/projects/tool/compile-config.xml     |   54 +
 frameworks/projects/tool_air/build.xml          |   59 +-
 frameworks/projects/tool_air/bundle-config.xml  |   49 +
 .../tool_air/bundles/de_CH/tool_air.properties  |   31 +
 frameworks/projects/tool_air/compile-config.xml |   57 +
 .../projects/wireframe/.actionScriptProperties  |   76 +-
 .../projects/wireframe/.flexLibProperties       |   36 +-
 frameworks/projects/wireframe/build.xml         |  188 +-
 .../projects/wireframe/compile-config.xml       |   64 +
 frameworks/spark-manifest.xml                   |    1 +
 .../tests/basicTests/BasicTests-config.xml      |    2 +
 frameworks/tests/basicTests/basicLoader.as      |    4 +-
 .../halo/scripts/SWFLoaderTestScript.mxml       |    2 +-
 frameworks/themes/AeonGraphical/build.xml       |    9 +-
 ide/constructFlexForIDE.sh                      |   11 +-
 ide/flashbuilder/build.xml                      |   29 +-
 .../makeApacheFlexForFlashBuilder.bat           |   16 +-
 .../makeApacheFlexForFlashBuilder.sh            |   15 +-
 jenkins.xml                                     |    4 +-
 modules/build.xml                               |   10 +-
 modules/compiler/build.xml                      |    2 +-
 .../compiler/src/java/flash/css/Descriptor.java |    2 +-
 .../src/java/flash/css/FontFaceRule.java        |    4 +-
 .../src/java/flash/css/StyleDeclaration.java    |    2 +-
 .../java/flash/css/StyleDocumentHandler.java    |    2 +-
 .../src/java/flash/css/StyleParser.java         |    8 +-
 .../compiler/src/java/flash/css/StyleRule.java  |    2 +-
 .../src/java/flash/svg/SpriteTranscoder.java    |   42 +-
 .../src/java/flex2/compiler/css/StyleDef.java   |    2 +-
 .../java/flex2/compiler/css/StyleModule.java    |   18 +-
 modules/downloads.xml                           |  100 +-
 .../adobe/internal/fxg/dom/types/BlendMode.java |    2 +-
 modules/thirdparty/batik/MAINTAIN               |  182 -
 modules/thirdparty/batik/NOTICE                 |   16 +-
 modules/thirdparty/batik/README                 |   18 +-
 modules/thirdparty/batik/build.bat              |   53 -
 modules/thirdparty/batik/build.sh               |   63 -
 modules/thirdparty/batik/build.xml              | 1993 +++++---
 .../batik/anim/resources/Messages.properties    |   28 +
 .../rasterizer/resources/Messages.properties    |  280 --
 .../rasterizer/resources/rasterizer.bin.policy  |    1 -
 .../apps/rasterizer/resources/rasterizer.policy |    1 -
 .../svgbrowser/resources/FindDialog.properties  |   62 -
 .../apps/svgbrowser/resources/GUI.properties    |  639 ---
 .../apps/svgbrowser/resources/Main.properties   |   54 -
 .../resources/StatusBarMessages.properties      |   28 -
 .../resources/ThumbnailDialog.properties        |   26 -
 .../apps/svgbrowser/resources/asf-logo.jpg      |  Bin 8794 -> 0 bytes
 .../batik/apps/svgbrowser/resources/back.gif    |  Bin 88 -> 0 bytes
 .../batik/apps/svgbrowser/resources/batik.gif   |  Bin 447 -> 0 bytes
 .../apps/svgbrowser/resources/behaviorsPref.gif |  Bin 205 -> 0 bytes
 .../batik/apps/svgbrowser/resources/blank.gif   |  Bin 61 -> 0 bytes
 .../batik/apps/svgbrowser/resources/domtree.gif |  Bin 156 -> 0 bytes
 .../batik/apps/svgbrowser/resources/forward.gif |  Bin 88 -> 0 bytes
 .../batik/apps/svgbrowser/resources/init.svg    |   97 -
 .../apps/svgbrowser/resources/language.gif      |  Bin 376 -> 0 bytes
 .../batik/apps/svgbrowser/resources/monitor.gif |  Bin 116 -> 0 bytes
 .../apps/svgbrowser/resources/networkPref.gif   |  Bin 1117 -> 0 bytes
 .../batik/apps/svgbrowser/resources/open.gif    |  Bin 112 -> 0 bytes
 .../batik/apps/svgbrowser/resources/pause.gif   |  Bin 85 -> 0 bytes
 .../batik/apps/svgbrowser/resources/play.gif    |  Bin 77 -> 0 bytes
 .../batik/apps/svgbrowser/resources/print.gif   |  Bin 129 -> 0 bytes
 .../batik/apps/svgbrowser/resources/reload.gif  |  Bin 104 -> 0 bytes
 .../batik/apps/svgbrowser/resources/source.gif  |  Bin 120 -> 0 bytes
 .../apps/svgbrowser/resources/squiggle.png      |  Bin 69229 -> 0 bytes
 .../apps/svgbrowser/resources/squiggle.xsl      |  228 -
 .../apps/svgbrowser/resources/squiggleIcon.png  |  Bin 816 -> 0 bytes
 .../batik/apps/svgbrowser/resources/stop.gif    |  Bin 125 -> 0 bytes
 .../svgbrowser/resources/svgbrowser.bin.policy  |   93 -
 .../apps/svgbrowser/resources/svgbrowser.policy |   45 -
 .../svgbrowser/resources/userLanguagePref.gif   |  Bin 445 -> 0 bytes
 .../svgbrowser/resources/userStylesheetPref.gif |  Bin 200 -> 0 bytes
 .../batik/apps/svgbrowser/resources/zoomin.gif  |  Bin 96 -> 0 bytes
 .../batik/apps/svgbrowser/resources/zoomout.gif |  Bin 93 -> 0 bytes
 .../apps/svgpp/resources/Messages.properties    |   68 -
 .../flex/forks/batik/bridge/BrokenLink.svg      |   53 -
 .../batik/bridge/resources/Messages.properties  |   62 +-
 .../flex/forks/batik/bridge/resources/help.gif  |  Bin 0 -> 947 bytes
 .../flex/forks/batik/bridge/resources/move.gif  |  Bin 0 -> 930 bytes
 .../css/engine/resources/Messages.properties    |   32 +-
 .../engine/value/resources/Messages.properties  |   32 +-
 .../css/parser/resources/Messages.properties    |   65 +-
 .../batik/dom/resources/Messages.properties     |  101 +-
 .../batik/dom/svg/resources/Messages.properties |   71 +-
 .../dom/svg/resources/UserAgentStyleSheet.css   |   27 +-
 .../batik/dom/svg/resources/dtdids.properties   |   17 +-
 .../batik/dom/svg/resources/svg-animation.mod   |    2 +-
 .../dom/svg/resources/svg-animevents-attrib.mod |    2 +-
 .../batik/dom/svg/resources/svg-basic-clip.mod  |    2 +-
 .../dom/svg/resources/svg-basic-filter.mod      |    2 +-
 .../batik/dom/svg/resources/svg-basic-font.mod  |    2 +-
 .../svg/resources/svg-basic-graphics-attrib.mod |    2 +-
 .../dom/svg/resources/svg-basic-structure.mod   |    2 +-
 .../batik/dom/svg/resources/svg-basic-text.mod  |    2 +-
 .../forks/batik/dom/svg/resources/svg-clip.mod  |    2 +-
 .../batik/dom/svg/resources/svg-conditional.mod |    2 +-
 .../dom/svg/resources/svg-container-attrib.mod  |    2 +-
 .../batik/dom/svg/resources/svg-core-attrib.mod |    2 +-
 .../batik/dom/svg/resources/svg-cursor.mod      |    2 +-
 .../batik/dom/svg/resources/svg-datatypes.mod   |    2 +-
 .../dom/svg/resources/svg-docevents-attrib.mod  |    2 +-
 .../dom/svg/resources/svg-extensibility.mod     |    2 +-
 .../svg/resources/svg-extresources-attrib.mod   |    2 +-
 .../batik/dom/svg/resources/svg-filter.mod      |    2 +-
 .../forks/batik/dom/svg/resources/svg-font.mod  |    2 +-
 .../batik/dom/svg/resources/svg-framework.mod   |    2 +-
 .../batik/dom/svg/resources/svg-gradient.mod    |    2 +-
 .../svg/resources/svg-graphevents-attrib.mod    |    2 +-
 .../dom/svg/resources/svg-graphics-attrib.mod   |    2 +-
 .../batik/dom/svg/resources/svg-hyperlink.mod   |    2 +-
 .../forks/batik/dom/svg/resources/svg-image.mod |    2 +-
 .../batik/dom/svg/resources/svg-marker.mod      |    2 +-
 .../forks/batik/dom/svg/resources/svg-mask.mod  |    2 +-
 .../dom/svg/resources/svg-opacity-attrib.mod    |    2 +-
 .../dom/svg/resources/svg-paint-attrib.mod      |    2 +-
 .../batik/dom/svg/resources/svg-pattern.mod     |    2 +-
 .../batik/dom/svg/resources/svg-profile.mod     |    2 +-
 .../forks/batik/dom/svg/resources/svg-qname.mod |    2 +-
 .../batik/dom/svg/resources/svg-script.mod      |    2 +-
 .../forks/batik/dom/svg/resources/svg-shape.mod |    2 +-
 .../batik/dom/svg/resources/svg-structure.mod   |    2 +-
 .../forks/batik/dom/svg/resources/svg-style.mod |    2 +-
 .../forks/batik/dom/svg/resources/svg-text.mod  |    2 +-
 .../forks/batik/dom/svg/resources/svg-view.mod  |    2 +-
 .../dom/svg/resources/svg-viewport-attrib.mod   |    2 +-
 .../dom/svg/resources/svg-xlink-attrib.mod      |    2 +-
 .../batik/dom/svg/resources/svg11-attribs.mod   |    2 +-
 .../dom/svg/resources/svg11-basic-attribs.mod   |    2 +-
 .../dom/svg/resources/svg11-basic-flat.dtd      |   70 +-
 .../dom/svg/resources/svg11-basic-model.mod     |    2 +-
 .../batik/dom/svg/resources/svg11-basic.dtd     |    2 +-
 .../batik/dom/svg/resources/svg11-flat.dtd      |   74 +-
 .../batik/dom/svg/resources/svg11-model.mod     |    2 +-
 .../dom/svg/resources/svg11-tiny-attribs.mod    |    2 +-
 .../batik/dom/svg/resources/svg11-tiny-flat.dtd |   52 +-
 .../dom/svg/resources/svg11-tiny-model.mod      |    2 +-
 .../batik/dom/svg/resources/svg11-tiny.dtd      |    2 +-
 .../forks/batik/dom/svg/resources/svg11.dtd     |    2 +-
 .../batik/dom/svg/resources/svg12-flat.dtd      |   74 +-
 .../forks/batik/ext/awt/image/codec/properties  |   88 -
 .../awt/image/spi/resources/Messages.properties |   43 +-
 .../ext/swing/resources/Messages.properties     |   60 -
 .../flex/forks/batik/extensions/README.txt      |   13 -
 .../batik/parser/resources/Messages.properties  |   34 +-
 .../parser/style/resources/Messages.properties  |   34 +-
 .../script/rhino/resources/messages.properties  |   36 +-
 .../svggen/font/resources/Messages.properties   |   38 +-
 .../batik/swing/resources/Messages.properties   |   30 -
 .../batik/swing/resources/batikColor16x16.gif   |  Bin 92 -> 0 bytes
 .../batik/swing/resources/batikColor32x32.gif   |  Bin 164 -> 0 bytes
 .../batik/swing/resources/batikMono16x16.gif    |  Bin 870 -> 0 bytes
 .../batik/swing/resources/batikMono32x32.gif    |  Bin 936 -> 0 bytes
 .../swing/svg/resources/Messages.properties     |   24 -
 .../image/resources/Messages.properties         |   34 +-
 .../util/gui/resources/CSSMediaPanel.properties |   21 +-
 .../gui/resources/DOMViewerMessages.properties  |   56 -
 .../util/gui/resources/JErrorPane.properties    |   19 +-
 .../resources/LanguageDialogMessages.properties |   24 +-
 .../util/gui/resources/LocationBar.properties   |   21 +-
 .../resources/MemoryMonitorMessages.properties  |   19 +-
 .../ScrollablePopupMenuMessages.properties      |   27 +
 .../gui/resources/URIChooserMessages.properties |   19 +-
 .../gui/resources/UserStyleDialog.properties    |   36 +-
 .../forks/batik/util/gui/resources/comment.gif  |  Bin 171 -> 0 bytes
 .../forks/batik/util/gui/resources/element.gif  |  Bin 166 -> 0 bytes
 .../flex/forks/batik/util/gui/resources/pi.gif  |  Bin 188 -> 0 bytes
 .../batik/util/gui/resources/text-html.png      |  Bin 0 -> 1097 bytes
 .../forks/batik/util/gui/resources/text.gif     |  Bin 161 -> 0 bytes
 .../flex/forks/batik/util/gui/resources/web.gif |  Bin 174 -> 0 bytes
 .../batik/util/io/resources/Messages.properties |   33 +-
 .../batik/util/resources/Messages.properties    |   17 +-
 .../resources/XMLResourceDescriptor.properties  |   38 +-
 .../xml/scanner/resources/Messages.properties   |   34 +-
 .../batik/dom/util/DOMUtilitiesSupport.java     |   46 +
 .../batik/gvt/event/AWTEventDispatcher.java     |   90 +
 .../batik/dom/util/DOMUtilitiesSupport.java     |   62 +
 .../imageio/AbstractImageIORegistryEntry.java   |  164 +
 .../image/codec/imageio/ImageIODebugUtil.java   |   57 +
 .../image/codec/imageio/ImageIOImageWriter.java |  211 +
 .../codec/imageio/ImageIOJPEGImageWriter.java   |  161 +
 .../codec/imageio/ImageIOJPEGRegistryEntry.java |   41 +
 .../codec/imageio/ImageIOPNGImageWriter.java    |   35 +
 .../codec/imageio/ImageIOPNGRegistryEntry.java  |   36 +
 .../codec/imageio/ImageIOTIFFImageWriter.java   |   35 +
 .../codec/imageio/ImageIOTIFFRegistryEntry.java |   45 +
 .../PNGTranscoderImageIOWriteAdapter.java       |  102 +
 .../TIFFTranscoderImageIOWriteAdapter.java      |  103 +
 .../batik/gvt/event/AWTEventDispatcher.java     |  151 +
 modules/thirdparty/batik/sources/Squiggle.icns  |  Bin 0 -> 49249 bytes
 .../batik/sources/batik-anim.pom.template       |  116 +
 .../batik/sources/batik-awt-util.pom.template   |   81 +
 .../batik/sources/batik-bridge.pom.template     |  146 +
 .../batik/sources/batik-browser-ext.mf          |    2 +-
 .../thirdparty/batik/sources/batik-browser.mf   |    6 +-
 .../batik/sources/batik-codec.pom.template      |  101 +
 .../batik/sources/batik-css.pom.template        |   96 +
 .../batik/sources/batik-dom.pom.template        |  111 +
 .../batik/sources/batik-ext.pom.template        |   81 +
 .../batik/sources/batik-extension.pom.template  |  131 +
 .../batik/sources/batik-gui-util.pom.template   |   81 +
 .../batik/sources/batik-gvt.pom.template        |   96 +
 .../batik/sources/batik-js.pom.template         |   86 +
 .../batik/sources/batik-parser.pom.template     |   91 +
 modules/thirdparty/batik/sources/batik-pp.mf    |    5 +-
 .../batik/sources/batik-rasterizer-ext.mf       |    4 -
 .../batik/sources/batik-rasterizer.mf           |   18 -
 .../batik/sources/batik-script.pom.template     |  111 +
 .../thirdparty/batik/sources/batik-slideshow.mf |   20 -
 .../sources/batik-squiggle-ext.pom.template     |   86 +
 .../batik/sources/batik-squiggle.pom.template   |  146 +
 .../batik/sources/batik-svg-dom.pom.template    |  121 +
 .../batik/sources/batik-svggen.pom.template     |   91 +
 .../batik/sources/batik-transcoder.pom.template |  161 +
 .../thirdparty/batik/sources/batik-ttf2svg.mf   |    4 -
 .../batik/sources/batik-util.pom.template       |   76 +
 .../batik/sources/batik-xml.pom.template        |   81 +
 modules/thirdparty/batik/sources/batik.mf       |    6 +-
 .../batik/sources/make-squiggle-app.sh.template |   87 +
 .../org/apache/flex/forks/batik/Makefile        |   21 +
 .../org/apache/flex/forks/batik/Version.java    |   98 +-
 .../forks/batik/anim/AbstractAnimation.java     |  210 +
 .../flex/forks/batik/anim/AnimationEngine.java  |  698 +++
 .../forks/batik/anim/AnimationException.java    |   90 +
 .../flex/forks/batik/anim/ColorAnimation.java   |   50 +
 .../batik/anim/InterpolatingAnimation.java      |  167 +
 .../flex/forks/batik/anim/MotionAnimation.java  |  331 ++
 .../flex/forks/batik/anim/SetAnimation.java     |   68 +
 .../flex/forks/batik/anim/SimpleAnimation.java  |  221 +
 .../forks/batik/anim/TransformAnimation.java    |  251 +
 .../anim/timing/AccesskeyTimingSpecifier.java   |  149 +
 .../anim/timing/EventLikeTimingSpecifier.java   |   51 +
 .../anim/timing/EventbaseTimingSpecifier.java   |  128 +
 .../anim/timing/IndefiniteTimingSpecifier.java  |   64 +
 .../forks/batik/anim/timing/InstanceTime.java   |  117 +
 .../flex/forks/batik/anim/timing/Interval.java  |  184 +
 .../anim/timing/MediaMarkerTimingSpecifier.java |   75 +
 .../anim/timing/OffsetTimingSpecifier.java      |   66 +
 .../anim/timing/RepeatTimingSpecifier.java      |   83 +
 .../anim/timing/SyncbaseTimingSpecifier.java    |  136 +
 .../forks/batik/anim/timing/TimeContainer.java  |  147 +
 .../batik/anim/timing/TimedDocumentRoot.java    |  288 ++
 .../forks/batik/anim/timing/TimedElement.java   | 1575 ++++++
 .../batik/anim/timing/TimegraphAdapter.java     |  106 +
 .../batik/anim/timing/TimegraphListener.java    |   95 +
 .../batik/anim/timing/TimingSpecifier.java      |  110 +
 .../timing/TimingSpecifierListProducer.java     |  177 +
 .../flex/forks/batik/anim/timing/Trace.java     |   68 +
 .../anim/timing/WallclockTimingSpecifier.java   |   74 +
 .../values/AnimatableAngleOrIdentValue.java     |  179 +
 .../batik/anim/values/AnimatableAngleValue.java |  149 +
 .../anim/values/AnimatableBooleanValue.java     |  117 +
 .../batik/anim/values/AnimatableColorValue.java |  145 +
 .../anim/values/AnimatableIntegerValue.java     |  121 +
 .../anim/values/AnimatableLengthListValue.java  |  224 +
 .../values/AnimatableLengthOrIdentValue.java    |  185 +
 .../anim/values/AnimatableLengthValue.java      |  214 +
 .../anim/values/AnimatableMotionPointValue.java |  169 +
 .../anim/values/AnimatableNumberListValue.java  |  151 +
 .../AnimatableNumberOptionalNumberValue.java    |  174 +
 .../values/AnimatableNumberOrIdentValue.java    |  177 +
 .../AnimatableNumberOrPercentageValue.java      |  155 +
 .../anim/values/AnimatableNumberValue.java      |  120 +
 .../batik/anim/values/AnimatablePaintValue.java |  283 ++
 .../anim/values/AnimatablePathDataValue.java    |  198 +
 .../anim/values/AnimatablePercentageValue.java  |   73 +
 .../anim/values/AnimatablePointListValue.java   |   83 +
 .../AnimatablePreserveAspectRatioValue.java     |  176 +
 .../batik/anim/values/AnimatableRectValue.java  |  177 +
 .../anim/values/AnimatableStringValue.java      |  118 +
 .../values/AnimatableTransformListValue.java    |  611 +++
 .../batik/anim/values/AnimatableValue.java      |  134 +
 .../DefaultSVGConverterController.java          |   87 -
 .../batik/apps/rasterizer/DestinationType.java  |  129 -
 .../flex/forks/batik/apps/rasterizer/Main.java  |  990 ----
 .../forks/batik/apps/rasterizer/Messages.java   |   87 -
 .../batik/apps/rasterizer/SVGConverter.java     | 1119 -----
 .../apps/rasterizer/SVGConverterController.java |   80 -
 .../apps/rasterizer/SVGConverterException.java  |   75 -
 .../apps/rasterizer/SVGConverterFileSource.java |   97 -
 .../apps/rasterizer/SVGConverterSource.java     |   57 -
 .../apps/rasterizer/SVGConverterURLSource.java  |  112 -
 .../flex/forks/batik/apps/slideshow/Main.java   |  439 --
 .../batik/apps/svgbrowser/AboutDialog.java      |  179 -
 .../batik/apps/svgbrowser/Application.java      |  125 -
 .../forks/batik/apps/svgbrowser/FindDialog.java |  451 --
 .../batik/apps/svgbrowser/JAuthenticator.java   |  239 -
 .../batik/apps/svgbrowser/JPEGOptionPanel.java  |  107 -
 .../batik/apps/svgbrowser/JSVGViewerFrame.java  | 2804 -----------
 .../batik/apps/svgbrowser/LocalHistory.java     |  250 -
 .../flex/forks/batik/apps/svgbrowser/Main.java  |  872 ----
 .../batik/apps/svgbrowser/OptionPanel.java      |  117 -
 .../batik/apps/svgbrowser/PNGOptionPanel.java   |   89 -
 .../batik/apps/svgbrowser/PreferenceDialog.java | 1049 ----
 .../batik/apps/svgbrowser/ResourceOrigin.java   |   47 -
 .../forks/batik/apps/svgbrowser/Resources.java  |   95 -
 .../batik/apps/svgbrowser/SVGInputHandler.java  |  103 -
 .../batik/apps/svgbrowser/SVGOptionPanel.java   |   86 -
 .../apps/svgbrowser/SquiggleInputHandler.java   |   65 -
 .../svgbrowser/SquiggleInputHandlerFilter.java  |   59 -
 .../forks/batik/apps/svgbrowser/StatusBar.java  |  266 -
 .../batik/apps/svgbrowser/ThumbnailDialog.java  |  394 --
 .../batik/apps/svgbrowser/TransformHistory.java |   94 -
 .../svgbrowser/WindowsAltFileSystemView.java    |  169 -
 .../batik/apps/svgbrowser/XMLInputHandler.java  |  335 --
 .../apps/svgbrowser/XMLPreferenceManager.java   |  199 -
 .../flex/forks/batik/apps/svgpp/Main.java       |  323 --
 .../flex/forks/batik/apps/ttf2svg/Main.java     |   36 -
 .../bridge/AbstractGraphicsNodeBridge.java      |  287 +-
 .../forks/batik/bridge/AbstractSVGBridge.java   |   13 +-
 ...AbstractSVGFilterPrimitiveElementBridge.java |   41 +-
 .../AbstractSVGGradientElementBridge.java       |   55 +-
 .../AbstractSVGLightingElementBridge.java       |   59 +-
 .../bridge/AnimatableGenericSVGBridge.java      |  168 +
 .../forks/batik/bridge/AnimatableSVGBridge.java |   99 +
 .../forks/batik/bridge/AnimationSupport.java    |   99 +
 .../batik/bridge/BaseScriptingEnvironment.java  |  196 +-
 .../apache/flex/forks/batik/bridge/Bridge.java  |   15 +-
 .../flex/forks/batik/bridge/BridgeContext.java  |  879 +++-
 .../forks/batik/bridge/BridgeEventSupport.java  |  189 +-
 .../forks/batik/bridge/BridgeException.java     |  117 +-
 .../forks/batik/bridge/BridgeExtension.java     |   32 +-
 .../forks/batik/bridge/BridgeUpdateHandler.java |   25 +-
 .../flex/forks/batik/bridge/CSSFontFace.java    |   13 +-
 .../flex/forks/batik/bridge/CSSUtilities.java   |   77 +-
 .../flex/forks/batik/bridge/ClipBridge.java     |   13 +-
 .../flex/forks/batik/bridge/CursorManager.java  |  180 +-
 .../bridge/DefaultExternalResourceSecurity.java |   13 +-
 .../batik/bridge/DefaultScriptSecurity.java     |   13 +-
 .../flex/forks/batik/bridge/DocumentBridge.java |   56 +
 .../batik/bridge/DocumentJarClassLoader.java    |   25 +-
 .../flex/forks/batik/bridge/DocumentLoader.java |   17 +-
 .../forks/batik/bridge/DynamicGVTBuilder.java   |   13 +-
 .../bridge/EmbededExternalResourceSecurity.java |   13 +-
 .../batik/bridge/EmbededScriptSecurity.java     |   13 +-
 .../flex/forks/batik/bridge/ErrorConstants.java |   58 +-
 .../batik/bridge/ExternalResourceSecurity.java  |   13 +-
 .../flex/forks/batik/bridge/FilterBridge.java   |   13 +-
 .../batik/bridge/FilterPrimitiveBridge.java     |   13 +-
 .../flex/forks/batik/bridge/FocusManager.java   |  153 +-
 .../flex/forks/batik/bridge/FontFace.java       |   57 +-
 .../flex/forks/batik/bridge/GVTBuilder.java     |   45 +-
 .../flex/forks/batik/bridge/GenericBridge.java  |   16 +-
 .../forks/batik/bridge/GraphicsNodeBridge.java  |   13 +-
 .../bridge/InterruptedBridgeException.java      |   13 +-
 .../flex/forks/batik/bridge/MarkerBridge.java   |   13 +-
 .../flex/forks/batik/bridge/MaskBridge.java     |   13 +-
 .../flex/forks/batik/bridge/Messages.java       |   15 +-
 .../bridge/NoLoadExternalResourceSecurity.java  |   13 +-
 .../batik/bridge/NoLoadScriptSecurity.java      |   13 +-
 .../forks/batik/bridge/NoRepaintRunnable.java   |   13 +-
 .../flex/forks/batik/bridge/PaintBridge.java    |   13 +-
 .../flex/forks/batik/bridge/PaintServer.java    |   45 +-
 .../bridge/RelaxedExternalResourceSecurity.java |   13 +-
 .../batik/bridge/RelaxedScriptSecurity.java     |   13 +-
 .../flex/forks/batik/bridge/RepaintManager.java |   25 +-
 .../forks/batik/bridge/SVGAElementBridge.java   |  270 +-
 .../batik/bridge/SVGAltGlyphElementBridge.java  |   40 +-
 .../forks/batik/bridge/SVGAltGlyphHandler.java  |   13 +-
 .../bridge/SVGAnimateColorElementBridge.java    |   91 +
 .../batik/bridge/SVGAnimateElementBridge.java   |  327 ++
 .../bridge/SVGAnimateMotionElementBridge.java   |  339 ++
 .../SVGAnimateTransformElementBridge.java       |  286 ++
 .../batik/bridge/SVGAnimationElementBridge.java |  655 +++
 .../forks/batik/bridge/SVGAnimationEngine.java  | 1888 +++++++
 .../forks/batik/bridge/SVGBridgeExtension.java  |   22 +-
 .../batik/bridge/SVGBrokenLinkProvider.java     |   78 +-
 .../batik/bridge/SVGCircleElementBridge.java    |   99 +-
 .../batik/bridge/SVGClipPathElementBridge.java  |   42 +-
 .../bridge/SVGColorProfileElementBridge.java    |   56 +-
 .../bridge/SVGDecoratedShapeElementBridge.java  |   13 +-
 .../batik/bridge/SVGDescElementBridge.java      |   17 +-
 .../bridge/SVGDescriptiveElementBridge.java     |   40 +-
 .../forks/batik/bridge/SVGDocumentBridge.java   |  226 +
 .../batik/bridge/SVGEllipseElementBridge.java   |  114 +-
 .../batik/bridge/SVGFeBlendElementBridge.java   |   23 +-
 .../bridge/SVGFeColorMatrixElementBridge.java   |   63 +-
 .../SVGFeComponentTransferElementBridge.java    |   49 +-
 .../bridge/SVGFeCompositeElementBridge.java     |   32 +-
 .../SVGFeConvolveMatrixElementBridge.java       |  116 +-
 .../SVGFeDiffuseLightingElementBridge.java      |   20 +-
 .../SVGFeDisplacementMapElementBridge.java      |   30 +-
 .../batik/bridge/SVGFeFloodElementBridge.java   |   13 +-
 .../bridge/SVGFeGaussianBlurElementBridge.java  |   31 +-
 .../batik/bridge/SVGFeImageElementBridge.java   |  121 +-
 .../batik/bridge/SVGFeMergeElementBridge.java   |   16 +-
 .../bridge/SVGFeMorphologyElementBridge.java    |   39 +-
 .../batik/bridge/SVGFeOffsetElementBridge.java  |   17 +-
 .../SVGFeSpecularLightingElementBridge.java     |   37 +-
 .../batik/bridge/SVGFeTileElementBridge.java    |   13 +-
 .../bridge/SVGFeTurbulenceElementBridge.java    |   45 +-
 .../batik/bridge/SVGFilterElementBridge.java    |   99 +-
 .../batik/bridge/SVGFontElementBridge.java      |   21 +-
 .../flex/forks/batik/bridge/SVGFontFace.java    |   13 +-
 .../batik/bridge/SVGFontFaceElementBridge.java  |   73 +-
 .../flex/forks/batik/bridge/SVGFontFamily.java  |   34 +-
 .../forks/batik/bridge/SVGFontUtilities.java    |   31 +-
 .../forks/batik/bridge/SVGGElementBridge.java   |   29 +-
 .../flex/forks/batik/bridge/SVGGVTFont.java     |   74 +-
 .../batik/bridge/SVGGlyphElementBridge.java     |   74 +-
 .../batik/bridge/SVGHKernElementBridge.java     |   13 +-
 .../batik/bridge/SVGImageElementBridge.java     |  607 ++-
 .../batik/bridge/SVGKernElementBridge.java      |   53 +-
 .../batik/bridge/SVGLineElementBridge.java      |   98 +-
 .../bridge/SVGLinearGradientElementBridge.java  |   56 +-
 .../batik/bridge/SVGMarkerElementBridge.java    |   27 +-
 .../batik/bridge/SVGMaskElementBridge.java      |   21 +-
 .../bridge/SVGMissingGlyphElementBridge.java    |   13 +-
 .../batik/bridge/SVGPathElementBridge.java      |  104 +-
 .../batik/bridge/SVGPatternElementBridge.java   |   31 +-
 .../batik/bridge/SVGPolygonElementBridge.java   |   78 +-
 .../batik/bridge/SVGPolylineElementBridge.java  |   78 +-
 .../bridge/SVGRadialGradientElementBridge.java  |   36 +-
 .../batik/bridge/SVGRectElementBridge.java      |  168 +-
 .../forks/batik/bridge/SVGSVGElementBridge.java |  603 +--
 .../forks/batik/bridge/SVGSetElementBridge.java |   71 +
 .../batik/bridge/SVGShapeElementBridge.java     |   24 +-
 .../batik/bridge/SVGSwitchElementBridge.java    |  141 +-
 .../batik/bridge/SVGTextElementBridge.java      | 1699 ++++---
 .../batik/bridge/SVGTextPathElementBridge.java  |   49 +-
 .../batik/bridge/SVGTitleElementBridge.java     |   16 +-
 .../forks/batik/bridge/SVGUseElementBridge.java |  282 +-
 .../flex/forks/batik/bridge/SVGUtilities.java   |  387 +-
 .../batik/bridge/SVGVKernElementBridge.java     |   13 +-
 .../flex/forks/batik/bridge/ScriptSecurity.java |   13 +-
 .../batik/bridge/ScriptingEnvironment.java      |  666 +--
 .../flex/forks/batik/bridge/StyleReference.java |   13 +-
 .../flex/forks/batik/bridge/TextUtilities.java  |   17 +-
 .../flex/forks/batik/bridge/URIResolver.java    |   43 +-
 .../flex/forks/batik/bridge/UnitProcessor.java  |   71 +-
 .../flex/forks/batik/bridge/UpdateManager.java  |  370 +-
 .../batik/bridge/UpdateManagerAdapter.java      |   13 +-
 .../forks/batik/bridge/UpdateManagerEvent.java  |   13 +-
 .../batik/bridge/UpdateManagerListener.java     |   13 +-
 .../flex/forks/batik/bridge/UserAgent.java      |   28 +-
 .../forks/batik/bridge/UserAgentAdapter.java    |   54 +-
 .../forks/batik/bridge/UserAgentViewport.java   |   13 +-
 .../apache/flex/forks/batik/bridge/ViewBox.java |  158 +-
 .../flex/forks/batik/bridge/Viewport.java       |   17 +-
 .../bridge/svg12/AbstractContentSelector.java   |  169 +
 .../bridge/svg12/BindableElementBridge.java     |  262 +
 .../batik/bridge/svg12/BindingListener.java     |   37 +
 .../batik/bridge/svg12/ContentManager.java      |  552 +++
 .../svg12/ContentSelectionChangedEvent.java     |   48 +
 .../svg12/ContentSelectionChangedListener.java  |   38 +
 .../bridge/svg12/DefaultContentSelector.java    |  134 +
 .../batik/bridge/svg12/DefaultXBLManager.java   | 2089 ++++++++
 .../batik/bridge/svg12/SVG12BridgeContext.java  |  553 +++
 .../bridge/svg12/SVG12BridgeEventSupport.java   |  833 ++++
 .../bridge/svg12/SVG12BridgeExtension.java      |   56 +-
 .../bridge/svg12/SVG12BridgeUpdateHandler.java  |   44 +
 .../batik/bridge/svg12/SVG12FocusManager.java   |  202 +
 .../bridge/svg12/SVG12ScriptingEnvironment.java |  334 ++
 .../bridge/svg12/SVG12TextElementBridge.java    |  190 +
 .../batik/bridge/svg12/SVG12URIResolver.java    |   86 +
 .../bridge/svg12/SVGFlowRootElementBridge.java  |  632 ++-
 .../svg12/SVGMultiImageElementBridge.java       |  109 +-
 .../svg12/SVGSolidColorElementBridge.java       |   34 +-
 .../bridge/svg12/XBLContentElementBridge.java   |  213 +
 .../svg12/XBLShadowTreeElementBridge.java       |  176 +
 .../svg12/XPathPatternContentSelector.java      |  252 +
 .../svg12/XPathSubsetContentSelector.java       |  513 ++
 .../forks/batik/css/dom/CSSOMComputedStyle.java |   15 +-
 .../flex/forks/batik/css/dom/CSSOMSVGColor.java |  369 +-
 .../batik/css/dom/CSSOMSVGComputedStyle.java    |   13 +-
 .../flex/forks/batik/css/dom/CSSOMSVGPaint.java |  185 +-
 .../batik/css/dom/CSSOMSVGStyleDeclaration.java |   14 +-
 .../forks/batik/css/dom/CSSOMSVGViewCSS.java    |   13 +-
 .../css/dom/CSSOMStoredStyleDeclaration.java    |  115 +
 .../batik/css/dom/CSSOMStyleDeclaration.java    |   24 +-
 .../flex/forks/batik/css/dom/CSSOMValue.java    |  483 +-
 .../flex/forks/batik/css/dom/CSSOMViewCSS.java  |   13 +-
 .../flex/forks/batik/css/engine/CSSContext.java |   27 +-
 .../flex/forks/batik/css/engine/CSSEngine.java  | 1191 +++--
 .../forks/batik/css/engine/CSSEngineEvent.java  |   13 +-
 .../batik/css/engine/CSSEngineListener.java     |   13 +-
 .../batik/css/engine/CSSEngineUserAgent.java    |   17 +-
 .../forks/batik/css/engine/CSSImportNode.java   |   34 -
 .../css/engine/CSSImportedElementRoot.java      |   44 -
 .../batik/css/engine/CSSNavigableDocument.java  |   40 +
 .../engine/CSSNavigableDocumentListener.java    |   78 +
 .../batik/css/engine/CSSNavigableNode.java      |   62 +
 .../batik/css/engine/CSSStylableElement.java    |   23 +-
 .../batik/css/engine/CSSStyleSheetNode.java     |   13 +-
 .../forks/batik/css/engine/FontFaceRule.java    |   19 +-
 .../flex/forks/batik/css/engine/ImportRule.java |   30 +-
 .../flex/forks/batik/css/engine/MediaRule.java  |   19 +-
 .../flex/forks/batik/css/engine/Messages.java   |   15 +-
 .../flex/forks/batik/css/engine/Rule.java       |   21 +-
 .../forks/batik/css/engine/SVG12CSSEngine.java  |   64 +-
 .../forks/batik/css/engine/SVGCSSEngine.java    |  161 +-
 .../forks/batik/css/engine/StringIntMap.java    |  170 +-
 .../batik/css/engine/StyleDeclaration.java      |   53 +-
 .../css/engine/StyleDeclarationProvider.java    |   40 +
 .../flex/forks/batik/css/engine/StyleMap.java   |   64 +-
 .../flex/forks/batik/css/engine/StyleRule.java  |   19 +-
 .../flex/forks/batik/css/engine/StyleSheet.java |   25 +-
 .../batik/css/engine/SystemColorSupport.java    |   19 +-
 .../engine/sac/AbstractAttributeCondition.java  |   45 +-
 .../engine/sac/AbstractCombinatorCondition.java |   45 +-
 .../engine/sac/AbstractDescendantSelector.java  |   53 +-
 .../css/engine/sac/AbstractElementSelector.java |   41 +-
 .../css/engine/sac/AbstractSiblingSelector.java |   53 +-
 .../batik/css/engine/sac/CSSAndCondition.java   |   31 +-
 .../css/engine/sac/CSSAttributeCondition.java   |   87 +-
 .../sac/CSSBeginHyphenAttributeCondition.java   |   35 +-
 .../batik/css/engine/sac/CSSChildSelector.java  |   47 +-
 .../batik/css/engine/sac/CSSClassCondition.java |   57 +-
 .../css/engine/sac/CSSConditionFactory.java     |  115 +-
 .../css/engine/sac/CSSConditionalSelector.java  |   67 +-
 .../css/engine/sac/CSSDescendantSelector.java   |   40 +-
 .../engine/sac/CSSDirectAdjacentSelector.java   |   42 +-
 .../css/engine/sac/CSSElementSelector.java      |   41 +-
 .../batik/css/engine/sac/CSSIdCondition.java    |   49 +-
 .../batik/css/engine/sac/CSSLangCondition.java  |   61 +-
 .../engine/sac/CSSOneOfAttributeCondition.java  |   47 +-
 .../css/engine/sac/CSSPseudoClassCondition.java |   68 +-
 .../engine/sac/CSSPseudoElementSelector.java    |   27 +-
 .../css/engine/sac/CSSSelectorFactory.java      |  139 +-
 .../batik/css/engine/sac/ExtendedCondition.java |   17 +-
 .../batik/css/engine/sac/ExtendedSelector.java  |   17 +-
 .../css/engine/value/AbstractColorManager.java  |   37 +-
 .../batik/css/engine/value/AbstractValue.java   |   13 +-
 .../css/engine/value/AbstractValueFactory.java  |   17 +-
 .../css/engine/value/AbstractValueManager.java  |   15 +-
 .../batik/css/engine/value/ComputedValue.java   |   13 +-
 .../batik/css/engine/value/FloatValue.java      |   27 +-
 .../css/engine/value/IdentifierManager.java     |   53 +-
 .../batik/css/engine/value/InheritValue.java    |   25 +-
 .../batik/css/engine/value/LengthManager.java   |  104 +-
 .../forks/batik/css/engine/value/ListValue.java |   23 +-
 .../forks/batik/css/engine/value/Messages.java  |   15 +-
 .../batik/css/engine/value/RGBColorValue.java   |   19 +-
 .../batik/css/engine/value/RectManager.java     |   69 +-
 .../forks/batik/css/engine/value/RectValue.java |   33 +-
 .../css/engine/value/ShorthandManager.java      |   33 +-
 .../forks/batik/css/engine/value/StringMap.java |  208 +-
 .../batik/css/engine/value/StringValue.java     |   55 +-
 .../forks/batik/css/engine/value/URIValue.java  |   18 +-
 .../forks/batik/css/engine/value/Value.java     |   13 +-
 .../batik/css/engine/value/ValueConstants.java  |   13 +-
 .../batik/css/engine/value/ValueManager.java    |   34 +-
 .../css/engine/value/css2/ClipManager.java      |   62 +-
 .../css/engine/value/css2/CursorManager.java    |   94 +-
 .../css/engine/value/css2/DirectionManager.java |   50 +-
 .../css/engine/value/css2/DisplayManager.java   |   80 +-
 .../engine/value/css2/FontFamilyManager.java    |   60 +-
 .../engine/value/css2/FontShorthandManager.java |  135 +-
 .../value/css2/FontSizeAdjustManager.java       |   60 +-
 .../css/engine/value/css2/FontSizeManager.java  |   60 +-
 .../engine/value/css2/FontStretchManager.java   |   71 +-
 .../css/engine/value/css2/FontStyleManager.java |   54 +-
 .../engine/value/css2/FontVariantManager.java   |   50 +-
 .../engine/value/css2/FontWeightManager.java    |  116 +-
 .../css/engine/value/css2/OverflowManager.java  |   54 +-
 .../batik/css/engine/value/css2/SrcManager.java |   59 +-
 .../value/css2/TextDecorationManager.java       |   75 +-
 .../engine/value/css2/UnicodeBidiManager.java   |   52 +-
 .../engine/value/css2/VisibilityManager.java    |   52 +-
 .../value/svg/AlignmentBaselineManager.java     |   68 +-
 .../engine/value/svg/BaselineShiftManager.java  |   82 +-
 .../css/engine/value/svg/ClipPathManager.java   |   56 +-
 .../css/engine/value/svg/ClipRuleManager.java   |   50 +-
 .../svg/ColorInterpolationFiltersManager.java   |   15 +-
 .../value/svg/ColorInterpolationManager.java    |   52 +-
 .../css/engine/value/svg/ColorManager.java      |   46 +-
 .../engine/value/svg/ColorProfileManager.java   |   51 +-
 .../engine/value/svg/ColorRenderingManager.java |   52 +-
 .../value/svg/DominantBaselineManager.java      |   74 +-
 .../value/svg/EnableBackgroundManager.java      |   52 +-
 .../css/engine/value/svg/FillRuleManager.java   |   50 +-
 .../css/engine/value/svg/FilterManager.java     |   63 +-
 .../svg/GlyphOrientationHorizontalManager.java  |   15 +-
 .../value/svg/GlyphOrientationManager.java      |   44 +-
 .../svg/GlyphOrientationVerticalManager.java    |   25 +-
 .../batik/css/engine/value/svg/ICCColor.java    |   25 +-
 .../engine/value/svg/ImageRenderingManager.java |   52 +-
 .../css/engine/value/svg/KerningManager.java    |   54 +-
 .../css/engine/value/svg/MarkerManager.java     |   56 +-
 .../value/svg/MarkerShorthandManager.java       |   31 +-
 .../batik/css/engine/value/svg/MaskManager.java |   56 +-
 .../css/engine/value/svg/OpacityManager.java    |   54 +-
 .../engine/value/svg/PointerEventsManager.java  |   68 +-
 .../css/engine/value/svg/SVGColorManager.java   |   54 +-
 .../css/engine/value/svg/SVGPaintManager.java   |   44 +-
 .../batik/css/engine/value/svg/SVGValue.java    |   13 +-
 .../css/engine/value/svg/SVGValueConstants.java |   13 +-
 .../engine/value/svg/ShapeRenderingManager.java |   54 +-
 .../css/engine/value/svg/SpacingManager.java    |   54 +-
 .../value/svg/StrokeDasharrayManager.java       |   52 +-
 .../value/svg/StrokeDashoffsetManager.java      |   42 +-
 .../engine/value/svg/StrokeLinecapManager.java  |   52 +-
 .../engine/value/svg/StrokeLinejoinManager.java |   52 +-
 .../value/svg/StrokeMiterlimitManager.java      |   66 +-
 .../engine/value/svg/StrokeWidthManager.java    |   45 +-
 .../css/engine/value/svg/TextAnchorManager.java |   52 +-
 .../engine/value/svg/TextRenderingManager.java  |   54 +-
 .../engine/value/svg/WritingModeManager.java    |   58 +-
 .../engine/value/svg12/LineHeightManager.java   |   48 +-
 .../css/engine/value/svg12/LineHeightValue.java |   15 +-
 .../engine/value/svg12/MarginLengthManager.java |   42 +-
 .../value/svg12/MarginShorthandManager.java     |   31 +-
 .../engine/value/svg12/SVG12ValueConstants.java |   15 +-
 .../engine/value/svg12/TextAlignManager.java    |   55 +-
 .../css/parser/AbstractAttributeCondition.java  |   21 +-
 .../css/parser/AbstractCombinatorCondition.java |   27 +-
 .../css/parser/AbstractDescendantSelector.java  |   19 +-
 .../css/parser/AbstractElementSelector.java     |   15 +-
 .../css/parser/AbstractSiblingSelector.java     |   25 +-
 .../forks/batik/css/parser/CSSLexicalUnit.java  |   37 +-
 .../batik/css/parser/CSSSACMediaExpression.java |    2 +-
 .../forks/batik/css/parser/CSSSACMediaList.java |   23 +-
 .../forks/batik/css/parser/CSSSelectorList.java |   28 +-
 .../batik/css/parser/DefaultAndCondition.java   |   27 +-
 .../css/parser/DefaultAttributeCondition.java   |   47 +-
 .../DefaultBeginHyphenAttributeCondition.java   |   23 +-
 .../batik/css/parser/DefaultChildSelector.java  |   35 +-
 .../batik/css/parser/DefaultClassCondition.java |   23 +-
 .../css/parser/DefaultConditionFactory.java     |  149 +-
 .../css/parser/DefaultConditionalSelector.java  |   30 +-
 .../css/parser/DefaultDescendantSelector.java   |   27 +-
 .../parser/DefaultDirectAdjacentSelector.java   |   27 +-
 .../css/parser/DefaultDocumentHandler.java      |   67 +-
 .../css/parser/DefaultElementSelector.java      |   31 +-
 .../batik/css/parser/DefaultErrorHandler.java   |   19 +-
 .../batik/css/parser/DefaultIdCondition.java    |   35 +-
 .../batik/css/parser/DefaultLangCondition.java  |   29 +-
 .../parser/DefaultOneOfAttributeCondition.java  |   23 +-
 .../css/parser/DefaultPseudoClassCondition.java |   37 +-
 .../parser/DefaultPseudoElementSelector.java    |   23 +-
 .../css/parser/DefaultSelectorFactory.java      |  139 +-
 .../forks/batik/css/parser/ExtendedParser.java  |   27 +-
 .../batik/css/parser/ExtendedParserWrapper.java |  119 +-
 .../forks/batik/css/parser/LexicalUnits.java    |   15 +-
 .../forks/batik/css/parser/ParseException.java  |   15 +-
 .../flex/forks/batik/css/parser/Parser.java     |   93 +-
 .../flex/forks/batik/css/parser/Scanner.java    |   34 +-
 .../batik/css/parser/ScannerUtilities.java      |    4 -
 .../flex/forks/batik/dom/AbstractAttr.java      |  217 +-
 .../flex/forks/batik/dom/AbstractAttrNS.java    |   99 +-
 .../forks/batik/dom/AbstractCharacterData.java  |  196 +-
 .../flex/forks/batik/dom/AbstractChildNode.java |   25 +-
 .../flex/forks/batik/dom/AbstractComment.java   |   25 +-
 .../batik/dom/AbstractDOMImplementation.java    |   79 +-
 .../flex/forks/batik/dom/AbstractDocument.java  | 2202 ++++++++-
 .../batik/dom/AbstractDocumentFragment.java     |   42 +-
 .../flex/forks/batik/dom/AbstractElement.java   | 1012 ++--
 .../flex/forks/batik/dom/AbstractElementNS.java |   74 +-
 .../flex/forks/batik/dom/AbstractEntity.java    |  125 +-
 .../batik/dom/AbstractEntityReference.java      |   94 +-
 .../flex/forks/batik/dom/AbstractNode.java      |  845 +++-
 .../flex/forks/batik/dom/AbstractNotation.java  |   83 +-
 .../batik/dom/AbstractParentChildNode.java      |   25 +-
 .../forks/batik/dom/AbstractParentNode.java     |  960 ++--
 .../dom/AbstractProcessingInstruction.java      |   83 +-
 .../batik/dom/AbstractStylableDocument.java     |   18 +-
 .../flex/forks/batik/dom/AbstractText.java      |  223 +-
 .../flex/forks/batik/dom/DomExtension.java      |   30 +-
 .../flex/forks/batik/dom/ExtendedNode.java      |   15 +-
 .../batik/dom/ExtensibleDOMImplementation.java  |   49 +-
 .../flex/forks/batik/dom/GenericAttr.java       |   22 +-
 .../flex/forks/batik/dom/GenericAttrNS.java     |   24 +-
 .../forks/batik/dom/GenericCDATASection.java    |   32 +-
 .../flex/forks/batik/dom/GenericComment.java    |   21 +-
 .../batik/dom/GenericDOMImplementation.java     |   28 +-
 .../flex/forks/batik/dom/GenericDocument.java   |   29 +-
 .../batik/dom/GenericDocumentFragment.java      |   19 +-
 .../forks/batik/dom/GenericDocumentType.java    |   24 +-
 .../flex/forks/batik/dom/GenericElement.java    |   55 +-
 .../flex/forks/batik/dom/GenericElementNS.java  |   50 +-
 .../flex/forks/batik/dom/GenericEntity.java     |   31 +-
 .../forks/batik/dom/GenericEntityReference.java |   19 +-
 .../flex/forks/batik/dom/GenericNotation.java   |   31 +-
 .../batik/dom/GenericProcessingInstruction.java |   65 +-
 .../flex/forks/batik/dom/GenericText.java       |   27 +-
 .../flex/forks/batik/dom/StyleSheetFactory.java |   13 +-
 .../dom/StyleSheetProcessingInstruction.java    |   41 +-
 .../forks/batik/dom/anim/AnimatableElement.java |   38 +
 .../forks/batik/dom/anim/AnimationTarget.java   |  101 +
 .../batik/dom/anim/AnimationTargetListener.java |   37 +
 .../forks/batik/dom/events/AbstractEvent.java   |  201 +-
 .../forks/batik/dom/events/DOMCustomEvent.java  |   54 +
 .../flex/forks/batik/dom/events/DOMEvent.java   |   13 +-
 .../forks/batik/dom/events/DOMKeyEvent.java     |   16 +-
 .../batik/dom/events/DOMKeyboardEvent.java      |  370 ++
 .../forks/batik/dom/events/DOMMouseEvent.java   |  214 +-
 .../batik/dom/events/DOMMutationEvent.java      |   82 +-
 .../batik/dom/events/DOMMutationNameEvent.java  |  101 +
 .../forks/batik/dom/events/DOMTextEvent.java    |   73 +
 .../forks/batik/dom/events/DOMTimeEvent.java    |   87 +
 .../flex/forks/batik/dom/events/DOMUIEvent.java |   91 +-
 .../batik/dom/events/DocumentEventSupport.java  |  135 +-
 .../batik/dom/events/EventListenerList.java     |  257 +-
 .../forks/batik/dom/events/EventSupport.java    |  495 +-
 .../forks/batik/dom/events/NodeEventTarget.java |   99 +-
 .../forks/batik/dom/svg/AbstractElement.java    |  217 +-
 .../dom/svg/AbstractSVGAnimatedLength.java      |  312 +-
 .../batik/dom/svg/AbstractSVGAnimatedValue.java |  135 +
 .../forks/batik/dom/svg/AbstractSVGItem.java    |   60 +-
 .../forks/batik/dom/svg/AbstractSVGLength.java  |   96 +-
 .../batik/dom/svg/AbstractSVGLengthList.java    |  219 +-
 .../forks/batik/dom/svg/AbstractSVGList.java    |  536 +-
 .../forks/batik/dom/svg/AbstractSVGMatrix.java  |   36 +-
 .../dom/svg/AbstractSVGNormPathSegList.java     |  396 ++
 .../forks/batik/dom/svg/AbstractSVGNumber.java  |   35 +-
 .../batik/dom/svg/AbstractSVGNumberList.java    |  184 +-
 .../batik/dom/svg/AbstractSVGPathSegList.java   |  297 +-
 .../batik/dom/svg/AbstractSVGPointList.java     |  214 +-
 .../dom/svg/AbstractSVGPreserveAspectRatio.java |  192 +-
 .../batik/dom/svg/AbstractSVGTransform.java     |  137 +-
 .../batik/dom/svg/AbstractSVGTransformList.java |  638 +--
 .../dom/svg/AnimatedAttributeListener.java      |   47 +
 .../dom/svg/AnimatedLiveAttributeValue.java     |   57 +
 .../batik/dom/svg/AttributeInitializer.java     |   25 +-
 .../batik/dom/svg/ExtendedTraitAccess.java      |   81 +
 .../flex/forks/batik/dom/svg/IdContainer.java   |   37 +
 .../flex/forks/batik/dom/svg/ListHandler.java   |   13 +-
 .../batik/dom/svg/LiveAttributeException.java   |  101 +
 .../forks/batik/dom/svg/LiveAttributeValue.java |   14 +-
 .../batik/dom/svg/SAXSVGDocumentFactory.java    |   99 +-
 .../dom/svg/SVGAnimatedPathDataSupport.java     |  241 +-
 .../batik/dom/svg/SVGAnimatedPointsSupport.java |   74 -
 .../batik/dom/svg/SVGAnimationContext.java      |   65 +
 .../dom/svg/SVGAnimationTargetContext.java      |   42 +
 .../flex/forks/batik/dom/svg/SVGContext.java    |   20 +-
 .../batik/dom/svg/SVGDOMImplementation.java     |   70 +-
 .../batik/dom/svg/SVGDescriptiveElement.java    |   21 +-
 .../forks/batik/dom/svg/SVGDocumentFactory.java |   15 +-
 .../SVGExternalResourcesRequiredSupport.java    |   51 -
 .../forks/batik/dom/svg/SVGGraphicsElement.java |  199 +-
 .../flex/forks/batik/dom/svg/SVGItem.java       |   24 +-
 .../batik/dom/svg/SVGLocatableSupport.java      |   38 +-
 .../dom/svg/SVGMotionAnimatableElement.java     |   36 +
 .../flex/forks/batik/dom/svg/SVGOMAElement.java |   64 +-
 .../batik/dom/svg/SVGOMAltGlyphDefElement.java  |   16 +-
 .../batik/dom/svg/SVGOMAltGlyphElement.java     |   40 +-
 .../batik/dom/svg/SVGOMAltGlyphItemElement.java |   16 +-
 .../flex/forks/batik/dom/svg/SVGOMAngle.java    |  197 +
 .../batik/dom/svg/SVGOMAnimateColorElement.java |   74 +-
 .../batik/dom/svg/SVGOMAnimateElement.java      |   74 +-
 .../dom/svg/SVGOMAnimateMotionElement.java      |   84 +-
 .../dom/svg/SVGOMAnimateTransformElement.java   |   76 +-
 .../batik/dom/svg/SVGOMAnimatedBoolean.java     |  147 +-
 .../batik/dom/svg/SVGOMAnimatedEnumeration.java |  167 +-
 .../batik/dom/svg/SVGOMAnimatedInteger.java     |  130 +-
 .../batik/dom/svg/SVGOMAnimatedLength.java      |   24 +-
 .../batik/dom/svg/SVGOMAnimatedLengthList.java  |  484 +-
 .../dom/svg/SVGOMAnimatedMarkerOrientValue.java |  445 ++
 .../batik/dom/svg/SVGOMAnimatedNumber.java      |  152 +-
 .../batik/dom/svg/SVGOMAnimatedNumberList.java  |  472 +-
 .../batik/dom/svg/SVGOMAnimatedPathData.java    |  758 ++-
 .../batik/dom/svg/SVGOMAnimatedPoints.java      |  445 +-
 .../svg/SVGOMAnimatedPreserveAspectRatio.java   |  291 +-
 .../forks/batik/dom/svg/SVGOMAnimatedRect.java  |  394 ++
 .../batik/dom/svg/SVGOMAnimatedString.java      |   79 +-
 .../dom/svg/SVGOMAnimatedTransformList.java     |  468 +-
 .../batik/dom/svg/SVGOMAnimationElement.java    |  130 +-
 .../dom/svg/SVGOMCSSImportedElementRoot.java    |  103 -
 .../forks/batik/dom/svg/SVGOMCircleElement.java |   94 +-
 .../batik/dom/svg/SVGOMClipPathElement.java     |   69 +-
 .../batik/dom/svg/SVGOMColorProfileElement.java |   46 +-
 .../SVGOMComponentTransferFunctionElement.java  |  138 +-
 .../forks/batik/dom/svg/SVGOMCursorElement.java |  118 +-
 .../dom/svg/SVGOMDefinitionSrcElement.java      |   15 +-
 .../forks/batik/dom/svg/SVGOMDefsElement.java   |   15 +-
 .../forks/batik/dom/svg/SVGOMDescElement.java   |   16 +-
 .../flex/forks/batik/dom/svg/SVGOMDocument.java |  487 +-
 .../flex/forks/batik/dom/svg/SVGOMElement.java  |  833 +++-
 .../batik/dom/svg/SVGOMEllipseElement.java      |  108 +-
 .../flex/forks/batik/dom/svg/SVGOMEvent.java    |   15 +-
 .../forks/batik/dom/svg/SVGOMException.java     |   15 +-
 .../batik/dom/svg/SVGOMFEBlendElement.java      |   91 +-
 .../dom/svg/SVGOMFEColorMatrixElement.java      |   92 +-
 .../svg/SVGOMFEComponentTransferElement.java    |   62 +-
 .../batik/dom/svg/SVGOMFECompositeElement.java  |  131 +-
 .../dom/svg/SVGOMFEConvolveMatrixElement.java   |  238 +-
 .../dom/svg/SVGOMFEDiffuseLightingElement.java  |  155 +-
 .../dom/svg/SVGOMFEDisplacementMapElement.java  |  122 +-
 .../dom/svg/SVGOMFEDistantLightElement.java     |   72 +-
 .../batik/dom/svg/SVGOMFEFloodElement.java      |   62 +-
 .../batik/dom/svg/SVGOMFEFuncAElement.java      |   15 +-
 .../batik/dom/svg/SVGOMFEFuncBElement.java      |   15 +-
 .../batik/dom/svg/SVGOMFEFuncGElement.java      |   15 +-
 .../batik/dom/svg/SVGOMFEFuncRElement.java      |   15 +-
 .../dom/svg/SVGOMFEGaussianBlurElement.java     |  120 +-
 .../batik/dom/svg/SVGOMFEImageElement.java      |  112 +-
 .../batik/dom/svg/SVGOMFEMergeElement.java      |   15 +-
 .../batik/dom/svg/SVGOMFEMergeNodeElement.java  |   62 +-
 .../batik/dom/svg/SVGOMFEMorphologyElement.java |  142 +-
 .../batik/dom/svg/SVGOMFEOffsetElement.java     |   88 +-
 .../batik/dom/svg/SVGOMFEPointLightElement.java |   82 +-
 .../dom/svg/SVGOMFESpecularLightingElement.java |  103 +-
 .../batik/dom/svg/SVGOMFESpotLightElement.java  |  140 +-
 .../forks/batik/dom/svg/SVGOMFETileElement.java |   62 +-
 .../batik/dom/svg/SVGOMFETurbulenceElement.java |  161 +-
 .../forks/batik/dom/svg/SVGOMFilterElement.java |  239 +-
 .../SVGOMFilterPrimitiveStandardAttributes.java |  136 +-
 .../forks/batik/dom/svg/SVGOMFontElement.java   |   81 +-
 .../batik/dom/svg/SVGOMFontFaceElement.java     |   98 +-
 .../dom/svg/SVGOMFontFaceFormatElement.java     |   36 +-
 .../batik/dom/svg/SVGOMFontFaceNameElement.java |   36 +-
 .../batik/dom/svg/SVGOMFontFaceSrcElement.java  |   16 +-
 .../batik/dom/svg/SVGOMFontFaceUriElement.java  |   16 +-
 .../dom/svg/SVGOMForeignObjectElement.java      |  116 +-
 .../flex/forks/batik/dom/svg/SVGOMGElement.java |   16 +-
 .../forks/batik/dom/svg/SVGOMGlyphElement.java  |   51 +-
 .../batik/dom/svg/SVGOMGlyphRefElement.java     |   83 +-
 .../batik/dom/svg/SVGOMGradientElement.java     |  138 +-
 .../forks/batik/dom/svg/SVGOMHKernElement.java  |   43 +-
 .../forks/batik/dom/svg/SVGOMImageElement.java  |  122 +-
 .../flex/forks/batik/dom/svg/SVGOMLength.java   |   16 +-
 .../forks/batik/dom/svg/SVGOMLineElement.java   |  114 +-
 .../dom/svg/SVGOMLinearGradientElement.java     |  110 +-
 .../forks/batik/dom/svg/SVGOMMPathElement.java  |   69 +-
 .../forks/batik/dom/svg/SVGOMMarkerElement.java |  279 +-
 .../forks/batik/dom/svg/SVGOMMaskElement.java   |  145 +-
 .../flex/forks/batik/dom/svg/SVGOMMatrix.java   |   15 +-
 .../batik/dom/svg/SVGOMMetadataElement.java     |   18 +-
 .../batik/dom/svg/SVGOMMissingGlyphElement.java |   43 +-
 .../forks/batik/dom/svg/SVGOMPathElement.java   |  158 +-
 .../batik/dom/svg/SVGOMPatternElement.java      |  227 +-
 .../flex/forks/batik/dom/svg/SVGOMPoint.java    |   93 +-
 .../batik/dom/svg/SVGOMPolygonElement.java      |   35 +-
 .../batik/dom/svg/SVGOMPolylineElement.java     |   35 +-
 .../dom/svg/SVGOMRadialGradientElement.java     |  185 +-
 .../flex/forks/batik/dom/svg/SVGOMRect.java     |  122 +-
 .../forks/batik/dom/svg/SVGOMRectElement.java   |  245 +-
 .../forks/batik/dom/svg/SVGOMSVGElement.java    |  612 ++-
 .../forks/batik/dom/svg/SVGOMScriptElement.java |   78 +-
 .../forks/batik/dom/svg/SVGOMSetElement.java    |   58 +-
 .../forks/batik/dom/svg/SVGOMStopElement.java   |   66 +-
 .../forks/batik/dom/svg/SVGOMStyleElement.java  |   78 +-
 .../forks/batik/dom/svg/SVGOMSwitchElement.java |   16 +-
 .../forks/batik/dom/svg/SVGOMSymbolElement.java |  108 +-
 .../forks/batik/dom/svg/SVGOMTRefElement.java   |   16 +-
 .../forks/batik/dom/svg/SVGOMTSpanElement.java  |   16 +-
 .../batik/dom/svg/SVGOMTextContentElement.java  |  247 +-
 .../forks/batik/dom/svg/SVGOMTextElement.java   |  187 +-
 .../batik/dom/svg/SVGOMTextPathElement.java     |  121 +-
 .../dom/svg/SVGOMTextPositioningElement.java    |  132 +-
 .../forks/batik/dom/svg/SVGOMTitleElement.java  |   18 +-
 .../dom/svg/SVGOMToBeImplementedElement.java    |   45 +-
 .../forks/batik/dom/svg/SVGOMTransform.java     |   91 +-
 .../batik/dom/svg/SVGOMURIReferenceElement.java |   66 +-
 .../forks/batik/dom/svg/SVGOMUseElement.java    |  172 +-
 .../forks/batik/dom/svg/SVGOMUseShadowRoot.java |  145 +
 .../forks/batik/dom/svg/SVGOMVKernElement.java  |   43 +-
 .../forks/batik/dom/svg/SVGOMViewElement.java   |  109 +-
 .../forks/batik/dom/svg/SVGPathContext.java     |   36 +-
 .../batik/dom/svg/SVGPathSegConstants.java      |  117 +-
 .../forks/batik/dom/svg/SVGPathSupport.java     |   35 +-
 .../batik/dom/svg/SVGPointShapeElement.java     |  117 +
 .../dom/svg/SVGPreserveAspectRatioSupport.java  |   47 -
 .../flex/forks/batik/dom/svg/SVGSVGContext.java |   74 +-
 .../forks/batik/dom/svg/SVGStylableElement.java |  330 +-
 .../svg/SVGStyleSheetProcessingInstruction.java |   40 +-
 .../forks/batik/dom/svg/SVGTestsSupport.java    |   35 +-
 .../forks/batik/dom/svg/SVGTextContent.java     |  175 +-
 .../batik/dom/svg/SVGTextContentSupport.java    |   46 +-
 .../svg/SVGTextPositioningElementSupport.java   |  116 -
 .../batik/dom/svg/SVGTransformableSupport.java  |   60 -
 .../dom/svg/SVGURIReferenceGraphicsElement.java |   63 +-
 .../batik/dom/svg/SVGURIReferenceSupport.java   |   41 -
 .../SVGURIReferenceTextPositioningElement.java  |   67 +-
 .../batik/dom/svg/SVGZoomAndPanSupport.java     |   53 +-
 .../flex/forks/batik/dom/svg/TraitAccess.java   |   31 +
 .../forks/batik/dom/svg/TraitInformation.java   |  105 +
 .../forks/batik/dom/svg/XMLBaseSupport.java     |   88 -
 .../forks/batik/dom/svg12/BindableElement.java  |  134 +
 .../flex/forks/batik/dom/svg12/Global.java      |   28 +
 .../batik/dom/svg12/SVG12DOMImplementation.java |  266 +-
 .../forks/batik/dom/svg12/SVG12OMDocument.java  |  153 +
 .../flex/forks/batik/dom/svg12/SVGGlobal.java   |  106 +
 .../batik/dom/svg12/SVGOMFlowDivElement.java    |   20 +-
 .../batik/dom/svg12/SVGOMFlowLineElement.java   |   18 +-
 .../batik/dom/svg12/SVGOMFlowParaElement.java   |   19 +-
 .../dom/svg12/SVGOMFlowRegionBreakElement.java  |   18 +-
 .../batik/dom/svg12/SVGOMFlowRegionElement.java |   13 +-
 .../svg12/SVGOMFlowRegionExcludeElement.java    |   13 +-
 .../batik/dom/svg12/SVGOMFlowRootElement.java   |   17 +-
 .../batik/dom/svg12/SVGOMFlowSpanElement.java   |   18 +-
 .../batik/dom/svg12/SVGOMHandlerElement.java    |   64 +
 .../batik/dom/svg12/SVGOMMultiImageElement.java |   13 +-
 .../batik/dom/svg12/SVGOMSolidColorElement.java |   13 +-
 .../batik/dom/svg12/SVGOMSubImageElement.java   |   13 +-
 .../dom/svg12/SVGOMSubImageRefElement.java      |   13 +-
 .../forks/batik/dom/svg12/SVGOMWheelEvent.java  |   91 +
 .../forks/batik/dom/svg12/XBLEventSupport.java  |  472 ++
 .../batik/dom/svg12/XBLOMContentElement.java    |   60 +
 .../batik/dom/svg12/XBLOMDefinitionElement.java |   89 +
 .../forks/batik/dom/svg12/XBLOMElement.java     |  140 +
 .../dom/svg12/XBLOMHandlerGroupElement.java     |   60 +
 .../batik/dom/svg12/XBLOMImportElement.java     |   60 +
 .../batik/dom/svg12/XBLOMShadowTreeElement.java |  101 +
 .../batik/dom/svg12/XBLOMShadowTreeEvent.java   |   68 +
 .../batik/dom/svg12/XBLOMTemplateElement.java   |   61 +
 .../forks/batik/dom/svg12/XBLOMXBLElement.java  |   60 +
 .../batik/dom/traversal/DOMNodeIterator.java    |   25 +-
 .../batik/dom/traversal/DOMTreeWalker.java      |   13 +-
 .../batik/dom/traversal/TraversalSupport.java   |   13 +-
 .../dom/util/CSSStyleDeclarationFactory.java    |   13 +-
 .../flex/forks/batik/dom/util/DOMUtilities.java |  672 ++-
 .../batik/dom/util/DocumentDescriptor.java      |  160 +-
 .../forks/batik/dom/util/DocumentFactory.java   |   13 +-
 .../batik/dom/util/DoublyIndexedTable.java      |  194 -
 .../flex/forks/batik/dom/util/HashTable.java    |  343 +-
 .../forks/batik/dom/util/HashTableStack.java    |   65 +-
 .../flex/forks/batik/dom/util/IntTable.java     |  292 ++
 .../flex/forks/batik/dom/util/ListNodeList.java |   15 +-
 .../forks/batik/dom/util/Messages.java.disabled |   81 +
 .../batik/dom/util/SAXDocumentFactory.java      |  256 +-
 .../forks/batik/dom/util/SAXIOException.java    |   43 +
 .../batik/dom/util/TriplyIndexedTable.java      |  212 +
 .../flex/forks/batik/dom/util/XLinkSupport.java |   78 +-
 .../forks/batik/dom/util/XMLHttpRequest.java    |   63 +
 .../dom/util/XMLHttpRequester.java.disabled     |  947 ++++
 .../flex/forks/batik/dom/util/XMLSupport.java   |  144 +-
 .../forks/batik/dom/xbl/GenericXBLManager.java  |  179 +
 .../flex/forks/batik/dom/xbl/NodeXBL.java       |  106 +
 .../flex/forks/batik/dom/xbl/OriginalEvent.java |   35 +
 .../forks/batik/dom/xbl/ShadowTreeEvent.java    |   39 +
 .../flex/forks/batik/dom/xbl/XBLManager.java    |  123 +
 .../forks/batik/dom/xbl/XBLManagerData.java     |   38 +
 .../batik/dom/xbl/XBLShadowTreeElement.java     |   34 +
 .../batik/ext/awt/AreaOfInterestHintKey.java    |   13 +-
 .../forks/batik/ext/awt/AvoidTilingHintKey.java |   13 +-
 .../batik/ext/awt/BufferedImageHintKey.java     |   13 +-
 .../forks/batik/ext/awt/ColorSpaceHintKey.java  |   13 +-
 .../batik/ext/awt/LinearGradientPaint.java      |   23 +-
 .../ext/awt/LinearGradientPaintContext.java     |  141 +-
 .../batik/ext/awt/MultipleGradientPaint.java    |   19 +-
 .../ext/awt/MultipleGradientPaintContext.java   |  399 +-
 .../batik/ext/awt/RadialGradientPaint.java      |  214 +-
 .../ext/awt/RadialGradientPaintContext.java     |  455 +-
 .../batik/ext/awt/RenderingHintsKeyExt.java     |   24 +-
 .../forks/batik/ext/awt/TranscodingHintKey.java |   13 +-
 .../batik/ext/awt/color/ICCColorSpaceExt.java   |   23 +-
 .../batik/ext/awt/color/NamedProfileCache.java  |   16 +-
 .../batik/ext/awt/font/TextPathLayout.java      |  286 +-
 .../flex/forks/batik/ext/awt/font/package.html  |    2 +-
 .../batik/ext/awt/g2d/AbstractGraphics2D.java   |   56 +-
 .../batik/ext/awt/g2d/DefaultGraphics2D.java    |   69 +-
 .../forks/batik/ext/awt/g2d/GraphicContext.java |   59 +-
 .../ext/awt/g2d/TransformStackElement.java      |   47 +-
 .../forks/batik/ext/awt/g2d/TransformType.java  |   24 +-
 .../batik/ext/awt/geom/AbstractSegment.java     |   55 +-
 .../flex/forks/batik/ext/awt/geom/Cubic.java    |   91 +-
 .../batik/ext/awt/geom/ExtendedGeneralPath.java |  159 +-
 .../ext/awt/geom/ExtendedPathIterator.java      |   48 +-
 .../forks/batik/ext/awt/geom/ExtendedShape.java |   15 +-
 .../flex/forks/batik/ext/awt/geom/Linear.java   |   44 +-
 .../forks/batik/ext/awt/geom/PathLength.java    |  657 ++-
 .../forks/batik/ext/awt/geom/Polygon2D.java     |  463 ++
 .../forks/batik/ext/awt/geom/Polyline2D.java    |  427 ++
 .../forks/batik/ext/awt/geom/Quadradic.java     |   68 +-
 .../batik/ext/awt/geom/RectListManager.java     |  158 +-
 .../flex/forks/batik/ext/awt/geom/Segment.java  |   53 +-
 .../forks/batik/ext/awt/geom/SegmentList.java   |   68 +-
 .../forks/batik/ext/awt/geom/ShapeExtender.java |   18 +-
 .../flex/forks/batik/ext/awt/geom/package.html  |    2 +-
 .../forks/batik/ext/awt/image/ARGBChannel.java  |   19 +-
 .../batik/ext/awt/image/AbstractLight.java      |   13 +-
 .../awt/image/ComponentTransferFunction.java    |   39 +-
 .../batik/ext/awt/image/CompositeRule.java      |   31 +-
 .../ConcreteComponentTransferFunction.java      |   37 +-
 .../batik/ext/awt/image/DiscreteTransfer.java   |   13 +-
 .../forks/batik/ext/awt/image/DistantLight.java |   25 +-
 .../batik/ext/awt/image/GammaTransfer.java      |   13 +-
 .../forks/batik/ext/awt/image/GraphicsUtil.java |  177 +-
 .../batik/ext/awt/image/IdentityTransfer.java   |   13 +-
 .../flex/forks/batik/ext/awt/image/Light.java   |   29 +-
 .../batik/ext/awt/image/LinearTransfer.java     |   13 +-
 .../flex/forks/batik/ext/awt/image/PadMode.java |   13 +-
 .../forks/batik/ext/awt/image/PointLight.java   |   37 +-
 .../forks/batik/ext/awt/image/SVGComposite.java |  313 +-
 .../forks/batik/ext/awt/image/SpotLight.java    |  133 +-
 .../batik/ext/awt/image/TableTransfer.java      |   13 +-
 .../batik/ext/awt/image/TransferFunction.java   |   18 +-
 .../batik/ext/awt/image/URLImageCache.java      |   33 +-
 .../image/codec/FileCacheSeekableStream.java    |  260 -
 .../awt/image/codec/ForwardSeekableStream.java  |  123 -
 .../ext/awt/image/codec/ImageDecodeParam.java   |   30 -
 .../batik/ext/awt/image/codec/ImageDecoder.java |   91 -
 .../ext/awt/image/codec/ImageDecoderImpl.java   |  160 -
 .../ext/awt/image/codec/ImageEncodeParam.java   |   31 -
 .../batik/ext/awt/image/codec/ImageEncoder.java |   68 -
 .../ext/awt/image/codec/ImageEncoderImpl.java   |   93 -
 .../image/codec/MemoryCacheSeekableStream.java  |  252 -
 .../ext/awt/image/codec/PNGDecodeParam.java     |  348 --
 .../ext/awt/image/codec/PNGEncodeParam.java     | 1498 ------
 .../ext/awt/image/codec/PNGImageDecoder.java    | 1855 -------
 .../ext/awt/image/codec/PNGImageEncoder.java    |  998 ----
 .../forks/batik/ext/awt/image/codec/PNGRed.java | 1860 -------
 .../image/codec/PNGSuggestedPaletteEntry.java   |   50 -
 .../batik/ext/awt/image/codec/PropertyUtil.java |   40 -
 .../awt/image/codec/SeekableOutputStream.java   |   80 -
 .../ext/awt/image/codec/SeekableStream.java     |  930 ----
 .../awt/image/codec/SimpleRenderedImage.java    |  536 --
 .../image/codec/SingleTileRenderedImage.java    |   60 -
 .../awt/image/codec/jpeg/JPEGImageWriter.java   |   83 +
 .../awt/image/codec/jpeg/JPEGRegistryEntry.java |  137 +
 .../batik/ext/awt/image/codec/package.html      |    2 +-
 .../ext/awt/image/codec/png/PNGDecodeParam.java |  354 ++
 .../ext/awt/image/codec/png/PNGEncodeParam.java | 1505 ++++++
 .../awt/image/codec/png/PNGImageDecoder.java    | 1837 +++++++
 .../awt/image/codec/png/PNGImageEncoder.java    | 1038 ++++
 .../ext/awt/image/codec/png/PNGImageWriter.java |   59 +
 .../batik/ext/awt/image/codec/png/PNGRed.java   | 1861 +++++++
 .../awt/image/codec/png/PNGRegistryEntry.java   |  124 +
 .../codec/png/PNGSuggestedPaletteEntry.java     |   53 +
 .../PNGTranscoderInternalCodecWriteAdapter.java |   94 +
 .../awt/image/codec/tiff/TIFFDecodeParam.java   |   63 +-
 .../ext/awt/image/codec/tiff/TIFFDirectory.java |  162 +-
 .../awt/image/codec/tiff/TIFFEncodeParam.java   |   48 +-
 .../awt/image/codec/tiff/TIFFFaxDecoder.java    | 2291 ++++-----
 .../ext/awt/image/codec/tiff/TIFFField.java     |   22 +-
 .../ext/awt/image/codec/tiff/TIFFImage.java     |  501 +-
 .../awt/image/codec/tiff/TIFFImageDecoder.java  |   29 +-
 .../awt/image/codec/tiff/TIFFImageEncoder.java  |  721 +--
 .../awt/image/codec/tiff/TIFFLZWDecoder.java    |  244 +-
 .../awt/image/codec/tiff/TIFFRegistryEntry.java |  110 +
 ...TIFFTranscoderInternalCodecWriteAdapter.java |  114 +
 .../codec/util/FileCacheSeekableStream.java     |  263 +
 .../image/codec/util/ForwardSeekableStream.java |  128 +
 .../awt/image/codec/util/ImageDecodeParam.java  |   33 +
 .../ext/awt/image/codec/util/ImageDecoder.java  |   93 +
 .../awt/image/codec/util/ImageDecoderImpl.java  |  162 +
 .../awt/image/codec/util/ImageEncodeParam.java  |   34 +
 .../ext/awt/image/codec/util/ImageEncoder.java  |   71 +
 .../awt/image/codec/util/ImageEncoderImpl.java  |   97 +
 .../codec/util/MemoryCacheSeekableStream.java   |  256 +
 .../ext/awt/image/codec/util/PropertyUtil.java  |   45 +
 .../image/codec/util/SeekableOutputStream.java  |   84 +
 .../awt/image/codec/util/SeekableStream.java    |  933 ++++
 .../image/codec/util/SimpleRenderedImage.java   |  541 ++
 .../codec/util/SingleTileRenderedImage.java     |   63 +
 .../flex/forks/batik/ext/awt/image/package.html |    2 +-
 .../AbstractColorInterpolationRable.java        |   13 +-
 .../ext/awt/image/renderable/AbstractRable.java |   33 +-
 .../ext/awt/image/renderable/AffineRable.java   |   21 +-
 .../awt/image/renderable/AffineRable8Bit.java   |   13 +-
 .../ext/awt/image/renderable/ClipRable.java     |   25 +-
 .../ext/awt/image/renderable/ClipRable8Bit.java |   25 +-
 .../awt/image/renderable/ColorMatrixRable.java  |   29 +-
 .../image/renderable/ColorMatrixRable8Bit.java  |   23 +-
 .../renderable/ComponentTransferRable.java      |   33 +-
 .../renderable/ComponentTransferRable8Bit.java  |   29 +-
 .../awt/image/renderable/CompositeRable.java    |   19 +-
 .../image/renderable/CompositeRable8Bit.java    |   20 +-
 .../image/renderable/ConvolveMatrixRable.java   |   41 +-
 .../renderable/ConvolveMatrixRable8Bit.java     |   24 +-
 .../ext/awt/image/renderable/DeferRable.java    |   30 +-
 .../image/renderable/DiffuseLightingRable.java  |   47 +-
 .../renderable/DiffuseLightingRable8Bit.java    |   13 +-
 .../image/renderable/DisplacementMapRable.java  |   35 +-
 .../renderable/DisplacementMapRable8Bit.java    |   23 +-
 .../batik/ext/awt/image/renderable/Filter.java  |   21 +-
 .../awt/image/renderable/FilterAlphaRable.java  |   13 +-
 .../image/renderable/FilterAsAlphaRable.java    |   13 +-
 .../awt/image/renderable/FilterChainRable.java  |   35 +-
 .../image/renderable/FilterChainRable8Bit.java  |   15 +-
 .../renderable/FilterColorInterpolation.java    |   19 +-
 .../awt/image/renderable/FilterResRable.java    |   25 +-
 .../image/renderable/FilterResRable8Bit.java    |   67 +-
 .../ext/awt/image/renderable/FloodRable.java    |   23 +-
 .../awt/image/renderable/FloodRable8Bit.java    |   17 +-
 .../awt/image/renderable/GaussianBlurRable.java |   25 +-
 .../image/renderable/GaussianBlurRable8Bit.java |   22 +-
 .../awt/image/renderable/MorphologyRable.java   |   29 +-
 .../image/renderable/MorphologyRable8Bit.java   |   13 +-
 .../ext/awt/image/renderable/OffsetRable.java   |   25 +-
 .../ext/awt/image/renderable/PadRable.java      |   25 +-
 .../ext/awt/image/renderable/PadRable8Bit.java  |   37 +-
 .../ext/awt/image/renderable/PaintRable.java    |   20 +-
 .../ext/awt/image/renderable/ProfileRable.java  |   13 +-
 .../ext/awt/image/renderable/RedRable.java      |   17 +-
 .../image/renderable/SpecularLightingRable.java |   47 +-
 .../renderable/SpecularLightingRable8Bit.java   |   13 +-
 .../ext/awt/image/renderable/TileRable.java     |   33 +-
 .../ext/awt/image/renderable/TileRable8Bit.java |  100 +-
 .../awt/image/renderable/TurbulenceRable.java   |   41 +-
 .../image/renderable/TurbulenceRable8Bit.java   |   19 +-
 .../ext/awt/image/rendered/AbstractRed.java     |   66 +-
 .../awt/image/rendered/AbstractTiledRed.java    |  189 +-
 .../batik/ext/awt/image/rendered/AffineRed.java |   33 +-
 .../ext/awt/image/rendered/Any2LsRGBRed.java    |   40 +-
 .../ext/awt/image/rendered/Any2LumRed.java      |   13 +-
 .../ext/awt/image/rendered/Any2sRGBRed.java     |  188 +-
 .../rendered/BufferedImageCachableRed.java      |   35 +-
 .../batik/ext/awt/image/rendered/BumpMap.java   |   75 +-
 .../ext/awt/image/rendered/CachableRed.java     |   19 +-
 .../ext/awt/image/rendered/ColorMatrixRed.java  |   37 +-
 .../image/rendered/ComponentTransferRed.java    |   25 +-
 .../ext/awt/image/rendered/CompositeRed.java    |   51 +-
 .../awt/image/rendered/DiffuseLightingRed.java  |   13 +-
 .../awt/image/rendered/DisplacementMapRed.java  |   81 +-
 .../ext/awt/image/rendered/FilterAlphaRed.java  |   13 +-
 .../awt/image/rendered/FilterAsAlphaRed.java    |   13 +-
 .../batik/ext/awt/image/rendered/FloodRed.java  |   13 +-
 .../batik/ext/awt/image/rendered/FormatRed.java |   48 +-
 .../awt/image/rendered/GaussianBlurRed8Bit.java |  193 +-
 .../ext/awt/image/rendered/IndexImage.java      |  666 ++-
 .../batik/ext/awt/image/rendered/LRUCache.java  |  233 +-
 .../ext/awt/image/rendered/MorphologyOp.java    |   47 +-
 .../awt/image/rendered/MultiplyAlphaRed.java    |   67 +-
 .../batik/ext/awt/image/rendered/PadRed.java    |   69 +-
 .../ext/awt/image/rendered/ProfileRed.java      |   70 +-
 .../rendered/RenderedImageCachableRed.java      |   18 +-
 .../awt/image/rendered/SpecularLightingRed.java |   65 +-
 .../batik/ext/awt/image/rendered/TileBlock.java |   99 +-
 .../batik/ext/awt/image/rendered/TileCache.java |   43 +-
 .../ext/awt/image/rendered/TileCacheRed.java    |   19 +-
 .../ext/awt/image/rendered/TileGenerator.java   |   15 +-
 .../batik/ext/awt/image/rendered/TileGrid.java  |   30 +-
 .../ext/awt/image/rendered/TileLRUMember.java   |   77 +-
 .../batik/ext/awt/image/rendered/TileMap.java   |   35 +-
 .../batik/ext/awt/image/rendered/TileRed.java   |   28 +-
 .../batik/ext/awt/image/rendered/TileStore.java |   21 +-
 .../ext/awt/image/rendered/TranslateRed.java    |   27 +-
 .../image/rendered/TurbulencePatternRed.java    |  256 +-
 .../awt/image/spi/AbstractRegistryEntry.java    |   23 +-
 .../ext/awt/image/spi/BrokenLinkProvider.java   |   36 +-
 .../image/spi/DefaultBrokenLinkProvider.java    |   37 +-
 .../batik/ext/awt/image/spi/ErrorConstants.java |   29 +-
 .../ext/awt/image/spi/ImageTagRegistry.java     |   78 +-
 .../batik/ext/awt/image/spi/ImageWriter.java    |   41 +
 .../ext/awt/image/spi/ImageWriterParams.java    |   94 +
 .../ext/awt/image/spi/ImageWriterRegistry.java  |   74 +
 .../ext/awt/image/spi/JDKRegistryEntry.java     |   68 +-
 .../ext/awt/image/spi/JPEGRegistryEntry.java    |  122 -
 .../awt/image/spi/MagicNumberRegistryEntry.java |  122 +-
 .../ext/awt/image/spi/PNGRegistryEntry.java     |  116 -
 .../batik/ext/awt/image/spi/RegistryEntry.java  |   17 +-
 .../ext/awt/image/spi/StreamRegistryEntry.java  |   25 +-
 .../ext/awt/image/spi/TIFFRegistryEntry.java    |  101 -
 .../ext/awt/image/spi/URLRegistryEntry.java     |   27 +-
 .../flex/forks/batik/ext/awt/package.html       |    2 +-
 .../forks/batik/ext/swing/DoubleDocument.java   |  107 -
 .../forks/batik/ext/swing/GridBagConstants.java |  117 -
 .../ext/swing/JAffineTransformChooser.java      |  541 --
 .../forks/batik/ext/swing/JGridBagPanel.java    |  170 -
 .../flex/forks/batik/ext/swing/Messages.java    |   77 -
 .../flex/forks/batik/ext/swing/Resources.java   |   91 -
 .../forks/batik/extension/ExtensionElement.java |   60 -
 .../PrefixableStylableExtensionElement.java     |   85 -
 .../extension/StylableExtensionElement.java     |  162 -
 .../flex/forks/batik/extension/package.html     |   24 -
 .../extension/svg/BatikBridgeExtension.java     |  121 -
 .../batik/extension/svg/BatikDomExtension.java  |  309 --
 .../batik/extension/svg/BatikExtConstants.java  |  165 -
 .../svg/BatikFlowTextElementBridge.java         |  799 ---
 .../svg/BatikHistogramNormalizationElement.java |   70 -
 ...atikHistogramNormalizationElementBridge.java |  189 -
 .../svg/BatikHistogramNormalizationFilter.java  |   47 -
 .../BatikHistogramNormalizationFilter8Bit.java  |  141 -
 .../svg/BatikRegularPolygonElement.java         |   69 -
 .../svg/BatikRegularPolygonElementBridge.java   |  158 -
 .../batik/extension/svg/BatikStarElement.java   |   69 -
 .../extension/svg/BatikStarElementBridge.java   |  174 -
 .../batik/extension/svg/ColorSwitchBridge.java  |  100 -
 .../batik/extension/svg/ColorSwitchElement.java |   69 -
 .../batik/extension/svg/FlowDivElement.java     |   69 -
 .../batik/extension/svg/FlowExtGlyphLayout.java |  597 ---
 .../extension/svg/FlowExtTextLayoutFactory.java |   54 -
 .../batik/extension/svg/FlowExtTextNode.java    |   48 -
 .../batik/extension/svg/FlowExtTextPainter.java |   87 -
 .../batik/extension/svg/FlowLineElement.java    |   69 -
 .../batik/extension/svg/FlowParaElement.java    |   69 -
 .../extension/svg/FlowRegionBreakElement.java   |   69 -
 .../batik/extension/svg/FlowRegionElement.java  |   69 -
 .../batik/extension/svg/FlowSpanElement.java    |   69 -
 .../batik/extension/svg/FlowTextElement.java    |   69 -
 .../batik/extension/svg/GlyphIterator.java      |  469 --
 .../forks/batik/extension/svg/HistogramRed.java |  113 -
 .../forks/batik/extension/svg/LineInfo.java     |   91 -
 .../forks/batik/extension/svg/MarginInfo.java   |   74 -
 .../forks/batik/extension/svg/RegionInfo.java   |   56 -
 .../forks/batik/gvt/AbstractGraphicsNode.java   |  118 +-
 .../forks/batik/gvt/CanvasGraphicsNode.java     |   21 +-
 .../forks/batik/gvt/CompositeGraphicsNode.java  |  137 +-
 .../forks/batik/gvt/CompositeShapePainter.java  |   25 +-
 .../flex/forks/batik/gvt/FillShapePainter.java  |   24 +-
 .../flex/forks/batik/gvt/GVTTreeWalker.java     |   13 +-
 .../flex/forks/batik/gvt/GraphicsNode.java      |   37 +-
 .../apache/flex/forks/batik/gvt/ImageNode.java  |   13 +-
 .../org/apache/flex/forks/batik/gvt/Marker.java |   13 +-
 .../forks/batik/gvt/MarkerShapePainter.java     |  169 +-
 .../org/apache/flex/forks/batik/gvt/Mask.java   |   13 +-
 .../flex/forks/batik/gvt/PatternPaint.java      |   35 +-
 .../forks/batik/gvt/PatternPaintContext.java    |   13 +-
 .../flex/forks/batik/gvt/ProxyGraphicsNode.java |   13 +-
 .../flex/forks/batik/gvt/RasterImageNode.java   |   13 +-
 .../flex/forks/batik/gvt/RootGraphicsNode.java  |   13 +-
 .../apache/flex/forks/batik/gvt/Selectable.java |   13 +-
 .../apache/flex/forks/batik/gvt/Selector.java   |   23 +-
 .../apache/flex/forks/batik/gvt/ShapeNode.java  |   13 +-
 .../flex/forks/batik/gvt/ShapePainter.java      |   13 +-
 .../forks/batik/gvt/StrokeShapePainter.java     |   27 +-
 .../apache/flex/forks/batik/gvt/TextNode.java   |   28 +-
 .../flex/forks/batik/gvt/TextPainter.java       |   13 +-
 .../flex/forks/batik/gvt/UpdateTracker.java     |   60 +-
 .../batik/gvt/event/AWTEventDispatcher.java     |  639 ---
 .../gvt/event/AbstractAWTEventDispatcher.java   |  756 +++
 .../forks/batik/gvt/event/EventDispatcher.java  |   28 +-
 .../gvt/event/GraphicsNodeChangeAdapter.java    |   13 +-
 .../gvt/event/GraphicsNodeChangeEvent.java      |   13 +-
 .../gvt/event/GraphicsNodeChangeListener.java   |   13 +-
 .../batik/gvt/event/GraphicsNodeEvent.java      |   13 +-
 .../batik/gvt/event/GraphicsNodeFocusEvent.java |   13 +-
 .../gvt/event/GraphicsNodeFocusListener.java    |   13 +-
 .../batik/gvt/event/GraphicsNodeInputEvent.java |   64 +-
 .../batik/gvt/event/GraphicsNodeKeyAdapter.java |   13 +-
 .../batik/gvt/event/GraphicsNodeKeyEvent.java   |   39 +-
 .../gvt/event/GraphicsNodeKeyListener.java      |   13 +-
 .../gvt/event/GraphicsNodeMouseAdapter.java     |   13 +-
 .../batik/gvt/event/GraphicsNodeMouseEvent.java |   44 +-
 .../gvt/event/GraphicsNodeMouseListener.java    |   16 +-
 .../gvt/event/GraphicsNodeMouseWheelEvent.java  |   63 +
 .../event/GraphicsNodeMouseWheelListener.java   |   36 +
 .../forks/batik/gvt/event/SelectionAdapter.java |   17 +-
 .../forks/batik/gvt/event/SelectionEvent.java   |   13 +-
 .../batik/gvt/event/SelectionListener.java      |   13 +-
 .../batik/gvt/filter/BackgroundRable8Bit.java   |   33 +-
 .../ConcreteGraphicsNodeRableFactory.java       |   13 +-
 .../batik/gvt/filter/GraphicsNodeRable.java     |   27 +-
 .../batik/gvt/filter/GraphicsNodeRable8Bit.java |   13 +-
 .../gvt/filter/GraphicsNodeRableFactory.java    |   13 +-
 .../batik/gvt/filter/GraphicsNodeRed8Bit.java   |   17 +-
 .../flex/forks/batik/gvt/filter/Mask.java       |   31 +-
 .../forks/batik/gvt/filter/MaskRable8Bit.java   |   13 +-
 .../flex/forks/batik/gvt/filter/filterDesc.txt  |   60 +-
 .../flex/forks/batik/gvt/flow/BlockInfo.java    |   56 +-
 .../forks/batik/gvt/flow/FlowGlyphLayout.java   |  419 +-
 .../flex/forks/batik/gvt/flow/FlowRegions.java  |   27 +-
 .../batik/gvt/flow/FlowTextLayoutFactory.java   |   13 +-
 .../flex/forks/batik/gvt/flow/FlowTextNode.java |   19 +-
 .../forks/batik/gvt/flow/FlowTextPainter.java   |  457 +-
 .../forks/batik/gvt/flow/GlyphGroupInfo.java    |   13 +-
 .../flex/forks/batik/gvt/flow/LineInfo.java     |   52 +-
 .../flex/forks/batik/gvt/flow/MarginInfo.java   |   23 +-
 .../flex/forks/batik/gvt/flow/RegionInfo.java   |   40 +-
 .../forks/batik/gvt/flow/TextLineBreaks.java    |  165 +-
 .../flex/forks/batik/gvt/flow/WordInfo.java     |   13 +-
 .../forks/batik/gvt/font/AWTFontFamily.java     |   19 +-
 .../flex/forks/batik/gvt/font/AWTGVTFont.java   |   17 +-
 .../forks/batik/gvt/font/AWTGVTGlyphVector.java |   70 +-
 .../batik/gvt/font/AWTGlyphGeometryCache.java   |   18 +-
 .../forks/batik/gvt/font/AltGlyphHandler.java   |   13 +-
 .../batik/gvt/font/FontFamilyResolver.java      |   47 +-
 .../flex/forks/batik/gvt/font/GVTFont.java      |   52 +-
 .../flex/forks/batik/gvt/font/GVTFontFace.java  |   13 +-
 .../forks/batik/gvt/font/GVTFontFamily.java     |   13 +-
 .../forks/batik/gvt/font/GVTGlyphMetrics.java   |   13 +-
 .../forks/batik/gvt/font/GVTGlyphVector.java    |   40 +-
 .../forks/batik/gvt/font/GVTLineMetrics.java    |   33 +-
 .../apache/flex/forks/batik/gvt/font/Glyph.java |   57 +-
 .../apache/flex/forks/batik/gvt/font/Kern.java  |   15 +-
 .../flex/forks/batik/gvt/font/KerningTable.java |   17 +-
 .../forks/batik/gvt/font/MultiGlyphVector.java  |   54 +-
 .../forks/batik/gvt/font/SVGGVTGlyphVector.java |   89 +-
 .../flex/forks/batik/gvt/font/UnicodeRange.java |   13 +-
 .../batik/gvt/font/UnresolvedFontFamily.java    |   13 +-
 .../batik/gvt/renderer/BasicTextPainter.java    |   37 +-
 .../renderer/ConcreteImageRendererFactory.java  |   24 +-
 .../batik/gvt/renderer/ConcreteTextPainter.java |   13 +-
 .../batik/gvt/renderer/DynamicRenderer.java     |   71 +-
 .../forks/batik/gvt/renderer/ImageRenderer.java |   62 +-
 .../gvt/renderer/ImageRendererFactory.java      |   13 +-
 .../forks/batik/gvt/renderer/MacRenderer.java   |  380 ++
 .../flex/forks/batik/gvt/renderer/Renderer.java |   41 +-
 .../batik/gvt/renderer/RendererFactory.java     |   13 +-
 .../batik/gvt/renderer/StaticRenderer.java      |   87 +-
 .../batik/gvt/renderer/StrokingTextPainter.java |  409 +-
 .../batik/gvt/svg12/MultiResGraphicsNode.java   |   13 +-
 .../forks/batik/gvt/text/ArabicTextHandler.java |  741 ++-
 .../text/AttributedCharacterSpanIterator.java   |   13 +-
 .../text/BidiAttributedCharacterIterator.java   |  104 +-
 .../gvt/text/ConcreteTextLayoutFactory.java     |   13 +-
 .../batik/gvt/text/ConcreteTextSelector.java    |   80 +-
 .../flex/forks/batik/gvt/text/GVTACIImpl.java   |   15 +-
 .../text/GVTAttributedCharacterIterator.java    |  173 +-
 .../flex/forks/batik/gvt/text/GlyphLayout.java  |  344 +-
 .../apache/flex/forks/batik/gvt/text/Mark.java  |   19 +-
 .../flex/forks/batik/gvt/text/TextHit.java      |   13 +-
 .../forks/batik/gvt/text/TextLayoutFactory.java |   13 +-
 .../forks/batik/gvt/text/TextPaintInfo.java     |   16 +-
 .../flex/forks/batik/gvt/text/TextPath.java     |   13 +-
 .../forks/batik/gvt/text/TextSpanLayout.java    |   77 +-
 .../forks/batik/i18n/ExtendedLocalizable.java   |   13 +-
 .../flex/forks/batik/i18n/LocaleGroup.java      |   17 +-
 .../flex/forks/batik/i18n/Localizable.java      |   13 +-
 .../forks/batik/i18n/LocalizableSupport.java    |  221 +-
 .../forks/batik/parser/AWTPathProducer.java     |   14 +-
 .../forks/batik/parser/AWTPolygonProducer.java  |   13 +-
 .../forks/batik/parser/AWTPolylineProducer.java |   13 +-
 .../batik/parser/AWTTransformProducer.java      |   23 +-
 .../flex/forks/batik/parser/AbstractParser.java |   97 +-
 .../forks/batik/parser/AbstractScanner.java     |  233 +
 .../flex/forks/batik/parser/AngleHandler.java   |   13 +-
 .../flex/forks/batik/parser/AngleParser.java    |  190 +-
 .../flex/forks/batik/parser/ClockHandler.java   |   73 +-
 .../flex/forks/batik/parser/ClockParser.java    |   76 +-
 .../forks/batik/parser/DefaultAngleHandler.java |   15 +-
 .../forks/batik/parser/DefaultErrorHandler.java |   15 +-
 .../DefaultFragmentIdentifierHandler.java       |   17 +-
 .../batik/parser/DefaultLengthHandler.java      |   15 +-
 .../batik/parser/DefaultLengthListHandler.java  |   15 +-
 .../batik/parser/DefaultNumberListHandler.java  |   33 +-
 .../forks/batik/parser/DefaultPathHandler.java  |   59 +-
 .../batik/parser/DefaultPointsHandler.java      |   15 +-
 .../DefaultPreserveAspectRatioHandler.java      |   17 +-
 .../parser/DefaultTimingSpecifierHandler.java   |  101 +
 .../DefaultTimingSpecifierListHandler.java      |   51 +
 .../parser/DefaultTransformListHandler.java     |   17 +-
 .../flex/forks/batik/parser/ErrorHandler.java   |   13 +-
 .../forks/batik/parser/FloatArrayProducer.java  |  133 +
 .../batik/parser/FragmentIdentifierHandler.java |   13 +-
 .../batik/parser/FragmentIdentifierParser.java  |  608 +--
 .../forks/batik/parser/LengthArrayProducer.java |  230 +
 .../flex/forks/batik/parser/LengthHandler.java  |   13 +-
 .../forks/batik/parser/LengthListHandler.java   |   13 +-
 .../forks/batik/parser/LengthListParser.java    |   56 +-
 .../batik/parser/LengthPairListParser.java      |   66 +
 .../flex/forks/batik/parser/LengthParser.java   |  107 +-
 .../forks/batik/parser/NumberListHandler.java   |   13 +-
 .../forks/batik/parser/NumberListParser.java    |   61 +-
 .../flex/forks/batik/parser/NumberParser.java   |   97 +-
 .../flex/forks/batik/parser/ParseException.java |   52 +-
 .../apache/flex/forks/batik/parser/Parser.java  |   17 +-
 .../forks/batik/parser/PathArrayProducer.java   |  374 ++
 .../flex/forks/batik/parser/PathHandler.java    |   41 +-
 .../flex/forks/batik/parser/PathParser.java     |  796 +--
 .../flex/forks/batik/parser/PointsHandler.java  |   14 +-
 .../flex/forks/batik/parser/PointsParser.java   |   21 +-
 .../parser/PreserveAspectRatioHandler.java      |   13 +-
 .../batik/parser/PreserveAspectRatioParser.java |  222 +-
 .../flex/forks/batik/parser/ShapeProducer.java  |   13 +-
 .../flex/forks/batik/parser/TimingParser.java   |  489 ++
 .../batik/parser/TimingSpecifierHandler.java    |   84 +
 .../parser/TimingSpecifierListHandler.java      |   38 +
 .../batik/parser/TimingSpecifierListParser.java |   96 +
 .../batik/parser/TimingSpecifierParser.java     |  132 +
 .../batik/parser/TransformListHandler.java      |   15 +-
 .../forks/batik/parser/TransformListParser.java |  573 +--
 .../flex/forks/batik/parser/UnitProcessor.java  |   37 +-
 .../flex/forks/batik/script/Interpreter.java    |   26 +-
 .../batik/script/InterpreterException.java      |   20 +-
 .../forks/batik/script/InterpreterFactory.java  |   28 +-
 .../forks/batik/script/InterpreterPool.java     |   51 +-
 .../forks/batik/script/ScriptEventWrapper.java  |   34 +
 .../flex/forks/batik/script/ScriptHandler.java  |   13 +-
 .../apache/flex/forks/batik/script/Window.java  |   23 +-
 .../batik/script/jacl/JaclInterpreter.java      |   24 +-
 .../script/jacl/JaclInterpreterFactory.java     |   29 +-
 .../script/jpython/JPythonInterpreter.java      |   20 +-
 .../jpython/JPythonInterpreterFactory.java      |   29 +-
 .../script/rhino/BatikSecurityController.java   |   67 +-
 .../batik/script/rhino/BatikWrapFactory.java    |   13 +-
 .../batik/script/rhino/EventTargetWrapper.java  |  276 +-
 .../flex/forks/batik/script/rhino/Messages.java |   31 +-
 .../batik/script/rhino/RhinoClassLoader.java    |   22 +-
 .../batik/script/rhino/RhinoClassShutter.java   |   27 +-
 .../batik/script/rhino/RhinoInterpreter.java    |  609 +--
 .../script/rhino/RhinoInterpreterFactory.java   |   40 +-
 .../forks/batik/script/rhino/WindowWrapper.java |  244 +-
 .../batik/script/rhino/svg12/GlobalWrapper.java |   96 +
 .../rhino/svg12/SVG12RhinoInterpreter.java      |   61 +
 .../svggen/AbstractImageHandlerEncoder.java     |   19 +-
 .../batik/svggen/AbstractSVGConverter.java      |   13 +-
 .../svggen/AbstractSVGFilterConverter.java      |   13 +-
 .../forks/batik/svggen/CachedImageHandler.java  |   19 +-
 .../svggen/CachedImageHandlerBase64Encoder.java |   22 +-
 .../svggen/CachedImageHandlerJPEGEncoder.java   |   30 +-
 .../svggen/CachedImageHandlerPNGEncoder.java    |   22 +-
 .../forks/batik/svggen/DOMGroupManager.java     |   31 +-
 .../flex/forks/batik/svggen/DOMTreeManager.java |   60 +-
 .../batik/svggen/DefaultCachedImageHandler.java |   53 +-
 .../forks/batik/svggen/DefaultErrorHandler.java |   13 +-
 .../batik/svggen/DefaultExtensionHandler.java   |   13 +-
 .../forks/batik/svggen/DefaultImageHandler.java |   46 +-
 .../forks/batik/svggen/DefaultStyleHandler.java |   44 +-
 .../flex/forks/batik/svggen/ErrorConstants.java |   83 +-
 .../flex/forks/batik/svggen/ErrorHandler.java   |   17 +-
 .../forks/batik/svggen/ExtensionHandler.java    |   19 +-
 .../forks/batik/svggen/GenericImageHandler.java |   25 +-
 .../flex/forks/batik/svggen/ImageCacher.java    |   95 +-
 .../flex/forks/batik/svggen/ImageHandler.java   |   19 +-
 .../batik/svggen/ImageHandlerBase64Encoder.java |   26 +-
 .../batik/svggen/ImageHandlerJPEGEncoder.java   |   35 +-
 .../batik/svggen/ImageHandlerPNGEncoder.java    |   28 +-
 .../apache/flex/forks/batik/svggen/NullOp.java  |   15 +-
 .../forks/batik/svggen/SVGAlphaComposite.java   |   19 +-
 .../apache/flex/forks/batik/svggen/SVGArc.java  |   75 +-
 .../flex/forks/batik/svggen/SVGAttribute.java   |   13 +-
 .../forks/batik/svggen/SVGAttributeMap.java     |   13 +-
 .../flex/forks/batik/svggen/SVGBasicStroke.java |   17 +-
 .../forks/batik/svggen/SVGBufferedImageOp.java  |   19 +-
 .../flex/forks/batik/svggen/SVGCSSStyler.java   |   45 +-
 .../apache/flex/forks/batik/svggen/SVGClip.java |   28 +-
 .../forks/batik/svggen/SVGClipDescriptor.java   |   13 +-
 .../flex/forks/batik/svggen/SVGColor.java       |   27 +-
 .../flex/forks/batik/svggen/SVGComposite.java   |   19 +-
 .../batik/svggen/SVGCompositeDescriptor.java    |   13 +-
 .../flex/forks/batik/svggen/SVGConverter.java   |   17 +-
 .../flex/forks/batik/svggen/SVGConvolveOp.java  |   21 +-
 .../batik/svggen/SVGCustomBufferedImageOp.java  |   13 +-
 .../forks/batik/svggen/SVGCustomComposite.java  |   13 +-
 .../flex/forks/batik/svggen/SVGCustomPaint.java |   13 +-
 .../flex/forks/batik/svggen/SVGDescriptor.java  |   17 +-
 .../flex/forks/batik/svggen/SVGEllipse.java     |   13 +-
 .../forks/batik/svggen/SVGFilterConverter.java  |   17 +-
 .../forks/batik/svggen/SVGFilterDescriptor.java |   13 +-
 .../apache/flex/forks/batik/svggen/SVGFont.java |  233 +-
 .../forks/batik/svggen/SVGFontDescriptor.java   |   13 +-
 .../forks/batik/svggen/SVGGeneratorContext.java |   89 +-
 .../forks/batik/svggen/SVGGraphicContext.java   |   23 +-
 .../svggen/SVGGraphicContextConverter.java      |   17 +-
 .../batik/svggen/SVGGraphicObjectConverter.java |   13 +-
 .../flex/forks/batik/svggen/SVGGraphics2D.java  |  519 +-
 .../batik/svggen/SVGGraphics2DIOException.java  |   13 +-
 .../svggen/SVGGraphics2DRuntimeException.java   |   13 +-
 .../forks/batik/svggen/SVGHintsDescriptor.java  |   13 +-
 .../flex/forks/batik/svggen/SVGIDGenerator.java |   13 +-
 .../apache/flex/forks/batik/svggen/SVGLine.java |   13 +-
 .../forks/batik/svggen/SVGLinearGradient.java   |   25 +-
 .../flex/forks/batik/svggen/SVGLookupOp.java    |   69 +-
 .../flex/forks/batik/svggen/SVGPaint.java       |   13 +-
 .../forks/batik/svggen/SVGPaintDescriptor.java  |   13 +-
 .../apache/flex/forks/batik/svggen/SVGPath.java |   21 +-
 .../flex/forks/batik/svggen/SVGPolygon.java     |   20 +-
 .../flex/forks/batik/svggen/SVGRectangle.java   |   13 +-
 .../forks/batik/svggen/SVGRenderingHints.java   |   15 +-
 .../flex/forks/batik/svggen/SVGRescaleOp.java   |   32 +-
 .../flex/forks/batik/svggen/SVGShape.java       |   13 +-
 .../forks/batik/svggen/SVGStrokeDescriptor.java |   13 +-
 .../batik/svggen/SVGStylingAttributes.java      |   13 +-
 .../flex/forks/batik/svggen/SVGSyntax.java      |  115 +-
 .../forks/batik/svggen/SVGTexturePaint.java     |   36 +-
 .../flex/forks/batik/svggen/SVGTransform.java   |   32 +-
 .../batik/svggen/SVGTransformDescriptor.java    |   13 +-
 .../forks/batik/svggen/SimpleImageHandler.java  |   15 +-
 .../flex/forks/batik/svggen/StyleHandler.java   |   15 +-
 .../forks/batik/svggen/SwingSVGPrettyPrint.java |   21 +-
 .../flex/forks/batik/svggen/XmlWriter.java      |  218 +-
 .../flex/forks/batik/svggen/font/Font.java      |   13 +-
 .../flex/forks/batik/svggen/font/Glyph.java     |   13 +-
 .../flex/forks/batik/svggen/font/Messages.java  |   15 +-
 .../flex/forks/batik/svggen/font/Point.java     |   13 +-
 .../flex/forks/batik/svggen/font/SVGFont.java   |  129 +-
 .../forks/batik/svggen/font/table/ClassDef.java |   13 +-
 .../svggen/font/table/ClassDefFormat1.java      |   13 +-
 .../svggen/font/table/ClassDefFormat2.java      |   13 +-
 .../batik/svggen/font/table/CmapFormat.java     |   13 +-
 .../batik/svggen/font/table/CmapFormat0.java    |   13 +-
 .../batik/svggen/font/table/CmapFormat2.java    |   13 +-
 .../batik/svggen/font/table/CmapFormat4.java    |   50 +-
 .../batik/svggen/font/table/CmapFormat6.java    |   13 +-
 .../batik/svggen/font/table/CmapIndexEntry.java |   13 +-
 .../batik/svggen/font/table/CmapTable.java      |   19 +-
 .../forks/batik/svggen/font/table/Coverage.java |   13 +-
 .../svggen/font/table/CoverageFormat1.java      |   13 +-
 .../svggen/font/table/CoverageFormat2.java      |   13 +-
 .../forks/batik/svggen/font/table/CvtTable.java |   13 +-
 .../forks/batik/svggen/font/table/Device.java   |   15 +-
 .../batik/svggen/font/table/DirectoryEntry.java |   13 +-
 .../forks/batik/svggen/font/table/Feature.java  |   13 +-
 .../batik/svggen/font/table/FeatureList.java    |   13 +-
 .../batik/svggen/font/table/FeatureRecord.java  |   13 +-
 .../batik/svggen/font/table/FeatureTags.java    |   13 +-
 .../batik/svggen/font/table/FpgmTable.java      |   13 +-
 .../svggen/font/table/GlyfCompositeComp.java    |   32 +-
 .../font/table/GlyfCompositeDescript.java       |   78 +-
 .../batik/svggen/font/table/GlyfDescript.java   |   16 +-
 .../svggen/font/table/GlyfSimpleDescript.java   |   13 +-
 .../batik/svggen/font/table/GlyfTable.java      |   34 +-
 .../svggen/font/table/GlyphDescription.java     |   35 +-
 .../batik/svggen/font/table/GposTable.java      |   13 +-
 .../batik/svggen/font/table/GsubTable.java      |   13 +-
 .../batik/svggen/font/table/HeadTable.java      |   13 +-
 .../batik/svggen/font/table/HheaTable.java      |   19 +-
 .../batik/svggen/font/table/HmtxTable.java      |   17 +-
 .../batik/svggen/font/table/KernSubtable.java   |   13 +-
 .../svggen/font/table/KernSubtableFormat0.java  |   13 +-
 .../svggen/font/table/KernSubtableFormat2.java  |   13 +-
 .../batik/svggen/font/table/KernTable.java      |   13 +-
 .../batik/svggen/font/table/KerningPair.java    |   13 +-
 .../forks/batik/svggen/font/table/LangSys.java  |   13 +-
 .../batik/svggen/font/table/LangSysRecord.java  |   13 +-
 .../forks/batik/svggen/font/table/Ligature.java |   13 +-
 .../batik/svggen/font/table/LigatureSet.java    |   13 +-
 .../batik/svggen/font/table/LigatureSubst.java  |   13 +-
 .../svggen/font/table/LigatureSubstFormat1.java |   13 +-
 .../batik/svggen/font/table/LocaTable.java      |   13 +-
 .../forks/batik/svggen/font/table/Lookup.java   |   13 +-
 .../batik/svggen/font/table/LookupList.java     |   13 +-
 .../batik/svggen/font/table/LookupSubtable.java |   13 +-
 .../font/table/LookupSubtableFactory.java       |   19 +-
 .../batik/svggen/font/table/MaxpTable.java      |   13 +-
 .../batik/svggen/font/table/NameRecord.java     |   13 +-
 .../batik/svggen/font/table/NameTable.java      |   13 +-
 .../forks/batik/svggen/font/table/Os2Table.java |   13 +-
 .../forks/batik/svggen/font/table/Panose.java   |   13 +-
 .../batik/svggen/font/table/PostTable.java      |   19 +-
 .../batik/svggen/font/table/PrepTable.java      |   13 +-
 .../forks/batik/svggen/font/table/Program.java  |   13 +-
 .../batik/svggen/font/table/RangeRecord.java    |   13 +-
 .../forks/batik/svggen/font/table/Script.java   |   13 +-
 .../batik/svggen/font/table/ScriptList.java     |   13 +-
 .../batik/svggen/font/table/ScriptRecord.java   |   13 +-
 .../batik/svggen/font/table/ScriptTags.java     |   13 +-
 .../batik/svggen/font/table/SingleSubst.java    |   13 +-
 .../svggen/font/table/SingleSubstFormat1.java   |   13 +-
 .../svggen/font/table/SingleSubstFormat2.java   |   13 +-
 .../forks/batik/svggen/font/table/Table.java    |  329 +-
 .../batik/svggen/font/table/TableDirectory.java |   13 +-
 .../batik/svggen/font/table/TableFactory.java   |   13 +-
 .../apache/flex/forks/batik/svggen/package.html |    2 +-
 .../flex/forks/batik/swing/JSVGCanvas.java      | 1196 -----
 .../forks/batik/swing/JSVGCanvasBeanInfo.java   |   71 -
 .../flex/forks/batik/swing/JSVGScrollPane.java  |  579 ---
 .../apache/flex/forks/batik/swing/Messages.java |   73 -
 .../swing/gvt/AbstractImageZoomInteractor.java  |  128 -
 .../batik/swing/gvt/AbstractPanInteractor.java  |  158 -
 .../gvt/AbstractResetTransformInteractor.java   |  135 -
 .../swing/gvt/AbstractRotateInteractor.java     |  116 -
 .../batik/swing/gvt/AbstractZoomInteractor.java |  256 -
 .../forks/batik/swing/gvt/GVTTreeRenderer.java  |  206 -
 .../batik/swing/gvt/GVTTreeRendererAdapter.java |   54 -
 .../batik/swing/gvt/GVTTreeRendererEvent.java   |   54 -
 .../swing/gvt/GVTTreeRendererListener.java      |   53 -
 .../flex/forks/batik/swing/gvt/Interactor.java  |   45 -
 .../batik/swing/gvt/InteractorAdapter.java      |  118 -
 .../forks/batik/swing/gvt/JGVTComponent.java    | 1256 -----
 .../batik/swing/gvt/JGVTComponentAdapter.java   |   30 -
 .../batik/swing/gvt/JGVTComponentListener.java  |   31 -
 .../flex/forks/batik/swing/gvt/Overlay.java     |   35 -
 .../batik/swing/gvt/TextSelectionManager.java   |  357 --
 .../forks/batik/swing/svg/GVTTreeBuilder.java   |  182 -
 .../batik/swing/svg/GVTTreeBuilderAdapter.java  |   50 -
 .../batik/swing/svg/GVTTreeBuilderEvent.java    |   56 -
 .../batik/swing/svg/GVTTreeBuilderListener.java |   48 -
 .../forks/batik/swing/svg/JSVGComponent.java    | 3432 -------------
 .../batik/swing/svg/LinkActivationEvent.java    |   56 -
 .../batik/swing/svg/LinkActivationListener.java |   33 -
 .../flex/forks/batik/swing/svg/Messages.java    |   73 -
 .../batik/swing/svg/SVGDocumentLoader.java      |  164 -
 .../swing/svg/SVGDocumentLoaderAdapter.java     |   49 -
 .../batik/swing/svg/SVGDocumentLoaderEvent.java |   56 -
 .../swing/svg/SVGDocumentLoaderListener.java    |   47 -
 .../forks/batik/swing/svg/SVGFileFilter.java    |   57 -
 .../batik/swing/svg/SVGLoadEventDispatcher.java |  195 -
 .../svg/SVGLoadEventDispatcherAdapter.java      |   53 -
 .../swing/svg/SVGLoadEventDispatcherEvent.java  |   56 -
 .../svg/SVGLoadEventDispatcherListener.java     |   49 -
 .../forks/batik/swing/svg/SVGUpdateOverlay.java |   97 -
 .../forks/batik/swing/svg/SVGUserAgent.java     |  230 -
 .../batik/swing/svg/SVGUserAgentAdapter.java    |  352 --
 .../batik/swing/svg/SVGUserAgentGUIAdapter.java |  105 -
 .../batik/transcoder/AbstractTranscoder.java    |   13 +-
 .../batik/transcoder/DefaultErrorHandler.java   |   13 +-
 .../forks/batik/transcoder/ErrorHandler.java    |   13 +-
 .../batik/transcoder/SVGAbstractTranscoder.java |  187 +-
 .../transcoder/ToSVGAbstractTranscoder.java     |  225 +
 .../flex/forks/batik/transcoder/Transcoder.java |   13 +-
 .../batik/transcoder/TranscoderException.java   |   13 +-
 .../forks/batik/transcoder/TranscoderInput.java |   13 +-
 .../batik/transcoder/TranscoderOutput.java      |   13 +-
 .../batik/transcoder/TranscoderSupport.java     |   13 +-
 .../batik/transcoder/TranscodingHints.java      |   17 +-
 .../batik/transcoder/XMLAbstractTranscoder.java |   26 +-
 .../batik/transcoder/image/ImageTranscoder.java |   74 +-
 .../batik/transcoder/image/JPEGTranscoder.java  |   66 +-
 .../batik/transcoder/image/PNGTranscoder.java   |  144 +-
 .../batik/transcoder/image/TIFFTranscoder.java  |  191 +-
 .../transcoder/image/resources/Messages.java    |   15 +-
 .../forks/batik/transcoder/keys/BooleanKey.java |   13 +-
 .../transcoder/keys/DOMImplementationKey.java   |   13 +-
 .../forks/batik/transcoder/keys/FloatKey.java   |   13 +-
 .../forks/batik/transcoder/keys/IntegerKey.java |   13 +-
 .../forks/batik/transcoder/keys/LengthKey.java  |   13 +-
 .../forks/batik/transcoder/keys/PaintKey.java   |   13 +-
 .../batik/transcoder/keys/Rectangle2DKey.java   |   13 +-
 .../forks/batik/transcoder/keys/StringKey.java  |   13 +-
 .../batik/transcoder/print/PrintTranscoder.java |   82 +-
 .../batik/transcoder/svg2svg/OutputManager.java |   13 +-
 .../batik/transcoder/svg2svg/PrettyPrinter.java |  117 +-
 .../batik/transcoder/svg2svg/SVGTranscoder.java |   61 +-
 .../batik/transcoder/wmf/WMFConstants.java      |  488 +-
 .../wmf/tosvg/AbstractWMFPainter.java           |  265 +
 .../transcoder/wmf/tosvg/AbstractWMFReader.java |  474 ++
 .../batik/transcoder/wmf/tosvg/GdiObject.java   |   86 +
 .../batik/transcoder/wmf/tosvg/MetaRecord.java  |  100 +
 .../batik/transcoder/wmf/tosvg/RecordStore.java |   57 +-
 .../transcoder/wmf/tosvg/TextureFactory.java    |  185 +
 .../batik/transcoder/wmf/tosvg/WMFFont.java     |   56 +
 .../wmf/tosvg/WMFHeaderProperties.java          |  763 +++
 .../batik/transcoder/wmf/tosvg/WMFPainter.java  | 1230 +++--
 .../transcoder/wmf/tosvg/WMFRecordStore.java    |  832 ++--
 .../transcoder/wmf/tosvg/WMFTranscoder.java     |  263 +-
 .../transcoder/wmf/tosvg/WMFUtilities.java      |  105 +
 .../batik/transcoder/wmf/tosvg/package.html     |   67 +
 .../util/AbstractParsedURLProtocolHandler.java  |   14 +-
 .../batik/util/ApplicationSecurityEnforcer.java |   13 +-
 .../forks/batik/util/Base64DecodeStream.java    |   37 +-
 .../forks/batik/util/Base64EncoderStream.java   |   31 +-
 .../forks/batik/util/BatikSecurityManager.java  |   13 +-
 .../flex/forks/batik/util/CSSConstants.java     |   13 +-
 .../forks/batik/util/ClassFileUtilities.java    |  307 +-
 .../flex/forks/batik/util/CleanerThread.java    |   50 +-
 .../flex/forks/batik/util/DOMConstants.java     |   51 +
 .../flex/forks/batik/util/DoublyIndexedSet.java |   74 +
 .../forks/batik/util/DoublyIndexedTable.java    |  372 ++
 .../flex/forks/batik/util/DoublyLinkedList.java |  100 +-
 .../forks/batik/util/EncodingUtilities.java     |   19 +-
 .../flex/forks/batik/util/EventDispatcher.java  |   17 +-
 .../flex/forks/batik/util/HaltingThread.java    |   21 +-
 .../apache/flex/forks/batik/util/Messages.java  |   19 +-
 .../forks/batik/util/MimeTypeConstants.java     |   15 +-
 .../apache/flex/forks/batik/util/ParsedURL.java |  193 +-
 .../flex/forks/batik/util/ParsedURLData.java    |  234 +-
 .../util/ParsedURLDataProtocolHandler.java      |   52 +-
 .../util/ParsedURLDefaultProtocolHandler.java   |   15 +-
 .../batik/util/ParsedURLJarProtocolHandler.java |   13 +-
 .../batik/util/ParsedURLProtocolHandler.java    |   20 +-
 .../apache/flex/forks/batik/util/Platform.java  |   63 +
 .../forks/batik/util/PreferenceManager.java     |   30 +-
 .../flex/forks/batik/util/RunnableQueue.java    |  220 +-
 .../flex/forks/batik/util/SMILConstants.java    |   89 +
 .../forks/batik/util/SVG12CSSConstants.java     |   44 +-
 .../flex/forks/batik/util/SVG12Constants.java   |   97 +-
 .../flex/forks/batik/util/SVGConstants.java     |  110 +-
 .../forks/batik/util/SVGFeatureStrings.java     |  102 +
 .../apache/flex/forks/batik/util/SVGTypes.java  |   82 +
 .../apache/flex/forks/batik/util/Service.java   |   53 +-
 .../batik/util/SoftDoublyIndexedTable.java      |  201 +-
 .../forks/batik/util/SoftReferenceCache.java    |   64 +-
 .../flex/forks/batik/util/XBLConstants.java     |   63 +
 .../flex/forks/batik/util/XMLConstants.java     |   73 +-
 .../forks/batik/util/XMLResourceDescriptor.java |   31 +-
 .../forks/batik/util/gui/CSSMediaPanel.java     |  793 +--
 .../flex/forks/batik/util/gui/DOMViewer.java    |  702 ---
 .../forks/batik/util/gui/DropDownComponent.java |  876 ++++
 .../util/gui/ExtendedGridBagConstraints.java    |   13 +-
 .../flex/forks/batik/util/gui/JErrorPane.java   |   17 +-
 .../forks/batik/util/gui/LanguageDialog.java    |   51 +-
 .../flex/forks/batik/util/gui/LocationBar.java  |   19 +-
 .../forks/batik/util/gui/MemoryMonitor.java     | 1038 ++--
 .../flex/forks/batik/util/gui/URIChooser.java   |   54 +-
 .../forks/batik/util/gui/UserStyleDialog.java   |   36 +-
 .../batik/util/gui/resource/ActionMap.java      |   13 +-
 .../batik/util/gui/resource/ButtonFactory.java  |  214 +-
 .../util/gui/resource/JComponentModifier.java   |   13 +-
 .../batik/util/gui/resource/JToolbarButton.java |   19 +-
 .../util/gui/resource/JToolbarSeparator.java    |   13 +-
 .../util/gui/resource/JToolbarToggleButton.java |   82 +
 .../batik/util/gui/resource/MenuFactory.java    |  555 ++-
 .../gui/resource/MissingListenerException.java  |   15 +-
 .../gui/resource/ResourceFormatException.java   |   72 -
 .../util/gui/resource/ResourceManager.java      |  152 -
 .../batik/util/gui/resource/ToolBarFactory.java |   56 +-
 .../batik/util/gui/xmleditor/XMLContext.java    |  188 +
 .../batik/util/gui/xmleditor/XMLDocument.java   |  174 +
 .../batik/util/gui/xmleditor/XMLEditorKit.java  |  117 +
 .../batik/util/gui/xmleditor/XMLScanner.java    |  329 ++
 .../batik/util/gui/xmleditor/XMLTextEditor.java |  102 +
 .../batik/util/gui/xmleditor/XMLToken.java      |   51 +
 .../forks/batik/util/gui/xmleditor/XMLView.java |  124 +
 .../flex/forks/batik/util/io/ASCIIDecoder.java  |   13 +-
 .../batik/util/io/AbstractCharDecoder.java      |   17 +-
 .../flex/forks/batik/util/io/CharDecoder.java   |   13 +-
 .../forks/batik/util/io/GenericDecoder.java     |   13 +-
 .../forks/batik/util/io/ISO_8859_1Decoder.java  |   13 +-
 .../flex/forks/batik/util/io/Messages.java      |   15 +-
 .../forks/batik/util/io/NormalizingReader.java  |   15 +-
 .../batik/util/io/StreamNormalizingReader.java  |   17 +-
 .../flex/forks/batik/util/io/StringDecoder.java |   13 +-
 .../batik/util/io/StringNormalizingReader.java  |   13 +-
 .../flex/forks/batik/util/io/UTF16Decoder.java  |   13 +-
 .../flex/forks/batik/util/io/UTF8Decoder.java   |   19 +-
 .../forks/batik/util/resources/Messages.java    |   15 +-
 .../util/resources/ResourceFormatException.java |   74 +
 .../batik/util/resources/ResourceManager.java   |  155 +
 .../flex/forks/batik/xml/LexicalUnits.java      |   13 +-
 .../flex/forks/batik/xml/XMLCharacters.java     |  215 +-
 .../flex/forks/batik/xml/XMLException.java      |   39 +-
 .../apache/flex/forks/batik/xml/XMLScanner.java | 2225 +++++----
 .../batik/xml/XMLStreamNormalizingReader.java   |   13 +-
 .../flex/forks/batik/xml/XMLUtilities.java      |   65 +-
 .../sources/org/w3c/css/sac/LexicalUnit.java    |  393 ++
 .../sources/org/w3c/dom/ElementTraversal.java   |   28 +
 .../sources/org/w3c/dom/events/CustomEvent.java |   56 +
 .../org/w3c/dom/events/DocumentEvent.java       |   75 +
 .../batik/sources/org/w3c/dom/events/Event.java |  198 +
 .../org/w3c/dom/events/EventException.java      |   43 +
 .../org/w3c/dom/events/EventListener.java       |   42 +
 .../sources/org/w3c/dom/events/EventTarget.java |  173 +
 .../org/w3c/dom/events/KeyboardEvent.java       |  180 +
 .../sources/org/w3c/dom/events/MouseEvent.java  |  219 +
 .../org/w3c/dom/events/MutationEvent.java       |  150 +
 .../org/w3c/dom/events/MutationNameEvent.java   |  106 +
 .../sources/org/w3c/dom/events/TextEvent.java   |   83 +
 .../sources/org/w3c/dom/events/UIEvent.java     |   85 +
 .../flex/forks/css/sac/AttributeCondition.java  |   74 -
 .../w3c/flex/forks/css/sac/CSSException.java    |  117 -
 .../flex/forks/css/sac/CSSParseException.java   |  173 -
 .../forks/css/sac/CharacterDataSelector.java    |   24 -
 .../flex/forks/css/sac/CombinatorCondition.java |   28 -
 .../org/w3c/flex/forks/css/sac/Condition.java   |  140 -
 .../flex/forks/css/sac/ConditionFactory.java    |  194 -
 .../flex/forks/css/sac/ConditionalSelector.java |   28 -
 .../flex/forks/css/sac/ContentCondition.java    |   21 -
 .../flex/forks/css/sac/DescendantSelector.java  |   28 -
 .../w3c/flex/forks/css/sac/DocumentHandler.java |  191 -
 .../w3c/flex/forks/css/sac/ElementSelector.java |   41 -
 .../w3c/flex/forks/css/sac/ErrorHandler.java    |  108 -
 .../org/w3c/flex/forks/css/sac/InputSource.java |  258 -
 .../w3c/flex/forks/css/sac/LangCondition.java   |   21 -
 .../org/w3c/flex/forks/css/sac/LexicalUnit.java |  393 --
 .../org/w3c/flex/forks/css/sac/Locator.java     |   70 -
 .../flex/forks/css/sac/NegativeCondition.java   |   22 -
 .../flex/forks/css/sac/NegativeSelector.java    |   22 -
 .../org/w3c/flex/forks/css/sac/Parser.java      |  221 -
 .../flex/forks/css/sac/PositionalCondition.java |   36 -
 .../css/sac/ProcessingInstructionSelector.java  |   31 -
 .../w3c/flex/forks/css/sac/SACMediaList.java    |   27 -
 .../org/w3c/flex/forks/css/sac/Selector.java    |  143 -
 .../w3c/flex/forks/css/sac/SelectorFactory.java |  168 -
 .../w3c/flex/forks/css/sac/SelectorList.java    |   32 -
 .../w3c/flex/forks/css/sac/SiblingSelector.java |   36 -
 .../w3c/flex/forks/css/sac/SimpleSelector.java  |   21 -
 .../forks/css/sac/helpers/ParserFactory.java    |   40 -
 .../flex/forks/dom/smil/ElementTimeControl.java |   34 -
 .../forks/dom/svg/EventListenerInitializer.java |   44 -
 .../w3c/flex/forks/dom/svg/GetSVGDocument.java  |   25 -
 .../org/w3c/flex/forks/dom/svg/SVGAElement.java |   32 -
 .../forks/dom/svg/SVGAltGlyphDefElement.java    |   22 -
 .../flex/forks/dom/svg/SVGAltGlyphElement.java  |   31 -
 .../forks/dom/svg/SVGAltGlyphItemElement.java   |   22 -
 .../org/w3c/flex/forks/dom/svg/SVGAngle.java    |   42 -
 .../forks/dom/svg/SVGAnimateColorElement.java   |   22 -
 .../flex/forks/dom/svg/SVGAnimateElement.java   |   22 -
 .../forks/dom/svg/SVGAnimateMotionElement.java  |   22 -
 .../dom/svg/SVGAnimateTransformElement.java     |   22 -
 .../flex/forks/dom/svg/SVGAnimatedAngle.java    |   23 -
 .../flex/forks/dom/svg/SVGAnimatedBoolean.java  |   26 -
 .../forks/dom/svg/SVGAnimatedEnumeration.java   |   26 -
 .../flex/forks/dom/svg/SVGAnimatedInteger.java  |   26 -
 .../flex/forks/dom/svg/SVGAnimatedLength.java   |   23 -
 .../forks/dom/svg/SVGAnimatedLengthList.java    |   23 -
 .../flex/forks/dom/svg/SVGAnimatedNumber.java   |   26 -
 .../forks/dom/svg/SVGAnimatedNumberList.java    |   23 -
 .../flex/forks/dom/svg/SVGAnimatedPathData.java |   25 -
 .../flex/forks/dom/svg/SVGAnimatedPoints.java   |   23 -
 .../dom/svg/SVGAnimatedPreserveAspectRatio.java |   23 -
 .../w3c/flex/forks/dom/svg/SVGAnimatedRect.java |   23 -
 .../flex/forks/dom/svg/SVGAnimatedString.java   |   26 -
 .../forks/dom/svg/SVGAnimatedTransformList.java |   23 -
 .../flex/forks/dom/svg/SVGAnimationElement.java |   36 -
 .../org/w3c/flex/forks/dom/svg/SVGCSSRule.java  |   26 -
 .../flex/forks/dom/svg/SVGCircleElement.java    |   33 -
 .../flex/forks/dom/svg/SVGClipPathElement.java  |   29 -
 .../org/w3c/flex/forks/dom/svg/SVGColor.java    |   41 -
 .../forks/dom/svg/SVGColorProfileElement.java   |   35 -
 .../flex/forks/dom/svg/SVGColorProfileRule.java |   34 -
 .../SVGComponentTransferFunctionElement.java    |   37 -
 .../flex/forks/dom/svg/SVGCursorElement.java    |   27 -
 .../forks/dom/svg/SVGDefinitionSrcElement.java  |   22 -
 .../w3c/flex/forks/dom/svg/SVGDefsElement.java  |   30 -
 .../w3c/flex/forks/dom/svg/SVGDescElement.java  |   24 -
 .../org/w3c/flex/forks/dom/svg/SVGDocument.java |   31 -
 .../org/w3c/flex/forks/dom/svg/SVGElement.java  |   33 -
 .../flex/forks/dom/svg/SVGElementInstance.java  |   32 -
 .../forks/dom/svg/SVGElementInstanceList.java   |   24 -
 .../flex/forks/dom/svg/SVGEllipseElement.java   |   34 -
 .../org/w3c/flex/forks/dom/svg/SVGEvent.java    |   24 -
 .../w3c/flex/forks/dom/svg/SVGException.java    |   29 -
 .../dom/svg/SVGExternalResourcesRequired.java   |   22 -
 .../flex/forks/dom/svg/SVGFEBlendElement.java   |   34 -
 .../forks/dom/svg/SVGFEColorMatrixElement.java  |   33 -
 .../dom/svg/SVGFEComponentTransferElement.java  |   24 -
 .../forks/dom/svg/SVGFECompositeElement.java    |   39 -
 .../dom/svg/SVGFEConvolveMatrixElement.java     |   40 -
 .../dom/svg/SVGFEDiffuseLightingElement.java    |   26 -
 .../dom/svg/SVGFEDisplacementMapElement.java    |   35 -
 .../forks/dom/svg/SVGFEDistantLightElement.java |   24 -
 .../flex/forks/dom/svg/SVGFEFloodElement.java   |   24 -
 .../flex/forks/dom/svg/SVGFEFuncAElement.java   |   22 -
 .../flex/forks/dom/svg/SVGFEFuncBElement.java   |   22 -
 .../flex/forks/dom/svg/SVGFEFuncGElement.java   |   22 -
 .../flex/forks/dom/svg/SVGFEFuncRElement.java   |   22 -
 .../forks/dom/svg/SVGFEGaussianBlurElement.java |   28 -
 .../flex/forks/dom/svg/SVGFEImageElement.java   |   26 -
 .../flex/forks/dom/svg/SVGFEMergeElement.java   |   23 -
 .../forks/dom/svg/SVGFEMergeNodeElement.java    |   23 -
 .../forks/dom/svg/SVGFEMorphologyElement.java   |   32 -
 .../flex/forks/dom/svg/SVGFEOffsetElement.java  |   26 -
 .../forks/dom/svg/SVGFEPointLightElement.java   |   25 -
 .../dom/svg/SVGFESpecularLightingElement.java   |   27 -
 .../forks/dom/svg/SVGFESpotLightElement.java    |   30 -
 .../flex/forks/dom/svg/SVGFETileElement.java    |   24 -
 .../forks/dom/svg/SVGFETurbulenceElement.java   |   38 -
 .../flex/forks/dom/svg/SVGFilterElement.java    |   37 -
 .../SVGFilterPrimitiveStandardAttributes.java   |   27 -
 .../w3c/flex/forks/dom/svg/SVGFitToViewBox.java |   23 -
 .../w3c/flex/forks/dom/svg/SVGFontElement.java  |   24 -
 .../flex/forks/dom/svg/SVGFontFaceElement.java  |   22 -
 .../forks/dom/svg/SVGFontFaceFormatElement.java |   22 -
 .../forks/dom/svg/SVGFontFaceNameElement.java   |   22 -
 .../forks/dom/svg/SVGFontFaceSrcElement.java    |   22 -
 .../forks/dom/svg/SVGFontFaceUriElement.java    |   22 -
 .../forks/dom/svg/SVGForeignObjectElement.java  |   34 -
 .../org/w3c/flex/forks/dom/svg/SVGGElement.java |   30 -
 .../w3c/flex/forks/dom/svg/SVGGlyphElement.java |   23 -
 .../flex/forks/dom/svg/SVGGlyphRefElement.java  |   44 -
 .../flex/forks/dom/svg/SVGGradientElement.java  |   35 -
 .../w3c/flex/forks/dom/svg/SVGHKernElement.java |   22 -
 .../org/w3c/flex/forks/dom/svg/SVGICCColor.java |   26 -
 .../w3c/flex/forks/dom/svg/SVGImageElement.java |   36 -
 .../w3c/flex/forks/dom/svg/SVGLangSpace.java    |   29 -
 .../org/w3c/flex/forks/dom/svg/SVGLength.java   |   48 -
 .../w3c/flex/forks/dom/svg/SVGLengthList.java   |   39 -
 .../w3c/flex/forks/dom/svg/SVGLineElement.java  |   34 -
 .../forks/dom/svg/SVGLinearGradientElement.java |   26 -
 .../w3c/flex/forks/dom/svg/SVGLocatable.java    |   29 -
 .../w3c/flex/forks/dom/svg/SVGMPathElement.java |   24 -
 .../flex/forks/dom/svg/SVGMarkerElement.java    |   45 -
 .../w3c/flex/forks/dom/svg/SVGMaskElement.java  |   33 -
 .../org/w3c/flex/forks/dom/svg/SVGMatrix.java   |   55 -
 .../flex/forks/dom/svg/SVGMetadataElement.java  |   22 -
 .../forks/dom/svg/SVGMissingGlyphElement.java   |   23 -
 .../org/w3c/flex/forks/dom/svg/SVGNumber.java   |   26 -
 .../w3c/flex/forks/dom/svg/SVGNumberList.java   |   39 -
 .../org/w3c/flex/forks/dom/svg/SVGPaint.java    |   41 -
 .../w3c/flex/forks/dom/svg/SVGPathElement.java  |   55 -
 .../org/w3c/flex/forks/dom/svg/SVGPathSeg.java  |   45 -
 .../flex/forks/dom/svg/SVGPathSegArcAbs.java    |   45 -
 .../flex/forks/dom/svg/SVGPathSegArcRel.java    |   45 -
 .../flex/forks/dom/svg/SVGPathSegClosePath.java |   22 -
 .../dom/svg/SVGPathSegCurvetoCubicAbs.java      |   42 -
 .../dom/svg/SVGPathSegCurvetoCubicRel.java      |   42 -
 .../svg/SVGPathSegCurvetoCubicSmoothAbs.java    |   36 -
 .../svg/SVGPathSegCurvetoCubicSmoothRel.java    |   36 -
 .../dom/svg/SVGPathSegCurvetoQuadraticAbs.java  |   36 -
 .../dom/svg/SVGPathSegCurvetoQuadraticRel.java  |   36 -
 .../SVGPathSegCurvetoQuadraticSmoothAbs.java    |   30 -
 .../SVGPathSegCurvetoQuadraticSmoothRel.java    |   30 -
 .../flex/forks/dom/svg/SVGPathSegLinetoAbs.java |   30 -
 .../dom/svg/SVGPathSegLinetoHorizontalAbs.java  |   27 -
 .../dom/svg/SVGPathSegLinetoHorizontalRel.java  |   27 -
 .../flex/forks/dom/svg/SVGPathSegLinetoRel.java |   30 -
 .../dom/svg/SVGPathSegLinetoVerticalAbs.java    |   27 -
 .../dom/svg/SVGPathSegLinetoVerticalRel.java    |   27 -
 .../w3c/flex/forks/dom/svg/SVGPathSegList.java  |   39 -
 .../flex/forks/dom/svg/SVGPathSegMovetoAbs.java |   30 -
 .../flex/forks/dom/svg/SVGPathSegMovetoRel.java |   30 -
 .../flex/forks/dom/svg/SVGPatternElement.java   |   36 -
 .../org/w3c/flex/forks/dom/svg/SVGPoint.java    |   31 -
 .../w3c/flex/forks/dom/svg/SVGPointList.java    |   39 -
 .../flex/forks/dom/svg/SVGPolygonElement.java   |   31 -
 .../flex/forks/dom/svg/SVGPolylineElement.java  |   31 -
 .../forks/dom/svg/SVGPreserveAspectRatio.java   |   46 -
 .../forks/dom/svg/SVGRadialGradientElement.java |   27 -
 .../org/w3c/flex/forks/dom/svg/SVGRect.java     |   35 -
 .../w3c/flex/forks/dom/svg/SVGRectElement.java  |   36 -
 .../flex/forks/dom/svg/SVGRenderingIntent.java  |   28 -
 .../w3c/flex/forks/dom/svg/SVGSVGElement.java   |   89 -
 .../flex/forks/dom/svg/SVGScriptElement.java    |   29 -
 .../w3c/flex/forks/dom/svg/SVGSetElement.java   |   22 -
 .../w3c/flex/forks/dom/svg/SVGStopElement.java  |   24 -
 .../w3c/flex/forks/dom/svg/SVGStringList.java   |   39 -
 .../org/w3c/flex/forks/dom/svg/SVGStylable.java |   28 -
 .../w3c/flex/forks/dom/svg/SVGStyleElement.java |   36 -
 .../flex/forks/dom/svg/SVGSwitchElement.java    |   30 -
 .../flex/forks/dom/svg/SVGSymbolElement.java    |   29 -
 .../w3c/flex/forks/dom/svg/SVGTRefElement.java  |   23 -
 .../w3c/flex/forks/dom/svg/SVGTSpanElement.java |   22 -
 .../org/w3c/flex/forks/dom/svg/SVGTests.java    |   26 -
 .../forks/dom/svg/SVGTextContentElement.java    |   53 -
 .../w3c/flex/forks/dom/svg/SVGTextElement.java  |   23 -
 .../flex/forks/dom/svg/SVGTextPathElement.java  |   35 -
 .../dom/svg/SVGTextPositioningElement.java      |   27 -
 .../w3c/flex/forks/dom/svg/SVGTitleElement.java |   24 -
 .../w3c/flex/forks/dom/svg/SVGTransform.java    |   40 -
 .../flex/forks/dom/svg/SVGTransformList.java    |   41 -
 .../flex/forks/dom/svg/SVGTransformable.java    |   23 -
 .../w3c/flex/forks/dom/svg/SVGURIReference.java |   22 -
 .../w3c/flex/forks/dom/svg/SVGUnitTypes.java    |   25 -
 .../w3c/flex/forks/dom/svg/SVGUseElement.java   |   37 -
 .../w3c/flex/forks/dom/svg/SVGVKernElement.java |   22 -
 .../w3c/flex/forks/dom/svg/SVGViewElement.java  |   26 -
 .../org/w3c/flex/forks/dom/svg/SVGViewSpec.java |   29 -
 .../w3c/flex/forks/dom/svg/SVGZoomAndPan.java   |   31 -
 .../w3c/flex/forks/dom/svg/SVGZoomEvent.java    |   29 -
 modules/thirdparty/batik/svn-revision           |    1 +
 .../forks/batik/apps/rasterizer/invalidSVG.svg  |   27 -
 .../forks/batik/apps/rasterizer/notReadable.svg |   20 -
 .../forks/batik/apps/rasterizer/readOnly.png    |    0
 .../forks/batik/apps/rasterizer/readOnly.svg    |   19 -
 .../forks/batik/apps/rasterizer/unitTesting.xml |   25 -
 .../flex/forks/batik/bridge/IWasLoaded.jar      |  Bin 2106 -> 0 bytes
 .../flex/forks/batik/bridge/IWasLoaded.java     |   36 -
 .../flex/forks/batik/bridge/IWasLoaded.mf       |    2 -
 .../flex/forks/batik/bridge/IWasLoadedToo.jar   |  Bin 1419 -> 0 bytes
 .../flex/forks/batik/bridge/IWasLoadedToo.java  |   35 -
 .../flex/forks/batik/bridge/IWasLoadedToo.mf    |    2 -
 .../batik/bridge/JarCheckPermissionsDenied.jar  |  Bin 6558 -> 0 bytes
 .../batik/bridge/JarCheckPermissionsDenied.java |  287 --
 .../batik/bridge/JarCheckPermissionsDenied.mf   |    2 -
 .../batik/bridge/JarCheckPermissionsGranted.jar |  Bin 6079 -> 0 bytes
 .../bridge/JarCheckPermissionsGranted.java      |  235 -
 .../batik/bridge/JarCheckPermissionsGranted.mf  |    2 -
 .../forks/batik/bridge/ecmaCheckConstrain.svg   |   38 -
 .../flex/forks/batik/bridge/ecmaCheckLoad.svg   |   38 -
 .../forks/batik/bridge/ecmaCheckLoadAny.svg     |   38 -
 .../forks/batik/bridge/ecmaCheckLoadEmbed.svg   |   41 -
 .../batik/bridge/ecmaCheckLoadEmbedAttr.svg     |   37 -
 .../bridge/ecmaCheckLoadSameAsDocument.svg      |   38 -
 .../forks/batik/bridge/ecmaCheckNoConstrain.svg |   38 -
 .../forks/batik/bridge/ecmaCheckNoEmbed.svg     |   42 -
 .../flex/forks/batik/bridge/ecmaCheckNoLoad.svg |   37 -
 .../forks/batik/bridge/ecmaCheckNoLoad2.svg     |   41 -
 .../forks/batik/bridge/ecmaCheckNoLoadAny.svg   |   38 -
 .../forks/batik/bridge/ecmaCheckNoLoadEmbed.svg |   40 -
 .../batik/bridge/ecmaCheckNoLoadEmbedAttr.svg   |   38 -
 .../bridge/ecmaCheckNoLoadSameAsDocument.svg    |   38 -
 .../batik/bridge/ecmaCheckPermissionsDenied.svg |  239 -
 .../bridge/ecmaCheckPermissionsDenied2.svg      |  282 --
 .../bridge/ecmaCheckPermissionsDeniedEval.svg   |  265 -
 .../ecmaCheckPermissionsDeniedFunction.svg      |  266 -
 .../bridge/ecmaCheckPermissionsDeniedScript.svg |  266 -
 .../bridge/ecmaCheckPermissionsGranted.svg      |  205 -
 .../bridge/ecmaCheckPermissionsGrantedEval.svg  |  210 -
 .../ecmaCheckPermissionsGrantedFunction.svg     |  211 -
 .../ecmaCheckPermissionsGrantedScript.svg       |  210 -
 .../forks/batik/bridge/ecmaScriptSecurity.svg   |  239 -
 .../forks/batik/bridge/ecmaScriptSecurity2.svg  |  205 -
 .../flex/forks/batik/bridge/embedData.svg       |  318 --
 .../flex/forks/batik/bridge/error/batikMark.svg |   72 -
 .../error/clipPath-clipPathUnits-invalid.svg    |   72 -
 .../forks/batik/bridge/error/clipPath-empty.svg |   69 -
 .../error/clipPath-subelement-invalid.svg       |   73 -
 .../batik/bridge/error/clipPath-uri-illegal.svg |   70 -
 .../forks/batik/bridge/error/css-invalid.svg    |   57 -
 .../batik/bridge/error/ellipse-missing-rx.svg   |   56 -
 .../batik/bridge/error/ellipse-missing-ry.svg   |   56 -
 .../batik/bridge/error/ellipse-negative-rx.svg  |   56 -
 .../batik/bridge/error/ellipse-negative-ry.svg  |   56 -
 .../bridge/error/feColorMatrix-type-invalid.svg |   75 -
 .../error/feColorMatrix-value-invalid.svg       |   79 -
 .../error/feColorMatrix-values-invalid.svg      |   73 -
 .../error/feComponentTransfert-type-invalid.svg |   91 -
 .../error/feComponentTransfert-type-missing.svg |   91 -
 .../feComponentTransfert-value-invalid.svg      |   90 -
 .../bridge/error/feComposite-in2-missing.svg    |   87 -
 .../error/feComposite-operator-invalid.svg      |   87 -
 ...eDisplacementMap-channelSelector-invalid.svg |   96 -
 .../error/feDisplacementMap-in2-missing.svg     |   96 -
 .../feGaussianBlur-stdDeviationX-invalid.svg    |   75 -
 .../feGaussianBlur-stdDeviationY-invalid.svg    |   75 -
 .../forks/batik/bridge/error/feImage-badurl.svg |   75 -
 .../error/feMerge-feMergeNode-invalid.svg       |   85 -
 .../error/feMorphology-operator-invalid.svg     |   78 -
 .../error/feMorphology-radiusX-negative.svg     |   78 -
 .../error/feMorphology-radiusY-negative.svg     |   78 -
 .../error/feTurbulence-stitchTiles.invalid.svg  |   75 -
 .../bridge/error/feTurbulence-type-invalid.svg  |   75 -
 .../forks/batik/bridge/error/filter-empty.svg   |   69 -
 .../error/filter-filterPrimitive-invalid.svg    |   73 -
 .../bridge/error/filter-filterResX-negative.svg |   72 -
 .../bridge/error/filter-filterResY-negative.svg |   75 -
 .../bridge/error/filter-filterUnits-invalid.svg |   71 -
 .../batik/bridge/error/filter-uri-illegal.svg   |   68 -
 .../forks/batik/bridge/error/image-badurl.svg   |   57 -
 .../batik/bridge/error/image-missing-height.svg |   57 -
 .../batik/bridge/error/image-missing-width.svg  |   57 -
 .../bridge/error/image-negative-height.svg      |   57 -
 .../batik/bridge/error/image-negative-width.svg |   57 -
 .../batik/bridge/error/linearGradient-empty.svg |   65 -
 .../linearGradient-gradientUnits-invalid.svg    |   72 -
 .../error/linearGradient-missing-offset.svg     |   67 -
 .../linearGradient-spreadMethod-invalid.svg     |   70 -
 .../bridge/error/linearGradient-uri-invalid.svg |   65 -
 .../forks/batik/bridge/error/mask-empty.svg     |   77 -
 .../bridge/error/mask-maskUnits-invalid.svg     |   82 -
 .../bridge/error/mask-subelement-invalid.svg    |   84 -
 .../batik/bridge/error/mask-uri-illegal.svg     |   76 -
 .../forks/batik/bridge/error/path-invalid-d.svg |   97 -
 .../forks/batik/bridge/error/pattern-empty.svg  |   71 -
 .../error/pattern-patternUnits-invalid.svg      |   73 -
 .../bridge/error/pattern-subelement-invalid.svg |   73 -
 .../bridge/error/polygon-invalid-points.svg     |   60 -
 .../bridge/error/polyline-invalid-points.svg    |   60 -
 .../batik/bridge/error/radialGradient-empty.svg |   66 -
 .../radialGradient-gradientUnits-invalid.svg    |   72 -
 .../error/radialGradient-missing-offset.svg     |   67 -
 .../bridge/error/radialGradient-r-negative.svg  |   70 -
 .../bridge/error/radialGradient-r-zero.svg      |   70 -
 .../radialGradient-spreadMethod-invalid.svg     |   70 -
 .../batik/bridge/error/rect-missing-height.svg  |   56 -
 .../batik/bridge/error/rect-missing-width.svg   |   56 -
 .../batik/bridge/error/rect-negative-height.svg |   56 -
 .../batik/bridge/error/rect-negative-rx.svg     |   56 -
 .../batik/bridge/error/rect-negative-ry.svg     |   56 -
 .../batik/bridge/error/rect-negative-width.svg  |   56 -
 .../flex/forks/batik/bridge/error/svg.svg       |   84 -
 .../flex/forks/batik/bridge/error/test.css      |   27 -
 .../flex/forks/batik/bridge/error/transform.svg |   56 -
 .../forks/batik/bridge/error/xml-invalid.svg    |   43 -
 .../batik/bridge/externalResourcesAccess.svg    |  356 --
 .../apache/flex/forks/batik/bridge/function.js  |   18 -
 .../flex/forks/batik/bridge/getURLException.svg |   53 -
 .../flex/forks/batik/bridge/iWasLoaded.js       |   29 -
 .../flex/forks/batik/bridge/iWasLoadedToo.js    |   29 -
 .../forks/batik/bridge/jarCheckConstrain.svg    |   36 -
 .../flex/forks/batik/bridge/jarCheckLoad.svg    |   36 -
 .../flex/forks/batik/bridge/jarCheckLoadAny.svg |   36 -
 .../forks/batik/bridge/jarCheckLoadEmbed.svg    |   63 -
 .../batik/bridge/jarCheckLoadSameAsDocument.svg |   36 -
 .../forks/batik/bridge/jarCheckNoConstrain.svg  |   36 -
 .../flex/forks/batik/bridge/jarCheckNoLoad.svg  |   36 -
 .../forks/batik/bridge/jarCheckNoLoadAny.svg    |   36 -
 .../forks/batik/bridge/jarCheckNoLoadEmbed.svg  |   75 -
 .../bridge/jarCheckNoLoadSameAsDocument.svg     |   36 -
 .../batik/bridge/jarCheckPermissionsDenied.svg  |   37 -
 .../batik/bridge/jarCheckPermissionsGranted.svg |   36 -
 .../forks/batik/bridge/scriptPermissions.svg    |  140 -
 .../forks/batik/bridge/scriptPermissions2.svg   |  495 --
 .../flex/forks/batik/bridge/unitTesting.xml     |  589 ---
 .../flex/forks/batik/css/dom/bug11670.svg       |   90 -
 .../flex/forks/batik/css/dom/bug9740-1.css      |   17 -
 .../flex/forks/batik/css/dom/bug9740-2.css      |   17 -
 .../apache/flex/forks/batik/css/dom/bug9740.svg |   90 -
 .../apache/flex/forks/batik/css/dom/bug9779.svg |   50 -
 .../forks/batik/css/dom/rgbPresentationTest.svg |  158 -
 .../apache/flex/forks/batik/css/dom/rgbTest.svg |  121 -
 .../flex/forks/batik/css/dom/rgbUpdateTest.svg  |  143 -
 .../flex/forks/batik/css/dom/unitTesting.xml    |   32 -
 .../batik/css/engine/value/unitTesting.xml      |  536 --
 .../apache/flex/forks/batik/dom/bug18143.svg    |   62 -
 .../apache/flex/forks/batik/dom/bug20331.svg    |  103 -
 .../apache/flex/forks/batik/dom/bug20332.svg    |  100 -
 .../apache/flex/forks/batik/dom/dummyXML.xml    |   18 -
 .../apache/flex/forks/batik/dom/dummyXML2.xml   |   22 -
 .../apache/flex/forks/batik/dom/dummyXML3.xml   |   23 -
 .../apache/flex/forks/batik/dom/dummyXML4.xml   |   23 -
 .../flex/forks/batik/dom/svg/bug30580.svg       |  100 -
 .../flex/forks/batik/dom/svg/lengthTest.svg     |  117 -
 .../flex/forks/batik/dom/svg/locatableTest.svg  |  113 -
 .../dom/svg/presentationAttrRemovalTest.svg     |   84 -
 .../apache/flex/forks/batik/dom/svg/test.svg    |   17 -
 .../flex/forks/batik/dom/svg/unitTesting.xml    |   63 -
 .../apache/flex/forks/batik/dom/unitTesting.xml |  157 -
 .../awt/geom/resources/TestMessages.properties  |   40 -
 .../forks/batik/ext/awt/geom/unitTesting.xml    |   60 -
 .../image/codec/resources/Messages.properties   |   27 -
 .../batik/ext/awt/image/codec/unitTesting.xml   |   27 -
 .../batik/gvt/resources/TestMessages.properties |   54 -
 .../apache/flex/forks/batik/gvt/unitTesting.xml |  177 -
 .../flex/forks/batik/parser/unitTesting.xml     |  351 --
 .../flex/forks/batik/script/rhino/eval.svg      |   57 -
 .../forks/batik/script/rhino/unitTesting.xml    |   35 -
 .../flex/forks/batik/svggen/regsvggen.xml       |   67 -
 .../batik/svggen/resources/Messages.properties  |  101 -
 .../forks/batik/svggen/resources/vangogh.jpg    |  Bin 11478 -> 0 bytes
 .../forks/batik/svggen/resources/vangogh.png    |  Bin 9924 -> 0 bytes
 .../swing/resources/TestMessages.properties     |   37 -
 .../flex/forks/batik/swing/unitTesting.xml      |   44 -
 .../apache/flex/forks/batik/test/beSuite.xml    |  280 --
 .../forks/batik/test/interactiveSamples.xml     |   55 -
 .../org/apache/flex/forks/batik/test/regard.xml |   78 -
 .../flex/forks/batik/test/regardManual.xml      |   44 -
 .../batik/test/resources/Messages.properties    |  157 -
 .../flex/forks/batik/test/samplesRendering.xml  |  440 --
 .../flex/forks/batik/test/svg/HTMLReport.xsl    |  235 -
 .../flex/forks/batik/test/svg/bug19363.svg      |   31 -
 .../apache/flex/forks/batik/test/svg/error.svg  |   50 -
 .../forks/batik/test/svg/errorAndEntries.svg    |   63 -
 .../batik/test/svg/getCharacterPosition.js      |  126 -
 .../batik/test/svg/getCharacterRotation.js      |  106 -
 .../batik/test/svg/getComputedTextLength.js     |   80 -
 .../forks/batik/test/svg/getExtentOfChar.js     |   79 -
 .../svg/invalidTestResultElementsNumber.svg     |   50 -
 .../batik/test/svg/missingOrEmptyErrorCode.svg  |   50 -
 .../forks/batik/test/svg/processingError.svg    |   41 -
 .../test/svg/resources/Configuration.properties |   25 -
 .../test/svg/resources/Messages.properties      |   93 -
 .../test/svg/resources/images/background.png    |  Bin 5987 -> 0 bytes
 .../batik/test/svg/resources/images/deco.png    |  Bin 486 -> 0 bytes
 .../batik/test/svg/resources/style/style.css    |   98 -
 .../flex/forks/batik/test/svg/success.svg       |   49 -
 .../batik/test/svg/unexpectedResultValue.svg    |   49 -
 .../flex/forks/batik/test/unitTesting.xml       |   85 -
 .../flex/forks/batik/test/xml/dummyTestRun.xml  |   28 -
 .../test/xml/resources/Messages.properties      |   62 -
 .../flex/forks/batik/test/xml/testSuiteA.xml    |   30 -
 .../flex/forks/batik/test/xml/testSuiteB.xml    |   26 -
 .../transcoder/image/resources/butterfly.svg    |   26 -
 .../transcoder/image/resources/language.svg     |   38 -
 .../batik/transcoder/image/resources/px2mm.svg  |   26 -
 .../batik/transcoder/image/unitTesting.xml      |  566 ---
 .../flex/forks/batik/transcoder/unitTesting.xml |   30 -
 .../apache/flex/forks/batik/util/regBase64.xml  |  145 -
 .../flex/forks/batik/util/regParsedURL.xml      |  181 -
 .../util/resources/TestMessages.properties      |   57 -
 .../flex/forks/batik/util/unitTesting.xml       |  436 --
 .../forks/batik/apps/rasterizer/MainTest.java   |  765 ---
 .../batik/apps/rasterizer/SVGConverterTest.java | 1087 -----
 .../flex/forks/batik/bridge/EcmaLoadTest.java   |   82 -
 .../flex/forks/batik/bridge/EcmaNoLoadTest.java |  127 -
 .../batik/bridge/ExternalResourcesTest.java     |  447 --
 .../flex/forks/batik/bridge/JarLoadTest.java    |   76 -
 .../flex/forks/batik/bridge/JarNoLoadTest.java  |   93 -
 .../flex/forks/batik/bridge/ScriptSelfTest.java |  148 -
 .../batik/css/dom/EcmaScriptCSSDOMTest.java     |   34 -
 .../css/engine/value/PropertyManagerTest.java   |  334 --
 .../flex/forks/batik/dom/AppendChildTest.java   |  101 -
 .../flex/forks/batik/dom/CloneElementTest.java  |  101 -
 .../dom/DOMUtilitiesCharacterEscaping.java      |   83 -
 .../flex/forks/batik/dom/EcmaScriptDOMTest.java |   35 -
 .../batik/dom/GetElementsByTagNameNSTest.java   |   87 -
 .../flex/forks/batik/dom/HasChildNodesTest.java |   87 -
 .../flex/forks/batik/dom/NullNamespaceTest.java |   90 -
 .../forks/batik/dom/RemoveAttributeTest.java    |   96 -
 .../flex/forks/batik/dom/ReplaceChildTest.java  |  101 -
 .../flex/forks/batik/dom/SerializationTest.java |  109 -
 .../flex/forks/batik/dom/SetAttributeTest.java  |  102 -
 .../flex/forks/batik/dom/svg/CloneNodeTest.java |   93 -
 .../batik/dom/svg/EcmaScriptSVGDOMTest.java     |   35 -
 .../forks/batik/dom/svg/ImportNodeTest.java     |  100 -
 .../flex/forks/batik/dom/svg/SystemIdTest.java  |   76 -
 .../flex/forks/batik/ext/awt/geom/Messages.java |   72 -
 .../batik/ext/awt/geom/RectListManagerTest.java |  384 --
 .../awt/image/codec/Base64PNGEncoderTest.java   |   53 -
 .../batik/ext/awt/image/codec/Messages.java     |   72 -
 .../ext/awt/image/codec/PNGEncoderTest.java     |  174 -
 .../apache/flex/forks/batik/gvt/Messages.java   |   72 -
 .../flex/forks/batik/gvt/TextSelectionTest.java |  222 -
 .../batik/parser/LengthParserFailureTest.java   |   55 -
 .../forks/batik/parser/LengthParserTest.java    |  125 -
 .../batik/parser/PathParserFailureTest.java     |   55 -
 .../flex/forks/batik/parser/PathParserTest.java |  275 --
 .../batik/parser/TransformListParserTest.java   |  174 -
 .../batik/script/rhino/ScriptSelfTest.java      |  113 -
 .../flex/forks/batik/svggen/ATransform.java     |   86 -
 .../svggen/AttributedCharacterIterator.java     |  135 -
 .../flex/forks/batik/svggen/BEExample.java      |   46 -
 .../apache/flex/forks/batik/svggen/BStroke.java |  169 -
 .../flex/forks/batik/svggen/BasicShapes.java    |  105 -
 .../flex/forks/batik/svggen/BasicShapes2.java   |   75 -
 .../flex/forks/batik/svggen/Bug17965.java       |   47 -
 .../flex/forks/batik/svggen/Bug21259.java       |   65 -
 .../apache/flex/forks/batik/svggen/Bug4389.java |   36 -
 .../apache/flex/forks/batik/svggen/Bug4945.java |   60 -
 .../apache/flex/forks/batik/svggen/Bug6535.java |   61 -
 .../apache/flex/forks/batik/svggen/Clip.java    |  125 -
 .../apache/flex/forks/batik/svggen/Color1.java  |  116 -
 .../apache/flex/forks/batik/svggen/Color2.java  |   81 -
 .../flex/forks/batik/svggen/DoubleString.java   |   51 -
 .../svggen/DoubleStringPerformanceTest.java     |   56 -
 .../flex/forks/batik/svggen/DrawImage.java      |   89 -
 .../apache/flex/forks/batik/svggen/Font1.java   |  143 -
 .../apache/flex/forks/batik/svggen/Font2.java   |  146 -
 .../apache/flex/forks/batik/svggen/GVector.java |   55 -
 .../forks/batik/svggen/GeneratorContext.java    |  132 -
 .../flex/forks/batik/svggen/GetRootTest.java    |  100 -
 .../flex/forks/batik/svggen/Gradient.java       |  120 -
 .../flex/forks/batik/svggen/GraphicObjects.java |   91 -
 .../flex/forks/batik/svggen/IdentityTest.java   |   47 -
 .../forks/batik/svggen/JPainterCompare.java     |  265 -
 .../forks/batik/svggen/JPainterComponent.java   |   56 -
 .../apache/flex/forks/batik/svggen/Lookup.java  |   88 -
 .../flex/forks/batik/svggen/Messages.java       |   72 -
 .../forks/batik/svggen/NegativeLengths.java     |  277 --
 .../apache/flex/forks/batik/svggen/Painter.java |   32 -
 .../apache/flex/forks/batik/svggen/Paints.java  |   85 -
 .../apache/flex/forks/batik/svggen/RHints.java  |  102 -
 .../apache/flex/forks/batik/svggen/Rescale.java |   96 -
 .../forks/batik/svggen/SVGAccuracyTest.java     |  371 --
 .../batik/svggen/SVGAccuracyTestValidator.java  |  178 -
 .../forks/batik/svggen/SVGGeneratorTests.java   |  200 -
 .../flex/forks/batik/svggen/ShearTest.java      |   56 -
 .../batik/svggen/ShowGraphics2DOutput.java      |   99 -
 .../forks/batik/svggen/TextSpacePreserve.java   |   49 -
 .../apache/flex/forks/batik/svggen/Texture.java |   75 -
 .../forks/batik/svggen/TransformCollapse.java   |   53 -
 .../forks/batik/swing/JSVGCanvasHandler.java    |  378 --
 .../forks/batik/swing/JSVGInterruptTest.java    |  422 --
 .../forks/batik/swing/JSVGMemoryLeakTest.java   |  177 -
 .../batik/swing/NullSetSVGDocumentTest.java     |  146 -
 .../flex/forks/batik/swing/NullURITest.java     |   47 -
 .../forks/batik/swing/SetSVGDocumentTest.java   |   83 -
 .../flex/forks/batik/swing/TestMessages.java    |   71 -
 .../flex/forks/batik/test/AbstractTest.java     |  365 --
 .../forks/batik/test/AbstractTestSuite.java     |   46 -
 .../forks/batik/test/AssertEqualsException.java |   57 -
 .../flex/forks/batik/test/AssertException.java  |   54 -
 .../forks/batik/test/AssertNullException.java   |   47 -
 .../forks/batik/test/AssertTrueException.java   |   47 -
 .../forks/batik/test/DefaultTestReport.java     |  119 -
 .../flex/forks/batik/test/DefaultTestSuite.java |  115 -
 .../batik/test/DefaultTestSuiteReport.java      |  192 -
 .../flex/forks/batik/test/MemoryLeakTest.java   |  230 -
 .../batik/test/MemoryLeakTestValidator.java     |   70 -
 .../apache/flex/forks/batik/test/Messages.java  |   72 -
 .../forks/batik/test/OnePerformanceTest.java    |   24 -
 .../flex/forks/batik/test/ParametrizedTest.java |   79 -
 .../flex/forks/batik/test/PerformanceTest.java  |  224 -
 .../batik/test/PerformanceTestValidator.java    |  120 -
 .../batik/test/SimpleTestReportProcessor.java   |  125 -
 .../flex/forks/batik/test/SimpleTestRunner.java |  123 -
 .../org/apache/flex/forks/batik/test/Test.java  |   80 -
 .../batik/test/TestErrorConditionException.java |   77 -
 .../flex/forks/batik/test/TestException.java    |   68 -
 .../flex/forks/batik/test/TestFilter.java       |   35 -
 .../flex/forks/batik/test/TestReport.java       |  187 -
 .../forks/batik/test/TestReportProcessor.java   |   49 -
 .../forks/batik/test/TestReportValidator.java   |  168 -
 .../apache/flex/forks/batik/test/TestSuite.java |   53 -
 .../flex/forks/batik/test/TestSuiteReport.java  |   33 -
 .../test/svg/AbstractRenderingAccuracyTest.java |  870 ----
 .../forks/batik/test/svg/BERenderingTest.java   |   95 -
 .../test/svg/JSVGRenderingAccuracyTest.java     |  175 -
 .../flex/forks/batik/test/svg/Messages.java     |   72 -
 .../svg/ParametrizedRenderingAccuracyTest.java  |  109 -
 .../test/svg/PreconfiguredRenderingTest.java    |  171 -
 .../test/svg/SVGAccuracyTestProcessor.java      |   32 -
 ...lternateStyleSheetRenderingAccuracyTest.java |   43 -
 .../test/svg/SVGMediaRenderingAccuracyTest.java |   42 -
 .../batik/test/svg/SVGOnLoadExceptionTest.java  |  576 ---
 .../svg/SVGReferenceRenderingAccuracyTest.java  |  165 -
 .../test/svg/SVGRenderingAccuracyTest.java      |  218 -
 .../svg/SVGRenderingAccuracyTestValidator.java  |  424 --
 .../SVGTextContentRenderingAccuracyTest.java    |   76 -
 .../batik/test/svg/SamplesRenderingTest.java    |   95 -
 .../test/svg/SelfContainedSVGOnLoadTest.java    |  333 --
 .../SelfContainedSVGOnLoadTestValidator.java    |  253 -
 .../forks/batik/test/util/ImageCompareTest.java |  383 --
 .../forks/batik/test/xml/DummyValidTest.java    |   31 -
 .../batik/test/xml/DummyValidTestSuite.java     |   35 -
 .../flex/forks/batik/test/xml/Messages.java     |   72 -
 .../flex/forks/batik/test/xml/XMLReflect.java   |  286 --
 .../batik/test/xml/XMLReflectConstants.java     |   41 -
 .../batik/test/xml/XMLTestReportProcessor.java  |  627 ---
 .../batik/test/xml/XMLTestSuiteLoader.java      |  174 -
 .../batik/test/xml/XMLTestSuiteRunner.java      |  568 ---
 .../test/xml/XMLTestSuiteRunnerValidator.java   |  347 --
 .../batik/test/xml/XSLXMLReportConsumer.java    |  132 -
 .../flex/forks/batik/test/xml/XTRConstants.java |   58 -
 .../forks/batik/test/xml/XTRunConstants.java    |   43 -
 .../flex/forks/batik/test/xml/XTSConstants.java |   41 -
 .../batik/transcoder/TranscoderInputTest.java   |  143 -
 .../forks/batik/transcoder/image/AOITest.java   |  134 -
 .../image/AbstractImageTranscoderTest.java      |  365 --
 .../image/AlternateStylesheetTest.java          |   80 -
 .../transcoder/image/BackgroundColorTest.java   |  106 -
 .../forks/batik/transcoder/image/DOMTest.java   |  101 -
 .../transcoder/image/DefaultFontFamilyTest.java |   79 -
 .../batik/transcoder/image/DimensionTest.java   |   91 -
 .../transcoder/image/GenericDocumentTest.java   |   82 -
 .../batik/transcoder/image/InputStreamTest.java |   72 -
 .../batik/transcoder/image/LanguageTest.java    |   82 -
 .../transcoder/image/MaxDimensionTest.java      |  121 -
 .../forks/batik/transcoder/image/MediaTest.java |   77 -
 .../forks/batik/transcoder/image/Messages.java  |   72 -
 .../transcoder/image/ParametrizedDOMTest.java   |   73 -
 .../batik/transcoder/image/PixelToMMTest.java   |   79 -
 .../batik/transcoder/image/ReaderTest.java      |   73 -
 .../forks/batik/transcoder/image/URITest.java   |   59 -
 .../util/ApplicationSecurityEnforcerTest.java   |  131 -
 .../flex/forks/batik/util/Base64Test.java       |  344 --
 .../forks/batik/util/ParsedURLDataTest.java     |  141 -
 .../flex/forks/batik/util/ParsedURLTest.java    |  134 -
 .../forks/batik/util/RunnableQueueTest.java     |  216 -
 .../flex/forks/batik/util/TestMessages.java     |   72 -
 .../flex/forks/batik/util/ThreadPounder.java    |  110 -
 mustella/Assets/Fonts/SILEOT/Licenses.txt       |  127 +
 mustella/Assets/Fonts/SILEOT/README.txt         |   86 +
 mustella/Assets/Fonts/SILEOT/SILEOT.ttf         |  Bin 0 -> 155584 bytes
 mustella/Assets/Fonts/VeraFontStyles.css        |  132 +
 mustella/Assets/Fonts/myStyles.css              |   18 +
 mustella/Assets/Images/GridImages/100x100.png   |  Bin 0 -> 49344 bytes
 mustella/Assets/Images/orange_separator.png     |  Bin 0 -> 49125 bytes
 mustella/Assets/Images/smallorangerect.gif      |  Bin 0 -> 821 bytes
 mustella/Assets/Images/tinyblackrect.jpg        |  Bin 0 -> 312 bytes
 mustella/Assets/Images/tinybluerect.jpg         |  Bin 0 -> 473 bytes
 mustella/Assets/Images/tinybrownrect.jpg        |  Bin 0 -> 291 bytes
 mustella/Assets/Images/tinybwrect.jpg           |  Bin 0 -> 369 bytes
 mustella/Assets/Images/tinycyanrect.jpg         |  Bin 0 -> 291 bytes
 mustella/Assets/Images/tinygreenrect.jpg        |  Bin 0 -> 496 bytes
 mustella/Assets/Images/tinyltgrayrect.jpg       |  Bin 0 -> 287 bytes
 mustella/Assets/Images/tinymagentarect.jpg      |  Bin 0 -> 291 bytes
 mustella/Assets/Images/tinyoprect.jpg           |  Bin 0 -> 444 bytes
 mustella/Assets/Images/tinyorangerect.jpg       |  Bin 0 -> 530 bytes
 mustella/Assets/Images/tinypurplerect.jpg       |  Bin 0 -> 488 bytes
 mustella/Assets/Images/tinyredrect.jpg          |  Bin 0 -> 418 bytes
 mustella/Assets/Images/tinyrgrect.jpg           |  Bin 0 -> 448 bytes
 mustella/Assets/Images/tinytanrect.jpg          |  Bin 0 -> 290 bytes
 mustella/Assets/Images/tinywhiterect.jpg        |  Bin 0 -> 306 bytes
 mustella/Assets/Images/tinyybrect.jpg           |  Bin 0 -> 462 bytes
 mustella/Assets/Images/tinyyellowrect.jpg       |  Bin 0 -> 563 bytes
 mustella/MustellaResultsParser.java             |   21 +
 mustella/README                                 |   59 +
 mustella/as3/src/mustella/AIR/CompareBitmap.as  |    2 +-
 mustella/as3/src/mustella/Assert.as             |   24 +-
 mustella/as3/src/mustella/AssertError.as        |   18 +-
 mustella/as3/src/mustella/AssertMethodValue.as  |   26 +-
 .../as3/src/mustella/AssertPropertyValue.as     |   24 +-
 mustella/as3/src/mustella/CompareBitmap.as      |   75 +-
 mustella/as3/src/mustella/ConditionalValue.as   |   27 +-
 mustella/as3/src/mustella/DeviceNames.as        |    6 +-
 mustella/as3/src/mustella/ErrorArray.as         |   41 +
 .../src/mustella/ExcludeFileLocationApollo.as   |    4 +-
 .../as3/src/mustella/IncludeFileLocation.as     |    5 +-
 mustella/as3/src/mustella/Localhost8080.as      |   46 +
 mustella/as3/src/mustella/MultiResult.as        |    9 +-
 mustella/as3/src/mustella/ResetComponent.as     |    7 +
 .../as3/src/mustella/SendResultsToRunner.as     |   68 +-
 mustella/as3/src/mustella/UnitTester.as         |   78 +-
 .../as3/src/mustella/WaitForLayoutManager.as    |  205 +
 mustella/asdoc-output/AC_OETags.js              |  137 -
 mustella/asdoc-output/AIR/CompareBitmap.html    |   97 -
 mustella/asdoc-output/AIR/class-list.html       |    1 -
 mustella/asdoc-output/AIR/package-detail.html   |   24 -
 mustella/asdoc-output/ApolloFilePath.html       |   32 -
 mustella/asdoc-output/Assert.html               |   66 -
 mustella/asdoc-output/AssertError.html          |   65 -
 mustella/asdoc-output/AssertEvent.html          |   83 -
 .../asdoc-output/AssertEventPropertyValue.html  |   71 -
 mustella/asdoc-output/AssertMethodValue.html    |   69 -
 mustella/asdoc-output/AssertNoEvent.html        |   66 -
 mustella/asdoc-output/AssertPixelValue.html     |   73 -
 mustella/asdoc-output/AssertPropertyValue.html  |   71 -
 mustella/asdoc-output/AssertStyleValue.html     |   70 -
 mustella/asdoc-output/AssertTitle.html          |   65 -
 mustella/asdoc-output/AssertType.html           |   71 -
 mustella/asdoc-output/AssertURL.html            |   65 -
 mustella/asdoc-output/Bug.html                  |   15 -
 mustella/asdoc-output/CBTester.html             |  157 -
 mustella/asdoc-output/ChangeState.html          |   48 -
 mustella/asdoc-output/CheckEmbeddedFonts.html   |   24 -
 mustella/asdoc-output/CompareBitmap.html        |   92 -
 mustella/asdoc-output/ConditionalValue.html     |   41 -
 mustella/asdoc-output/CoverageTimeout.html      |   21 -
 .../asdoc-output/CreateBitmapReferences.html    |   24 -
 mustella/asdoc-output/DesktopMacSettings.html   |   19 -
 mustella/asdoc-output/DesktopWinSettings.html   |   19 -
 mustella/asdoc-output/DeviceNames.html          |   17 -
 mustella/asdoc-output/DispatchEvent.html        |   81 -
 mustella/asdoc-output/DispatchKeyEvent.html     |  107 -
 .../asdoc-output/DispatchMouseClickEvent.html   |  101 -
 mustella/asdoc-output/DispatchMouseEvent.html   |  108 -
 mustella/asdoc-output/DragAndDropMain.html      |   15 -
 mustella/asdoc-output/DragAndDropScript.html    |  157 -
 mustella/asdoc-output/EffectTesting.html        |  121 -
 .../asdoc-output/EnableRemoteImageDiff.html     |   24 -
 mustella/asdoc-output/EventSnifferRemote.html   |   17 -
 mustella/asdoc-output/ExcludeFileLocation.html  |   29 -
 .../asdoc-output/ExcludeFileLocationApollo.html |   29 -
 mustella/asdoc-output/ExcludeList.html          |   21 -
 mustella/asdoc-output/ExcludeListTextFile.html  |   22 -
 mustella/asdoc-output/ExitWhenDone.html         |   24 -
 mustella/asdoc-output/ImageDiffAIR.html         |   15 -
 mustella/asdoc-output/IncludeFileLocation.html  |   24 -
 mustella/asdoc-output/IncludeList.html          |   21 -
 mustella/asdoc-output/IncludeListTextFile.html  |   22 -
 mustella/asdoc-output/MouseSnifferRemote.html   |   17 -
 mustella/asdoc-output/MultiResult.html          |   25 -
 mustella/asdoc-output/MustellaLogEvent.html     |   23 -
 mustella/asdoc-output/MustellaPNGEncoder.html   |   15 -
 .../asdoc-output/MustellaRealTimeLogger.html    |   15 -
 mustella/asdoc-output/MustellaSandboxEvent.html |   21 -
 mustella/asdoc-output/NoFail.html               |   22 -
 mustella/asdoc-output/ObjectSnifferRemote.html  |   25 -
 mustella/asdoc-output/Pause.html                |   46 -
 mustella/asdoc-output/PixelSnifferRemote.html   |   17 -
 mustella/asdoc-output/PlaybackControl.html      |   24 -
 mustella/asdoc-output/ResetComponent.html       |   64 -
 mustella/asdoc-output/RunCode.html              |   51 -
 mustella/asdoc-output/RunCodeEvent.html         |   35 -
 mustella/asdoc-output/RunnerPortAlt.html        |   24 -
 mustella/asdoc-output/SaveBitmapFailures.html   |   22 -
 .../SaveBitmapFailuresDistServer.html           |   22 -
 mustella/asdoc-output/ScriptRunner.html         |   15 -
 .../asdoc-output/SendFormattedResultsToLog.html |   25 -
 mustella/asdoc-output/SendResultsToRunner.html  |   28 -
 .../SendResultsToSnifferClient.html             |   28 -
 mustella/asdoc-output/SetProperty.html          |   73 -
 mustella/asdoc-output/SetShowRTE.html           |   21 -
 mustella/asdoc-output/SetStyle.html             |   69 -
 mustella/asdoc-output/SetURL.html               |   58 -
 mustella/asdoc-output/SetVettingRun.html        |   21 -
 mustella/asdoc-output/SnifferCellRenderer.html  |   15 -
 mustella/asdoc-output/SnifferRemoteClient.html  |   29 -
 mustella/asdoc-output/SocketAddress.html        |   24 -
 mustella/asdoc-output/TargetConfigurations.html |   19 -
 mustella/asdoc-output/TestCase.html             |   88 -
 mustella/asdoc-output/TestOutput.html           |   27 -
 mustella/asdoc-output/TestResult.html           |   63 -
 mustella/asdoc-output/TestStep.html             |   68 -
 mustella/asdoc-output/TypeInfo.html             |   31 -
 mustella/asdoc-output/UnitTester.html           |  352 --
 mustella/asdoc-output/Util.html                 |   20 -
 mustella/asdoc-output/VerboseMode.html          |   24 -
 mustella/asdoc-output/WaitForEffectsToEnd.html  |   46 -
 mustella/asdoc-output/WaitForEvent.html         |   79 -
 mustella/asdoc-output/WaitForSandboxApp.html    |   54 -
 mustella/asdoc-output/WaitForWindow.html        |   24 -
 mustella/asdoc-output/all-classes.html          |  286 --
 mustella/asdoc-output/all-index-A.html          |  125 -
 mustella/asdoc-output/all-index-B.html          |   30 -
 mustella/asdoc-output/all-index-C.html          |  108 -
 mustella/asdoc-output/all-index-D.html          |  111 -
 mustella/asdoc-output/all-index-E.html          |   72 -
 mustella/asdoc-output/all-index-F.html          |   19 -
 mustella/asdoc-output/all-index-G.html          |   36 -
 mustella/asdoc-output/all-index-H.html          |   17 -
 mustella/asdoc-output/all-index-I.html          |   61 -
 mustella/asdoc-output/all-index-J.html          |   13 -
 mustella/asdoc-output/all-index-K.html          |   24 -
 mustella/asdoc-output/all-index-L.html          |   32 -
 mustella/asdoc-output/all-index-M.html          |   28 -
 mustella/asdoc-output/all-index-N.html          |   23 -
 mustella/asdoc-output/all-index-O.html          |   19 -
 mustella/asdoc-output/all-index-P.html          |   46 -
 mustella/asdoc-output/all-index-Q.html          |   13 -
 mustella/asdoc-output/all-index-R.html          |   65 -
 mustella/asdoc-output/all-index-S.html          |  124 -
 mustella/asdoc-output/all-index-T.html          |  134 -
 mustella/asdoc-output/all-index-U.html          |   26 -
 mustella/asdoc-output/all-index-V.html          |   78 -
 mustella/asdoc-output/all-index-W.html          |   58 -
 mustella/asdoc-output/all-index-X.html          |   15 -
 mustella/asdoc-output/all-index-Y.html          |   15 -
 mustella/asdoc-output/all-index-Z.html          |   13 -
 mustella/asdoc-output/asdoc.js                  |  294 --
 mustella/asdoc-output/class-list.html           |    1 -
 mustella/asdoc-output/class-summary.html        |  350 --
 mustella/asdoc-output/cookies.js                |   92 -
 mustella/asdoc-output/help.js                   |  949 ----
 mustella/asdoc-output/imageDiff.html            |   15 -
 mustella/asdoc-output/images/AirIcon12x12.gif   |  Bin 318 -> 0 bytes
 .../P_AlternativeMetadataIndicator_30x28_N.png  |  Bin 868 -> 0 bytes
 mustella/asdoc-output/images/collapsed.gif      |  Bin 79 -> 0 bytes
 .../asdoc-output/images/detailHeaderRule.jpg    |  Bin 284 -> 0 bytes
 .../asdoc-output/images/detailSectionHeader.jpg |  Bin 307 -> 0 bytes
 mustella/asdoc-output/images/expanded.gif       |  Bin 79 -> 0 bytes
 mustella/asdoc-output/images/inherit-arrow.gif  |  Bin 85 -> 0 bytes
 .../asdoc-output/images/inheritedSummary.gif    |  Bin 144 -> 0 bytes
 mustella/asdoc-output/images/logo.jpg           |  Bin 2266 -> 0 bytes
 .../asdoc-output/images/titleTableBottom.jpg    |  Bin 296 -> 0 bytes
 .../asdoc-output/images/titleTableMiddle.jpg    |  Bin 308 -> 0 bytes
 mustella/asdoc-output/images/titleTableTop.jpg  |  Bin 326 -> 0 bytes
 mustella/asdoc-output/index-list.html           |   70 -
 mustella/asdoc-output/index.html                |   40 -
 mustella/asdoc-output/main.html                 |   15 -
 mustella/asdoc-output/override.css              |   18 -
 mustella/asdoc-output/package-detail.html       |  339 --
 mustella/asdoc-output/package-frame.html        |   18 -
 mustella/asdoc-output/package-list.html         |    1 -
 mustella/asdoc-output/package-summary.html      |   13 -
 mustella/asdoc-output/print.css                 |  116 -
 mustella/asdoc-output/skins/class-list.html     |    1 -
 mustella/asdoc-output/skins/package-detail.html |   13 -
 .../asdoc-output/skins/pauseButtonSkin.html     |   17 -
 mustella/asdoc-output/skins/playButtonSkin.html |   17 -
 mustella/asdoc-output/skins/stepButtonSkin.html |   17 -
 mustella/asdoc-output/style.css                 |  584 ---
 mustella/asdoc-output/title-bar.html            |   41 -
 mustella/build.xml                              |  155 +-
 .../java/src/mustella/CompileMustellaSwfs.java  |   34 +-
 .../java/src/mustella/GetDeviceSpecsTask.java   |    7 +-
 .../java/src/mustella/MobileConfigWriter.java   |   24 +-
 mustella/java/src/mustella/Runner.java          |   86 +-
 .../java/src/mustella/SwfLoaderTestAdapter.java |    2 +-
 mustella/java/src/utils/ArgRange.java           |   57 +
 mustella/java/src/utils/ArgumentParser.java     |  227 +
 mustella/java/src/utils/CompcUtils.java         |   46 +-
 mustella/java/src/utils/CompileMxmlUtils.java   |   44 +-
 mustella/java/src/utils/MobileUtil.java         |   17 +-
 mustella/local-template.properties              |    2 +-
 mustella/mini_run.sh                            |  105 +-
 mustella/scripts/shellrunner.sh                 |   17 +-
 ...cation_ModalTransparencyBlur_Test1_Halo.mxml |    2 +-
 ...cation_ModalTransparencyBlur_Test2_Halo.mxml |    2 +-
 ...cation_ModalTransparencyBlur_Test3_Halo.mxml |    2 +-
 ...cation_ModalTransparencyBlur_Test5_Halo.mxml |    2 +-
 ...cation_ModalTransparencyBlur_Test6_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test1_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test2_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test3_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test4_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test5_Halo.mxml |    2 +-
 ...ation_ModalTransparencyColor_Test6_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test1_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test2_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test3_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test4_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test5_Halo.mxml |    2 +-
 ...pplication_ModalTransparency_Test6_Halo.mxml |    2 +-
 .../style_modalTransparencyBlur_test1_halo.png  |  Bin 2811 -> 2705 bytes
 .../style_modalTransparencyBlur_test2_halo.png  |  Bin 13675 -> 13560 bytes
 .../style_modalTransparencyBlur_test3_halo.png  |  Bin 2980 -> 2879 bytes
 .../style_modalTransparencyBlur_test5_halo.png  |  Bin 2811 -> 2706 bytes
 .../style_modalTransparencyBlur_test6_halo.png  |  Bin 13675 -> 13560 bytes
 .../style_modalTransparencyColor_test1_halo.png |  Bin 2455 -> 2350 bytes
 .../style_modalTransparencyColor_test2_halo.png |  Bin 2819 -> 2710 bytes
 .../style_modalTransparencyColor_test3_halo.png |  Bin 2699 -> 2588 bytes
 .../style_modalTransparencyColor_test4_halo.png |  Bin 2683 -> 2568 bytes
 .../style_modalTransparencyColor_test5_halo.png |  Bin 2818 -> 2698 bytes
 .../style_modalTransparencyColor_test6_halo.png |  Bin 2455 -> 2350 bytes
 .../style_modalTransparency_test1_halo.png      |  Bin 2790 -> 2673 bytes
 .../style_modalTransparency_test2_halo.png      |  Bin 2764 -> 2653 bytes
 .../style_modalTransparency_test3_halo.png      |  Bin 2808 -> 2699 bytes
 .../style_modalTransparency_test4_halo.png      |  Bin 2802 -> 2692 bytes
 .../style_modalTransparency_test5_halo.png      |  Bin 2790 -> 2673 bytes
 .../style_modalTransparency_test6_halo.png      |  Bin 2764 -> 2653 bytes
 .../ContentSizedConstraints_Application.mxml    |    8 +-
 .../PercentConstraints_Application.mxml         |    4 +-
 .../Application_ContentSizedConstraints.mxml    |    4 +-
 ...Application_ModalTransparencyBlur_Test1.mxml |    2 +-
 ...Application_ModalTransparencyBlur_Test2.mxml |    2 +-
 ...Application_ModalTransparencyBlur_Test3.mxml |    2 +-
 ...Application_ModalTransparencyBlur_Test4.mxml |    2 +-
 ...Application_ModalTransparencyBlur_Test5.mxml |    2 +-
 ...Application_ModalTransparencyBlur_Test6.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test1.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test2.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test3.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test4.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test5.mxml |    2 +-
 ...pplication_ModalTransparencyColor_Test6.mxml |    2 +-
 .../Application_ModalTransparency_Test1.mxml    |    6 +-
 .../Application_ModalTransparency_Test2.mxml    |    2 +-
 .../Application_ModalTransparency_Test3.mxml    |    2 +-
 .../Application_ModalTransparency_Test4.mxml    |    2 +-
 .../Application_ModalTransparency_Test5.mxml    |    2 +-
 .../Application_ModalTransparency_Test6.mxml    |    2 +-
 .../Application_PercentageSizedConstraints.mxml |    2 +
 .../style_modalTransparencyBlur_test1.png       |  Bin 4571 -> 4474 bytes
 .../style_modalTransparencyBlur_test2.png       |  Bin 15422 -> 15331 bytes
 .../style_modalTransparencyBlur_test3.png       |  Bin 4774 -> 4676 bytes
 .../style_modalTransparencyBlur_test4.png       |  Bin 5253 -> 5156 bytes
 .../style_modalTransparencyBlur_test5.png       |  Bin 4571 -> 4473 bytes
 .../style_modalTransparencyBlur_test6.png       |  Bin 15422 -> 15331 bytes
 .../style_modalTransparencyColor_test1.png      |  Bin 2749 -> 2647 bytes
 .../style_modalTransparencyColor_test2.png      |  Bin 4565 -> 4448 bytes
 .../style_modalTransparencyColor_test3.png      |  Bin 4234 -> 4142 bytes
 .../style_modalTransparencyColor_test4.png      |  Bin 4212 -> 4109 bytes
 .../style_modalTransparencyColor_test5.png      |  Bin 4564 -> 4448 bytes
 .../style_modalTransparencyColor_test6.png      |  Bin 2749 -> 2647 bytes
 .../Baselines/style_modalTransparency_test1.png |  Bin 4340 -> 4214 bytes
 .../Baselines/style_modalTransparency_test2.png |  Bin 4472 -> 4368 bytes
 .../Baselines/style_modalTransparency_test3.png |  Bin 4529 -> 4430 bytes
 .../Baselines/style_modalTransparency_test4.png |  Bin 4607 -> 4510 bytes
 .../Baselines/style_modalTransparency_test5.png |  Bin 4340 -> 4241 bytes
 .../Baselines/style_modalTransparency_test6.png |  Bin 4472 -> 4368 bytes
 mustella/tests/ExcludeListMac.txt               | 4601 ++++++++----------
 mustella/tests/ExcludeListMacAIR.txt            | 2099 ++++++++
 mustella/tests/ExcludeListWin.txt               | 2169 +++++++++
 mustella/tests/ExcludeListWinAIR.txt            | 2073 ++++++++
 .../Halo/DragManager_ComponentTests.mxml        |   77 +-
 .../Halo/DragManager_Cursors_RTL.mxml           |   57 +-
 .../DragManager_Mirroring_copyCursor.png        |  Bin 4151 -> 1823 bytes
 .../DragManager_Mirroring_moveCursor.png        |  Bin 4095 -> 1743 bytes
 .../DragManager_Mirroring_rejectCursor.png      |  Bin 4291 -> 1802 bytes
 .../PopUpManager_properties_spark.mxml          |    4 +-
 .../baselines/PopUp_properties_height_300.png   |  Bin 3197 -> 3276 bytes
 .../baselines/PopUp_properties_width_300.png    |  Bin 2590 -> 2681 bytes
 .../PopUpManager/SWFs/PopUpManager_Basic.mxml   |    3 +
 .../SWFs/PopUpManager_Basic_spark.mxml          |    2 +-
 .../SWFs/PopUpManager_Bugs_spark.mxml           |   37 +-
 .../SWFs/ClassSelectors_main_runtimeCSS.mxml    |   15 +
 .../SWFs/IDSelectors_main_runtimeCSS.mxml       |   15 +
 .../AdvancedCSS_ClassSelectors_RuntimeCSS.mxml  |   37 +-
 .../AdvancedCSS_ClassSelectors_Source.mxml      |    6 +-
 .../AdvancedCSS_ClassSelectors_Style.mxml       |    2 +
 .../baselines/checkColorForStar.png             |  Bin 1560 -> 1488 bytes
 .../baselines/id_classSelector_basic_style2.png |  Bin 0 -> 711 bytes
 .../id_classSelector_basic_style2_2.png         |  Bin 0 -> 4176 bytes
 .../id_classSelector_basic_style_2.png          |  Bin 2972 -> 4176 bytes
 .../id_classSelector_basic_style_neg2.png       |  Bin 0 -> 702 bytes
 .../id_classSelector_basic_style_neg2_2.png     |  Bin 0 -> 4324 bytes
 .../id_classSelector_basic_style_neg_2.png      |  Bin 3563 -> 4324 bytes
 ...ancedCSS_descendantSelectors_RuntimeCSS.mxml |    6 +-
 .../AdvancedCSS_descendantSelectors_Source.mxml |    3 +-
 .../AdvancedCSS_descendantSelectors_Style.mxml  |   43 +-
 .../AdvancedCSS_descendantSelectors_Style2.mxml |   16 +-
 ...scendantSelector_basic_noMatch_style_mac.png |  Bin 1447 -> 0 bytes
 ...ector_basic_noMatch_style_runtimecss@win.png |  Bin 0 -> 1447 bytes
 ...ndantSelector_basic_noMatch_style_source.png |  Bin 1447 -> 1601 bytes
 ...tSelector_basic_noMatch_style_source_mac.png |  Bin 1601 -> 0 bytes
 ...ndantSelector_combining_nested_style_mac.png |  Bin 362 -> 0 bytes
 .../descendantSelector_combining_style_mac.png  |  Bin 576 -> 0 bytes
 ...lector_nestedContainer_subclass_style2_2.png |  Bin 0 -> 689 bytes
 ...Selector_nestedContainer_subclass_style3.png |  Bin 0 -> 689 bytes
 ...elector_nestedContainer_subclass_style_2.png |  Bin 689 -> 691 bytes
 ...r_noninheriting_styleSetOnParent_style_2.png |  Bin 1405 -> 1427 bytes
 ...noninheriting_styleSetOnParent_style_mac.png |  Bin 1427 -> 0 bytes
 ...ninheriting_styleSetOnParent_style_mac_2.png |  Bin 1542 -> 0 bytes
 .../AdvancedCSS_IDSelectors_RuntimeCSS.mxml     |   13 +-
 .../AdvancedCSS_IDSelectors_Source.mxml         |    2 +-
 .../AdvancedCSS_IDSelectors_Style.mxml          |    2 +-
 .../idSelector_basic_SparkComp_style.png        |  Bin 1771 -> 2176 bytes
 ...ndantSelector_GumboComp_runtimeCSS_neg_2.png |  Bin 885 -> 923 bytes
 .../id_multipleTypeSelector_GumboComp_style.png |  Bin 1179 -> 1291 bytes
 ...id_multipleTypeSelector_GumboComp_style2.png |  Bin 0 -> 1291 bytes
 ...id_multipleTypeSelector_GumboComp_style3.png |  Bin 0 -> 1385 bytes
 .../id_multipleTypeSelector_style_neg2.png      |  Bin 463 -> 462 bytes
 .../PseudoSelector_mxButton_skinStates.png      |  Bin 1346 -> 1418 bytes
 .../SparkStyles/SWFs/SparkStyles_Globals.mxml   |   12 +-
 .../SparkStyles/SWFs/SparkStyles_HaloComps.mxml |    5 +-
 .../GlobalStyles_Halotester.mxml                |   22 +-
 .../globalSelectors/GlobalStyles_tester.mxml    |   61 +-
 ...lobalStyle_changeComponentStyleAtRuntime.png |  Bin 569 -> 574 bytes
 ...sColor_GlobalStyle_changeGlobalAtRuntime.png |  Bin 539 -> 545 bytes
 .../FxButtonBar_GlobalStyle_compileTime.png     |  Bin 4138 -> 4368 bytes
 .../FxButtonBar_GlobalStyle_runtimeCSS.png      |  Bin 4113 -> 4204 bytes
 .../FxButton_GlobalStyle_compileTime.png        |  Bin 1658 -> 1788 bytes
 .../FxButton_GlobalStyle_runtimeCSS.png         |  Bin 1644 -> 1733 bytes
 .../FxCheckBox_GlobalStyle_compileTime.png      |  Bin 1747 -> 1769 bytes
 .../FxCheckBox_GlobalStyle_runtimeCSS.png       |  Bin 1765 -> 1785 bytes
 .../FxHSlider_GlobalStyle_compileTime.png       |  Bin 838 -> 1051 bytes
 .../FxHSlider_GlobalStyle_runtimeCSS.png        |  Bin 833 -> 1049 bytes
 ...FxNumericStepper_GlobalStyle_compileTime.png |  Bin 551 -> 781 bytes
 .../FxNumericStepper_GlobalStyle_runtimeCSS.png |  Bin 566 -> 794 bytes
 .../FxRadioButton_GlobalStyle_compileTime.png   |  Bin 1597 -> 1884 bytes
 .../FxRadioButton_GlobalStyle_runtimeCSS.png    |  Bin 1588 -> 1888 bytes
 ...eButton_GlobalStyle_compileTime_selected.png |  Bin 2490 -> 2463 bytes
 ...utton_GlobalStyle_compileTime_unselected.png |  Bin 2407 -> 2461 bytes
 ...leButton_GlobalStyle_runtimeCSS_selected.png |  Bin 836 -> 829 bytes
 .../GlobalStyles_MxmlOverride_baseColor.png     |  Bin 1375 -> 1415 bytes
 .../GlobalStyles_MxmlOverride_color.png         |  Bin 3038 -> 3364 bytes
 ...GlobalStyles_MxmlOverride_colorContainer.png |  Bin 3164 -> 3264 bytes
 .../GlobalStyles_MxmlOverride_color_air.png     |  Bin 3038 -> 3364 bytes
 .../GlobalStyles_MxmlOverride_focusColor.png    |  Bin 2396 -> 2597 bytes
 ...s_MxmlOverride_focusedTextSelectionColor.png |  Bin 1151 -> 1120 bytes
 .../GlobalStyles_MxmlOverride_symbolColor.png   |  Bin 1539 -> 1569 bytes
 ...mericStepper_GlobalStyle_compileTime_AIR.png |  Bin 696 -> 701 bytes
 ...umericStepper_GlobalStyle_runtimeCSS_AIR.png |  Bin 685 -> 689 bytes
 .../TextArea_GlobalStyle_compileTime_AIR.png    |  Bin 3527 -> 3543 bytes
 .../TextArea_GlobalStyle_runtimeCSS_AIR.png     |  Bin 3581 -> 3601 bytes
 .../TextInput_GlobalStyle_compileTime.png       |  Bin 749 -> 771 bytes
 .../TextInput_GlobalStyle_compileTime_AIR.png   |  Bin 771 -> 764 bytes
 .../TextInput_GlobalStyle_runtimeCSS.png        |  Bin 800 -> 771 bytes
 .../TextInput_GlobalStyle_runtimeCSS_AIR.png    |  Bin 771 -> 786 bytes
 .../Versioning/MP_StyleManager_Tests.mxml       |    9 +-
 .../baselines/mp_classSelector_gif.png          |  Bin 2741 -> 2812 bytes
 .../baselines/mp_classSelector_png.png          |  Bin 855 -> 2909 bytes
 .../baselines/mp_typeSelector_gif.png           |  Bin 2741 -> 2812 bytes
 .../baselines/mp_typeSelector_png_trusted.png   |  Bin 875 -> 3218 bytes
 .../Bugs/MarshallPlan_Bugs_Tests.sh             |    2 -
 .../Controls/MP_Controls_Tests.mxml             |   14 +-
 .../Controls/baselines/mp_buttonIcon.png        |  Bin 2287 -> 1957 bytes
 .../ManagerTests/MP_CursorManager_Tests.mxml    |   49 +-
 .../ManagerTests/MP_DragManager_Tests.mxml      |    2 +-
 .../MP_NestedSWF_FocusManager_Tests.mxml        |    3 +-
 .../ToolTip_main_comp_toolTipClass.png          |  Bin 3593 -> 3506 bytes
 .../baselines/ToolTip_main_trusted.png          |  Bin 3593 -> 3506 bytes
 .../ToolTip_main_trusted_toolTipClass.png       |  Bin 3747 -> 3685 bytes
 .../baselines/b_drag_trusted_popup.png          |  Bin 3103 -> 3087 bytes
 .../baselines/b_drag_untrusted_popup.png        |  Bin 2755 -> 2738 bytes
 .../dividedbox_cursor_compatibility.png         |  Bin 4546 -> 4453 bytes
 .../baselines/dividedbox_cursor_local.png       |  Bin 4575 -> 4453 bytes
 .../baselines/dividedbox_cursor_remote.png      |  Bin 4541 -> 4452 bytes
 .../baselines/drag_trusted_popup.png            |  Bin 3095 -> 3085 bytes
 .../baselines/drag_untrusted_popup.png          |  Bin 2755 -> 2720 bytes
 ...otstrap_DragManager_Compatibility_Tests.mxml |    6 +-
 .../bootstrap_FocusManager_Tests.mxml           |    8 +-
 .../bootstrap_NestedSWF_FocusManager_Tests.mxml |   32 +-
 .../bootstrap_PopUpManager_Tests.mxml           |    2 +-
 .../RPC/MP_DataSetArraySQLTest.mxml             |    2 +
 .../RPC/MP_DataSetComplexSQLTest.mxml           |    2 +
 .../RPC/MP_DataSetEmptySQLTest.mxml             |    2 +
 .../RPC/MP_DataSetSingleSQLTest.mxml            |    2 +
 .../RPC/MP_DataTableArraySQLTest.mxml           |    2 +
 .../RPC/MP_DataTableSingleSQLTest.mxml          |    2 +
 .../RPC/MP_DataTypeSurveySQLAsDSTest.mxml       |    2 +
 .../MarshallPlan/RSLs/allowDomain_Tests.mxml    |   14 +-
 .../MarshallPlan/SWFs/AllowDomainBug.compile    |    2 +-
 .../tests/MarshallPlan/SWFs/AllowDomainBug.mxml |    2 +
 .../MarshallPlan/SWFs/AllowDomainFalse.compile  |    2 +-
 .../SWFs/Bootstrap_FocusManager_Nested.as       |    2 +-
 .../MarshallPlan/SWFs/Bootstrap_Managers.as     |    2 +-
 .../MarshallPlan/SWFs/Bootstrap_PopUpManager.as |    2 +-
 .../MarshallPlan/SWFs/air_Bootstrap_Managers.as |    2 +-
 .../SWFs/assets/MP_CursorManager_Child.mxml     |    4 +-
 .../MarshallPlan/SWFs/assets/MXMLcomp.mxml      |    2 +-
 .../tests/MarshallPlan/Spark/MP_FCK_Tests.mxml  |  196 -
 .../MarshallPlan/Spark/MP_FCK_Tests.mxml.FIXME  |  196 +
 .../tests/MarshallPlan/Spark/MP_FCK_Tests.sh    |   22 -
 .../MarshallPlan/Spark/MP_FCK_Tests.sh.FIXME    |   22 +
 .../Spark/MP_Spark_Controls_Tests.mxml          |   29 +-
 .../Spark/MP_Spark_Controls_Tests2.mxml         |    4 +-
 ..._Spark_Component_DropDownList_compatible.png |  Bin 16702 -> 17088 bytes
 ...k_Component_TextAreaScrolling_compatible.png |  Bin 2973 -> 3372 bytes
 ...mponent_TextAreaScrolling_compatible_Mac.png |  Bin 2841 -> 0 bytes
 ...ring_Application_mix_layoutDirection_RTL.png |  Bin 1217 -> 1190 bytes
 .../swfs/Mirroring_Main_Application.mxml        |    2 +-
 .../SubModules/SWFs/SubModuleTest_basic1.mxml   |    2 +-
 .../SubModules/SWFs/SubModuleTest_basic2.mxml   |    2 +-
 .../SubModules/SWFs/SubModuleTest_basic3.mxml   |    2 +-
 .../Modules/SubModules/SWFs/assets/SubApp1.mxml |    2 +-
 .../Modules/SubModules/SWFs/assets/SubApp2.mxml |    2 +-
 .../Modules/SubModules/SWFs/assets/SubApp3.mxml |    2 +-
 .../Modules/SubModules/SWFs/assets/SubApp4.mxml |    2 +-
 .../BasicTests/baselines/PopUpTest_AppStyle.png |  Bin 1591 -> 1661 bytes
 .../baselines/PopUpTest_ModuleStyle.png         |  Bin 4975 -> 5080 bytes
 .../BasicTests/baselines/createPopUpTest.png    |  Bin 1184 -> 1362 bytes
 .../BasicTests/baselines/loadFonts.png          |  Bin 25305 -> 24057 bytes
 .../perModuleStyleViaSkin_mod_loader.png        |  Bin 2855 -> 2943 bytes
 .../perModuleStyleViaSkin_mod_loader2.png       |  Bin 2804 -> 2925 bytes
 .../BasicTests/baselines/styleDeferred.png      |  Bin 3281 -> 3367 bytes
 .../PerModuleStyles/BasicTests/checkStyles.mxml |    2 +-
 .../PerModuleStyles/BasicTests/loadFonts.mxml   |    2 +-
 .../api/baselines/loadCSSModule_initial.png     |  Bin 48281 -> 49285 bytes
 .../api/baselines/loadCSSModule_loaded.png      |  Bin 55218 -> 59504 bytes
 .../api/baselines/loadCSSModule_unloaded.png    |  Bin 49030 -> 50063 bytes
 .../api/baselines/loadCSSSwf_SubApp.png         |  Bin 68928 -> 66532 bytes
 .../api/baselines/loadCSSSwf_SubApp@mac.png     |  Bin 63412 -> 0 bytes
 .../baselines/loadCSSSwf_SubAppEmbed_loaded.png |  Bin 59213 -> 61878 bytes
 .../api/baselines/loadCSSSwf_SubApp_initial.png |  Bin 70044 -> 0 bytes
 .../api/baselines/loadCSSSwf_SubApp_loaded.png  |  Bin 71854 -> 78245 bytes
 .../baselines/loadCSSSwf_SubApp_unloaded.png    |  Bin 63412 -> 66524 bytes
 .../api/baselines/loadCSSSwf_initial.png        |  Bin 43928 -> 45334 bytes
 .../api/baselines/loadCSSSwf_loaded.png         |  Bin 52869 -> 58115 bytes
 .../api/baselines/loadCSSSwf_unloaded.png       |  Bin 43928 -> 45334 bytes
 .../api/baselines/loadCSS_SubApp_initial.png    |  Bin 52093 -> 52428 bytes
 .../api/baselines/loadCSS_SubApp_loaded.png     |  Bin 59087 -> 62697 bytes
 .../api/baselines/loadCSS_SubApp_unloaded.png   |  Bin 52701 -> 53019 bytes
 .../baselines/modifyAppMergedStyle_after.png    |  Bin 8102 -> 14094 bytes
 .../baselines/modifyAppMergedStyle_before.png   |  Bin 8102 -> 14094 bytes
 .../api/baselines/modifyAppStyle_after.png      |  Bin 5011 -> 5504 bytes
 .../api/baselines/modifyAppStyle_before.png     |  Bin 8102 -> 14094 bytes
 .../baselines/modifyMergedModuleStyle_after.png |  Bin 19023 -> 19756 bytes
 .../modifyMergedModuleStyle_before.png          |  Bin 14973 -> 16285 bytes
 .../api/baselines/modifyModuleStyle_after.png   |  Bin 18710 -> 19399 bytes
 .../baselines/modifyModuleStyle_afterMerged.png |  Bin 17494 -> 18841 bytes
 .../api/baselines/modifyModuleStyle_before.png  |  Bin 14973 -> 16285 bytes
 .../tests/PerModuleStyles/api/loadCSSSwf.mxml   |    6 +-
 .../PerModuleStyles/api/loadCSSSwf_SubApp.mxml  |    8 +-
 .../api/modifyStyleDeclarationInApp.mxml        |    1 +
 .../baselines/styleInheritanceViaSkin.png       |  Bin 3933 -> 3997 bytes
 .../inheritance/checkInheritanceViaSkin.sh      |    4 +-
 .../checkModuleWithIsolateStylesOff.png         |  Bin 40153 -> 38522 bytes
 .../checkModuleWithIsolateStylesOff@mac.png     |  Bin 34258 -> 0 bytes
 .../merging/baselines/styleMerging.png          |  Bin 8377 -> 8881 bytes
 .../baselines/styleMergingChainSwf_loader.png   |  Bin 15204 -> 15821 bytes
 .../baselines/styleMergingChain_module.png      |  Bin 14880 -> 15856 bytes
 .../baselines/styleMergingChain_module@mac.png  |  Bin 15155 -> 0 bytes
 .../merging/baselines/styleMergingSwf.png       |  Bin 8377 -> 8881 bytes
 .../merging/baselines/styleMergingSwfModule.png |  Bin 11161 -> 14066 bytes
 .../baselines/styleMergingSwfModule@mac.png     |  Bin 13208 -> 0 bytes
 .../baselines/styleMergingSwfModule_module.png  |  Bin 10920 -> 12338 bytes
 .../baselines/styleMergingSwfModule_swf.png     |  Bin 10215 -> 12134 bytes
 .../baselines/styleMergingSwfModule_swf@mac.png |  Bin 11624 -> 0 bytes
 .../baselines/styleMergingSwfViaModule.png      |  Bin 27129 -> 25418 bytes
 .../baselines/styleMergingSwfViaModule@mac.png  |  Bin 20675 -> 0 bytes
 .../baselines/styleMergingSwf_loader.png        |  Bin 7453 -> 7787 bytes
 .../baselines/styleMergingVariousSelectors.png  |  Bin 31727 -> 30231 bytes
 .../styleMergingVariousSelectors@mac.png        |  Bin 27138 -> 0 bytes
 .../styleMergingVariousSelectors_module.png     |  Bin 40490 -> 38111 bytes
 .../styleMergingVariousSelectors_module@mac.png |  Bin 34258 -> 0 bytes
 .../merging/baselines/styleMerging_module.png   |  Bin 7399 -> 7646 bytes
 .../merging/checkMergingModuleViaSwf.mxml       |    8 +-
 .../merging/checkMergingSwfModule.mxml          |   13 +-
 .../checkMergingVariousCssSelectors.mxml        |   13 +-
 .../styleManager/currentStyleManager.mxml       |    2 +-
 .../styleManager/currentStyleManager2.mxml      |    4 +-
 .../styleManager/currentStyleManager3.mxml      |    2 +-
 .../Properties/PrintJob_Properties.mxml         |   57 +
 .../tests/Printing/SWFs/FlexPrintJob_Basic.mxml |   41 +
 ...L_ResourceBundleMetadata_frFR_Read_Halo.mxml |    2 +-
 ...ourceBundleMetadata_frFR_jaJP_enUS_Halo.mxml |    2 +-
 ...RTL_ATResource_Class_Bundle1_Property_fr.png |  Bin 189 -> 583 bytes
 ...ce_Class_ClassReference_Bundle1_Style_fr.png |  Bin 328 -> 336 bytes
 ..._ATResource_Class_Embed_Bundle1_Style_fr.png |  Bin 189 -> 583 bytes
 ...undleMetadata_Boolean_Bundle1_Style_en_1.png |  Bin 566 -> 571 bytes
 ...undleMetadata_Boolean_Bundle1_Style_en_2.png |  Bin 564 -> 566 bytes
 ...undleMetadata_Boolean_Bundle1_Style_fr_1.png |  Bin 564 -> 566 bytes
 ...data_Boolean_Bundle1_Style_fr_1_3Locales.png |  Bin 564 -> 566 bytes
 ...undleMetadata_Boolean_Bundle1_Style_fr_2.png |  Bin 566 -> 571 bytes
 ...data_Boolean_Bundle1_Style_fr_2_3Locales.png |  Bin 566 -> 571 bytes
 ...undleMetadata_Boolean_Bundle1_Style_ja_1.png |  Bin 566 -> 571 bytes
 ...undleMetadata_Boolean_Bundle1_Style_ja_2.png |  Bin 566 -> 571 bytes
 ...BundleMetadata_Class_Bundle1_Property_en.png |  Bin 616 -> 850 bytes
 ...BundleMetadata_Class_Bundle1_Property_fr.png |  Bin 189 -> 583 bytes
 ...BundleMetadata_Class_Bundle1_Property_ja.png |  Bin 316 -> 681 bytes
 ...ta_Class_ClassReference_Bundle1_Style_en.png |  Bin 331 -> 338 bytes
 ..._Class_ClassReference_Bundle1_Style_fr_2.png |  Bin 328 -> 336 bytes
 ...ta_Class_ClassReference_Bundle1_Style_ja.png |  Bin 229 -> 237 bytes
 ...dleMetadata_Class_Embed_Bundle1_Style_en.png |  Bin 616 -> 850 bytes
 ...dleMetadata_Class_Embed_Bundle1_Style_fr.png |  Bin 189 -> 583 bytes
 ...dleMetadata_Class_Embed_Bundle1_Style_ja.png |  Bin 316 -> 681 bytes
 .../RTL_Compiler_LocaleParams_2_Tester.mxml     |  114 +-
 .../RTL_Integration_ATResource_1Locale.mxml     |   46 +-
 ...egration_ResourceBundleMetadata_1Locale.mxml |   21 +-
 ...gration_ResourceBundleMetadata_3Locales.mxml |  110 +-
 .../framework/de_DE/textLayout.properties       |   55 +
 .../RTL_SparkSkin/SWFs/RTL_ATResource_frFR.mxml |   46 +-
 ...RTL_ResourceBundleMetadata_frFR_Read.compile |    1 +
 ...esourceBundleMetadata_frFR_jaJP_enUS.compile |    4 +-
 ...L_ResourceBundleMetadata_frFR_jaJP_enUS.mxml |   42 +-
 .../RTL_SparkSkin/SWFs/pre_compile.sh           |   18 +-
 .../Properties/Module_tester002.mxml            |    2 +-
 .../baselines/MixedLayoutModule000.png          |  Bin 6028 -> 5846 bytes
 .../SWFs/MixedLayoutModuleLoader.mxml           |   14 +-
 .../Events/SWFs/EventModuleLoader.mxml          |    2 +-
 .../baselines/modulesRSL001_comboModule.png     |  Bin 2854 -> 2627 bytes
 .../tests/SparkModules/RSLs/SWFs/MainApp.mxml   |   14 +
 .../RSLs/SWFs/assets/ComboModule.mxml           |    2 +-
 .../Integration/subModules_tester003.mxml       |  160 +-
 .../SubModules/SWFs/SubModuleTest_basic1.mxml   |    2 +-
 .../SubModules/SWFs/SubModuleTest_basic2.mxml   |    2 +-
 .../SubModules/SWFs/SubModuleTest_basic3.mxml   |   19 +-
 .../SWFs/assets/ModuleLoadSubApp2.mxml          |   17 +-
 .../SWFs/assets/ModuleLoadSubApp3.mxml          |   17 +-
 .../SubModules/SWFs/assets/SubApp1.mxml         |    2 +-
 .../SubModules/SWFs/assets/SubApp2.mxml         |    2 +-
 .../SubModules/SWFs/assets/SubApp3.mxml         |    2 +-
 .../SubModules/SWFs/assets/SubApp4.mxml         |    2 +-
 .../Validators_Properties_CreditCard.mxml       |   23 +-
 .../Validators_Properties_CreditCard_spark.mxml |   19 +-
 .../Properties/baselines/NumberRequired.png     |  Bin 3151 -> 3163 bytes
 .../baselines/NumberRequired_spark.png          |  Bin 3432 -> 3228 bytes
 .../Properties/baselines/invalidCardNumber.png  |  Bin 5029 -> 4830 bytes
 .../baselines/invalidCardNumber_spark.png       |  Bin 5477 -> 5314 bytes
 .../Properties/baselines/wrongLengthError.png   |  Bin 4243 -> 4058 bytes
 .../baselines/wrongLengthError_spark.png        |  Bin 4578 -> 4404 bytes
 .../Validators_Properties_Currency.mxml         |    6 +-
 .../Validators_Properties_Currency_spark.mxml   |    6 +-
 .../baselines/lowerThanMinError_spark.png       |  Bin 4346 -> 4111 bytes
 .../baselines/negativeError_spark.png           |  Bin 4340 -> 4304 bytes
 .../baselines/precisionError_spark.png          |  Bin 5415 -> 5136 bytes
 .../baselines/separationError_spark.png         |  Bin 5184 -> 4945 bytes
 .../Properties/baselines/dateFormat.png         |  Bin 5151 -> 4899 bytes
 .../Properties/baselines/wrongDayError.png      |  Bin 4905 -> 4708 bytes
 .../Properties/baselines/wrongMonthError.png    |  Bin 4643 -> 4439 bytes
 .../Properties/baselines/wrongYearError.png     |  Bin 5211 -> 4975 bytes
 .../baselines/invalidCharError_spark.png        |  Bin 4985 -> 5029 bytes
 .../baselines/invalidDomainError_spark.png      |  Bin 5338 -> 5439 bytes
 .../invalidPeriodsInDomainError_spark.png       |  Bin 5441 -> 5526 bytes
 .../baselines/missingAtSignError_spark.png      |  Bin 4976 -> 5041 bytes
 .../missingPeriodInDomainError_spark.png        |  Bin 5004 -> 5086 bytes
 .../baselines/missingUsernameError_spark.png    |  Bin 4976 -> 5041 bytes
 .../baselines/tooManyAtSignsError_spark.png     |  Bin 5252 -> 5306 bytes
 .../baselines/decimalPointCountError_spark.png  |  Bin 4562 -> 4260 bytes
 .../baselines/exceedsMaxError_spark.png         |  Bin 4083 -> 3969 bytes
 .../Properties/baselines/integerError_spark.png |  Bin 3955 -> 3953 bytes
 .../baselines/invalidCharError_spark.png        |  Bin 4132 -> 3941 bytes
 .../invalidFormatCharsError_Decimal_spark.png   |  Bin 5063 -> 4909 bytes
 .../invalidFormatCharsError_Thousand_spark.png  |  Bin 5039 -> 4882 bytes
 .../baselines/lowerThanMinError_spark.png       |  Bin 3877 -> 3737 bytes
 .../baselines/negativeError_spark.png           |  Bin 4001 -> 4016 bytes
 .../baselines/precisionError_spark.png          |  Bin 4422 -> 4265 bytes
 .../Properties/baselines/invalidCharError.png   |  Bin 4604 -> 4628 bytes
 .../Properties/baselines/wrongLengthError.png   |  Bin 4565 -> 4571 bytes
 .../Properties/baselines/invalidCharError.png   |  Bin 4914 -> 4787 bytes
 .../Properties/baselines/wrongFormatError.png   |  Bin 5082 -> 5032 bytes
 .../Properties/baselines/zeroStartError.png     |  Bin 4904 -> 4732 bytes
 .../Properties/baselines/tooLongError.png       |  Bin 5414 -> 5464 bytes
 .../Properties/baselines/tooLongError1.png      |  Bin 5177 -> 5224 bytes
 .../Properties/baselines/tooShortError.png      |  Bin 5180 -> 5216 bytes
 .../Properties/baselines/tooShortError1.png     |  Bin 5134 -> 5160 bytes
 .../DragManager_CustomTests_spark_AIR.mxml      |   33 +-
 ...gManager_custom_defaultDragImageSkin_AIR.png |  Bin 19757 -> 34938 bytes
 ...ager_custom_defaultDragImageSkin_AIR@win.png |  Bin 0 -> 34827 bytes
 .../properties/FileList_properties_tester.mxml  |   12 +-
 .../apollo/HTML/Events/AIRHTMLEventsTester.mxml |    6 +-
 .../apollo/Window/Events/AIR_Window_Events.mxml |    6 +-
 .../Properties/Window_properties_tester.mxml    |   20 +-
 .../Window_properties_tester_Spark.mxml         |   65 +-
 .../baselines/Window_default_height_Spark.png   |  Bin 939 -> 939 bytes
 .../Window_default_height_Spark@win.png         |  Bin 0 -> 708 bytes
 ...dow_properties_height_250_postOpen_Spark.png |  Bin 1227 -> 1229 bytes
 ...properties_height_250_postOpen_Spark@win.png |  Bin 0 -> 970 bytes
 .../Window_properties_height_500_Spark.png      |  Bin 1655 -> 1656 bytes
 .../Window_properties_height_500_Spark@win.png  |  Bin 0 -> 1398 bytes
 ...properties_showStatusBar_false_Spark@win.png |  Bin 0 -> 696 bytes
 ...ndow_properties_showStatusBar_true_Spark.png |  Bin 147 -> 146 bytes
 .../Window_properties_status_Spark.png          |  Bin 840 -> 504 bytes
 .../Window_properties_status_long_Spark.png     |  Bin 1675 -> 595 bytes
 .../Window_properties_titleIcon_Spark.png       |  Bin 1773 -> 1775 bytes
 .../Window_properties_titleIcon_Spark@win.png   |  Bin 0 -> 1531 bytes
 .../baselines/Window_properties_title_Spark.png |  Bin 1786 -> 1371 bytes
 .../Window_properties_title_Spark@win.png       |  Bin 0 -> 1168 bytes
 .../Window_properties_title_long_Spark.png      |  Bin 3098 -> 2598 bytes
 .../Window_properties_title_long_Spark@win.png  |  Bin 0 -> 2422 bytes
 .../Window_width_250_postOpen_Spark.png         |  Bin 1017 -> 1015 bytes
 .../Window_width_250_postOpen_Spark@win.png     |  Bin 0 -> 772 bytes
 .../baselines/Window_width_500_Spark.png        |  Bin 1163 -> 1167 bytes
 .../baselines/Window_width_500_Spark@win.png    |  Bin 0 -> 908 bytes
 .../apollo/Window/SWFs/AIR_Window_Basic.mxml    |    1 +
 .../apollo/Window/SWFs/AIR_Window_Basic_FC.mxml |    1 +
 .../apollo/Window/SWFs/NewWindow_Main.mxml      |    1 +
 .../Window/SWFs/NewWindow_Main_Spark.mxml       |    1 +
 .../apollo/Window/SWFs/Window_bindable.mxml     |    3 +-
 .../tests/apollo/Window/SWFs/Window_main.mxml   |    1 +
 .../apollo/Window/SWFs/Window_main_Spark.mxml   |    1 +
 .../Window/Styles/NewWindow_styles_tester.mxml  |   74 +-
 .../Styles/NewWindow_styles_tester_Spark.mxml   |  108 +-
 .../Styles/Window_styles_tester_Spark.mxml      |  102 +-
 .../NewWindow_styles_buttonAlignment_auto.png   |  Bin 1183 -> 1339 bytes
 ...ewWindow_styles_buttonAlignment_auto@win.png |  Bin 0 -> 924 bytes
 ...Window_styles_buttonAlignment_auto_Spark.png |  Bin 1204 -> 1202 bytes
 ...ow_styles_buttonAlignment_auto_Spark@win.png |  Bin 0 -> 942 bytes
 .../NewWindow_styles_buttonAlignment_left.png   |  Bin 1183 -> 1339 bytes
 ...ewWindow_styles_buttonAlignment_left@win.png |  Bin 0 -> 943 bytes
 ...Window_styles_buttonAlignment_left_Spark.png |  Bin 1204 -> 1202 bytes
 ...ow_styles_buttonAlignment_left_Spark@win.png |  Bin 0 -> 964 bytes
 .../NewWindow_styles_buttonAlignment_right.png  |  Bin 1164 -> 1317 bytes
 ...wWindow_styles_buttonAlignment_right@win.png |  Bin 0 -> 924 bytes
 ...indow_styles_buttonAlignment_right_Spark.png |  Bin 1178 -> 1178 bytes
 ...w_styles_buttonAlignment_right_Spark@win.png |  Bin 0 -> 942 bytes
 .../NewWindow_styles_closeButtonStyleName.png   |  Bin 2741 -> 2817 bytes
 ...ewWindow_styles_closeButtonStyleName@win.png |  Bin 0 -> 2521 bytes
 ...Window_styles_closeButtonStyleName_Spark.png |  Bin 2721 -> 3093 bytes
 ...ow_styles_closeButtonStyleName_Spark@win.png |  Bin 0 -> 2857 bytes
 .../NewWindow_styles_headerHeight_large.png     |  Bin 1841 -> 1417 bytes
 .../NewWindow_styles_headerHeight_large@win.png |  Bin 0 -> 1156 bytes
 ...ewWindow_styles_headerHeight_large_Spark.png |  Bin 1744 -> 1331 bytes
 ...ndow_styles_headerHeight_large_Spark@win.png |  Bin 0 -> 1133 bytes
 .../NewWindow_styles_headerHeight_small.png     |  Bin 1218 -> 1310 bytes
 .../NewWindow_styles_headerHeight_small@win.png |  Bin 0 -> 846 bytes
 ...ewWindow_styles_headerHeight_small_Spark.png |  Bin 1319 -> 1149 bytes
 ...ndow_styles_headerHeight_small_Spark@win.png |  Bin 0 -> 1010 bytes
 ...NewWindow_styles_maximizeButtonStyleName.png |  Bin 2811 -> 2871 bytes
 ...indow_styles_maximizeButtonStyleName@win.png |  Bin 0 -> 2568 bytes
 ...styles_maximizeButtonStyleName_Spark@win.png |  Bin 0 -> 2538 bytes
 ...NewWindow_styles_minimizeButtonStyleName.png |  Bin 2820 -> 2892 bytes
 ...indow_styles_minimizeButtonStyleName@win.png |  Bin 0 -> 2576 bytes
 ...styles_minimizeButtonStyleName_Spark@win.png |  Bin 0 -> 2560 bytes
 ...Window_styles_restoreButtonStyleName@win.png |  Bin 0 -> 1319 bytes
 ..._styles_restoreButtonStyleName_Spark@win.png |  Bin 0 -> 1319 bytes
 ...ow_styles_showFlexChrome_false_Spark@win.png |  Bin 0 -> 466 bytes
 .../NewWindow_styles_statusBackgroundSkin.png   |  Bin 1850 -> 2112 bytes
 ...ewWindow_styles_statusBackgroundSkin@win.png |  Bin 0 -> 1696 bytes
 ...Window_styles_statusBackgroundSkin_Spark.png |  Bin 1825 -> 1987 bytes
 ...ow_styles_statusBackgroundSkin_Spark@win.png |  Bin 0 -> 1730 bytes
 ...ewWindow_styles_statusBarBackgroundColor.png |  Bin 1186 -> 1341 bytes
 ...ndow_styles_statusBarBackgroundColor@win.png |  Bin 0 -> 926 bytes
 ...ow_styles_statusBarBackgroundColor_Spark.png |  Bin 1205 -> 1204 bytes
 ...tyles_statusBarBackgroundColor_Spark@win.png |  Bin 0 -> 943 bytes
 .../NewWindow_styles_statusTextStyleName.png    |  Bin 2692 -> 2120 bytes
 ...NewWindow_styles_statusTextStyleName@win.png |  Bin 0 -> 1711 bytes
 ...wWindow_styles_statusTextStyleName_Spark.png |  Bin 2573 -> 1991 bytes
 ...dow_styles_statusTextStyleName_Spark@win.png |  Bin 0 -> 1738 bytes
 .../NewWindow_styles_titleAlignment_center.png  |  Bin 1860 -> 1362 bytes
 ...wWindow_styles_titleAlignment_center@win.png |  Bin 0 -> 1115 bytes
 ...indow_styles_titleAlignment_center_Spark.png |  Bin 1726 -> 1282 bytes
 ...w_styles_titleAlignment_center_Spark@win.png |  Bin 0 -> 1089 bytes
 .../NewWindow_styles_titleAlignment_left.png    |  Bin 1876 -> 1300 bytes
 ...NewWindow_styles_titleAlignment_left@win.png |  Bin 0 -> 1071 bytes
 ...wWindow_styles_titleAlignment_left_Spark.png |  Bin 1668 -> 1225 bytes
 ...dow_styles_titleAlignment_left_Spark@win.png |  Bin 0 -> 1045 bytes
 .../NewWindow_styles_titleBarBackgroundSkin.png |  Bin 2521 -> 1956 bytes
 ...Window_styles_titleBarBackgroundSkin@win.png |  Bin 0 -> 1750 bytes
 ...ndow_styles_titleBarBackgroundSkin_Spark.png |  Bin 2458 -> 1956 bytes
 ..._styles_titleBarBackgroundSkin_Spark@win.png |  Bin 0 -> 1748 bytes
 .../NewWindow_styles_titleBarColors.png         |  Bin 1328 -> 1170 bytes
 .../NewWindow_styles_titleBarColors@win.png     |  Bin 0 -> 892 bytes
 .../NewWindow_styles_titleBarColors_Spark.png   |  Bin 1134 -> 1026 bytes
 ...ewWindow_styles_titleBarColors_Spark@win.png |  Bin 0 -> 794 bytes
 .../NewWindow_styles_titleTextStyleName.png     |  Bin 2060 -> 1576 bytes
 .../NewWindow_styles_titleTextStyleName@win.png |  Bin 0 -> 1271 bytes
 ...ewWindow_styles_titleTextStyleName_Spark.png |  Bin 1923 -> 1494 bytes
 ...ndow_styles_titleTextStyleName_Spark@win.png |  Bin 0 -> 1245 bytes
 ...Window_styles_buttonAlignment_auto_Spark.png |  Bin 1579 -> 1580 bytes
 ...ow_styles_buttonAlignment_auto_Spark@win.png |  Bin 0 -> 1323 bytes
 ...Window_styles_buttonAlignment_left_Spark.png |  Bin 1579 -> 1580 bytes
 ...ow_styles_buttonAlignment_left_Spark@win.png |  Bin 0 -> 1348 bytes
 ...indow_styles_buttonAlignment_right_Spark.png |  Bin 1550 -> 1552 bytes
 ...w_styles_buttonAlignment_right_Spark@win.png |  Bin 0 -> 1323 bytes
 ...ow_styles_closeButtonStyleName_Spark@win.png |  Bin 0 -> 2616 bytes
 .../Window_styles_headerHeight_large_Spark.png  |  Bin 1781 -> 1370 bytes
 ...ndow_styles_headerHeight_large_Spark@win.png |  Bin 0 -> 1169 bytes
 .../Window_styles_headerHeight_small_Spark.png  |  Bin 1677 -> 1509 bytes
 ...ndow_styles_headerHeight_small_Spark@win.png |  Bin 0 -> 1373 bytes
 ...styles_maximizeButtonStyleName_Spark@win.png |  Bin 0 -> 2690 bytes
 ...styles_minimizeButtonStyleName_Spark@win.png |  Bin 0 -> 2676 bytes
 ..._styles_restoreButtonStyleName_Spark@win.png |  Bin 0 -> 1319 bytes
 ...Window_styles_statusBackgroundSkin_Spark.png |  Bin 2208 -> 2383 bytes
 ...ow_styles_statusBackgroundSkin_Spark@win.png |  Bin 0 -> 2107 bytes
 ...ow_styles_statusBarBackgroundColor_Spark.png |  Bin 1579 -> 1582 bytes
 ...tyles_statusBarBackgroundColor_Spark@win.png |  Bin 0 -> 1324 bytes
 .../Window_styles_statusTextStyleName_Spark.png |  Bin 3005 -> 2405 bytes
 ...dow_styles_statusTextStyleName_Spark@win.png |  Bin 0 -> 2141 bytes
 ...indow_styles_titleAlignment_center_Spark.png |  Bin 1834 -> 1401 bytes
 ...w_styles_titleAlignment_center_Spark@win.png |  Bin 0 -> 1198 bytes
 .../Window_styles_titleAlignment_left_Spark.png |  Bin 1784 -> 1347 bytes
 ...dow_styles_titleAlignment_left_Spark@win.png |  Bin 0 -> 1144 bytes
 ...ndow_styles_titleBarBackgroundSkin_Spark.png |  Bin 2474 -> 1972 bytes
 ..._styles_titleBarBackgroundSkin_Spark@win.png |  Bin 0 -> 1848 bytes
 .../Window_styles_titleBarColors_Spark.png      |  Bin 1149 -> 1044 bytes
 .../Window_styles_titleBarColors_Spark@win.png  |  Bin 0 -> 819 bytes
 .../Window_styles_titleTextStyleName_Spark.png  |  Bin 1941 -> 1531 bytes
 ...ndow_styles_titleTextStyleName_Spark@win.png |  Bin 0 -> 1272 bytes
 .../Events/AIR_WindowedApplication_Events.mxml  |    4 +-
 .../AIR_WindowedApplication_Properties.mxml     |   77 +-
 ...IR_WindowedApplication_Properties_Spark.mxml |   77 +-
 .../baselines/Spark/showStatusBarFalse.png      |  Bin 0 -> 874 bytes
 .../baselines/Spark/showStatusBarFalse@win.png  |  Bin 0 -> 654 bytes
 .../baselines/Spark/showStatusBarTrue.png       |  Bin 0 -> 886 bytes
 .../baselines/Spark/showStatusBarTrue@win.png   |  Bin 0 -> 911 bytes
 .../Properties/baselines/Spark/status1.png      |  Bin 0 -> 1010 bytes
 .../Properties/baselines/Spark/status1@win.png  |  Bin 0 -> 1033 bytes
 .../Properties/baselines/Spark/status2.png      |  Bin 0 -> 963 bytes
 .../Properties/baselines/Spark/status2@win.png  |  Bin 0 -> 736 bytes
 .../Properties/baselines/Spark/status3.png      |  Bin 0 -> 983 bytes
 .../Properties/baselines/Spark/status3@win.png  |  Bin 0 -> 834 bytes
 .../Properties/baselines/Spark/title1.png       |  Bin 0 -> 1300 bytes
 .../Properties/baselines/Spark/title1@win.png   |  Bin 0 -> 1119 bytes
 .../Properties/baselines/Spark/title2.png       |  Bin 0 -> 874 bytes
 .../Properties/baselines/Spark/title2@win.png   |  Bin 0 -> 654 bytes
 .../Properties/baselines/Spark/title3.png       |  Bin 0 -> 1002 bytes
 .../Properties/baselines/Spark/title3@win.png   |  Bin 0 -> 784 bytes
 .../Properties/baselines/Spark/titleIcon.png    |  Bin 0 -> 1786 bytes
 .../baselines/Spark/titleIcon@win.png           |  Bin 0 -> 1586 bytes
 .../baselines/showFlexChrome_false.png          |  Bin 1340 -> 1343 bytes
 .../baselines/showFlexChrome_false_Spark.png    |  Bin 1347 -> 1352 bytes
 .../Properties/baselines/showStatusBarFalse.png |  Bin 1001 -> 999 bytes
 .../baselines/showStatusBarFalse@win.png        |  Bin 0 -> 790 bytes
 .../baselines/showStatusBarFalse_Spark.png      |  Bin 874 -> 0 bytes
 .../Properties/baselines/showStatusBarTrue.png  |  Bin 1131 -> 1019 bytes
 .../baselines/showStatusBarTrue@win.png         |  Bin 0 -> 1057 bytes
 .../baselines/showStatusBarTrue_Spark.png       |  Bin 1015 -> 0 bytes
 .../Properties/baselines/status1.png            |  Bin 1329 -> 1136 bytes
 .../Properties/baselines/status1@win.png        |  Bin 0 -> 1173 bytes
 .../Properties/baselines/status1_Spark.png      |  Bin 1135 -> 0 bytes
 .../Properties/baselines/status2.png            |  Bin 1177 -> 1086 bytes
 .../Properties/baselines/status2@win.png        |  Bin 0 -> 871 bytes
 .../Properties/baselines/status2_Spark.png      |  Bin 965 -> 0 bytes
 .../Properties/baselines/status3.png            |  Bin 1208 -> 1107 bytes
 .../Properties/baselines/status3@win.png        |  Bin 0 -> 968 bytes
 .../Properties/baselines/status3_Spark.png      |  Bin 987 -> 0 bytes
 .../Properties/baselines/title1.png             |  Bin 1879 -> 1423 bytes
 .../Properties/baselines/title1@win.png         |  Bin 0 -> 1238 bytes
 .../Properties/baselines/title1_Spark.png       |  Bin 1695 -> 0 bytes
 .../Properties/baselines/title2.png             |  Bin 1001 -> 999 bytes
 .../Properties/baselines/title2@win.png         |  Bin 0 -> 790 bytes
 .../Properties/baselines/title2_Spark.png       |  Bin 874 -> 0 bytes
 .../Properties/baselines/title3.png             |  Bin 1205 -> 1119 bytes
 .../Properties/baselines/title3@win.png         |  Bin 0 -> 909 bytes
 .../Properties/baselines/title3_Spark.png       |  Bin 1004 -> 0 bytes
 .../Properties/baselines/titleIcon.png          |  Bin 2142 -> 2054 bytes
 .../Properties/baselines/titleIcon@win.png      |  Bin 0 -> 1871 bytes
 .../Properties/baselines/titleIcon_Spark.png    |  Bin 1788 -> 0 bytes
 .../SWFs/AIR_WindowedApplication_Basic.mxml     |    1 +
 .../AIR_WindowedApplication_Basic_Spark.mxml    |    1 +
 .../AIR_WindowedApplication_Basic_Styles.mxml   |    1 +
 ..._WindowedApplication_Basic_Styles_Spark.mxml |    1 +
 .../AIR_WindowedApplication_showFlexChrome.mxml |    1 +
 ...indowedApplication_showFlexChrome_Spark.mxml |    1 +
 .../WindowedApplication/SWFs/MyCompareBitmap.as |   58 +
 .../SWFs/WindowedApplication_Bindable.mxml      |    1 +
 .../SWFs/WindowedApplication_main.mxml          |    1 +
 .../SWFs/WindowedApplication_main_Spark.mxml    |    1 +
 .../AIR_WindowedApplication_ButtonStyles.mxml   |    2 +-
 .../Styles/AIR_WindowedApplication_Styles.mxml  |   78 +-
 .../AIR_WindowedApplication_Styles_Spark.mxml   |   78 +-
 .../WindowedApp_backgroundStyles_tester.mxml    |   10 +-
 .../baselines/Spark/buttonAlignment_auto.png    |  Bin 0 -> 2557 bytes
 .../Spark/buttonAlignment_auto@win.png          |  Bin 0 -> 2300 bytes
 .../baselines/Spark/buttonAlignment_left.png    |  Bin 0 -> 733 bytes
 .../Spark/buttonAlignment_left@win.png          |  Bin 0 -> 526 bytes
 .../baselines/Spark/buttonAlignment_right.png   |  Bin 0 -> 718 bytes
 .../Spark/buttonAlignment_right@win.png         |  Bin 0 -> 503 bytes
 .../baselines/Spark/headerHeight_large.png      |  Bin 0 -> 1271 bytes
 .../baselines/Spark/headerHeight_large@win.png  |  Bin 0 -> 1048 bytes
 .../baselines/Spark/headerHeight_small.png      |  Bin 0 -> 2357 bytes
 .../baselines/Spark/headerHeight_small@win.png  |  Bin 0 -> 2254 bytes
 .../baselines/Spark/statusBackgroundSkin.png    |  Bin 0 -> 3879 bytes
 .../Spark/statusBackgroundSkin@win.png          |  Bin 0 -> 3615 bytes
 .../Spark/statusBarBackgroundColor.png          |  Bin 0 -> 3040 bytes
 .../Spark/statusBarBackgroundColor@win.png      |  Bin 0 -> 2784 bytes
 .../baselines/Spark/statusTextStyleName.png     |  Bin 0 -> 4936 bytes
 .../baselines/Spark/statusTextStyleName@win.png |  Bin 0 -> 4670 bytes
 .../baselines/Spark/titleAlignment_center.png   |  Bin 0 -> 1382 bytes
 .../Spark/titleAlignment_center@win.png         |  Bin 0 -> 1178 bytes
 .../baselines/Spark/titleAlignment_left.png     |  Bin 0 -> 1363 bytes
 .../baselines/Spark/titleAlignment_left@win.png |  Bin 0 -> 1171 bytes
 .../baselines/Spark/titleBarBackgroundSkin.png  |  Bin 0 -> 2074 bytes
 .../Spark/titleBarBackgroundSkin@win.png        |  Bin 0 -> 1646 bytes
 .../Styles/baselines/Spark/titleBarColors.png   |  Bin 0 -> 1530 bytes
 .../baselines/Spark/titleBarColors@win.png      |  Bin 0 -> 1298 bytes
 .../baselines/Spark/titleTextStyleName.png      |  Bin 0 -> 1620 bytes
 .../baselines/Spark/titleTextStyleName@win.png  |  Bin 0 -> 1395 bytes
 .../Styles/baselines/buttonAlignment_auto.png   |  Bin 2616 -> 2620 bytes
 .../baselines/buttonAlignment_auto@win.png      |  Bin 0 -> 2376 bytes
 .../baselines/buttonAlignment_auto_Spark.png    |  Bin 2550 -> 0 bytes
 .../baselines/buttonAlignment_left@win.png      |  Bin 0 -> 644 bytes
 .../baselines/buttonAlignment_left_Spark.png    |  Bin 733 -> 0 bytes
 .../baselines/buttonAlignment_right@win.png     |  Bin 0 -> 626 bytes
 .../baselines/buttonAlignment_right_Spark.png   |  Bin 718 -> 0 bytes
 .../Styles/baselines/closeButtonStyleName.png   |  Bin 1312 -> 1187 bytes
 .../Styles/baselines/headerHeight_large.png     |  Bin 1805 -> 1365 bytes
 .../Styles/baselines/headerHeight_large@win.png |  Bin 0 -> 1161 bytes
 .../baselines/headerHeight_large_Spark.png      |  Bin 1628 -> 0 bytes
 .../Styles/baselines/headerHeight_small.png     |  Bin 2898 -> 2581 bytes
 .../Styles/baselines/headerHeight_small@win.png |  Bin 0 -> 2461 bytes
 .../baselines/headerHeight_small_Spark.png      |  Bin 2492 -> 0 bytes
 .../baselines/maximizeButtonStyleName.png       |  Bin 1312 -> 1187 bytes
 .../baselines/minimizeButtonStyleName.png       |  Bin 1312 -> 1187 bytes
 ...r_backgroundAlpha_setStyle_runtime_1_win.png |  Bin 0 -> 4370 bytes
 ...r_backgroundAlpha_setStyle_runtime_2_win.png |  Bin 0 -> 4569 bytes
 ...Color_backgroundAlpha_setStyle_runtime_1.png |  Bin 2491 -> 1684 bytes
 ...r_backgroundAlpha_setStyle_runtime_1_win.png |  Bin 0 -> 1684 bytes
 ...Color_backgroundAlpha_setStyle_runtime_2.png |  Bin 2562 -> 2575 bytes
 ...r_backgroundAlpha_setStyle_runtime_2_win.png |  Bin 0 -> 1759 bytes
 .../Styles/baselines/restoreButtonStyleName.png |  Bin 1312 -> 1187 bytes
 .../Styles/baselines/statusBackgroundSkin.png   |  Bin 4284 -> 3907 bytes
 .../baselines/statusBackgroundSkin@win.png      |  Bin 0 -> 3651 bytes
 .../baselines/statusBackgroundSkin_Spark.png    |  Bin 4098 -> 0 bytes
 .../baselines/statusBarBackgroundColor.png      |  Bin 3536 -> 3077 bytes
 .../baselines/statusBarBackgroundColor@win.png  |  Bin 0 -> 2831 bytes
 .../statusBarBackgroundColor_Spark.png          |  Bin 3412 -> 0 bytes
 .../Styles/baselines/statusTextStyleName.png    |  Bin 5818 -> 4916 bytes
 .../baselines/statusTextStyleName@win.png       |  Bin 0 -> 4668 bytes
 .../baselines/statusTextStyleName_Spark.png     |  Bin 5657 -> 0 bytes
 .../Styles/baselines/titleAlignment_center.png  |  Bin 2175 -> 1478 bytes
 .../baselines/titleAlignment_center@win.png     |  Bin 0 -> 1277 bytes
 .../baselines/titleAlignment_center_Spark.png   |  Bin 1940 -> 0 bytes
 .../Styles/baselines/titleAlignment_left.png    |  Bin 2191 -> 1464 bytes
 .../baselines/titleAlignment_left@win.png       |  Bin 0 -> 1264 bytes
 .../baselines/titleAlignment_left_Spark.png     |  Bin 1949 -> 0 bytes
 .../Styles/baselines/titleBarBackgroundSkin.png |  Bin 2487 -> 2074 bytes
 .../baselines/titleBarBackgroundSkin@win.png    |  Bin 0 -> 1656 bytes
 .../baselines/titleBarBackgroundSkin_Spark.png  |  Bin 2462 -> 0 bytes
 .../Styles/baselines/titleBarColors.png         |  Bin 2180 -> 1683 bytes
 .../Styles/baselines/titleBarColors@win.png     |  Bin 0 -> 1449 bytes
 .../Styles/baselines/titleBarColors_Spark.png   |  Bin 1890 -> 0 bytes
 .../Styles/baselines/titleTextStyleName.png     |  Bin 2404 -> 1716 bytes
 .../Styles/baselines/titleTextStyleName@win.png |  Bin 0 -> 1492 bytes
 .../baselines/titleTextStyleName_Spark.png      |  Bin 2157 -> 0 bytes
 .../WindowedSystemRawChildrenList_Methods.mxml  |    6 +-
 .../Window/SWFs/comps/WindowWithModule.mxml     |    2 +-
 .../Window/SWFs/window_basic_005.mxml           |   13 +
 .../Window/SWFs/window_basic_flexchrome.mxml    |    4 +-
 .../Window/events/window_events_tester.mxml     |    6 +-
 .../Window/events/window_events_tester2.mxml    |    7 +-
 .../Window_integration_basiclayout_1.png        |  Bin 1603 -> 1584 bytes
 .../Window_integration_basiclayout_1_mac.png    |  Bin 1709 -> 1584 bytes
 .../Window_integration_basiclayout_2.png        |  Bin 2638 -> 2606 bytes
 .../Window_integration_basiclayout_2_mac.png    |  Bin 2751 -> 2606 bytes
 .../Window_integration_basiclayout_3.png        |  Bin 4808 -> 4774 bytes
 .../Window_integration_basiclayout_3_mac.png    |  Bin 4869 -> 4774 bytes
 .../Window_integration_basiclayout_4.png        |  Bin 3629 -> 3584 bytes
 .../Window_integration_basiclayout_4_mac.png    |  Bin 3647 -> 3584 bytes
 .../baselines/Window_integration_module_1.png   |  Bin 8128 -> 7938 bytes
 .../Window_integration_module_1_mac.png         |  Bin 8205 -> 7938 bytes
 .../baselines/Window_integration_scroller_1.png |  Bin 3557 -> 3594 bytes
 .../Window_integration_scroller_1_mac.png       |  Bin 3526 -> 3594 bytes
 .../baselines/Window_integration_scroller_2.png |  Bin 3557 -> 3594 bytes
 .../Window_integration_scroller_2_mac.png       |  Bin 3526 -> 3594 bytes
 .../baselines/Window_integration_scroller_3.png |  Bin 2902 -> 2929 bytes
 .../Window_integration_scroller_3_mac.png       |  Bin 2841 -> 2929 bytes
 .../baselines/Window_integration_scroller_4.png |  Bin 3557 -> 3594 bytes
 .../Window_integration_scroller_4_mac.png       |  Bin 3526 -> 3594 bytes
 .../baselines/Window_integration_states_1.png   |  Bin 5458 -> 8986 bytes
 .../Window_integration_states_1_mac.png         |  Bin 9928 -> 9223 bytes
 .../baselines/Window_integration_states_2.png   |  Bin 9671 -> 9279 bytes
 .../Window_integration_states_2_mac.png         |  Bin 10002 -> 9507 bytes
 .../baselines/Window_integration_states_3.png   |  Bin 2448 -> 2414 bytes
 .../Window_integration_states_3_mac.png         |  Bin 2696 -> 2659 bytes
 .../baselines/Window_integration_states_4.png   |  Bin 2449 -> 2415 bytes
 .../Window_integration_states_4_mac.png         |  Bin 2697 -> 2661 bytes
 .../integration/window_integration_module.mxml  |    1 +
 .../window_integration_scroller.mxml            |    3 +-
 .../integration/window_integration_states.mxml  |   12 +-
 .../baselines/getCurrentSkinState_test1.png     |  Bin 2448 -> 2414 bytes
 .../baselines/getCurrentSkinState_test1_mac.png |  Bin 2696 -> 2659 bytes
 .../baselines/getCurrentSkinState_test2.png     |  Bin 2449 -> 2415 bytes
 .../baselines/getCurrentSkinState_test2_mac.png |  Bin 2697 -> 2661 bytes
 .../baselines/method_addElementAt_test1.png     |  Bin 9846 -> 9670 bytes
 .../baselines/method_addElementAt_test2.png     |  Bin 9848 -> 9671 bytes
 .../baselines/method_addElementAt_test2_mac.png |  Bin 9857 -> 9671 bytes
 .../baselines/method_addElementAt_test3.png     |  Bin 9485 -> 9283 bytes
 .../baselines/method_addElementAt_test3_mac.png |  Bin 9483 -> 9283 bytes
 .../baselines/method_addElementAt_test4.png     |  Bin 9485 -> 9283 bytes
 .../baselines/method_addElementAt_test4_mac.png |  Bin 9483 -> 9283 bytes
 .../baselines/method_addElement_test1.png       |  Bin 11029 -> 10778 bytes
 .../baselines/method_addElement_test1_mac.png   |  Bin 9283 -> 10778 bytes
 .../method_createDeferredContent_test2.png      |  Bin 2889 -> 2768 bytes
 .../method_createDeferredContent_test3.png      |  Bin 2889 -> 2768 bytes
 .../method_createDeferredContent_test4.png      |  Bin 4461 -> 4236 bytes
 .../method_createDeferredContent_test5.png      |  Bin 2889 -> 2768 bytes
 .../method_createDeferredContent_test6.png      |  Bin 4461 -> 4236 bytes
 .../baselines/method_removeElementAt_test1.png  |  Bin 4186 -> 4208 bytes
 .../method_removeElementAt_test1_mac.png        |  Bin 4186 -> 4208 bytes
 .../baselines/method_removeElementAt_test3.png  |  Bin 9485 -> 9283 bytes
 .../method_removeElementAt_test3_mac.png        |  Bin 9483 -> 9283 bytes
 .../baselines/method_removeElementAt_test4.png  |  Bin 9485 -> 9283 bytes
 .../method_removeElementAt_test4_mac.png        |  Bin 9483 -> 9283 bytes
 .../baselines/method_removeElement_test1.png    |  Bin 9485 -> 9283 bytes
 .../method_removeElement_test1_mac.png          |  Bin 9483 -> 9283 bytes
 .../baselines/method_removeElement_test3.png    |  Bin 9485 -> 9283 bytes
 .../method_removeElement_test3_mac.png          |  Bin 9483 -> 9283 bytes
 .../baselines/method_removeElement_test4.png    |  Bin 9485 -> 9283 bytes
 .../method_removeElement_test4_mac.png          |  Bin 9483 -> 9283 bytes
 .../methods/baselines/method_restore_test1.png  |  Bin 4505 -> 4315 bytes
 .../methods/baselines/method_restore_test2.png  |  Bin 4834 -> 4645 bytes
 .../methods/window_methods_elementRelated.mxml  |    3 +
 .../methods/window_methods_maximize_tests.mxml  |   12 +-
 .../methods/window_methods_minimize_tests.mxml  |   18 +-
 .../Window/methods/window_methods_move.mxml     |    4 +-
 .../baselines/Window_layoutDirection_rtl1.png   |  Bin 3371 -> 3385 bytes
 .../baselines/Window_layoutDirection_rtl2.png   |  Bin 8322 -> 8268 bytes
 .../baselines/Window_layoutDirection_rtl3.png   |  Bin 1888 -> 1853 bytes
 .../baselines/Window_layoutDirection_rtl4.png   |  Bin 8129 -> 7938 bytes
 .../Window_layoutDirection_rtl4_mac.png         |  Bin 1883 -> 7938 bytes
 .../baselines/Window_layoutDirection_style1.png |  Bin 3715 -> 3746 bytes
 .../baselines/Window_layoutDirection_style2.png |  Bin 3715 -> 3746 bytes
 .../baselines/Window_mirroring_addElement1.png  |  Bin 10161 -> 10156 bytes
 .../Window_mirroring_addElement1_mac.png        |  Bin 10111 -> 10156 bytes
 .../baselines/Window_mirroring_addElement2.png  |  Bin 10177 -> 10164 bytes
 .../Window_mirroring_addElement2_mac.png        |  Bin 10108 -> 10164 bytes
 .../baselines/Window_mirroring_addElement3.png  |  Bin 2698 -> 2717 bytes
 .../baselines/Window_mirroring_addElement4.png  |  Bin 2723 -> 2746 bytes
 .../baselines/Window_mirroring_constraints1.png |  Bin 8213 -> 8198 bytes
 .../Window_mirroring_constraints1_mac.png       |  Bin 8179 -> 8198 bytes
 .../baselines/Window_mirroring_constraints2.png |  Bin 7156 -> 7082 bytes
 .../Window_mirroring_constraints2_mac.png       |  Bin 6947 -> 7082 bytes
 .../baselines/Window_mirroring_constraints3.png |  Bin 7058 -> 7036 bytes
 .../Window_mirroring_constraints3_mac.png       |  Bin 7045 -> 7036 bytes
 .../baselines/Window_mirroring_constraints4.png |  Bin 7156 -> 7082 bytes
 .../Window_mirroring_constraints4_mac.png       |  Bin 7043 -> 7082 bytes
 .../baselines/Window_mirroring_contents1.png    |  Bin 9219 -> 9174 bytes
 .../Window_mirroring_contents1_mac.png          |  Bin 9076 -> 9174 bytes
 .../baselines/Window_mirroring_inheritance1.png |  Bin 2924 -> 2887 bytes
 .../Window_mirroring_inheritance1_mac.png       |  Bin 3339 -> 2887 bytes
 .../baselines/Window_mirroring_scroller_1.png   |  Bin 3552 -> 3623 bytes
 .../baselines/Window_mirroring_scroller_2.png   |  Bin 3552 -> 3623 bytes
 .../baselines/Window_mirroring_scroller_3.png   |  Bin 2885 -> 2944 bytes
 .../Window_mirroring_scroller_3_mac.png         |  Bin 2915 -> 2944 bytes
 .../baselines/Window_mirroring_scroller_4.png   |  Bin 3552 -> 3623 bytes
 .../Window_mirroring_scroller_4_mac.png         |  Bin 3629 -> 3623 bytes
 .../baselines/Window_mirroring_sparkChrome1.png |  Bin 8825 -> 8739 bytes
 .../Window_mirroring_sparkChrome1_mac.png       |  Bin 8861 -> 8913 bytes
 .../baselines/Window_mirroring_sparkChrome2.png |  Bin 10249 -> 9766 bytes
 .../Window_mirroring_sparkChrome2_mac.png       |  Bin 10111 -> 9934 bytes
 .../baselines/Window_mirroring_titleIcon1.png   |  Bin 8825 -> 8739 bytes
 .../Window_mirroring_titleIcon1_mac.png         |  Bin 8864 -> 8913 bytes
 .../baselines/Window_mirroring_titleIcon2.png   |  Bin 8988 -> 9666 bytes
 .../Window_mirroring_titleIcon2_mac.png         |  Bin 9059 -> 9899 bytes
 .../baselines/Window_mirroring_titleIcon3.png   |  Bin 8966 -> 9716 bytes
 .../Window_mirroring_titleIcon3_mac.png         |  Bin 9013 -> 9922 bytes
 .../baselines/Window_mirroring_update1.png      |  Bin 9219 -> 9174 bytes
 .../baselines/Window_mirroring_update1_mac.png  |  Bin 9076 -> 9174 bytes
 .../baselines/Window_mirroring_update2.png      |  Bin 9224 -> 9176 bytes
 .../baselines/Window_mirroring_update2_mac.png  |  Bin 9076 -> 9176 bytes
 .../mirroring/window_mirroring_tester1.mxml     |   18 +-
 .../baselines/backgroundColor_test2.png         |  Bin 4982 -> 4733 bytes
 .../baselines/backgroundColor_test3.png         |  Bin 4836 -> 4601 bytes
 .../baselines/height_test3_SparkChrome.png      |  Bin 80 -> 80 bytes
 .../baselines/height_test3_SparkChrome_mac.png  |  Bin 80 -> 80 bytes
 .../height_test3_windowedApplicationSkin.png    |  Bin 74 -> 74 bytes
 .../baselines/height_test4_SparkChrome.png      |  Bin 1058 -> 1111 bytes
 .../baselines/height_test4_SparkChrome_mac.png  |  Bin 1361 -> 1088 bytes
 .../height_test4_windowedApplicationSkin.png    |  Bin 346 -> 346 bytes
 .../baselines/height_test5_SparkChrome.png      |  Bin 1703 -> 1753 bytes
 .../baselines/height_test5_SparkChrome_mac.png  |  Bin 2022 -> 1750 bytes
 .../height_test5_windowedApplicationSkin.png    |  Bin 570 -> 570 bytes
 .../baselines/height_test6_SparkChrome.png      |  Bin 1517 -> 1568 bytes
 .../baselines/height_test6_SparkChrome_mac.png  |  Bin 1634 -> 1409 bytes
 .../height_test6_windowedApplicationSkin.png    |  Bin 524 -> 525 bytes
 .../baselines/height_test7_SparkChrome.png      |  Bin 1535 -> 1587 bytes
 .../baselines/height_test7_SparkChrome_mac.png  |  Bin 1848 -> 1575 bytes
 .../height_test7_windowedApplicationSkin.png    |  Bin 591 -> 597 bytes
 .../maximizable_false_test4_SparkChrome_mac.png |  Bin 286 -> 259 bytes
 .../minimizable_false_test4_SparkChrome.png     |  Bin 2006 -> 2144 bytes
 .../minimizable_false_test4_SparkChrome_mac.png |  Bin 2946 -> 2838 bytes
 .../minimizable_true_test4_SparkChrome.png      |  Bin 2369 -> 2475 bytes
 .../minimizable_true_test4_SparkChrome_mac.png  |  Bin 3188 -> 3190 bytes
 .../minimizable_true_test4_WindowedAppSkin.png  |  Bin 1879 -> 1827 bytes
 .../nochangeable_property_maximizable1.png      |  Bin 1991 -> 2125 bytes
 .../nochangeable_property_maximizable1_mac.png  |  Bin 2791 -> 2690 bytes
 .../nochangeable_property_minimizable1.png      |  Bin 1991 -> 2125 bytes
 .../nochangeable_property_minimizable1_mac.png  |  Bin 2791 -> 2690 bytes
 .../nochangeable_property_resizable1.png        |  Bin 1991 -> 2125 bytes
 .../nochangeable_property_resizable1_mac.png    |  Bin 2791 -> 2690 bytes
 .../nochangeable_property_transparent1.png      |  Bin 1991 -> 2125 bytes
 .../nochangeable_property_transparent1_mac.png  |  Bin 2791 -> 2690 bytes
 .../baselines/nochangeable_property_type1.png   |  Bin 1991 -> 2125 bytes
 .../nochangeable_property_type1_mac.png         |  Bin 2791 -> 2690 bytes
 .../baselines/property_StatusString_test1.png   |  Bin 2846 -> 3398 bytes
 .../property_StatusString_test1_mac.png         |  Bin 3188 -> 6440 bytes
 .../property_showStatusBar_resize1.png          |  Bin 10077 -> 10514 bytes
 .../property_showStatusBar_resize1_mac.png      |  Bin 14452 -> 14460 bytes
 .../property_showStatusBar_resize2.png          |  Bin 3390 -> 3907 bytes
 .../property_showStatusBar_resize2_mac.png      |  Bin 6996 -> 6990 bytes
 .../property_showStatusBar_resize3.png          |  Bin 7078 -> 7413 bytes
 .../property_showStatusBar_resize3_mac.png      |  Bin 9053 -> 9083 bytes
 .../baselines/property_showStatusBar_test0.png  |  Bin 2369 -> 2475 bytes
 .../property_showStatusBar_test0_mac.png        |  Bin 3286 -> 3190 bytes
 .../baselines/property_showStatusBar_test1.png  |  Bin 2593 -> 2868 bytes
 .../property_showStatusBar_test1_mac.png        |  Bin 3188 -> 4641 bytes
 .../baselines/property_showStatusBar_test2.png  |  Bin 2115 -> 2215 bytes
 .../property_showStatusBar_test2_mac.png        |  Bin 3188 -> 2945 bytes
 .../property_showStatusBar_update1.png          |  Bin 6978 -> 7440 bytes
 .../property_showStatusBar_update1_mac.png      |  Bin 8715 -> 11057 bytes
 .../property_showStatusBar_update2.png          |  Bin 7078 -> 7413 bytes
 .../property_showStatusBar_update2_mac.png      |  Bin 8715 -> 9083 bytes
 .../baselines/property_status_dbcharacters.png  |  Bin 1931 -> 1173 bytes
 .../property_status_dbcharacters_mac.png        |  Bin 2517 -> 2516 bytes
 .../baselines/property_title_dbcharacters.png   |  Bin 1790 -> 1077 bytes
 .../property_title_dbcharacters_mac.png         |  Bin 1576 -> 2135 bytes
 .../showStatusBar_test1_SparkChrome.png         |  Bin 2369 -> 2475 bytes
 .../showStatusBar_test1_SparkChrome_mac.png     |  Bin 3286 -> 3190 bytes
 ...wStatusBar_test1_WindowedApplicationSkin.png |  Bin 1879 -> 1827 bytes
 .../showStatusBar_test1_systemChrome.png        |  Bin 4722 -> 8185 bytes
 .../showStatusBar_test1_systemChrome_mac.png    |  Bin 8180 -> 8185 bytes
 .../showStatusBar_test2_SparkChrome.png         |  Bin 2115 -> 2215 bytes
 .../showStatusBar_test2_SparkChrome_mac.png     |  Bin 3029 -> 2945 bytes
 ...wStatusBar_test2_WindowedApplicationSkin.png |  Bin 1610 -> 1564 bytes
 .../showStatusBar_test2_systemChrome.png        |  Bin 4449 -> 8541 bytes
 .../showStatusBar_test2_systemChrome_mac.png    |  Bin 8555 -> 8541 bytes
 .../showStatusBar_test3_SparkChrome.png         |  Bin 2115 -> 2215 bytes
 .../showStatusBar_test3_SparkChrome_mac.png     |  Bin 3029 -> 2945 bytes
 ...wStatusBar_test3_WindowedApplicationSkin.png |  Bin 1879 -> 1827 bytes
 .../showStatusBar_test3_systemChrome.png        |  Bin 4722 -> 8185 bytes
 .../showStatusBar_test3_systemChrome_mac.png    |  Bin 8180 -> 8185 bytes
 .../showStatusBar_test4_SparkChrome.png         |  Bin 2369 -> 2475 bytes
 .../showStatusBar_test4_SparkChrome_mac.png     |  Bin 3286 -> 3190 bytes
 ...wStatusBar_test4_WindowedApplicationSkin.png |  Bin 1610 -> 1564 bytes
 .../showStatusBar_test4_systemChrome.png        |  Bin 4449 -> 8541 bytes
 .../showStatusBar_test4_systemChrome_mac.png    |  Bin 8555 -> 8541 bytes
 .../showStatusBar_test5_SparkChrome.png         |  Bin 2115 -> 2215 bytes
 .../showStatusBar_test5_SparkChrome_mac.png     |  Bin 3029 -> 2945 bytes
 ...wStatusBar_test5_WindowedApplicationSkin.png |  Bin 2226 -> 2175 bytes
 .../showStatusBar_test5_systemChrome.png        |  Bin 4766 -> 8246 bytes
 .../showStatusBar_test5_systemChrome_mac.png    |  Bin 8237 -> 8246 bytes
 .../showStatusBar_test6_SparkChrome.png         |  Bin 2735 -> 2841 bytes
 .../showStatusBar_test6_SparkChrome_mac.png     |  Bin 3554 -> 3556 bytes
 ...wStatusBar_test6_WindowedApplicationSkin.png |  Bin 2111 -> 2060 bytes
 .../showStatusBar_test6_systemChrome.png        |  Bin 4597 -> 7989 bytes
 .../showStatusBar_test6_systemChrome_mac.png    |  Bin 8015 -> 7989 bytes
 .../showStatusBar_test7_SparkChrome.png         |  Bin 2596 -> 2702 bytes
 .../showStatusBar_test7_SparkChrome_mac.png     |  Bin 3415 -> 3417 bytes
 ...wStatusBar_test7_WindowedApplicationSkin.png |  Bin 1879 -> 1827 bytes
 .../showStatusBar_test7_systemChrome.png        |  Bin 4722 -> 8185 bytes
 .../showStatusBar_test7_systemChrome_mac.png    |  Bin 8180 -> 8185 bytes
 .../showStatusBar_test8_SparkChrome.png         |  Bin 2369 -> 2475 bytes
 .../showStatusBar_test8_SparkChrome_mac.png     |  Bin 3286 -> 3190 bytes
 ...wStatusBar_test8_WindowedApplicationSkin.png |  Bin 1610 -> 1564 bytes
 .../showStatusBar_test8_systemChrome.png        |  Bin 4449 -> 8541 bytes
 .../showStatusBar_test8_systemChrome_mac.png    |  Bin 8555 -> 8541 bytes
 .../showStatusBar_test9_SparkChrome.png         |  Bin 2115 -> 2215 bytes
 .../showStatusBar_test9_SparkChrome_mac.png     |  Bin 2940 -> 2945 bytes
 .../baselines/status_test1_SparkChrome.png      |  Bin 751 -> 1045 bytes
 .../baselines/status_test1_SparkChrome_mac.png  |  Bin 2559 -> 2580 bytes
 .../baselines/status_test1_systemChrome.png     |  Bin 1220 -> 1351 bytes
 .../baselines/status_test1_systemChrome_mac.png |  Bin 1568 -> 1294 bytes
 .../baselines/status_test2_systemChrome.png     |  Bin 319 -> 319 bytes
 .../properties/baselines/titleBar_test1.png     |  Bin 487 -> 496 bytes
 .../properties/baselines/titleBar_test1_mac.png |  Bin 1010 -> 986 bytes
 .../properties/baselines/titleIcon_test1.png    |  Bin 496 -> 616 bytes
 .../baselines/titleIcon_test1_mac.png           |  Bin 1113 -> 1121 bytes
 .../properties/baselines/titleIcon_test2.png    |  Bin 496 -> 616 bytes
 .../baselines/titleIcon_test2_mac.png           |  Bin 1206 -> 1121 bytes
 .../properties/baselines/titleIcon_test3.png    |  Bin 496 -> 616 bytes
 .../baselines/titleIcon_test3_mac.png           |  Bin 1206 -> 1121 bytes
 .../properties/baselines/titleIcon_test4.png    |  Bin 626 -> 2741 bytes
 .../baselines/titleIcon_test4_mac.png           |  Bin 3418 -> 3625 bytes
 .../properties/baselines/titleIcon_test5.png    |  Bin 651 -> 2741 bytes
 .../baselines/titleIcon_test5_mac.png           |  Bin 3418 -> 3625 bytes
 .../properties/baselines/titleIcon_test61.png   |  Bin 1016 -> 2536 bytes
 .../baselines/titleIcon_test61_mac.png          |  Bin 3295 -> 3312 bytes
 .../properties/baselines/titleIcon_test62.png   |  Bin 626 -> 2741 bytes
 .../baselines/titleIcon_test62_mac.png          |  Bin 3418 -> 3625 bytes
 .../properties/baselines/titleIcon_test7.png    |  Bin 822 -> 3364 bytes
 .../baselines/titleIcon_test7_mac.png           |  Bin 5786 -> 5980 bytes
 .../properties/baselines/titleIcon_test8.png    |  Bin 396511 -> 3364 bytes
 .../baselines/titleIcon_test8_mac.png           |  Bin 5786 -> 5980 bytes
 .../properties/baselines/title_mxml_test1.png   |  Bin 2291 -> 2684 bytes
 .../baselines/title_mxml_test1_mac.png          |  Bin 4422 -> 4342 bytes
 .../properties/baselines/title_mxml_test2.png   |  Bin 2348 -> 2751 bytes
 .../baselines/title_mxml_test2_mac.png          |  Bin 6028 -> 5952 bytes
 .../Window/properties/baselines/title_test5.png |  Bin 2276 -> 2258 bytes
 .../properties/baselines/title_test5_mac.png    |  Bin 2578 -> 2514 bytes
 .../Window/properties/baselines/title_test6.png |  Bin 2632 -> 2898 bytes
 .../properties/baselines/title_test6_mac.png    |  Bin 4730 -> 4656 bytes
 .../Window/properties/baselines/title_test7.png |  Bin 2730 -> 3035 bytes
 .../properties/baselines/title_test7_mac.png    |  Bin 5209 -> 5134 bytes
 .../baselines/width_test4_flexChrome.png        |  Bin 2078 -> 2187 bytes
 .../baselines/width_test4_flexChrome_mac.png    |  Bin 2877 -> 2878 bytes
 .../baselines/width_test4_systemChrome_mac.png  |  Bin 4908 -> 4801 bytes
 .../baselines/width_test4_systemChrome_win.png  |  Bin 0 -> 4989 bytes
 .../baselines/width_test5_flexChrome.png        |  Bin 2260 -> 2362 bytes
 .../baselines/width_test5_flexChrome_mac.png    |  Bin 3081 -> 3081 bytes
 .../baselines/width_test5_systemChrome.png      |  Bin 4031 -> 6814 bytes
 .../baselines/width_test5_systemChrome_mac.png  |  Bin 6894 -> 6814 bytes
 .../baselines/width_test6_flexChrome.png        |  Bin 2111 -> 2211 bytes
 .../baselines/width_test6_flexChrome_mac.png    |  Bin 2906 -> 2909 bytes
 .../baselines/width_test6_systemChrome.png      |  Bin 3487 -> 5663 bytes
 .../baselines/width_test6_systemChrome_mac.png  |  Bin 5784 -> 5663 bytes
 .../baselines/width_test7_flexChrome.png        |  Bin 2118 -> 2223 bytes
 .../baselines/width_test7_flexChrome_mac.png    |  Bin 2926 -> 2929 bytes
 .../baselines/width_test7_systemChrome.png      |  Bin 3562 -> 5750 bytes
 .../baselines/width_test7_systemChrome_mac.png  |  Bin 5878 -> 5750 bytes
 .../window_properties_height_tests.mxml         |   26 +-
 .../window_properties_localization.mxml         |   10 +-
 .../window_properties_maximizable_false.mxml    |   10 +-
 ...roperties_maximizable_false_systemchrom.mxml |    4 +-
 .../window_properties_maximizable_true.mxml     |    7 +-
 .../window_properties_minimizable_false.mxml    |    6 +-
 ...operties_minimizable_false_systemchrome.mxml |    3 +-
 .../window_properties_minimizable_true.mxml     |    5 +
 ...ndow_properties_nochangeable_flexchrome.mxml |   10 +
 .../properties/window_properties_others.mxml    |    6 +-
 .../window_properties_showStatus.mxml           |   19 +
 .../window_properties_showStatusBar_tests.mxml  |   16 +
 .../window_properties_titleBar_tests.mxml       |    2 +
 .../window_properties_titleIcon_tests.mxml      |   18 +
 .../window_properties_title_skin_tests.mxml     |    4 +
 .../window_properties_title_tests.mxml          |    7 +
 ...dow_properties_width_systemchrome_tests.mxml |   25 +-
 .../window_properties_width_tests.mxml          |    8 +
 .../titleBar_test10_SparkChrome_mac.png         |  Bin 286 -> 259 bytes
 .../baselines/titleBar_test1_SparkChrome.png    |  Bin 817 -> 848 bytes
 .../titleBar_test1_SparkChrome_mac.png          |  Bin 914 -> 813 bytes
 .../baselines/titleBar_test2_SparkChrome.png    |  Bin 929 -> 980 bytes
 .../titleBar_test2_SparkChrome_mac.png          |  Bin 1136 -> 964 bytes
 .../titleBar_test3_SparkChrome_mac.png          |  Bin 288 -> 260 bytes
 .../titleBar_test4_SparkChrome_mac.png          |  Bin 263 -> 241 bytes
 .../titleBar_test5_SparkChrome_mac.png          |  Bin 292 -> 265 bytes
 .../titleBar_test6_SparkChrome_mac.png          |  Bin 297 -> 263 bytes
 .../titleBar_test7_SparkChrome_mac.png          |  Bin 271 -> 245 bytes
 .../titleBar_test8_SparkChrome_mac.png          |  Bin 304 -> 273 bytes
 .../titleBar_test9a_SparkChrome_mac.png         |  Bin 286 -> 259 bytes
 .../titleBar_test9b_SparkChrome_mac.png         |  Bin 288 -> 260 bytes
 .../titleBar_test9c_SparkChrome_mac.png         |  Bin 297 -> 263 bytes
 .../Window/skin/window_skin_titleBar_tests.mxml |   19 +-
 .../styles/baselines/css_baseColor_test1.png    |  Bin 10154 -> 9974 bytes
 .../styles/baselines/css_focusColor_test1.png   |  Bin 207 -> 192 bytes
 .../baselines/css_focusColor_test1_mac.png      |  Bin 199 -> 192 bytes
 .../baselines/css_rolloverColor_test1.png       |  Bin 5514 -> 5320 bytes
 .../baselines/css_selectionColor_test1.png      |  Bin 5466 -> 5266 bytes
 .../styles/baselines/css_symbolColor_test1.png  |  Bin 1165 -> 1217 bytes
 .../baselines/css_symbolColor_test1_mac.png     |  Bin 905 -> 1217 bytes
 .../baselines/selector_baseColor_test1.png      |  Bin 10278 -> 10114 bytes
 .../baselines/selector_baseColor_test1_mac.png  |  Bin 9783 -> 10114 bytes
 .../baselines/selector_focusColor_test1.png     |  Bin 203 -> 188 bytes
 .../baselines/selector_focusColor_test1_mac.png |  Bin 201 -> 188 bytes
 .../baselines/selector_symbolColor_test1.png    |  Bin 1170 -> 1218 bytes
 .../selector_symbolColor_test1_mac.png          |  Bin 1170 -> 1218 bytes
 .../styles/baselines/skinClass1_test1.png       |  Bin 0 -> 452 bytes
 .../styles/baselines/skinClass1_test1_mac.png   |  Bin 0 -> 451 bytes
 .../styles/baselines/skinClass1_test2.png       |  Bin 0 -> 1466 bytes
 .../styles/baselines/skinClass1_test2_mac.png   |  Bin 0 -> 1445 bytes
 .../styles/baselines/skinClass1_test3.png       |  Bin 0 -> 1423 bytes
 .../styles/baselines/skinClass1_test3_mac.png   |  Bin 0 -> 1405 bytes
 .../Window/styles/baselines/skinClass_test1.png |  Bin 451 -> 452 bytes
 .../styles/baselines/skinClass_test1_mac.png    |  Bin 472 -> 451 bytes
 .../Window/styles/baselines/skinClass_test2.png |  Bin 1410 -> 1466 bytes
 .../styles/baselines/skinClass_test2_mac.png    |  Bin 1620 -> 1445 bytes
 .../Window/styles/baselines/skinClass_test3.png |  Bin 1358 -> 1423 bytes
 .../styles/baselines/skinClass_test3_mac.png    |  Bin 1581 -> 1405 bytes
 .../Window/styles/baselines/skinClass_test4.png |  Bin 451 -> 452 bytes
 .../Window/styles/baselines/skinClass_test5.png |  Bin 1410 -> 1466 bytes
 .../styles/baselines/skinClass_test5_mac.png    |  Bin 1620 -> 1445 bytes
 .../styles/baselines/style_baseColor_test1.png  |  Bin 10276 -> 10101 bytes
 .../baselines/style_baseColor_test1_mac.png     |  Bin 10284 -> 10101 bytes
 .../style_contentBackgroundColor_test1.png      |  Bin 9496 -> 9297 bytes
 .../style_contentBackgroundColor_test1_mac.png  |  Bin 9496 -> 9297 bytes
 .../styles/baselines/style_focusColor_test1.png |  Bin 195 -> 184 bytes
 .../baselines/style_focusColor_test1_mac.png    |  Bin 195 -> 184 bytes
 .../styles/baselines/style_loadcss_test1.png    |  Bin 10154 -> 9974 bytes
 .../baselines/style_loadcss_test1_mac.png       |  Bin 10160 -> 9974 bytes
 .../baselines/style_rolloverColor_test1.png     |  Bin 5281 -> 5103 bytes
 .../baselines/style_selectionColor_test1.png    |  Bin 5276 -> 5095 bytes
 .../baselines/style_symbolColor_test1.png       |  Bin 1139 -> 1178 bytes
 .../baselines/style_symbolColor_test1_mac.png   |  Bin 1139 -> 1178 bytes
 .../styles/window_styles_skinClass1_tests.mxml  |    9 +-
 .../styles/window_styles_skinClass2_tests.mxml  |    4 +
 .../styles/window_styles_skinClass_tests.mxml   |   15 +-
 .../baselines/localization_test1_mac.png        |  Bin 3013 -> 3013 bytes
 .../baselines/localization_test1_win.png        |  Bin 2703 -> 2171 bytes
 .../methods/wa_methods_maximize_tests.mxml      |   12 +-
 .../baselines/height_test1_systemChrome.png     |  Bin 3687 -> 0 bytes
 .../baselines/height_test1_systemChrome_mac.png |  Bin 0 -> 3687 bytes
 .../height_test1_systemChrome_win_win.png       |  Bin 0 -> 355 bytes
 .../baselines/height_test2_systemChrome.png     |  Bin 3687 -> 0 bytes
 .../baselines/height_test2_systemChrome_mac.png |  Bin 0 -> 3687 bytes
 .../baselines/height_test2_systemChrome_win.png |  Bin 0 -> 355 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 2057 -> 1954 bytes
 .../height_test4_windowedApplicationSkin.png    |  Bin 761 -> 0 bytes
 ...height_test4_windowedApplicationSkin_mac.png |  Bin 0 -> 761 bytes
 ...height_test4_windowedApplicationSkin_win.png |  Bin 0 -> 848 bytes
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin 3986 -> 3824 bytes
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin 4033 -> 3865 bytes
 .../properties/baselines/maxWidth_test4_mac.png |  Bin 1813 -> 1815 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 273 -> 198 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 286 -> 200 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 256 -> 155 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 268 -> 160 bytes
 ...1_SparkChromeWindowedApplicationSkin_win.png |  Bin 3333 -> 3037 bytes
 ...2_SparkChromeWindowedApplicationSkin_win.png |  Bin 3026 -> 2739 bytes
 ...3_SparkChromeWindowedApplicationSkin_win.png |  Bin 3026 -> 2739 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 3333 -> 3037 bytes
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin 3026 -> 2739 bytes
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin 3373 -> 3079 bytes
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin 3250 -> 2956 bytes
 ...8_SparkChromeWindowedApplicationSkin_win.png |  Bin 3333 -> 3037 bytes
 ...9_SparkChromeWindowedApplicationSkin_win.png |  Bin 3026 -> 2739 bytes
 ...1_SparkChromeWindowedApplicationSkin_mac.png |  Bin 2667 -> 2422 bytes
 ...1_SparkChromeWindowedApplicationSkin_win.png |  Bin 2667 -> 2422 bytes
 ...3_SparkChromeWindowedApplicationSkin_mac.png |  Bin 1389 -> 1210 bytes
 .../baselines/status_test3_systemChrome.png     |  Bin 1403 -> 1503 bytes
 .../properties/baselines/titleBar_test1_mac.png |  Bin 1068 -> 1007 bytes
 .../properties/baselines/titleBar_test1_win.png |  Bin 1068 -> 770 bytes
 .../baselines/titleIcon_test1_win.png           |  Bin 1846 -> 1548 bytes
 .../baselines/titleIcon_test2_win.png           |  Bin 1808 -> 1496 bytes
 .../baselines/titleIcon_test3_win.png           |  Bin 695 -> 423 bytes
 .../baselines/titleIcon_test4_win.png           |  Bin 2999 -> 2680 bytes
 .../baselines/titleIcon_test5_win.png           |  Bin 1846 -> 1548 bytes
 .../baselines/titleIcon_test7_mac.png           |  Bin 7104 -> 6346 bytes
 .../baselines/titleIcon_test7_win.png           |  Bin 7076 -> 5984 bytes
 .../baselines/title_mxml_test1_mac.png          |  Bin 5511 -> 5793 bytes
 .../baselines/title_mxml_test1_win.png          |  Bin 6080 -> 5555 bytes
 .../baselines/title_mxml_test2_mac.png          |  Bin 6637 -> 7047 bytes
 .../baselines/title_mxml_test2_win.png          |  Bin 9451 -> 6850 bytes
 .../properties/baselines/title_test1_mac.png    |  Bin 1854 -> 1720 bytes
 .../properties/baselines/title_test1_win.png    |  Bin 1854 -> 1521 bytes
 .../properties/baselines/title_test2_win.png    |  Bin 695 -> 423 bytes
 .../properties/baselines/title_test3_mac.png    |  Bin 1840 -> 1708 bytes
 .../properties/baselines/title_test3_win.png    |  Bin 1840 -> 1491 bytes
 .../properties/baselines/title_test5_mac.png    |  Bin 1082 -> 1093 bytes
 .../properties/baselines/title_test5_win.png    |  Bin 1082 -> 845 bytes
 .../properties/baselines/title_test6_mac.png    |  Bin 788 -> 786 bytes
 .../properties/baselines/title_test6_win.png    |  Bin 788 -> 529 bytes
 .../properties/baselines/title_test7_mac.png    |  Bin 2131 -> 1742 bytes
 .../properties/baselines/title_test7_win.png    |  Bin 2131 -> 1573 bytes
 ...4_SparkChromeWindowedApplicationSkin_mac.png |  Bin 2448 -> 3917 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 3715 -> 3766 bytes
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin 4588 -> 4420 bytes
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin 3889 -> 3855 bytes
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin 4041 -> 4028 bytes
 ...wa_properties_height_systemchrome_tests.mxml |   28 +-
 .../properties/wa_properties_height_tests.mxml  |   14 +-
 .../wa_properties_minmaxheightwidth_tests.mxml  |   11 +-
 .../wa_properties_title_mxml_tests.mxml         |    2 +
 .../wa_properties_title_mxml_tests2.mxml        |    4 +
 ...ies_width_minmaxsize_systemchrome_tests.mxml |    2 +-
 .../properties/wa_properties_width_tests.mxml   |    4 +-
 ...0_SparkChromeWindowedApplicationSkin_win.png |  Bin 286 -> 200 bytes
 ...1_SparkChromeWindowedApplicationSkin_win.png |  Bin 655 -> 413 bytes
 ...2_SparkChromeWindowedApplicationSkin_win.png |  Bin 695 -> 423 bytes
 ...3_SparkChromeWindowedApplicationSkin_win.png |  Bin 288 -> 202 bytes
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 263 -> 162 bytes
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin 292 -> 210 bytes
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin 297 -> 199 bytes
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin 271 -> 160 bytes
 ...8_SparkChromeWindowedApplicationSkin_win.png |  Bin 304 -> 208 bytes
 ...a_SparkChromeWindowedApplicationSkin_win.png |  Bin 286 -> 208 bytes
 ...b_SparkChromeWindowedApplicationSkin_win.png |  Bin 288 -> 210 bytes
 ...c_SparkChromeWindowedApplicationSkin_win.png |  Bin 297 -> 208 bytes
 ...ndAlpha_state_change_WindowedApplication.png |  Bin 24255 -> 23434 bytes
 .../styles/baselines/skinClass_test2_win.png    |  Bin 3333 -> 3037 bytes
 .../styles/baselines/skinClass_test3_win.png    |  Bin 3235 -> 2942 bytes
 .../styles/baselines/skinClass_test5_win.png    |  Bin 3333 -> 3037 bytes
 .../baselines/style_focusColor_mxml_test1.png   |  Bin 6969 -> 7031 bytes
 .../baselines/styles_mirroring_mac_test3.png    |  Bin 6433 -> 6457 bytes
 .../baselines/styles_mirroring_mac_test4.png    |  Bin 6515 -> 6539 bytes
 .../baselines/styles_mirroring_mac_test5.png    |  Bin 5351 -> 5367 bytes
 .../baselines/styles_mirroring_mac_test6.png    |  Bin 7190 -> 7195 bytes
 .../baselines/styles_mirroring_win_test1.png    |  Bin 6433 -> 6211 bytes
 .../baselines/styles_mirroring_win_test2.png    |  Bin 5044 -> 6257 bytes
 .../baselines/styles_mirroring_win_test3.png    |  Bin 5031 -> 6211 bytes
 .../baselines/styles_mirroring_win_test4.png    |  Bin 5044 -> 6257 bytes
 .../baselines/styles_mirroring_win_test5.png    |  Bin 3943 -> 5127 bytes
 .../baselines/styles_mirroring_win_test6.png    |  Bin 5761 -> 6950 bytes
 .../styles/wa_bkgdColor_bkgdAlpha_tester.mxml   |    3 +-
 .../styles/wa_styles_mxml_tests.mxml            |    2 +
 .../Integration/Preloader_Integration_app4.mxml |    2 +-
 .../Integration/Preloader_Integration_app5.mxml |    2 +-
 .../components/AdvancedDataGrid/Assets/data.as  |  120 +
 .../Assets/horizontal_Separator_Skin.gif        |  Bin 0 -> 414 bytes
 .../Assets/vertical_Separator_Skin.gif          |  Bin 0 -> 1473 bytes
 .../Assets/horizontal_Separator_Skin.gif        |  Bin 0 -> 414 bytes
 .../Properties/Baselines/columnspan.png         |  Bin 0 -> 6891 bytes
 .../Properties/Baselines/currency.png           |  Bin 0 -> 6757 bytes
 .../datagrid_columnspanning_withcolgroups.png   |  Bin 0 -> 12195 bytes
 ...agrid_customheaderrenderer_withcolgroups.png |  Bin 0 -> 3637 bytes
 .../datagrid_draggablecolumns_false_state1.png  |  Bin 0 -> 6809 bytes
 .../datagrid_draggablecolumns_false_state2.png  |  Bin 0 -> 7107 bytes
 .../datagrid_draggablecolumns_state1.png        |  Bin 0 -> 6809 bytes
 .../datagrid_draggablecolumns_state2.png        |  Bin 0 -> 6789 bytes
 .../Properties/Baselines/datagrid_enabled2.png  |  Bin 0 -> 6658 bytes
 .../Baselines/datagrid_focusenabledfalse.png    |  Bin 0 -> 7957 bytes
 .../Baselines/datagrid_focusenabledtrue.png     |  Bin 0 -> 7988 bytes
 .../datagrid_formatting_withcolgroups.png       |  Bin 0 -> 11749 bytes
 .../datagrid_groupeditable_withcolgroups.png    |  Bin 0 -> 9799 bytes
 .../Baselines/datagrid_groupedview.png          |  Bin 0 -> 2040 bytes
 .../datagrid_groupedview_withcolgroups.png      |  Bin 0 -> 9799 bytes
 .../datagrid_headerrenderer_withcolgroups.png   |  Bin 0 -> 10311 bytes
 .../Baselines/datagrid_height_120.png           |  Bin 0 -> 4854 bytes
 .../Baselines/datagrid_height_200.png           |  Bin 0 -> 7186 bytes
 .../Properties/Baselines/datagrid_height_30.png |  Bin 0 -> 1084 bytes
 .../datagrid_hierarch_data_colgroups.png        |  Bin 0 -> 10444 bytes
 .../datagrid_horizontalscrollpolicy_off.png     |  Bin 0 -> 6809 bytes
 .../datagrid_horizontalscrollpolicy_on.png      |  Bin 0 -> 7434 bytes
 .../datagrid_insertcolumn_withcolgroups.png     |  Bin 0 -> 12186 bytes
 .../Baselines/datagrid_insertcolumngroups.png   |  Bin 0 -> 12409 bytes
 .../datagrid_itemeditable_withcolgroups.png     |  Bin 0 -> 11083 bytes
 .../Baselines/datagrid_multicellselection.png   |  Bin 0 -> 6908 bytes
 .../datagrid_rowcount_withcolgroups.png         |  Bin 0 -> 3352 bytes
 .../Baselines/datagrid_singlecellselection.png  |  Bin 0 -> 6809 bytes
 .../datagrid_tree_displayitemsexpanded.png      |  Bin 0 -> 10235 bytes
 .../datagrid_tree_multicellselection.png        |  Bin 0 -> 10271 bytes
 .../datagrid_tree_singlecellselection.png       |  Bin 0 -> 10235 bytes
 .../Properties/Baselines/datagrid_treeview.png  |  Bin 0 -> 3696 bytes
 .../Baselines/datagrid_verticalscrollpolicy.png |  Bin 0 -> 6146 bytes
 .../datagrid_verticalscrollpolicy_auto.png      |  Bin 0 -> 6809 bytes
 .../datagrid_verticalscrollpolicy_on.png        |  Bin 0 -> 6840 bytes
 .../datagrid_verticalscrollposition.png         |  Bin 0 -> 6642 bytes
 .../Baselines/datagrid_visible_false.png        |  Bin 0 -> 536 bytes
 .../datagrid_visible_withcolgroups.png          |  Bin 0 -> 8909 bytes
 .../Properties/Baselines/datagrid_width_200.png |  Bin 0 -> 6004 bytes
 .../Properties/Baselines/datagrid_width_30.png  |  Bin 0 -> 961 bytes
 .../Properties/Baselines/datagrid_width_700.png |  Bin 0 -> 6212 bytes
 .../Properties/Baselines/datagrid_x_50.png      |  Bin 0 -> 6809 bytes
 .../Properties/Baselines/datagrid_x_minus10.png |  Bin 0 -> 7972 bytes
 .../Properties/Baselines/datagrid_y_50.png      |  Bin 0 -> 7960 bytes
 .../Properties/Baselines/datagrid_y_minus10.png |  Bin 0 -> 7765 bytes
 .../Properties/Baselines/date.png               |  Bin 0 -> 7681 bytes
 .../Properties/Baselines/groupview.png          |  Bin 0 -> 8433 bytes
 .../Properties/Baselines/number.png             |  Bin 0 -> 6787 bytes
 .../Properties/Baselines/phone.png              |  Bin 0 -> 6641 bytes
 .../property_layoutDirection_application.png    |  Bin 0 -> 6809 bytes
 ...property_layoutDirection_application_ltr.png |  Bin 0 -> 6882 bytes
 .../Baselines/property_layoutDirection_ltr.png  |  Bin 0 -> 6809 bytes
 .../Baselines/property_layoutDirection_rtl.png  |  Bin 0 -> 6882 bytes
 .../Properties/Baselines/style1.png             |  Bin 0 -> 6665 bytes
 .../Properties/Baselines/style2.png             |  Bin 0 -> 6597 bytes
 .../Properties/Baselines/style3.png             |  Bin 0 -> 6598 bytes
 .../Baselines/use_grouped_data_mirroring.png    |  Bin 0 -> 9959 bytes
 .../Properties/Baselines/zipcode.png            |  Bin 0 -> 6495 bytes
 .../Properties/adg_mirroring_test.mxml          |  184 +
 .../advanceddatagrid_columngroup.mxml           |  472 ++
 .../Properties/advanceddatagrid_properties.mxml |  632 +++
 ...eddatagrid_properties_scrollcontrolbase.mxml |  253 +
 ...advanceddatagrid_properties_uicomponent.mxml |  746 +++
 .../AdvancedDataGrid/Properties/formatters.mxml |  397 ++
 .../AdvancedDataGrid/SWFs/ADG_component.mxml    |   25 +
 .../SWFs/AdvancedDataGridColumnGroupMain.mxml   |   90 +
 .../SWFs/AdvancedDataGridMain.mxml              |  102 +
 .../AdvancedDataGrid/SWFs/Assets/data.as        |  120 +
 .../SWFs/Assets/horizontal_Separator_Skin.gif   |  Bin 0 -> 414 bytes
 .../SWFs/Assets/vertical_Separator_Skin.gif     |  Bin 0 -> 1473 bytes
 .../AdvancedDataGrid/SWFs/CustomADG.mxml        |   43 +
 .../AdvancedDataGrid/SWFs/Formatters_Main.mxml  |   60 +
 .../AdvancedDataGrid/SWFs/myheads.mxml          |   35 +
 .../datagrid_alternatingitemcolors.png          |  Bin 0 -> 5504 bytes
 .../Baselines/datagrid_bordersides_all.png      |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_bordersides_lr.png       |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_borderstyle_inset.png    |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_borderstyle_outset.png   |  Bin 0 -> 5700 bytes
 .../datagrid_dropShadowEnabled_true.png         |  Bin 0 -> 5700 bytes
 .../Styles/Baselines/datagrid_fontsize_16.png   |  Bin 0 -> 7772 bytes
 .../Baselines/datagrid_fontstyle_italic.png     |  Bin 0 -> 6071 bytes
 .../Baselines/datagrid_fontweight_bold.png      |  Bin 0 -> 5924 bytes
 .../Styles/Baselines/datagrid_headercolors.png  |  Bin 0 -> 5198 bytes
 .../Styles/Baselines/datagrid_paddingLeft.png   |  Bin 0 -> 5700 bytes
 .../Styles/Baselines/datagrid_paddingRight.png  |  Bin 0 -> 5700 bytes
 .../Styles/Baselines/datagrid_paddingTop.png    |  Bin 0 -> 6185 bytes
 .../Styles/Baselines/datagrid_paddingbottom.png |  Bin 0 -> 6156 bytes
 .../datagrid_shadowdirection_right.png          |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_shadowdistance_8.png     |  Bin 0 -> 5700 bytes
 .../datagrid_textdecoration_underline.png       |  Bin 0 -> 5804 bytes
 .../Styles/Baselines/datagrid_userollover.png   |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_verticalalign_bottom.png |  Bin 0 -> 5700 bytes
 .../Baselines/datagrid_verticalalign_top.png    |  Bin 0 -> 5700 bytes
 .../datagrid_verticalgridlinestrue.png          |  Bin 0 -> 5339 bytes
 .../style_fontFamily_AS_EmbeddedArial.png       |  Bin 0 -> 5788 bytes
 .../style_fontFamily_AS_EmbeddedVerdana.png     |  Bin 0 -> 5700 bytes
 .../style_fontFamily_mxml_EmbeddedArial.png     |  Bin 0 -> 5788 bytes
 .../style_fontFamily_mxml_EmbeddedVerdana.png   |  Bin 0 -> 5700 bytes
 .../Styles/advanceddatagrid_styles.mxml         |  226 +
 .../advanceddatagrid_styles_listbase.mxml       |  186 +
 ...vanceddatagrid_styles_scrollcontrolbase.mxml |  323 ++
 .../Alert/Properties/Alert_Properties.mxml      |    2 +-
 .../components/Alert/Styles/Alert_Styles.mxml   |    8 +-
 .../Alert/Versioning/MP_Alert_Tests.mxml        |   30 +-
 .../components/Button/events/data/MyButton.as   |    2 +-
 .../Button/styles/Button_Styles_tester.mxml     |    4 +-
 .../styles/Button_Styles_tester_Spark.mxml      |   34 +-
 .../Styles/ButtonBar_Styles_StyleName.mxml      |   37 +-
 ...Style_Basic_buttonStyleName_multiple_mac.png |  Bin 1183 -> 0 bytes
 ..._Basic_firstButtonStyleName_multiple_mac.png |  Bin 933 -> 0 bytes
 .../Charts/Area/Properties/AreaProperties.mxml  |  446 ++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 16884 bytes
 .../AreaSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 7459 bytes
 .../AreaSeries_ChangeMinAndMax_LinearAxis.png   |  Bin 0 -> 9588 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 17186 bytes
 .../Baselines/AreaSeries_axisAtSeriesLevel.png  |  Bin 0 -> 14529 bytes
 .../AreaSeries_axisRenderer_withPlacement.png   |  Bin 0 -> 17796 bytes
 .../AreaSeries_change_Dataprovider.png          |  Bin 0 -> 8487 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 9700 bytes
 .../AreaSeries_fillfunction_fills_both.png      |  Bin 0 -> 7876 bytes
 .../AreaSeries_filterData_filterDataValues.png  |  Bin 0 -> 13056 bytes
 .../Properties/Baselines/AreaSeries_legend.png  |  Bin 0 -> 9263 bytes
 .../AreaSeries_multipleAxes_disabledDays.png    |  Bin 0 -> 12638 bytes
 .../AreaSeries_sameAxis_diffRenderers.png       |  Bin 0 -> 15945 bytes
 .../AreaSeries_sameRenderer_withDiffAxis.png    |  Bin 0 -> 17907 bytes
 .../AreaSeries_selectionMode_Multiple.png       |  Bin 0 -> 9440 bytes
 .../Baselines/AreaSeries_selectionMode_None.png |  Bin 0 -> 8946 bytes
 .../AreaSeries_selectionMode_Single.png         |  Bin 0 -> 9331 bytes
 ...reaSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 18950 bytes
 .../Charts/Area/SWFs/AdbeStockData.as           |  549 +++
 .../Charts/Area/SWFs/AllSeriesData.as           |  165 +
 .../Area/SWFs/AllSeriesDisabledDaysData.as      |   79 +
 .../Charts/Area/SWFs/DataGraphicsData.as        |  151 +
 .../Charts/Area/SWFs/DataGraphicsUtils.as       |  713 +++
 .../Charts/Area/SWFs/DisabledDaysStockData.as   |  550 +++
 .../components/Charts/Area/SWFs/FillsData.as    |  144 +
 .../Charts/Area/SWFs/GenericArea.mxml           |   44 +
 .../components/Charts/Area/SWFs/MedalsData.as   |   50 +
 .../Charts/Area/SWFs/MultipleAxesData.as        |  113 +
 .../Charts/Area/SWFs/MultipleAxesUtils.as       | 1174 +++++
 .../Charts/Bar/Properties/BarProperties.mxml    |  439 ++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 23641 bytes
 ...arSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 10531 bytes
 .../BarSeries_ChangeMinAndMax_DateTimeAxis.png  |  Bin 0 -> 8762 bytes
 .../BarSeries_ChangeMinAndMax_LinearAxis.png    |  Bin 0 -> 11646 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 19998 bytes
 .../Baselines/BarSeries_axisAtSeriesLevel.png   |  Bin 0 -> 24369 bytes
 .../BarSeries_axisRenderer_withPlacement.png    |  Bin 0 -> 18474 bytes
 .../BarSeries_filterData_filterDataValues.png   |  Bin 0 -> 11895 bytes
 .../Properties/Baselines/BarSeries_legend.png   |  Bin 0 -> 10775 bytes
 .../BarSeries_multipleAxes_disabledDays.png     |  Bin 0 -> 13973 bytes
 .../BarSeries_sameAxis_diffRenderers.png        |  Bin 0 -> 17380 bytes
 .../BarSeries_sameRenderer_withDiffAxis.png     |  Bin 0 -> 17604 bytes
 .../BarSeries_selectionMode_Multiple.png        |  Bin 0 -> 12349 bytes
 .../Baselines/BarSeries_selectionMode_None.png  |  Bin 0 -> 11978 bytes
 .../BarSeries_selectionMode_Single.png          |  Bin 0 -> 12080 bytes
 ...BarSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 18898 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 13375 bytes
 .../Charts/Bar/SWFs/AdbePILStockData.as         |  550 +++
 .../components/Charts/Bar/SWFs/AdbeStockData.as |  549 +++
 .../components/Charts/Bar/SWFs/AllSeriesData.as |  177 +
 .../Bar/SWFs/AllSeriesDisabledDaysData.as       |   79 +
 .../Charts/Bar/SWFs/DataGraphicsData.as         |  151 +
 .../Charts/Bar/SWFs/DataGraphicsUtils.as        |  713 +++
 .../Charts/Bar/SWFs/DisabledDaysStockData.as    |  550 +++
 .../components/Charts/Bar/SWFs/FillsData.as     |  144 +
 .../components/Charts/Bar/SWFs/GenericBar.mxml  |   36 +
 .../components/Charts/Bar/SWFs/MedalsData.as    |   50 +
 .../Charts/Bar/SWFs/MultipleAxesData.as         |  113 +
 .../Charts/Bar/SWFs/MultipleAxesUtils.as        | 1147 +++++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 17150 bytes
 ...leSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 16378 bytes
 ...ubbleSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 11242 bytes
 .../BubbleSeries_ChangeMinAndMax_LinearAxis.png |  Bin 0 -> 13355 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 17800 bytes
 .../BubbleSeries_axisAtSeriesLevel.png          |  Bin 0 -> 21465 bytes
 .../BubbleSeries_axisRenderer_withPlacement.png |  Bin 0 -> 20504 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 18952 bytes
 ...BubbleSeries_filterData_filterDataValues.png |  Bin 0 -> 13556 bytes
 .../Baselines/BubbleSeries_legend.png           |  Bin 0 -> 13615 bytes
 .../BubbleSeries_multipleAxes_disabledDays.png  |  Bin 0 -> 16092 bytes
 .../BubbleSeries_sameAxis_diffRenderers.png     |  Bin 0 -> 18941 bytes
 .../BubbleSeries_sameRenderer_withDiffAxis.png  |  Bin 0 -> 20296 bytes
 .../BubbleSeries_selectionMode_Multiple.png     |  Bin 0 -> 24722 bytes
 .../BubbleSeries_selectionMode_None.png         |  Bin 0 -> 23012 bytes
 .../BubbleSeries_selectionMode_Single.png       |  Bin 0 -> 23799 bytes
 ...bleSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 20998 bytes
 .../Bubble/Properties/BubbleProperties.mxml     |  430 ++
 .../Charts/Bubble/SWFs/AdbeStockData.as         |  549 +++
 .../Charts/Bubble/SWFs/AllSeriesData.as         |  138 +
 .../Bubble/SWFs/AllSeriesDisabledDaysData.as    |   79 +
 .../Charts/Bubble/SWFs/DataGraphicsData.as      |  151 +
 .../Charts/Bubble/SWFs/DataGraphicsUtils.as     |  713 +++
 .../Charts/Bubble/SWFs/DisabledDaysStockData.as |  550 +++
 .../components/Charts/Bubble/SWFs/FillsData.as  |  144 +
 .../Charts/Bubble/SWFs/GenericBubble.mxml       |   35 +
 .../components/Charts/Bubble/SWFs/MedalsData.as |   50 +
 .../Charts/Bubble/SWFs/MultipleAxesData.as      |  113 +
 .../Charts/Bubble/SWFs/MultipleAxesUtils.as     | 1192 +++++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 16028 bytes
 ...ckSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 6242 bytes
 ...stickSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 7274 bytes
 ...lestickSeries_ChangeMinAndMax_LinearAxis.png |  Bin 0 -> 8389 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 16497 bytes
 .../CandlestickSeries_axisAtSeriesLevel.png     |  Bin 0 -> 13647 bytes
 ...lestickSeries_axisRenderer_withPlacement.png |  Bin 0 -> 16423 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 8227 bytes
 ...estickSeries_filterData_filterDataValues.png |  Bin 0 -> 9472 bytes
 .../Baselines/CandlestickSeries_legend.png      |  Bin 0 -> 7464 bytes
 ...dlestickSeries_multipleAxes_disabledDays.png |  Bin 0 -> 8488 bytes
 ...CandlestickSeries_sameAxis_diffRenderers.png |  Bin 0 -> 14433 bytes
 ...dlestickSeries_sameRenderer_withDiffAxis.png |  Bin 0 -> 16229 bytes
 ...CandlestickSeries_selectionMode_Multiple.png |  Bin 0 -> 7538 bytes
 .../CandlestickSeries_selectionMode_None.png    |  Bin 0 -> 7415 bytes
 .../CandlestickSeries_selectionMode_Single.png  |  Bin 0 -> 7516 bytes
 ...ickSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 17468 bytes
 .../Properties/CandlestickProperties.mxml       |  425 ++
 .../Charts/Candle/SWFs/AdbeStockData.as         |  549 +++
 .../Charts/Candle/SWFs/AllSeriesData.as         |  138 +
 .../Candle/SWFs/AllSeriesDisabledDaysData.as    |   79 +
 .../Charts/Candle/SWFs/DataGraphicsData.as      |  151 +
 .../Charts/Candle/SWFs/DataGraphicsUtils.as     |  713 +++
 .../Charts/Candle/SWFs/DisabledDaysStockData.as |  550 +++
 .../components/Charts/Candle/SWFs/FillsData.as  |  144 +
 .../Charts/Candle/SWFs/GenericCandle.mxml       |   35 +
 .../components/Charts/Candle/SWFs/MedalsData.as |   50 +
 .../Charts/Candle/SWFs/MultipleAxesData.as      |  113 +
 .../Charts/Candle/SWFs/MultipleAxesUtils.as     | 1228 +++++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 23041 bytes
 ...mnSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 9577 bytes
 ...olumnSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 10406 bytes
 .../ColumnSeries_ChangeMinAndMax_LinearAxis.png |  Bin 0 -> 11636 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 19212 bytes
 .../ColumnSeries_axisAtSeriesLevel.png          |  Bin 0 -> 20296 bytes
 .../ColumnSeries_axisRenderer_withPlacement.png |  Bin 0 -> 25567 bytes
 ...ColumnSeries_filterData_filterDataValues.png |  Bin 0 -> 12246 bytes
 .../Baselines/ColumnSeries_legend.png           |  Bin 0 -> 10862 bytes
 .../ColumnSeries_multipleAxes_disabledDays.png  |  Bin 0 -> 14149 bytes
 .../ColumnSeries_sameAxis_diffRenderers.png     |  Bin 0 -> 23511 bytes
 .../ColumnSeries_sameRenderer_withDiffAxis.png  |  Bin 0 -> 24025 bytes
 .../ColumnSeries_selectionMode_Multiple.png     |  Bin 0 -> 13131 bytes
 .../ColumnSeries_selectionMode_None.png         |  Bin 0 -> 12624 bytes
 .../ColumnSeries_selectionMode_Single.png       |  Bin 0 -> 12778 bytes
 ...umnSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 25072 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 11528 bytes
 .../Column/Properties/ColumnProperties.mxml     |  430 ++
 .../Charts/Column/SWFs/AdbePILStockData.as      |  550 +++
 .../Charts/Column/SWFs/AdbeStockData.as         |  549 +++
 .../Charts/Column/SWFs/AllSeriesData.as         |  162 +
 .../Column/SWFs/AllSeriesDisabledDaysData.as    |   79 +
 .../Charts/Column/SWFs/DataGraphicsData.as      |  151 +
 .../Charts/Column/SWFs/DataGraphicsUtils.as     |  713 +++
 .../Charts/Column/SWFs/DisabledDaysStockData.as |  550 +++
 .../components/Charts/Column/SWFs/FillsData.as  |  144 +
 .../Charts/Column/SWFs/GenericColumn.mxml       |   35 +
 .../components/Charts/Column/SWFs/MedalsData.as |   50 +
 .../Charts/Column/SWFs/MultipleAxesData.as      |  113 +
 .../Charts/Column/SWFs/MultipleAxesUtils.as     | 1174 +++++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 16421 bytes
 ...OCSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 6140 bytes
 .../HLOCSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 7168 bytes
 .../HLOCSeries_ChangeMinAndMax_LinearAxis.png   |  Bin 0 -> 8377 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 16520 bytes
 .../Baselines/HLOCSeries_axisAtSeriesLevel.png  |  Bin 0 -> 13950 bytes
 .../HLOCSeries_axisRenderer_withPlacement.png   |  Bin 0 -> 16531 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 8074 bytes
 .../HLOCSeries_filterData_filterDataValues.png  |  Bin 0 -> 9348 bytes
 .../Properties/Baselines/HLOCSeries_legend.png  |  Bin 0 -> 7296 bytes
 .../HLOCSeries_multipleAxes_disabledDays.png    |  Bin 0 -> 8386 bytes
 .../HLOCSeries_sameAxis_diffRenderers.png       |  Bin 0 -> 14602 bytes
 .../HLOCSeries_sameRenderer_withDiffAxis.png    |  Bin 0 -> 16484 bytes
 .../HLOCSeries_selectionMode_Multiple.png       |  Bin 0 -> 6190 bytes
 .../Baselines/HLOCSeries_selectionMode_None.png |  Bin 0 -> 6140 bytes
 .../HLOCSeries_selectionMode_Single.png         |  Bin 0 -> 6196 bytes
 ...LOCSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 17651 bytes
 .../Charts/HLOC/Properties/HLOCProperties.mxml  |  415 ++
 .../Charts/HLOC/SWFs/AllSeriesData.as           |  146 +
 .../HLOC/SWFs/AllSeriesDisabledDaysData.as      |   79 +
 .../Charts/HLOC/SWFs/DataGraphicsData.as        |  151 +
 .../Charts/HLOC/SWFs/DataGraphicsUtils.as       |  713 +++
 .../Charts/HLOC/SWFs/DisabledDaysStockData.as   |  550 +++
 .../Charts/HLOC/SWFs/GenericHLOC.mxml           |   38 +
 .../Charts/HLOC/SWFs/MultipleAxesData.as        |  113 +
 .../Charts/HLOC/SWFs/MultipleAxesUtils.as       | 1228 +++++
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 23684 bytes
 .../LineSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 9160 bytes
 .../LineSeries_ChangeMinAndMax_LinearAxis.png   |  Bin 0 -> 12240 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 19604 bytes
 .../Baselines/LineSeries_axisAtSeriesLevel.png  |  Bin 0 -> 26683 bytes
 .../LineSeries_axisRenderer_withPlacement.png   |  Bin 0 -> 24580 bytes
 ...neSeries_change_Dataprovider_AtAxisLevel.png |  Bin 0 -> 11353 bytes
 ...eSeries_change_Dataprovider_AtChartLevel.png |  Bin 0 -> 27778 bytes
 ...Series_change_Dataprovider_AtSeriesLevel.png |  Bin 0 -> 22060 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 20577 bytes
 .../LineSeries_filterData_filterDataValues.png  |  Bin 0 -> 33708 bytes
 .../Properties/Baselines/LineSeries_legend.png  |  Bin 0 -> 20101 bytes
 .../LineSeries_multipleAxes_disabledDays.png    |  Bin 0 -> 24663 bytes
 .../LineSeries_sameAxis_diffRenderers.png       |  Bin 0 -> 21710 bytes
 .../LineSeries_sameRenderer_withDiffAxis.png    |  Bin 0 -> 23703 bytes
 .../LineSeries_selectionMode_Multiple.png       |  Bin 0 -> 15385 bytes
 .../Baselines/LineSeries_selectionMode_None.png |  Bin 0 -> 15214 bytes
 .../LineSeries_selectionMode_Single.png         |  Bin 0 -> 15240 bytes
 ...ineSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 25730 bytes
 .../Charts/Line/Properties/LineProperties.mxml  |  483 ++
 .../Charts/Line/SWFs/AdbeStockData.as           |  549 +++
 .../Charts/Line/SWFs/AllSeriesData.as           |  152 +
 .../Line/SWFs/AllSeriesDisabledDaysData.as      |   79 +
 .../Charts/Line/SWFs/DataGraphicsData.as        |  151 +
 .../Charts/Line/SWFs/DataGraphicsUtils.as       |  713 +++
 .../Charts/Line/SWFs/DisabledDaysStockData.as   |  550 +++
 .../components/Charts/Line/SWFs/FillsData.as    |  144 +
 .../Charts/Line/SWFs/GenericLine.mxml           |   35 +
 .../components/Charts/Line/SWFs/MedalsData.as   |   50 +
 .../Charts/Line/SWFs/MultipleAxesData.as        |  113 +
 .../Charts/Line/SWFs/MultipleAxesUtils.as       | 1174 +++++
 ...ieSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 22550 bytes
 .../Properties/Baselines/PieSeries_legend.png   |  Bin 0 -> 41766 bytes
 .../PieSeries_selectionMode_Multiple.png        |  Bin 0 -> 36302 bytes
 .../Baselines/PieSeries_selectionMode_None.png  |  Bin 0 -> 36283 bytes
 .../PieSeries_selectionMode_Single.png          |  Bin 0 -> 36239 bytes
 ...ieSeries_totalValueSet_circle_annotation.png |  Bin 0 -> 37138 bytes
 ...PieSeries_totalValueSet_curve_annotation.png |  Bin 0 -> 39235 bytes
 ...eSeries_totalValueSet_ellipse_annotation.png |  Bin 0 -> 38083 bytes
 .../PieSeries_totalValueSet_line_annotation.png |  Bin 0 -> 38222 bytes
 .../PieSeries_totalValueSet_rect_annotation.png |  Bin 0 -> 38047 bytes
 ...ies_totalValueSet_roundedRect_annotation.png |  Bin 0 -> 38085 bytes
 ..._Series_change_Dataprovider_Series_Level.png |  Bin 0 -> 20276 bytes
 .../Pie_Series_renderDirection_clockwise.png    |  Bin 0 -> 17248 bytes
 ..._Series_renderDirection_counterClockwise.png |  Bin 0 -> 17238 bytes
 .../Charts/Pie/Properties/PieProperties.mxml    |  268 +
 .../components/Charts/Pie/SWFs/AdbeStockData.as |  549 +++
 .../components/Charts/Pie/SWFs/AllSeriesData.as |  151 +
 .../Charts/Pie/SWFs/DataGraphicsData.as         |  151 +
 .../Charts/Pie/SWFs/DataGraphicsUtils.as        |  412 ++
 .../components/Charts/Pie/SWFs/FillsData.as     |  140 +
 .../components/Charts/Pie/SWFs/GenericPie.mxml  |   35 +
 .../components/Charts/Pie/SWFs/MedalsData.as    |   50 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin 0 -> 17978 bytes
 ...otSeries_ChangeDataProvider_AtChartLevel.png |  Bin 0 -> 8176 bytes
 .../PlotSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin 0 -> 8668 bytes
 .../PlotSeries_ChangeMinAndMax_LinearAxis.png   |  Bin 0 -> 10762 bytes
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin 0 -> 19600 bytes
 .../Baselines/PlotSeries_axisAtSeriesLevel.png  |  Bin 0 -> 20917 bytes
 .../PlotSeries_axisRenderer_withPlacement.png   |  Bin 0 -> 21416 bytes
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin 0 -> 10429 bytes
 .../PlotSeries_filterData_filterDataValues.png  |  Bin 0 -> 10754 bytes
 .../Properties/Baselines/PlotSeries_legend.png  |  Bin 0 -> 9773 bytes
 .../PlotSeries_multipleAxes_disabledDays.png    |  Bin 0 -> 12025 bytes
 .../PlotSeries_sameAxis_diffRenderers.png       |  Bin 0 -> 19362 bytes
 .../PlotSeries_sameRenderer_withDiffAxis.png    |  Bin 0 -> 20924 bytes
 .../PlotSeries_selectionMode_Multiple.png       |  Bin 0 -> 9505 bytes
 .../Baselines/PlotSeries_selectionMode_None.png |  Bin 0 -> 9351 bytes
 .../PlotSeries_selectionMode_Single.png         |  Bin 0 -> 9372 bytes
 ...lotSeries_valid_horizontal_vertical_axis.png |  Bin 0 -> 21956 bytes
 .../Charts/Plot/Properties/PlotProperties.mxml  |  426 ++
 .../Charts/Plot/SWFs/AdbeStockData.as           |  549 +++
 .../Charts/Plot/SWFs/AllSeriesData.as           |  138 +
 .../Plot/SWFs/AllSeriesDisabledDaysData.as      |   79 +
 .../Charts/Plot/SWFs/DataGraphicsData.as        |  151 +
 .../Charts/Plot/SWFs/DataGraphicsUtils.as       |  713 +++
 .../Charts/Plot/SWFs/DisabledDaysStockData.as   |  550 +++
 .../components/Charts/Plot/SWFs/FillsData.as    |  144 +
 .../Charts/Plot/SWFs/GenericPlot.mxml           |   36 +
 .../components/Charts/Plot/SWFs/MedalsData.as   |   50 +
 .../Charts/Plot/SWFs/MultipleAxesData.as        |  113 +
 .../Charts/Plot/SWFs/MultipleAxesUtils.as       | 1174 +++++
 .../Charts/assets/chartFontStyles.css           |   93 +
 .../CheckBox_properties_tester_Spark.mxml       |    9 -
 .../properties/baselines/Mirroring_CheckBox.png |  Bin 1575 -> 1567 bytes
 .../baselines/Mirroring_CheckBox_selected.png   |  Bin 1358 -> 1282 bytes
 .../CheckBox/styles/ASsets/MyDisabledIcon.as    |    2 +-
 .../CheckBox/styles/ASsets/MyDisabledSkin.as    |    2 +-
 .../CheckBox/styles/ASsets/MyDownIcon.as        |    2 +-
 .../CheckBox/styles/ASsets/MyDownSkin.as        |    2 +-
 .../CheckBox/styles/ASsets/MyOverIcon.as        |    2 +-
 .../CheckBox/styles/ASsets/MyOverSkin.as        |    2 +-
 .../styles/ASsets/MySelectedDisabledIcon.as     |    2 +-
 .../styles/ASsets/MySelectedDisabledSkin.as     |    2 +-
 .../styles/ASsets/MySelectedDownIcon.as         |    2 +-
 .../styles/ASsets/MySelectedDownSkin.as         |    2 +-
 .../styles/ASsets/MySelectedOverIcon.as         |    2 +-
 .../styles/ASsets/MySelectedOverSkin.as         |    2 +-
 .../CheckBox/styles/ASsets/MySelectedUpIcon.as  |    2 +-
 .../CheckBox/styles/ASsets/MySelectedUpSkin.as  |    2 +-
 .../styles/ASsets/MySmallDisabledSkin.as        |    2 +-
 .../CheckBox/styles/ASsets/MySmallDownSkin.as   |    2 +-
 .../CheckBox/styles/ASsets/MySmallOverSkin.as   |    2 +-
 .../ASsets/MySmallSelectedDisabledSkin.as       |    2 +-
 .../styles/ASsets/MySmallSelectedDownSkin.as    |    2 +-
 .../styles/ASsets/MySmallSelectedOverSkin.as    |    2 +-
 .../styles/ASsets/MySmallSelectedUpSkin.as      |    2 +-
 .../CheckBox/styles/ASsets/MySmallUpSkin.as     |    2 +-
 .../CheckBox/styles/ASsets/MyUpIcon.as          |    2 +-
 .../CheckBox/styles/ASsets/MyUpSkin.as          |    2 +-
 .../CheckBox/swfs/CheckBox_Mirroring_Main.mxml  |    2 +-
 .../events/ColorPicker_Events_tester.mxml       |    2 +-
 .../mirroring/ColorPicker_mirroring_tester.mxml |   11 +-
 .../baselines/labelField_input_test1.png        |  Bin 2699 -> 2764 bytes
 .../baselines/labelField_input_test2.png        |  Bin 2699 -> 2764 bytes
 .../Integration/ComboBox_Integration2.mxml      |   41 +-
 .../ComboBox_Integration2_spark.mxml            |   11 +-
 .../ComboBox/SWFs/comps/button_gif_runtime.mxml |    2 +-
 .../ComboBox/SWFs/comps/button_jpg_runtime.mxml |   16 +-
 .../ComboBox/SWFs/comps/button_png_runtime.mxml |   16 +-
 .../ComboBox/SWFs/comps/button_swf_runtime.mxml |   16 +-
 .../ComboBox/SWFs/comps/icon_gif_runtime.mxml   |   16 +-
 .../ComboBox/SWFs/comps/icon_jpg_runtime.mxml   |   16 +-
 .../ComboBox/SWFs/comps/icon_png_runtime.mxml   |   16 +-
 .../ComboBox/SWFs/comps/icon_swf_runtime.mxml   |   16 +-
 .../WF_mxComboBox_Mirroring_as_default_1.png    |  Bin 933 -> 950 bytes
 .../WF_mxComboBox_Mirroring_as_default_2.png    |  Bin 929 -> 953 bytes
 .../WF_mxComboBox_Mirroring_as_default_3.png    |  Bin 3046 -> 3092 bytes
 .../WF_mxComboBox_Mirroring_default_1.png       |  Bin 933 -> 950 bytes
 .../WF_mxComboBox_Mirroring_default_2.png       |  Bin 929 -> 953 bytes
 .../WF_mxComboBox_Mirroring_default_3.png       |  Bin 3046 -> 3092 bytes
 ...WF_mxComboBox_Mirroring_mxml_changeDir_1.png |  Bin 941 -> 954 bytes
 ...WF_mxComboBox_Mirroring_mxml_changeDir_2.png |  Bin 924 -> 959 bytes
 .../WF_mxComboBox_Mirroring_mxml_default.png    |  Bin 941 -> 954 bytes
 ..._mxComboBox_Mirroring_parentContainer1_1.png |  Bin 1068 -> 1081 bytes
 ..._mxComboBox_Mirroring_parentContainer1_2.png |  Bin 2341 -> 2117 bytes
 ..._mxComboBox_Mirroring_parentContainer2_1.png |  Bin 1067 -> 1068 bytes
 ..._mxComboBox_Mirroring_parentContainer2_2.png |  Bin 2928 -> 2607 bytes
 ..._mxComboBox_Mirroring_parentContainer3_1.png |  Bin 1066 -> 1069 bytes
 ..._mxComboBox_Mirroring_parentContainer3_2.png |  Bin 2928 -> 2607 bytes
 ..._mxComboBox_Mirroring_parentContainer4_1.png |  Bin 1244 -> 1260 bytes
 ..._mxComboBox_Mirroring_parentContainer4_2.png |  Bin 3553 -> 3667 bytes
 .../WF_mxComboBox_Mirroring_selectedIndex.png   |  Bin 953 -> 942 bytes
 .../WF_mxComboBox_Mirroring_selectedItem.png    |  Bin 897 -> 856 bytes
 .../WF_mxComboBox_Mirroring_styles_1.png        |  Bin 967 -> 912 bytes
 .../WF_mxComboBox_Mirroring_styles_2.png        |  Bin 3360 -> 4444 bytes
 .../WF_mxComboBox_Mirroring_styles_3.png        |  Bin 993 -> 906 bytes
 .../Baselines/cb_styles_open_default_mac.png    |  Bin 4554 -> 0 bytes
 .../cb_styles_open_default_mac_spark.png        |  Bin 5294 -> 0 bytes
 ...b_styles_textDecoration_normal_mac_spark.png |  Bin 3882 -> 0 bytes
 .../cb_styles_textDecoration_underline_mac.png  |  Bin 4561 -> 0 bytes
 ...tyles_textDecoration_underline_mac_spark.png |  Bin 3875 -> 0 bytes
 .../mxComboBox_Mirroring_as_default_1.png       |  Bin 1452 -> 1396 bytes
 .../mxComboBox_Mirroring_as_default_2.png       |  Bin 1437 -> 1424 bytes
 .../mxComboBox_Mirroring_as_default_3.png       |  Bin 3128 -> 3425 bytes
 .../mxComboBox_Mirroring_default_1.png          |  Bin 1452 -> 1396 bytes
 .../mxComboBox_Mirroring_default_2.png          |  Bin 1437 -> 1424 bytes
 .../mxComboBox_Mirroring_default_3.png          |  Bin 3128 -> 3425 bytes
 .../Baselines/mxComboBox_Mirroring_icon1.png    |  Bin 1732 -> 1676 bytes
 .../Baselines/mxComboBox_Mirroring_icon2.png    |  Bin 1779 -> 1789 bytes
 .../mxComboBox_Mirroring_mxml_changeDir_1.png   |  Bin 1465 -> 1396 bytes
 .../mxComboBox_Mirroring_mxml_changeDir_2.png   |  Bin 1424 -> 1384 bytes
 .../mxComboBox_Mirroring_mxml_default.png       |  Bin 1465 -> 1396 bytes
 .../mxComboBox_Mirroring_parentContainer1_1.png |  Bin 1911 -> 1831 bytes
 .../mxComboBox_Mirroring_parentContainer1_2.png |  Bin 2420 -> 2364 bytes
 .../mxComboBox_Mirroring_parentContainer2_1.png |  Bin 1881 -> 1831 bytes
 .../mxComboBox_Mirroring_parentContainer2_2.png |  Bin 3007 -> 2912 bytes
 .../mxComboBox_Mirroring_parentContainer3_1.png |  Bin 1903 -> 1845 bytes
 .../mxComboBox_Mirroring_parentContainer3_2.png |  Bin 3007 -> 2912 bytes
 .../mxComboBox_Mirroring_parentContainer4_1.png |  Bin 2289 -> 2434 bytes
 .../mxComboBox_Mirroring_parentContainer4_2.png |  Bin 3621 -> 3805 bytes
 .../mxComboBox_Mirroring_selectedIndex.png      |  Bin 1457 -> 1403 bytes
 .../mxComboBox_Mirroring_selectedItem.png       |  Bin 1405 -> 1344 bytes
 .../Baselines/mxComboBox_Mirroring_styles_1.png |  Bin 1863 -> 2099 bytes
 .../Baselines/mxComboBox_Mirroring_styles_2.png |  Bin 3836 -> 4983 bytes
 .../Baselines/mxComboBox_Mirroring_styles_3.png |  Bin 1943 -> 2070 bytes
 .../ComboBox/Styles/ComboBoxStyleTester.mxml    |   33 +-
 .../Styles/ComboBoxStyleTester_spark.mxml       |   35 +-
 .../Styles/ComboBoxStylesMirroring.mxml         |   24 +-
 .../ComboBoxStylesMirroring_wireframe.mxml      |   19 +-
 ...omboBox_Styles_SkinImprovements_Padding.mxml |   10 +-
 ...x_Styles_SkinImprovements_Padding_spark.mxml |   10 +-
 .../Bugs/Datagrid_Bug_ResizeHDBox_halo.mxml     |    3 +-
 .../Bugs/Datagrid_Bug_Styles_halo.mxml          |    3 +-
 .../Bugs/datagrid_Bugs_halo.mxml                |    8 +-
 ...genabled_dropenabled_inprogress_halo@mac.png |  Bin 6537 -> 0 bytes
 ...agDropInLockedColumnArea_inProgress_halo.png |  Bin 23752 -> 19896 bytes
 ...opInLockedColumnArea_inProgress_halo@mac.png |  Bin 19902 -> 0 bytes
 ...DropInUnlockedColumnArea_inProgress_halo.png |  Bin 23161 -> 19723 bytes
 ...InUnlockedColumnArea_inProgress_halo@mac.png |  Bin 19729 -> 0 bytes
 ...unt_config8_multipleDragsInProgress_halo.png |  Bin 22507 -> 18624 bytes
 ...config8_multipleDragsInProgress_halo@mac.png |  Bin 18631 -> 0 bytes
 ..._dragDropInLockedRowArea_inProgress_halo.png |  Bin 30628 -> 24923 bytes
 ...gDropInLockedRowArea_inProgress_halo@mac.png |  Bin 24931 -> 0 bytes
 ...ragDropInUnlockedRowArea_inProgress_halo.png |  Bin 30863 -> 25004 bytes
 ...ropInUnlockedRowArea_inProgress_halo@mac.png |  Bin 25013 -> 0 bytes
 ...gDropInLockedRowArea_inProgress_halo@mac.png |  Bin 24594 -> 0 bytes
 ...ropInUnlockedRowArea_inProgress_halo@mac.png |  Bin 24686 -> 0 bytes
 ...gEnabled_dropEnabled_InProgress_halo@mac.png |  Bin 6749 -> 0 bytes
 .../Properties/datagrid_properties_halo.mxml    |    6 +-
 .../datagrid_properties_listbase_halo.mxml      |   12 +-
 ...agrid_properties_lockedColumnCount_halo.mxml |   19 +-
 ...datagrid_properties_lockedRowCount_halo.mxml |   68 +-
 .../SWFs/DataGridApp_halo.mxml                  |   12 +-
 .../SWFs/DataGridMain2_halo.mxml                |    4 +-
 .../SWFs/DataGridMain_halo.mxml                 |    1 -
 .../SWFs/DataGrid_Bugs1_halo.mxml               |    8 +-
 .../SWFs/DataGrid_Bugs2_halo.mxml               |    8 +-
 .../SWFs/DataGrid_Bugs_DragDrop_halo.mxml       |    8 +-
 .../SWFs/DataGrid_Bugs_ResizeHDBox_halo.mxml    |    8 +-
 .../SWFs/DataGrid_Bugs_Styles_halo.mxml         |    8 +-
 .../SWFs/DataGrid_Bugs_main_halo.mxml           |    8 +-
 .../SWFs/DataGrid_Events_Main_halo.mxml         |    8 +-
 ...ataGrid_lockedColumnCount_mxml_app_halo.mxml |   10 +-
 .../DataGrid_lockedRowCount_mxml_app_halo.mxml  |   10 +-
 .../SWFs/DataGrid_mxml_halo.mxml                |    8 +-
 .../styleName_multiple_precedence_halo.png      |  Bin 814 -> 852 bytes
 .../styleName_multiple_precedence_halo@mac.png  |  Bin 843 -> 0 bytes
 .../styleName_multiple_precedence_mac.png       |  Bin 843 -> 0 bytes
 .../Styles/datagrid_Styles_styleName_halo.mxml  |   21 +-
 .../Integration/datagrid_integration.mxml       |    2 +-
 .../Methods/datagrid_methods_dataGridBase.mxml  |    2 +-
 .../Baselines/datagrid_dragenabled@mac.png      |  Bin 6828 -> 0 bytes
 ...d_dragenabled_dropenabled_inprogress@mac.png |  Bin 6765 -> 0 bytes
 ...nCount_config2_addColumnsAfterDGCreation.png |  Bin 16391 -> 16501 bytes
 ...t_config5_moveLockedColumnToUnlockedArea.png |  Bin 16419 -> 16558 bytes
 ...t_config5_moveUnlockedColumnToLockedArea.png |  Bin 16331 -> 16542 bytes
 ...ount_config5_rearrangeLockedColumns_0to1.png |  Bin 16487 -> 16509 bytes
 ...ount_config5_rearrangeLockedColumns_1to0.png |  Bin 16487 -> 16509 bytes
 ...unt_config5_rearrangeUnlockedColumns0to2.png |  Bin 16360 -> 16502 bytes
 ...unt_config5_rearrangeUnlockedColumns2to0.png |  Bin 16404 -> 16531 bytes
 ...ount_config5_resizeLockedColumns_between.png |  Bin 16404 -> 15020 bytes
 ...g5_resizeLockedColumns_boundary_moveLeft.png |  Bin 16190 -> 16312 bytes
 ...5_resizeLockedColumns_boundary_moveRight.png |  Bin 15822 -> 16000 bytes
 ...ockedColumnCount_config5_scrollDownAndUp.png |  Bin 16514 -> 16647 bytes
 ...lockedColumnCount_config5_scrollDownFull.png |  Bin 13667 -> 13637 bytes
 .../lockedColumnCount_config5_scrollDownOne.png |  Bin 16434 -> 16561 bytes
 ...fig6_columnsAreLocked_scrollRightAndLeft.png |  Bin 16412 -> 16625 bytes
 ...t_config6_moveLockedColumnToUnlockedArea.png |  Bin 16387 -> 16527 bytes
 ...t_config6_moveUnlockedColumnToLockedArea.png |  Bin 16404 -> 16542 bytes
 ...unt_config6_rearrangeUnlockedColumns0to2.png |  Bin 16384 -> 16513 bytes
 ...unt_config6_rearrangeUnlockedColumns2to0.png |  Bin 16413 -> 16567 bytes
 ...g6_resizeLockedColumns_boundary_moveLeft.png |  Bin 15328 -> 15478 bytes
 ...6_resizeLockedColumns_boundary_moveRight.png |  Bin 15703 -> 15887 bytes
 ..._dragDropInLockedColumnArea_dropComplete.png |  Bin 16495 -> 16610 bytes
 ...g8_dragDropInLockedColumnArea_inProgress.png |  Bin 23901 -> 19912 bytes
 ...ragDropInLockedColumnArea_inProgress@mac.png |  Bin 19214 -> 0 bytes
 ...ragDropInUnlockedColumnArea_dropComplete.png |  Bin 16221 -> 16343 bytes
 ..._dragDropInUnlockedColumnArea_inProgress.png |  Bin 23161 -> 19595 bytes
 ...gDropInUnlockedColumnArea_inProgress@mac.png |  Bin 18941 -> 0 bytes
 ...t_config8_dragDropLockedToUnlockedColumn.png |  Bin 16221 -> 16343 bytes
 ...nfig8_dragDropUnlockedToLockedColumnArea.png |  Bin 20689 -> 16406 bytes
 ...8_dragDropUnlockedToLockedColumnArea@mac.png |  Bin 16291 -> 0 bytes
 ...umnCount_config8_multipleDragsInProgress.png |  Bin 23340 -> 19775 bytes
 ...ount_config8_multipleDragsInProgress@mac.png |  Bin 18951 -> 0 bytes
 ...Count_config9_dragDropInLockedColumnArea.png |  Bin 16189 -> 16331 bytes
 ...unt_config9_dragDropInUnlockedColumnArea.png |  Bin 16189 -> 16331 bytes
 ...t_config9_dragDropLockedToUnlockedColumn.png |  Bin 16189 -> 16331 bytes
 ...nfig9_dragDropUnlockedToLockedColumnArea.png |  Bin 16201 -> 16344 bytes
 ...ig1_dragDropInLockedRowArea_dropComplete.png |  Bin 22364 -> 22634 bytes
 ...nfig1_dragDropInLockedRowArea_inProgress.png |  Bin 31234 -> 25746 bytes
 ...1_dragDropInLockedRowArea_inProgress@mac.png |  Bin 24985 -> 0 bytes
 ...1_dragDropInUnlockedRowArea_dropComplete.png |  Bin 22399 -> 22654 bytes
 ...ig1_dragDropInUnlockedRowArea_inProgress.png |  Bin 31711 -> 25884 bytes
 ...dragDropInUnlockedRowArea_inProgress@mac.png |  Bin 25064 -> 0 bytes
 ...ount_config1_dragDropLockedToUnlockedRow.png |  Bin 22215 -> 22906 bytes
 ..._config1_dragDropUnlockedToLockedRowArea.png |  Bin 22309 -> 22549 bytes
 ...ig2_dragDropInLockedRowArea_dropComplete.png |  Bin 21741 -> 22446 bytes
 ...nfig2_dragDropInLockedRowArea_inProgress.png |  Bin 30895 -> 25416 bytes
 ...2_dragDropInLockedRowArea_inProgress@mac.png |  Bin 24656 -> 0 bytes
 ...2_dragDropInUnlockedRowArea_dropComplete.png |  Bin 22209 -> 22453 bytes
 ...ig2_dragDropInUnlockedRowArea_inProgress.png |  Bin 31344 -> 25546 bytes
 ...dragDropInUnlockedRowArea_inProgress@mac.png |  Bin 24735 -> 0 bytes
 ...ount_config2_dragDropLockedToUnlockedRow.png |  Bin 22202 -> 22440 bytes
 ..._config2_dragDropUnlockedToLockedRowArea.png |  Bin 21781 -> 22441 bytes
 .../lockedRowCount_mxml_config10_scrollup.png   |  Bin 7231 -> 7390 bytes
 .../lockedRowCount_mxml_config10_sortleft.png   |  Bin 7137 -> 7575 bytes
 .../lockedRowCount_mxml_config10_sortright.png  |  Bin 7136 -> 7444 bytes
 .../lockedRowCount_mxml_config11_scrollup.png   |  Bin 7004 -> 7275 bytes
 .../lockedRowCount_mxml_config11_sortleft.png   |  Bin 7255 -> 7678 bytes
 .../lockedRowCount_mxml_config11_sortright.png  |  Bin 6842 -> 7157 bytes
 .../lockedRowCount_mxml_config2_scrollup.png    |  Bin 7800 -> 8575 bytes
 .../lockedRowCount_mxml_config2_sortleft.png    |  Bin 7842 -> 8753 bytes
 .../lockedRowCount_mxml_config2_sortright.png   |  Bin 7135 -> 8270 bytes
 .../lockedRowCount_mxml_config3_scrollup.png    |  Bin 7602 -> 8383 bytes
 .../lockedRowCount_mxml_config3_sortleft.png    |  Bin 7858 -> 8766 bytes
 .../lockedRowCount_mxml_config3_sortright.png   |  Bin 7105 -> 8234 bytes
 .../lockedRowCount_mxml_config4_scrollup.png    |  Bin 8109 -> 8847 bytes
 .../lockedRowCount_mxml_config4_sortleft.png    |  Bin 8432 -> 9200 bytes
 .../lockedRowCount_mxml_config4_sortright.png   |  Bin 7550 -> 8332 bytes
 .../lockedRowCount_mxml_config5_scrollup.png    |  Bin 7883 -> 8621 bytes
 .../lockedRowCount_mxml_config5_sortleft.png    |  Bin 8428 -> 9199 bytes
 .../lockedRowCount_mxml_config5_sortright.png   |  Bin 7499 -> 8283 bytes
 .../lockedRowCount_mxml_config6_scrollup.png    |  Bin 6612 -> 6724 bytes
 .../lockedRowCount_mxml_config6_sortleft.png    |  Bin 7167 -> 6964 bytes
 .../lockedRowCount_mxml_config6_sortright.png   |  Bin 6792 -> 6681 bytes
 .../lockedRowCount_mxml_config7_scrollup.png    |  Bin 6659 -> 6676 bytes
 .../lockedRowCount_mxml_config7_sortleft.png    |  Bin 7121 -> 6912 bytes
 .../lockedRowCount_mxml_config7_sortright.png   |  Bin 6722 -> 6610 bytes
 .../lockedRowCount_mxml_config8_scrolldown.png  |  Bin 6701 -> 6689 bytes
 .../lockedRowCount_mxml_config8_scrollup.png    |  Bin 8091 -> 7988 bytes
 .../lockedRowCount_mxml_config8_sortleft.png    |  Bin 7490 -> 7892 bytes
 .../lockedRowCount_mxml_config8_sortright.png   |  Bin 7240 -> 7695 bytes
 .../lockedRowCount_mxml_config9_scrollup.png    |  Bin 7457 -> 7547 bytes
 .../lockedRowCount_mxml_config9_sortleft.png    |  Bin 7340 -> 7785 bytes
 .../lockedRowCount_mxml_config9_sortright.png   |  Bin 7291 -> 7600 bytes
 .../Baselines/property_dragEnabled@mac.png      |  Bin 6653 -> 0 bytes
 ...y_dragEnabled_dropEnabled_InProgress@mac.png |  Bin 6501 -> 0 bytes
 .../datagrid_properties_listbase.mxml           |   63 +-
 .../datagrid_properties_lockedColumnCount.mxml  |   27 +-
 .../datagrid_properties_lockedRowCount.mxml     |  155 +-
 .../datagrid_properties_scrollPolicies.mxml     |    3 +-
 .../DataGrid_SparkSkin/SWFs/DataGridApp.mxml    |    6 +-
 .../SWFs/DataGridApp_mirroring.mxml             |   24 +
 .../SWFs/DataGrid_lockedRowCount_mxml_app.mxml  |    2 +-
 .../Baselines/datagrid_mirroring_test1.png      |  Bin 3340 -> 3429 bytes
 .../Baselines/datagrid_mirroring_test10.png     |  Bin 6886 -> 7339 bytes
 .../Baselines/datagrid_mirroring_test11.png     |  Bin 6842 -> 7388 bytes
 .../Baselines/datagrid_mirroring_test12.png     |  Bin 6731 -> 7269 bytes
 .../Baselines/datagrid_mirroring_test13.png     |  Bin 6764 -> 7299 bytes
 .../Baselines/datagrid_mirroring_test14.png     |  Bin 6559 -> 6664 bytes
 .../Baselines/datagrid_mirroring_test15.png     |  Bin 6584 -> 6627 bytes
 .../Baselines/datagrid_mirroring_test16.png     |  Bin 7471 -> 7811 bytes
 .../Baselines/datagrid_mirroring_test17.png     |  Bin 7313 -> 7551 bytes
 .../Baselines/datagrid_mirroring_test18.png     |  Bin 14288 -> 15215 bytes
 .../Baselines/datagrid_mirroring_test19.png     |  Bin 14271 -> 15133 bytes
 .../Baselines/datagrid_mirroring_test2.png      |  Bin 3329 -> 3472 bytes
 .../Baselines/datagrid_mirroring_test20.png     |  Bin 4842 -> 4524 bytes
 .../Baselines/datagrid_mirroring_test21.png     |  Bin 4415 -> 4362 bytes
 .../Baselines/datagrid_mirroring_test22.png     |  Bin 5316 -> 5208 bytes
 .../Baselines/datagrid_mirroring_test23.png     |  Bin 4514 -> 4462 bytes
 .../Baselines/datagrid_mirroring_test24.png     |  Bin 4514 -> 4462 bytes
 .../Baselines/datagrid_mirroring_test25.png     |  Bin 5086 -> 4616 bytes
 .../Baselines/datagrid_mirroring_test26.png     |  Bin 5145 -> 4699 bytes
 .../Baselines/datagrid_mirroring_test27.png     |  Bin 4435 -> 4399 bytes
 .../Baselines/datagrid_mirroring_test28.png     |  Bin 4435 -> 4399 bytes
 .../Baselines/datagrid_mirroring_test29.png     |  Bin 7685 -> 7769 bytes
 .../Baselines/datagrid_mirroring_test3.png      |  Bin 3526 -> 3603 bytes
 .../Baselines/datagrid_mirroring_test31.png     |  Bin 7953 -> 7923 bytes
 .../Baselines/datagrid_mirroring_test32.png     |  Bin 7880 -> 7925 bytes
 .../Baselines/datagrid_mirroring_test4.png      |  Bin 3560 -> 3626 bytes
 .../Baselines/datagrid_mirroring_test5.png      |  Bin 5575 -> 4396 bytes
 .../Baselines/datagrid_mirroring_test6.png      |  Bin 3199 -> 3260 bytes
 .../Baselines/datagrid_mirroring_test7.png      |  Bin 6564 -> 6671 bytes
 .../Baselines/datagrid_mirroring_test8.png      |  Bin 6567 -> 6673 bytes
 .../Baselines/datagrid_mirroring_test9.png      |  Bin 6571 -> 6676 bytes
 .../styleName_multiple_precedence_mac.png       |  Bin 854 -> 0 bytes
 .../Styles/datagrid_Styles_styleName.mxml       |   15 -
 .../Styles/datagrid_styles_2.mxml               |    2 +-
 .../Styles/datagrid_styles_mirroring.mxml       |   54 +-
 .../datagrid_mirroring_wireframe_test1.png      |  Bin 2915 -> 2963 bytes
 .../datagrid_mirroring_wireframe_test10.png     |  Bin 7648 -> 7254 bytes
 .../datagrid_mirroring_wireframe_test11.png     |  Bin 7534 -> 7402 bytes
 .../datagrid_mirroring_wireframe_test12.png     |  Bin 7486 -> 7248 bytes
 .../datagrid_mirroring_wireframe_test13.png     |  Bin 7538 -> 7239 bytes
 .../datagrid_mirroring_wireframe_test14.png     |  Bin 6065 -> 5997 bytes
 .../datagrid_mirroring_wireframe_test15.png     |  Bin 6097 -> 5801 bytes
 .../datagrid_mirroring_wireframe_test16.png     |  Bin 6573 -> 6913 bytes
 .../datagrid_mirroring_wireframe_test17.png     |  Bin 6408 -> 6667 bytes
 .../datagrid_mirroring_wireframe_test18.png     |  Bin 13293 -> 14386 bytes
 .../datagrid_mirroring_wireframe_test19.png     |  Bin 13280 -> 14362 bytes
 .../datagrid_mirroring_wireframe_test2.png      |  Bin 2959 -> 3060 bytes
 .../datagrid_mirroring_wireframe_test20.png     |  Bin 4338 -> 4029 bytes
 .../datagrid_mirroring_wireframe_test21.png     |  Bin 4100 -> 4037 bytes
 .../datagrid_mirroring_wireframe_test22.png     |  Bin 4886 -> 4724 bytes
 .../datagrid_mirroring_wireframe_test23.png     |  Bin 4190 -> 4128 bytes
 .../datagrid_mirroring_wireframe_test24.png     |  Bin 4190 -> 4128 bytes
 .../datagrid_mirroring_wireframe_test25.png     |  Bin 4843 -> 4193 bytes
 .../datagrid_mirroring_wireframe_test26.png     |  Bin 4782 -> 4240 bytes
 .../datagrid_mirroring_wireframe_test27.png     |  Bin 4205 -> 4089 bytes
 .../datagrid_mirroring_wireframe_test28.png     |  Bin 4132 -> 4087 bytes
 .../datagrid_mirroring_wireframe_test29.png     |  Bin 7290 -> 6904 bytes
 .../datagrid_mirroring_wireframe_test3.png      |  Bin 3124 -> 3172 bytes
 .../datagrid_mirroring_wireframe_test4.png      |  Bin 3159 -> 3192 bytes
 .../datagrid_mirroring_wireframe_test5.png      |  Bin 5136 -> 4015 bytes
 .../datagrid_mirroring_wireframe_test6.png      |  Bin 2793 -> 2821 bytes
 .../datagrid_mirroring_wireframe_test7.png      |  Bin 6111 -> 6137 bytes
 .../datagrid_mirroring_wireframe_test8.png      |  Bin 6110 -> 6143 bytes
 .../datagrid_mirroring_wireframe_test9.png      |  Bin 6111 -> 6140 bytes
 .../datagrid_styles_mirroring_wireframe.mxml    |   67 +-
 .../properties/DateChooser_Properties.mxml      |  109 +-
 .../styles/DateChooser_Styles_UIComponent.mxml  |   25 -
 .../DateChooser_Styles_UIComponent_spark.mxml   |   35 +-
 .../styles/baselines/focusBlend_screen.png      |  Bin 2586 -> 5035 bytes
 .../baselines/focusBlend_screen_spark.png       |  Bin 1973 -> 4596 bytes
 .../styles/baselines/focusBlend_subtract.png    |  Bin 2611 -> 5035 bytes
 .../baselines/focusBlend_subtract_spark.png     |  Bin 2023 -> 4596 bytes
 .../styles/baselines/focusSkin_custom.png       |  Bin 2846 -> 5599 bytes
 .../styles/baselines/focusSkin_custom_spark.png |  Bin 2638 -> 5350 bytes
 .../styles/baselines/focusThickness_0.png       |  Bin 2143 -> 4899 bytes
 .../styles/baselines/focusThickness_0_spark.png |  Bin 1825 -> 4582 bytes
 .../styles/baselines/focusThickness_8.png       |  Bin 2872 -> 5035 bytes
 .../styles/baselines/focusThickness_8_spark.png |  Bin 2019 -> 4596 bytes
 .../DateChooser/swfs/DateChooser_Basic.mxml     |    2 +
 .../swfs/DateChooser_InContainer.mxml           |    2 +-
 .../swfs/DateChooser_InContainer_spark.mxml     |    2 +-
 .../DateField/Methods/baselines/dfClose.png     |  Bin 3904 -> 3908 bytes
 .../DateField/Styles/DateField_Styles.mxml      |    3 +-
 .../Styles/DateField_Styles_spark.mxml          |    1 +
 .../baselines/borderColor_dropDown_toplevel.png |  Bin 1200 -> 4526 bytes
 .../Styles/baselines/borderColor_mxml.png       |  Bin 375 -> 378 bytes
 .../baselines/borderColor_mxml_styleName.png    |  Bin 378 -> 381 bytes
 .../Styles/baselines/fillColorsAlpha_pound.png  |  Bin 771 -> 774 bytes
 .../Styles/baselines/fillColorsAlpha_solid.png  |  Bin 771 -> 774 bytes
 .../DateField/Styles/baselines/focusAlpha_1.png |  Bin 771 -> 774 bytes
 .../Styles/baselines/focusBlend_screen.png      |  Bin 652 -> 656 bytes
 .../Styles/baselines/focusBlend_subtract.png    |  Bin 656 -> 660 bytes
 .../Styles/baselines/focusRoundedforners_bl.png |  Bin 771 -> 774 bytes
 .../Styles/baselines/focusRoundedforners_br.png |  Bin 771 -> 774 bytes
 .../Styles/baselines/focusRoundedforners_tl.png |  Bin 771 -> 774 bytes
 .../Styles/baselines/focusRoundedforners_tr.png |  Bin 771 -> 774 bytes
 .../Styles/baselines/focusSkin_custom.png       |  Bin 1311 -> 1315 bytes
 .../Styles/baselines/focusThickness_0.png       |  Bin 622 -> 625 bytes
 .../Styles/baselines/focusThickness_8.png       |  Bin 654 -> 657 bytes
 .../baselines/fontAntiAliasType_normal.png      |  Bin 771 -> 774 bytes
 .../Styles/baselines/fontFamily_Georgia.png     |  Bin 725 -> 727 bytes
 .../Styles/baselines/fontFamily_arial.png       |  Bin 790 -> 793 bytes
 .../Styles/baselines/fontSharpness_0.png        |  Bin 1834 -> 1839 bytes
 .../Styles/baselines/fontSharpness_400.png      |  Bin 1834 -> 1839 bytes
 .../Styles/baselines/fontStyle_italics.png      |  Bin 774 -> 776 bytes
 .../baselines/fontStyle_normal_DateField.png    |  Bin 771 -> 774 bytes
 .../Styles/baselines/fontThickness_10.png       |  Bin 771 -> 774 bytes
 .../Styles/baselines/fontThickness_200.png      |  Bin 771 -> 774 bytes
 .../baselines/fontWeight_bold_DateField.png     |  Bin 817 -> 820 bytes
 .../baselines/fontWeight_normal_DateField.png   |  Bin 771 -> 774 bytes
 .../baselines/selectionColor_0x_toplevel.png    |  Bin 1199 -> 4541 bytes
 .../selectionColor_0x_toplevel_spark.png        |  Bin 1278 -> 4306 bytes
 .../properties/DateField_Properties.mxml        |   34 +
 .../properties/DateField_Properties_spark.mxml  |   41 +-
 .../baselines/DateField_DayNames1.png           |  Bin 3904 -> 8598 bytes
 .../baselines/DateField_DayNames1_spark.png     |  Bin 4136 -> 9047 bytes
 .../baselines/DateField_DayNames2.png           |  Bin 3904 -> 8598 bytes
 .../baselines/DateField_DayNames2_spark.png     |  Bin 4136 -> 9047 bytes
 .../DateField_Property_MonthNames1.png          |  Bin 3904 -> 8084 bytes
 .../DateField_Property_MonthNames1_spark.png    |  Bin 4136 -> 8342 bytes
 .../DateField_Property_MonthNames2.png          |  Bin 3904 -> 8125 bytes
 .../DateField_Property_MonthNames2_spark.png    |  Bin 4136 -> 8377 bytes
 .../DateField_Property_disabledRanges1.png      |  Bin 3904 -> 8988 bytes
 ...DateField_Property_disabledRanges1_spark.png |  Bin 4136 -> 8758 bytes
 .../DateField_Property_disabledRanges2.png      |  Bin 3904 -> 8988 bytes
 ...DateField_Property_disabledRanges2_spark.png |  Bin 4136 -> 8758 bytes
 .../DateField_Property_displayedMonth1.png      |  Bin 3496 -> 8544 bytes
 ...DateField_Property_displayedMonth1_spark.png |  Bin 3721 -> 8232 bytes
 .../DateField_Property_displayedMonth2.png      |  Bin 3496 -> 8289 bytes
 ...DateField_Property_displayedMonth2_spark.png |  Bin 3721 -> 7984 bytes
 .../DateField_Property_displayedYear1.png       |  Bin 3496 -> 8289 bytes
 .../DateField_Property_displayedYear1_spark.png |  Bin 3721 -> 7984 bytes
 .../DateField_Property_displayedYear2.png       |  Bin 3496 -> 8289 bytes
 .../DateField_Property_displayedYear2_spark.png |  Bin 3721 -> 7984 bytes
 .../DateField_Property_firstDayOfWeek1.png      |  Bin 3904 -> 8927 bytes
 ...DateField_Property_firstDayOfWeek1_spark.png |  Bin 4136 -> 8706 bytes
 .../DateField_Property_firstDayOfWeek2.png      |  Bin 3904 -> 9027 bytes
 ...DateField_Property_firstDayOfWeek2_spark.png |  Bin 4136 -> 8742 bytes
 .../baselines/DateField_Property_height2.png    |  Bin 1058 -> 1061 bytes
 .../DateField_Property_height_MXML.png          |  Bin 1058 -> 1061 bytes
 .../DateField_Property_height_Small.png         |  Bin 818 -> 821 bytes
 .../DateField_Property_percentHeight2.png       |  Bin 1156 -> 1158 bytes
 .../DateField_Property_percentHeight_MXML.png   |  Bin 1156 -> 1158 bytes
 .../DateField_Property_percentHeight_Small.png  |  Bin 996 -> 999 bytes
 .../DateField_Property_percentWidth2.png        |  Bin 898 -> 901 bytes
 .../DateField_Property_percentWidth_MXML.png    |  Bin 898 -> 901 bytes
 .../DateField_Property_percentWidth_Small.png   |  Bin 843 -> 846 bytes
 .../baselines/DateField_Property_scaleX1.png    |  Bin 4241 -> 9325 bytes
 .../DateField_Property_scaleX1_spark.png        |  Bin 4379 -> 9172 bytes
 .../baselines/DateField_Property_scaleX2.png    |  Bin 4146 -> 9568 bytes
 .../DateField_Property_scaleX2_spark.png        |  Bin 4280 -> 9370 bytes
 .../baselines/DateField_Property_scaleY1.png    |  Bin 4331 -> 11060 bytes
 .../DateField_Property_scaleY1_spark.png        |  Bin 4381 -> 10672 bytes
 .../baselines/DateField_Property_scaleY2.png    |  Bin 4133 -> 9822 bytes
 .../DateField_Property_scaleY2_spark.png        |  Bin 4236 -> 9717 bytes
 .../DateField_Property_selectedDate1.png        |  Bin 3904 -> 8906 bytes
 .../DateField_Property_selectedDate1_spark.png  |  Bin 4136 -> 8644 bytes
 .../DateField_Property_selectedDate2.png        |  Bin 3904 -> 8906 bytes
 .../DateField_Property_selectedDate2_spark.png  |  Bin 4136 -> 8644 bytes
 .../baselines/DateField_Property_showToday1.png |  Bin 3904 -> 8906 bytes
 .../DateField_Property_showToday1_spark.png     |  Bin 4136 -> 8644 bytes
 .../baselines/DateField_Property_showToday2.png |  Bin 3904 -> 8906 bytes
 .../DateField_Property_showToday2_spark.png     |  Bin 4136 -> 8644 bytes
 .../baselines/DateField_Property_width2.png     |  Bin 832 -> 835 bytes
 .../baselines/DateField_Property_width_MXML.png |  Bin 867 -> 870 bytes
 .../DateField_Property_width_Small.png          |  Bin 588 -> 602 bytes
 .../baselines/DateField_Property_x1.png         |  Bin 3903 -> 9054 bytes
 .../baselines/DateField_Property_x1_spark.png   |  Bin 4135 -> 8737 bytes
 .../baselines/DateField_Property_x2.png         |  Bin 3903 -> 8873 bytes
 .../baselines/DateField_Property_x2_spark.png   |  Bin 4136 -> 8649 bytes
 .../baselines/DateField_Property_y1.png         |  Bin 3906 -> 9522 bytes
 .../baselines/DateField_Property_y1_spark.png   |  Bin 4144 -> 8875 bytes
 .../baselines/DateField_Property_y2.png         |  Bin 3906 -> 9200 bytes
 .../baselines/DateField_Property_y2_spark.png   |  Bin 4145 -> 7643 bytes
 .../baselines/DateField_disabledDays1.png       |  Bin 3904 -> 9294 bytes
 .../baselines/DateField_disabledDays1_spark.png |  Bin 4136 -> 9326 bytes
 .../baselines/DateField_disabledDays2.png       |  Bin 3904 -> 9239 bytes
 .../baselines/DateField_disabledDays2_spark.png |  Bin 4136 -> 9207 bytes
 .../DateField_yearNavigationEnabled1.png        |  Bin 3950 -> 8785 bytes
 .../DateField_yearNavigationEnabled1_spark.png  |  Bin 4194 -> 8738 bytes
 .../DateField_yearNavigationEnabled2.png        |  Bin 3950 -> 8785 bytes
 .../DateField_yearNavigationEnabled2_spark.png  |  Bin 4194 -> 8738 bytes
 .../Properties/HorizontalList_Mirroring.mxml    |   15 +-
 .../baselines/HorizontalList_Mirroring_rtl.png  |  Bin 2100 -> 1915 bytes
 .../baselines/Key_selection1_Mirroring_rtl.png  |  Bin 2352 -> 2055 bytes
 .../baselines/Key_selection_Mirroring_rtl.png   |  Bin 2404 -> 2192 bytes
 .../Key_selection_end_Mirroring_rtl.png         |  Bin 2467 -> 2215 bytes
 .../SWFs/HorizontalList_Mirroring_Basic.mxml    |   28 +-
 .../components/Label/events/data/ListDataAS.as  |    2 +-
 .../components/Label/events/data/MyLabel.as     |    2 +-
 .../Label/styles/Label_styles_tester_Spark.mxml |    4 +-
 .../LinkBar_Integration_mirroring_rtl.png       |  Bin 1493 -> 2042 bytes
 ...tegration_mirroring_swapDataProvider_rtl.png |  Bin 1608 -> 1551 bytes
 ...nkBar_Integration_mirroring_vertical_rtl.png |  Bin 1509 -> 2100 bytes
 .../LinkBar/SWFs/comps/button_gif_runtime.mxml  |   38 +-
 .../LinkBar/SWFs/comps/button_jpg_runtime.mxml  |   38 +-
 .../LinkBar/SWFs/comps/button_png_runtime.mxml  |   38 +-
 .../LinkBar/SWFs/comps/button_swf_runtime.mxml  |   38 +-
 .../LinkBar/SWFs/comps/icon_gif_runtime.mxml    |   38 +-
 .../LinkBar/SWFs/comps/icon_jpg_runtime.mxml    |   38 +-
 .../LinkBar/SWFs/comps/icon_png_runtime.mxml    |   38 +-
 .../Styles/LinkBar_SkinStates_Basic.mxml        |   48 +-
 ...nkBar_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 3509 bytes
 ...r_Styles_SkinStates_Embeding_JPGIcon@air.png |  Bin 0 -> 3221 bytes
 ...ing_JPGIcon_mouseDown_NonselectedTab@air.png |  Bin 0 -> 3764 bytes
 ...beding_JPGIcon_mouseDown_selectedTab@air.png |  Bin 0 -> 3379 bytes
 ...ing_JPGIcon_mouseOver_NonselectedTab@air.png |  Bin 0 -> 4069 bytes
 ...beding_JPGIcon_mouseOver_selectedTab@air.png |  Bin 0 -> 3636 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 4583 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 4390 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 4938 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 4729 bytes
 .../LinkBar_Styles_SkinStates_runtime_GIF.png   |  Bin 1159 -> 2741 bytes
 ...kBar_Styles_SkinStates_runtime_GIF_spark.png |  Bin 1151 -> 2843 bytes
 .../LinkBar_Styles_SkinStates_runtime_JPG.png   |  Bin 1159 -> 3496 bytes
 ...inkBar_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 3509 bytes
 ...ar_Styles_SkinStates_runtime_JPGIcon@air.png |  Bin 0 -> 1328 bytes
 ...kBar_Styles_SkinStates_runtime_JPG_spark.png |  Bin 1151 -> 3686 bytes
 .../LinkBar_Styles_SkinStates_runtime_PNG.png   |  Bin 1159 -> 2741 bytes
 ...kBar_Styles_SkinStates_runtime_PNG_spark.png |  Bin 1151 -> 2843 bytes
 .../LinkBar_Styles_SkinStates_runtime_SWF.png   |  Bin 1159 -> 4906 bytes
 ...ntime_SWF_mouseDown_NonselectedTab_spark.png |  Bin 1151 -> 5534 bytes
 ..._runtime_SWF_mouseDown_selectedTab_spark.png |  Bin 1151 -> 5362 bytes
 ...ntime_SWF_mouseOver_NonselectedTab_spark.png |  Bin 1151 -> 5981 bytes
 ..._runtime_SWF_mouseOver_selectedTab_spark.png |  Bin 1151 -> 5673 bytes
 ...kBar_Styles_SkinStates_runtime_SWF_spark.png |  Bin 1151 -> 4937 bytes
 ...ayoutDirection_property_MXLinkButton_rtl.png |  Bin 780 -> 708 bytes
 ...on_property_MXLinkButton_rtl_setOnParent.png |  Bin 1889 -> 1783 bytes
 ...ction_property_MXLinkButton_rtl_withIcon.png |  Bin 910 -> 926 bytes
 .../styles/LinkButton_SkinStates_Basic.mxml     |   71 +-
 ...les_SkinStates_Embeding_Disabled_JPG@air.png |  Bin 0 -> 1646 bytes
 ...SkinStates_Embeding_Disabled_JPGIcon@air.png |  Bin 0 -> 1228 bytes
 ...les_SkinStates_Embeding_Disabled_SWF_air.png |  Bin 2309 -> 1622 bytes
 ...utton_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 2065 bytes
 ...n_Styles_SkinStates_Embeding_JPGIcon@air.png |  Bin 0 -> 1744 bytes
 ...ing_JPGIcon_mouseDown_NonselectedTab@air.png |  Bin 0 -> 1538 bytes
 ...beding_JPGIcon_mouseDown_selectedTab@air.png |  Bin 0 -> 1538 bytes
 ...ing_JPGIcon_mouseOver_NonselectedTab@air.png |  Bin 0 -> 1744 bytes
 ...beding_JPGIcon_mouseOver_selectedTab@air.png |  Bin 0 -> 1744 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 2305 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 2305 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 2065 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 2065 bytes
 ...utton_Styles_SkinStates_Embeding_SWF_air.png |  Bin 2965 -> 2424 bytes
 ...mbeding_SWF_mouseDown_NonselectedTab_air.png |  Bin 2754 -> 2965 bytes
 ...s_Embeding_SWF_mouseDown_selectedTab_air.png |  Bin 2754 -> 2965 bytes
 ...mbeding_SWF_mouseOver_NonselectedTab_air.png |  Bin 2965 -> 2424 bytes
 ...s_Embeding_SWF_mouseOver_selectedTab_air.png |  Bin 2965 -> 2424 bytes
 ...on_Styles_SkinStates_runtime_JPGIcon@air.png |  Bin 0 -> 874 bytes
 .../LinkButton/swfs/LinkButton_spark_main.mxml  |    4 +-
 .../LinkButton/swfs/comps/icon_gif_runtime.mxml |   38 +-
 .../LinkButton/swfs/comps/icon_jpg_runtime.mxml |   38 +-
 .../LinkButton/swfs/comps/icon_png_runtime.mxml |   38 +-
 .../WF_mxList_Mirroring_as_default.png          |  Bin 851 -> 810 bytes
 .../Baselines/WF_mxList_Mirroring_default_1.png |  Bin 896 -> 813 bytes
 .../Baselines/WF_mxList_Mirroring_default_2.png |  Bin 869 -> 814 bytes
 .../WF_mxList_Mirroring_mxml_changeDir_1.png    |  Bin 873 -> 848 bytes
 .../WF_mxList_Mirroring_mxml_changeDir_2.png    |  Bin 889 -> 830 bytes
 .../WF_mxList_Mirroring_parentContainer2_1.png  |  Bin 1028 -> 986 bytes
 .../WF_mxList_Mirroring_parentContainer3_1.png  |  Bin 1027 -> 988 bytes
 .../WF_mxList_Mirroring_parentContainer4_1.png  |  Bin 1412 -> 1292 bytes
 .../WF_mxList_Mirroring_selectedIndex.png       |  Bin 858 -> 812 bytes
 .../WF_mxList_Mirroring_selectedItem.png        |  Bin 887 -> 829 bytes
 .../Baselines/WF_mxList_Mirroring_styles_1.png  |  Bin 1192 -> 1100 bytes
 .../Baselines/WF_mxList_Mirroring_styles_3.png  |  Bin 1205 -> 1126 bytes
 .../Baselines/mxList_Mirroring_as_default.png   |  Bin 902 -> 901 bytes
 .../Baselines/mxList_Mirroring_default_1.png    |  Bin 957 -> 914 bytes
 .../Baselines/mxList_Mirroring_default_2.png    |  Bin 924 -> 920 bytes
 .../mxList_Mirroring_mxml_changeDir_1.png       |  Bin 906 -> 884 bytes
 .../mxList_Mirroring_mxml_changeDir_2.png       |  Bin 928 -> 894 bytes
 .../mxList_Mirroring_parentContainer2_1.png     |  Bin 1988 -> 1382 bytes
 .../mxList_Mirroring_parentContainer3_1.png     |  Bin 2019 -> 1382 bytes
 .../mxList_Mirroring_parentContainer4_1.png     |  Bin 2179 -> 2089 bytes
 .../mxList_Mirroring_selectedIndex.png          |  Bin 891 -> 859 bytes
 .../Baselines/mxList_Mirroring_selectedItem.png |  Bin 923 -> 874 bytes
 .../Baselines/mxList_Mirroring_styles_1.png     |  Bin 1686 -> 1573 bytes
 .../Baselines/mxList_Mirroring_styles_3.png     |  Bin 1653 -> 1561 bytes
 .../List/Styles/ListStyleListBaseTester.mxml    |    2 +-
 .../Styles/ListStyleListBaseTester_spark.mxml   |    2 +-
 .../List/Styles/ListStyleTester_spark.mxml      |    2 +-
 .../Properties/baselines/IconField_Basic.png    |  Bin 2351 -> 1512 bytes
 .../Halo/Properties/baselines/Icon_Basic.png    |  Bin 3307 -> 2272 bytes
 .../components/Menu/Halo/SWFs/Menu_Basic.mxml   |   10 +-
 .../Menu/Halo/Styles/Menu_Styles.mxml           |  126 +-
 .../Styles/Menu_Styles_ScrollControlBase.mxml   |    2 +-
 .../Halo/Styles/baselines/branchIcon_css.png    |  Bin 1038 -> 2268 bytes
 .../Halo/Styles/baselines/branchIcon_static.png |  Bin 1037 -> 2267 bytes
 .../Styles/baselines/branchdisabledIcon_css.png |  Bin 3620 -> 2269 bytes
 .../baselines/branchdisabledIcon_runtime.png    |  Bin 3701 -> 2264 bytes
 .../baselines/branchdisabledIcon_static.png     |  Bin 3701 -> 2264 bytes
 .../Styles/baselines/checkDisabledIcon_css.png  |  Bin 1294 -> 1838 bytes
 .../baselines/checkDisabledIcon_static.png      |  Bin 1294 -> 1838 bytes
 .../Halo/Styles/baselines/checkIcon_css.png     |  Bin 1302 -> 1841 bytes
 .../Halo/Styles/baselines/checkIcon_static.png  |  Bin 1302 -> 1841 bytes
 .../Styles/baselines/fontFamily_flashtype.png   |  Bin 521 -> 99 bytes
 .../baselines/fontStyle_italic_MenuItem.png     |  Bin 382 -> 381 bytes
 .../baselines/fontStyle_normal_MenuItem.png     |  Bin 384 -> 380 bytes
 .../baselines/fontWeight_bold_MenuItem.png      |  Bin 388 -> 388 bytes
 .../baselines/fontWeight_normal_MenuItem.png    |  Bin 384 -> 380 bytes
 .../Menu/Halo/Styles/baselines/leading_15.png   |  Bin 387 -> 385 bytes
 .../Halo/Styles/baselines/leftIconGap_0.png     |  Bin 1315 -> 1923 bytes
 .../Halo/Styles/baselines/leftIconGap_30.png    |  Bin 1315 -> 1931 bytes
 .../baselines/leftRightIconGap_default.png      |  Bin 1813 -> 2380 bytes
 .../Halo/Styles/baselines/menu_color_pound.png  |  Bin 377 -> 372 bytes
 .../Halo/Styles/baselines/menu_color_red.png    |  Bin 377 -> 375 bytes
 .../Menu/Halo/Styles/baselines/menu_color_x.png |  Bin 377 -> 375 bytes
 .../Halo/Styles/baselines/paddingBottom_0.png   |  Bin 879 -> 873 bytes
 .../Halo/Styles/baselines/paddingBottom_20.png  |  Bin 980 -> 977 bytes
 .../Halo/Styles/baselines/paddingLeft_0.png     |  Bin 883 -> 877 bytes
 .../Halo/Styles/baselines/paddingLeft_20.png    |  Bin 905 -> 904 bytes
 .../Halo/Styles/baselines/paddingRight_0.png    |  Bin 881 -> 881 bytes
 .../Halo/Styles/baselines/paddingRight_20.png   |  Bin 911 -> 907 bytes
 .../Menu/Halo/Styles/baselines/paddingTop_0.png |  Bin 883 -> 878 bytes
 .../Halo/Styles/baselines/paddingTop_20.png     |  Bin 976 -> 973 bytes
 .../Styles/baselines/radioDisabledIcon_css.png  |  Bin 1305 -> 1870 bytes
 .../baselines/radioDisabledIcon_static.png      |  Bin 1305 -> 1870 bytes
 .../Halo/Styles/baselines/radioIcon_css.png     |  Bin 1302 -> 1867 bytes
 .../Halo/Styles/baselines/radioIcon_static.png  |  Bin 1302 -> 1867 bytes
 .../Halo/Styles/baselines/rightIconGap_0.png    |  Bin 1367 -> 2017 bytes
 .../Halo/Styles/baselines/rightIconGap_25.png   |  Bin 1367 -> 2017 bytes
 .../Halo/Styles/baselines/separatorSkin_css.png |  Bin 1051 -> 974 bytes
 .../Styles/baselines/separatorSkin_test.png     |  Bin 1077 -> 1984 bytes
 .../Halo/Styles/baselines/textAlign_center.png  |  Bin 382 -> 378 bytes
 .../Halo/Styles/baselines/textAlign_left.png    |  Bin 384 -> 380 bytes
 .../Halo/Styles/baselines/textAlign_right.png   |  Bin 381 -> 376 bytes
 .../baselines/textDecoration_underline.png      |  Bin 389 -> 387 bytes
 .../Menu/Halo/Styles/baselines/textIndent_0.png |  Bin 384 -> 380 bytes
 .../Halo/Styles/baselines/textIndent_20.png     |  Bin 386 -> 382 bytes
 .../Styles/baselines/textRollOverColor _red.png |  Bin 1035 -> 1028 bytes
 .../Styles/baselines/textRollOverColor_0x.png   |  Bin 1035 -> 1028 bytes
 .../Styles/baselines/textRollOverColor_css.png  |  Bin 1112 -> 1106 bytes
 .../baselines/textRollOverColor_pound.png       |  Bin 1015 -> 1012 bytes
 .../components/Menu/Halo/Styles/menuStyles.css  |   14 +-
 .../Spark/Properties/Menu_Properties_spark.mxml |   97 +-
 .../Properties/baselines/IconField_Basic.png    |  Bin 2555 -> 1616 bytes
 .../Spark/Properties/baselines/Icon_Basic.png   |  Bin 3533 -> 2402 bytes
 .../Menu_layoutDirection_RTL_visual.png         |  Bin 2809 -> 2352 bytes
 .../Menu/Spark/SWFs/Menu_Basic_spark.mxml       |   17 +-
 .../Menu_Styles_ScrollControlBase_spark.mxml    |   50 +-
 .../Menu/Spark/Styles/Menu_Styles_spark.mxml    |  129 +-
 .../Spark/Styles/baselines/branchIcon_css.png   |  Bin 1320 -> 1412 bytes
 .../Styles/baselines/branchIcon_static.png      |  Bin 1320 -> 1436 bytes
 .../Styles/baselines/branchdisabledIcon_css.png |  Bin 3792 -> 1170 bytes
 .../baselines/branchdisabledIcon_runtime.png    |  Bin 1744 -> 3869 bytes
 .../baselines/branchdisabledIcon_static.png     |  Bin 3869 -> 1170 bytes
 .../Styles/baselines/checkDisabledIcon_css.png  |  Bin 1617 -> 1985 bytes
 .../baselines/checkDisabledIcon_static.png      |  Bin 1617 -> 1985 bytes
 .../Spark/Styles/baselines/checkIcon_css.png    |  Bin 1604 -> 1972 bytes
 .../Spark/Styles/baselines/checkIcon_static.png |  Bin 1604 -> 1972 bytes
 .../Styles/baselines/fontFamily_flashtype.png   |  Bin 583 -> 102 bytes
 .../Spark/Styles/baselines/leftIconGap_0.png    |  Bin 1448 -> 2057 bytes
 .../Spark/Styles/baselines/leftIconGap_30.png   |  Bin 1460 -> 2073 bytes
 .../baselines/leftRightIconGap_default.png      |  Bin 2297 -> 2762 bytes
 .../Spark/Styles/baselines/menu_color_pound.png |  Bin 468 -> 942 bytes
 .../Spark/Styles/baselines/menu_color_red.png   |  Bin 469 -> 942 bytes
 .../Spark/Styles/baselines/menu_color_x.png     |  Bin 469 -> 942 bytes
 .../Styles/baselines/menu_fontFamily_Arial.png  |  Bin 1086 -> 1081 bytes
 .../baselines/menu_fontFamily_Verdana.png       |  Bin 0 -> 590 bytes
 .../Styles/baselines/radioDisabledIcon_css.png  |  Bin 1508 -> 1853 bytes
 .../baselines/radioDisabledIcon_static.png      |  Bin 1508 -> 1853 bytes
 .../Spark/Styles/baselines/radioIcon_css.png    |  Bin 1502 -> 1844 bytes
 .../Spark/Styles/baselines/radioIcon_static.png |  Bin 1502 -> 1844 bytes
 .../Spark/Styles/baselines/rightIconGap_0.png   |  Bin 1620 -> 2127 bytes
 .../Spark/Styles/baselines/rightIconGap_25.png  |  Bin 1620 -> 2151 bytes
 .../Styles/baselines/separatorSkin_css.png      |  Bin 1434 -> 1283 bytes
 .../Styles/baselines/separatorSkin_test.png     |  Bin 1283 -> 1469 bytes
 .../components/Menu/Spark/Styles/menuStyles.css |   14 +-
 .../Halo/Integration/MenuBar_FilterTests.mxml   |    2 +-
 .../Integration/baselines/mb_blurFilter.png     |  Bin 1235 -> 1031 bytes
 .../baselines/mb_gradientBevelFilter.png        |  Bin 1440 -> 1214 bytes
 .../baselines/mb_gradientGlowFilter.png         |  Bin 639 -> 566 bytes
 .../MenuBar/Halo/SWFs/MenuBar_Basic.mxml        |   12 +-
 .../MenuBar/Halo/SWFs/MenuBar_Custom.mxml       |    2 +-
 .../MenuBar/Halo/SWFs/MenuBar_Filters.mxml      |    1 +
 .../MenuBar/Halo/Styles/MenuBar_StylesAS.mxml   | 1649 +++----
 .../Halo/Styles/baselines/backgroundSkin_AS.png |  Bin 1083 -> 2024 bytes
 .../Styles/baselines/branchdisabledIcon_css.png |  Bin 3247 -> 2026 bytes
 .../Styles/baselines/checkDisabledIcon_css.png  |  Bin 2967 -> 1839 bytes
 .../Halo/Styles/baselines/checkIcon_css.png     |  Bin 1236 -> 1795 bytes
 .../Styles/baselines/fontFamily_embedded.png    |  Bin 615 -> 529 bytes
 .../baselines/fontFamily_embedded_submenu.png   |  Bin 1531 -> 963 bytes
 .../Halo/Styles/baselines/itemDownSkin_AS.png   |  Bin 505 -> 1284 bytes
 .../Styles/baselines/radioDisabledIcon_css.png  |  Bin 2868 -> 1772 bytes
 .../Halo/Styles/baselines/radioIcon_css.png     |  Bin 1208 -> 1791 bytes
 .../Halo/Styles/baselines/separatorSkin_css.png |  Bin 1059 -> 2053 bytes
 .../textDecoration_css_submenu_mac.png          |  Bin 995 -> 0 bytes
 .../textDecoration_underline_submenu_mac.png    |  Bin 995 -> 0 bytes
 .../MenuBar/Halo/Styles/menuStyles.css          |   14 +-
 .../styles/NumericStepper_Styles_Mirroring.mxml |   20 +-
 .../NumericStepper_Styles_tester_bc_spark.mxml  |    2 +-
 .../NumericStepper_Styles_tester_spark.mxml     |    2 +-
 ...tepper_Styles_Mirroring_parentContainer1.png |  Bin 860 -> 838 bytes
 ...er_Styles_Mirroring_parentContainer1@mac.png |  Bin 838 -> 0 bytes
 ..._Styles_Mirroring_parentContainer1_1@mac.png |  Bin 861 -> 0 bytes
 ...pper_Styles_Mirroring_parentContainer1_2.png |  Bin 869 -> 849 bytes
 ..._Styles_Mirroring_parentContainer1_2@mac.png |  Bin 849 -> 0 bytes
 ...tepper_Styles_Mirroring_parentContainer2.png |  Bin 862 -> 846 bytes
 ...er_Styles_Mirroring_parentContainer2@mac.png |  Bin 846 -> 0 bytes
 ...pper_Styles_Mirroring_parentContainer2_1.png |  Bin 869 -> 849 bytes
 ..._Styles_Mirroring_parentContainer2_1@mac.png |  Bin 849 -> 0 bytes
 ...tepper_Styles_Mirroring_parentContainer3.png |  Bin 850 -> 837 bytes
 ...er_Styles_Mirroring_parentContainer3@mac.png |  Bin 837 -> 0 bytes
 .../styles/baselines/cornerRadius_bc_spark.png  |  Bin 1955 -> 2013 bytes
 .../styles/baselines/cornerRadius_spark.png     |  Bin 1955 -> 2013 bytes
 .../styles/baselines/fontFamily_Arial.png       |  Bin 676 -> 658 bytes
 .../styles/baselines/fontFamily_Arial_spark.png |  Bin 604 -> 555 bytes
 .../styles/baselines/fontFamily_Georgia.png     |  Bin 676 -> 669 bytes
 .../baselines/fontFamily_Georgia_spark.png      |  Bin 604 -> 544 bytes
 .../swfs/NumericStepper_main.mxml               |   14 +
 .../swfs/NumericStepper_main_spark.mxml         |   14 +
 .../PUMB_properties_layoutDirection_RTL.png     |  Bin 3193 -> 3160 bytes
 ..._properties_layoutDirection_RTL_onParent.png |  Bin 3193 -> 3160 bytes
 .../SWFs/PopUpMenuButton_Basic.mxml             |    2 +-
 .../Properties/PrintDataGrid_Bugs_Halo.mxml     |   10 +-
 .../Styles/PrintDataGrid_Styles_Halo.mxml       |    1 +
 .../Styles/baselines/PDGDefaultStyle.png        |  Bin 15058 -> 27744 bytes
 ...sBar_Integration_mirroring_indeterminate.png |  Bin 1326 -> 1971 bytes
 .../ProgressBar_Integration_mirroring_left.png  |  Bin 1170 -> 1836 bytes
 .../ProgressBar_Integration_mirroring_right.png |  Bin 1150 -> 1841 bytes
 .../ProgressBar_Integration_mirroring_rtl.png   |  Bin 1147 -> 1838 bytes
 .../ProgressBar_Integration_mirroring_top.png   |  Bin 1148 -> 1844 bytes
 .../Styles/Baselines/ProgressBar_Skinning2.png  |  Bin 10288 -> 10291 bytes
 .../RadioButton_Integration_spark.mxml          |    2 +-
 .../Styles/RadioButton_SkinStates_Styles.mxml   |   20 +-
 .../RadioButton_SkinStates_Styles_spark.mxml    |    6 +-
 ...utton_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 2486 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 2520 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 3027 bytes
 .../Integration/SWFLoaderSecurityTester.mxml    |    2 +
 .../properties/Slider_Mirroring_tester.mxml     |   10 +-
 .../HSlider_layoutDirection_RTL_dataTip.png     |  Bin 2142 -> 2169 bytes
 .../Slider/swfs/Slider_Mirroring_Main.mxml      |    2 +-
 .../versioning/MP_HSlider_Events_tester.mxml    |   31 +-
 .../versioning/MP_VSlider_Events_tester.mxml    |   49 +-
 .../TabBar/SWFs/comps/button_gif_runtime.mxml   |   38 +-
 .../TabBar/SWFs/comps/button_jpg_runtime.mxml   |   38 +-
 .../TabBar/SWFs/comps/button_png_runtime.mxml   |   38 +-
 .../TabBar/SWFs/comps/button_swf_runtime.mxml   |   38 +-
 .../TabBar/Styles/TabBar_Styles_SkinStates.mxml |   57 +-
 .../Styles/TabBar_Styles_SkinStates_Spark.mxml  |   34 +-
 ...abBar_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 3432 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 4633 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 4542 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 4816 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 4720 bytes
 ...r_Styles_SkinStates_runtime_Disabled_SWF.png |  Bin 793 -> 3141 bytes
 .../TabBar_Styles_SkinStates_runtime_GIF.png    |  Bin 1022 -> 2706 bytes
 .../TabBar_Styles_SkinStates_runtime_JPG.png    |  Bin 1022 -> 3414 bytes
 ...TabBar_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 3432 bytes
 .../TabBar_Styles_SkinStates_runtime_PNG.png    |  Bin 1022 -> 2706 bytes
 .../TabBar_Styles_SkinStates_runtime_SWF.png    |  Bin 1022 -> 4718 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 6406 -> 5436 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 822 -> 5279 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 1120 -> 5770 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 1120 -> 5516 bytes
 ...r_Styles_SkinStates_runtime_Disabled_SWF.png |  Bin 1192 -> 3319 bytes
 .../TabBar_Styles_SkinStates_runtime_GIF.png    |  Bin 1100 -> 2851 bytes
 .../TabBar_Styles_SkinStates_runtime_JPG.png    |  Bin 1100 -> 3666 bytes
 .../TabBar_Styles_SkinStates_runtime_PNG.png    |  Bin 1100 -> 2851 bytes
 .../TabBar_Styles_SkinStates_runtime_SWF.png    |  Bin 1100 -> 5001 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 863 -> 5774 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 866 -> 5536 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 1087 -> 6136 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 1058 -> 5795 bytes
 .../baselines/Text_layoutDirection_RTL.png      |  Bin 1901 -> 1864 bytes
 .../Text_layoutDirection_RTL_onParent.png       |  Bin 1901 -> 1864 bytes
 .../Text_layoutDirection_RTL_onParent_AIR.png   |  Bin 1901 -> 1864 bytes
 .../components/Text/SWFs/Text_Spark_main.mxml   |    2 +-
 .../Text/Styles/Text_Styles_tester.mxml         |    8 +-
 .../baselines/fontFamily_embedded_font_bm.png   |  Bin 554 -> 72 bytes
 .../Styles/Baselines/FontFamily_Hancock.png     |  Bin 1142 -> 2579 bytes
 .../Styles/Baselines/FontFamily_Hancock_mac.png |  Bin 0 -> 2579 bytes
 .../Styles/Baselines/FontFamily_Vivaldi.png     |  Bin 1340 -> 0 bytes
 .../TextArea/Styles/Baselines/FontSize_127.png  |  Bin 477 -> 1936 bytes
 .../TextArea/Styles/Baselines/FontSize_128.png  |  Bin 479 -> 1941 bytes
 .../style_fontFamily_changeRegularToFlash.png   |  Bin 0 -> 1142 bytes
 ...tyle_fontFamily_changeRegularToFlash_mac.png |  Bin 0 -> 1142 bytes
 .../style_fontFamily_flash_vivaldi.png          |  Bin 0 -> 1142 bytes
 .../style_fontFamily_flash_vivaldi_mac.png      |  Bin 0 -> 1142 bytes
 .../TextArea_Styles_ScrollControlBase.mxml      |   44 +-
 .../Baselines/htmlText_images_gif.png           |  Bin 1049 -> 1010 bytes
 .../Baselines/htmlText_images_gif_mxml.png      |  Bin 1049 -> 1010 bytes
 .../Baselines/htmlText_images_jpg.png           |  Bin 5920 -> 1284 bytes
 .../Baselines/htmlText_images_jpg_mxml.png      |  Bin 5920 -> 1284 bytes
 .../Baselines/htmlText_images_png.png           |  Bin 4701 -> 1035 bytes
 .../Baselines/htmlText_images_png_mxml.png      |  Bin 4701 -> 1035 bytes
 .../Baselines/htmlText_images_swf.png           |  Bin 1211 -> 1208 bytes
 .../Baselines/htmlText_images_swf_mxml.png      |  Bin 1211 -> 1208 bytes
 .../Baselines/htmlText_img_alignLeft.png        |  Bin 1049 -> 1010 bytes
 .../Baselines/htmlText_img_alignLeft_mxml.png   |  Bin 1049 -> 1010 bytes
 .../Baselines/htmlText_img_alignRight.png       |  Bin 1213 -> 1209 bytes
 .../Baselines/htmlText_img_alignRight_mxml.png  |  Bin 1213 -> 1209 bytes
 .../Baselines/htmlText_img_hspace2.png          |  Bin 1050 -> 1009 bytes
 .../Baselines/htmlText_img_hspace_0_mxml.png    |  Bin 1046 -> 1014 bytes
 .../Baselines/htmlText_img_hspace_30_mxml.png   |  Bin 1050 -> 1009 bytes
 .../Baselines/htmlText_img_hspaces1.png         |  Bin 1046 -> 1014 bytes
 .../Baselines/htmlText_img_sized_png.png        |  Bin 20092 -> 1385 bytes
 .../Baselines/htmlText_img_sized_png_mxml.png   |  Bin 3514 -> 705 bytes
 .../Baselines/htmlText_img_sized_swf.png        |  Bin 2455 -> 2435 bytes
 .../Baselines/htmlText_img_sized_swf_mxml.png   |  Bin 1117 -> 1136 bytes
 .../Baselines/htmlText_para_center.png          |  Bin 548 -> 531 bytes
 .../Properties/Baselines/htmlText_para_left.png |  Bin 548 -> 528 bytes
 .../Baselines/htmlText_para_plain.png           |  Bin 548 -> 528 bytes
 .../Baselines/htmlText_para_right.png           |  Bin 567 -> 535 bytes
 .../Baselines/htmlText_specialChars.png         |  Bin 494 -> 457 bytes
 .../htmlText_textFormat_blockindent_neg.png     |  Bin 548 -> 528 bytes
 .../htmlText_textFormat_blockindent_pos.png     |  Bin 550 -> 526 bytes
 .../htmlText_textFormat_blockindent_zero.png    |  Bin 548 -> 528 bytes
 .../htmlText_textFormat_indent_neg.png          |  Bin 548 -> 528 bytes
 .../htmlText_textFormat_indent_pos.png          |  Bin 551 -> 526 bytes
 .../htmlText_textFormat_indent_zero.png         |  Bin 548 -> 528 bytes
 .../htmlText_textFormat_leftmargin_pos.png      |  Bin 551 -> 526 bytes
 .../htmlText_textFormat_leftmargin_zero.png     |  Bin 548 -> 528 bytes
 .../htmlText_textFormat_rightmargin_pos.png     |  Bin 563 -> 535 bytes
 .../htmlText_textFormat_rightmargin_zero.png    |  Bin 567 -> 535 bytes
 .../Properties/TextInput_Properties.mxml        |   12 +-
 .../WF_mxTileList_Mirroring_as_default.png      |  Bin 3332 -> 2842 bytes
 .../WF_mxTileList_Mirroring_default_1.png       |  Bin 3325 -> 2835 bytes
 .../WF_mxTileList_Mirroring_default_2.png       |  Bin 3308 -> 2812 bytes
 ...WF_mxTileList_Mirroring_mxml_changeDir_1.png |  Bin 3298 -> 2809 bytes
 ...WF_mxTileList_Mirroring_mxml_changeDir_2.png |  Bin 3314 -> 2856 bytes
 ...WF_mxTileList_Mirroring_parentContainer1.png |  Bin 3350 -> 2887 bytes
 ..._mxTileList_Mirroring_parentContainer3_1.png |  Bin 3399 -> 2892 bytes
 ..._mxTileList_Mirroring_parentContainer4_1.png |  Bin 4395 -> 3486 bytes
 .../WF_mxTileList_Mirroring_selectedIndex.png   |  Bin 3387 -> 2878 bytes
 .../WF_mxTileList_Mirroring_selectedItem.png    |  Bin 3343 -> 2876 bytes
 .../WF_mxTileList_Mirroring_styles_1.png        |  Bin 3765 -> 3395 bytes
 .../WF_mxTileList_Mirroring_styles_3.png        |  Bin 3725 -> 3415 bytes
 .../mxTileList_Mirroring_as_default.png         |  Bin 3388 -> 3034 bytes
 .../mxTileList_Mirroring_default_1.png          |  Bin 3380 -> 3023 bytes
 .../mxTileList_Mirroring_default_2.png          |  Bin 3352 -> 3005 bytes
 .../mxTileList_Mirroring_dragDrop1.png          |  Bin 3546 -> 3133 bytes
 .../mxTileList_Mirroring_dragDrop3.png          |  Bin 3539 -> 3130 bytes
 .../mxTileList_Mirroring_dragDrop4.png          |  Bin 3975 -> 3297 bytes
 .../mxTileList_Mirroring_mxml_changeDir_1.png   |  Bin 3345 -> 3000 bytes
 .../mxTileList_Mirroring_mxml_changeDir_2.png   |  Bin 3369 -> 3029 bytes
 .../mxTileList_Mirroring_parentContainer1.png   |  Bin 4432 -> 3362 bytes
 .../mxTileList_Mirroring_parentContainer3_1.png |  Bin 3772 -> 3362 bytes
 .../mxTileList_Mirroring_parentContainer4_1.png |  Bin 5224 -> 4501 bytes
 .../mxTileList_Mirroring_selectedIndex.png      |  Bin 3438 -> 3067 bytes
 .../mxTileList_Mirroring_selectedItem.png       |  Bin 3391 -> 3055 bytes
 .../baselines/mxTileList_Mirroring_styles_1.png |  Bin 3817 -> 3462 bytes
 .../baselines/mxTileList_Mirroring_styles_3.png |  Bin 3770 -> 3470 bytes
 .../Styles/mxTileListStylesMirroring.mxml       |    2 +-
 .../SWFs/comps/button_gif_runtime.mxml          |   38 +-
 .../SWFs/comps/button_jpg_runtime.mxml          |   38 +-
 .../SWFs/comps/button_png_runtime.mxml          |   38 +-
 .../SWFs/comps/button_swf_runtime.mxml          |   38 +-
 .../SWFs/comps/icon_gif_runtime.mxml            |   38 +-
 .../SWFs/comps/icon_jpg_runtime.mxml            |   38 +-
 .../SWFs/comps/icon_png_runtime.mxml            |   38 +-
 .../SWFs/comps/icon_swf_runtime.mxml            |   38 +-
 .../ToggleButtonBar_SkinStates_Basic.mxml       |   74 +-
 .../ToggleButtonBar_SkinStates_Basic_Spark.mxml |   25 +-
 ..._Styles_SkinStates_Embeding_Disabled_JPG.png |  Bin 2963 -> 0 bytes
 ...les_SkinStates_Embeding_Disabled_JPGIcon.png |  Bin 2267 -> 0 bytes
 ...onBar_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 3564 bytes
 ...r_Styles_SkinStates_Embeding_JPGIcon@air.png |  Bin 0 -> 3233 bytes
 ...les_SkinStates_Embeding_JPGIcon_Disabled.png |  Bin 0 -> 2267 bytes
 ...SkinStates_Embeding_JPGIcon_Disabled@air.png |  Bin 0 -> 2267 bytes
 ...ing_JPGIcon_mouseDown_NonselectedTab@air.png |  Bin 0 -> 3714 bytes
 ...beding_JPGIcon_mouseDown_selectedTab@air.png |  Bin 0 -> 3509 bytes
 ...ing_JPGIcon_mouseOver_NonselectedTab@air.png |  Bin 0 -> 4031 bytes
 ...beding_JPGIcon_mouseOver_selectedTab@air.png |  Bin 0 -> 3802 bytes
 ..._Styles_SkinStates_Embeding_JPG_Disabled.png |  Bin 0 -> 2963 bytes
 ...les_SkinStates_Embeding_JPG_Disabled@air.png |  Bin 0 -> 2963 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 4752 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 4664 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 5099 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 5031 bytes
 ...eButtonBar_Styles_SkinStates_runtime_GIF.png |  Bin 1037 -> 2774 bytes
 ...tonBar_Styles_SkinStates_runtime_GIFIcon.png |  Bin 1017 -> 1116 bytes
 ...eButtonBar_Styles_SkinStates_runtime_JPG.png |  Bin 1037 -> 3542 bytes
 ...tonBar_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 3564 bytes
 ...tonBar_Styles_SkinStates_runtime_JPGIcon.png |  Bin 1017 -> 1231 bytes
 ...ar_Styles_SkinStates_runtime_JPGIcon@air.png |  Bin 0 -> 1235 bytes
 ...eButtonBar_Styles_SkinStates_runtime_PNG.png |  Bin 1037 -> 2774 bytes
 ...tonBar_Styles_SkinStates_runtime_PNGIcon.png |  Bin 1017 -> 1116 bytes
 ...eButtonBar_Styles_SkinStates_runtime_SWF.png |  Bin 1037 -> 5164 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 6816 -> 5928 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 936 -> 5773 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 4669 -> 6311 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 1128 -> 6072 bytes
 ...eButtonBar_Styles_SkinStates_runtime_GIF.png |  Bin 1086 -> 2663 bytes
 ...tonBar_Styles_SkinStates_runtime_GIFIcon.png |  Bin 1113 -> 1214 bytes
 ...eButtonBar_Styles_SkinStates_runtime_JPG.png |  Bin 1086 -> 3446 bytes
 ...tonBar_Styles_SkinStates_runtime_JPGIcon.png |  Bin 1113 -> 1327 bytes
 ...eButtonBar_Styles_SkinStates_runtime_PNG.png |  Bin 1086 -> 2663 bytes
 ...tonBar_Styles_SkinStates_runtime_PNGIcon.png |  Bin 1113 -> 1214 bytes
 ...eButtonBar_Styles_SkinStates_runtime_SWF.png |  Bin 1086 -> 4704 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 1086 -> 5253 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 854 -> 5110 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 1071 -> 5736 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 1086 -> 5396 bytes
 .../Tree/Properties/baselines/176536_spark.png  |  Bin 4389 -> 4390 bytes
 .../Tree/Properties/baselines/190079_spark.png  |  Bin 1870 -> 1870 bytes
 .../Tree/Properties/baselines/191167_spark.png  |  Bin 5769 -> 5769 bytes
 .../Tree_Custom_Array_Move_Home_spark.png       |  Bin 3736 -> 3736 bytes
 .../Tree_Custom_XML_Copy_Home_spark.png         |  Bin 6369 -> 6369 bytes
 .../baselines/Tree_Custom_XML_Copy_spark.png    |  Bin 11199 -> 11201 bytes
 .../Tree_Custom_XML_Move_End_spark.png          |  Bin 3826 -> 3825 bytes
 .../baselines/Tree_Custom_XML_Move_spark.png    |  Bin 10123 -> 10124 bytes
 .../baselines/Tree_DP_XML_Copy_spark.png        |  Bin 10677 -> 10681 bytes
 .../baselines/Tree_DP_XML_Move_spark.png        |  Bin 8376 -> 8378 bytes
 .../Properties/baselines/Tree_SDK-20542.png     |  Bin 1755 -> 1753 bytes
 .../baselines/Tree_XMLOpenItems_spark.png       |  Bin 5814 -> 5817 bytes
 .../WF_mxTree_Mirroring_as_default.png          |  Bin 1264 -> 1247 bytes
 .../baselines/WF_mxTree_Mirroring_default_1.png |  Bin 1554 -> 1514 bytes
 .../baselines/WF_mxTree_Mirroring_default_2.png |  Bin 1551 -> 1535 bytes
 .../WF_mxTree_Mirroring_mxml_changeDir_1.png    |  Bin 1276 -> 1265 bytes
 .../WF_mxTree_Mirroring_mxml_changeDir_2.png    |  Bin 1274 -> 1228 bytes
 .../WF_mxTree_Mirroring_parentContainer1.png    |  Bin 1473 -> 1438 bytes
 .../WF_mxTree_Mirroring_parentContainer2_1.png  |  Bin 1743 -> 1714 bytes
 .../WF_mxTree_Mirroring_parentContainer3_1.png  |  Bin 1416 -> 1401 bytes
 .../WF_mxTree_Mirroring_parentContainer4_1.png  |  Bin 1507 -> 1464 bytes
 .../WF_mxTree_Mirroring_selectedIndex.png       |  Bin 1619 -> 1619 bytes
 .../baselines/WF_mxTree_Mirroring_styles_1.png  |  Bin 1078 -> 1081 bytes
 .../baselines/WF_mxTree_Mirroring_styles_3.png  |  Bin 1084 -> 1074 bytes
 .../Styles/baselines/defaultLeaf_css_spark.png  |  Bin 4672 -> 4673 bytes
 .../baselines/depthColorsDepth3_hex_spark.png   |  Bin 4958 -> 4958 bytes
 .../baselines/mxTree_Mirroring_as_default.png   |  Bin 1487 -> 1609 bytes
 .../baselines/mxTree_Mirroring_default_1.png    |  Bin 1796 -> 1867 bytes
 .../baselines/mxTree_Mirroring_default_2.png    |  Bin 1798 -> 1871 bytes
 .../mxTree_Mirroring_mxml_changeDir_1.png       |  Bin 1506 -> 1625 bytes
 .../mxTree_Mirroring_mxml_changeDir_2.png       |  Bin 1503 -> 1608 bytes
 .../mxTree_Mirroring_parentContainer1.png       |  Bin 1997 -> 2063 bytes
 .../mxTree_Mirroring_parentContainer2_1.png     |  Bin 2842 -> 2377 bytes
 .../mxTree_Mirroring_parentContainer3_1.png     |  Bin 1943 -> 2050 bytes
 .../mxTree_Mirroring_parentContainer4_1.png     |  Bin 2157 -> 2119 bytes
 .../mxTree_Mirroring_selectedIndex.png          |  Bin 1815 -> 1888 bytes
 .../baselines/mxTree_Mirroring_styles_1.png     |  Bin 1337 -> 1304 bytes
 .../baselines/mxTree_Mirroring_styles_3.png     |  Bin 1340 -> 1300 bytes
 .../VideoDisplay/Events/VideoEventTester.mxml   |   18 +-
 .../VideoDisplay/Methods/VideoMethodTester.mxml |   13 +-
 .../Properties/VideoPropertyTester.mxml         |   32 +-
 .../components/VideoDisplay/SWFs/VideoMain.mxml |    2 +-
 .../VideoDisplay/SWFs/VideoMainComp.mxml        |    2 +-
 .../VideoDisplay/SWFs/assets/caltrain.flv       |  Bin 0 -> 1056425 bytes
 .../VideoDisplay/SWFs/assets/short.flv          |  Bin 0 -> 31805 bytes
 .../VideoDisplay/SWFs/assets/video.flv          |  Bin 0 -> 525972 bytes
 ...on_Integration_mirroring_backgroundImage.png |  Bin 8879 -> 4122 bytes
 ...rdion_Integration_mirroring_keyboardDown.png |  Bin 5135 -> 3734 bytes
 ...rdion_Integration_mirroring_keyboardLeft.png |  Bin 5135 -> 3734 bytes
 ...dion_Integration_mirroring_keyboardRight.png |  Bin 5150 -> 3862 bytes
 ...cordion_Integration_mirroring_keyboardUp.png |  Bin 5150 -> 3862 bytes
 .../Accordion_Integration_mirroring_visual.png  |  Bin 5316 -> 3624 bytes
 .../Accordion/SWFs/AccordionMain.mxml           |   29 +-
 .../Accordion/SWFs/AccordionMain_Spark.mxml     |   30 +-
 .../Accordion/SWFs/Accordion_Basic.mxml         |   31 +-
 .../Accordion/SWFs/Accordion_Basic_Spark.mxml   |   30 +-
 .../Accordion/SWFs/Accordion_InContainer.mxml   |   26 +-
 .../SWFs/Accordion_InContainer_Spark.mxml       |   34 +-
 .../Accordion/SWFs/Assets/myStyles.css          |    8 +-
 .../Accordion/SWFs/comps/MirroringGroup.mxml    |    6 +-
 .../SWFs/comps/MirroringGroupHalo.mxml          |    8 +-
 .../SWFs/comps/button_gif_runtime.mxml          |   38 +-
 .../SWFs/comps/button_jpg_runtime.mxml          |   38 +-
 .../SWFs/comps/button_png_runtime.mxml          |   38 +-
 .../SWFs/comps/button_swf_runtime.mxml          |   26 +-
 .../Accordion/SWFs/comps/icon_gif_runtime.mxml  |   38 +-
 .../Accordion/SWFs/comps/icon_jpg_runtime.mxml  |   38 +-
 .../Accordion/SWFs/comps/icon_png_runtime.mxml  |   38 +-
 .../Accordion/SWFs/comps/icon_swf_runtime.mxml  |   16 +-
 .../Styles/Accordion_SkinStates_Basic.mxml      |   64 +-
 .../Accordion_SkinStates_Basic_Spark.mxml       |   41 +-
 .../Accordion/Styles/Accordion_Styles.mxml      |    2 +-
 .../Styles/Accordion_Styles_Spark.mxml          |    2 +-
 ..._Styles_SkinStates_Embeding_Disabled_JPG.png |  Bin 4418 -> 0 bytes
 ...les_SkinStates_Embeding_Disabled_JPGIcon.png |  Bin 3885 -> 0 bytes
 ...rdion_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 5244 bytes
 ...n_Styles_SkinStates_Embeding_JPGIcon@air.png |  Bin 0 -> 4355 bytes
 ...les_SkinStates_Embeding_JPGIcon_Disabled.png |  Bin 0 -> 3885 bytes
 ...SkinStates_Embeding_JPGIcon_Disabled@air.png |  Bin 0 -> 3913 bytes
 ...ing_JPGIcon_mouseDown_NonselectedTab@air.png |  Bin 0 -> 4095 bytes
 ...beding_JPGIcon_mouseDown_selectedTab@air.png |  Bin 0 -> 4326 bytes
 ...ing_JPGIcon_mouseOver_NonselectedTab@air.png |  Bin 0 -> 4392 bytes
 ...beding_JPGIcon_mouseOver_selectedTab@air.png |  Bin 0 -> 4450 bytes
 ..._Styles_SkinStates_Embeding_JPG_Disabled.png |  Bin 0 -> 4418 bytes
 ...les_SkinStates_Embeding_JPG_Disabled@air.png |  Bin 0 -> 4511 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 5665 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 5833 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 5984 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 5840 bytes
 .../Accordion_Styles_SkinStates_runtime_GIF.png |  Bin 2083 -> 3872 bytes
 ...ordion_Styles_SkinStates_runtime_GIFIcon.png |  Bin 2070 -> 2405 bytes
 .../Accordion_Styles_SkinStates_runtime_JPG.png |  Bin 2083 -> 5152 bytes
 ...ordion_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 5244 bytes
 ...ordion_Styles_SkinStates_runtime_JPGIcon.png |  Bin 2070 -> 2617 bytes
 ...on_Styles_SkinStates_runtime_JPGIcon@air.png |  Bin 0 -> 2633 bytes
 .../Accordion_Styles_SkinStates_runtime_PNG.png |  Bin 2083 -> 3872 bytes
 ...ordion_Styles_SkinStates_runtime_PNGIcon.png |  Bin 2070 -> 2405 bytes
 .../baselines/headerStyleName_multiple.png      |  Bin 2364 -> 2525 bytes
 .../headerStyleName_multiple_precedence.png     |  Bin 2349 -> 2481 bytes
 .../Accordion_Styles_SkinStates_runtime_GIF.png |  Bin 2227 -> 4387 bytes
 ...ordion_Styles_SkinStates_runtime_GIFIcon.png |  Bin 2289 -> 2641 bytes
 .../Accordion_Styles_SkinStates_runtime_JPG.png |  Bin 2227 -> 5844 bytes
 ...ordion_Styles_SkinStates_runtime_JPGIcon.png |  Bin 2289 -> 2865 bytes
 .../Accordion_Styles_SkinStates_runtime_PNG.png |  Bin 2227 -> 4387 bytes
 ...ordion_Styles_SkinStates_runtime_PNGIcon.png |  Bin 2289 -> 2641 bytes
 .../Accordion_Styles_SkinStates_runtime_SWF.png |  Bin 2227 -> 10867 bytes
 ...ordion_Styles_SkinStates_runtime_SWFIcon.png |  Bin 2289 -> 2983 bytes
 ...runtime_SWFIcon_mouseDown_NonselectedTab.png |  Bin 2176 -> 2924 bytes
 ...es_runtime_SWFIcon_mouseDown_selectedTab.png |  Bin 2181 -> 2982 bytes
 ...runtime_SWFIcon_mouseOver_NonselectedTab.png |  Bin 2176 -> 3026 bytes
 ...es_runtime_SWFIcon_mouseOver_selectedTab.png |  Bin 2181 -> 3000 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 2142 -> 11838 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 2147 -> 12872 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 2142 -> 12848 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 2227 -> 12904 bytes
 .../SWFs/ACB_Integration.mxml                   |    3 +-
 .../SWFs/ACB_Integration_Spark.mxml             |    4 +-
 .../tests/containers/Box/SWFs/Box_Basic.mxml    |   10 +-
 .../ContentSizedConstraints_Canvas.mxml         |   68 +-
 .../SWFs/ConstraintBasedLayout_Canvas.mxml      |   40 +-
 .../Properties/ControlBar_Properties.mxml       |    2 +-
 .../Properties/ControlBar_Properties_Spark.mxml |    2 +-
 .../Properties/baselines/clipContent3.png       |  Bin 326 -> 322 bytes
 .../Properties/baselines/spark/clipContent3.png |  Bin 311 -> 306 bytes
 .../ControlBar/SWFs/CB_Integration.mxml         |   10 +-
 .../ControlBar/SWFs/ControlBar_Basic.mxml       |   10 +-
 .../ControlBar/SWFs/ControlBar_Basic_Spark.mxml |   10 +-
 .../Styles/baselines/spark/fontFamily.png       |  Bin 2319 -> 2275 bytes
 .../HDividedBox_layoutDirection_RTL.png         |  Bin 2259 -> 2243 bytes
 .../VDividedBox_layoutDirection_RTL.png         |  Bin 2326 -> 2304 bytes
 .../DividedBox/SWFs/DivBoxMain_spark_FTE.mxml   |    2 +-
 .../FormHeading/SWFs/FormHeadingBasic.mxml      |   12 +-
 .../SWFs/FormHeadingBasic_bc_spark.mxml         |   12 +-
 .../SWFs/FormHeadingBasic_spark.mxml            |   12 +-
 .../FormHeading/SWFs/FormHeading_Basic.mxml     |   12 +-
 .../SWFs/FormHeading_Basic_spark.mxml           |   12 +-
 .../FormItem/SWFs/FormItem_Basic.mxml           |   92 +-
 .../FormItem/SWFs/FormItem_Basic_spark.mxml     |   66 +-
 .../FormItem/SWFs/FormItem_Percents.mxml        |   10 +-
 .../FormItem/SWFs/FormItem_Percents_spark.mxml  |   10 +-
 .../tests/containers/Grid/SWFs/Grid_Basic.mxml  |   16 +-
 .../containers/Grid/SWFs/Grid_Basic_spark.mxml  |   12 +-
 .../containers/Grid/SWFs/Grid_Basic_spark2.mxml |   12 +-
 .../Grid/SWFs/Grid_Mirroring_Basic.mxml         |   12 +-
 .../Grid/Styles/Grid_Styles_spark.mxml          |    1 +
 .../Styles/baselines/borderColor_default.png    |  Bin 1635 -> 1600 bytes
 .../Grid/Styles/baselines/borderColor_red.png   |  Bin 1638 -> 1603 bytes
 .../Grid/Styles/baselines/borderThickness.png   |  Bin 1606 -> 1588 bytes
 .../Styles/baselines/borderThickness_large.png  |  Bin 1716 -> 1666 bytes
 .../Styles/baselines/cornerRadius_default.png   |  Bin 1638 -> 1603 bytes
 .../Styles/baselines/cornerRadius_large.png     |  Bin 1917 -> 1883 bytes
 .../Grid/Styles/baselines/fontSize_large.png    |  Bin 1513 -> 1492 bytes
 .../Grid/Styles/baselines/fontWeight.png        |  Bin 1513 -> 1492 bytes
 .../Styles/baselines/fontWeight_default.png     |  Bin 1513 -> 1492 bytes
 .../Styles/baselines/horizontalGap_large.png    |  Bin 2244 -> 1906 bytes
 .../Styles/baselines/paddingBottom_default.png  |  Bin 1635 -> 1600 bytes
 .../Styles/baselines/paddingBottom_large.png    |  Bin 2007 -> 1975 bytes
 .../Styles/baselines/paddingBottom_small.png    |  Bin 1772 -> 1740 bytes
 .../Styles/baselines/paddingGapP_default.png    |  Bin 1635 -> 1600 bytes
 .../Grid/Styles/baselines/paddingGap_small.png  |  Bin 1618 -> 1565 bytes
 .../Grid/Styles/baselines/paddingLeft.png       |  Bin 1780 -> 1781 bytes
 .../Styles/baselines/paddingRight_Right.png     |  Bin 1818 -> 1817 bytes
 .../Styles/baselines/paddingRight_default.png   |  Bin 1803 -> 1800 bytes
 .../Grid/Styles/baselines/verticalGap_small.png |  Bin 1578 -> 1469 bytes
 .../containers/Panel/Events/Panel_Events.mxml   |   16 +-
 .../Panel/Mirroring/baselines/Panel_Title.png   |  Bin 10881 -> 9872 bytes
 .../Panel/Mirroring/baselines/Panel_icon.png    |  Bin 11909 -> 10962 bytes
 .../Panel/Mirroring/baselines/Panel_icon2.png   |  Bin 11909 -> 10962 bytes
 .../Panel/Mirroring/mxPanel_Mirroring.mxml      |   12 +-
 .../Properties/Panel_Properties_Spark.mxml      |    5 +-
 .../Panel/Properties/baselines/autoLayout2.png  |  Bin 1500 -> 1503 bytes
 .../Properties/baselines/autoLayout2_Spark.png  |  Bin 1896 -> 1866 bytes
 .../Panel/Properties/baselines/autoLayout3.png  |  Bin 1500 -> 1503 bytes
 .../Panel/Properties/baselines/autoLayout4.png  |  Bin 1500 -> 1503 bytes
 .../Properties/baselines/clipContent_1.png      |  Bin 731 -> 737 bytes
 .../Properties/baselines/clipContent_2.png      |  Bin 964 -> 971 bytes
 .../Properties/baselines/clipContent_3.png      |  Bin 731 -> 737 bytes
 .../Properties/baselines/clipContent_4.png      |  Bin 964 -> 971 bytes
 .../baselines/horizontalScrollPolicy_4.png      |  Bin 1839 -> 1846 bytes
 .../baselines/horizontalScrollPolicy_5.png      |  Bin 1447 -> 1453 bytes
 .../baselines/horizontalScrollPolicy_6.png      |  Bin 1839 -> 1846 bytes
 .../baselines/horizontalScrollPolicy_7.png      |  Bin 1447 -> 1453 bytes
 .../baselines/horizontalScrollPolicy_8.png      |  Bin 1839 -> 1846 bytes
 .../baselines/horizontalScrollPolicy_auto.png   |  Bin 1447 -> 1453 bytes
 .../baselines/horizontalScrollPolicy_off.png    |  Bin 1447 -> 1453 bytes
 .../baselines/horizontalScrollPolicy_on.png     |  Bin 1839 -> 1846 bytes
 .../Panel/Properties/baselines/styleName1.png   |  Bin 1447 -> 1453 bytes
 .../Panel/Properties/baselines/styleName2.png   |  Bin 1447 -> 1453 bytes
 .../Panel/SWFs/ConstraintBasedLayout_Panel.mxml |   14 +-
 .../SWFs/ConstraintBasedLayout_Panel_Spark.mxml |   14 +-
 .../ConstraintBasedLayout_PercentPanel.mxml     |   14 +-
 ...onstraintBasedLayout_PercentPanel_Spark.mxml |   14 +-
 .../tests/containers/Panel/SWFs/FixedPanel.mxml |   12 +-
 .../containers/Panel/SWFs/FixedPanel_Spark.mxml |   12 +-
 .../containers/Panel/SWFs/Panel_Basic.mxml      |    8 +-
 .../Panel/SWFs/Panel_Basic_Spark.mxml           |   36 +-
 .../Panel/SWFs/Panel_ConstraintBinding.mxml     |   14 +-
 .../Panel/SWFs/Panel_Integration_Basic.mxml     |   12 +-
 .../SWFs/Panel_Integration_Basic_Spark.mxml     |   12 +-
 .../containers/Panel/SWFs/Panel_Mirroring.mxml  |   14 +-
 .../containers/Panel/SWFs/PercentagePanel.mxml  |   14 +-
 .../Panel/SWFs/PercentagePanel_Spark.mxml       |   14 +-
 .../containers/Panel/SWFs/PreferredPanel.mxml   |   14 +-
 .../Panel/SWFs/PreferredPanel_Spark.mxml        |   14 +-
 .../SWFs/SkinImprovements_Panel_Basic.mxml      |   30 +-
 .../SkinImprovements_Panel_Basic_Spark.mxml     |   30 +-
 ...ovements_Styles_Panel_Skin_Scroll_Spark.mxml |    2 +-
 .../TitleWindow_Mirroring_tester1.mxml          |   39 +-
 .../TitleWindow_Mirroring_tester2.mxml          |   26 +-
 .../baselines/TitleWindow_absolute_layout1.png  |  Bin 2362 -> 2229 bytes
 .../baselines/TitleWindow_absolute_layout2.png  |  Bin 2369 -> 2234 bytes
 .../TitleWindow_layout_addElement1.png          |  Bin 3353 -> 3214 bytes
 .../TitleWindow_layout_addElement3.png          |  Bin 3378 -> 3238 bytes
 .../TitleWindow_layout_addElement4.png          |  Bin 3378 -> 3238 bytes
 .../TitleWindow_layout_addElement5.png          |  Bin 3373 -> 3233 bytes
 .../TitleWindow_layout_closeButtonTrue1.png     |  Bin 1261 -> 1254 bytes
 .../baselines/TitleWindow_layout_default1.png   |  Bin 3057 -> 2918 bytes
 .../baselines/TitleWindow_layout_rtl1.png       |  Bin 307 -> 803 bytes
 .../baselines/TitleWindow_layout_rtl2.png       |  Bin 988 -> 861 bytes
 .../baselines/TitleWindow_layout_rtl3.png       |  Bin 3764 -> 3784 bytes
 .../baselines/TitleWindow_layout_style1.png     |  Bin 739 -> 584 bytes
 .../baselines/TitleWindow_layout_style2.png     |  Bin 739 -> 584 bytes
 .../containers/TitleWindow/SWFs/MyTw4.mxml      |    2 +-
 .../SWFs/TitleWindow_Mirroring_Basic.mxml       |   21 +-
 .../Styles/baselines/backgroundColor_0x.png     |  Bin 2804 -> 2818 bytes
 .../baselines/backgroundColor_classSelector.png |  Bin 2798 -> 2809 bytes
 .../Styles/baselines/backgroundImage_jpg.png    |  Bin 3949 -> 3961 bytes
 .../Styles/baselines/backgroundSize_100.png     |  Bin 3955 -> 3968 bytes
 .../Styles/baselines/backgroundSize_50.png      |  Bin 3783 -> 3795 bytes
 .../Styles/baselines/borderStyle_default.png    |  Bin 2797 -> 2812 bytes
 .../Styles/baselines/borderStyle_inset.png      |  Bin 2499 -> 2514 bytes
 .../Styles/baselines/borderStyle_none.png       |  Bin 2482 -> 2497 bytes
 .../Styles/baselines/borderStyle_outset.png     |  Bin 2497 -> 2512 bytes
 .../Styles/baselines/dropShadowColor_0x.png     |  Bin 2956 -> 2971 bytes
 .../Styles/baselines/dropShadowColor_css.png    |  Bin 2957 -> 2972 bytes
 .../Styles/baselines/dropShadowEnabled_true.png |  Bin 2943 -> 2958 bytes
 .../baselines/shadowDirection_default.png       |  Bin 2943 -> 2958 bytes
 .../Styles/baselines/shadowDirection_left.png   |  Bin 2981 -> 2996 bytes
 .../Styles/baselines/shadowDirection_right.png  |  Bin 3104 -> 3119 bytes
 .../Styles/baselines/shadowDistance_10.png      |  Bin 2910 -> 2925 bytes
 .../ViewStack/Events/ViewStack_Events.mxml      |   24 +-
 .../Integration/ViewStack_Integration.mxml      |    2 +
 .../Integration/baselines/selectedIndex_1.png   |  Bin 1443 -> 1462 bytes
 .../Integration/baselines/selectedIndex_2.png   |  Bin 1443 -> 1411 bytes
 .../ViewStack/SWFs/ViewStack_Basic.mxml         |    6 +-
 .../Styles/baselines/horizontalGap.png          |  Bin 1727 -> 1652 bytes
 .../Styles/baselines/paddingBottom.png          |  Bin 1727 -> 1652 bytes
 .../ViewStack/Styles/baselines/paddingTop.png   |  Bin 1727 -> 1653 bytes
 .../ViewStack/Styles/baselines/verticalGap.png  |  Bin 1727 -> 1652 bytes
 .../tests/containers/form/SWFs/Form_Basic.mxml  |   14 +-
 .../form/SWFs/Form_Basic_spark.compile          |    1 +
 .../containers/form/SWFs/Form_Basic_spark.mxml  |   28 +-
 .../Form_Integration_mirroring_errorToolTip.png |  Bin 19844 -> 18550 bytes
 .../Form_Integration_mirroring_visual.png       |  Bin 15445 -> 14792 bytes
 .../form/properties/Form_Properties.mxml        |    2 +-
 .../form/properties/Form_Properties_spark.mxml  |    6 +-
 .../form/properties/Form_VerifyFix_spark.mxml   |    2 +-
 .../properties/baselines/verifyfix_spark.png    |  Bin 6288 -> 8075 bytes
 .../containers/form/styles/Form_Styles.mxml     |   30 +-
 .../form/styles/Form_Styles_spark.mxml          |   30 +-
 .../styles/baselines/backgroundAlpha_spark.png  |  Bin 1115 -> 1291 bytes
 .../styles/baselines/backgroundImage_spark.png  |  Bin 1115 -> 1291 bytes
 .../form/styles/baselines/borderColor_spark.png |  Bin 1115 -> 1294 bytes
 .../form/styles/baselines/borderThickness.png   |  Bin 898 -> 905 bytes
 .../styles/baselines/borderThickness_spark.png  |  Bin 1115 -> 1291 bytes
 .../containers/form/styles/baselines/color.png  |  Bin 898 -> 866 bytes
 .../form/styles/baselines/color_spark.png       |  Bin 1115 -> 1268 bytes
 .../baselines/contentBackgroundColor_spark.png  |  Bin 1056 -> 1156 bytes
 .../form/styles/baselines/cornerRadius.png      |  Bin 898 -> 1054 bytes
 .../styles/baselines/cornerRadius_spark.png     |  Bin 1115 -> 1442 bytes
 .../form/styles/baselines/disabledColor.png     |  Bin 898 -> 823 bytes
 .../styles/baselines/disabledColor_spark.png    |  Bin 1115 -> 1084 bytes
 .../form/styles/baselines/fonrSize.png          |  Bin 898 -> 1002 bytes
 .../form/styles/baselines/fonrSize_spark.png    |  Bin 1115 -> 1388 bytes
 .../form/styles/baselines/fontFamily.png        |  Bin 1962 -> 2037 bytes
 .../form/styles/baselines/fontFamily_spark.png  |  Bin 2248 -> 3013 bytes
 .../form/styles/baselines/fontWeight.png        |  Bin 898 -> 915 bytes
 .../form/styles/baselines/fontWeight_spark.png  |  Bin 1115 -> 1347 bytes
 .../styles/baselines/horizontalGap_spark.png    |  Bin 1115 -> 1291 bytes
 .../styles/baselines/indicatorGap_1_spark.png   |  Bin 1936 -> 2321 bytes
 .../styles/baselines/indicatorGap_2_spark.png   |  Bin 1115 -> 1291 bytes
 .../styles/baselines/indicatorGap_3_spark.png   |  Bin 1100 -> 1273 bytes
 .../form/styles/baselines/labelWidth_spark.png  |  Bin 1115 -> 1291 bytes
 .../form/styles/baselines/paddingBottom.png     |  Bin 898 -> 904 bytes
 .../styles/baselines/paddingBottom_spark.png    |  Bin 1115 -> 1300 bytes
 .../form/styles/baselines/paddingLeft.png       |  Bin 898 -> 899 bytes
 .../form/styles/baselines/paddingLeft_spark.png |  Bin 1115 -> 1293 bytes
 .../form/styles/baselines/paddingRight.png      |  Bin 898 -> 899 bytes
 .../styles/baselines/paddingRight_spark.png     |  Bin 1115 -> 1291 bytes
 .../form/styles/baselines/paddingTop.png        |  Bin 898 -> 897 bytes
 .../form/styles/baselines/paddingTop_spark.png  |  Bin 1115 -> 1299 bytes
 .../form/styles/baselines/verticalGap_spark.png |  Bin 1115 -> 1291 bytes
 .../Events/TabNavigator_Events.mxml             |   62 +-
 .../Events/TabNavigator_Events_Spark.mxml       |   47 +-
 .../TabNavigator_properties_Spark.mxml          |    2 +-
 ...SkinImprovements_Tabnavigator_tabOffset.mxml |   12 +-
 ...provements_Tabnavigator_tabOffset_Spark.mxml |   12 +-
 .../tabnavigator/SWFs/TabNavigator_Basic.mxml   |   64 +-
 .../SWFs/TabNavigator_Basic_Mirroring.mxml      |    2 +-
 .../SWFs/TabNavigator_Basic_Spark.mxml          |    6 +-
 .../SWFs/TabNavigator_InContainer.mxml          |   12 +-
 .../SWFs/TabNavigator_InContainer_Spark.mxml    |   12 +-
 .../SWFs/TabNavigator_InContainer_bc_Spark.mxml |   12 +-
 .../SWFs/TabNavigator_SkinStates_Basic.mxml     |   12 +-
 .../TabNavigator_SkinStates_Basic_Spark.mxml    |   12 +-
 .../SWFs/comps/button_gif_runtime.mxml          |   16 +-
 .../SWFs/comps/button_jpg_runtime.mxml          |   16 +-
 .../SWFs/comps/button_png_runtime.mxml          |   16 +-
 .../SWFs/comps/button_swf_runtime.mxml          |   26 +-
 .../Styles/TabNavigator_Styles_SkinStates.mxml  |   45 +-
 .../TabNavigator_Styles_SkinStates_Spark.mxml   |   72 +-
 .../TabNavigator_Styles_UIComponent_Spark.mxml  |    9 +
 ..._Styles_SkinStates_Embeding_Disabled_GIF.png |  Bin 5451 -> 4628 bytes
 ..._Styles_SkinStates_Embeding_Disabled_JPG.png |  Bin 5323 -> 0 bytes
 ..._Styles_SkinStates_Embeding_Disabled_SWF.png |  Bin 6149 -> 5617 bytes
 ...les_SkinStates_Embeding_Disabled_SWF_air.png |  Bin 6149 -> 5617 bytes
 ...gator_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 6202 bytes
 ..._Styles_SkinStates_Embeding_JPG_Disabled.png |  Bin 0 -> 5323 bytes
 ...les_SkinStates_Embeding_JPG_Disabled@air.png |  Bin 0 -> 5383 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 6272 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 6202 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 8285 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 6941 bytes
 ...Navigator_Styles_SkinStates_Embeding_SWF.png |  Bin 7443 -> 6537 bytes
 ...gator_Styles_SkinStates_Embeding_SWF_air.png |  Bin 7443 -> 6537 bytes
 ...es_Embeding_SWF_mouseDown_NonselectedTab.png |  Bin 7500 -> 6634 bytes
 ...mbeding_SWF_mouseDown_NonselectedTab_air.png |  Bin 7500 -> 6634 bytes
 ...tates_Embeding_SWF_mouseDown_selectedTab.png |  Bin 7443 -> 6537 bytes
 ...s_Embeding_SWF_mouseDown_selectedTab_air.png |  Bin 7443 -> 6537 bytes
 ...es_Embeding_SWF_mouseOver_NonselectedTab.png |  Bin 10029 -> 8904 bytes
 ...mbeding_SWF_mouseOver_NonselectedTab_air.png |  Bin 10029 -> 8904 bytes
 ...tates_Embeding_SWF_mouseOver_selectedTab.png |  Bin 7585 -> 7465 bytes
 ...s_Embeding_SWF_mouseOver_selectedTab_air.png |  Bin 7585 -> 7465 bytes
 ...r_Styles_SkinStates_runtime_Disabled_GIF.png |  Bin 5451 -> 4628 bytes
 ...r_Styles_SkinStates_runtime_Disabled_JPG.png |  Bin 7703 -> 0 bytes
 ...r_Styles_SkinStates_runtime_Disabled_PNG.png |  Bin 5479 -> 4628 bytes
 ...r_Styles_SkinStates_runtime_Disabled_SWF.png |  Bin 6149 -> 5592 bytes
 ...bNavigator_Styles_SkinStates_runtime_GIF.png |  Bin 5660 -> 4865 bytes
 ...bNavigator_Styles_SkinStates_runtime_JPG.png |  Bin 8890 -> 6107 bytes
 ...igator_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 6202 bytes
 ...r_Styles_SkinStates_runtime_JPG_Disabled.png |  Bin 0 -> 5323 bytes
 ...yles_SkinStates_runtime_JPG_Disabled@air.png |  Bin 0 -> 5383 bytes
 ...bNavigator_Styles_SkinStates_runtime_PNG.png |  Bin 5714 -> 4865 bytes
 ...bNavigator_Styles_SkinStates_runtime_SWF.png |  Bin 7443 -> 6527 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 7500 -> 6626 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 7443 -> 6527 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 10029 -> 8892 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 7585 -> 7456 bytes
 .../TabNavigator_layoutDirection_RTL_MXML.png   |  Bin 4822 -> 4937 bytes
 ...abNavigator_layoutDirection_RTL_onParent.png |  Bin 4573 -> 4688 bytes
 .../Styles/baselines/fillAlphas.png             |  Bin 3160 -> 3005 bytes
 .../Styles/baselines/fillColors.png             |  Bin 3160 -> 3005 bytes
 .../Styles/baselines/firstTabStyleName.png      |  Bin 3105 -> 2951 bytes
 .../Styles/baselines/focusAlpha.png             |  Bin 3123 -> 2972 bytes
 .../Styles/baselines/focusRoundedCorners.png    |  Bin 3144 -> 2993 bytes
 .../Styles/baselines/horizontalAlign.png        |  Bin 3133 -> 2977 bytes
 .../Styles/baselines/horizontalGap.png          |  Bin 3172 -> 3037 bytes
 .../Styles/baselines/lastTabStyleName.png       |  Bin 3490 -> 3302 bytes
 ..._Styles_SkinStates_Embeding_Disabled_JPG.png |  Bin 5770 -> 0 bytes
 ...gator_Styles_SkinStates_Embeding_JPG@air.png |  Bin 0 -> 6647 bytes
 ..._Styles_SkinStates_Embeding_JPG_Disabled.png |  Bin 0 -> 5770 bytes
 ...les_SkinStates_Embeding_JPG_Disabled@air.png |  Bin 0 -> 5849 bytes
 ...mbeding_JPG_mouseDown_NonselectedTab@air.png |  Bin 0 -> 6846 bytes
 ...s_Embeding_JPG_mouseDown_selectedTab@air.png |  Bin 0 -> 6647 bytes
 ...mbeding_JPG_mouseOver_NonselectedTab@air.png |  Bin 0 -> 8902 bytes
 ...s_Embeding_JPG_mouseOver_selectedTab@air.png |  Bin 0 -> 7508 bytes
 ...r_Styles_SkinStates_runtime_Disabled_GIF.png |  Bin 2706 -> 4969 bytes
 ...r_Styles_SkinStates_runtime_Disabled_JPG.png |  Bin 2706 -> 0 bytes
 ...r_Styles_SkinStates_runtime_Disabled_PNG.png |  Bin 2706 -> 4969 bytes
 ...r_Styles_SkinStates_runtime_Disabled_SWF.png |  Bin 2706 -> 5996 bytes
 ...bNavigator_Styles_SkinStates_runtime_GIF.png |  Bin 2707 -> 5188 bytes
 ...bNavigator_Styles_SkinStates_runtime_JPG.png |  Bin 2707 -> 6601 bytes
 ...igator_Styles_SkinStates_runtime_JPG@air.png |  Bin 0 -> 6647 bytes
 ...r_Styles_SkinStates_runtime_JPG_Disabled.png |  Bin 0 -> 5770 bytes
 ...yles_SkinStates_runtime_JPG_Disabled@air.png |  Bin 0 -> 5849 bytes
 ...bNavigator_Styles_SkinStates_runtime_PNG.png |  Bin 2707 -> 5188 bytes
 ...bNavigator_Styles_SkinStates_runtime_SWF.png |  Bin 2707 -> 7081 bytes
 ...tes_runtime_SWF_mouseDown_NonselectedTab.png |  Bin 2473 -> 7243 bytes
 ...States_runtime_SWF_mouseDown_selectedTab.png |  Bin 2707 -> 7081 bytes
 ...tes_runtime_SWF_mouseOver_NonselectedTab.png |  Bin 2733 -> 9737 bytes
 ...States_runtime_SWF_mouseOver_selectedTab.png |  Bin 2705 -> 8085 bytes
 .../baselines/spark/TabNavigator_tabOffset2.png |  Bin 4886 -> 4712 bytes
 .../Styles/baselines/spark/fillAlphas.png       |  Bin 3751 -> 3532 bytes
 .../Styles/baselines/spark/fillColors.png       |  Bin 3751 -> 3532 bytes
 .../baselines/spark/firstTabStyleName.png       |  Bin 3839 -> 3616 bytes
 .../baselines/spark/focusBlend_screen.png       |  Bin 3147 -> 3037 bytes
 .../baselines/spark/focusBlend_subtract.png     |  Bin 3147 -> 3037 bytes
 .../baselines/spark/focusRoundedCorners.png     |  Bin 3771 -> 3553 bytes
 .../Styles/baselines/spark/focusSkin_custom.png |  Bin 3748 -> 3681 bytes
 .../Styles/baselines/spark/focusThickness_0.png |  Bin 3075 -> 3012 bytes
 .../Styles/baselines/spark/focusThickness_8.png |  Bin 3147 -> 3037 bytes
 .../Styles/baselines/spark/horizontalAlign.png  |  Bin 3803 -> 3636 bytes
 .../Styles/baselines/spark/horizontalGap.png    |  Bin 3795 -> 3557 bytes
 .../Styles/baselines/spark/lastTabStyleName.png |  Bin 4207 -> 3935 bytes
 .../spark/selectedTabTextStyleName.png          |  Bin 3846 -> 3616 bytes
 .../baselines/spark/shadowDirection_default.png |  Bin 3033 -> 2952 bytes
 .../baselines/spark/shadowDirection_right.png   |  Bin 3033 -> 2952 bytes
 .../baselines/spark/shadowDistance_10.png       |  Bin 3033 -> 2952 bytes
 .../tabBarStyleFilters_BackgroundImage.png      |  Bin 1904 -> 2046 bytes
 .../tabBarStyleFilters_NoHorizontalGap.png      |  Bin 2008 -> 2168 bytes
 .../tabBarStyleFilters_NoLastStyleName.png      |  Bin 1874 -> 1892 bytes
 .../Styles/baselines/spark/tabHeight.png        |  Bin 4103 -> 3939 bytes
 .../Styles/baselines/spark/tabWidth.png         |  Bin 2884 -> 2810 bytes
 .../tabnavigator/Styles/baselines/tabHeight.png |  Bin 1989 -> 1902 bytes
 .../tabnavigator/Styles/baselines/tabWidth.png  |  Bin 2179 -> 2099 bytes
 .../Baselines/DfrdInst_CP_None_IC_1_2.png       |  Bin 15586 -> 10394 bytes
 .../Baselines/DfrdInst_CP_None_nestedIC_1_2.png |  Bin 15586 -> 10394 bytes
 .../Baselines/DfrdInst_Nested_IC_1_2.png        |  Bin 808 -> 1628 bytes
 .../Baselines/DfrdInst_Nested_IC_1_3.png        |  Bin 1898 -> 2396 bytes
 .../Baselines/DfrdInst_Nested_IC_2_1.png        |  Bin 1951 -> 2508 bytes
 .../Baselines/DfrdInst_default_IC_1_1.png       |  Bin 11018 -> 10394 bytes
 .../Baselines/DfrdInst_default_nestedIC_1_1.png |  Bin 15586 -> 10394 bytes
 .../DfrdInst_IC_Nested_tests.mxml               |    3 +-
 .../FCK/integration/FCK_Integration_main.mxml   |   22 +-
 .../baselines/FCK_integration_changeContent.png |  Bin 3107 -> 3081 bytes
 ...ion_container_resizeContentHolder_larger.png |  Bin 2942 -> 2888 bytes
 ...on_container_resizeContentHolder_smaller.png |  Bin 2942 -> 3025 bytes
 ...n_container_scaleContentWhenResized_true.png |  Bin 2963 -> 3043 bytes
 .../FCK_integration_container_spark.png         |  Bin 2679 -> 2763 bytes
 .../FCK_integration_coverage_baseline.png       |  Bin 2210 -> 2327 bytes
 .../FCK_integration_coverage_layout.png         |  Bin 4235 -> 4692 bytes
 .../FCK_integration_coverage_maxSize.png        |  Bin 2165 -> 2271 bytes
 .../FCK_integration_coverage_transform.png      |  Bin 2452 -> 2557 bytes
 .../FCK_integration_effects_height.png          |  Bin 5006 -> 5132 bytes
 .../FCK_integration_effects_rotationX_2D.png    |  Bin 6831 -> 6739 bytes
 .../FCK_integration_effects_rotationX_3D.png    |  Bin 6831 -> 6739 bytes
 .../FCK_integration_effects_rotationY_2D.png    |  Bin 7541 -> 7428 bytes
 .../FCK_integration_effects_rotationY_3D.png    |  Bin 7541 -> 7428 bytes
 .../FCK_integration_effects_rotationZ_2D.png    |  Bin 6657 -> 6689 bytes
 .../FCK_integration_effects_rotationZ_3D.png    |  Bin 6657 -> 6689 bytes
 .../FCK_integration_effects_rotation_2D.png     |  Bin 6657 -> 6689 bytes
 .../FCK_integration_effects_scaleX_2D.png       |  Bin 4628 -> 4746 bytes
 .../FCK_integration_effects_scaleX_3D.png       |  Bin 4628 -> 4746 bytes
 .../FCK_integration_effects_scaleY_2D.png       |  Bin 5613 -> 5839 bytes
 .../FCK_integration_effects_scaleY_3D.png       |  Bin 5613 -> 5839 bytes
 .../FCK_integration_effects_scaleZ_2D.png       |  Bin 6719 -> 6630 bytes
 .../FCK_integration_effects_scaleZ_3D.png       |  Bin 6719 -> 6630 bytes
 .../baselines/FCK_integration_effects_width.png |  Bin 4268 -> 4379 bytes
 .../baselines/FCK_integration_effects_x_2D.png  |  Bin 3851 -> 3964 bytes
 .../baselines/FCK_integration_effects_x_3D.png  |  Bin 3936 -> 4048 bytes
 .../baselines/FCK_integration_effects_y_2D.png  |  Bin 3932 -> 4044 bytes
 .../baselines/FCK_integration_effects_y_3D.png  |  Bin 3930 -> 4042 bytes
 .../baselines/FCK_integration_effects_z_2D.png  |  Bin 5426 -> 5411 bytes
 .../baselines/FCK_integration_effects_z_3D.png  |  Bin 5426 -> 5411 bytes
 ...integration_expandingContainerAutoUpdate.png |  Bin 2354 -> 2353 bytes
 ...integration_expandingContainer_openState.png |  Bin 2907 -> 2872 bytes
 .../FCK_integration_focus_container.png         |  Bin 2330 -> 2449 bytes
 .../baselines/FCK_integration_haloPanel.png     |  Bin 8274 -> 8217 bytes
 .../FCK_integration_itemRenderer_end.png        |  Bin 1413 -> 2804 bytes
 .../FCK_integration_itemRenderer_middle.png     |  Bin 1413 -> 2678 bytes
 .../FCK_integration_layout_center_component.png |  Bin 5174 -> 5199 bytes
 .../FCK_integration_layout_center_container.png |  Bin 5171 -> 5193 bytes
 .../FCK_integration_layout_constraints.png      |  Bin 6425 -> 6449 bytes
 .../FCK_integration_layout_fixedLayout.png      |  Bin 9049 -> 9325 bytes
 .../FCK_integration_layout_minWidthHeight.png   |  Bin 6881 -> 6917 bytes
 .../baselines/FCK_integration_layout_scale.png  |  Bin 8107 -> 8299 bytes
 .../FCK_integration_layout_sizeSmaller.png      |  Bin 4770 -> 4763 bytes
 ...gration_layout_transformOffsets_position.png |  Bin 2268 -> 2370 bytes
 ...ntegration_layout_transformOffsets_scale.png |  Bin 2553 -> 2630 bytes
 ...ation_layout_transformPosition_component.png |  Bin 7079 -> 7103 bytes
 ...ation_layout_transformPosition_container.png |  Bin 7757 -> 7915 bytes
 .../FCK_integration_layout_widthHeight.png      |  Bin 6796 -> 6795 bytes
 .../baselines/FCK_integration_layout_xy.png     |  Bin 5313 -> 5336 bytes
 .../FCK_integration_layout_xy_negative.png      |  Bin 3364 -> 3432 bytes
 .../baselines/FCK_integration_mxpVersions.png   |  Bin 18782 -> 18758 bytes
 .../baselines/FCK_integration_skin_down.png     |  Bin 2325 -> 3501 bytes
 .../baselines/FCK_integration_skin_down@win.png |  Bin 0 -> 3533 bytes
 .../baselines/FCK_integration_skin_over@win.png |  Bin 0 -> 2481 bytes
 .../baselines/FCK_integration_skin_up@win.png   |  Bin 0 -> 2325 bytes
 .../FCK_integration_tooltip_component.png       |  Bin 3078 -> 3176 bytes
 .../FCK_integration_tooltip_container.png       |  Bin 3156 -> 3253 bytes
 ...CK_integration_tooltip_containerContents.png |  Bin 2845 -> 2947 bytes
 .../baselines/FCK_states_changingStates.png     |  Bin 3917 -> 3863 bytes
 .../states/baselines/FCK_states_excludeFrom.png |  Bin 4611 -> 4576 bytes
 .../states/baselines/FCK_states_includeIn.png   |  Bin 3917 -> 3863 bytes
 ...CK_states_transitions_component_fromStar.png |  Bin 3932 -> 3873 bytes
 .../FCK_states_transitions_component_fromTo.png |  Bin 3899 -> 3840 bytes
 ...CK_states_transitions_component_starFrom.png |  Bin 3889 -> 3829 bytes
 ...CK_states_transitions_component_starStar.png |  Bin 3889 -> 3829 bytes
 .../FCK_states_transitions_component_starTo.png |  Bin 3903 -> 3842 bytes
 .../FCK_states_transitions_component_toFrom.png |  Bin 3889 -> 3829 bytes
 .../FCK_states_transitions_component_toStar.png |  Bin 3889 -> 3829 bytes
 ...CK_states_transitions_container_fromStar.png |  Bin 3754 -> 3544 bytes
 .../FCK_states_transitions_container_fromTo.png |  Bin 3913 -> 3857 bytes
 ...CK_states_transitions_container_starFrom.png |  Bin 3889 -> 3829 bytes
 ...CK_states_transitions_container_starStar.png |  Bin 3915 -> 3868 bytes
 .../FCK_states_transitions_container_starTo.png |  Bin 3928 -> 3860 bytes
 .../FCK_states_transitions_container_toFrom.png |  Bin 3889 -> 3829 bytes
 .../FCK_states_transitions_container_toStar.png |  Bin 3915 -> 3868 bytes
 .../integration/Application_Integration.mxml    |    4 +-
 .../Application_Integration_controlBar.mxml     |    7 +-
 ...lication_Integration_MixedComponents@mac.png |  Bin 3592 -> 0 bytes
 ...Application_Integration_controlBar_alpha.png |  Bin 3976 -> 3745 bytes
 ...ication_Integration_controlBar_baseColor.png |  Bin 2951 -> 4291 bytes
 ...cation_Integration_controlBar_customSkin.png |  Bin 5037 -> 4915 bytes
 ...ontrolBar_customSkin_introduceControlBar.png |  Bin 7430 -> 7453 bytes
 ...lication_Integration_controlBar_disabled.png |  Bin 3300 -> 3614 bytes
 ...ation_controlBar_disabled_change_content.png |  Bin 3292 -> 3621 bytes
 ...ration_controlBar_disabled_change_layout.png |  Bin 4032 -> 4341 bytes
 ...plication_Integration_controlBar_enabled.png |  Bin 4253 -> 4042 bytes
 ...plication_Integration_controlBar_focus_1.png |  Bin 5241 -> 5119 bytes
 ...plication_Integration_controlBar_focus_2.png |  Bin 4991 -> 4735 bytes
 ...cation_Integration_controlBar_layout_add.png |  Bin 4205 -> 4054 bytes
 ...ntegration_controlBar_layout_add_element.png |  Bin 4268 -> 4068 bytes
 ...ation_Integration_controlBar_layout_hide.png |  Bin 2471 -> 2504 bytes
 ...gration_controlBar_layout_increaseHeight.png |  Bin 5926 -> 5714 bytes
 ...ion_Integration_controlBar_layout_remove.png |  Bin 2471 -> 2504 bytes
 ...gration_controlBar_layout_remove_element.png |  Bin 4059 -> 3860 bytes
 ...Application_Integration_controlBar_popup.png |  Bin 8101 -> 7314 bytes
 ...ication_Integration_controlBar_scrolling.png |  Bin 5037 -> 4915 bytes
 ...on_Integration_controlBar_states_content.png |  Bin 4205 -> 3967 bytes
 ...ion_Integration_controlBar_states_layout.png |  Bin 5015 -> 4970 bytes
 ...egration_controlBar_states_visible_false.png |  Bin 2471 -> 2504 bytes
 ...tegration_controlBar_states_visible_true.png |  Bin 4253 -> 4042 bytes
 ...pplication_Integration_controlBar_styles.png |  Bin 4253 -> 4143 bytes
 ...ration_controlBar_styles_controlBarGroup.png |  Bin 4820 -> 4539 bytes
 .../properties/Application_Properties.mxml      |    2 +-
 ...erties_controlBarContent_changeAtRuntime.png |  Bin 3406 -> 3236 bytes
 ...roperties_controlBarContent_setAtRuntime.png |  Bin 3406 -> 3236 bytes
 ...Properties_controlBarContent_setToDouble.png |  Bin 3845 -> 3660 bytes
 ...Properties_controlBarContent_setToSingle.png |  Bin 3442 -> 3341 bytes
 ..._Properties_controlBarContent_setViaMXML.png |  Bin 3454 -> 3232 bytes
 ...cation_Properties_controlBarLayout_basic.png |  Bin 3371 -> 3163 bytes
 ...n_Properties_controlBarLayout_horizontal.png |  Bin 3286 -> 3106 bytes
 ...n_Properties_controlBarLayout_modify_gap.png |  Bin 3573 -> 3361 bytes
 ...rties_controlBarLayout_modify_paddingTop.png |  Bin 3561 -> 3324 bytes
 ...ication_Properties_controlBarLayout_tile.png |  Bin 4064 -> 3956 bytes
 ...ion_Properties_controlBarLayout_vertical.png |  Bin 4207 -> 4107 bytes
 ...Properties_controlBarVisible_layout_true.png |  Bin 3454 -> 3232 bytes
 .../Application_Properties_haloLinkBar.png      |  Bin 9408 -> 9181 bytes
 .../Application_Properties_skin_test2.png       |  Bin 1281 -> 1281 bytes
 .../Border_Properties_DI_creationPolicyAuto.png |  Bin 4206 -> 3640 bytes
 ...order_Properties_DI_creationPolicyNone_2.png |  Bin 629 -> 3884 bytes
 .../Border_Properties_States_borderStates_1.png |  Bin 3372 -> 3573 bytes
 .../Border_Properties_States_borderStates_2.png |  Bin 3531 -> 3825 bytes
 .../Border_Properties_States_changes1_1.png     |  Bin 8825 -> 8755 bytes
 .../Border_Properties_States_changes1_2.png     |  Bin 7546 -> 7407 bytes
 .../Border_Properties_States_changes2.png       |  Bin 7077 -> 7055 bytes
 .../Border_Properties_States_changes3_1.png     |  Bin 8825 -> 8755 bytes
 .../Border_Properties_States_changes3_2.png     |  Bin 7077 -> 7055 bytes
 .../Border_Properties_States_styles_1.png       |  Bin 16762 -> 16646 bytes
 .../Border_Properties_States_styles_2.png       |  Bin 14447 -> 16770 bytes
 .../Border_Properties_backgroundFill_BF1.png    |  Bin 6483 -> 6448 bytes
 .../Border_Properties_backgroundFill_BF2.png    |  Bin 6483 -> 6448 bytes
 .../Border_Properties_backgroundFill_BF3_1.png  |  Bin 6483 -> 6448 bytes
 .../Border_Properties_backgroundFill_BF3_2.png  |  Bin 5571 -> 5547 bytes
 .../Border_Properties_borderStroke_RGS4_1.png   |  Bin 18110 -> 18298 bytes
 ...order_Properties_borderStroke_RGS4_1@win.png |  Bin 0 -> 18375 bytes
 .../Border_Properties_borderStroke_RGS4_2.png   |  Bin 20650 -> 20142 bytes
 ...order_Properties_borderStroke_RGS4_2@win.png |  Bin 0 -> 20056 bytes
 .../Border/Properties/Border_Properties.mxml    |   10 +-
 .../Border/Properties/Border_Properties_DI.mxml |    2 +-
 .../Properties/Border_Properties_States.mxml    |    1 +
 .../Border_Styles_backgroundImage1.png          |  Bin 5571 -> 5547 bytes
 .../Border_Styles_backgroundImage2.png          |  Bin 9251 -> 9206 bytes
 .../Border_Styles_backgroundImage3.png          |  Bin 5359 -> 5249 bytes
 .../Border_Styles_backgroundImage4.png          |  Bin 5571 -> 5547 bytes
 .../Border_Styles_backgroundImage5.png          |  Bin 9251 -> 9206 bytes
 .../Baselines/Border_Styles_multiple_MXML1.png  |  Bin 5081 -> 4976 bytes
 .../Baselines/Border_Styles_multiple_MXML2.png  |  Bin 5141 -> 3992 bytes
 .../Baselines/Border_Styles_multiple_MXML3.png  |  Bin 7036 -> 7088 bytes
 .../Baselines/Border_Styles_multiple_MXML4.png  |  Bin 15269 -> 15208 bytes
 .../Baselines/Border_Styles_multiple_MXML5.png  |  Bin 15354 -> 15284 bytes
 .../Baselines/Border_Styles_multiple_MXML6.png  |  Bin 15330 -> 15268 bytes
 .../Baselines/Border_Styles_multiple_MXML7.png  |  Bin 14359 -> 14115 bytes
 .../Border_Styles_multiple_backgroundImage6.png |  Bin 4521 -> 4629 bytes
 .../Border_Styles_multiple_runTime.png          |  Bin 4069 -> 3715 bytes
 .../Baselines/Border_Styles_styleName.png       |  Bin 4253 -> 3900 bytes
 .../components/Border/Styles/Border_Styles.mxml |    1 +
 .../button_icon_integration_default_btn5.png    |  Bin 2070 -> 2005 bytes
 .../button_icon_integration_noIcon_btn6.png     |  Bin 1124 -> 1082 bytes
 .../button_icon_integration_state1_btn3.png     |  Bin 1956 -> 1840 bytes
 .../button_icon_integration_state1_btn4.png     |  Bin 2139 -> 2086 bytes
 .../button_icon_integration_state1_btn5.png     |  Bin 1929 -> 1817 bytes
 .../button_icon_integration_state1_btn6.png     |  Bin 1951 -> 1876 bytes
 .../baselines/label_default_states_FxButton.png |  Bin 1531 -> 1459 bytes
 .../baselines/label_noBtn_states_FxButton.png   |  Bin 1554 -> 1552 bytes
 .../baselines/label_state2_states_FxButton.png  |  Bin 1406 -> 1358 bytes
 .../Flex4_Button_Properties_tester.mxml         |    7 +-
 .../Checking_label_property_of_Button.png       |  Bin 956 -> 909 bytes
 .../Checking_styleName_property_of_Button.png   |  Bin 1924 -> 1967 bytes
 .../Checking_toolTip_property_of_Button.png     |  Bin 1910 -> 1912 bytes
 ...ing_toolTip_truncated_property_of_Button.png |  Bin 3239 -> 3258 bytes
 .../Checking_width_100_property_of_Button.png   |  Bin 1096 -> 1056 bytes
 .../Checking_width_50_property_of_Button.png    |  Bin 875 -> 850 bytes
 .../Checking_x_100_property_of_Button.png       |  Bin 2070 -> 2118 bytes
 .../Checking_x_50_property_of_Button.png        |  Bin 2096 -> 2066 bytes
 ...Checking_x_neg5point6_property_of_Button.png |  Bin 2037 -> 1950 bytes
 .../Checking_y_50_property_of_Button.png        |  Bin 2105 -> 2050 bytes
 .../Checking_y_56_property_of_Button.png        |  Bin 2092 -> 2026 bytes
 ...Checking_y_neg5point6_property_of_Button.png |  Bin 2051 -> 1975 bytes
 .../ErrorString_Checking_Button_errorString.png |  Bin 2618 -> 2620 bytes
 .../baselines/alpha_property_of_Button.png      |  Bin 1263 -> 982 bytes
 .../focusEnabled_false_property_of_Button.png   |  Bin 2217 -> 2121 bytes
 .../focusEnabled_true_property_of_Button.png    |  Bin 2322 -> 2239 bytes
 .../layoutDirection_property_Button_rtl.png     |  Bin 1293 -> 1153 bytes
 ...irection_property_Button_rtl_setOnParent.png |  Bin 1293 -> 1153 bytes
 ...ckyHighlighting_false_property_of_Button.png |  Bin 452 -> 449 bytes
 .../FxButton_Style_baseColor_disabled.png       |  Bin 1175 -> 1179 bytes
 .../FxButton_Style_baseColor_mouseOver.png      |  Bin 1434 -> 1376 bytes
 .../baselines/FxButton_Style_baseColor_mxml.png |  Bin 1417 -> 1360 bytes
 .../baselines/FxButton_Style_color_disabled.png |  Bin 758 -> 748 bytes
 .../baselines/FxButton_Style_color_mxml.png     |  Bin 913 -> 818 bytes
 .../FxButton_Style_focusColor_mxml.png          |  Bin 1704 -> 1581 bytes
 .../baselines/baseline_10_BigFont_Group.png     |  Bin 4305 -> 4567 bytes
 .../baselines/baseline_10_Button_Group.png      |  Bin 4357 -> 4330 bytes
 .../styles/baselines/baseline_50_Group.png      |  Bin 5750 -> 5468 bytes
 .../styles/baselines/baseline_Font_Style.png    |  Bin 6548 -> 6611 bytes
 .../styles/baselines/baseline_Font_Weight.png   |  Bin 6163 -> 5485 bytes
 .../styles/baselines/baseline_Move_Group.png    |  Bin 5750 -> 5468 bytes
 .../Button/styles/baselines/baseline_panel.png  |  Bin 3195 -> 3226 bytes
 .../styles/baselines/baseline_panel_Icon.png    |  Bin 7367 -> 6875 bytes
 .../styles/baselines/baseline_panel_resize.png  |  Bin 882 -> 885 bytes
 .../baseline_set_baseline_customPanel.png       |  Bin 3434 -> 3389 bytes
 .../baseline_verify_baseline_customPanel.png    |  Bin 3442 -> 3394 bytes
 .../baselines/button_iconPlacement_bottom.png   |  Bin 2146 -> 2095 bytes
 .../baselines/button_iconPlacement_bottom2.png  |  Bin 2146 -> 2095 bytes
 .../button_iconPlacement_bottom2_emphasized.png |  Bin 2281 -> 2321 bytes
 .../button_iconPlacement_bottom_emphasized.png  |  Bin 2281 -> 2321 bytes
 .../button_iconPlacement_bottom_to_left.png     |  Bin 2130 -> 2044 bytes
 ..._iconPlacement_bottom_to_left_emphasized.png |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_bottom_to_right.png    |  Bin 2099 -> 2021 bytes
 ...iconPlacement_bottom_to_right_emphasized.png |  Bin 2158 -> 2197 bytes
 .../button_iconPlacement_bottom_to_top.png      |  Bin 2161 -> 2110 bytes
 ...n_iconPlacement_bottom_to_top_emphasized.png |  Bin 2292 -> 2346 bytes
 .../button_iconPlacement_clearStyle.png         |  Bin 2130 -> 2044 bytes
 ...tton_iconPlacement_clearStyle_emphasized.png |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_css_selectionID.png    |  Bin 2107 -> 2076 bytes
 ...iconPlacement_css_selectionID_emphasized.png |  Bin 2235 -> 2298 bytes
 .../button_iconPlacement_css_styleName.png      |  Bin 2837 -> 2836 bytes
 ...n_iconPlacement_css_styleName_emphasized.png |  Bin 3002 -> 3228 bytes
 .../baselines/button_iconPlacement_default.png  |  Bin 2130 -> 2044 bytes
 .../button_iconPlacement_default_emphasized.png |  Bin 2196 -> 2227 bytes
 .../baselines/button_iconPlacement_inline.png   |  Bin 1884 -> 1900 bytes
 .../button_iconPlacement_inline_emphasized.png  |  Bin 1959 -> 2045 bytes
 .../button_iconPlacement_layoutDirection.png    |  Bin 2130 -> 2044 bytes
 ...iconPlacement_layoutDirection_emphasized.png |  Bin 2196 -> 2227 bytes
 .../baselines/button_iconPlacement_left.png     |  Bin 2130 -> 2044 bytes
 .../baselines/button_iconPlacement_left2.png    |  Bin 2130 -> 2044 bytes
 .../button_iconPlacement_left2_emphasized.png   |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_left_emphasized.png    |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_left_to_bottom.png     |  Bin 2146 -> 2095 bytes
 ..._iconPlacement_left_to_bottom_emphasized.png |  Bin 2281 -> 2321 bytes
 .../button_iconPlacement_left_to_right.png      |  Bin 2099 -> 2021 bytes
 ...n_iconPlacement_left_to_right_emphasized.png |  Bin 2158 -> 2197 bytes
 .../button_iconPlacement_left_to_top.png        |  Bin 2161 -> 2110 bytes
 ...ton_iconPlacement_left_to_top_emphasized.png |  Bin 2292 -> 2346 bytes
 .../button_iconPlacement_no_icon_bottom.png     |  Bin 1026 -> 970 bytes
 ..._iconPlacement_no_icon_bottom_emphasized.png |  Bin 1064 -> 1107 bytes
 .../button_iconPlacement_no_icon_right.png      |  Bin 1026 -> 970 bytes
 ...n_iconPlacement_no_icon_right_emphasized.png |  Bin 1064 -> 1107 bytes
 .../baselines/button_iconPlacement_right.png    |  Bin 2099 -> 2021 bytes
 .../baselines/button_iconPlacement_right2.png   |  Bin 2099 -> 2021 bytes
 .../button_iconPlacement_right2_emphasized.png  |  Bin 2158 -> 2197 bytes
 .../button_iconPlacement_right_emphasized.png   |  Bin 2158 -> 2197 bytes
 .../button_iconPlacement_right_to_bottom.png    |  Bin 2146 -> 2095 bytes
 ...iconPlacement_right_to_bottom_emphasized.png |  Bin 2281 -> 2321 bytes
 .../button_iconPlacement_right_to_left.png      |  Bin 2130 -> 2044 bytes
 ...n_iconPlacement_right_to_left_emphasized.png |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_right_to_top.png       |  Bin 2161 -> 2110 bytes
 ...on_iconPlacement_right_to_top_emphasized.png |  Bin 2292 -> 2346 bytes
 .../baselines/button_iconPlacement_top.png      |  Bin 2161 -> 2110 bytes
 .../baselines/button_iconPlacement_top2.png     |  Bin 2161 -> 2110 bytes
 .../button_iconPlacement_top2_emphasized.png    |  Bin 2292 -> 2346 bytes
 .../button_iconPlacement_top_emphasized.png     |  Bin 2292 -> 2346 bytes
 .../button_iconPlacement_top_to_bottom.png      |  Bin 2146 -> 2095 bytes
 ...n_iconPlacement_top_to_bottom_emphasized.png |  Bin 2281 -> 2321 bytes
 .../button_iconPlacement_top_to_left.png        |  Bin 2130 -> 2044 bytes
 ...ton_iconPlacement_top_to_left_emphasized.png |  Bin 2196 -> 2227 bytes
 .../button_iconPlacement_top_to_right.png       |  Bin 2099 -> 2021 bytes
 ...on_iconPlacement_top_to_right_emphasized.png |  Bin 2158 -> 2197 bytes
 .../button_iconPlacement_top_to_top.png         |  Bin 2161 -> 2110 bytes
 ...tton_iconPlacement_top_to_top_emphasized.png |  Bin 2292 -> 2346 bytes
 .../button_icon_add_after_long_label.png        |  Bin 3894 -> 3503 bytes
 ...ton_icon_add_after_long_label_emphasized.png |  Bin 3990 -> 4078 bytes
 .../button_icon_add_after_short_label.png       |  Bin 2113 -> 2072 bytes
 ...on_icon_add_after_short_label_emphasized.png |  Bin 2180 -> 2240 bytes
 .../styles/baselines/button_icon_alpha_0.5.png  |  Bin 2651 -> 2473 bytes
 .../button_icon_alpha_0.5_emphasized.png        |  Bin 2783 -> 2812 bytes
 .../styles/baselines/button_icon_alpha_0.png    |  Bin 139 -> 146 bytes
 .../button_icon_alpha_0_emphasized.png          |  Bin 139 -> 146 bytes
 .../baselines/button_icon_as_childTag.png       |  Bin 1845 -> 1772 bytes
 .../button_icon_as_childTag_emphasized.png      |  Bin 1870 -> 1810 bytes
 .../baselines/button_icon_button_down.png       |  Bin 1074 -> 1396 bytes
 .../button_icon_button_down_emphasized.png      |  Bin 1288 -> 1504 bytes
 .../baselines/button_icon_chromeColor_down.png  |  Bin 1070 -> 981 bytes
 .../button_icon_chromeColor_down_emphasized.png |  Bin 1192 -> 1086 bytes
 .../baselines/button_icon_custom_downSkin.png   |  Bin 1417 -> 1117 bytes
 .../baselines/button_icon_custom_upSkin.png     |  Bin 1473 -> 1426 bytes
 .../baselines/button_icon_down_alpha_0.5.png    |  Bin 2205 -> 2706 bytes
 .../button_icon_down_alpha_0.5_emphasized.png   |  Bin 2544 -> 3033 bytes
 .../baselines/button_icon_height_increase.png   |  Bin 2303 -> 2278 bytes
 .../button_icon_height_increase_emphasized.png  |  Bin 2590 -> 2647 bytes
 .../baselines/button_icon_increase_width.png    |  Bin 1767 -> 1766 bytes
 .../baselines/button_icon_increase_width2.png   |  Bin 2336 -> 2408 bytes
 .../button_icon_increase_width2_emphasized.png  |  Bin 2404 -> 2594 bytes
 .../button_icon_increase_width_emphasized.png   |  Bin 1830 -> 1836 bytes
 .../button_icon_label_change_runtime.png        |  Bin 3066 -> 2898 bytes
 ...ton_icon_label_change_runtime_emphasized.png |  Bin 3139 -> 3225 bytes
 .../baselines/button_icon_lengthen_label.png    |  Bin 2247 -> 2326 bytes
 .../button_icon_lengthen_label_emphasized.png   |  Bin 2315 -> 2514 bytes
 .../baselines/button_icon_reduce_width.png      |  Bin 2071 -> 2023 bytes
 .../button_icon_reduce_width_emphasized.png     |  Bin 2140 -> 2175 bytes
 .../baselines/button_icon_width_increase.png    |  Bin 2150 -> 2136 bytes
 .../button_icon_width_increase_emphasized.png   |  Bin 2204 -> 2269 bytes
 .../button_icon_with_label_button_down.png      |  Bin 1609 -> 1970 bytes
 ...n_icon_with_label_button_down_emphasized.png |  Bin 1905 -> 2153 bytes
 .../button_icon_with_label_change_value.png     |  Bin 2093 -> 2032 bytes
 ..._icon_with_label_change_value_emphasized.png |  Bin 2160 -> 2206 bytes
 ...ton_icon_with_label_chromeColor_disabled.png |  Bin 1214 -> 1305 bytes
 ...th_label_chromeColor_disabled_emphasized.png |  Bin 1355 -> 1435 bytes
 .../button_icon_with_label_chromeColor_down.png |  Bin 1465 -> 1342 bytes
 ...n_with_label_chromeColor_down_emphasized.png |  Bin 1617 -> 1491 bytes
 .../button_icon_with_label_chromeColor_up.png   |  Bin 1639 -> 1600 bytes
 ...con_with_label_chromeColor_up_emphasized.png |  Bin 1653 -> 1623 bytes
 .../baselines/button_icon_with_label_clear.png  |  Bin 1083 -> 1001 bytes
 .../button_icon_with_label_clear_emphasized.png |  Bin 1131 -> 1144 bytes
 .../baselines/button_icon_with_label_color.png  |  Bin 2470 -> 2490 bytes
 .../button_icon_with_label_color_emphasized.png |  Bin 2526 -> 2587 bytes
 .../button_icon_with_label_disabled.png         |  Bin 1586 -> 1709 bytes
 ...tton_icon_with_label_disabled_emphasized.png |  Bin 1720 -> 1859 bytes
 .../button_icon_with_label_fontFamily.png       |  Bin 2472 -> 2312 bytes
 .../button_icon_with_label_fontFamily_down.png  |  Bin 1843 -> 2255 bytes
 ...on_with_label_fontFamily_down_emphasized.png |  Bin 2175 -> 2434 bytes
 ...on_icon_with_label_fontFamily_emphasized.png |  Bin 2533 -> 2542 bytes
 .../button_icon_with_label_fontSize.png         |  Bin 3667 -> 3490 bytes
 .../button_icon_with_label_fontSize_down.png    |  Bin 2936 -> 3463 bytes
 ...icon_with_label_fontSize_down_emphasized.png |  Bin 3495 -> 3893 bytes
 ...tton_icon_with_label_fontSize_emphasized.png |  Bin 3754 -> 4026 bytes
 .../button_icon_with_label_fontStyle.png        |  Bin 2472 -> 2382 bytes
 .../button_icon_with_label_fontStyle_dowwn.png  |  Bin 2047 -> 2321 bytes
 ...on_with_label_fontStyle_dowwn_emphasized.png |  Bin 2336 -> 2512 bytes
 ...ton_icon_with_label_fontStyle_emphasized.png |  Bin 2533 -> 2624 bytes
 .../button_icon_with_label_fontWeight.png       |  Bin 2472 -> 2350 bytes
 .../button_icon_with_label_fontWeight_down.png  |  Bin 1918 -> 2284 bytes
 ...on_with_label_fontWeight_down_emphasized.png |  Bin 2270 -> 2493 bytes
 ...on_icon_with_label_fontWeight_emphasized.png |  Bin 2533 -> 2581 bytes
 .../button_icon_with_label_scaleX_2.png         |  Bin 2491 -> 2458 bytes
 ...tton_icon_with_label_scaleX_2_emphasized.png |  Bin 2573 -> 2646 bytes
 .../button_icon_with_label_scaleX_point5.png    |  Bin 1376 -> 1388 bytes
 ...icon_with_label_scaleX_point5_emphasized.png |  Bin 1417 -> 1482 bytes
 ...on_icon_with_label_scaleX_scaleY_1point5.png |  Bin 2838 -> 2812 bytes
 ...h_label_scaleX_scaleY_1point5_emphasized.png |  Bin 3014 -> 3212 bytes
 .../button_icon_with_label_scaleY_2.png         |  Bin 2902 -> 2749 bytes
 ...tton_icon_with_label_scaleY_2_emphasized.png |  Bin 3272 -> 3301 bytes
 .../button_icon_with_label_scaleY_point5.png    |  Bin 1274 -> 1270 bytes
 ...icon_with_label_scaleY_point5_emphasized.png |  Bin 1298 -> 1335 bytes
 .../button_icon_with_label_textDecoration.png   |  Bin 2464 -> 2331 bytes
 ...tton_icon_with_label_textDecoration_down.png |  Bin 2410 -> 2709 bytes
 ...ith_label_textDecoration_down_emphasized.png |  Bin 2785 -> 2950 bytes
 ...con_with_label_textDecoration_emphasized.png |  Bin 2538 -> 2557 bytes
 .../button_icon_with_label_visible_false.png    |  Bin 2058 -> 2070 bytes
 ...icon_with_label_visible_false_emphasized.png |  Bin 2058 -> 2070 bytes
 ...button_icon_with_long_label_change_value.png |  Bin 3152 -> 3295 bytes
 ..._with_long_label_change_value_emphasized.png |  Bin 3223 -> 3745 bytes
 .../button_style_css_iconPlacement.png          |  Bin 1995 -> 1955 bytes
 .../Button/styles/button_icon_styles.mxml       |   92 +-
 .../styles/button_icon_styles_emphasized.mxml   |   84 +-
 .../ButtonBar_ContainerIntegration.mxml         |    2 +-
 .../Integration/ButtonBar_VS_Methods.mxml       |   16 +-
 .../Integration/ButtonBar_VS_Methods2.mxml      |    2 +-
 .../containerIntegration_box_test1.png          |  Bin 3232 -> 3475 bytes
 .../containerIntegration_box_test3.png          |  Bin 3276 -> 3385 bytes
 .../containerIntegration_panel_test5.png        |  Bin 3521 -> 3636 bytes
 .../Integration/baselines/iconChange_test1.png  |  Bin 4962 -> 4830 bytes
 .../Integration/baselines/iconChange_test2.png  |  Bin 5313 -> 5159 bytes
 .../Integration/baselines/iconChange_test3.png  |  Bin 5519 -> 5385 bytes
 .../Integration/baselines/iconChange_test4.png  |  Bin 5015 -> 4862 bytes
 .../Integration/baselines/iconChange_test5.png  |  Bin 5320 -> 5170 bytes
 .../Integration/baselines/iconChange_test6.png  |  Bin 5440 -> 5408 bytes
 .../Integration/baselines/labelChange_test0.png |  Bin 4344 -> 4000 bytes
 .../Integration/baselines/labelChange_test1.png |  Bin 2089 -> 1965 bytes
 .../Integration/baselines/labelChange_test2.png |  Bin 4988 -> 4432 bytes
 .../Integration/baselines/labelChange_test3.png |  Bin 3326 -> 3111 bytes
 .../Integration/baselines/states_test0.png      |  Bin 1067 -> 1038 bytes
 .../Integration/baselines/states_test2.png      |  Bin 2275 -> 2123 bytes
 .../Integration/baselines/states_test2b.png     |  Bin 2275 -> 2123 bytes
 .../Integration/baselines/states_test3.png      |  Bin 3236 -> 3074 bytes
 .../Integration/baselines/states_test3b.png     |  Bin 3236 -> 3074 bytes
 .../buttonBar_keyDownHandler_test1.png          |  Bin 2196 -> 2275 bytes
 .../buttonBar_keyDownHandler_test10.png         |  Bin 2174 -> 2219 bytes
 .../buttonBar_keyDownHandler_test11.png         |  Bin 2190 -> 2263 bytes
 .../buttonBar_keyDownHandler_test12.png         |  Bin 2190 -> 2263 bytes
 .../buttonBar_keyDownHandler_test2.png          |  Bin 2196 -> 2275 bytes
 .../buttonBar_keyDownHandler_test3.png          |  Bin 2174 -> 2219 bytes
 .../buttonBar_keyDownHandler_test4.png          |  Bin 2174 -> 2219 bytes
 .../buttonBar_keyDownHandler_test5.png          |  Bin 2196 -> 2275 bytes
 .../buttonBar_keyDownHandler_test6.png          |  Bin 2196 -> 2275 bytes
 .../buttonBar_keyDownHandler_test7.png          |  Bin 2190 -> 2263 bytes
 .../buttonBar_keyDownHandler_test8.png          |  Bin 2190 -> 2263 bytes
 .../buttonBar_keyDownHandler_test9.png          |  Bin 2174 -> 2219 bytes
 ...faultButtonBarItemRendererFunction_test3.png |  Bin 291 -> 293 bytes
 .../Properties/ButtonBar_properties.mxml        |    4 +-
 .../baselines/ButtonBar_icon_test1.png          |  Bin 5541 -> 5552 bytes
 .../baselines/ButtonBar_icon_test10.png         |  Bin 5960 -> 6027 bytes
 .../baselines/ButtonBar_icon_test11.png         |  Bin 3939 -> 4146 bytes
 .../baselines/ButtonBar_icon_test12.png         |  Bin 4269 -> 3916 bytes
 .../baselines/ButtonBar_icon_test13.png         |  Bin 4165 -> 4149 bytes
 .../baselines/ButtonBar_icon_test14.png         |  Bin 2657 -> 2529 bytes
 .../baselines/ButtonBar_icon_test15.png         |  Bin 4955 -> 4917 bytes
 .../baselines/ButtonBar_icon_test16.png         |  Bin 5342 -> 4781 bytes
 .../baselines/ButtonBar_icon_test17.png         |  Bin 5095 -> 4920 bytes
 .../baselines/ButtonBar_icon_test18.png         |  Bin 5754 -> 6113 bytes
 .../baselines/ButtonBar_icon_test19.png         |  Bin 6090 -> 5849 bytes
 .../baselines/ButtonBar_icon_test2.png          |  Bin 6128 -> 5891 bytes
 .../baselines/ButtonBar_icon_test20.png         |  Bin 6021 -> 6094 bytes
 .../baselines/ButtonBar_icon_test21.png         |  Bin 5541 -> 5552 bytes
 .../baselines/ButtonBar_icon_test22.png         |  Bin 4955 -> 4917 bytes
 .../baselines/ButtonBar_icon_test23.png         |  Bin 2657 -> 2529 bytes
 .../baselines/ButtonBar_icon_test24.png         |  Bin 5404 -> 5254 bytes
 .../baselines/ButtonBar_icon_test25.png         |  Bin 5781 -> 5575 bytes
 .../baselines/ButtonBar_icon_test26.png         |  Bin 5493 -> 5521 bytes
 .../baselines/ButtonBar_icon_test27.png         |  Bin 5662 -> 5546 bytes
 .../baselines/ButtonBar_icon_test28.png         |  Bin 5541 -> 5552 bytes
 .../baselines/ButtonBar_icon_test29.png         |  Bin 5497 -> 5586 bytes
 .../baselines/ButtonBar_icon_test3.png          |  Bin 6112 -> 5882 bytes
 .../baselines/ButtonBar_icon_test4.png          |  Bin 6146 -> 5896 bytes
 .../baselines/ButtonBar_icon_test5.png          |  Bin 6128 -> 5891 bytes
 .../baselines/ButtonBar_icon_test6.png          |  Bin 6910 -> 6990 bytes
 .../baselines/ButtonBar_icon_test8.png          |  Bin 5840 -> 5952 bytes
 .../baselines/ButtonBar_icon_test9.png          |  Bin 5906 -> 5948 bytes
 .../Properties/baselines/enabled_test2.png      |  Bin 1395 -> 1462 bytes
 .../baselines/selectedItem_sanityTest.png       |  Bin 2068 -> 2072 bytes
 .../ButtonBar/SWFs/Assets/myStyles.css          |   75 +
 .../ButtonBar/SWFs/ButtonBarApp1.mxml           |   28 +-
 .../ButtonBar/SWFs/ButtonBarApp2.mxml           |   85 +-
 .../ButtonBar/SWFs/ButtonBarApp3.mxml           |   56 +-
 .../ButtonBar/Styles/ButtonBar_styles.mxml      |    6 +-
 .../ButtonBar_Style_baseColor_disabled.png      |  Bin 738 -> 760 bytes
 .../ButtonBar_Style_baseColor_mouseOver.png     |  Bin 843 -> 839 bytes
 .../ButtonBar_Style_baseColor_mxml.png          |  Bin 830 -> 841 bytes
 .../ButtonBar_Style_color_disabled.png          |  Bin 735 -> 734 bytes
 .../baselines/ButtonBar_Style_color_mxml.png    |  Bin 829 -> 832 bytes
 .../ButtonBar_Style_focusColor_mxml.png         |  Bin 1114 -> 1111 bytes
 .../Styles/baselines/color_as_css_test1.png     |  Bin 1546 -> 1716 bytes
 .../Styles/baselines/color_as_test1.png         |  Bin 1546 -> 1716 bytes
 .../Styles/baselines/color_mxml_test1.png       |  Bin 1546 -> 1716 bytes
 .../Styles/baselines/direction_as_css_test1.png |  Bin 1477 -> 2606 bytes
 .../Styles/baselines/direction_as_css_test2.png |  Bin 1477 -> 2628 bytes
 .../Styles/baselines/direction_as_test1.png     |  Bin 1477 -> 2606 bytes
 .../Styles/baselines/direction_as_test2.png     |  Bin 1477 -> 2628 bytes
 .../Styles/baselines/direction_mxml_test1.png   |  Bin 1477 -> 5329 bytes
 .../Styles/baselines/direction_mxml_test2.png   |  Bin 1477 -> 5400 bytes
 .../baselines/fontFamily_as_css_test2.png       |  Bin 1581 -> 1442 bytes
 .../Styles/baselines/fontFamily_as_test2.png    |  Bin 1581 -> 1442 bytes
 .../Styles/baselines/fontFamily_mxml_test1.png  |  Bin 2366 -> 2454 bytes
 .../Styles/baselines/fontFamily_mxml_test2.png  |  Bin 2366 -> 2705 bytes
 .../Styles/baselines/fontSize_as_css_test1.png  |  Bin 1282 -> 1218 bytes
 .../Styles/baselines/fontSize_as_css_test2.png  |  Bin 2366 -> 2459 bytes
 .../Styles/baselines/fontSize_as_test1.png      |  Bin 1282 -> 1218 bytes
 .../Styles/baselines/fontSize_as_test2.png      |  Bin 2366 -> 2459 bytes
 .../Styles/baselines/fontSize_mxml_test1.png    |  Bin 1282 -> 1218 bytes
 .../Styles/baselines/fontSize_mxml_test2.png    |  Bin 2366 -> 2454 bytes
 .../baselines/fontWeight_as_css_test1.png       |  Bin 1581 -> 1653 bytes
 .../baselines/fontWeight_as_css_test2.png       |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/fontWeight_as_test1.png    |  Bin 1581 -> 1653 bytes
 .../Styles/baselines/fontWeight_as_test2.png    |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/fontWeight_mxml_test1.png  |  Bin 1581 -> 1653 bytes
 .../Styles/baselines/fontWeight_mxml_test2.png  |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/kerning_as_css_test1.png   |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_as_css_test2.png   |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_as_css_test3.png   |  Bin 1076 -> 1562 bytes
 .../Styles/baselines/kerning_as_test1.png       |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_as_test2.png       |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_as_test3.png       |  Bin 1076 -> 1562 bytes
 .../Styles/baselines/kerning_mxml_test1.png     |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_mxml_test2.png     |  Bin 1547 -> 1697 bytes
 .../Styles/baselines/kerning_mxml_test3.png     |  Bin 1076 -> 1562 bytes
 .../baselines/lineThrough_as_css_test1.png      |  Bin 1505 -> 1543 bytes
 .../baselines/lineThrough_as_css_test2.png      |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/lineThrough_as_test1.png   |  Bin 1505 -> 1543 bytes
 .../Styles/baselines/lineThrough_as_test2.png   |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/lineThrough_mxml_test1.png |  Bin 1505 -> 1543 bytes
 .../Styles/baselines/lineThrough_mxml_test2.png |  Bin 1581 -> 1599 bytes
 .../Styles/baselines/styles_mirroring_test1.png |  Bin 1406 -> 1442 bytes
 .../Styles/baselines/styles_mirroring_test2.png |  Bin 1406 -> 1442 bytes
 .../Styles/baselines/styles_mirroring_test3.png |  Bin 1663 -> 1685 bytes
 .../Styles/baselines/styles_mirroring_test4.png |  Bin 1658 -> 1692 bytes
 .../styles_mirroring_wireframe_test1.png        |  Bin 1397 -> 1439 bytes
 .../styles_mirroring_wireframe_test2.png        |  Bin 1397 -> 1439 bytes
 .../styles_mirroring_wireframe_test3.png        |  Bin 1648 -> 1677 bytes
 .../styles_mirroring_wireframe_test4.png        |  Bin 1642 -> 1685 bytes
 .../Styles/baselines/tblr_as_test1.png          |  Bin 1777 -> 1776 bytes
 .../Styles/baselines/tblr_as_test2.png          |  Bin 1800 -> 1794 bytes
 .../Styles/baselines/tblr_as_test3.png          |  Bin 1815 -> 1821 bytes
 .../baselines/textDecoration_as_css_test1.png   |  Bin 1572 -> 1621 bytes
 .../baselines/textDecoration_as_css_test2.png   |  Bin 1581 -> 1599 bytes
 .../baselines/textDecoration_as_test1.png       |  Bin 1572 -> 1621 bytes
 .../baselines/textDecoration_as_test2.png       |  Bin 1581 -> 1599 bytes
 .../baselines/textDecoration_mxml_test1.png     |  Bin 1572 -> 1621 bytes
 .../baselines/textDecoration_mxml_test2.png     |  Bin 1581 -> 1599 bytes
 .../ButtonBar/Styles/baselines/vhc_as_test1.png |  Bin 1802 -> 1798 bytes
 .../ButtonBar/Styles/baselines/vhc_as_test2.png |  Bin 1842 -> 1836 bytes
 .../events/Flex4_CheckBox_events_tester.mxml    |   10 +-
 .../Flex4_CheckBox_properties_tester.mxml       |    2 +-
 .../properties/baselines/CheckBox_Rotation.png  |  Bin 1275 -> 1375 bytes
 .../properties/baselines/CheckBox_click_1.png   |  Bin 915 -> 936 bytes
 .../properties/baselines/CheckBox_click_2.png   |  Bin 1603 -> 1566 bytes
 .../properties/baselines/CheckBox_click_3.png   |  Bin 1099 -> 1197 bytes
 .../baselines/CheckBox_default_x_y_Position.png |  Bin 962 -> 933 bytes
 .../baselines/CheckBox_deselect_by_click.png    |  Bin 338 -> 341 bytes
 .../CheckBox_enabled_false_select_by_click.png  |  Bin 265 -> 269 bytes
 .../baselines/CheckBox_focusEnabled_false_1.png |  Bin 476 -> 475 bytes
 .../baselines/CheckBox_focusEnabled_false_2.png |  Bin 774 -> 774 bytes
 .../properties/baselines/CheckBox_focusRing.png |  Bin 774 -> 774 bytes
 .../CheckBox_focusRing_scaleX_scaleY.png        |  Bin 1148 -> 1147 bytes
 .../properties/baselines/CheckBox_label.png     |  Bin 1421 -> 1370 bytes
 .../baselines/CheckBox_label_scaleX.png         |  Bin 2052 -> 1954 bytes
 .../baselines/CheckBox_label_scaleX_focus.png   |  Bin 2678 -> 2520 bytes
 .../baselines/CheckBox_label_scaleY.png         |  Bin 2373 -> 2230 bytes
 .../baselines/CheckBox_label_scaleY_focus.png   |  Bin 3073 -> 2928 bytes
 .../baselines/CheckBox_label_scaleZ.png         |  Bin 1753 -> 1805 bytes
 .../baselines/CheckBox_layoutDirection_rtl.png  |  Bin 1262 -> 1229 bytes
 .../CheckBox_layoutDirection_rtl_focusRing.png  |  Bin 1438 -> 1447 bytes
 ...CheckBox_selected_property_by_click_true.png |  Bin 470 -> 473 bytes
 .../CheckBox_selected_property_by_spacebar.png  |  Bin 581 -> 609 bytes
 .../CheckBox_selected_property_true.png         |  Bin 419 -> 422 bytes
 .../properties/baselines/CheckBox_skinned_1.png |  Bin 2091 -> 2129 bytes
 .../properties/baselines/CheckBox_skinned_2.png |  Bin 2231 -> 2253 bytes
 .../properties/baselines/CheckBox_states1_1.png |  Bin 7888 -> 7897 bytes
 .../properties/baselines/CheckBox_states1_2.png |  Bin 9349 -> 9339 bytes
 .../properties/baselines/CheckBox_states2_1.png |  Bin 7888 -> 7897 bytes
 .../properties/baselines/CheckBox_states2_2.png |  Bin 8340 -> 8233 bytes
 .../properties/baselines/CheckBox_states2_3.png |  Bin 9663 -> 9573 bytes
 .../properties/baselines/CheckBox_states2_4.png |  Bin 9317 -> 9138 bytes
 .../properties/baselines/CheckBox_states2_5.png |  Bin 8209 -> 8135 bytes
 .../properties/baselines/CheckBox_states2_6.png |  Bin 9442 -> 9238 bytes
 .../properties/baselines/CheckBox_styleName.png |  Bin 1536 -> 1637 bytes
 .../properties/baselines/CheckBox_toolTip.png   |  Bin 1569 -> 1569 bytes
 .../baselines/CheckBox_visibleDefault.png       |  Bin 289 -> 293 bytes
 .../baselines/CheckBox_visibleFalse.png         |  Bin 82 -> 84 bytes
 .../properties/baselines/CheckBox_xPosition.png |  Bin 825 -> 894 bytes
 .../baselines/CheckBox_xPosition2.png           |  Bin 702 -> 740 bytes
 .../properties/baselines/CheckBox_xRotation.png |  Bin 1712 -> 1770 bytes
 .../baselines/CheckBox_x_y_Position.png         |  Bin 919 -> 982 bytes
 .../properties/baselines/CheckBox_yPosition.png |  Bin 853 -> 901 bytes
 .../baselines/CheckBox_yPosition2.png           |  Bin 734 -> 784 bytes
 .../properties/baselines/CheckBox_zRotation.png |  Bin 1235 -> 1371 bytes
 .../baselines/FxCheckBox_Style_Style_color.png  |  Bin 1428 -> 1366 bytes
 .../FxCheckBox_Style_Style_fontSize.png         |  Bin 2959 -> 3164 bytes
 .../FxCheckBox_Style_Style_fontWeight.png       |  Bin 1403 -> 1409 bytes
 .../FxCheckBox_Style_Style_lineThrough.png      |  Bin 1312 -> 1233 bytes
 .../FxCheckBox_Style_Style_textDecoration.png   |  Bin 1354 -> 1339 bytes
 .../FxCheckBox_Style_baseColor_disabled.png     |  Bin 839 -> 934 bytes
 .../FxCheckBox_Style_baseColor_mxml.png         |  Bin 1106 -> 1126 bytes
 .../baselines/FxCheckBox_Style_bottom_20.png    |  Bin 2252 -> 2288 bytes
 .../baselines/FxCheckBox_Style_bottom_50.png    |  Bin 2254 -> 2288 bytes
 .../FxCheckBox_Style_color_disabled.png         |  Bin 563 -> 556 bytes
 .../baselines/FxCheckBox_Style_color_mxml.png   |  Bin 636 -> 598 bytes
 .../FxCheckBox_Style_focusColor_mxml.png        |  Bin 1417 -> 1430 bytes
 .../FxCheckBox_Style_horizontalCenter_20.png    |  Bin 2265 -> 2297 bytes
 .../FxCheckBox_Style_horizontalCenter_50.png    |  Bin 2266 -> 2294 bytes
 .../baselines/FxCheckBox_Style_left_20.png      |  Bin 2268 -> 2295 bytes
 .../baselines/FxCheckBox_Style_left_50.png      |  Bin 2266 -> 2297 bytes
 .../baselines/FxCheckBox_Style_right_20.png     |  Bin 2267 -> 2289 bytes
 .../baselines/FxCheckBox_Style_right_50.png     |  Bin 2265 -> 2286 bytes
 .../FxCheckBox_Style_symbolColor_mxml.png       |  Bin 1444 -> 1433 bytes
 .../baselines/FxCheckBox_Style_top_20.png       |  Bin 2254 -> 2290 bytes
 .../baselines/FxCheckBox_Style_top_50.png       |  Bin 2254 -> 2288 bytes
 .../FxCheckBox_Style_verticalCenter_20.png      |  Bin 2254 -> 2290 bytes
 .../FxCheckBox_Style_verticalCenter_50.png      |  Bin 2253 -> 2290 bytes
 .../Baselines/ComboBox_Effects_fade1_1.png      |  Bin 5906 -> 5541 bytes
 .../Baselines/ComboBox_Effects_fade1_2.png      |  Bin 1371 -> 1323 bytes
 .../Baselines/ComboBox_Effects_rotate3D_1.png   |  Bin 6313 -> 6154 bytes
 .../Baselines/ComboBox_Effects_rotate3D_2.png   |  Bin 1695 -> 1762 bytes
 .../Baselines/ComboBox_Effects_wipe1_1.png      |  Bin 5974 -> 5686 bytes
 .../Baselines/ComboBox_Effects_wipe1_2.png      |  Bin 1439 -> 1431 bytes
 .../Baselines/ComboBox_Properties_DI1_1.png     |  Bin 3277 -> 3360 bytes
 .../Baselines/ComboBox_Properties_DI1_2.png     |  Bin 3277 -> 3943 bytes
 .../ComboBox_Properties_States_Styles1_1.png    |  Bin 1081 -> 1156 bytes
 .../ComboBox_Properties_States_Styles1_2.png    |  Bin 2105 -> 2242 bytes
 .../ComboBox_Properties_States_Styles2_1.png    |  Bin 1404 -> 1437 bytes
 .../ComboBox_Properties_States_Styles2_2.png    |  Bin 2195 -> 2386 bytes
 .../ComboBox_Properties_States_Styles3_1.png    |  Bin 1367 -> 1471 bytes
 .../ComboBox_Properties_States_Styles3_2.png    |  Bin 3423 -> 3548 bytes
 .../ComboBox_Properties_States_Styles3_3.png    |  Bin 1367 -> 1471 bytes
 .../ComboBox_Properties_States_Styles3_4.png    |  Bin 3423 -> 3548 bytes
 .../ComboBox_Properties_States_includeIn_1.png  |  Bin 6784 -> 6945 bytes
 .../ComboBox_Properties_States_includeIn_2.png  |  Bin 7327 -> 7515 bytes
 .../ComboBox_Properties_States_selected_1.png   |  Bin 912 -> 839 bytes
 .../ComboBox_Properties_States_selected_2.png   |  Bin 1264 -> 1253 bytes
 .../Baselines/ComboBox_Properties_autoSize1.png |  Bin 3213 -> 3264 bytes
 .../ComboBox_Properties_autoSize2_1.png         |  Bin 2040 -> 1903 bytes
 .../ComboBox_Properties_autoSize2_2.png         |  Bin 1285 -> 1258 bytes
 .../Baselines/ComboBox_Properties_autoSize3.png |  Bin 1289 -> 1257 bytes
 .../Baselines/ComboBox_Properties_disabled2.png |  Bin 959 -> 1126 bytes
 .../ComboBox_Properties_disabled3_3.png         |  Bin 1797 -> 1767 bytes
 .../ComboBox_Properties_errorString2_1.png      |  Bin 940 -> 940 bytes
 .../ComboBox_Properties_errorString2_2.png      |  Bin 1855 -> 1856 bytes
 .../ComboBox_Properties_errorString_1.png       |  Bin 940 -> 940 bytes
 .../ComboBox_Properties_errorString_2.png       |  Bin 2110 -> 2110 bytes
 .../Baselines/ComboBox_Properties_height2.png   |  Bin 2181 -> 2171 bytes
 .../ComboBox_Properties_inputDigitString1.png   |  Bin 879 -> 967 bytes
 .../ComboBox_Properties_inputString1.png        |  Bin 1385 -> 1480 bytes
 .../ComboBox_Properties_inputString2.png        |  Bin 2724 -> 2550 bytes
 .../ComboBox_Properties_inputString3.png        |  Bin 2345 -> 3021 bytes
 .../ComboBox_Properties_inputString4.png        |  Bin 2094 -> 2013 bytes
 .../ComboBox_Properties_labelField1.png         |  Bin 1161 -> 1188 bytes
 .../ComboBox_Properties_labelField2_1.png       |  Bin 909 -> 950 bytes
 .../ComboBox_Properties_labelField2_2.png       |  Bin 1364 -> 1564 bytes
 .../ComboBox_Properties_labelFunction2_1.png    |  Bin 1583 -> 1510 bytes
 .../ComboBox_Properties_labelFunction2_2.png    |  Bin 3145 -> 2977 bytes
 .../ComboBox_Properties_labelFunction_1.png     |  Bin 1799 -> 1702 bytes
 .../ComboBox_Properties_labelFunction_2.png     |  Bin 3615 -> 3420 bytes
 ...omboBox_Properties_large_selectedIndex_1.png |  Bin 1358 -> 1454 bytes
 ...omboBox_Properties_large_selectedIndex_2.png |  Bin 3292 -> 3494 bytes
 ...ComboBox_Properties_large_selectedItem_1.png |  Bin 1321 -> 1292 bytes
 ...ComboBox_Properties_large_selectedItem_2.png |  Bin 3250 -> 3249 bytes
 .../ComboBox_Properties_layoutHorizontal1.png   |  Bin 1431 -> 1550 bytes
 .../ComboBox_Properties_layoutHorizontal2.png   |  Bin 757 -> 763 bytes
 .../ComboBox_Properties_layoutTile1.png         |  Bin 1771 -> 2381 bytes
 .../ComboBox_Properties_layoutTile2.png         |  Bin 716 -> 729 bytes
 .../ComboBox_Properties_matchChar1.png          |  Bin 3752 -> 3693 bytes
 .../ComboBox_Properties_matchChar2_1.png        |  Bin 3752 -> 3693 bytes
 .../ComboBox_Properties_matchChar2_2.png        |  Bin 3456 -> 3408 bytes
 .../ComboBox_Properties_matchChar2_3.png        |  Bin 2792 -> 2846 bytes
 .../ComboBox_Properties_matchChar2_4.png        |  Bin 2792 -> 2846 bytes
 .../ComboBox_Properties_matchChar2_5.png        |  Bin 2792 -> 2846 bytes
 .../ComboBox_Properties_matchChar3.png          |  Bin 3606 -> 3745 bytes
 .../ComboBox_Properties_matchChar6_1.png        |  Bin 1920 -> 1984 bytes
 .../ComboBox_Properties_matchChar6_2.png        |  Bin 3240 -> 3424 bytes
 .../ComboBox_Properties_matchDigitString1.png   |  Bin 857 -> 927 bytes
 .../ComboBox_Properties_mouseWheel.png          |  Bin 3234 -> 3134 bytes
 .../Baselines/ComboBox_Properties_open1.png     |  Bin 1803 -> 1767 bytes
 .../ComboBox_Properties_prompt_basic.png        |  Bin 1526 -> 1837 bytes
 ...ties_prompt_direction_changed_at_runtime.png |  Bin 1229 -> 1431 bytes
 .../ComboBox_Properties_prompt_disabled.png     |  Bin 1183 -> 1766 bytes
 ...ox_Properties_prompt_removed_w_selection.png |  Bin 1256 -> 1241 bytes
 ...ComboBox_Properties_prompt_retain_height.png |  Bin 585 -> 619 bytes
 .../ComboBox_Properties_prompt_retain_width.png |  Bin 1620 -> 1842 bytes
 ...perties_prompt_returned_w_null_selection.png |  Bin 1526 -> 1837 bytes
 .../ComboBox_Properties_restrict_toDigits2.png  |  Bin 857 -> 927 bytes
 ...ox_Properties_restrict_toUpperLowerCase2.png |  Bin 1138 -> 1162 bytes
 .../Baselines/ComboBox_Properties_rollOver1.png |  Bin 2501 -> 2418 bytes
 .../Baselines/ComboBox_Properties_rollOver2.png |  Bin 1796 -> 1760 bytes
 .../ComboBox_Properties_selectedIndex4_1.png    |  Bin 1288 -> 1224 bytes
 .../ComboBox_Properties_selectedItem2.png       |  Bin 1244 -> 1236 bytes
 .../ComboBox_Properties_selectedItem3.png       |  Bin 1194 -> 1126 bytes
 .../Baselines/ComboBox_Properties_toolTip.png   |  Bin 1855 -> 1856 bytes
 .../Properties/ComboBox_Properties.mxml         |    6 +-
 .../Properties/ComboBox_Properties_DI.mxml      |    3 +-
 .../ComboBox_Mirroring_as_default_1.png         |  Bin 1258 -> 1239 bytes
 .../ComboBox_Mirroring_as_default_2.png         |  Bin 1258 -> 1228 bytes
 .../ComboBox_Mirroring_as_default_3.png         |  Bin 3103 -> 3364 bytes
 .../Baselines/ComboBox_Mirroring_default_1.png  |  Bin 1258 -> 1239 bytes
 .../Baselines/ComboBox_Mirroring_default_2.png  |  Bin 1258 -> 1228 bytes
 .../Baselines/ComboBox_Mirroring_default_3.png  |  Bin 3103 -> 3364 bytes
 .../ComboBox_Mirroring_mxml_changeDir_1.png     |  Bin 1272 -> 1231 bytes
 .../ComboBox_Mirroring_mxml_changeDir_2.png     |  Bin 1240 -> 1229 bytes
 .../ComboBox_Mirroring_mxml_default.png         |  Bin 1272 -> 1231 bytes
 .../ComboBox_Mirroring_parentContainer1_1.png   |  Bin 1864 -> 1813 bytes
 .../ComboBox_Mirroring_parentContainer1_2.png   |  Bin 2493 -> 2430 bytes
 .../ComboBox_Mirroring_parentContainer2_1.png   |  Bin 1864 -> 1794 bytes
 .../ComboBox_Mirroring_parentContainer2_2.png   |  Bin 3100 -> 3363 bytes
 .../ComboBox_Mirroring_parentContainer3_1.png   |  Bin 1870 -> 1806 bytes
 .../ComboBox_Mirroring_parentContainer3_2.png   |  Bin 3100 -> 3363 bytes
 .../ComboBox_Mirroring_parentContainer4_1.png   |  Bin 2145 -> 2103 bytes
 .../ComboBox_Mirroring_parentContainer4_2.png   |  Bin 3738 -> 3904 bytes
 .../ComboBox_Mirroring_selectedIndex.png        |  Bin 1277 -> 1225 bytes
 .../ComboBox_Mirroring_selectedItem.png         |  Bin 1235 -> 1230 bytes
 .../Baselines/ComboBox_Mirroring_styles_1.png   |  Bin 1390 -> 1400 bytes
 .../Baselines/ComboBox_Mirroring_styles_2.png   |  Bin 3606 -> 4585 bytes
 .../Baselines/ComboBox_Mirroring_styles_3.png   |  Bin 1390 -> 1371 bytes
 .../ComboBox_Styles_Layout_baseline.png         |  Bin 4516 -> 4500 bytes
 .../Baselines/ComboBox_Styles_Layout_bottom.png |  Bin 11024 -> 10892 bytes
 .../ComboBox_Styles_Layout_bottom_right.png     |  Bin 10952 -> 10819 bytes
 .../ComboBox_Styles_Layout_horizontalCenter.png |  Bin 10948 -> 10840 bytes
 .../Baselines/ComboBox_Styles_Layout_left.png   |  Bin 10992 -> 10879 bytes
 .../ComboBox_Styles_Layout_left_right.png       |  Bin 10480 -> 10338 bytes
 .../Baselines/ComboBox_Styles_Layout_right.png  |  Bin 10997 -> 10938 bytes
 .../Baselines/ComboBox_Styles_Layout_top.png    |  Bin 10874 -> 10746 bytes
 .../ComboBox_Styles_Layout_top_bottom.png       |  Bin 12545 -> 12424 bytes
 ...oBox_Styles_Layout_top_bottom_right_left.png |  Bin 13326 -> 13201 bytes
 .../ComboBox_Styles_Layout_top_left.png         |  Bin 10746 -> 10623 bytes
 .../ComboBox_Styles_Layout_v_h_Center.png       |  Bin 10952 -> 10845 bytes
 .../ComboBox_Styles_Layout_verticalCenter.png   |  Bin 10875 -> 10743 bytes
 .../Baselines/ComboBox_Styles_MXML_Set_1.png    |  Bin 2215 -> 2149 bytes
 .../Baselines/ComboBox_Styles_MXML_Set_2.png    |  Bin 9723 -> 9213 bytes
 .../Baselines/ComboBox_Styles_baseColor.png     |  Bin 1322 -> 1360 bytes
 .../Styles/Baselines/ComboBox_Styles_color1.png |  Bin 1131 -> 1215 bytes
 .../Styles/Baselines/ComboBox_Styles_color2.png |  Bin 2240 -> 2289 bytes
 ...ComboBox_Styles_contentBackgroundColor_1.png |  Bin 1046 -> 1166 bytes
 ...ComboBox_Styles_contentBackgroundColor_2.png |  Bin 2019 -> 2170 bytes
 .../Baselines/ComboBox_Styles_fontSize1_1.png   |  Bin 1506 -> 1506 bytes
 .../Baselines/ComboBox_Styles_fontSize1_2.png   |  Bin 3309 -> 3126 bytes
 .../Baselines/ComboBox_Styles_fontSize2_1.png   |  Bin 4543 -> 4614 bytes
 .../Baselines/ComboBox_Styles_fontSize2_2.png   |  Bin 21942 -> 23125 bytes
 .../Baselines/ComboBox_Styles_fontSize3_1.png   |  Bin 1066 -> 964 bytes
 .../Baselines/ComboBox_Styles_fontSize3_2.png   |  Bin 1866 -> 1657 bytes
 .../Baselines/ComboBox_Styles_fontSize4_1.png   |  Bin 3213 -> 3264 bytes
 .../Baselines/ComboBox_Styles_fontSize4_2.png   |  Bin 3689 -> 3720 bytes
 .../Baselines/ComboBox_Styles_fontSize4_3.png   |  Bin 3087 -> 2846 bytes
 .../Baselines/ComboBox_Styles_fontStyle1_1.png  |  Bin 1256 -> 1377 bytes
 .../Baselines/ComboBox_Styles_fontStyle1_2.png  |  Bin 2507 -> 2751 bytes
 .../Baselines/ComboBox_Styles_fontStyle2_1.png  |  Bin 2688 -> 3108 bytes
 .../Baselines/ComboBox_Styles_fontStyle2_2.png  |  Bin 11631 -> 14802 bytes
 .../Baselines/ComboBox_Styles_fontWeight1_1.png |  Bin 1256 -> 1270 bytes
 .../Baselines/ComboBox_Styles_fontWeight1_2.png |  Bin 2507 -> 2545 bytes
 .../Baselines/ComboBox_Styles_fontWeight2_1.png |  Bin 3100 -> 2998 bytes
 .../Baselines/ComboBox_Styles_fontWeight2_2.png |  Bin 13868 -> 13864 bytes
 .../Baselines/ComboBox_Styles_lineThrough_1.png |  Bin 1172 -> 1185 bytes
 .../Baselines/ComboBox_Styles_lineThrough_2.png |  Bin 2376 -> 2321 bytes
 .../ComboBox_Styles_lineThrough_airOnly_1.png   |  Bin 1172 -> 1185 bytes
 .../ComboBox_Styles_lineThrough_airOnly_2.png   |  Bin 2376 -> 2321 bytes
 .../Baselines/ComboBox_Styles_multiple1_1.png   |  Bin 997 -> 1090 bytes
 .../Baselines/ComboBox_Styles_multiple1_2.png   |  Bin 2019 -> 2170 bytes
 .../Baselines/ComboBox_Styles_multiple2_1.png   |  Bin 1163 -> 1290 bytes
 .../Baselines/ComboBox_Styles_multiple2_2.png   |  Bin 2308 -> 2377 bytes
 .../Baselines/ComboBox_Styles_multiple3_1.png   |  Bin 1203 -> 1241 bytes
 .../Baselines/ComboBox_Styles_multiple3_2.png   |  Bin 2315 -> 2322 bytes
 .../Baselines/ComboBox_Styles_multiple4_1.png   |  Bin 1197 -> 1292 bytes
 .../Baselines/ComboBox_Styles_multiple4_2.png   |  Bin 2308 -> 2377 bytes
 .../Baselines/ComboBox_Styles_rollOverColor.png |  Bin 2017 -> 2132 bytes
 .../ComboBox_Styles_rollOverColor2.png          |  Bin 2747 -> 3027 bytes
 .../ComboBox_Styles_selectionColor.png          |  Bin 2071 -> 2183 bytes
 .../ComboBox_Styles_textAlignCenter_1.png       |  Bin 1241 -> 1199 bytes
 .../ComboBox_Styles_textAlignCenter_2.png       |  Bin 3510 -> 3427 bytes
 .../ComboBox_Styles_textAlignRight_1.png        |  Bin 1242 -> 1236 bytes
 .../ComboBox_Styles_textAlignRight_2.png        |  Bin 3121 -> 3413 bytes
 .../Styles/Baselines/ComboBox_prompt_popup.png  |  Bin 5946 -> 5581 bytes
 .../ComboBox/Styles/ComboBox_Styles_tester.mxml |    2 +-
 .../Events/DataGrid_Events_itemEdit.mxml        |    2 +-
 .../Baselines/complex_dataField_sort_test.png   |  Bin 15467 -> 16460 bytes
 .../Baselines/dataFormatter_test.png            |  Bin 14807 -> 15828 bytes
 .../explicit_dgSize_no_columnWidth.png          |  Bin 34917 -> 32235 bytes
 .../invalidateCell_cellIndex_negOne.png         |  Bin 23982 -> 22489 bytes
 .../Baselines/invalidateCell_dataIconChange.png |  Bin 25461 -> 23309 bytes
 .../Baselines/invalidateCell_rendererChange.png |  Bin 25322 -> 23147 bytes
 .../invalidateCell_show_hide_scrollbar_long.png |  Bin 33655 -> 30856 bytes
 ...dateCell_show_hide_scrollbar_newRenderer.png |  Bin 32190 -> 29376 bytes
 ...invalidateCell_show_hide_scrollbar_short.png |  Bin 32065 -> 29388 bytes
 .../invalidateTypicalItem_update_test001.png    |  Bin 7677 -> 6536 bytes
 ...mRendererFunction_differentRenderer_test.png |  Bin 20218 -> 18344 bytes
 ..._differentRenderer_test_checkBoxRenderer.png |  Bin 20519 -> 18640 bytes
 ..._differentRenderer_test_dropListRenderer.png |  Bin 20383 -> 18548 bytes
 ...ion_differentRenderer_test_labelRenderer.png |  Bin 8361 -> 7952 bytes
 .../itemRenderer_row_invisible_test001.png      |  Bin 17295 -> 15173 bytes
 .../Baselines/itemRenderer_update_test.png      |  Bin 20218 -> 18344 bytes
 ...temRenderer_update_test_checkBoxRenderer.png |  Bin 20212 -> 18422 bytes
 ...temRenderer_update_test_dropListRenderer.png |  Bin 20218 -> 18344 bytes
 .../itemRenderer_update_test_labelRenderer.png  |  Bin 8437 -> 8035 bytes
 .../Baselines/labelFunction_test.png            |  Bin 25043 -> 23214 bytes
 .../Baselines/requestedRCs_Neg1_test001.png     |  Bin 13774 -> 11786 bytes
 .../sparkSort_arrayList_test001_firstName.png   |  Bin 12535 -> 11281 bytes
 .../sparkSort_arrayList_test001_lastName.png    |  Bin 12758 -> 11708 bytes
 ...ypicalItem_setter_nomatchingData_test001.png |  Bin 11830 -> 9429 bytes
 .../typicalItem_setter_oneColumn_test001.png    |  Bin 2757 -> 2600 bytes
 ..._setter_smallWidth_test001_notypicalItem.png |  Bin 13774 -> 11786 bytes
 ...m_setter_smallWidth_test001_typicalItem1.png |  Bin 11830 -> 9429 bytes
 ...m_setter_smallWidth_test001_typicalItem2.png |  Bin 8915 -> 7429 bytes
 ...typicalItem_winOver_RequestMInRC_test001.png |  Bin 10862 -> 9306 bytes
 ...ypicalItem_winOver_RequestRCNeg1_test001.png |  Bin 12044 -> 10384 bytes
 ...ypicalItem_winOver_RequestRCNeg1_test002.png |  Bin 11830 -> 9429 bytes
 ...Over_RequestRCNeg1_test002_noTypicalItem.png |  Bin 13774 -> 11786 bytes
 .../typicalItem_winOver_RequestRC_test001.png   |  Bin 3078 -> 2199 bytes
 .../Integrations/DataGrid_layout_test001.mxml   |    8 +-
 .../Baselines/key_MR_ctrlKey_test01.png         |  Bin 31556 -> 27804 bytes
 .../Baselines/key_MR_ctrlKey_test03.png         |  Bin 31899 -> 28038 bytes
 .../Baselines/key_MR_ctrlKey_test07.png         |  Bin 31558 -> 27798 bytes
 .../Baselines/key_MR_shift_test05.png           |  Bin 33058 -> 29168 bytes
 .../Baselines/key_MR_shift_test06.png           |  Bin 33131 -> 28620 bytes
 .../Baselines/key_MR_shift_test07_pg1.png       |  Bin 31553 -> 27796 bytes
 .../Baselines/key_MR_shift_test07_pg2.png       |  Bin 33180 -> 28671 bytes
 .../Baselines/key_SR_PgDn_test01.png            |  Bin 31936 -> 28037 bytes
 .../Baselines/key_SR_PgDn_test02.png            |  Bin 31936 -> 28037 bytes
 .../Baselines/key_SR_PgDn_test03.png            |  Bin 33523 -> 29173 bytes
 .../Baselines/key_SR_PgDn_test05.png            |  Bin 32323 -> 28358 bytes
 .../Baselines/key_SR_PgUp_test06.png            |  Bin 31576 -> 27998 bytes
 ...sible_variableRowHeights_scrollDownRight.png |  Bin 15422 -> 13864 bytes
 ...llIsVisible_variableRowHeights_scrollUp2.png |  Bin 7004 -> 6342 bytes
 .../Methods/DataGrid_Methods_basic.mxml         |   76 +-
 .../Baselines/CHG_invisibleColumn_test001.png   |  Bin 5991 -> 5836 bytes
 .../CHG_invisibleColumn_test001_c1invisible.png |  Bin 3437 -> 3261 bytes
 .../CHG_invisibleColumn_test001_c1visible.png   |  Bin 6031 -> 5889 bytes
 .../Baselines/CHG_invisibleColumn_test002.png   |  Bin 5991 -> 5836 bytes
 .../CHG_invisibleColumn_test002_c1invisible.png |  Bin 5763 -> 5093 bytes
 .../CHG_invisibleColumn_test002_c1visible.png   |  Bin 6787 -> 5548 bytes
 .../DataGrid_Properties_IR_richTextEditor.png   |  Bin 20843 -> 20768 bytes
 .../Baselines/DataGrid_Properties_RTL_MXML.png  |  Bin 17375 -> 14461 bytes
 .../DataGrid_Properties_RTL_RunTime.png         |  Bin 16638 -> 14251 bytes
 .../DataGrid_Properties_addColumn1.png          |  Bin 22553 -> 19050 bytes
 .../DataGrid_Properties_addColumn3_1.png        |  Bin 22128 -> 18516 bytes
 .../DataGrid_Properties_addColumn3_2.png        |  Bin 30361 -> 19820 bytes
 ...DataGrid_Properties_caretRowColumnIndex1.png |  Bin 22128 -> 18516 bytes
 ...DataGrid_Properties_caretRowColumnIndex3.png |  Bin 22676 -> 19054 bytes
 .../DataGrid_Properties_caretRowIndex3.png      |  Bin 23581 -> 20103 bytes
 ...id_Properties_col1VisibleFalseDataChange.png |  Bin 24388 -> 22227 bytes
 .../DataGrid_Properties_col1VisibleFalse_1.png  |  Bin 17610 -> 14903 bytes
 .../DataGrid_Properties_col1VisibleFalse_2.png  |  Bin 16809 -> 14040 bytes
 ...DataGrid_Properties_col1col2VisibleFalse.png |  Bin 15154 -> 13291 bytes
 ...erties_customSkin_largeGridLines_default.png |  Bin 5489 -> 5281 bytes
 ..._customSkin_largeGridLines_selectionCell.png |  Bin 5622 -> 5408 bytes
 ...s_customSkin_largeGridLines_selectionRow.png |  Bin 5622 -> 5407 bytes
 ...roperties_customSkin_noGridLines_default.png |  Bin 10867 -> 10163 bytes
 ...ies_customSkin_noGridLines_selectionCell.png |  Bin 11043 -> 10338 bytes
 ...ties_customSkin_noGridLines_selectionRow.png |  Bin 10973 -> 10271 bytes
 ..._Properties_customSkin_selectionLayerTop.png |  Bin 8355 -> 7138 bytes
 .../DataGrid_Properties_dataChange1.png         |  Bin 13334 -> 12015 bytes
 .../DataGrid_Properties_dataChange2.png         |  Bin 22128 -> 18516 bytes
 .../DataGrid_Properties_dataChange3.png         |  Bin 16809 -> 14040 bytes
 ...rid_Properties_default_columnsAtRuntime1.png |  Bin 661 -> 781 bytes
 ...DataGrid_Properties_default_dp_noColumns.png |  Bin 17783 -> 15440 bytes
 ...erties_default_typItem_columnsAtRuntime1.png |  Bin 2202 -> 2148 bytes
 ..._Properties_default_typItem_dp_noColumns.png |  Bin 18390 -> 16042 bytes
 ..._Properties_default_typItem_height_width.png |  Bin 2809 -> 2540 bytes
 .../DataGrid_Properties_gridIR_colResize.png    |  Bin 9950 -> 9107 bytes
 .../DataGrid_Properties_gridIR_default.png      |  Bin 6974 -> 6031 bytes
 .../DataGrid_Properties_gridIR_expSize.png      |  Bin 16508 -> 14147 bytes
 ...DataGrid_Properties_gridIR_expSizeChange.png |  Bin 16732 -> 14586 bytes
 .../DataGrid_Properties_gridIR_misc.png         |  Bin 11747 -> 10749 bytes
 ...Grid_Properties_gridIR_newTypItemRunTime.png |  Bin 10144 -> 9289 bytes
 .../DataGrid_Properties_gridIR_typItem.png      |  Bin 7785 -> 7827 bytes
 ...Grid_Properties_gridIR_variableRowHeight.png |  Bin 12511 -> 12253 bytes
 .../DataGrid_Properties_preInit_misc.png        |  Bin 5431 -> 4825 bytes
 .../DataGrid_Properties_preInit_misc2.png       |  Bin 5428 -> 4825 bytes
 ...aGrid_Properties_preInit_setSelectedCell.png |  Bin 5589 -> 5037 bytes
 ...Grid_Properties_preInit_setSelectedCells.png |  Bin 6399 -> 5684 bytes
 ...Grid_Properties_preInit_setSelectedIndex.png |  Bin 6174 -> 5425 bytes
 ...id_Properties_preInit_setSelectedIndices.png |  Bin 6153 -> 5589 bytes
 .../DataGrid_Properties_removeColumn1.png       |  Bin 21149 -> 17655 bytes
 .../DataGrid_Properties_removeColumn4_1.png     |  Bin 24707 -> 20912 bytes
 .../DataGrid_Properties_removeColumn4_2.png     |  Bin 16170 -> 15102 bytes
 .../Baselines/DataGrid_Properties_reparent.png  |  Bin 6518 -> 4475 bytes
 ...erties_skinParts_noCaretIndicatorDefault.png |  Bin 18334 -> 15491 bytes
 ...es_skinParts_noCaretIndicatorSingleCell1.png |  Bin 17151 -> 14359 bytes
 ...es_skinParts_noCaretIndicatorSingleCell2.png |  Bin 17011 -> 14241 bytes
 ...ies_skinParts_noCaretIndicatorSingleRow1.png |  Bin 18334 -> 15491 bytes
 ...ies_skinParts_noCaretIndicatorSingleRow2.png |  Bin 18334 -> 15491 bytes
 ...inParts_noCaretNoSelectionIndicatorsCell.png |  Bin 16809 -> 14040 bytes
 ...kinParts_noCaretNoSelectionIndicatorsRow.png |  Bin 16809 -> 14040 bytes
 ...d_Properties_skinParts_noColumnSeparator.png |  Bin 16210 -> 13472 bytes
 ...skinParts_noColumnSeparatorMultipleCells.png |  Bin 17254 -> 14318 bytes
 ..._skinParts_noColumnSeparatorMultipleRows.png |  Bin 17738 -> 15078 bytes
 ...roperties_skinParts_noRowColumnSeparator.png |  Bin 16146 -> 13416 bytes
 ...nParts_noRowColumnSeparatorMultipleCells.png |  Bin 17030 -> 14001 bytes
 ...inParts_noRowColumnSeparatorMultipleRows.png |  Bin 17867 -> 14972 bytes
 ...Grid_Properties_skinParts_noRowSeparator.png |  Bin 16771 -> 14012 bytes
 ...es_skinParts_noRowSeparatorMultipleCells.png |  Bin 17569 -> 14532 bytes
 ...ies_skinParts_noRowSeparatorMultipleRows.png |  Bin 18494 -> 15517 bytes
 ...nParts_noSelectionIndicatorMultipleCells.png |  Bin 16809 -> 14040 bytes
 ...lectionIndicatorMultipleCellsRemoveAfter.png |  Bin 16809 -> 14040 bytes
 ...inParts_noSelectionIndicatorMultipleRows.png |  Bin 16809 -> 14040 bytes
 ...electionIndicatorMultipleRowsRemoveAfter.png |  Bin 16809 -> 14040 bytes
 ...skinParts_noSelectionIndicatorSingleCell.png |  Bin 16809 -> 14040 bytes
 ..._skinParts_noSelectionIndicatorSingleRow.png |  Bin 16809 -> 14040 bytes
 .../DataGrid_Properties_stateColumn_1.png       |  Bin 16154 -> 13967 bytes
 .../DataGrid_Properties_stateColumn_2.png       |  Bin 20996 -> 18074 bytes
 .../DataGrid_Properties_stateColumn_3.png       |  Bin 16154 -> 13967 bytes
 ..._Properties_typicalItem_changedAtRuntime.png |  Bin 26724 -> 24046 bytes
 ...ies_typicalItem_changedAtRuntimeExpWidth.png |  Bin 19254 -> 15997 bytes
 .../DataGrid_Properties_typicalItem_default.png |  Bin 26459 -> 22868 bytes
 ...Properties_typicalItem_reqRowCol_default.png |  Bin 5597 -> 4689 bytes
 .../Baselines/DataGrid_Wireframe_populated.png  |  Bin 16243 -> 13698 bytes
 .../DataGrid_Wireframe_selectedCell.png         |  Bin 16570 -> 13795 bytes
 .../DataGrid_Wireframe_selectedRow.png          |  Bin 17905 -> 14490 bytes
 .../Editable_focusIn_multiline_test.png         |  Bin 4815 -> 4990 bytes
 .../Editable_multiline_true_explicit_test.png   |  Bin 19785 -> 19218 bytes
 .../Editable_multiline_true_toFit_test.png      |  Bin 23053 -> 22251 bytes
 ...ditable_multipleLine_explicit_test_large.png |  Bin 9955 -> 9589 bytes
 ...ditable_multipleLine_explicit_test_small.png |  Bin 9473 -> 9594 bytes
 .../Editable_multipleLine_toFit_test2_large.png |  Bin 9955 -> 9589 bytes
 .../Editable_multipleLine_toFit_test2_small.png |  Bin 9473 -> 9594 bytes
 .../Editable_multipleLine_toFit_test3_large.png |  Bin 9955 -> 9589 bytes
 .../Editable_multipleLine_toFit_test3_small.png |  Bin 9473 -> 9594 bytes
 .../Editable_startEditMode_Tabbing.png          |  Bin 16714 -> 13397 bytes
 .../Baselines/Editable_style_test_green.png     |  Bin 13351 -> 10995 bytes
 .../Baselines/Editable_style_test_red.png       |  Bin 13905 -> 11276 bytes
 .../Editable_variableRowHeight_large.png        |  Bin 2461 -> 2513 bytes
 .../Editable_variableRowHeight_small.png        |  Bin 810 -> 708 bytes
 .../Baselines/IR_ButtonIR_test001.png           |  Bin 43292 -> 33962 bytes
 .../Baselines/IR_checkBoxIR_test001.png         |  Bin 34817 -> 32160 bytes
 .../Baselines/IR_colorPickerIR_test001.png      |  Bin 38813 -> 35344 bytes
 .../Baselines/IR_dataFieldIR_test001.png        |  Bin 39529 -> 36656 bytes
 .../Baselines/IR_defaultIR_test001.png          |  Bin 16316 -> 13086 bytes
 .../Baselines/IR_hSliderIR_test001.png          |  Bin 36656 -> 33507 bytes
 .../Properties/Baselines/IR_imageIR_test001.png |  Bin 37238 -> 34258 bytes
 .../Baselines/IR_numericStepperIR_test001.png   |  Bin 37975 -> 34677 bytes
 .../Baselines/IR_textAreaIR_test001.png         |  Bin 25896 -> 21701 bytes
 .../Baselines/IR_textInputIR_test001.png        |  Bin 35483 -> 33082 bytes
 .../Baselines/Mirroring_rtl_editing_test1.png   |  Bin 1326 -> 1430 bytes
 .../Baselines/Mirroring_rtl_editor_test1.png    |  Bin 18920 -> 16787 bytes
 .../Baselines/Mirroring_rtl_test1_rtl.png       |  Bin 13837 -> 12695 bytes
 .../Mirroring_rtl_test1_sort_selection.png      |  Bin 14020 -> 13300 bytes
 .../Properties_dataProvider_XMLLC01.png         |  Bin 28313 -> 25463 bytes
 .../Properties_dataProvider_XMLLC04.png         |  Bin 28129 -> 25603 bytes
 .../Properties_dataProvider_XMLLC05.png         |  Bin 29431 -> 26446 bytes
 .../Properties_dataProvider_XMLLC06.png         |  Bin 29742 -> 26699 bytes
 ...ties_dataProvider_XMLLC07_afterColumnChg.png |  Bin 29295 -> 26306 bytes
 ...ies_dataProvider_XMLLC07_beforeColumnChg.png |  Bin 32724 -> 28796 bytes
 .../Properties_dataProvider_XMLLC09.png         |  Bin 31899 -> 28100 bytes
 .../Properties_dataProvider_XMLLC10.png         |  Bin 29702 -> 27164 bytes
 .../Properties_dataProvider_XMLLC11.png         |  Bin 28184 -> 25481 bytes
 .../Properties_dataProvider_XMLLC12.png         |  Bin 28184 -> 25481 bytes
 .../Properties_dataProvider_XMLLC13.png         |  Bin 28606 -> 25706 bytes
 .../Properties_dataProvider_XMLLC14.png         |  Bin 28606 -> 25706 bytes
 .../Sort_Columns_test001_ascending.png          |  Bin 14331 -> 13143 bytes
 .../Sort_Columns_test001_descending.png         |  Bin 14384 -> 13081 bytes
 .../Baselines/Sort_Columns_test002_replace.png  |  Bin 13885 -> 13330 bytes
 .../Baselines/Sort_Columns_test002_update.png   |  Bin 13257 -> 12710 bytes
 .../Baselines/Sort_dataProvider_test001.png     |  Bin 23143 -> 21795 bytes
 .../Sort_dataProvider_test001_reverse.png       |  Bin 23107 -> 21646 bytes
 .../Sort_onColumns_test001_ascending.png        |  Bin 20572 -> 17895 bytes
 .../Sort_onColumns_test001_descending.png       |  Bin 20572 -> 17483 bytes
 .../Sort_sortByColumns_cancelled_nosort.png     |  Bin 31526 -> 27775 bytes
 .../Sort_sortByColumns_sortInvalidUpdated.png   |  Bin 33674 -> 29918 bytes
 .../Sort_sortByColumns_sortUpdated.png          |  Bin 33693 -> 29790 bytes
 .../Baselines/Sort_sortIndicator_test001.png    |  Bin 2555 -> 2672 bytes
 .../Baselines/Sort_sortIndicator_test001_2.png  |  Bin 3403 -> 2972 bytes
 .../column_withRenderer_test001_lastPage.png    |  Bin 27753 -> 25123 bytes
 .../column_withRenderer_test001_page1.png       |  Bin 27753 -> 25123 bytes
 .../dataProvider_arrayList_source_test02.png    |  Bin 5083 -> 4551 bytes
 .../dataProvider_columnNodata_test1.png         |  Bin 29071 -> 26780 bytes
 .../dataProvider_emptyArrayList_add01.png       |  Bin 1480 -> 1599 bytes
 .../Baselines/dataProvider_nodata_test5.png     |  Bin 11970 -> 10459 bytes
 .../dataProvider_scrollbar_test1_scrollBar.png  |  Bin 19547 -> 16974 bytes
 .../dataProvider_scrollbar_test3_scrollBar.png  |  Bin 24937 -> 22805 bytes
 ...Provider_selection_scrolling_test1_first.png |  Bin 31923 -> 28110 bytes
 ...aProvider_selection_scrolling_test1_last.png |  Bin 34971 -> 30731 bytes
 .../key_input_ComboBoxEditor_test001_input.png  |  Bin 4707 -> 4442 bytes
 .../key_navigation_on_ComboBoxEditor_index2.png |  Bin 4607 -> 4382 bytes
 .../key_navigation_on_ComboBoxEditor_index3.png |  Bin 4702 -> 4663 bytes
 .../Baselines/key_tabbing_navigation.png        |  Bin 4816 -> 4241 bytes
 .../Baselines/requireSelection_test01.png       |  Bin 37197 -> 33135 bytes
 .../Baselines/requireSelection_test02.png       |  Bin 37197 -> 33135 bytes
 .../Baselines/requireSelection_test03.png       |  Bin 36863 -> 32754 bytes
 .../Baselines/requireSelection_test04.png       |  Bin 36863 -> 32754 bytes
 .../Baselines/requireSelection_test05.png       |  Bin 36787 -> 32670 bytes
 .../Baselines/requireSelection_test06_cell.png  |  Bin 36863 -> 32754 bytes
 .../Baselines/requireSelection_test06_row.png   |  Bin 37197 -> 33135 bytes
 .../Baselines/requireSelection_test07_cell.png  |  Bin 36863 -> 32754 bytes
 .../Baselines/requireSelection_test08_cell.png  |  Bin 35798 -> 31915 bytes
 .../Baselines/requireSelection_test09_row.png   |  Bin 36140 -> 32170 bytes
 .../Baselines/requireSelection_test10_cell.png  |  Bin 36561 -> 32530 bytes
 .../Baselines/requireSelection_test11_row.png   |  Bin 36958 -> 32959 bytes
 .../Baselines/requireSelection_test14_cell.png  |  Bin 29446 -> 26022 bytes
 .../Baselines/requireSelection_test15_cell.png  |  Bin 33032 -> 29925 bytes
 .../Baselines/requireSelection_test17_false.png |  Bin 36512 -> 32490 bytes
 .../Baselines/requireSelection_test17_true.png  |  Bin 36561 -> 32530 bytes
 .../DataGrid_Properties_IR_Widths.mxml          |   14 +-
 .../Properties/DataGrid_Properties_basic.mxml   |  113 +-
 .../DataGrid_Properties_colResize.mxml          |  806 +--
 .../Properties/DataGrid_Properties_default.mxml |   22 +-
 .../DataGrid_Properties_editable.mxml           |   20 +-
 .../DataGrid_Properties_mirroring.mxml          |   64 +-
 .../Properties/DataGrid_Properties_mxIRs.mxml   |   10 +-
 .../DataGrid_Properties_sortable.mxml           |   12 +-
 .../Properties/DataGrid_Properties_visible.mxml |  146 +-
 .../DataGrid_dataProvider_test001.mxml          |    1 +
 .../DataGrid/SWFs/DataGrid_itemEditor.mxml      |   13 +-
 ...d_Styles_customSkin_liveScrollingFalse_1.png |  Bin 15369 -> 12764 bytes
 ...d_Styles_customSkin_liveScrollingFalse_2.png |  Bin 15414 -> 12782 bytes
 ...Grid_Styles_customSkin_liveScrollingTrue.png |  Bin 15616 -> 12921 bytes
 ...yles_defaultScroller_liveDraggingFalse_1.png |  Bin 15367 -> 12764 bytes
 ...yles_defaultScroller_liveDraggingFalse_2.png |  Bin 15411 -> 12782 bytes
 ..._Styles_defaultScroller_liveDraggingTrue.png |  Bin 15614 -> 12921 bytes
 .../Styles/Baselines/chromeColor_color_test.png |  Bin 7518 -> 7379 bytes
 .../Baselines/chromeColor_color_test_only.png   |  Bin 7476 -> 7716 bytes
 .../Baselines/chromeColor_contentBGC_test.png   |  Bin 5382 -> 5879 bytes
 .../chromeColor_contentBGC_test_all.png         |  Bin 6482 -> 7004 bytes
 .../rowBackground_AlternatingRowColor_test.png  |  Bin 9428 -> 9824 bytes
 ...Background_addRemoveRow_test_addFirstRow.png |  Bin 9282 -> 8556 bytes
 ...kground_addRemoveRow_test_removeFirstRow.png |  Bin 7232 -> 6590 bytes
 .../Baselines/rowBackground_getsetter_test.png  |  Bin 8673 -> 8188 bytes
 .../Baselines/rowBackground_property_test.png   |  Bin 8686 -> 8054 bytes
 .../rowBackground_skin_rowChange_test.png       |  Bin 3824 -> 5260 bytes
 ...rowBackground_skin_rowChange_test_addRow.png |  Bin 9367 -> 8752 bytes
 .../Baselines/rowBackground_skin_test.png       |  Bin 8213 -> 7886 bytes
 .../Baselines/rowBackground_update_test.png     |  Bin 9807 -> 9146 bytes
 ...yle_alternatingRowColors_test001_2colors.png |  Bin 17940 -> 17043 bytes
 ...yle_alternatingRowColors_test001_3colors.png |  Bin 15496 -> 15600 bytes
 ..._alternatingRowColors_test001_haloSilver.png |  Bin 19507 -> 17837 bytes
 .../style_alternatingRowColors_test001_none.png |  Bin 18752 -> 17149 bytes
 .../style_alternatingRowColors_test003.png      |  Bin 17976 -> 16783 bytes
 .../style_borderAlpha_test001_zero.png          |  Bin 15947 -> 14323 bytes
 .../style_borderAlpha_test002_half.png          |  Bin 15980 -> 14375 bytes
 .../Baselines/style_borderAlpha_test002_one.png |  Bin 15908 -> 14318 bytes
 .../style_borderColor_test001_green.png         |  Bin 15908 -> 14318 bytes
 .../Baselines/style_borderColor_test001_red.png |  Bin 15904 -> 14316 bytes
 .../style_borderVisible_test001_hide.png        |  Bin 16033 -> 14341 bytes
 .../style_borderVisible_test001_show.png        |  Bin 15898 -> 14276 bytes
 .../style_caretColor_test001_green.png          |  Bin 16330 -> 14554 bytes
 .../style_caretColor_test001_green2.png         |  Bin 16209 -> 14504 bytes
 .../style_caretColor_test001_green3.png         |  Bin 16006 -> 14389 bytes
 .../Baselines/style_caretColor_test001_red.png  |  Bin 16326 -> 14543 bytes
 .../Baselines/style_caretRollOverColor_css.png  |  Bin 15647 -> 14188 bytes
 .../Styles/Baselines/style_column_test001.png   |  Bin 12891 -> 12104 bytes
 .../Styles/Baselines/style_column_test002.png   |  Bin 15699 -> 13769 bytes
 .../Styles/Baselines/style_column_test003.png   |  Bin 15748 -> 14558 bytes
 .../style_contentStyles_test001_0_alpha.png     |  Bin 11215 -> 11996 bytes
 .../style_contentStyles_test001_1_alpah.png     |  Bin 11215 -> 11996 bytes
 .../style_contentStyles_test001_blue.png        |  Bin 11250 -> 11985 bytes
 .../Baselines/style_contentStyles_test002.png   |  Bin 11688 -> 12015 bytes
 .../Styles/Baselines/style_css_test001.png      |  Bin 16471 -> 14577 bytes
 .../style_direction_locale_IR_test001.png       |  Bin 12517 -> 12779 bytes
 .../style_direction_locale_IR_test002.png       |  Bin 12391 -> 12988 bytes
 .../style_fonts_test_bold_italic_large.png      |  Bin 14184 -> 14677 bytes
 .../Baselines/style_fonts_test_normal.png       |  Bin 7357 -> 7064 bytes
 .../Baselines/style_lineThrough_test_false.png  |  Bin 7357 -> 7064 bytes
 .../Baselines/style_lineThrough_test_true.png   |  Bin 7185 -> 6966 bytes
 .../Styles/Baselines/style_others_test.png      |  Bin 7396 -> 7109 bytes
 .../Styles/Baselines/style_others_test_set2.png |  Bin 7357 -> 7064 bytes
 .../style_rolloverColor_test001_cell1.png       |  Bin 15676 -> 12840 bytes
 .../style_rolloverColor_test001_cell2.png       |  Bin 15735 -> 12844 bytes
 .../style_rolloverColor_test001_row1.png        |  Bin 15690 -> 12942 bytes
 .../style_selectionColor_test001_blue.png       |  Bin 15009 -> 13382 bytes
 ...e_selectionColor_test001_cellRegionGreen.png |  Bin 15011 -> 13263 bytes
 .../style_selectionColor_test001_cellgray.png   |  Bin 15813 -> 14425 bytes
 .../style_selectionColor_test001_cellgreen.png  |  Bin 15939 -> 14468 bytes
 ...le_selectionColor_test002_cellRegionBlue.png |  Bin 18800 -> 16974 bytes
 ...e_selectionColor_test002_cellRegionGreen.png |  Bin 18605 -> 16581 bytes
 .../style_selectionColor_test002_cellgray.png   |  Bin 18094 -> 16668 bytes
 .../style_selectionColor_test002_cellgreen.png  |  Bin 18564 -> 16600 bytes
 .../style_selectionColor_test002_clear.png      |  Bin 18059 -> 16473 bytes
 .../Baselines/style_styleOnRenderer_test.png    |  Bin 15819 -> 14261 bytes
 .../style_styleOnRenderer_test_selection.png    |  Bin 15917 -> 14385 bytes
 .../Baselines/style_symbolColor_editor.png      |  Bin 1069 -> 1043 bytes
 ...style_symbolColor_scrollBarRenderer_long.png |  Bin 34064 -> 31790 bytes
 ...ymbolColor_scrollBarRenderer_newRenderer.png |  Bin 32622 -> 30362 bytes
 .../style_symbolColor_sortArrow_down.png        |  Bin 3414 -> 2893 bytes
 .../style_symbolColor_sortArrow_up.png          |  Bin 3429 -> 2913 bytes
 .../style_symbolSelectionColor_css.png          |  Bin 32645 -> 30365 bytes
 ...style_symbolSelectionColor_css_selection.png |  Bin 32742 -> 30498 bytes
 .../Baselines/style_textAlign_test_center.png   |  Bin 7319 -> 7114 bytes
 .../Baselines/style_textAlign_test_left.png     |  Bin 7357 -> 7064 bytes
 .../Baselines/style_textAlign_test_right.png    |  Bin 7227 -> 6720 bytes
 .../Baselines/style_textAlign_test_start.png    |  Bin 7396 -> 7117 bytes
 .../style_textDecoration_test_none.png          |  Bin 7357 -> 7064 bytes
 .../style_textDecoration_test_underline.png     |  Bin 7358 -> 7146 bytes
 .../DataGrid/Styles/DataGrid_Styles_basic.mxml  |   14 +-
 .../DropDownList_Effects_rotate3D_1.png         |  Bin 4731 -> 4202 bytes
 .../DropDownList_Effects_rotate3D_2.png         |  Bin 2044 -> 1926 bytes
 .../Baselines/DropDownList_Effects_wipe1_1.png  |  Bin 4673 -> 4291 bytes
 .../Baselines/DropDownList_Effects_wipe1_2.png  |  Bin 1978 -> 2017 bytes
 .../DropDownList_Methods_closeDropDown1_1.png   |  Bin 2472 -> 2625 bytes
 .../DropDownList_Methods_closeDropDown1_2.png   |  Bin 2183 -> 1721 bytes
 .../DropDownList_Methods_closeDropDown2_1.png   |  Bin 2472 -> 2625 bytes
 .../DropDownList_Methods_closeDropDown2_2.png   |  Bin 2183 -> 1737 bytes
 .../DropDownList_Methods_openDropDown.png       |  Bin 1789 -> 1939 bytes
 .../Methods/DropDownList_Methods.mxml           |    6 +
 .../Baselines/DropDownList_Properties_DI1_1.png |  Bin 3277 -> 3189 bytes
 .../Baselines/DropDownList_Properties_DI1_2.png |  Bin 5087 -> 4758 bytes
 ...DropDownList_Properties_States_Styles1_1.png |  Bin 1128 -> 1217 bytes
 ...DropDownList_Properties_States_Styles1_2.png |  Bin 1963 -> 2198 bytes
 ...DropDownList_Properties_States_Styles2_1.png |  Bin 1407 -> 1460 bytes
 ...DropDownList_Properties_States_Styles2_2.png |  Bin 2101 -> 2363 bytes
 ...DropDownList_Properties_States_Styles3_1.png |  Bin 1835 -> 2002 bytes
 ...DropDownList_Properties_States_Styles3_2.png |  Bin 2608 -> 3005 bytes
 ...DropDownList_Properties_States_Styles3_3.png |  Bin 1835 -> 2002 bytes
 ...DropDownList_Properties_States_Styles3_4.png |  Bin 2608 -> 3005 bytes
 ...opDownList_Properties_States_includeIn_1.png |  Bin 5399 -> 5472 bytes
 ...opDownList_Properties_States_includeIn_2.png |  Bin 5899 -> 5867 bytes
 ...ropDownList_Properties_States_selected_1.png |  Bin 1460 -> 1360 bytes
 ...ropDownList_Properties_States_selected_2.png |  Bin 1583 -> 1543 bytes
 .../DropDownList_Properties_autoSize1.png       |  Bin 2856 -> 2737 bytes
 .../DropDownList_Properties_autoSize2_1.png     |  Bin 1680 -> 1521 bytes
 .../DropDownList_Properties_autoSize2_2.png     |  Bin 1497 -> 1442 bytes
 .../DropDownList_Properties_autoSize3.png       |  Bin 1159 -> 1029 bytes
 .../DropDownList_Properties_disabled1.png       |  Bin 1187 -> 1308 bytes
 .../DropDownList_Properties_disabled2.png       |  Bin 1187 -> 1308 bytes
 .../DropDownList_Properties_disabled3_1.png     |  Bin 1076 -> 1196 bytes
 .../DropDownList_Properties_disabled3_2.png     |  Bin 1549 -> 1393 bytes
 .../DropDownList_Properties_disabled3_3.png     |  Bin 1792 -> 1939 bytes
 .../DropDownList_Properties_errorString2_1.png  |  Bin 2125 -> 2005 bytes
 .../DropDownList_Properties_errorString2_2.png  |  Bin 3039 -> 2842 bytes
 .../DropDownList_Properties_errorString_1.png   |  Bin 2125 -> 2005 bytes
 .../DropDownList_Properties_errorString_2.png   |  Bin 3186 -> 2983 bytes
 .../Baselines/DropDownList_Properties_focus.png |  Bin 1891 -> 1737 bytes
 .../DropDownList_Properties_height1.png         |  Bin 2740 -> 2600 bytes
 .../DropDownList_Properties_height2.png         |  Bin 2631 -> 2584 bytes
 .../DropDownList_Properties_labelField1.png     |  Bin 1314 -> 1215 bytes
 .../DropDownList_Properties_labelField2_1.png   |  Bin 1024 -> 993 bytes
 .../DropDownList_Properties_labelField2_2.png   |  Bin 1317 -> 1638 bytes
 .../DropDownList_Properties_labelField3.png     |  Bin 0 -> 1215 bytes
 ...DropDownList_Properties_labelFunction2_1.png |  Bin 1582 -> 1439 bytes
 ...DropDownList_Properties_labelFunction2_2.png |  Bin 2977 -> 3028 bytes
 ...DropDownList_Properties_labelFunction2_3.png |  Bin 0 -> 1439 bytes
 .../DropDownList_Properties_labelFunction_1.png |  Bin 1547 -> 1378 bytes
 .../DropDownList_Properties_labelFunction_2.png |  Bin 3534 -> 3920 bytes
 ...ownList_Properties_large_selectedIndex_1.png |  Bin 1538 -> 1557 bytes
 ...ownList_Properties_large_selectedIndex_2.png |  Bin 3027 -> 3031 bytes
 ...DownList_Properties_large_selectedItem_1.png |  Bin 1593 -> 1526 bytes
 ...DownList_Properties_large_selectedItem_2.png |  Bin 3035 -> 2928 bytes
 ...ropDownList_Properties_layoutHorizontal1.png |  Bin 1184 -> 1266 bytes
 ...ropDownList_Properties_layoutHorizontal2.png |  Bin 838 -> 830 bytes
 .../DropDownList_Properties_layoutTile1.png     |  Bin 2380 -> 2660 bytes
 .../DropDownList_Properties_layoutTile2.png     |  Bin 774 -> 748 bytes
 .../DropDownList_Properties_mouseWheel.png      |  Bin 3172 -> 3214 bytes
 .../Baselines/DropDownList_Properties_open1.png |  Bin 1789 -> 1939 bytes
 .../DropDownList_Properties_prompt4_1.png       |  Bin 1538 -> 1376 bytes
 .../DropDownList_Properties_prompt4_2.png       |  Bin 1673 -> 1548 bytes
 .../DropDownList_Properties_rollOver1.png       |  Bin 2494 -> 2624 bytes
 .../DropDownList_Properties_rollOver2.png       |  Bin 1789 -> 1939 bytes
 .../DropDownList_Properties_toolTip.png         |  Bin 3039 -> 2842 bytes
 .../Properties/DropDownList_Properties.mxml     |   18 +-
 .../DropDownList_Properties_Images.mxml         |    3 +-
 .../DropDownList_Properties_Tips.mxml           |    6 +-
 .../DropDownList_Mirroring_as_default_1.png     |  Bin 1568 -> 1525 bytes
 .../DropDownList_Mirroring_as_default_2.png     |  Bin 1630 -> 1507 bytes
 .../DropDownList_Mirroring_as_default_3.png     |  Bin 2810 -> 2318 bytes
 .../DropDownList_Mirroring_default_1.png        |  Bin 1568 -> 1525 bytes
 .../DropDownList_Mirroring_default_2.png        |  Bin 1630 -> 1507 bytes
 .../DropDownList_Mirroring_default_3.png        |  Bin 2810 -> 2318 bytes
 .../DropDownList_Mirroring_mxml_changeDir_1.png |  Bin 1630 -> 1507 bytes
 .../DropDownList_Mirroring_mxml_changeDir_2.png |  Bin 1549 -> 1502 bytes
 .../DropDownList_Mirroring_mxml_default.png     |  Bin 1630 -> 1507 bytes
 ...ropDownList_Mirroring_parentContainer1_1.png |  Bin 2281 -> 2170 bytes
 ...ropDownList_Mirroring_parentContainer1_2.png |  Bin 1789 -> 1765 bytes
 ...ropDownList_Mirroring_parentContainer2_1.png |  Bin 2318 -> 2140 bytes
 ...ropDownList_Mirroring_parentContainer2_2.png |  Bin 2812 -> 2314 bytes
 ...ropDownList_Mirroring_parentContainer3_1.png |  Bin 2347 -> 2164 bytes
 ...ropDownList_Mirroring_parentContainer3_2.png |  Bin 2812 -> 2314 bytes
 ...ropDownList_Mirroring_parentContainer4_1.png |  Bin 2495 -> 2585 bytes
 ...ropDownList_Mirroring_parentContainer4_2.png |  Bin 3779 -> 2632 bytes
 .../DropDownList_Mirroring_selectedIndex.png    |  Bin 1495 -> 1433 bytes
 .../DropDownList_Mirroring_selectedItem.png     |  Bin 1473 -> 1452 bytes
 .../DropDownList_Mirroring_styles_1.png         |  Bin 1929 -> 2093 bytes
 .../DropDownList_Mirroring_styles_2.png         |  Bin 3767 -> 4576 bytes
 .../DropDownList_Mirroring_styles_3.png         |  Bin 1927 -> 2081 bytes
 .../DropDownList_Styles_Layout_baseline.png     |  Bin 9147 -> 8302 bytes
 .../DropDownList_Styles_Layout_bottom.png       |  Bin 16785 -> 16146 bytes
 .../DropDownList_Styles_Layout_bottomRight.png  |  Bin 14217 -> 14034 bytes
 ...pDownList_Styles_Layout_horizontalCenter.png |  Bin 16594 -> 15657 bytes
 .../DropDownList_Styles_Layout_left.png         |  Bin 16633 -> 15615 bytes
 .../DropDownList_Styles_Layout_right.png        |  Bin 15512 -> 14196 bytes
 .../DropDownList_Styles_Layout_top.png          |  Bin 16539 -> 15638 bytes
 .../DropDownList_Styles_Layout_topLeft.png      |  Bin 16393 -> 15277 bytes
 .../DropDownList_Styles_Layout_v_h_Center.png   |  Bin 16618 -> 15753 bytes
 ...ropDownList_Styles_Layout_verticalCenter.png |  Bin 16539 -> 15635 bytes
 .../DropDownList_Styles_MXML_Set_1.png          |  Bin 2282 -> 2657 bytes
 .../DropDownList_Styles_MXML_Set_2.png          |  Bin 9440 -> 9996 bytes
 .../Baselines/DropDownList_Styles_baseColor.png |  Bin 1587 -> 1474 bytes
 .../Baselines/DropDownList_Styles_color1.png    |  Bin 1511 -> 1533 bytes
 .../Baselines/DropDownList_Styles_color2.png    |  Bin 1559 -> 1799 bytes
 ...opDownList_Styles_contentBackgroundColor.png |  Bin 1258 -> 1618 bytes
 .../DropDownList_Styles_focusColor.png          |  Bin 1882 -> 1721 bytes
 .../DropDownList_Styles_fontSize1_1.png         |  Bin 1927 -> 1807 bytes
 .../DropDownList_Styles_fontSize1_2.png         |  Bin 2392 -> 2539 bytes
 .../DropDownList_Styles_fontSize2_1.png         |  Bin 5860 -> 6276 bytes
 .../DropDownList_Styles_fontSize2_2.png         |  Bin 21081 -> 25996 bytes
 .../DropDownList_Styles_fontSize3_1.png         |  Bin 1197 -> 1098 bytes
 .../DropDownList_Styles_fontSize3_2.png         |  Bin 1320 -> 1370 bytes
 .../DropDownList_Styles_fontSize4_1.png         |  Bin 2856 -> 2737 bytes
 .../DropDownList_Styles_fontSize4_2.png         |  Bin 3285 -> 3448 bytes
 .../DropDownList_Styles_fontSize4_3.png         |  Bin 2828 -> 2496 bytes
 .../DropDownList_Styles_fontStyle1_1.png        |  Bin 1549 -> 1413 bytes
 .../DropDownList_Styles_fontStyle1_2.png        |  Bin 1789 -> 2091 bytes
 .../DropDownList_Styles_fontStyle2_1.png        |  Bin 3603 -> 3620 bytes
 .../DropDownList_Styles_fontStyle2_2.png        |  Bin 10996 -> 15614 bytes
 .../DropDownList_Styles_fontWeight1_1.png       |  Bin 1549 -> 1422 bytes
 .../DropDownList_Styles_fontWeight1_2.png       |  Bin 1789 -> 2023 bytes
 .../DropDownList_Styles_fontWeight2_1.png       |  Bin 3932 -> 4016 bytes
 .../DropDownList_Styles_fontWeight2_2.png       |  Bin 13200 -> 16077 bytes
 .../DropDownList_Styles_lineThrough_1.png       |  Bin 1369 -> 1320 bytes
 .../DropDownList_Styles_lineThrough_2.png       |  Bin 2376 -> 2540 bytes
 .../DropDownList_Styles_multiple1_1.png         |  Bin 1587 -> 1474 bytes
 .../DropDownList_Styles_multiple1_2.png         |  Bin 1260 -> 1618 bytes
 .../DropDownList_Styles_multiple2_1.png         |  Bin 1516 -> 1525 bytes
 .../DropDownList_Styles_multiple2_2.png         |  Bin 1594 -> 1922 bytes
 .../DropDownList_Styles_multiple3_1.png         |  Bin 1605 -> 1624 bytes
 .../DropDownList_Styles_multiple3_2.png         |  Bin 1589 -> 1798 bytes
 .../DropDownList_Styles_multiple4_1.png         |  Bin 1594 -> 1607 bytes
 .../DropDownList_Styles_multiple4_2.png         |  Bin 1595 -> 1922 bytes
 .../DropDownList_Styles_rollOverColor.png       |  Bin 1998 -> 2324 bytes
 .../DropDownList_Styles_rollOverColor2.png      |  Bin 2726 -> 3251 bytes
 .../DropDownList_Styles_selectionColor.png      |  Bin 2065 -> 2382 bytes
 .../DropDownList_Styles_textAlignCenter_1.png   |  Bin 1491 -> 1443 bytes
 .../DropDownList_Styles_textAlignCenter_2.png   |  Bin 3556 -> 4056 bytes
 .../DropDownList_Styles_textAlignRight_1.png    |  Bin 1448 -> 1408 bytes
 .../DropDownList_Styles_textAlignRight_2.png    |  Bin 3564 -> 4106 bytes
 ...ist_requestedMaxRowCount_addItem_runtime.png |  Bin 17160 -> 16120 bytes
 ...stedMaxRowCount_greaterThan_dataProvider.png |  Bin 16600 -> 15621 bytes
 ...questedMaxRowCount_lessThan_dataProvider.png |  Bin 14631 -> 13459 bytes
 ..._requestedMaxRowCount_removeItem_runtime.png |  Bin 15762 -> 14723 bytes
 ...equestedMaxRowCount_requestedMinRowCount.png |  Bin 16375 -> 15250 bytes
 ...opDownList_states_requestedMaxRowCount_1.png |  Bin 814 -> 861 bytes
 ...opDownList_states_requestedMaxRowCount_2.png |  Bin 2133 -> 2095 bytes
 ...uestedMaxRowCount_requestedMinRowCount_1.png |  Bin 814 -> 861 bytes
 ...uestedMaxRowCount_requestedMinRowCount_2.png |  Bin 1895 -> 1857 bytes
 .../Styles/DropDownList_Styles_Layout.mxml      |    2 +-
 ...ETextField_integration_mxMenuBar_tester.mxml |   16 +-
 .../Integration/baselines/FTE_mxAccordion.png   |  Bin 3863 -> 3965 bytes
 .../baselines/FTE_mxAccordion_color_red.png     |  Bin 4496 -> 4672 bytes
 .../FTE_mxAccordion_color_red_truncating.png    |  Bin 3387 -> 3615 bytes
 .../baselines/FTE_mxAccordion_disabled.png      |  Bin 3275 -> 3351 bytes
 .../FTE_mxAccordion_disabledColor_green.png     |  Bin 3275 -> 3351 bytes
 .../baselines/FTE_mxAccordion_fontSize.png      |  Bin 6488 -> 6466 bytes
 .../FTE_mxAccordion_fontStyle_italic.png        |  Bin 4003 -> 3980 bytes
 .../baselines/FTE_mxAccordion_fontWeight.png    |  Bin 4187 -> 4142 bytes
 .../baselines/FTE_mxAccordion_kerning_false.png |  Bin 3863 -> 3965 bytes
 .../baselines/FTE_mxAccordion_kerning_true.png  |  Bin 3863 -> 3965 bytes
 .../FTE_mxAccordion_label_truncation.png        |  Bin 2933 -> 3118 bytes
 ...E_mxAccordion_label_truncation_direction.png |  Bin 2996 -> 3090 bytes
 .../baselines/FTE_mxAccordion_leading.png       |  Bin 3863 -> 3965 bytes
 .../baselines/FTE_mxAccordion_letterSpacing.png |  Bin 4804 -> 4902 bytes
 .../FTE_mxAccordion_textAlign_center.png        |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_center2.png       |  Bin 3866 -> 3810 bytes
 .../baselines/FTE_mxAccordion_textAlign_end.png |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_end2.png          |  Bin 3737 -> 3946 bytes
 .../FTE_mxAccordion_textAlign_end3.png          |  Bin 3971 -> 3936 bytes
 .../FTE_mxAccordion_textAlign_left.png          |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_left2.png         |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_right.png         |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_right2.png        |  Bin 3775 -> 3938 bytes
 .../FTE_mxAccordion_textAlign_start.png         |  Bin 3656 -> 3966 bytes
 .../FTE_mxAccordion_textAlign_start2.png        |  Bin 3737 -> 3946 bytes
 .../FTE_mxAccordion_textAlign_start3.png        |  Bin 3737 -> 3946 bytes
 .../Integration/baselines/FTE_mxButtonBar.png   |  Bin 3560 -> 3496 bytes
 .../baselines/FTE_mxButtonBar_color_red.png     |  Bin 4141 -> 4073 bytes
 .../FTE_mxButtonBar_color_red_truncating.png    |  Bin 3301 -> 3247 bytes
 .../baselines/FTE_mxButtonBar_disabled.png      |  Bin 3229 -> 3243 bytes
 .../FTE_mxButtonBar_disabledColor_green.png     |  Bin 3986 -> 3926 bytes
 ...ButtonBar_disabledColor_green_truncating.png |  Bin 3188 -> 3107 bytes
 .../baselines/FTE_mxButtonBar_fontSize.png      |  Bin 5475 -> 5273 bytes
 .../FTE_mxButtonBar_fontStyle_italic.png        |  Bin 3618 -> 3517 bytes
 .../baselines/FTE_mxButtonBar_fontWeight.png    |  Bin 3632 -> 3655 bytes
 .../baselines/FTE_mxButtonBar_kerning_false.png |  Bin 3560 -> 3496 bytes
 .../baselines/FTE_mxButtonBar_kerning_true.png  |  Bin 3560 -> 3496 bytes
 .../FTE_mxButtonBar_label_truncation.png        |  Bin 2877 -> 2823 bytes
 .../FTE_mxButtonBar_label_truncation2.png       |  Bin 2369 -> 2273 bytes
 ...E_mxButtonBar_label_truncation_direction.png |  Bin 2893 -> 2973 bytes
 .../baselines/FTE_mxButtonBar_leading.png       |  Bin 3560 -> 3496 bytes
 .../baselines/FTE_mxButtonBar_letterSpacing.png |  Bin 3977 -> 3900 bytes
 .../FTE_mxButtonBar_textAlign_center.png        |  Bin 2795 -> 2799 bytes
 .../baselines/FTE_mxButtonBar_textAlign_end.png |  Bin 2895 -> 2898 bytes
 .../FTE_mxButtonBar_textAlign_end2.png          |  Bin 2853 -> 2869 bytes
 .../FTE_mxButtonBar_textAlign_left.png          |  Bin 2833 -> 2899 bytes
 .../FTE_mxButtonBar_textAlign_right.png         |  Bin 2895 -> 2898 bytes
 .../FTE_mxButtonBar_textAlign_start.png         |  Bin 2833 -> 2899 bytes
 .../FTE_mxButtonBar_textAlign_start2.png        |  Bin 2790 -> 2910 bytes
 .../baselines/FTE_mxButton_color_red.png        |  Bin 3704 -> 3741 bytes
 .../FTE_mxButton_color_red_truncating.png       |  Bin 1529 -> 1569 bytes
 .../baselines/FTE_mxButton_disabled.png         |  Bin 1035 -> 1028 bytes
 .../FTE_mxButton_disabledColor_green.png        |  Bin 3627 -> 3633 bytes
 .../baselines/FTE_mxButton_fontSize.png         |  Bin 1747 -> 1707 bytes
 .../baselines/FTE_mxButton_fontStyle_italic.png |  Bin 1172 -> 1131 bytes
 .../baselines/FTE_mxButton_fontWeight.png       |  Bin 1539 -> 1516 bytes
 .../baselines/FTE_mxButton_kerning_false.png    |  Bin 1547 -> 1596 bytes
 .../baselines/FTE_mxButton_kerning_true.png     |  Bin 1547 -> 1596 bytes
 .../baselines/FTE_mxButton_label.png            |  Bin 1148 -> 1140 bytes
 .../baselines/FTE_mxButton_label_truncation.png |  Bin 1398 -> 1431 bytes
 .../FTE_mxButton_label_truncation_direction.png |  Bin 1429 -> 1426 bytes
 .../baselines/FTE_mxButton_leading.png          |  Bin 1313 -> 1311 bytes
 .../baselines/FTE_mxButton_letterSpacing.png    |  Bin 1732 -> 1763 bytes
 .../baselines/FTE_mxButton_textAlign_center.png |  Bin 1770 -> 1746 bytes
 .../baselines/FTE_mxButton_textAlign_end.png    |  Bin 1604 -> 1548 bytes
 .../baselines/FTE_mxButton_textAlign_end2.png   |  Bin 1618 -> 1537 bytes
 .../baselines/FTE_mxButton_textAlign_left.png   |  Bin 1629 -> 1568 bytes
 .../baselines/FTE_mxButton_textAlign_right.png  |  Bin 1731 -> 1689 bytes
 .../baselines/FTE_mxButton_textAlign_start.png  |  Bin 1697 -> 1679 bytes
 .../baselines/FTE_mxButton_textAlign_start2.png |  Bin 1696 -> 1672 bytes
 .../baselines/FTE_mxCheckBox_color_red.png      |  Bin 2612 -> 2668 bytes
 .../FTE_mxCheckBox_color_red_truncating.png     |  Bin 914 -> 1069 bytes
 .../baselines/FTE_mxCheckBox_disabled.png       |  Bin 893 -> 909 bytes
 .../FTE_mxCheckBox_disabledColor_green.png      |  Bin 2829 -> 2898 bytes
 .../baselines/FTE_mxCheckBox_fontSize.png       |  Bin 1336 -> 1318 bytes
 .../FTE_mxCheckBox_fontStyle_italic.png         |  Bin 1053 -> 1033 bytes
 .../baselines/FTE_mxCheckBox_fontWeight.png     |  Bin 1294 -> 1292 bytes
 .../baselines/FTE_mxCheckBox_kerning_false.png  |  Bin 1351 -> 1423 bytes
 .../baselines/FTE_mxCheckBox_kerning_true.png   |  Bin 1351 -> 1423 bytes
 .../baselines/FTE_mxCheckBox_label.png          |  Bin 993 -> 1014 bytes
 .../FTE_mxCheckBox_label_truncation.png         |  Bin 968 -> 1133 bytes
 ...TE_mxCheckBox_label_truncation_direction.png |  Bin 971 -> 1140 bytes
 .../baselines/FTE_mxCheckBox_leading.png        |  Bin 945 -> 968 bytes
 .../baselines/FTE_mxCheckBox_letterSpacing.png  |  Bin 1376 -> 1440 bytes
 .../FTE_mxCheckBox_textAlign_center.png         |  Bin 1495 -> 1548 bytes
 .../baselines/FTE_mxCheckBox_textAlign_end.png  |  Bin 1332 -> 1325 bytes
 .../baselines/FTE_mxCheckBox_textAlign_end2.png |  Bin 1331 -> 1313 bytes
 .../baselines/FTE_mxCheckBox_textAlign_left.png |  Bin 1296 -> 1321 bytes
 .../FTE_mxCheckBox_textAlign_right.png          |  Bin 1436 -> 1478 bytes
 .../FTE_mxCheckBox_textAlign_start.png          |  Bin 1395 -> 1432 bytes
 .../FTE_mxCheckBox_textAlign_start2.png         |  Bin 1396 -> 1435 bytes
 .../Integration/baselines/FTE_mxColorPicker.png |  Bin 2553 -> 2995 bytes
 .../baselines/FTE_mxColorPicker_color_red.png   |  Bin 2536 -> 2917 bytes
 .../FTE_mxColorPicker_color_red_truncating.png  |  Bin 2536 -> 2917 bytes
 .../baselines/FTE_mxColorPicker_disabled.png    |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_disabledColor_green.png   |  Bin 2553 -> 2995 bytes
 .../baselines/FTE_mxColorPicker_fontSize.png    |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_fontStyle_italic.png      |  Bin 2615 -> 2779 bytes
 .../baselines/FTE_mxColorPicker_fontWeight.png  |  Bin 3093 -> 3046 bytes
 .../FTE_mxColorPicker_kerning_false.png         |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_kerning_true.png          |  Bin 2553 -> 2995 bytes
 .../baselines/FTE_mxColorPicker_leading.png     |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_letterSpacing.png         |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_textAlign_center.png      |  Bin 2553 -> 2999 bytes
 .../FTE_mxColorPicker_textAlign_end.png         |  Bin 2556 -> 3005 bytes
 .../FTE_mxColorPicker_textAlign_end2.png        |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_textAlign_left.png        |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_textAlign_right.png       |  Bin 2556 -> 3005 bytes
 .../FTE_mxColorPicker_textAlign_start.png       |  Bin 2553 -> 2995 bytes
 .../FTE_mxColorPicker_textAlign_start2.png      |  Bin 2556 -> 3005 bytes
 .../baselines/FTE_mxColorPicker_textIndent.png  |  Bin 2555 -> 2996 bytes
 .../baselines/FTE_mxComboBox_color_red.png      |  Bin 1407 -> 1402 bytes
 .../FTE_mxComboBox_color_red_truncating.png     |  Bin 1701 -> 1750 bytes
 .../baselines/FTE_mxComboBox_disabled.png       |  Bin 1143 -> 1139 bytes
 .../FTE_mxComboBox_disabledColor_green.png      |  Bin 1143 -> 1139 bytes
 .../baselines/FTE_mxComboBox_fontSize.png       |  Bin 1857 -> 1848 bytes
 .../FTE_mxComboBox_fontStyle_italic.png         |  Bin 1334 -> 1293 bytes
 .../baselines/FTE_mxComboBox_fontWeight.png     |  Bin 1379 -> 1326 bytes
 .../baselines/FTE_mxComboBox_kerning_false.png  |  Bin 1308 -> 1302 bytes
 .../baselines/FTE_mxComboBox_kerning_true.png   |  Bin 1308 -> 1302 bytes
 .../FTE_mxComboBox_label_truncation.png         |  Bin 1560 -> 1603 bytes
 ...TE_mxComboBox_label_truncation_direction.png |  Bin 1606 -> 1638 bytes
 .../baselines/FTE_mxComboBox_leading.png        |  Bin 1660 -> 1646 bytes
 .../baselines/FTE_mxComboBox_letterSpacing.png  |  Bin 1390 -> 1385 bytes
 .../baselines/FTE_mxComboBox_prompt.png         |  Bin 1346 -> 1337 bytes
 .../FTE_mxComboBox_textAlign_center.png         |  Bin 1252 -> 1277 bytes
 .../baselines/FTE_mxComboBox_textAlign_end.png  |  Bin 1283 -> 1265 bytes
 .../baselines/FTE_mxComboBox_textAlign_end2.png |  Bin 1282 -> 1288 bytes
 .../baselines/FTE_mxComboBox_textAlign_left.png |  Bin 1282 -> 1288 bytes
 .../FTE_mxComboBox_textAlign_right.png          |  Bin 1283 -> 1265 bytes
 .../FTE_mxComboBox_textAlign_start.png          |  Bin 1282 -> 1288 bytes
 .../FTE_mxComboBox_textAlign_start2.png         |  Bin 1283 -> 1265 bytes
 .../Integration/baselines/FTE_mxDataGrid.png    |  Bin 3578 -> 3728 bytes
 .../baselines/FTE_mxDataGrid_color_red.png      |  Bin 3448 -> 3593 bytes
 .../baselines/FTE_mxDataGrid_disabled.png       |  Bin 3599 -> 3747 bytes
 .../FTE_mxDataGrid_disabledColor_Green.png      |  Bin 3578 -> 3728 bytes
 .../baselines/FTE_mxDataGrid_fontSize.png       |  Bin 4870 -> 4710 bytes
 .../FTE_mxDataGrid_fontStyle_italic.png         |  Bin 4141 -> 4181 bytes
 .../baselines/FTE_mxDataGrid_fontWeight.png     |  Bin 3815 -> 3833 bytes
 .../baselines/FTE_mxDataGrid_kerning_false.png  |  Bin 3578 -> 3728 bytes
 .../baselines/FTE_mxDataGrid_kerning_true.png   |  Bin 3578 -> 3728 bytes
 .../FTE_mxDataGrid_label_truncation.png         |  Bin 2731 -> 2864 bytes
 ...TE_mxDataGrid_label_truncation_direction.png |  Bin 2825 -> 2935 bytes
 .../baselines/FTE_mxDataGrid_leading.png        |  Bin 3578 -> 3728 bytes
 .../baselines/FTE_mxDataGrid_letterSpacing.png  |  Bin 3162 -> 3328 bytes
 .../FTE_mxDataGrid_textAlign_center.png         |  Bin 3291 -> 3238 bytes
 .../baselines/FTE_mxDataGrid_textAlign_end.png  |  Bin 3259 -> 3230 bytes
 .../baselines/FTE_mxDataGrid_textAlign_end2.png |  Bin 3218 -> 3296 bytes
 .../baselines/FTE_mxDataGrid_textAlign_left.png |  Bin 3184 -> 3277 bytes
 .../FTE_mxDataGrid_textAlign_right.png          |  Bin 3259 -> 3230 bytes
 .../FTE_mxDataGrid_textAlign_start.png          |  Bin 3184 -> 3277 bytes
 .../FTE_mxDataGrid_textAlign_start2.png         |  Bin 3221 -> 3361 bytes
 .../Integration/baselines/FTE_mxDateChooser.png |  Bin 6757 -> 6288 bytes
 .../baselines/FTE_mxDateChooser_color_red.png   |  Bin 6931 -> 6433 bytes
 .../baselines/FTE_mxDateChooser_fontSize.png    |  Bin 10453 -> 10009 bytes
 .../FTE_mxDateChooser_fontStyle_italic.png      |  Bin 7208 -> 6533 bytes
 .../baselines/FTE_mxDateChooser_fontWeight.png  |  Bin 6896 -> 6572 bytes
 .../baselines/FTE_mxDateChooser_fontWeight2.png |  Bin 6727 -> 6279 bytes
 .../FTE_mxDateChooser_kerning_false.png         |  Bin 6756 -> 6288 bytes
 .../FTE_mxDateChooser_kerning_true.png          |  Bin 6756 -> 6288 bytes
 .../baselines/FTE_mxDateChooser_leading.png     |  Bin 7289 -> 6951 bytes
 .../FTE_mxDateChooser_letterSpacing.png         |  Bin 6767 -> 7115 bytes
 .../FTE_mxDateChooser_textAlign_center.png      |  Bin 6737 -> 6289 bytes
 .../FTE_mxDateChooser_textAlign_end.png         |  Bin 6733 -> 6629 bytes
 .../FTE_mxDateChooser_textAlign_end2.png        |  Bin 6884 -> 6532 bytes
 .../FTE_mxDateChooser_textAlign_left.png        |  Bin 6884 -> 6532 bytes
 .../FTE_mxDateChooser_textAlign_right.png       |  Bin 6733 -> 6629 bytes
 .../FTE_mxDateChooser_textAlign_start.png       |  Bin 6884 -> 6532 bytes
 .../FTE_mxDateChooser_textAlign_start2.png      |  Bin 6733 -> 6629 bytes
 .../Integration/baselines/FTE_mxDateField.png   |  Bin 1358 -> 1243 bytes
 .../baselines/FTE_mxDateField_color_red.png     |  Bin 1250 -> 1152 bytes
 .../baselines/FTE_mxDateField_fontSize.png      |  Bin 1933 -> 1811 bytes
 .../FTE_mxDateField_fontStyle_italic.png        |  Bin 1430 -> 1216 bytes
 .../baselines/FTE_mxDateField_fontWeight.png    |  Bin 1403 -> 1298 bytes
 .../baselines/FTE_mxDateField_fontWeight2.png   |  Bin 1358 -> 1243 bytes
 .../baselines/FTE_mxDateField_kerning_false.png |  Bin 1358 -> 1243 bytes
 .../baselines/FTE_mxDateField_kerning_true.png  |  Bin 1358 -> 1243 bytes
 .../baselines/FTE_mxDateField_leading.png       |  Bin 1358 -> 1243 bytes
 .../baselines/FTE_mxDateField_letterSpacing.png |  Bin 1412 -> 1285 bytes
 .../FTE_mxDateField_textAlign_center.png        |  Bin 1409 -> 1290 bytes
 .../baselines/FTE_mxDateField_textAlign_end.png |  Bin 1387 -> 1266 bytes
 .../FTE_mxDateField_textAlign_end2.png          |  Bin 1412 -> 1302 bytes
 .../FTE_mxDateField_textAlign_left.png          |  Bin 1412 -> 1302 bytes
 .../FTE_mxDateField_textAlign_right.png         |  Bin 1387 -> 1266 bytes
 .../FTE_mxDateField_textAlign_start.png         |  Bin 1412 -> 1302 bytes
 .../FTE_mxDateField_textAlign_start2.png        |  Bin 1387 -> 1266 bytes
 .../Integration/baselines/FTE_mxFormHeading.png |  Bin 1974 -> 2022 bytes
 .../baselines/FTE_mxFormHeading_color_red.png   |  Bin 4523 -> 4454 bytes
 .../FTE_mxFormHeading_color_red_truncating.png  |  Bin 2782 -> 2954 bytes
 .../baselines/FTE_mxFormHeading_disabled.png    |  Bin 1800 -> 1770 bytes
 .../FTE_mxFormHeading_disabledColor_green.png   |  Bin 4694 -> 4593 bytes
 .../baselines/FTE_mxFormHeading_fontSize.png    |  Bin 2126 -> 2121 bytes
 .../FTE_mxFormHeading_fontStyle_italic.png      |  Bin 1844 -> 1781 bytes
 .../baselines/FTE_mxFormHeading_fontWeight.png  |  Bin 1985 -> 1935 bytes
 .../FTE_mxFormHeading_kerning_false.png         |  Bin 1901 -> 1934 bytes
 .../FTE_mxFormHeading_kerning_true.png          |  Bin 1901 -> 1934 bytes
 .../baselines/FTE_mxFormHeading_label.png       |  Bin 1800 -> 1770 bytes
 .../FTE_mxFormHeading_label_truncation.png      |  Bin 2755 -> 2920 bytes
 ...mxFormHeading_label_truncation_direction.png |  Bin 2734 -> 2940 bytes
 .../baselines/FTE_mxFormHeading_leading.png     |  Bin 1711 -> 1729 bytes
 .../FTE_mxFormHeading_letterSpacing.png         |  Bin 3052 -> 2989 bytes
 .../FTE_mxFormHeading_textAlign_center.png      |  Bin 2457 -> 2416 bytes
 .../FTE_mxFormHeading_textAlign_end.png         |  Bin 2219 -> 2230 bytes
 .../FTE_mxFormHeading_textAlign_end2.png        |  Bin 2235 -> 2247 bytes
 .../FTE_mxFormHeading_textAlign_left.png        |  Bin 2207 -> 2174 bytes
 .../FTE_mxFormHeading_textAlign_right.png       |  Bin 2331 -> 2364 bytes
 .../FTE_mxFormHeading_textAlign_start.png       |  Bin 2329 -> 2372 bytes
 .../FTE_mxFormHeading_textAlign_start2.png      |  Bin 2350 -> 2324 bytes
 .../Integration/baselines/FTE_mxFormItem.png    |  Bin 1974 -> 2022 bytes
 .../baselines/FTE_mxFormItem_color_red.png      |  Bin 4575 -> 4730 bytes
 .../FTE_mxFormItem_color_red_truncating.png     |  Bin 2874 -> 3065 bytes
 .../baselines/FTE_mxFormItem_disabled.png       |  Bin 2570 -> 2594 bytes
 .../FTE_mxFormItem_disabledColor_green.png      |  Bin 4370 -> 4473 bytes
 .../baselines/FTE_mxFormItem_fontSize.png       |  Bin 2869 -> 2887 bytes
 .../FTE_mxFormItem_fontStyle_italic.png         |  Bin 2587 -> 2606 bytes
 .../baselines/FTE_mxFormItem_fontWeight.png     |  Bin 2805 -> 2747 bytes
 .../baselines/FTE_mxFormItem_kerning_false.png  |  Bin 2852 -> 2944 bytes
 .../baselines/FTE_mxFormItem_kerning_true.png   |  Bin 2852 -> 2944 bytes
 .../baselines/FTE_mxFormItem_label.png          |  Bin 2563 -> 2529 bytes
 .../FTE_mxFormItem_label_truncation.png         |  Bin 2646 -> 2874 bytes
 ...TE_mxFormItem_label_truncation_direction.png |  Bin 2751 -> 2869 bytes
 .../baselines/FTE_mxFormItem_leading.png        |  Bin 2447 -> 2411 bytes
 .../baselines/FTE_mxFormItem_letterSpacing.png  |  Bin 3177 -> 3280 bytes
 .../FTE_mxFormItem_textAlign_center.png         |  Bin 5161 -> 5277 bytes
 .../baselines/FTE_mxFormItem_textAlign_end.png  |  Bin 5018 -> 5087 bytes
 .../baselines/FTE_mxFormItem_textAlign_end2.png |  Bin 5075 -> 5068 bytes
 .../baselines/FTE_mxFormItem_textAlign_left.png |  Bin 4984 -> 5078 bytes
 .../FTE_mxFormItem_textAlign_right.png          |  Bin 5117 -> 5225 bytes
 .../FTE_mxFormItem_textAlign_start.png          |  Bin 5082 -> 5185 bytes
 .../FTE_mxFormItem_textAlign_start2.png         |  Bin 5137 -> 5170 bytes
 .../Integration/baselines/FTE_mxHSlider.png     |  Bin 1599 -> 1574 bytes
 .../baselines/FTE_mxHSlider_color_red.png       |  Bin 1509 -> 1485 bytes
 .../baselines/FTE_mxHSlider_fontSize.png        |  Bin 2085 -> 2073 bytes
 .../FTE_mxHSlider_fontStyle_italic.png          |  Bin 1764 -> 1697 bytes
 .../baselines/FTE_mxHSlider_fontWeight.png      |  Bin 1636 -> 1627 bytes
 .../baselines/FTE_mxHSlider_kerning_false.png   |  Bin 1599 -> 1574 bytes
 .../baselines/FTE_mxHSlider_kerning_true.png    |  Bin 1599 -> 1574 bytes
 .../baselines/FTE_mxHSlider_leading.png         |  Bin 1599 -> 1574 bytes
 .../baselines/FTE_mxHSlider_letterSpacing.png   |  Bin 1599 -> 1586 bytes
 .../FTE_mxHSlider_textAlign_center.png          |  Bin 1615 -> 1659 bytes
 .../baselines/FTE_mxHSlider_textAlign_end.png   |  Bin 1622 -> 1595 bytes
 .../baselines/FTE_mxHSlider_textAlign_end2.png  |  Bin 1587 -> 1567 bytes
 .../baselines/FTE_mxHSlider_textAlign_left.png  |  Bin 1587 -> 1567 bytes
 .../baselines/FTE_mxHSlider_textAlign_right.png |  Bin 1622 -> 1595 bytes
 .../baselines/FTE_mxHSlider_textAlign_start.png |  Bin 1587 -> 1567 bytes
 .../FTE_mxHSlider_textAlign_start2.png          |  Bin 1622 -> 1595 bytes
 .../baselines/FTE_mxLabel_color_red.png         |  Bin 2373 -> 2401 bytes
 .../FTE_mxLabel_color_red_truncating.png        |  Bin 889 -> 1042 bytes
 .../baselines/FTE_mxLabel_disabled.png          |  Bin 705 -> 713 bytes
 .../FTE_mxLabel_disabledColor_green.png         |  Bin 2614 -> 2677 bytes
 .../baselines/FTE_mxLabel_fontSize.png          |  Bin 1145 -> 1122 bytes
 .../baselines/FTE_mxLabel_fontStyle_italic.png  |  Bin 870 -> 857 bytes
 .../baselines/FTE_mxLabel_fontWeight.png        |  Bin 1104 -> 1110 bytes
 .../baselines/FTE_mxLabel_kerning_false.png     |  Bin 1161 -> 1231 bytes
 .../baselines/FTE_mxLabel_kerning_true.png      |  Bin 1161 -> 1231 bytes
 .../Integration/baselines/FTE_mxLabel_label.png |  Bin 823 -> 831 bytes
 .../baselines/FTE_mxLabel_label_truncation.png  |  Bin 1000 -> 1159 bytes
 .../FTE_mxLabel_label_truncation_direction.png  |  Bin 1018 -> 1151 bytes
 .../baselines/FTE_mxLabel_leading.png           |  Bin 737 -> 765 bytes
 .../baselines/FTE_mxLabel_letterSpacing.png     |  Bin 1176 -> 1253 bytes
 .../baselines/FTE_mxLabel_textAlign_center.png  |  Bin 1265 -> 1345 bytes
 .../baselines/FTE_mxLabel_textAlign_end.png     |  Bin 1134 -> 1137 bytes
 .../baselines/FTE_mxLabel_textAlign_end2.png    |  Bin 1140 -> 1135 bytes
 .../baselines/FTE_mxLabel_textAlign_left.png    |  Bin 1113 -> 1150 bytes
 .../baselines/FTE_mxLabel_textAlign_right.png   |  Bin 1242 -> 1280 bytes
 .../baselines/FTE_mxLabel_textAlign_start.png   |  Bin 1213 -> 1255 bytes
 .../baselines/FTE_mxLabel_textAlign_start2.png  |  Bin 1211 -> 1243 bytes
 .../Integration/baselines/FTE_mxLinkBar.png     |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_color_red.png       |  Bin 2564 -> 2604 bytes
 .../FTE_mxLinkBar_color_red_truncating.png      |  Bin 2465 -> 2606 bytes
 .../baselines/FTE_mxLinkBar_disabled.png        |  Bin 2743 -> 2781 bytes
 .../FTE_mxLinkBar_disabledColor_green.png       |  Bin 2743 -> 2781 bytes
 ...mxLinkBar_disabledColor_green_truncating.png |  Bin 2641 -> 2784 bytes
 .../baselines/FTE_mxLinkBar_fontSize.png        |  Bin 4200 -> 4208 bytes
 .../FTE_mxLinkBar_fontStyle_italic.png          |  Bin 3156 -> 3030 bytes
 .../baselines/FTE_mxLinkBar_fontWeight.png      |  Bin 2879 -> 2915 bytes
 .../baselines/FTE_mxLinkBar_kerning_false.png   |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_kerning_true.png    |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_leading.png         |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_letterSpacing.png   |  Bin 3090 -> 3116 bytes
 .../FTE_mxLinkBar_textAlign_center.png          |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_textAlign_end.png   |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_textAlign_end2.png  |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_textAlign_left.png  |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_textAlign_right.png |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkBar_textAlign_start.png |  Bin 2743 -> 2781 bytes
 .../FTE_mxLinkBar_textAlign_start2.png          |  Bin 2743 -> 2781 bytes
 .../baselines/FTE_mxLinkButton_color_red.png    |  Bin 2340 -> 2408 bytes
 .../FTE_mxLinkButton_color_red_truncating.png   |  Bin 778 -> 832 bytes
 .../baselines/FTE_mxLinkButton_disabled.png     |  Bin 731 -> 722 bytes
 .../FTE_mxLinkButton_disabledColor_green.png    |  Bin 2600 -> 2686 bytes
 .../baselines/FTE_mxLinkButton_fontSize.png     |  Bin 1155 -> 1135 bytes
 .../FTE_mxLinkButton_fontStyle_italic.png       |  Bin 878 -> 840 bytes
 .../baselines/FTE_mxLinkButton_fontWeight.png   |  Bin 1116 -> 1103 bytes
 .../FTE_mxLinkButton_kerning_false.png          |  Bin 1173 -> 1242 bytes
 .../baselines/FTE_mxLinkButton_kerning_true.png |  Bin 1173 -> 1242 bytes
 .../baselines/FTE_mxLinkButton_label.png        |  Bin 842 -> 849 bytes
 .../FTE_mxLinkButton_label_truncation.png       |  Bin 883 -> 942 bytes
 ..._mxLinkButton_label_truncation_direction.png |  Bin 887 -> 936 bytes
 .../baselines/FTE_mxLinkButton_leading.png      |  Bin 745 -> 781 bytes
 .../FTE_mxLinkButton_letterSpacing.png          |  Bin 1209 -> 1259 bytes
 .../FTE_mxLinkButton_textAlign_center.png       |  Bin 1285 -> 1343 bytes
 .../FTE_mxLinkButton_textAlign_end.png          |  Bin 1135 -> 1135 bytes
 .../FTE_mxLinkButton_textAlign_end2.png         |  Bin 1138 -> 1124 bytes
 .../FTE_mxLinkButton_textAlign_left.png         |  Bin 1114 -> 1150 bytes
 .../FTE_mxLinkButton_textAlign_right.png        |  Bin 1240 -> 1278 bytes
 .../FTE_mxLinkButton_textAlign_start.png        |  Bin 1213 -> 1252 bytes
 .../FTE_mxLinkButton_textAlign_start2.png       |  Bin 1211 -> 1246 bytes
 .../Integration/baselines/FTE_mxList.png        |  Bin 3542 -> 3737 bytes
 .../baselines/FTE_mxList_color_red.png          |  Bin 3320 -> 3506 bytes
 .../baselines/FTE_mxList_disabled.png           |  Bin 3210 -> 3441 bytes
 .../FTE_mxList_disabledColor_Green.png          |  Bin 3542 -> 3737 bytes
 .../baselines/FTE_mxList_fontSize.png           |  Bin 6021 -> 5973 bytes
 .../baselines/FTE_mxList_fontStyle_italic.png   |  Bin 4065 -> 3939 bytes
 .../baselines/FTE_mxList_fontWeight.png         |  Bin 3878 -> 3952 bytes
 .../baselines/FTE_mxList_kerning_false.png      |  Bin 3542 -> 3737 bytes
 .../baselines/FTE_mxList_kerning_true.png       |  Bin 3542 -> 3737 bytes
 .../baselines/FTE_mxList_label_truncation.png   |  Bin 2398 -> 2584 bytes
 .../FTE_mxList_label_truncation_direction.png   |  Bin 2439 -> 2623 bytes
 .../baselines/FTE_mxList_leading.png            |  Bin 3542 -> 3737 bytes
 .../baselines/FTE_mxList_letterSpacing.png      |  Bin 4773 -> 4798 bytes
 .../baselines/FTE_mxList_textAlign_center.png   |  Bin 3054 -> 2901 bytes
 .../baselines/FTE_mxList_textAlign_end.png      |  Bin 2981 -> 3121 bytes
 .../baselines/FTE_mxList_textAlign_end2.png     |  Bin 2877 -> 3082 bytes
 .../baselines/FTE_mxList_textAlign_left.png     |  Bin 2877 -> 3082 bytes
 .../baselines/FTE_mxList_textAlign_right.png    |  Bin 2981 -> 3121 bytes
 .../baselines/FTE_mxList_textAlign_start.png    |  Bin 2877 -> 3082 bytes
 .../baselines/FTE_mxList_textAlign_start2.png   |  Bin 2953 -> 3181 bytes
 .../baselines/FTE_mxMenuBar_color_red.png       |  Bin 3415 -> 3498 bytes
 .../FTE_mxMenuBar_color_red_truncating.png      |  Bin 2282 -> 2237 bytes
 .../baselines/FTE_mxMenuBar_disabled.png        |  Bin 2744 -> 2824 bytes
 .../FTE_mxMenuBar_disabledColor_green.png       |  Bin 3492 -> 3556 bytes
 ...mxMenuBar_disabledColor_green_truncating.png |  Bin 3112 -> 3283 bytes
 .../baselines/FTE_mxMenuBar_fontSize.png        |  Bin 4511 -> 4262 bytes
 .../FTE_mxMenuBar_fontStyle_italic.png          |  Bin 3092 -> 2959 bytes
 .../baselines/FTE_mxMenuBar_fontWeight.png      |  Bin 3114 -> 3053 bytes
 .../baselines/FTE_mxMenuBar_kerning_false.png   |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_kerning_true.png    |  Bin 2943 -> 2997 bytes
 .../FTE_mxMenuBar_label_truncation.png          |  Bin 2016 -> 1983 bytes
 ...FTE_mxMenuBar_label_truncation_direction.png |  Bin 2111 -> 2090 bytes
 .../baselines/FTE_mxMenuBar_leading.png         |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_letterSpacing.png   |  Bin 3246 -> 3299 bytes
 .../FTE_mxMenuBar_textAlign_center.png          |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_textAlign_end.png   |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_textAlign_end2.png  |  Bin 3301 -> 3199 bytes
 .../baselines/FTE_mxMenuBar_textAlign_left.png  |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_textAlign_right.png |  Bin 2943 -> 2997 bytes
 .../baselines/FTE_mxMenuBar_textAlign_start.png |  Bin 2943 -> 2997 bytes
 .../FTE_mxMenuBar_textAlign_start2.png          |  Bin 3301 -> 3199 bytes
 .../FTE_mxNumericStepper_color_red.png          |  Bin 778 -> 771 bytes
 ...TE_mxNumericStepper_color_red_truncating.png |  Bin 678 -> 703 bytes
 .../baselines/FTE_mxNumericStepper_disabled.png |  Bin 698 -> 703 bytes
 ...FTE_mxNumericStepper_disabledColor_green.png |  Bin 698 -> 703 bytes
 .../baselines/FTE_mxNumericStepper_fontSize.png |  Bin 1064 -> 1084 bytes
 .../FTE_mxNumericStepper_fontStyle_italic.png   |  Bin 846 -> 813 bytes
 .../FTE_mxNumericStepper_fontWeight.png         |  Bin 859 -> 829 bytes
 .../FTE_mxNumericStepper_kerning_false.png      |  Bin 816 -> 799 bytes
 .../FTE_mxNumericStepper_kerning_true.png       |  Bin 816 -> 799 bytes
 .../baselines/FTE_mxNumericStepper_leading.png  |  Bin 816 -> 799 bytes
 .../FTE_mxNumericStepper_letterSpacing.png      |  Bin 843 -> 831 bytes
 .../FTE_mxNumericStepper_textAlign_center.png   |  Bin 858 -> 863 bytes
 .../FTE_mxNumericStepper_textAlign_end.png      |  Bin 859 -> 844 bytes
 .../FTE_mxNumericStepper_textAlign_end2.png     |  Bin 865 -> 851 bytes
 .../FTE_mxNumericStepper_textAlign_left.png     |  Bin 865 -> 851 bytes
 .../FTE_mxNumericStepper_textAlign_right.png    |  Bin 859 -> 844 bytes
 .../FTE_mxNumericStepper_textAlign_start.png    |  Bin 865 -> 851 bytes
 .../FTE_mxNumericStepper_textAlign_start2.png   |  Bin 859 -> 844 bytes
 .../baselines/FTE_mxPanel_color_red.png         |  Bin 3112 -> 2941 bytes
 .../baselines/FTE_mxPanel_fontSize.png          |  Bin 3817 -> 3913 bytes
 .../baselines/FTE_mxPanel_fontStyle_italic.png  |  Bin 3138 -> 2930 bytes
 .../baselines/FTE_mxPanel_fontWeight.png        |  Bin 2902 -> 2863 bytes
 .../baselines/FTE_mxPanel_kerning_false.png     |  Bin 2837 -> 2701 bytes
 .../baselines/FTE_mxPanel_kerning_true.png      |  Bin 2837 -> 2701 bytes
 .../baselines/FTE_mxPanel_leading.png           |  Bin 2781 -> 2639 bytes
 .../baselines/FTE_mxPanel_letterSpacing.png     |  Bin 2136 -> 2212 bytes
 .../baselines/FTE_mxPanel_status.png            |  Bin 3357 -> 3463 bytes
 .../baselines/FTE_mxPanel_textAlign_center.png  |  Bin 1831 -> 1819 bytes
 .../baselines/FTE_mxPanel_textAlign_end.png     |  Bin 1812 -> 1793 bytes
 .../baselines/FTE_mxPanel_textAlign_end2.png    |  Bin 1814 -> 1820 bytes
 .../baselines/FTE_mxPanel_textAlign_left.png    |  Bin 1814 -> 1820 bytes
 .../baselines/FTE_mxPanel_textAlign_right.png   |  Bin 1812 -> 1793 bytes
 .../baselines/FTE_mxPanel_textAlign_start.png   |  Bin 1814 -> 1820 bytes
 .../baselines/FTE_mxPanel_textAlign_start2.png  |  Bin 1812 -> 1793 bytes
 .../Integration/baselines/FTE_mxPanel_title.png |  Bin 3632 -> 3797 bytes
 .../baselines/FTE_mxProgressBar_color_red.png   |  Bin 1364 -> 1336 bytes
 .../FTE_mxProgressBar_color_red_truncating.png  |  Bin 808 -> 843 bytes
 .../baselines/FTE_mxProgressBar_disabled.png    |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_disabledColor_green.png   |  Bin 1443 -> 1431 bytes
 .../baselines/FTE_mxProgressBar_fontSize.png    |  Bin 1990 -> 1975 bytes
 .../FTE_mxProgressBar_fontStyle_italic.png      |  Bin 1674 -> 1596 bytes
 .../baselines/FTE_mxProgressBar_fontWeight.png  |  Bin 1414 -> 1451 bytes
 .../FTE_mxProgressBar_kerning_false.png         |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_kerning_true.png          |  Bin 1443 -> 1431 bytes
 .../baselines/FTE_mxProgressBar_label.png       |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_label_truncation.png      |  Bin 869 -> 921 bytes
 ...mxProgressBar_label_truncation_direction.png |  Bin 1054 -> 1080 bytes
 .../baselines/FTE_mxProgressBar_leading.png     |  Bin 1521 -> 1500 bytes
 .../FTE_mxProgressBar_letterSpacing.png         |  Bin 1480 -> 1479 bytes
 .../FTE_mxProgressBar_textAlign_center.png      |  Bin 1442 -> 1451 bytes
 .../FTE_mxProgressBar_textAlign_end.png         |  Bin 1463 -> 1430 bytes
 .../FTE_mxProgressBar_textAlign_end2.png        |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_textAlign_left.png        |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_textAlign_right.png       |  Bin 1463 -> 1430 bytes
 .../FTE_mxProgressBar_textAlign_start.png       |  Bin 1443 -> 1431 bytes
 .../FTE_mxProgressBar_textAlign_start2.png      |  Bin 1463 -> 1430 bytes
 .../baselines/FTE_mxRadioButton_color_red.png   |  Bin 2748 -> 2810 bytes
 .../FTE_mxRadioButton_color_red_truncating.png  |  Bin 1035 -> 1196 bytes
 .../baselines/FTE_mxRadioButton_disabled.png    |  Bin 986 -> 989 bytes
 .../FTE_mxRadioButton_disabledColor_green.png   |  Bin 2937 -> 3004 bytes
 .../baselines/FTE_mxRadioButton_fontSize.png    |  Bin 1457 -> 1438 bytes
 .../FTE_mxRadioButton_fontStyle_italic.png      |  Bin 1143 -> 1132 bytes
 .../baselines/FTE_mxRadioButton_fontWeight.png  |  Bin 1399 -> 1392 bytes
 .../FTE_mxRadioButton_kerning_false.png         |  Bin 1462 -> 1530 bytes
 .../FTE_mxRadioButton_kerning_true.png          |  Bin 1462 -> 1530 bytes
 .../baselines/FTE_mxRadioButton_label.png       |  Bin 1091 -> 1105 bytes
 .../FTE_mxRadioButton_label_truncation.png      |  Bin 1064 -> 1228 bytes
 ...mxRadioButton_label_truncation_direction.png |  Bin 1063 -> 1233 bytes
 .../baselines/FTE_mxRadioButton_leading.png     |  Bin 1064 -> 1087 bytes
 .../FTE_mxRadioButton_letterSpacing.png         |  Bin 1504 -> 1554 bytes
 .../FTE_mxRadioButton_textAlign_center.png      |  Bin 1591 -> 1633 bytes
 .../FTE_mxRadioButton_textAlign_end.png         |  Bin 1433 -> 1418 bytes
 .../FTE_mxRadioButton_textAlign_end2.png        |  Bin 1429 -> 1423 bytes
 .../FTE_mxRadioButton_textAlign_left.png        |  Bin 1397 -> 1434 bytes
 .../FTE_mxRadioButton_textAlign_right.png       |  Bin 1541 -> 1571 bytes
 .../FTE_mxRadioButton_textAlign_start.png       |  Bin 1513 -> 1541 bytes
 .../FTE_mxRadioButton_textAlign_start2.png      |  Bin 1513 -> 1529 bytes
 .../Integration/baselines/FTE_mxTabBar.png      |  Bin 3304 -> 3247 bytes
 .../baselines/FTE_mxTabBar_color_red.png        |  Bin 4012 -> 3958 bytes
 .../FTE_mxTabBar_color_red_truncating.png       |  Bin 3783 -> 3966 bytes
 .../baselines/FTE_mxTabBar_disabled.png         |  Bin 3110 -> 3036 bytes
 .../FTE_mxTabBar_disabledColor_green.png        |  Bin 4004 -> 3916 bytes
 ..._mxTabBar_disabledColor_green_truncating.png |  Bin 3768 -> 3921 bytes
 .../baselines/FTE_mxTabBar_fontSize.png         |  Bin 5126 -> 4963 bytes
 .../baselines/FTE_mxTabBar_fontStyle_italic.png |  Bin 3354 -> 3223 bytes
 .../baselines/FTE_mxTabBar_fontWeight.png       |  Bin 3352 -> 3375 bytes
 .../baselines/FTE_mxTabBar_kerning_false.png    |  Bin 3304 -> 3247 bytes
 .../baselines/FTE_mxTabBar_kerning_true.png     |  Bin 3304 -> 3247 bytes
 .../baselines/FTE_mxTabBar_label_truncation.png |  Bin 3130 -> 3250 bytes
 .../FTE_mxTabBar_label_truncation2.png          |  Bin 2643 -> 2655 bytes
 .../FTE_mxTabBar_label_truncation_direction.png |  Bin 3034 -> 3250 bytes
 .../baselines/FTE_mxTabBar_leading.png          |  Bin 3304 -> 3247 bytes
 .../baselines/FTE_mxTabBar_letterSpacing.png    |  Bin 3750 -> 3702 bytes
 .../baselines/FTE_mxTabBar_textAlign_center.png |  Bin 2643 -> 2655 bytes
 .../baselines/FTE_mxTabBar_textAlign_end.png    |  Bin 2725 -> 2728 bytes
 .../baselines/FTE_mxTabBar_textAlign_end2.png   |  Bin 2703 -> 2714 bytes
 .../baselines/FTE_mxTabBar_textAlign_left.png   |  Bin 2654 -> 2737 bytes
 .../baselines/FTE_mxTabBar_textAlign_right.png  |  Bin 2725 -> 2728 bytes
 .../baselines/FTE_mxTabBar_textAlign_start.png  |  Bin 2654 -> 2737 bytes
 .../baselines/FTE_mxTabBar_textAlign_start2.png |  Bin 2622 -> 2757 bytes
 .../baselines/FTE_mxTabNavigator.png            |  Bin 4129 -> 3869 bytes
 .../baselines/FTE_mxTabNavigator_color_red.png  |  Bin 5028 -> 4679 bytes
 .../FTE_mxTabNavigator_color_red_truncating.png |  Bin 3643 -> 3803 bytes
 .../baselines/FTE_mxTabNavigator_disabled.png   |  Bin 3471 -> 3274 bytes
 .../FTE_mxTabNavigator_disabledColor_green.png  |  Bin 3471 -> 3274 bytes
 ...Navigator_disabledColor_green_truncating.png |  Bin 2555 -> 2647 bytes
 .../baselines/FTE_mxTabNavigator_fontSize.png   |  Bin 4581 -> 4579 bytes
 .../FTE_mxTabNavigator_fontStyle_italic.png     |  Bin 4153 -> 3904 bytes
 .../baselines/FTE_mxTabNavigator_fontWeight.png |  Bin 3868 -> 4056 bytes
 .../FTE_mxTabNavigator_kerning_false.png        |  Bin 4129 -> 3869 bytes
 .../FTE_mxTabNavigator_kerning_true.png         |  Bin 4129 -> 3869 bytes
 .../FTE_mxTabNavigator_label_truncation.png     |  Bin 3069 -> 3197 bytes
 .../FTE_mxTabNavigator_label_truncation2.png    |  Bin 3302 -> 3375 bytes
 ...xTabNavigator_label_truncation_direction.png |  Bin 3287 -> 3299 bytes
 .../baselines/FTE_mxTabNavigator_leading.png    |  Bin 4293 -> 4066 bytes
 .../FTE_mxTabNavigator_letterSpacing.png        |  Bin 2602 -> 2639 bytes
 .../FTE_mxTabNavigator_textAlign_center.png     |  Bin 3302 -> 3375 bytes
 .../FTE_mxTabNavigator_textAlign_end.png        |  Bin 3348 -> 3398 bytes
 .../FTE_mxTabNavigator_textAlign_end2.png       |  Bin 3276 -> 3333 bytes
 .../FTE_mxTabNavigator_textAlign_left.png       |  Bin 3245 -> 3398 bytes
 .../FTE_mxTabNavigator_textAlign_right.png      |  Bin 3348 -> 3398 bytes
 .../FTE_mxTabNavigator_textAlign_start.png      |  Bin 3245 -> 3398 bytes
 .../FTE_mxTabNavigator_textAlign_start2.png     |  Bin 3316 -> 3380 bytes
 .../baselines/FTE_mxTitleWindow_color_red.png   |  Bin 3829 -> 3858 bytes
 .../baselines/FTE_mxTitleWindow_fontSize.png    |  Bin 4539 -> 5003 bytes
 .../FTE_mxTitleWindow_fontStyle_italic.png      |  Bin 3829 -> 3676 bytes
 .../baselines/FTE_mxTitleWindow_fontWeight.png  |  Bin 3370 -> 3547 bytes
 .../FTE_mxTitleWindow_kerning_false.png         |  Bin 3473 -> 3497 bytes
 .../FTE_mxTitleWindow_kerning_true.png          |  Bin 3473 -> 3497 bytes
 .../baselines/FTE_mxTitleWindow_leading.png     |  Bin 3436 -> 3452 bytes
 .../FTE_mxTitleWindow_letterSpacing.png         |  Bin 2086 -> 2192 bytes
 .../baselines/FTE_mxTitleWindow_status.png      |  Bin 2727 -> 2747 bytes
 .../FTE_mxTitleWindow_textAlign_center.png      |  Bin 2206 -> 2192 bytes
 .../FTE_mxTitleWindow_textAlign_end.png         |  Bin 2227 -> 2192 bytes
 .../FTE_mxTitleWindow_textAlign_end2.png        |  Bin 2204 -> 2218 bytes
 .../FTE_mxTitleWindow_textAlign_left.png        |  Bin 2204 -> 2218 bytes
 .../FTE_mxTitleWindow_textAlign_right.png       |  Bin 2227 -> 2192 bytes
 .../FTE_mxTitleWindow_textAlign_start.png       |  Bin 2204 -> 2218 bytes
 .../FTE_mxTitleWindow_textAlign_start2.png      |  Bin 2227 -> 2192 bytes
 .../baselines/FTE_mxTitleWindow_title.png       |  Bin 3783 -> 3953 bytes
 .../Integration/baselines/FTE_mxToolTip.png     |  Bin 3270 -> 3362 bytes
 .../Integration/baselines/FTE_mxVSlider.png     |  Bin 1835 -> 1811 bytes
 .../baselines/FTE_mxVSlider_color_red.png       |  Bin 1766 -> 1751 bytes
 .../baselines/FTE_mxVSlider_fontSize.png        |  Bin 2431 -> 2394 bytes
 .../FTE_mxVSlider_fontStyle_italic.png          |  Bin 2092 -> 1998 bytes
 .../baselines/FTE_mxVSlider_fontWeight.png      |  Bin 1899 -> 1892 bytes
 .../baselines/FTE_mxVSlider_kerning_false.png   |  Bin 1835 -> 1811 bytes
 .../baselines/FTE_mxVSlider_kerning_true.png    |  Bin 1835 -> 1811 bytes
 .../baselines/FTE_mxVSlider_leading.png         |  Bin 1835 -> 1811 bytes
 .../baselines/FTE_mxVSlider_letterSpacing.png   |  Bin 2013 -> 1976 bytes
 .../FTE_mxVSlider_textAlign_center.png          |  Bin 2231 -> 2213 bytes
 .../baselines/FTE_mxVSlider_textAlign_end.png   |  Bin 2218 -> 2257 bytes
 .../baselines/FTE_mxVSlider_textAlign_end2.png  |  Bin 2234 -> 2219 bytes
 .../baselines/FTE_mxVSlider_textAlign_left.png  |  Bin 2234 -> 2219 bytes
 .../baselines/FTE_mxVSlider_textAlign_right.png |  Bin 2218 -> 2257 bytes
 .../baselines/FTE_mxVSlider_textAlign_start.png |  Bin 2234 -> 2219 bytes
 .../FTE_mxVSlider_textAlign_start2.png          |  Bin 2218 -> 2257 bytes
 .../Methods/FTETextField_Methods_tester.mxml    |    8 +-
 .../FTETextField_Properties_tester.mxml         |   90 +-
 .../FTETextField_Properties_tester_00.mxml      |   12 +-
 .../Properties/baselines/autoSize_left1.png     |  Bin 2696 -> 2707 bytes
 .../Properties/baselines/autoSize_left2.png     |  Bin 2696 -> 2707 bytes
 .../Properties/baselines/autoSize_left3.png     |  Bin 2536 -> 2587 bytes
 .../Properties/baselines/autoSize_left4.png     |  Bin 2536 -> 2587 bytes
 .../Properties/baselines/autoSize_left5.png     |  Bin 2929 -> 2909 bytes
 .../Properties/baselines/autoSize_left6.png     |  Bin 2929 -> 2909 bytes
 .../Properties/baselines/autoSize_left7.png     |  Bin 2984 -> 2925 bytes
 .../Properties/baselines/autoSize_left8.png     |  Bin 2984 -> 2925 bytes
 .../backgroundColor_0xRedGreenBlue.png          |  Bin 1545 -> 1602 bytes
 .../baselines/backgroundColor_red1.png          |  Bin 2321 -> 2391 bytes
 .../baselines/backgroundColor_red2.png          |  Bin 2228 -> 2247 bytes
 .../baselines/backgroundColor_red3.png          |  Bin 1095 -> 1137 bytes
 .../baselines/backgroundColor_red4.png          |  Bin 2150 -> 2185 bytes
 .../baselines/backgroundColor_red5.png          |  Bin 2521 -> 2510 bytes
 .../baselines/backgroundColor_red6.png          |  Bin 2432 -> 2423 bytes
 .../baselines/backgroundColor_red7.png          |  Bin 1550 -> 1608 bytes
 .../baselines/backgroundColor_red8.png          |  Bin 2515 -> 2436 bytes
 .../Properties/baselines/background_false.png   |  Bin 2940 -> 2978 bytes
 .../Properties/baselines/background_true1.png   |  Bin 2940 -> 2978 bytes
 .../Properties/baselines/background_true2.png   |  Bin 2837 -> 2836 bytes
 .../Properties/baselines/background_true3.png   |  Bin 1432 -> 1488 bytes
 .../Properties/baselines/background_true4.png   |  Bin 2687 -> 2727 bytes
 .../Properties/baselines/background_true5.png   |  Bin 3159 -> 3144 bytes
 .../Properties/baselines/background_true6.png   |  Bin 3072 -> 3058 bytes
 .../Properties/baselines/background_true7.png   |  Bin 1999 -> 2071 bytes
 .../Properties/baselines/background_true8.png   |  Bin 3141 -> 3054 bytes
 .../Properties/baselines/borderColor_black1.png |  Bin 2940 -> 2978 bytes
 .../Properties/baselines/borderColor_red1.png   |  Bin 2944 -> 2979 bytes
 .../Properties/baselines/borderColor_red2.png   |  Bin 2844 -> 2839 bytes
 .../Properties/baselines/borderColor_red3.png   |  Bin 1440 -> 1500 bytes
 .../Properties/baselines/borderColor_red4.png   |  Bin 2694 -> 2733 bytes
 .../Properties/baselines/borderColor_red5.png   |  Bin 3173 -> 3151 bytes
 .../Properties/baselines/borderColor_red6.png   |  Bin 3086 -> 3065 bytes
 .../Properties/baselines/borderColor_red7.png   |  Bin 2012 -> 2076 bytes
 .../Properties/baselines/borderColor_red8.png   |  Bin 3145 -> 3057 bytes
 .../baselines/borderColor_redGreenBlue.png      |  Bin 3145 -> 3060 bytes
 .../Properties/baselines/border_false.png       |  Bin 2886 -> 2921 bytes
 .../Properties/baselines/border_true1.png       |  Bin 2940 -> 2978 bytes
 .../Properties/baselines/border_true2.png       |  Bin 2837 -> 2836 bytes
 .../Properties/baselines/border_true3.png       |  Bin 1432 -> 1488 bytes
 .../Properties/baselines/border_true4.png       |  Bin 2687 -> 2727 bytes
 .../Properties/baselines/border_true5.png       |  Bin 3159 -> 3144 bytes
 .../Properties/baselines/border_true6.png       |  Bin 3072 -> 3058 bytes
 .../Properties/baselines/border_true7.png       |  Bin 1999 -> 2071 bytes
 .../Properties/baselines/border_true8.png       |  Bin 3141 -> 3054 bytes
 .../baselines/condenseWhite_false1.png          |  Bin 2273 -> 2222 bytes
 .../baselines/condenseWhite_false2.png          |  Bin 3291 -> 3197 bytes
 .../baselines/condenseWhite_false3.png          |  Bin 1961 -> 2001 bytes
 .../baselines/condenseWhite_false4.png          |  Bin 3564 -> 3596 bytes
 .../baselines/condenseWhite_false5.png          |  Bin 2273 -> 2222 bytes
 .../baselines/condenseWhite_false6.png          |  Bin 3301 -> 3206 bytes
 .../baselines/condenseWhite_false7.png          |  Bin 1961 -> 2001 bytes
 .../baselines/condenseWhite_false8.png          |  Bin 3575 -> 3611 bytes
 .../baselines/condenseWhite_true1.png           |  Bin 2273 -> 2222 bytes
 .../baselines/condenseWhite_true2.png           |  Bin 3291 -> 3197 bytes
 .../baselines/condenseWhite_true3.png           |  Bin 1961 -> 2001 bytes
 .../baselines/condenseWhite_true5.png           |  Bin 2793 -> 2899 bytes
 .../baselines/condenseWhite_true6.png           |  Bin 2718 -> 2825 bytes
 .../baselines/condenseWhite_true7.png           |  Bin 1274 -> 1321 bytes
 .../defaultTextFormat_align_center1.png         |  Bin 2832 -> 2871 bytes
 .../defaultTextFormat_align_center1a.png        |  Bin 929 -> 914 bytes
 .../defaultTextFormat_align_center2.png         |  Bin 2746 -> 2749 bytes
 .../defaultTextFormat_align_center2a.png        |  Bin 785 -> 775 bytes
 .../defaultTextFormat_align_center3.png         |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_align_center3a.png        |  Bin 929 -> 914 bytes
 .../defaultTextFormat_align_center4.png         |  Bin 2536 -> 2587 bytes
 .../defaultTextFormat_align_center4a.png        |  Bin 762 -> 777 bytes
 .../defaultTextFormat_align_center5.png         |  Bin 3064 -> 2995 bytes
 .../defaultTextFormat_align_center6.png         |  Bin 2987 -> 2920 bytes
 .../defaultTextFormat_align_center7.png         |  Bin 2049 -> 2143 bytes
 .../defaultTextFormat_align_center8.png         |  Bin 3003 -> 2885 bytes
 .../defaultTextFormat_align_justify1.png        |  Bin 2679 -> 2778 bytes
 .../defaultTextFormat_align_justify1a.png       |  Bin 937 -> 948 bytes
 .../defaultTextFormat_align_justify2.png        |  Bin 2555 -> 2653 bytes
 .../defaultTextFormat_align_justify2a.png       |  Bin 796 -> 805 bytes
 .../defaultTextFormat_align_justify3.png        |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_align_justify3a.png       |  Bin 937 -> 948 bytes
 .../defaultTextFormat_align_justify4.png        |  Bin 2536 -> 2587 bytes
 .../defaultTextFormat_align_justify4a.png       |  Bin 762 -> 777 bytes
 .../defaultTextFormat_align_justify5.png        |  Bin 3066 -> 3049 bytes
 .../defaultTextFormat_align_justify6.png        |  Bin 2987 -> 2972 bytes
 .../defaultTextFormat_align_justify7.png        |  Bin 1870 -> 1941 bytes
 .../defaultTextFormat_align_justify8.png        |  Bin 2984 -> 2925 bytes
 .../baselines/defaultTextFormat_align_left1.png |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_align_left1a.png          |  Bin 937 -> 948 bytes
 .../baselines/defaultTextFormat_align_left2.png |  Bin 2696 -> 2707 bytes
 .../defaultTextFormat_align_left2a.png          |  Bin 796 -> 805 bytes
 .../baselines/defaultTextFormat_align_left3.png |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_align_left3a.png          |  Bin 937 -> 948 bytes
 .../baselines/defaultTextFormat_align_left4.png |  Bin 2536 -> 2587 bytes
 .../defaultTextFormat_align_left4a.png          |  Bin 762 -> 777 bytes
 .../baselines/defaultTextFormat_align_left5.png |  Bin 3004 -> 2980 bytes
 .../baselines/defaultTextFormat_align_left6.png |  Bin 2929 -> 2909 bytes
 .../baselines/defaultTextFormat_align_left7.png |  Bin 1870 -> 1941 bytes
 .../baselines/defaultTextFormat_align_left8.png |  Bin 2984 -> 2925 bytes
 .../defaultTextFormat_align_right1.png          |  Bin 2646 -> 2651 bytes
 .../defaultTextFormat_align_right1a.png         |  Bin 922 -> 954 bytes
 .../defaultTextFormat_align_right2.png          |  Bin 2563 -> 2531 bytes
 .../defaultTextFormat_align_right2a.png         |  Bin 785 -> 815 bytes
 .../defaultTextFormat_align_right3.png          |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_align_right3a.png         |  Bin 922 -> 954 bytes
 .../defaultTextFormat_align_right4.png          |  Bin 2536 -> 2587 bytes
 .../defaultTextFormat_align_right4a.png         |  Bin 762 -> 777 bytes
 .../defaultTextFormat_align_right5.png          |  Bin 3082 -> 2944 bytes
 .../defaultTextFormat_align_right6.png          |  Bin 3006 -> 2870 bytes
 .../defaultTextFormat_align_right7.png          |  Bin 2081 -> 2176 bytes
 .../defaultTextFormat_align_right8.png          |  Bin 2947 -> 2941 bytes
 .../defaultTextFormat_blockIndent20_1.png       |  Bin 839 -> 850 bytes
 .../defaultTextFormat_blockIndent20_2.png       |  Bin 1085 -> 1175 bytes
 .../defaultTextFormat_blockIndent20_3.png       |  Bin 2782 -> 2801 bytes
 .../baselines/defaultTextFormat_bold_false1.png |  Bin 2784 -> 2830 bytes
 .../baselines/defaultTextFormat_bold_false2.png |  Bin 2696 -> 2707 bytes
 .../baselines/defaultTextFormat_bold_false3.png |  Bin 1316 -> 1362 bytes
 .../baselines/defaultTextFormat_bold_false4.png |  Bin 2536 -> 2587 bytes
 .../baselines/defaultTextFormat_bold_false5.png |  Bin 3004 -> 2980 bytes
 .../baselines/defaultTextFormat_bold_false6.png |  Bin 2929 -> 2909 bytes
 .../baselines/defaultTextFormat_bold_false7.png |  Bin 1870 -> 1941 bytes
 .../baselines/defaultTextFormat_bold_false8.png |  Bin 2984 -> 2925 bytes
 .../baselines/defaultTextFormat_bold_true1.png  |  Bin 2871 -> 2895 bytes
 .../baselines/defaultTextFormat_bold_true2.png  |  Bin 2783 -> 2804 bytes
 .../baselines/defaultTextFormat_bold_true3.png  |  Bin 1263 -> 1375 bytes
 .../baselines/defaultTextFormat_bold_true4.png  |  Bin 2694 -> 2647 bytes
 .../baselines/defaultTextFormat_bold_true5.png  |  Bin 3093 -> 3057 bytes
 .../baselines/defaultTextFormat_bold_true6.png  |  Bin 3050 -> 2980 bytes
 .../baselines/defaultTextFormat_bold_true7.png  |  Bin 1852 -> 1980 bytes
 .../baselines/defaultTextFormat_bold_true8.png  |  Bin 3025 -> 2962 bytes
 .../defaultTextFormat_bullet_false1.png         |  Bin 838 -> 852 bytes
 .../defaultTextFormat_bullet_false2.png         |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_bullet_false3.png         |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_bullet_true1.png          |  Bin 838 -> 852 bytes
 .../defaultTextFormat_bullet_true2.png          |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_bullet_true3.png          |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_color_0xBlack1.png        |  Bin 838 -> 852 bytes
 .../defaultTextFormat_color_0xBlack2.png        |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_color_0xBlack3.png        |  Bin 2784 -> 2830 bytes
 .../baselines/defaultTextFormat_color_red1.png  |  Bin 2618 -> 2670 bytes
 .../baselines/defaultTextFormat_color_red2.png  |  Bin 2531 -> 2527 bytes
 .../baselines/defaultTextFormat_color_red3.png  |  Bin 1190 -> 1231 bytes
 .../baselines/defaultTextFormat_color_red4.png  |  Bin 2372 -> 2398 bytes
 .../baselines/defaultTextFormat_color_red5.png  |  Bin 2830 -> 2789 bytes
 .../baselines/defaultTextFormat_color_red6.png  |  Bin 2739 -> 2713 bytes
 .../baselines/defaultTextFormat_color_red7.png  |  Bin 1702 -> 1776 bytes
 .../baselines/defaultTextFormat_color_red8.png  |  Bin 2792 -> 2725 bytes
 .../baselines/defaultTextFormat_indent_20_1.png |  Bin 839 -> 850 bytes
 .../baselines/defaultTextFormat_indent_20_2.png |  Bin 1085 -> 1175 bytes
 .../baselines/defaultTextFormat_indent_20_3.png |  Bin 2781 -> 2841 bytes
 .../defaultTextFormat_indent_neg20_1.png        |  Bin 838 -> 852 bytes
 .../defaultTextFormat_indent_neg20_2.png        |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_indent_neg20_3.png        |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_italic_false1.png         |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_italic_false2.png         |  Bin 2696 -> 2707 bytes
 .../defaultTextFormat_italic_false3.png         |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_italic_false4.png         |  Bin 2536 -> 2587 bytes
 .../defaultTextFormat_italic_false5.png         |  Bin 3004 -> 2980 bytes
 .../defaultTextFormat_italic_false6.png         |  Bin 2929 -> 2909 bytes
 .../defaultTextFormat_italic_false7.png         |  Bin 1870 -> 1941 bytes
 .../defaultTextFormat_italic_false8.png         |  Bin 2984 -> 2925 bytes
 .../defaultTextFormat_italic_true1.png          |  Bin 3305 -> 3132 bytes
 .../defaultTextFormat_italic_true1a.png         |  Bin 946 -> 952 bytes
 .../defaultTextFormat_italic_true2.png          |  Bin 3216 -> 3007 bytes
 .../defaultTextFormat_italic_true3.png          |  Bin 1596 -> 1666 bytes
 .../defaultTextFormat_italic_true4.png          |  Bin 2920 -> 2798 bytes
 .../defaultTextFormat_italic_true5.png          |  Bin 3431 -> 3255 bytes
 .../defaultTextFormat_italic_true6.png          |  Bin 3349 -> 3176 bytes
 .../defaultTextFormat_italic_true7.png          |  Bin 2199 -> 2299 bytes
 .../defaultTextFormat_italic_true8.png          |  Bin 3291 -> 3160 bytes
 .../baselines/defaultTextFormat_kerning_0_1.png |  Bin 838 -> 852 bytes
 .../baselines/defaultTextFormat_kerning_0_2.png |  Bin 1316 -> 1362 bytes
 .../baselines/defaultTextFormat_kerning_0_3.png |  Bin 2784 -> 2830 bytes
 .../baselines/defaultTextFormat_kerning_1_1.png |  Bin 838 -> 852 bytes
 .../baselines/defaultTextFormat_kerning_1_2.png |  Bin 1316 -> 1362 bytes
 .../baselines/defaultTextFormat_kerning_1_3.png |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_kerning_false1.png        |  Bin 838 -> 852 bytes
 .../defaultTextFormat_kerning_false2.png        |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_kerning_false3.png        |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_kerning_true1.png         |  Bin 838 -> 852 bytes
 .../defaultTextFormat_kerning_true2.png         |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_kerning_true3.png         |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_leading_10_1.png          |  Bin 838 -> 852 bytes
 .../defaultTextFormat_leading_10_2.png          |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_leading_10_3.png          |  Bin 2816 -> 2855 bytes
 .../defaultTextFormat_leading_neg10_1.png       |  Bin 838 -> 852 bytes
 .../defaultTextFormat_leading_neg10_2.png       |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_leading_neg10_3.png       |  Bin 2503 -> 2516 bytes
 .../defaultTextFormat_leftMargin_10_1.png       |  Bin 840 -> 850 bytes
 .../defaultTextFormat_leftMargin_10_2.png       |  Bin 1221 -> 1301 bytes
 .../defaultTextFormat_leftMargin_10_3.png       |  Bin 2819 -> 2784 bytes
 .../defaultTextFormat_letterSpacing_10_1.png    |  Bin 868 -> 885 bytes
 .../defaultTextFormat_letterSpacing_10_2.png    |  Bin 716 -> 718 bytes
 .../defaultTextFormat_letterSpacing_10_3.png    |  Bin 2419 -> 2393 bytes
 .../defaultTextFormat_letterSpacing_neg5_1.png  |  Bin 548 -> 547 bytes
 .../defaultTextFormat_letterSpacing_neg5_2.png  |  Bin 1167 -> 927 bytes
 .../defaultTextFormat_letterSpacing_neg5_3.png  |  Bin 1167 -> 927 bytes
 .../defaultTextFormat_rightMargin_10_1.png      |  Bin 838 -> 852 bytes
 .../defaultTextFormat_rightMargin_10_2.png      |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_rightMargin_10_3.png      |  Bin 2666 -> 2774 bytes
 .../baselines/defaultTextFormat_size_16_1.png   |  Bin 1032 -> 1029 bytes
 .../baselines/defaultTextFormat_size_16_2.png   |  Bin 1270 -> 1393 bytes
 .../baselines/defaultTextFormat_size_16_3.png   |  Bin 3552 -> 3699 bytes
 .../baselines/defaultTextFormat_target_1.png    |  Bin 838 -> 852 bytes
 .../baselines/defaultTextFormat_target_2.png    |  Bin 1316 -> 1362 bytes
 .../baselines/defaultTextFormat_target_3.png    |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_underline_false1.png      |  Bin 838 -> 852 bytes
 .../defaultTextFormat_underline_false2.png      |  Bin 1316 -> 1362 bytes
 .../defaultTextFormat_underline_false3.png      |  Bin 2784 -> 2830 bytes
 .../defaultTextFormat_underline_true1.png       |  Bin 838 -> 848 bytes
 .../defaultTextFormat_underline_true2.png       |  Bin 1322 -> 1369 bytes
 .../defaultTextFormat_underline_true3.png       |  Bin 2776 -> 2806 bytes
 .../baselines/defaultTextFormat_url_1.png       |  Bin 838 -> 852 bytes
 .../baselines/defaultTextFormat_url_2.png       |  Bin 1316 -> 1362 bytes
 .../baselines/defaultTextFormat_url_3.png       |  Bin 2784 -> 2830 bytes
 .../Properties/baselines/direction_ltr.png      |  Bin 2083 -> 2128 bytes
 .../Properties/baselines/direction_rtl.png      |  Bin 2093 -> 2126 bytes
 .../Properties/baselines/htmlText_setter_a.png  |  Bin 2671 -> 2743 bytes
 .../Properties/baselines/htmlText_setter_b.png  |  Bin 2559 -> 2597 bytes
 .../Properties/baselines/htmlText_setter_br.png |  Bin 2636 -> 2601 bytes
 .../baselines/htmlText_setter_font.png          |  Bin 2646 -> 2717 bytes
 .../baselines/htmlText_setter_font2.png         |  Bin 2687 -> 2716 bytes
 .../Properties/baselines/htmlText_setter_i.png  |  Bin 2605 -> 2712 bytes
 .../Properties/baselines/htmlText_setter_p.png  |  Bin 2757 -> 2687 bytes
 .../Properties/baselines/htmlText_setter_p2.png |  Bin 1670 -> 1810 bytes
 .../Properties/baselines/htmlText_setter_p3.png |  Bin 3057 -> 4212 bytes
 .../Properties/baselines/htmlText_setter_p4.png |  Bin 3784 -> 4065 bytes
 .../baselines/htmlText_setter_span.png          |  Bin 2545 -> 2596 bytes
 .../htmlText_setter_textformat_indent.png       |  Bin 2547 -> 2599 bytes
 .../htmlText_setter_textformat_leftmargin.png   |  Bin 2554 -> 2610 bytes
 .../htmlText_setter_textformat_rightmargin.png  |  Bin 2552 -> 2610 bytes
 .../htmlText_setter_textformat_tabstops.png     |  Bin 1001 -> 961 bytes
 .../htmlText_setter_textformat_tabstops2.png    |  Bin 1145 -> 1099 bytes
 .../htmlText_setter_textformat_tabstops3.png    |  Bin 1145 -> 1099 bytes
 .../Properties/baselines/htmlText_setter_u.png  |  Bin 2554 -> 2604 bytes
 .../baselines/numLines_getter_htmlText.png      |  Bin 1870 -> 1941 bytes
 .../numLines_getter_htmlText_wordWrap.png       |  Bin 3004 -> 2980 bytes
 .../numLines_getter_htmlText_wordWrap3.png      |  Bin 1482 -> 1378 bytes
 .../numLines_getter_htmlText_wordWrap4.png      |  Bin 3050 -> 3028 bytes
 .../baselines/numLines_getter_text.png          |  Bin 1316 -> 1362 bytes
 .../baselines/numLines_getter_text_wordWrap.png |  Bin 2784 -> 2830 bytes
 .../baselines/styleSheet_general@mac.png        |  Bin 9111 -> 0 bytes
 .../baselines/styleSheet_para@mac.png           |  Bin 9065 -> 0 bytes
 .../baselines/styleSheet_span@mac.png           |  Bin 9035 -> 0 bytes
 .../baselines/textColor_0xRedGreenBlue.png      |  Bin 2618 -> 2674 bytes
 .../Properties/baselines/textColor_red1.png     |  Bin 994 -> 954 bytes
 .../Properties/baselines/textWidth1.png         |  Bin 2784 -> 2830 bytes
 .../Properties/baselines/textWidth2.png         |  Bin 2696 -> 2707 bytes
 .../Properties/baselines/textWidth3.png         |  Bin 1316 -> 1362 bytes
 .../Properties/baselines/textWidth4.png         |  Bin 2536 -> 2587 bytes
 .../Properties/baselines/textWidth5.png         |  Bin 3004 -> 2980 bytes
 .../Properties/baselines/textWidth5@mac.png     |  Bin 3004 -> 0 bytes
 .../Properties/baselines/textWidth6.png         |  Bin 2929 -> 2909 bytes
 .../Properties/baselines/textWidth6@mac.png     |  Bin 2929 -> 0 bytes
 .../Properties/baselines/textWidth7.png         |  Bin 1870 -> 1941 bytes
 .../Properties/baselines/textWidth7@mac.png     |  Bin 1870 -> 0 bytes
 .../Properties/baselines/textWidth8.png         |  Bin 2984 -> 2925 bytes
 .../baselines/textWidth_incremental.png         |  Bin 2128 -> 2167 bytes
 .../FTETextField/SWFs/FTETextField_main.mxml    |    2 +-
 .../SWFs/FTETextField_regression_00.mxml        |    2 +-
 .../Grid/Methods/Grid_Methods_basic.mxml        |   30 +-
 .../Baselines/Grid_Properties_addColumn1.png    |  Bin 21805 -> 19495 bytes
 .../Baselines/Grid_Properties_addColumn3_1.png  |  Bin 21652 -> 19326 bytes
 .../Baselines/Grid_Properties_addColumn3_2.png  |  Bin 31314 -> 27031 bytes
 .../Baselines/Grid_Properties_dataChange1.png   |  Bin 9465 -> 9489 bytes
 .../Baselines/Grid_Properties_removeColumn1.png |  Bin 14432 -> 12574 bytes
 .../Grid_Properties_removeColumn3_1.png         |  Bin 23440 -> 20359 bytes
 .../Grid_Properties_removeColumn3_2.png         |  Bin 15165 -> 13874 bytes
 .../Grid_Properties_reqRowCol_default.png       |  Bin 2215 -> 2087 bytes
 ..._Properties_typicalItem_changedAtRuntime.png |  Bin 22901 -> 20834 bytes
 ...ies_typicalItem_changedAtRuntimeExpWidth.png |  Bin 15794 -> 13657 bytes
 .../Grid_Properties_typicalItem_default.png     |  Bin 23333 -> 21797 bytes
 .../Grid/Properties/Grid_Properties_basic.mxml  |   56 +-
 .../Grid/Styles/Baselines/Grid_Styles_color.png |  Bin 12765 -> 12632 bytes
 .../Styles/Baselines/Grid_Styles_fontSize.png   |  Bin 15268 -> 14102 bytes
 .../Styles/Baselines/Grid_Styles_fontStyle.png  |  Bin 15071 -> 14411 bytes
 .../Styles/Baselines/Grid_Styles_fontWeight.png |  Bin 15071 -> 13142 bytes
 .../components/Image/events/Image_events.mxml   |   28 +-
 .../properties/Image_properties_fillMode.mxml   |   34 +-
 .../Image/properties/Image_properties_load.mxml |   50 +-
 ...Scale_clip_align_top_center_percentWidth.png |  Bin 6441 -> 1257 bytes
 .../BimapImage_Scale_clip_bottom_right.png      |  Bin 4101 -> 1549 bytes
 ...ge_Scale_clip_bottom_right_percentHeight.png |  Bin 235 -> 1075 bytes
 ...BimapImage_Scale_clip_bottom_right_width.png |  Bin 15235 -> 1939 bytes
 .../BimapImage_Scale_letterbox_repeat.png       |  Bin 29637 -> 3544 bytes
 ...mage_bottom_right_clip_percentSize_local.png |  Bin 103 -> 584 bytes
 .../baselines/BimapImage_repeat_local.png       |  Bin 916 -> 2196 bytes
 .../baselines/BimapImage_repeat_trusted.png     |  Bin 14194 -> 2224 bytes
 ...eScale_stretch_bottom_left_percentHeight.png |  Bin 261 -> 1209 bytes
 ...Image_FillModeScale_stretch_bottom_right.png |  Bin 1208 -> 2654 bytes
 .../Image_Load_disable_twice_resize.png         |  Bin 87 -> 1083 bytes
 .../Image_Load_trusted_twice_resize.png         |  Bin 89 -> 1268 bytes
 .../Image_Load_valid_noInvalidSkinPart.png      |  Bin 14197 -> 1319 bytes
 .../baselines/Image_ScaleGrid_Stretch.png       |  Bin 2050 -> 2013 bytes
 .../Image_Scale_clip_align_bottom_right.png     |  Bin 1000 -> 172 bytes
 ...Scale_clip_align_top_center_percentWidth.png |  Bin 6441 -> 563 bytes
 .../baselines/Image_Scale_clip_bottom_right.png |  Bin 4101 -> 608 bytes
 ...ge_Scale_clip_bottom_right_percentHeight.png |  Bin 235 -> 282 bytes
 .../Image_Scale_clip_bottom_right_width.png     |  Bin 15235 -> 1248 bytes
 .../baselines/Image_Scale_letterbox_repeat.png  |  Bin 29637 -> 1932 bytes
 .../Image_Scale_stretch_bottom_right.png        |  Bin 228 -> 1209 bytes
 ...Scale_stretch_bottom_right_percentHeight.png |  Bin 261 -> 1209 bytes
 ...mage_bottom_right_clip_percentSize_local.png |  Bin 103 -> 98 bytes
 .../Image/properties/baselines/Image_clip.png   |  Bin 697 -> 102 bytes
 .../properties/baselines/Image_repeat_local.png |  Bin 916 -> 1128 bytes
 .../baselines/Image_repeat_percentHeight.png    |  Bin 2922 -> 1762 bytes
 .../baselines/Image_repeat_trusted.png          |  Bin 14194 -> 1352 bytes
 .../styles/Image_styles_smoothingQuality.mxml   |    6 +-
 .../Image_Scale_stretch_smooth_false .png       |  Bin 2833 -> 0 bytes
 .../Image_Scale_stretch_smooth_false.png        |  Bin 0 -> 2833 bytes
 .../Image_Scale_stretch_smoothingQuality .png   |  Bin 10308 -> 0 bytes
 .../Image_Scale_stretch_smoothingQuality.png    |  Bin 0 -> 10308 bytes
 ...age_Scale_stretch_smoothingQuality_high .png |  Bin 10653 -> 0 bytes
 ...mage_Scale_stretch_smoothingQuality_high.png |  Bin 0 -> 10653 bytes
 .../gumbo/components/Image/swfs/ImageMain.mxml  |    6 +-
 .../Image/swfs/comps/EventsTesterComp.mxml      |    6 +-
 .../Integration/Label_Integration_tester3.mxml  |   12 +-
 .../RichText_Integration_tester3.mxml           |   12 +-
 .../baselines/Label_blendMode_onGroup_color.png |  Bin 2388 -> 2726 bytes
 .../Label_blendMode_onGroup_colorburn.png       |  Bin 1641 -> 2220 bytes
 .../Label_blendMode_onGroup_colordodge.png      |  Bin 1301 -> 1394 bytes
 .../Label_blendMode_onGroup_exclusion.png       |  Bin 2352 -> 2608 bytes
 .../Label_blendMode_onGroup_luminosity.png      |  Bin 2112 -> 2561 bytes
 .../Label_blendMode_onGroup_saturation.png      |  Bin 1935 -> 2541 bytes
 .../Label_blendMode_onGroup_softlight.png       |  Bin 1567 -> 2077 bytes
 .../Label_blendMode_onLabel_exclusion.png       |  Bin 2346 -> 2600 bytes
 .../Label_blendMode_onLabel_luminosity.png      |  Bin 2102 -> 2551 bytes
 .../Label_blendMode_onLabel_saturation.png      |  Bin 1929 -> 2532 bytes
 .../change_label_in_ControlBar_test1.png        |  Bin 2692 -> 2535 bytes
 .../baselines/change_label_in_Form_test1.png    |  Bin 3576 -> 3364 bytes
 .../baselines/change_label_in_HBox_test1.png    |  Bin 2295 -> 2788 bytes
 .../baselines/change_label_in_Panel_test1.png   |  Bin 4520 -> 4340 bytes
 .../baselines/change_label_in_mxApp_test1.png   |  Bin 1895 -> 2011 bytes
 .../change_richText_in_ControlBar_test1.png     |  Bin 2695 -> 2540 bytes
 .../baselines/change_richText_in_Form_test1.png |  Bin 3674 -> 3614 bytes
 .../baselines/change_richText_in_HBox_test1.png |  Bin 2568 -> 3188 bytes
 .../change_richText_in_Panel_test1.png          |  Bin 4520 -> 4340 bytes
 .../change_richText_in_mxApp_test1.png          |  Bin 2099 -> 2208 bytes
 .../create_label_in_ControlBar_test1.png        |  Bin 2407 -> 2366 bytes
 .../baselines/create_label_in_Form_test1.png    |  Bin 3228 -> 4333 bytes
 .../baselines/create_label_in_HBox_test1.png    |  Bin 1921 -> 3703 bytes
 .../baselines/create_label_in_Panel_test1.png   |  Bin 4694 -> 5018 bytes
 .../baselines/create_label_in_Popup_test3.png   |  Bin 4439 -> 4453 bytes
 .../create_richText_in_ControlBar_test1.png     |  Bin 2408 -> 2366 bytes
 .../baselines/create_richText_in_Form_test1.png |  Bin 3400 -> 4631 bytes
 .../baselines/create_richText_in_HBox_test1.png |  Bin 2222 -> 4175 bytes
 .../create_richText_in_Panel_test1.png          |  Bin 4694 -> 5100 bytes
 .../create_richText_in_Popup_test3.png          |  Bin 4451 -> 4442 bytes
 .../baselines/label_in_ControlBar_test1.png     |  Bin 2407 -> 2314 bytes
 .../baselines/label_in_Form_test1.png           |  Bin 3228 -> 3102 bytes
 .../baselines/label_in_Form_test2.png           |  Bin 2667 -> 2831 bytes
 .../baselines/label_in_HBox_test1.png           |  Bin 1921 -> 2411 bytes
 .../baselines/label_in_Panel_test1.png          |  Bin 4694 -> 4057 bytes
 .../baselines/label_in_Panel_test2.png          |  Bin 3696 -> 3657 bytes
 .../baselines/label_in_Panel_test3.png          |  Bin 4039 -> 3997 bytes
 .../baselines/label_in_mxApp_test1.png          |  Bin 1630 -> 1878 bytes
 .../baselines/label_module_test1.png            |  Bin 18072 -> 16105 bytes
 .../baselines/richText_in_ControlBar_test1.png  |  Bin 2408 -> 2295 bytes
 .../baselines/richText_in_Form_test1.png        |  Bin 3400 -> 3327 bytes
 .../baselines/richText_in_HBox_test1.png        |  Bin 2222 -> 2765 bytes
 .../baselines/richText_in_Panel_test1.png       |  Bin 4693 -> 4057 bytes
 .../baselines/richText_in_mxApp_test1.png       |  Bin 1759 -> 1966 bytes
 .../baselines/set_label_in_Popup_test1.png      |  Bin 3490 -> 3518 bytes
 .../baselines/set_richText_in_Popup_test1.png   |  Bin 3504 -> 3503 bytes
 .../baselines/update_label_in_Popup_test2.png   |  Bin 4550 -> 4456 bytes
 .../update_richText_in_Popup_test2.png          |  Bin 4679 -> 4503 bytes
 .../Properties/Label_Properties_tester1.mxml    |    8 +-
 .../Label_RichText_baselinePosition.mxml        |   68 +-
 .../Properties/Label_properties_tester2.mxml    |    4 +-
 .../baselines/Label_layoutDirection_RTL.png     |  Bin 2657 -> 2693 bytes
 .../Properties/baselines/Label_multiLine.png    |  Bin 2193 -> 2314 bytes
 .../baselines/Label_multiLine_truncation-1.png  |  Bin 2079 -> 1180 bytes
 ...Label_multiLine_truncation-1_defaultSize.png |  Bin 2719 -> 2314 bytes
 .../baselines/Label_multiLine_truncation1.png   |  Bin 1222 -> 1180 bytes
 .../Label_multiLine_truncation1_defaultSize.png |  Bin 1146 -> 1138 bytes
 .../baselines/Label_multiLine_truncation2.png   |  Bin 2079 -> 1180 bytes
 .../Label_multiLine_truncation2_defaultSize.png |  Bin 2045 -> 1792 bytes
 .../Label_multiLine_truncation_default.png      |  Bin 2778 -> 2359 bytes
 ...multiLine_truncation_default_defaultSize.png |  Bin 2719 -> 2314 bytes
 .../Properties/baselines/Label_singleLine.png   |  Bin 2117 -> 2332 bytes
 .../baselines/Label_singleLine_truncation-1.png |  Bin 2255 -> 1180 bytes
 ...abel_singleLine_truncation-1_defaultSize.png |  Bin 2511 -> 2332 bytes
 .../baselines/Label_singleLine_truncation1.png  |  Bin 1308 -> 1180 bytes
 ...Label_singleLine_truncation1_defaultSize.png |  Bin 2511 -> 2332 bytes
 .../baselines/Label_singleLine_truncation2.png  |  Bin 2255 -> 1180 bytes
 ...Label_singleLine_truncation2_defaultSize.png |  Bin 2511 -> 2332 bytes
 .../Label_singleLine_truncation_default.png     |  Bin 2263 -> 1844 bytes
 ...ingleLine_truncation_default_defaultSize.png |  Bin 2511 -> 2332 bytes
 .../baselines/Label_styleName_bigRed_post.png   |  Bin 4297 -> 4322 bytes
 .../baselines/Label_styleName_bigRed_pre.png    |  Bin 4297 -> 4322 bytes
 .../baselines/baseline2_property_Label.png      |  Bin 446 -> 1097 bytes
 .../baselinePosition_property_label_test3.png   |  Bin 3428 -> 3536 bytes
 .../baselinePosition_property_label_test4.png   |  Bin 1971 -> 1902 bytes
 .../baselinePosition_property_label_test5.png   |  Bin 1971 -> 1902 bytes
 .../baselinePosition_property_label_test6.png   |  Bin 1971 -> 1902 bytes
 .../baselines/baseline_property_Label.png       |  Bin 1561 -> 1660 bytes
 .../baselines/bottom_25_property_Label.png      |  Bin 1561 -> 1660 bytes
 .../baselines/composition_label_test1.png       |  Bin 3675 -> 3514 bytes
 .../baselines/composition_label_test2.png       |  Bin 3246 -> 3102 bytes
 .../baselines/composition_label_test3.png       |  Bin 3686 -> 3273 bytes
 .../baselines/composition_label_test4.png       |  Bin 3152 -> 3048 bytes
 .../baselines/composition_label_test5.png       |  Bin 2772 -> 2657 bytes
 .../baselines/composition_label_test6.png       |  Bin 2826 -> 2913 bytes
 .../baselines/composition_label_test7.png       |  Bin 3424 -> 3325 bytes
 .../baselines/height_18_property_Label.png      |  Bin 1917 -> 1273 bytes
 .../baselines/height_26_property_Label.png      |  Bin 2224 -> 2351 bytes
 .../baselines/height_30_property_Label.png      |  Bin 2218 -> 2470 bytes
 .../baselines/height_50_property_Label.png      |  Bin 2277 -> 2549 bytes
 .../horizontalCenter_property_Label.png         |  Bin 1553 -> 1667 bytes
 .../baselines/left_50_property_Label.png        |  Bin 1551 -> 1667 bytes
 .../baselines/maxHeight_10_property_Label.png   |  Bin 462 -> 305 bytes
 .../maxHeight_26point5_property_Label.png       |  Bin 469 -> 489 bytes
 .../baselines/maxHeight_50_property_Label.png   |  Bin 469 -> 489 bytes
 .../baselines/maxWidth_15_property_Label.png    |  Bin 1217 -> 1257 bytes
 .../baselines/maxWidth_24_property_Label.png    |  Bin 1206 -> 1277 bytes
 .../maxWidth_26point5_property_Label.png        |  Bin 1206 -> 1267 bytes
 .../baselines/minHeight_25_property_Label.png   |  Bin 484 -> 496 bytes
 .../minHeight_26point5_property_Label.png       |  Bin 486 -> 498 bytes
 .../baselines/minHeight_50_property_Label.png   |  Bin 501 -> 516 bytes
 .../baselines/minWidth_100_property_Label.png   |  Bin 506 -> 529 bytes
 .../minWidth_26point5_property_Label.png        |  Bin 469 -> 489 bytes
 .../baselines/minWidth_50_property_Label.png    |  Bin 482 -> 500 bytes
 .../percentHeight_100_property_Label.png        |  Bin 555 -> 572 bytes
 .../percentHeight_26point5_property_Label.png   |  Bin 494 -> 508 bytes
 .../percentHeight_60_property_Label.png         |  Bin 526 -> 539 bytes
 .../percentWidth_100_property_Label.png         |  Bin 549 -> 576 bytes
 .../percentWidth_26point5_property_Label.png    |  Bin 486 -> 512 bytes
 .../percentWidth_50_property_Label.png          |  Bin 515 -> 542 bytes
 .../baselines/position_constraints_Label.png    |  Bin 1562 -> 1664 bytes
 .../baselines/right_50_property_Label.png       |  Bin 1553 -> 1660 bytes
 .../baselines/scaleX_2_property_Label.png       |  Bin 674 -> 709 bytes
 .../baselines/scaleX_3_property_Label.png       |  Bin 804 -> 871 bytes
 .../scaleX_point565_property_Label.png          |  Bin 392 -> 338 bytes
 .../baselines/scaleY_2_property_Label.png       |  Bin 672 -> 739 bytes
 .../baselines/scaleY_3_property_Label.png       |  Bin 831 -> 997 bytes
 .../scaleY_point565_property_Label.png          |  Bin 399 -> 389 bytes
 .../baselines/sizedlabel_updatetext_test1.png   |  Bin 1115 -> 1363 bytes
 .../baselines/sizedlabel_updatetext_test2.png   |  Bin 2918 -> 2781 bytes
 .../text_ellipsis_long_property_Label.png       |  Bin 3997 -> 3918 bytes
 .../baselines/text_long_property_Label.png      |  Bin 3637 -> 3162 bytes
 .../baselines/text_property_Label.png           |  Bin 722 -> 747 bytes
 .../baselines/top_25_property_Label.png         |  Bin 1562 -> 1660 bytes
 .../baselines/verticalCenter_property_Label.png |  Bin 1562 -> 1661 bytes
 .../visible_default_property_of_Label.png       |  Bin 661 -> 727 bytes
 .../visible_false_property_of_Label.png         |  Bin 89 -> 96 bytes
 .../visible_true_property_of_Label.png          |  Bin 661 -> 727 bytes
 .../baselines/width_100_property_Label.png      |  Bin 2415 -> 2665 bytes
 .../baselines/width_26_property_Label.png       |  Bin 1876 -> 2126 bytes
 .../baselines/width_35_property_Label.png       |  Bin 2255 -> 2284 bytes
 .../baselines/width_50_property_Label.png       |  Bin 2308 -> 2512 bytes
 .../baselines/x_100_property_Label.png          |  Bin 920 -> 925 bytes
 .../baselines/x_50_property_Label.png           |  Bin 919 -> 921 bytes
 .../baselines/x_neg5point6_property_Label.png   |  Bin 882 -> 863 bytes
 .../baselines/y_50_property_Label.png           |  Bin 919 -> 918 bytes
 .../baselines/y_56_property_Label.png           |  Bin 918 -> 918 bytes
 .../baselines/y_neg5point6_property_Label.png   |  Bin 718 -> 885 bytes
 .../Label/Properties/data/ListDataAS.as         |    4 +-
 .../components/Label/Properties/data/MyLabel.as |    4 +-
 .../Label/Styles/Label_Styles_tester2.mxml      |   12 +-
 ..._Label_RichText_alignmentBaseline_ascent.png |  Bin 2888 -> 2511 bytes
 ...Label_RichText_alignmentBaseline_default.png |  Bin 2891 -> 2509 bytes
 ...Label_RichText_alignmentBaseline_descent.png |  Bin 2890 -> 2511 bytes
 ...Text_alignmentBaseline_ideographicBottom.png |  Bin 2890 -> 2511 bytes
 ...Text_alignmentBaseline_ideographicCenter.png |  Bin 2888 -> 2511 bytes
 ...ichText_alignmentBaseline_ideographicTop.png |  Bin 2888 -> 2511 bytes
 ...e_Label_RichText_alignmentBaseline_roman.png |  Bin 2891 -> 2509 bytes
 ..._Label_RichText_breakOpportunity_default.png |  Bin 2891 -> 2509 bytes
 ...ompare_Label_RichText_cffHinting_default.png |  Bin 2891 -> 2509 bytes
 .../Compare_Label_RichText_color_default.png    |  Bin 2891 -> 2509 bytes
 ...Compare_Label_RichText_digitCase_default.png |  Bin 4885 -> 4309 bytes
 ...ompare_Label_RichText_digitWidth_default.png |  Bin 4885 -> 4309 bytes
 ...Compare_Label_RichText_direction_default.png |  Bin 2891 -> 2509 bytes
 .../Compare_Label_RichText_direction_rtl.png    |  Bin 2868 -> 2649 bytes
 ...e_Label_RichText_dominantBaseline_ascent.png |  Bin 2891 -> 2509 bytes
 ..._Label_RichText_dominantBaseline_default.png |  Bin 2891 -> 2509 bytes
 ...RichText_dominantBaseline_ideographicTop.png |  Bin 2891 -> 2509 bytes
 ...ompare_Label_RichText_fontFamily_default.png |  Bin 2891 -> 2509 bytes
 ...ompare_Label_RichText_fontLookup_default.png |  Bin 2891 -> 2509 bytes
 .../Compare_Label_RichText_fontSize_default.png |  Bin 2891 -> 2509 bytes
 ...ompare_Label_RichText_fontStyle_italic_1.png |  Bin 2891 -> 2888 bytes
 ...bel_RichText_justificationRule_eastAsian.png |  Bin 2891 -> 2509 bytes
 ...chText_justificationStyle_pushInKinsoku1.png |  Bin 2891 -> 2509 bytes
 .../Compare_Label_RichText_kerning_auto.png     |  Bin 1829 -> 2461 bytes
 .../Compare_Label_RichText_kerning_default.png  |  Bin 1829 -> 2461 bytes
 .../Compare_Label_RichText_kerning_off.png      |  Bin 1829 -> 2461 bytes
 ...are_Label_RichText_ligatureLevel_default.png |  Bin 1735 -> 1976 bytes
 ...Compare_Label_RichText_lineBreak_default.png |  Bin 2805 -> 2581 bytes
 ...ompare_Label_RichText_lineBreak_explicit.png |  Bin 2805 -> 2581 bytes
 .../Compare_Label_RichText_lineHeight_40.png    |  Bin 2958 -> 2715 bytes
 ...ompare_Label_RichText_lineHeight_default.png |  Bin 2860 -> 2611 bytes
 .../Compare_Label_RichText_paddingBottom_20.png |  Bin 3133 -> 2627 bytes
 ...mpare_Label_RichText_paddingLeft_default.png |  Bin 2860 -> 2611 bytes
 .../Compare_Label_RichText_paddingRight_20.png  |  Bin 3114 -> 2803 bytes
 .../Compare_Label_RichText_paddingTop_70.png    |  Bin 2615 -> 2176 bytes
 ...pare_Label_RichText_verticalAlign_bottom.png |  Bin 3955 -> 3386 bytes
 ...are_Label_RichText_verticalAlign_justify.png |  Bin 4017 -> 3424 bytes
 .../Label_DescendantClassSelector_halo.png      |  Bin 1919 -> 1595 bytes
 .../Label_DescendantClassSelector_spark.png     |  Bin 4686 -> 4820 bytes
 .../baselines/Label_DescendantSelector.png      |  Bin 2217 -> 2555 bytes
 .../Label/Styles/baselines/Label_IDSelector.png |  Bin 2603 -> 3323 bytes
 .../Styles/baselines/Label_TypeIDSelector.png   |  Bin 3795 -> 4626 bytes
 .../Label_alignmentBaseline_ascent.png          |  Bin 2888 -> 2511 bytes
 .../Label_alignmentBaseline_default.png         |  Bin 2891 -> 2509 bytes
 .../Label_alignmentBaseline_descent.png         |  Bin 2890 -> 2511 bytes
 ...abel_alignmentBaseline_ideographicBottom.png |  Bin 2890 -> 2511 bytes
 ...abel_alignmentBaseline_ideographicCenter.png |  Bin 2888 -> 2511 bytes
 .../Label_alignmentBaseline_ideographicTop.png  |  Bin 2888 -> 2511 bytes
 .../baselines/Label_alignmentBaseline_roman.png |  Bin 2891 -> 2509 bytes
 ...el_alignmentBaseline_useDominantBaseline.png |  Bin 2891 -> 2509 bytes
 .../baselines/Label_baselineShift_default.png   |  Bin 2891 -> 2509 bytes
 .../baselines/Label_baselineShift_neg10.png     |  Bin 2889 -> 2509 bytes
 .../baselines/Label_baselineShift_pos10.png     |  Bin 2891 -> 2509 bytes
 .../baselines/Label_baselineShift_subscript.png |  Bin 1556 -> 1659 bytes
 .../Label_baselineShift_subscript@mac.png       |  Bin 1904 -> 1663 bytes
 .../Label_baselineShift_superscript.png         |  Bin 1555 -> 1660 bytes
 .../Label_baselineShift_superscript@mac.png     |  Bin 1904 -> 1665 bytes
 .../baselines/Label_cffHinting_default.png      |  Bin 2891 -> 2509 bytes
 .../Label_cffHinting_horizontalStem.png         |  Bin 2891 -> 2509 bytes
 .../baselines/Label_cffHinting_none@mac.png     |  Bin 2891 -> 3090 bytes
 .../Styles/baselines/Label_color_default.png    |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_color_pound.png      |  Bin 3012 -> 2663 bytes
 .../Label/Styles/baselines/Label_color_red.png  |  Bin 3022 -> 2696 bytes
 .../baselines/Label_digitCase_default.png       |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitCase_default2.png      |  Bin 4885 -> 4309 bytes
 .../Styles/baselines/Label_digitCase_lining.png |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitCase_oldStyle.png      |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitWidth_default.png      |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitWidth_default2.png     |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitWidth_proportional.png |  Bin 4885 -> 4309 bytes
 .../baselines/Label_digitWidth_tabular.png      |  Bin 4885 -> 4309 bytes
 .../baselines/Label_direction_default.png       |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_direction_ltr.png    |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_direction_rtl.png    |  Bin 2868 -> 2649 bytes
 .../baselines/Label_dominantBaseline_ascent.png |  Bin 2891 -> 2509 bytes
 .../Label_dominantBaseline_default.png          |  Bin 2891 -> 2509 bytes
 .../Label_dominantBaseline_descent.png          |  Bin 2891 -> 2509 bytes
 ...Label_dominantBaseline_ideographicBottom.png |  Bin 2891 -> 2509 bytes
 ...Label_dominantBaseline_ideographicCenter.png |  Bin 2891 -> 2509 bytes
 .../Label_dominantBaseline_ideographicTop.png   |  Bin 2891 -> 2509 bytes
 .../baselines/Label_dominantBaseline_roman.png  |  Bin 2891 -> 2509 bytes
 .../baselines/Label_fontFamily_default.png      |  Bin 2891 -> 2509 bytes
 .../baselines/Label_fontLookup_default.png      |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_fontSize_10.png      |  Bin 2387 -> 2165 bytes
 .../Styles/baselines/Label_fontSize_20.png      |  Bin 4832 -> 4613 bytes
 .../Styles/baselines/Label_fontSize_decimal.png |  Bin 5796 -> 6031 bytes
 .../Styles/baselines/Label_fontSize_default.png |  Bin 2891 -> 2509 bytes
 .../baselines/Label_fontStyle_default.png       |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_fontStyle_italic.png |  Bin 2891 -> 2888 bytes
 .../Styles/baselines/Label_fontStyle_normal.png |  Bin 2891 -> 2509 bytes
 .../baselines/Label_fontWeight_default.png      |  Bin 2891 -> 2509 bytes
 .../baselines/Label_fontWeight_italic.png       |  Bin 2891 -> 2767 bytes
 .../baselines/Label_fontWeight_normal.png       |  Bin 2891 -> 2509 bytes
 .../Label_justificationRule_default.png         |  Bin 2891 -> 2509 bytes
 .../Label_justificationRule_eastAsian.png       |  Bin 2891 -> 2509 bytes
 .../baselines/Label_justificationRule_space.png |  Bin 2891 -> 2509 bytes
 .../Label_justificationStyle_default.png        |  Bin 2891 -> 2509 bytes
 ...ficationStyle_prioritizeLeastAdjustment1.png |  Bin 2891 -> 2509 bytes
 ...ficationStyle_prioritizeLeastAdjustment2.png |  Bin 2891 -> 2509 bytes
 .../Label_justificationStyle_pushInKinsoku1.png |  Bin 2891 -> 2509 bytes
 .../Label_justificationStyle_pushInKinsoku2.png |  Bin 2891 -> 2509 bytes
 .../Label_justificationStyle_pushOutOnly1.png   |  Bin 2891 -> 2509 bytes
 .../Label_justificationStyle_pushOutOnly2.png   |  Bin 2891 -> 2509 bytes
 .../Styles/baselines/Label_kerning_auto.png     |  Bin 2619 -> 3268 bytes
 .../Styles/baselines/Label_kerning_default.png  |  Bin 2619 -> 3268 bytes
 .../Styles/baselines/Label_kerning_off.png      |  Bin 2635 -> 3285 bytes
 .../Label/Styles/baselines/Label_kerning_on.png |  Bin 2619 -> 3268 bytes
 .../baselines/Label_ligatureLevel_common.png    |  Bin 1735 -> 1976 bytes
 .../baselines/Label_ligatureLevel_default.png   |  Bin 1735 -> 1976 bytes
 .../baselines/Label_ligatureLevel_exotic.png    |  Bin 1735 -> 1976 bytes
 .../baselines/Label_ligatureLevel_minimum.png   |  Bin 1735 -> 1837 bytes
 .../baselines/Label_ligatureLevel_none.png      |  Bin 1735 -> 1837 bytes
 .../baselines/Label_ligatureLevel_uncommon.png  |  Bin 1735 -> 1976 bytes
 .../baselines/Label_lineBreak_default.png       |  Bin 2805 -> 2581 bytes
 .../baselines/Label_lineBreak_explicit.png      |  Bin 2805 -> 2581 bytes
 .../baselines/Label_lineBreak_explicit_150.png  |  Bin 1977 -> 1807 bytes
 .../Label_lineBreak_explicit_150_multi.png      |  Bin 3010 -> 2606 bytes
 .../Styles/baselines/Label_lineBreak_toFit.png  |  Bin 2805 -> 2581 bytes
 .../baselines/Label_lineBreak_toFit_150.png     |  Bin 2860 -> 2611 bytes
 .../Label_lineBreak_toFit_150_multi.png         |  Bin 3010 -> 2606 bytes
 .../Styles/baselines/Label_lineHeight_10.png    |  Bin 2830 -> 2580 bytes
 .../baselines/Label_lineHeight_100pct.png       |  Bin 2846 -> 2595 bytes
 .../Styles/baselines/Label_lineHeight_20.png    |  Bin 2884 -> 2636 bytes
 .../baselines/Label_lineHeight_200pct.png       |  Bin 2904 -> 2655 bytes
 .../Styles/baselines/Label_lineHeight_40.png    |  Bin 2958 -> 2715 bytes
 .../Styles/baselines/Label_lineHeight_50pct.png |  Bin 2789 -> 2499 bytes
 .../baselines/Label_lineHeight_default.png      |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_lineHeight_null.png  |  Bin 2860 -> 2611 bytes
 .../baselines/Label_lineThrough_default.png     |  Bin 2860 -> 2611 bytes
 .../baselines/Label_lineThrough_false.png       |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_lineThrough_null.png |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_lineThrough_true.png |  Bin 2667 -> 2421 bytes
 .../Styles/baselines/Label_locale_default.png   |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_paddingBottom_20.png |  Bin 3133 -> 2627 bytes
 .../baselines/Label_paddingBottom_default.png   |  Bin 2860 -> 2611 bytes
 .../baselines/Label_paddingBottom_null.png      |  Bin 3132 -> 2627 bytes
 .../Label_paddingBottom_vertAlignJustify_50.png |  Bin 3136 -> 2633 bytes
 .../Styles/baselines/Label_paddingLeft_20.png   |  Bin 3119 -> 2807 bytes
 .../Styles/baselines/Label_paddingLeft_50.png   |  Bin 3138 -> 2802 bytes
 .../Styles/baselines/Label_paddingLeft_55.png   |  Bin 3176 -> 2611 bytes
 .../baselines/Label_paddingLeft_default.png     |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_paddingLeft_null.png |  Bin 3132 -> 2627 bytes
 .../Styles/baselines/Label_paddingRight_20.png  |  Bin 3114 -> 2803 bytes
 .../Styles/baselines/Label_paddingRight_50.png  |  Bin 3115 -> 2802 bytes
 .../Styles/baselines/Label_paddingRight_55.png  |  Bin 3153 -> 2605 bytes
 .../baselines/Label_paddingRight_default.png    |  Bin 2860 -> 2611 bytes
 .../baselines/Label_paddingRight_null.png       |  Bin 3132 -> 2627 bytes
 .../Styles/baselines/Label_paddingTop_20.png    |  Bin 3132 -> 2628 bytes
 .../Styles/baselines/Label_paddingTop_70.png    |  Bin 2615 -> 2176 bytes
 .../Styles/baselines/Label_paddingTop_72.png    |  Bin 2585 -> 2158 bytes
 .../baselines/Label_paddingTop_default.png      |  Bin 2860 -> 2611 bytes
 .../Styles/baselines/Label_paddingTop_null.png  |  Bin 3132 -> 2627 bytes
 .../Label_paddingTop_vertAlignJustify_50.png    |  Bin 3136 -> 2632 bytes
 .../baselines/Label_renderingMode_cff.png       |  Bin 2860 -> 2611 bytes
 .../baselines/Label_renderingMode_default.png   |  Bin 2860 -> 2611 bytes
 .../baselines/Label_renderingMode_normal.png    |  Bin 2860 -> 1694 bytes
 .../baselines/Label_textAlignLast_center.png    |  Bin 4887 -> 4353 bytes
 .../baselines/Label_textAlignLast_default.png   |  Bin 4807 -> 4322 bytes
 .../baselines/Label_textAlignLast_end.png       |  Bin 4888 -> 4343 bytes
 .../baselines/Label_textAlignLast_justify.png   |  Bin 4897 -> 4435 bytes
 .../baselines/Label_textAlignLast_left.png      |  Bin 4807 -> 4322 bytes
 .../baselines/Label_textAlignLast_right.png     |  Bin 4888 -> 4343 bytes
 .../baselines/Label_textAlignLast_start.png     |  Bin 4807 -> 4322 bytes
 .../Styles/baselines/Label_textAlign_center.png |  Bin 4902 -> 4511 bytes
 .../baselines/Label_textAlign_default.png       |  Bin 4719 -> 4227 bytes
 .../Styles/baselines/Label_textAlign_end.png    |  Bin 4898 -> 4243 bytes
 .../baselines/Label_textAlign_justify.png       |  Bin 4807 -> 4322 bytes
 .../Styles/baselines/Label_textAlign_left.png   |  Bin 4719 -> 4227 bytes
 .../Styles/baselines/Label_textAlign_right.png  |  Bin 4898 -> 4243 bytes
 .../Styles/baselines/Label_textAlign_start.png  |  Bin 4719 -> 4227 bytes
 .../Styles/baselines/Label_textAlpha_0.png      |  Bin 203 -> 219 bytes
 .../Styles/baselines/Label_textAlpha_05.png     |  Bin 2790 -> 2350 bytes
 .../baselines/Label_textAlpha_default.png       |  Bin 2805 -> 2581 bytes
 .../baselines/Label_textDecoration_default.png  |  Bin 2805 -> 2581 bytes
 .../baselines/Label_textDecoration_none.png     |  Bin 2805 -> 2581 bytes
 .../Label_textDecoration_underline.png          |  Bin 2667 -> 2560 bytes
 .../baselines/Label_textIndent_default.png      |  Bin 4719 -> 4227 bytes
 .../Label_textIndent_negWithDirection.png       |  Bin 4898 -> 4243 bytes
 .../Label_textIndent_negWithMargin.png          |  Bin 4719 -> 4227 bytes
 .../Styles/baselines/Label_textIndent_pos.png   |  Bin 4719 -> 4227 bytes
 .../Label_textIndent_posWithDirection.png       |  Bin 4898 -> 4243 bytes
 .../baselines/Label_textJustify_distribute.png  |  Bin 4929 -> 4330 bytes
 .../baselines/Label_textJustify_interWord.png   |  Bin 4897 -> 4435 bytes
 .../Label_text_multiLine_truncation-1.png       |  Bin 2244 -> 1318 bytes
 ..._text_multiLine_truncation-1_defaultSize.png |  Bin 2891 -> 2509 bytes
 .../Label_text_multiLine_truncation1.png        |  Bin 1351 -> 1318 bytes
 ...l_text_multiLine_truncation1_defaultSize.png |  Bin 1300 -> 1281 bytes
 .../Label_text_multiLine_truncation2.png        |  Bin 2244 -> 1318 bytes
 ...l_text_multiLine_truncation2_defaultSize.png |  Bin 2199 -> 1963 bytes
 .../Label_text_multiLine_truncation_default.png |  Bin 2964 -> 2548 bytes
 ...multiLine_truncation_default_defaultSize.png |  Bin 2891 -> 2509 bytes
 .../Label_text_singleLine_truncation-1.png      |  Bin 2423 -> 1318 bytes
 ...text_singleLine_truncation-1_defaultSize.png |  Bin 2805 -> 2581 bytes
 .../Label_text_singleLine_truncation1.png       |  Bin 1440 -> 1318 bytes
 ..._text_singleLine_truncation1_defaultSize.png |  Bin 2805 -> 2581 bytes
 .../Label_text_singleLine_truncation2.png       |  Bin 2423 -> 1318 bytes
 ..._text_singleLine_truncation2_defaultSize.png |  Bin 2805 -> 2581 bytes
 ...Label_text_singleLine_truncation_default.png |  Bin 2431 -> 2012 bytes
 ...ingleLine_truncation_default_defaultSize.png |  Bin 2805 -> 2581 bytes
 .../baselines/Label_trackingLeft_default.png    |  Bin 2805 -> 2581 bytes
 .../Styles/baselines/Label_trackingLeft_neg.png |  Bin 2622 -> 2111 bytes
 .../Label_trackingLeft_neg_percent.png          |  Bin 2838 -> 2358 bytes
 .../Styles/baselines/Label_trackingLeft_pos.png |  Bin 3151 -> 3056 bytes
 .../Label_trackingLeft_pos_percent.png          |  Bin 2831 -> 2624 bytes
 .../baselines/Label_trackingRight_default.png   |  Bin 2805 -> 2581 bytes
 .../baselines/Label_trackingRight_neg.png       |  Bin 2622 -> 2111 bytes
 .../Label_trackingRight_neg_percent.png         |  Bin 2838 -> 2358 bytes
 .../baselines/Label_trackingRight_pos.png       |  Bin 3151 -> 3056 bytes
 .../Label_trackingRight_pos_percent.png         |  Bin 2831 -> 2624 bytes
 .../Label/Styles/baselines/Label_tracking_0.png |  Bin 2805 -> 2581 bytes
 .../Styles/baselines/Label_tracking_default.png |  Bin 2805 -> 2581 bytes
 .../Styles/baselines/Label_tracking_neg.png     |  Bin 2805 -> 2581 bytes
 .../Styles/baselines/Label_tracking_pos.png     |  Bin 2805 -> 2581 bytes
 .../Label_truncation_lineBreak_explicit.png     |  Bin 3134 -> 3014 bytes
 .../Label_truncation_lineBreak_tofit.png        |  Bin 3134 -> 3014 bytes
 .../baselines/Label_typographicCase_caps.png    |  Bin 3615 -> 3317 bytes
 .../Label_typographicCase_capsAndSmallCaps.png  |  Bin 4014 -> 3894 bytes
 .../baselines/Label_typographicCase_default.png |  Bin 3615 -> 3297 bytes
 .../Label_typographicCase_default2.png          |  Bin 3615 -> 3297 bytes
 .../Label_typographicCase_lowercase.png         |  Bin 3652 -> 3267 bytes
 .../Label_typographicCase_smallCaps.png         |  Bin 3615 -> 3297 bytes
 .../baselines/Label_typographicCase_title.png   |  Bin 3615 -> 3317 bytes
 .../Label_typographicCase_uppercase.png         |  Bin 4014 -> 3923 bytes
 .../baselines/Label_verticalAlign_bottom.png    |  Bin 3955 -> 3386 bytes
 .../baselines/Label_verticalAlign_default.png   |  Bin 3615 -> 3297 bytes
 .../baselines/Label_verticalAlign_justify.png   |  Bin 4017 -> 3424 bytes
 .../baselines/Label_verticalAlign_middle.png    |  Bin 3953 -> 3380 bytes
 .../baselines/Label_verticalAlign_top.png       |  Bin 3955 -> 3374 bytes
 .../Label_whiteSpaceCollapse_default.png        |  Bin 3615 -> 3297 bytes
 .../HRendRET_List_keyboard_navigation1.png      |  Bin 2834 -> 2898 bytes
 .../HRendRET_List_keyboard_navigation2.png      |  Bin 2881 -> 2929 bytes
 .../HRendRET_List_keyboard_navigation3.png      |  Bin 2825 -> 2851 bytes
 .../HRendRET_List_keyboard_navigation4.png      |  Bin 2772 -> 2746 bytes
 .../HRendRET_List_keyboard_navigation5.png      |  Bin 2863 -> 2857 bytes
 .../HRendRET_List_keyboard_navigation6.png      |  Bin 2850 -> 2780 bytes
 .../baselines/HRendRET_List_scrollPosition3.png |  Bin 2238 -> 2274 bytes
 .../baselines/HRendRET_List_scrollPosition4.png |  Bin 2772 -> 2746 bytes
 .../baselines/HRendRET_List_scrollPosition5.png |  Bin 2410 -> 2267 bytes
 .../HorizontalList_keyboard_navigation_dup0.png |  Bin 1438 -> 1490 bytes
 .../HorizontalList_keyboard_navigation_dup2.png |  Bin 1068 -> 1115 bytes
 .../HorizontalList_keyboard_navigation_dup3.png |  Bin 1053 -> 1095 bytes
 .../HorizontalList_keyboard_navigation_dup4.png |  Bin 928 -> 970 bytes
 ...alList_multipleSel_keyboard_navigation_2.png |  Bin 1206 -> 1194 bytes
 ...alList_multipleSel_keyboard_navigation_3.png |  Bin 1341 -> 1395 bytes
 ...alList_multipleSel_keyboard_navigation_4.png |  Bin 1283 -> 1331 bytes
 ...alList_multipleSel_keyboard_navigation_5.png |  Bin 1434 -> 1485 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 2127 -> 2050 bytes
 .../baselines/List_keyboard_navigation_dup2.png |  Bin 1307 -> 1244 bytes
 .../baselines/List_keyboard_navigation_dup3.png |  Bin 1247 -> 1242 bytes
 .../baselines/List_keyboard_navigation_dup4.png |  Bin 4926 -> 5585 bytes
 .../baselines/List_keyboard_navigation_dup5.png |  Bin 1019 -> 992 bytes
 .../List_multipleSel_keyboard_navigation_2.png  |  Bin 1458 -> 1362 bytes
 .../List_multipleSel_keyboard_navigation_3.png  |  Bin 1550 -> 1429 bytes
 .../List_multipleSel_keyboard_navigation_4.png  |  Bin 4198 -> 4703 bytes
 .../List_multipleSel_keyboard_navigation_5.png  |  Bin 1721 -> 1581 bytes
 ..._HorizontalList_keyboard_navigation_dup0.png |  Bin 2508 -> 2889 bytes
 ..._HorizontalList_keyboard_navigation_dup2.png |  Bin 1054 -> 1125 bytes
 ..._HorizontalList_keyboard_navigation_dup3.png |  Bin 1068 -> 1113 bytes
 ..._HorizontalList_keyboard_navigation_dup4.png |  Bin 914 -> 957 bytes
 ...alList_multipleSel_keyboard_navigation_2.png |  Bin 1205 -> 1185 bytes
 ...alList_multipleSel_keyboard_navigation_3.png |  Bin 1233 -> 1273 bytes
 ...alList_multipleSel_keyboard_navigation_4.png |  Bin 1197 -> 1253 bytes
 ...alList_multipleSel_keyboard_navigation_5.png |  Bin 1339 -> 1416 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 2109 -> 2019 bytes
 .../RET_List_keyboard_navigation_dup2.png       |  Bin 1308 -> 1244 bytes
 .../RET_List_keyboard_navigation_dup3.png       |  Bin 1247 -> 1241 bytes
 .../RET_List_keyboard_navigation_dup4.png       |  Bin 5001 -> 5601 bytes
 ...T_List_multipleSel_keyboard_navigation_2.png |  Bin 1459 -> 1361 bytes
 ...T_List_multipleSel_keyboard_navigation_3.png |  Bin 1551 -> 1429 bytes
 ...T_List_multipleSel_keyboard_navigation_4.png |  Bin 4201 -> 4719 bytes
 ...T_List_multipleSel_keyboard_navigation_5.png |  Bin 1723 -> 1583 bytes
 ...ET_VerticalList_keyboard_navigation_dup0.png |  Bin 1836 -> 1657 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1734 -> 1599 bytes
 ..._HorizontalList_keyboard_navigation_dup0.png |  Bin 1443 -> 1490 bytes
 ..._HorizontalList_keyboard_navigation_dup2.png |  Bin 1068 -> 1114 bytes
 ..._HorizontalList_keyboard_navigation_dup3.png |  Bin 1053 -> 1093 bytes
 ..._HorizontalList_keyboard_navigation_dup4.png |  Bin 928 -> 971 bytes
 ...alList_multipleSel_keyboard_navigation_2.png |  Bin 1206 -> 1194 bytes
 ...alList_multipleSel_keyboard_navigation_3.png |  Bin 1341 -> 1396 bytes
 ...alList_multipleSel_keyboard_navigation_4.png |  Bin 1283 -> 1332 bytes
 ...alList_multipleSel_keyboard_navigation_5.png |  Bin 1434 -> 1488 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 2127 -> 2050 bytes
 .../RT_List_keyboard_navigation_dup2.png        |  Bin 1307 -> 1244 bytes
 .../RT_List_keyboard_navigation_dup3.png        |  Bin 1247 -> 1242 bytes
 .../RT_List_keyboard_navigation_dup4.png        |  Bin 4992 -> 5585 bytes
 ...T_List_multipleSel_keyboard_navigation_2.png |  Bin 1458 -> 1362 bytes
 ...T_List_multipleSel_keyboard_navigation_3.png |  Bin 1550 -> 1429 bytes
 ...T_List_multipleSel_keyboard_navigation_4.png |  Bin 4198 -> 4703 bytes
 ...T_List_multipleSel_keyboard_navigation_5.png |  Bin 1721 -> 1581 bytes
 ..._HorizontalList_keyboard_navigation_dup0.png |  Bin 1443 -> 1490 bytes
 ..._HorizontalList_keyboard_navigation_dup2.png |  Bin 1301 -> 1345 bytes
 ..._HorizontalList_keyboard_navigation_dup3.png |  Bin 1446 -> 1478 bytes
 ..._HorizontalList_keyboard_navigation_dup4.png |  Bin 1668 -> 1719 bytes
 ...alList_multipleSel_keyboard_navigation_2.png |  Bin 1206 -> 1194 bytes
 ...alList_multipleSel_keyboard_navigation_3.png |  Bin 1341 -> 1396 bytes
 ...alList_multipleSel_keyboard_navigation_4.png |  Bin 1283 -> 1332 bytes
 ...alList_multipleSel_keyboard_navigation_5.png |  Bin 1434 -> 1488 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 2127 -> 2050 bytes
 .../RT_TF_List_keyboard_navigation_dup2.png     |  Bin 1307 -> 1668 bytes
 .../RT_TF_List_keyboard_navigation_dup3.png     |  Bin 1680 -> 1662 bytes
 .../RT_TF_List_keyboard_navigation_dup4.png     |  Bin 6437 -> 7020 bytes
 ...F_List_multipleSel_keyboard_navigation_2.png |  Bin 1458 -> 1362 bytes
 ...F_List_multipleSel_keyboard_navigation_3.png |  Bin 1550 -> 1429 bytes
 ...F_List_multipleSel_keyboard_navigation_4.png |  Bin 4198 -> 4703 bytes
 ...F_List_multipleSel_keyboard_navigation_5.png |  Bin 1721 -> 1581 bytes
 ...TF_VerticalList_keyboard_navigation_dup0.png |  Bin 2283 -> 2078 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1769 -> 1612 bytes
 ...RT_VerticalList_keyboard_navigation_dup0.png |  Bin 1893 -> 1700 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1769 -> 1612 bytes
 .../RendRETLabel_List_keyboard_navigation2.png  |  Bin 13943 -> 8996 bytes
 .../RendRETLabel_List_keyboard_navigation3.png  |  Bin 12842 -> 10043 bytes
 .../RendRETLabel_List_keyboard_navigation4.png  |  Bin 12789 -> 10043 bytes
 .../RendRETLabel_List_keyboard_navigation5.png  |  Bin 14040 -> 11060 bytes
 .../RendRETLabel_List_keyboard_navigation6.png  |  Bin 11850 -> 9056 bytes
 .../RendRETLabel_List_scrollPosition3.png       |  Bin 539 -> 539 bytes
 .../RendRETLabel_List_scrollPosition5.png       |  Bin 547 -> 548 bytes
 .../RendRET_List_keyboard_navigation2.png       |  Bin 8531 -> 9605 bytes
 .../RendRET_List_keyboard_navigation6.png       |  Bin 541 -> 540 bytes
 .../TRendRET_List_keyboard_navigation1.png      |  Bin 4492 -> 4668 bytes
 .../TRendRET_List_keyboard_navigation2.png      |  Bin 4460 -> 4655 bytes
 .../TRendRET_List_keyboard_navigation3.png      |  Bin 4439 -> 4629 bytes
 .../TRendRET_List_keyboard_navigation4.png      |  Bin 4384 -> 4373 bytes
 .../TRendRET_List_keyboard_navigation5.png      |  Bin 5050 -> 5141 bytes
 .../TRendRET_List_keyboard_navigation6.png      |  Bin 4458 -> 4700 bytes
 .../baselines/TRendRET_List_scrollPosition1.png |  Bin 4370 -> 4540 bytes
 .../baselines/TRendRET_List_scrollPosition2.png |  Bin 4460 -> 4655 bytes
 .../baselines/TRendRET_List_scrollPosition3.png |  Bin 3736 -> 4000 bytes
 .../baselines/TRendRET_List_scrollPosition4.png |  Bin 4384 -> 4373 bytes
 .../baselines/TRendRET_List_scrollPosition5.png |  Bin 4044 -> 4631 bytes
 .../baselines/TRendRET_List_scrollPosition6.png |  Bin 3736 -> 4000 bytes
 .../VRendRET_List_keyboard_navigation1.png      |  Bin 2152 -> 2247 bytes
 .../VRendRET_List_keyboard_navigation2.png      |  Bin 2244 -> 2288 bytes
 .../VRendRET_List_keyboard_navigation3.png      |  Bin 2157 -> 2117 bytes
 .../VRendRET_List_keyboard_navigation4.png      |  Bin 2185 -> 2146 bytes
 .../VRendRET_List_keyboard_navigation5.png      |  Bin 2380 -> 2332 bytes
 .../VRendRET_List_keyboard_navigation6.png      |  Bin 2205 -> 2260 bytes
 .../baselines/VRendRET_List_scrollPosition1.png |  Bin 1709 -> 1711 bytes
 .../baselines/VRendRET_List_scrollPosition2.png |  Bin 2244 -> 2288 bytes
 .../baselines/VRendRET_List_scrollPosition3.png |  Bin 1599 -> 1646 bytes
 .../baselines/VRendRET_List_scrollPosition4.png |  Bin 2070 -> 2047 bytes
 .../baselines/VRendRET_List_scrollPosition5.png |  Bin 1759 -> 1968 bytes
 .../baselines/VRendRET_List_scrollPosition6.png |  Bin 1778 -> 1771 bytes
 .../VerticalList_keyboard_navigation_dup0.png   |  Bin 1893 -> 1700 bytes
 ...rticalList_keyboard_navigation_sdk-24012.png |  Bin 1375 -> 1266 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1769 -> 1612 bytes
 .../List/events/keybordNav_event_tester.mxml    |    2 +-
 .../List/events/list_events_tester.mxml         |    2 +-
 .../List/integration/baselines/list_state1.png  |  Bin 5133 -> 5784 bytes
 .../List/integration/baselines/list_state2.png  |  Bin 5102 -> 5545 bytes
 .../List/integration/baselines/list_state3.png  |  Bin 5133 -> 5784 bytes
 .../List/integration/baselines/list_state4.png  |  Bin 4740 -> 4944 bytes
 .../List/integration/baselines/list_state5.png  |  Bin 5057 -> 4944 bytes
 .../List/integration/baselines/list_state6.png  |  Bin 5057 -> 4944 bytes
 .../CustomList_method_addItemAt_RET.png         |  Bin 2546 -> 2783 bytes
 .../baselines/CustomList_method_addItem_RET.png |  Bin 2591 -> 2809 bytes
 .../CustomList_method_setItemAt_RET.png         |  Bin 2610 -> 2870 bytes
 ...ustomList_ms_method_arrayCol_addItem_RET.png |  Bin 2650 -> 3014 bytes
 ...ms_method_arrayCollection_addItemEnd_RET.png |  Bin 2560 -> 2958 bytes
 ...ms_method_arrayCollection_setItemAt2_RET.png |  Bin 2628 -> 3038 bytes
 .../List_method_itemIndex_binding_sdk-24086.png |  Bin 1130 -> 1306 bytes
 .../List_Properties_useVirtualLayout.mxml       |    2 +-
 .../baselines/CustomSkinList_states.png         |  Bin 464 -> 547 bytes
 .../CustomSkinList_states_disabled.png          |  Bin 468 -> 556 bytes
 .../properties/baselines/ListRET_scroll2.png    |  Bin 569 -> 567 bytes
 .../properties/baselines/ListRET_scroll4.png    |  Bin 571 -> 569 bytes
 .../List_Properties_useVirtualLayout.png        |  Bin 851 -> 2015 bytes
 .../baselines/List_keyboardNav_findKey4.png     |  Bin 1565 -> 1545 bytes
 .../baselines/List_keyboardNav_findKey5.png     |  Bin 1569 -> 1561 bytes
 .../baselines/List_keyboardNav_findKey6.png     |  Bin 1490 -> 1383 bytes
 .../List_keyboardNavigation1_sdk-23283.png      |  Bin 2000 -> 1778 bytes
 .../List_keyboardNavigation_sdk-23283.png       |  Bin 2229 -> 2076 bytes
 ...erty_arrayCollection__selectedIndex_dup0.png |  Bin 1408 -> 1385 bytes
 ...erty_arrayCollection__selectedIndex_dup1.png |  Bin 1422 -> 1416 bytes
 ...erty_arrayCollection__selectedIndex_dup2.png |  Bin 1411 -> 1428 bytes
 ...ayCollection__selectedIndex_dup_addItem0.png |  Bin 1198 -> 1160 bytes
 ...ayCollection__selectedIndex_dup_addItem1.png |  Bin 984 -> 896 bytes
 ...ayCollection__selectedIndex_dup_addItem2.png |  Bin 893 -> 873 bytes
 ...y_content_mix_array_itemRendererFunction.png |  Bin 3390 -> 2994 bytes
 ...y_selectedIndex_simple_array_swap_layout.png |  Bin 616 -> 656 bytes
 ...arrayCollection_labelField_labelFunction.png |  Bin 6515 -> 7805 bytes
 ...Collection_labelField_labelFunction_null.png |  Bin 4259 -> 4494 bytes
 ...erty_arrayCollection_labelField_lastName.png |  Bin 3633 -> 4598 bytes
 ..._itemRenderer_mixData_comp_layout_change.png |  Bin 11471 -> 11213 bytes
 ...t_ms_property_selectedIndex_custom_array.png |  Bin 2034 -> 1808 bytes
 ...roperty_selectedIndex_custom_array_click.png |  Bin 1486 -> 1561 bytes
 ...operty_arrayCollection_excludeFromLayout.png |  Bin 2563 -> 2962 bytes
 ...rty_arrayCollection_labelField_SDK-24754.png |  Bin 1567 -> 1544 bytes
 ...arrayCollection_labelField_labelFunction.png |  Bin 6515 -> 7805 bytes
 ...Collection_labelField_labelFunction_null.png |  Bin 4259 -> 4494 bytes
 ...erty_arrayCollection_labelField_lastName.png |  Bin 3633 -> 4598 bytes
 ..._itemRenderer_mixData_comp_layout_change.png |  Bin 11471 -> 11213 bytes
 ...List_property_selectedIndex_custom_array.png |  Bin 2034 -> 1808 bytes
 ...roperty_selectedIndex_custom_array_click.png |  Bin 1486 -> 1561 bytes
 .../List/properties/baselines/List_scroll2.png  |  Bin 560 -> 620 bytes
 .../baselines/List_scroll2_nonVirtual.png       |  Bin 560 -> 620 bytes
 .../List/properties/baselines/List_scroll4.png  |  Bin 1185 -> 1997 bytes
 .../baselines/List_scroll4_nonVirtual.png       |  Bin 1185 -> 1997 bytes
 ...erty_arrayCollection__selectedIndex_dup0.png |  Bin 1408 -> 1385 bytes
 ...erty_arrayCollection__selectedIndex_dup1.png |  Bin 1422 -> 1416 bytes
 ...erty_arrayCollection__selectedIndex_dup2.png |  Bin 1411 -> 1428 bytes
 ...ayCollection__selectedIndex_dup_addItem0.png |  Bin 1198 -> 1160 bytes
 ...ayCollection__selectedIndex_dup_addItem1.png |  Bin 984 -> 896 bytes
 ...ayCollection__selectedIndex_dup_addItem2.png |  Bin 893 -> 873 bytes
 ...y_selectedIndex_simple_array_swap_layout.png |  Bin 616 -> 656 bytes
 ...arrayCollection_labelField_labelFunction.png |  Bin 6515 -> 7805 bytes
 ...Collection_labelField_labelFunction_null.png |  Bin 4259 -> 4494 bytes
 ...t_ms_property_selectedIndex_custom_array.png |  Bin 2034 -> 1808 bytes
 ...roperty_selectedIndex_custom_array_click.png |  Bin 1486 -> 1562 bytes
 .../list_dups_null_properties_tester.mxml       |    2 +-
 .../list_getDestinationIndex_tester.mxml        |    4 +-
 .../list_multipleSel_properties_tester.mxml     |   19 +-
 .../List/properties/list_properties_tester.mxml |   24 +-
 ..._richText_multipleSel_properties_tester.mxml |   17 +-
 .../List/properties/list_scroll_tester.mxml     |    4 +-
 .../WF_sparkList_Mirroring_as_default_1.png     |  Bin 2439 -> 2180 bytes
 .../WF_sparkList_Mirroring_as_default_2.png     |  Bin 2855 -> 2238 bytes
 .../WF_sparkList_Mirroring_default_1.png        |  Bin 2282 -> 2144 bytes
 .../WF_sparkList_Mirroring_default_2.png        |  Bin 2878 -> 2138 bytes
 .../WF_sparkList_Mirroring_mxml_changeDir_1.png |  Bin 3519 -> 2272 bytes
 .../WF_sparkList_Mirroring_mxml_changeDir_2.png |  Bin 2310 -> 2180 bytes
 .../WF_sparkList_Mirroring_mxml_default.png     |  Bin 3519 -> 2272 bytes
 ...F_sparkList_Mirroring_parentContainer1_1.png |  Bin 2460 -> 2363 bytes
 ...F_sparkList_Mirroring_parentContainer2_1.png |  Bin 3052 -> 2440 bytes
 ...F_sparkList_Mirroring_parentContainer3_1.png |  Bin 3052 -> 2431 bytes
 ...F_sparkList_Mirroring_parentContainer4_1.png |  Bin 4222 -> 4246 bytes
 .../WF_sparkList_Mirroring_selectedIndex.png    |  Bin 3109 -> 2243 bytes
 .../WF_sparkList_Mirroring_selectedItem.png     |  Bin 3288 -> 2293 bytes
 .../WF_sparkList_Mirroring_styles_1.png         |  Bin 3105 -> 3316 bytes
 .../WF_sparkList_Mirroring_styles_3.png         |  Bin 2964 -> 2796 bytes
 ..._HorizontalList_keyboard_navigation_dup0.png |  Bin 1429 -> 1591 bytes
 ..._HorizontalList_keyboard_navigation_dup2.png |  Bin 1068 -> 1107 bytes
 ..._HorizontalList_keyboard_navigation_dup3.png |  Bin 1060 -> 1101 bytes
 ..._HorizontalList_keyboard_navigation_dup4.png |  Bin 933 -> 973 bytes
 ...alList_multipleSel_keyboard_navigation_2.png |  Bin 1193 -> 1169 bytes
 ...alList_multipleSel_keyboard_navigation_3.png |  Bin 1339 -> 1407 bytes
 ...alList_multipleSel_keyboard_navigation_4.png |  Bin 1291 -> 1356 bytes
 ...alList_multipleSel_keyboard_navigation_5.png |  Bin 1431 -> 1497 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1788 -> 2137 bytes
 .../rtl_List_keyboard_navigation_dup3.png       |  Bin 1268 -> 1252 bytes
 ...l_List_multipleSel_keyboard_navigation_3.png |  Bin 1559 -> 1448 bytes
 ...l_List_multipleSel_keyboard_navigation_5.png |  Bin 1731 -> 1594 bytes
 .../rtl_TileList_keyboard_navigation5.png       |  Bin 2708 -> 2727 bytes
 ...leList_multipleSel_keyboard_navigation10.png |  Bin 2708 -> 2727 bytes
 ...ileList_multipleSel_keyboard_navigation8.png |  Bin 2924 -> 3045 bytes
 ...ileList_multipleSel_keyboard_navigation9.png |  Bin 2707 -> 2740 bytes
 ...tl_VerticalList_keyboard_navigation_dup0.png |  Bin 1870 -> 1895 bytes
 ...rticalList_keyboard_navigation_sdk-24012.png |  Bin 1401 -> 1296 bytes
 ...alList_multipleSel_keyboard_navigation_6.png |  Bin 1773 -> 1643 bytes
 .../sparkList_Mirroring_as_default_1.png        |  Bin 2343 -> 2309 bytes
 .../sparkList_Mirroring_as_default_2.png        |  Bin 2913 -> 2324 bytes
 .../baselines/sparkList_Mirroring_default_1.png |  Bin 2340 -> 2313 bytes
 .../baselines/sparkList_Mirroring_default_2.png |  Bin 2938 -> 2349 bytes
 .../sparkList_Mirroring_mxml_changeDir_1.png    |  Bin 3422 -> 2365 bytes
 .../sparkList_Mirroring_mxml_changeDir_2.png    |  Bin 2372 -> 2339 bytes
 .../sparkList_Mirroring_mxml_default.png        |  Bin 3422 -> 2365 bytes
 .../sparkList_Mirroring_parentContainer1_1.png  |  Bin 2830 -> 2753 bytes
 .../sparkList_Mirroring_parentContainer2_1.png  |  Bin 3430 -> 2789 bytes
 .../sparkList_Mirroring_parentContainer3_1.png  |  Bin 3431 -> 2790 bytes
 .../sparkList_Mirroring_parentContainer4_1.png  |  Bin 4389 -> 3677 bytes
 .../sparkList_Mirroring_selectedIndex.png       |  Bin 3349 -> 2329 bytes
 .../sparkList_Mirroring_selectedItem.png        |  Bin 3340 -> 2363 bytes
 .../baselines/sparkList_Mirroring_styles_1.png  |  Bin 2995 -> 4426 bytes
 .../baselines/sparkList_Mirroring_styles_3.png  |  Bin 2829 -> 3288 bytes
 .../styles/keybordNav_tester_mirroring.mxml     |    2 +-
 .../SparkDND/SparkDNDList_main.mxml             | 2645 +++++-----
 .../SparkDND/SparkDNDVarRows_main.mxml          |    2 +-
 .../baselines/SparkListAbcDND1_copy.png         |  Bin 3574 -> 3438 bytes
 .../baselines/SparkListAbcDND1_move.png         |  Bin 4273 -> 3943 bytes
 .../baselines/SparkListAbcDND1_move1.png        |  Bin 3629 -> 3390 bytes
 .../baselines/SparkListAbcDND1_moveAll.png      |  Bin 3039 -> 2982 bytes
 .../baselines/SparkListAbcDND1_rejectAll.png    |  Bin 4837 -> 4480 bytes
 .../baselines/SparkListAbcDND1_rejectDrop1.png  |  Bin 3559 -> 3378 bytes
 .../baselines/SparkListAbcDND1_rejectDrop2.png  |  Bin 4294 -> 4102 bytes
 .../SparkDND/baselines/SparkListDND1_copy.png   |  Bin 8943 -> 8639 bytes
 .../SparkDND/baselines/SparkListDND1_move.png   |  Bin 8300 -> 8118 bytes
 .../SparkDND/baselines/SparkListDND1_move1.png  |  Bin 8723 -> 8087 bytes
 .../baselines/SparkListDND1_moveAll.png         |  Bin 9788 -> 10125 bytes
 .../baselines/SparkListDND1_rejectAll.png       |  Bin 9388 -> 8901 bytes
 .../baselines/SparkListDND1_rejectDrop1.png     |  Bin 8116 -> 7992 bytes
 .../baselines/SparkListDND1_rejectDrop2.png     |  Bin 8116 -> 7992 bytes
 .../baselines/SparkListDefaultRenderer_copy.png |  Bin 8880 -> 8565 bytes
 .../baselines/SparkListDefaultRenderer_move.png |  Bin 8225 -> 8049 bytes
 .../SparkListDefaultRenderer_moveAll.png        |  Bin 9729 -> 10103 bytes
 .../SparkListDefaultRenderer_rejectAll.png      |  Bin 9325 -> 8848 bytes
 .../SparkListDefaultRenderer_rejectDrop1.png    |  Bin 8050 -> 7918 bytes
 .../SparkListDefaultRenderer_rejectDrop2.png    |  Bin 9052 -> 8917 bytes
 .../baselines/SparkListDupNullDND1_copy.png     |  Bin 2905 -> 2615 bytes
 .../baselines/SparkListDupNullDND1_move.png     |  Bin 3409 -> 3056 bytes
 .../baselines/SparkListDupNullDND1_move1.png    |  Bin 2964 -> 2612 bytes
 .../baselines/SparkListDupNullDND1_moveAll.png  |  Bin 3121 -> 2946 bytes
 .../SparkListDupNullDND1_rejectAll.png          |  Bin 5591 -> 4700 bytes
 .../SparkListDupNullDND1_rejectDrop1.png        |  Bin 2979 -> 2728 bytes
 .../SparkListDupNullDND1_rejectDrop2.png        |  Bin 3629 -> 3357 bytes
 .../SparkDND/baselines/SparkSortedList_copy.png |  Bin 8033 -> 7721 bytes
 .../SparkDND/baselines/SparkSortedList_move.png |  Bin 7508 -> 7280 bytes
 .../baselines/SparkSortedList_move1.png         |  Bin 7284 -> 7335 bytes
 .../baselines/SparkSortedList_rejectAll.png     |  Bin 10770 -> 10139 bytes
 .../baselines/SparkSortedList_rejectDrop1.png   |  Bin 8629 -> 7982 bytes
 .../baselines/SparkToSparkHListDND1_copy.png    |  Bin 1479 -> 1502 bytes
 .../baselines/SparkToSparkHListDND1_move.png    |  Bin 1547 -> 1564 bytes
 .../baselines/SparkToSparkHListDND1_moveAll.png |  Bin 1235 -> 1284 bytes
 .../SparkToSparkHListDND1_moveAll2.png          |  Bin 1836 -> 1887 bytes
 .../SparkToSparkHListDND1_rejectDrop2.png       |  Bin 1398 -> 1415 bytes
 .../baselines/SparkToSparkListDND1_copy.png     |  Bin 3108 -> 3210 bytes
 .../baselines/SparkToSparkListDND1_move.png     |  Bin 3840 -> 4142 bytes
 .../baselines/SparkToSparkListDND1_moveAll.png  |  Bin 3515 -> 3603 bytes
 .../SparkToSparkListDND1_rejectAll.png          |  Bin 3615 -> 3836 bytes
 .../SparkToSparkListDND1_rejectDrop1.png        |  Bin 3086 -> 3212 bytes
 .../SparkToSparkListDND1_rejectDrop2.png        |  Bin 3086 -> 3212 bytes
 .../SparkToSparkListDND_selectedItemsNull.png   |  Bin 3182 -> 3048 bytes
 .../SparkToSparkListVarRowsDND1_copy.png        |  Bin 19518 -> 16514 bytes
 .../SparkToSparkListVarRowsDND1_copy1.png       |  Bin 17355 -> 14237 bytes
 .../SparkToSparkListVarRowsDND1_copy11.png      |  Bin 19696 -> 17430 bytes
 .../SparkToSparkListVarRowsDND1_copy12.png      |  Bin 19697 -> 17403 bytes
 .../SparkToSparkListVarRowsDND1_move.png        |  Bin 16218 -> 15589 bytes
 .../SparkToSparkListVarRowsDND1_move1.png       |  Bin 17134 -> 14846 bytes
 .../SparkToSparkListVarRowsDND1_moveAll.png     |  Bin 14769 -> 12317 bytes
 .../SparkToSparkListVarRowsDND1_rejectAll.png   |  Bin 22198 -> 17924 bytes
 .../SparkToSparkListVarRowsDND1_rejectDrop1.png |  Bin 13212 -> 10954 bytes
 .../SparkToSparkListVarRowsDND1_rejectDrop2.png |  Bin 13212 -> 10954 bytes
 .../SparkDND/baselines/TreeToSparkList.png      |  Bin 13976 -> 11680 bytes
 .../SparkHaloDND/SparkHaloDND_hlist.mxml        |    7 +-
 .../SparkHaloDND/SparkHaloDND_list.mxml         |   46 +-
 .../SparkHaloDND/SparkList_main.mxml            |    5 -
 .../baselines/DataGrid_SparkHList_DND.png       |  Bin 2843 -> 2869 bytes
 .../baselines/DataGrid_SparkList_DND.png        |  Bin 8130 -> 7301 bytes
 .../HListDND1_moveLeftMultipleItems.png         |  Bin 2633 -> 2455 bytes
 .../baselines/HaloHList_SparkHList_DND.png      |  Bin 2486 -> 2621 bytes
 .../baselines/HaloList_SparkList_DND.png        |  Bin 7472 -> 6885 bytes
 .../baselines/HaloTileList_SparkList_DND.png    |  Bin 7416 -> 6777 bytes
 .../baselines/HaloToSparkListDND1_copy.png      |  Bin 8541 -> 8394 bytes
 .../baselines/HaloToSparkListDND1_move.png      |  Bin 8241 -> 8343 bytes
 .../HaloToSparkListDND1_moveMultiple.png        |  Bin 10103 -> 9314 bytes
 .../HaloToSparkListDND1_moveMultiple1.png       |  Bin 8587 -> 6046 bytes
 .../HaloToSparkListDND1_rejectDrop1.png         |  Bin 8477 -> 8162 bytes
 .../baselines/SparkTileListIconsRows_copy1.png  |  Bin 7969 -> 7311 bytes
 .../baselines/SparkTileListIconsRows_copy2.png  |  Bin 7969 -> 7311 bytes
 .../baselines/SparkTileListIconsRows_copy3.png  |  Bin 10338 -> 9592 bytes
 .../baselines/SparkTileListIconsRows_copy5.png  |  Bin 10423 -> 9378 bytes
 .../baselines/SparkTileListIconsRows_copy6.png  |  Bin 8156 -> 7494 bytes
 .../baselines/SparkTileListIconsRows_copy7.png  |  Bin 8156 -> 7494 bytes
 .../baselines/SparkTileListIconsRows_move2.png  |  Bin 7774 -> 7122 bytes
 .../baselines/SparkTileListIconsRows_move3.png  |  Bin 7556 -> 6947 bytes
 .../baselines/SparkTileListIconsRows_move4.png  |  Bin 7556 -> 6947 bytes
 .../baselines/SparkTileListIconsRows_move5.png  |  Bin 7556 -> 6947 bytes
 .../baselines/SparkTileListIconsRows_move6.png  |  Bin 8055 -> 7311 bytes
 .../baselines/SparkTileListIcons_copy1.png      |  Bin 7339 -> 6440 bytes
 .../baselines/SparkTileListIcons_copy2.png      |  Bin 7339 -> 6440 bytes
 .../baselines/SparkTileListIcons_copy6.png      |  Bin 7523 -> 6613 bytes
 .../baselines/SparkTileListIcons_copy7.png      |  Bin 7523 -> 6613 bytes
 .../baselines/SparkTileListIcons_move1.png      |  Bin 7413 -> 6455 bytes
 .../baselines/SparkTileListIcons_move2.png      |  Bin 7413 -> 6455 bytes
 .../baselines/SparkTileListIcons_move3.png      |  Bin 6899 -> 6053 bytes
 .../baselines/SparkTileListIcons_move4.png      |  Bin 6899 -> 6053 bytes
 .../baselines/SparkTileListIcons_move5.png      |  Bin 6899 -> 6053 bytes
 .../baselines/SparkTileListIcons_move6.png      |  Bin 7425 -> 6508 bytes
 .../baselines/SparkToHaloHListDND1_copy.png     |  Bin 8136 -> 7581 bytes
 .../baselines/SparkToHaloHListDND1_move.png     |  Bin 7123 -> 7058 bytes
 .../SparkToHaloHListDND1_moveMultipleItems.png  |  Bin 6782 -> 6668 bytes
 .../SparkToHaloHListDND1_rejectDrop1.png        |  Bin 7482 -> 6998 bytes
 .../SparkToHaloHListDND1_rejectDrop2.png        |  Bin 7482 -> 6998 bytes
 .../baselines/SparkToHaloListDND1_copy.png      |  Bin 7991 -> 7590 bytes
 .../baselines/SparkToHaloListDND1_move.png      |  Bin 7056 -> 6677 bytes
 .../baselines/SparkToHaloListDND1_move1.png     |  Bin 7309 -> 6081 bytes
 .../baselines/SparkToHaloListDND1_moveAll.png   |  Bin 3547 -> 4280 bytes
 .../baselines/SparkToHaloListDND1_rejectAll.png |  Bin 7580 -> 7174 bytes
 .../SparkToHaloListDND1_rejectDrop1.png         |  Bin 7573 -> 7347 bytes
 .../SparkToHaloListDND1_rejectDrop2.png         |  Bin 7573 -> 7347 bytes
 .../baselines/SparkVListIcons_copy1.png         |  Bin 2038 -> 2196 bytes
 .../baselines/SparkVListIcons_copy10.png        |  Bin 3439 -> 3274 bytes
 .../baselines/SparkVListIcons_copy2.png         |  Bin 2038 -> 2196 bytes
 .../baselines/SparkVListIcons_copy3.png         |  Bin 2788 -> 2932 bytes
 .../baselines/SparkVListIcons_copy4.png         |  Bin 2777 -> 2830 bytes
 .../baselines/SparkVListIcons_copy5.png         |  Bin 2777 -> 2830 bytes
 .../baselines/SparkVListIcons_copy6.png         |  Bin 2127 -> 2288 bytes
 .../baselines/SparkVListIcons_copy7.png         |  Bin 2127 -> 2288 bytes
 .../baselines/SparkVListIcons_copy8.png         |  Bin 3176 -> 3334 bytes
 .../baselines/SparkVListIcons_copy9.png         |  Bin 3441 -> 3277 bytes
 .../baselines/SparkVListIcons_move11.png        |  Bin 2125 -> 2009 bytes
 .../baselines/SparkVListIcons_move2.png         |  Bin 2159 -> 2018 bytes
 .../baselines/SparkVListIcons_move3.png         |  Bin 2028 -> 1925 bytes
 .../baselines/SparkVListIcons_move4.png         |  Bin 2028 -> 1925 bytes
 .../baselines/SparkVListIcons_move5.png         |  Bin 2028 -> 1925 bytes
 .../events/SparkDNDList_events.mxml             | 2534 +++++-----
 .../baselines/HListAbcDND1_dragComplete.png     |  Bin 2418 -> 2483 bytes
 .../events/baselines/HListAbcDND1_dragDrop.png  |  Bin 2357 -> 2434 bytes
 .../baselines/HListAbcDND1_rejectDrop1.png      |  Bin 2746 -> 2860 bytes
 .../HListDefaultRenderer_dragComplete.png       |  Bin 4585 -> 4255 bytes
 .../baselines/HListDefaultRenderer_dragDrop.png |  Bin 4358 -> 4072 bytes
 ...ListDefaultRenderer_dragDrop_negativeGap.png |  Bin 6048 -> 4887 bytes
 .../HListDefaultRenderer_rejectDrop1.png        |  Bin 4178 -> 4067 bytes
 .../HListDefaultRenderer_rejectDrop2.png        |  Bin 4178 -> 4067 bytes
 .../baselines/ListAbcDND1_dragComplete.png      |  Bin 4388 -> 4087 bytes
 .../events/baselines/ListAbcDND1_dragDrop.png   |  Bin 3640 -> 3914 bytes
 .../baselines/ListAbcDND1_rejectDrop1.png       |  Bin 4300 -> 4073 bytes
 .../ListDefaultRenderer_dragComplete.png        |  Bin 8880 -> 8565 bytes
 .../baselines/ListDefaultRenderer_dragDrop.png  |  Bin 8615 -> 7971 bytes
 ...efaultRenderer_dragDrop_ctrlKey_multiple.png |  Bin 13723 -> 13298 bytes
 ...faultRenderer_dragDrop_ctrlKey_singleSel.png |  Bin 9081 -> 8497 bytes
 ...ListDefaultRenderer_dragDrop_negativeGap.png |  Bin 7048 -> 5388 bytes
 .../baselines/ListDefaultRenderer_dragExit.png  |  Bin 8635 -> 8395 bytes
 .../ListDefaultRenderer_rejectDrop1.png         |  Bin 8050 -> 7918 bytes
 .../ListDefaultRenderer_rejectDrop2.png         |  Bin 8050 -> 7918 bytes
 .../events/baselines/List_NoDP_drop.png         |  Bin 480 -> 559 bytes
 .../baselines/TileListAbcDND1_dragComplete.png  |  Bin 5676 -> 6005 bytes
 .../baselines/TileListAbcDND1_dragDrop.png      |  Bin 5741 -> 6025 bytes
 .../baselines/TileListAbcDND1_dragExit.png      |  Bin 5118 -> 5436 bytes
 .../baselines/TileListAbcDND1_rejectDrop1.png   |  Bin 5553 -> 5840 bytes
 .../TileListColAbcDND1_dragComplete.png         |  Bin 5557 -> 6003 bytes
 .../baselines/TileListColAbcDND1_dragDrop.png   |  Bin 8007 -> 8446 bytes
 .../baselines/TileListColAbcDND1_dragExit.png   |  Bin 5360 -> 5796 bytes
 .../TileListColAbcDND1_rejectDrop1.png          |  Bin 5793 -> 6197 bytes
 .../TileListColDefaultRenderer_dragComplete.png |  Bin 11167 -> 9722 bytes
 .../TileListColDefaultRenderer_dragDrop.png     |  Bin 10115 -> 8980 bytes
 .../TileListColDefaultRenderer_rejectDrop1.png  |  Bin 9949 -> 9667 bytes
 .../TileListColDefaultRenderer_rejectDrop2.png  |  Bin 9949 -> 9667 bytes
 .../TileListDefaultRenderer_dragComplete.png    |  Bin 10791 -> 9498 bytes
 .../TileListDefaultRenderer_dragDrop.png        |  Bin 9847 -> 8862 bytes
 .../TileListDefaultRenderer_rejectDrop1.png     |  Bin 9949 -> 9950 bytes
 .../TileListDefaultRenderer_rejectDrop2.png     |  Bin 9949 -> 9591 bytes
 .../TileListRowsAbcDND1_dragComplete.png        |  Bin 6361 -> 5213 bytes
 .../baselines/TileListRowsAbcDND1_dragDrop.png  |  Bin 6259 -> 5090 bytes
 .../TileListRowsAbcDND1_rejectDrop1.png         |  Bin 5001 -> 4334 bytes
 ...TileListRowsDefaultRenderer_dragComplete.png |  Bin 7026 -> 5560 bytes
 .../TileListRowsDefaultRenderer_dragDrop.png    |  Bin 6493 -> 5276 bytes
 .../TileListRowsDefaultRenderer_dragExit.png    |  Bin 7037 -> 5595 bytes
 .../TileListRowsDefaultRenderer_rejectDrop1.png |  Bin 7037 -> 5595 bytes
 .../TileListRowsDefaultRenderer_rejectDrop2.png |  Bin 6633 -> 5302 bytes
 .../ListDragDrop/swfs/SparkDNDListBasic.mxml    |  112 +-
 .../events/baselines/Tree_events_scroll2.png    |  Bin 790 -> 761 bytes
 .../integration/MXDGIR_Integration_main.mxml    |   10 +-
 .../integration/MXTIR_Integration_main.mxml     |   14 +-
 .../MXDGIR_Integration_checkBoxChange.png       |  Bin 8938 -> 7799 bytes
 .../MXDGIR_Integration_checkBoxChange2.png      |  Bin 6748 -> 6717 bytes
 .../MXDGIR_Integration_defaultCheckBox.png      |  Bin 8961 -> 7842 bytes
 .../MXDGIR_Integration_defaultCheckBoxIE.png    |  Bin 6632 -> 6590 bytes
 .../baselines/MXDGIR_Integration_defaultDDL.png |  Bin 7481 -> 7124 bytes
 .../MXDGIR_Integration_defaultHSlider.png       |  Bin 9543 -> 8467 bytes
 .../baselines/MXDGIR_Integration_defaultIR.png  |  Bin 6754 -> 6715 bytes
 .../baselines/MXDGIR_Integration_defaultIR2.png |  Bin 6548 -> 6511 bytes
 .../MXDGIR_Integration_defaultImage.png         |  Bin 51185 -> 53105 bytes
 .../MXDGIR_Integration_defaultLabel.png         |  Bin 7260 -> 6893 bytes
 .../MXDGIR_Integration_dropDownList_1.png       |  Bin 7481 -> 7124 bytes
 .../MXDGIR_Integration_dropDownList_2.png       |  Bin 7218 -> 6687 bytes
 .../MXDGIR_Integration_dropDownList_3.png       |  Bin 7348 -> 6724 bytes
 .../baselines/MXDGIR_Integration_newDDLIR.png   |  Bin 18550 -> 18821 bytes
 .../baselines/MXDGIR_Integration_newRangeIR.png |  Bin 14973 -> 14687 bytes
 .../baselines/MXTIR_addEmptyBranch_001.png      |  Bin 2528 -> 2527 bytes
 .../baselines/MXTIR_addEmptyBranch_002.png      |  Bin 2529 -> 2529 bytes
 .../baselines/MXTIR_addEmptyBranch_003.png      |  Bin 1355 -> 2333 bytes
 .../baselines/MXTIR_bitMapImage_renderer001.png |  Bin 6426 -> 6492 bytes
 .../MXTIR_dropDownList_renderer001.png          |  Bin 2681 -> 2579 bytes
 .../MXTIR_dropDownList_renderer002.png          |  Bin 2681 -> 2579 bytes
 .../baselines/MXTIR_itemEditor_001.png          |  Bin 2259 -> 8032 bytes
 .../baselines/MXTIR_itemEditor_002.png          |  Bin 5097 -> 4794 bytes
 .../baselines/MXTIR_label_renderer001.png       |  Bin 6426 -> 6492 bytes
 .../MXTIR_largeContent_renderer001.png          |  Bin 7073 -> 5929 bytes
 .../baselines/MXTIR_mixContent_renderer001.png  |  Bin 5255 -> 5376 bytes
 .../baselines/MXTIR_mixContent_renderer002.png  |  Bin 5179 -> 5343 bytes
 .../baselines/MXTIR_mixContent_renderer003.png  |  Bin 5193 -> 5332 bytes
 .../baselines/MXTIR_primitives_renderer001.png  |  Bin 2198 -> 2199 bytes
 .../MXTIR_removeItemFromBranch_001_1.png        |  Bin 2654 -> 2654 bytes
 .../MXTIR_removeItemFromBranch_001_2.png        |  Bin 2069 -> 2069 bytes
 .../properties/MXTIR_properties_main.mxml       |   15 -
 .../baselines/MXDGIR_Properties_enabled.png     |  Bin 9120 -> 7969 bytes
 .../baselines/MXDGIR_Properties_height.png      |  Bin 16696 -> 14696 bytes
 .../baselines/MXDGIR_Properties_states_1.png    |  Bin 6494 -> 6449 bytes
 .../baselines/MXDGIR_Properties_states_2.png    |  Bin 6248 -> 5993 bytes
 .../baselines/MXDGIR_Properties_width.png       |  Bin 9425 -> 8312 bytes
 .../MXTIR_disclosureGroup_setter_001.png        |  Bin 6404 -> 6448 bytes
 .../MXTIR_disclosureGroup_setter_002.png        |  Bin 7090 -> 6960 bytes
 .../MXTIR_disclosureGroup_setter_003.png        |  Bin 7090 -> 6960 bytes
 .../MXTIR_disclosureGroup_setter_004.png        |  Bin 7090 -> 6960 bytes
 .../baselines/MXTIR_layout_haloContent_001.png  |  Bin 4983 -> 4983 bytes
 .../MXTIR_layout_haloContent_001_mac.png        |  Bin 4983 -> 0 bytes
 .../baselines/MXTIR_layout_resize_001.png       |  Bin 5371 -> 5583 bytes
 .../baselines/MXTIR_layout_resize_002.png       |  Bin 5749 -> 5984 bytes
 .../baselines/MXTIR_layout_resize_003.png       |  Bin 5909 -> 5622 bytes
 .../baselines/MXTIR_layout_resize_004.png       |  Bin 9100 -> 8697 bytes
 .../baselines/MXTIR_layout_size_001.png         |  Bin 3939 -> 3917 bytes
 .../baselines/MXTIR_layout_size_002.png         |  Bin 4161 -> 4137 bytes
 .../baselines/MXDGIR_Styles_chromeColor.png     |  Bin 9144 -> 8169 bytes
 .../styles/baselines/MXDGIR_Styles_color.png    |  Bin 8534 -> 7771 bytes
 .../styles/baselines/MXDGIR_Styles_fontSize.png |  Bin 9626 -> 8581 bytes
 .../baselines/MXDGIR_Styles_fontSize2.png       |  Bin 10334 -> 9236 bytes
 .../baselines/MXDGIR_Styles_fontStyle.png       |  Bin 9024 -> 8736 bytes
 .../baselines/MXDGIR_Styles_fontStyle2.png      |  Bin 9572 -> 9391 bytes
 .../baselines/MXDGIR_Styles_fontWeight.png      |  Bin 8998 -> 8073 bytes
 .../baselines/MXDGIR_Styles_fontWeight2.png     |  Bin 9600 -> 8595 bytes
 .../styles/baselines/MXDGIR_Styles_styledIR.png |  Bin 14183 -> 14004 bytes
 .../baselines/MXDGIR_Styles_symbolColor.png     |  Bin 8976 -> 7937 bytes
 .../baselines/MXDGIR_Styles_textAlign.png       |  Bin 8988 -> 7836 bytes
 .../baselines/MXTIR_alternatingItemColors01.png |  Bin 10857 -> 10633 bytes
 .../baselines/MXTIR_alternatingItemColors02.png |  Bin 10910 -> 10694 bytes
 .../MXTIR_alternatingItemColors_String.png      |  Bin 10857 -> 10633 bytes
 .../MXTIR_alternatingItemColors_render1.png     |  Bin 10944 -> 10701 bytes
 .../MXTIR_alternatingItemColors_render2.png     |  Bin 10982 -> 10756 bytes
 .../styles/baselines/MXTIR_color_render1.png    |  Bin 7876 -> 7815 bytes
 .../styles/baselines/MXTIR_color_render3.png    |  Bin 7797 -> 7819 bytes
 .../MXTIR_contentBackGroundColor_render1.png    |  Bin 7797 -> 7819 bytes
 .../MXTIR_contentBackGroundColor_render2.png    |  Bin 7797 -> 7819 bytes
 .../MXTIR_defaultLeafIcon_setstyle.png          |  Bin 7300 -> 7234 bytes
 .../MXTIR_discloseCloseIcon_setstyle.png        |  Bin 7941 -> 7872 bytes
 .../MXTIR_discloseOpenIcon_setstyle.png         |  Bin 7457 -> 7407 bytes
 .../baselines/MXTIR_fileCloseIcon_setstyle.png  |  Bin 7378 -> 7329 bytes
 .../baselines/MXTIR_fileOpenIcon_setstyle.png   |  Bin 7952 -> 7630 bytes
 .../styles/baselines/MXTIR_indentation_neg.png  |  Bin 8361 -> 7989 bytes
 .../styles/baselines/MXTIR_indentation_pos.png  |  Bin 8114 -> 7754 bytes
 .../baselines/MXTIR_largeLeafIcon_setstyle.png  |  Bin 7303 -> 7242 bytes
 .../baselines/MXTIR_longLeafIcon_setstyle.png   |  Bin 7303 -> 7242 bytes
 .../baselines/MXTIR_paddingLeft_setstyle.png    |  Bin 5585 -> 5384 bytes
 .../baselines/MXTIR_paddingRight_setstyle.png   |  Bin 5675 -> 5466 bytes
 .../styles/baselines/MXTIR_rollOverColor01.png  |  Bin 8391 -> 8041 bytes
 .../styles/baselines/MXTIR_selectionColor01.png |  Bin 7330 -> 7044 bytes
 .../MXTIR_selectionDisabledColor01.png          |  Bin 8251 -> 7532 bytes
 .../baselines/MXTIR_textRollOverColor01.png     |  Bin 8498 -> 8127 bytes
 .../baselines/MXTIR_textSelectedColor01.png     |  Bin 4538 -> 4539 bytes
 ...NavigatorContent_integration_containers.mxml |    8 +-
 .../NavigatorContent_integration_scrolling.mxml |   20 +-
 .../NavigatorContent_integration_sizing.mxml    |    2 +-
 .../baselines/integration_acc_test1.png         |  Bin 8113 -> 8043 bytes
 .../baselines/integration_acc_test2.png         |  Bin 6788 -> 6996 bytes
 .../baselines/integration_acc_test3.png         |  Bin 6681 -> 7084 bytes
 .../baselines/integration_acc_test5.png         |  Bin 6762 -> 6772 bytes
 .../baselines/integration_acc_test6.png         |  Bin 6954 -> 6908 bytes
 .../baselines/integration_interact_test1.png    |  Bin 1286 -> 1288 bytes
 .../baselines/integration_scrolling_test1.png   |  Bin 3319 -> 3324 bytes
 .../baselines/integration_scrolling_test10.png  |  Bin 2953 -> 2963 bytes
 .../baselines/integration_scrolling_test2.png   |  Bin 3711 -> 3710 bytes
 .../baselines/integration_scrolling_test3.png   |  Bin 3679 -> 3686 bytes
 .../baselines/integration_scrolling_test4.png   |  Bin 3673 -> 3682 bytes
 .../baselines/integration_scrolling_test5.png   |  Bin 4897 -> 4894 bytes
 .../baselines/integration_scrolling_test6.png   |  Bin 4866 -> 4872 bytes
 .../baselines/integration_scrolling_test7.png   |  Bin 4874 -> 4878 bytes
 .../baselines/integration_scrolling_test8.png   |  Bin 2993 -> 2989 bytes
 .../baselines/integration_scrolling_test9.png   |  Bin 3024 -> 3035 bytes
 .../integration_sizing_absolutevalue_test1.png  |  Bin 3478 -> 3494 bytes
 .../integration_sizing_absolutevalue_test2.png  |  Bin 3463 -> 3475 bytes
 .../integration_sizing_absolutevalue_test3.png  |  Bin 3593 -> 3606 bytes
 .../integration_sizing_absolutevalue_test4.png  |  Bin 3357 -> 3374 bytes
 .../integration_sizing_absolutevalue_test5.png  |  Bin 3357 -> 3374 bytes
 .../integration_sizing_absolutevalue_test6.png  |  Bin 3357 -> 3374 bytes
 .../baselines/integration_tabnav_test1.png      |  Bin 3369 -> 3374 bytes
 .../baselines/integration_tabnav_test2.png      |  Bin 3360 -> 3258 bytes
 .../baselines/integration_tabnav_test3.png      |  Bin 3430 -> 3311 bytes
 .../baselines/integration_tabnav_test5.png      |  Bin 3309 -> 3220 bytes
 .../baselines/integration_tabnav_test6.png      |  Bin 3335 -> 3226 bytes
 .../baselines/integration_viewstack_test1.png   |  Bin 1361 -> 1265 bytes
 .../baselines/integration_viewstack_test2.png   |  Bin 1371 -> 1274 bytes
 .../baselines/integration_viewstack_test3.png   |  Bin 1495 -> 1403 bytes
 .../baselines/integration_viewstack_test5.png   |  Bin 1345 -> 1259 bytes
 .../baselines/integration_viewstack_test6.png   |  Bin 1355 -> 1256 bytes
 .../styles/NavigatorContent_styles.mxml         |    4 +-
 .../styles/NavigatorContent_styles_css.mxml     |    2 +-
 .../styles/baselines/styles_as_test1.png        |  Bin 486 -> 491 bytes
 .../styles/baselines/styles_as_test2.png        |  Bin 497 -> 484 bytes
 .../styles/baselines/styles_css_test1.png       |  Bin 486 -> 491 bytes
 .../styles/baselines/styles_css_test2.png       |  Bin 497 -> 484 bytes
 .../styles/baselines/styles_mxml_test1.png      |  Bin 486 -> 491 bytes
 .../styles/baselines/styles_mxml_test2.png      |  Bin 497 -> 484 bytes
 .../Baselines/NumericStepper_autoResize.png     |  Bin 1270 -> 1395 bytes
 .../Baselines/NumericStepper_disabled.png       |  Bin 434 -> 481 bytes
 .../Baselines/NumericStepper_focus.png          |  Bin 1244 -> 1258 bytes
 .../Baselines/NumericStepper_height.png         |  Bin 760 -> 772 bytes
 .../Baselines/NumericStepper_maxChars.png       |  Bin 963 -> 1018 bytes
 .../Baselines/NumericStepper_maxChars2.png      |  Bin 846 -> 863 bytes
 .../Baselines/NumericStepper_skin1.png          |  Bin 1022 -> 1048 bytes
 .../Baselines/NumericStepper_valueDisplay.png   |  Bin 491 -> 476 bytes
 .../NumericStepper_valueFormatFunction_1.png    |  Bin 613 -> 655 bytes
 .../NumericStepper_valueFormatFunction_2.png    |  Bin 624 -> 668 bytes
 .../NumericStepper_valueParseFunction_1.png     |  Bin 438 -> 412 bytes
 .../NumericStepper_valueParseFunction_2.png     |  Bin 439 -> 405 bytes
 .../Baselines/NumericStepper_width.png          |  Bin 619 -> 626 bytes
 .../Properties/NumericStepper_Positioning.mxml  |   13 +-
 .../SWFs/NumericStepper_basic.mxml              |   16 +-
 .../SWFs/NumericStepper_basic2.mxml             |   10 +-
 .../SWFs/NumericStepper_states.mxml             |    8 +-
 .../SWFs/NumericStepper_styles_basic.mxml       |    8 +-
 ...ricStepper_Styles_Mirroring_as_default_1.png |  Bin 539 -> 556 bytes
 ...ricStepper_Styles_Mirroring_as_default_2.png |  Bin 542 -> 558 bytes
 ...umericStepper_Styles_Mirroring_default_1.png |  Bin 539 -> 556 bytes
 ...umericStepper_Styles_Mirroring_default_2.png |  Bin 542 -> 558 bytes
 ...mericStepper_Styles_Mirroring_keyboard_1.png |  Bin 638 -> 641 bytes
 ...mericStepper_Styles_Mirroring_keyboard_2.png |  Bin 573 -> 641 bytes
 ...tepper_Styles_Mirroring_mxml_changeDir_1.png |  Bin 504 -> 514 bytes
 ...tepper_Styles_Mirroring_mxml_changeDir_2.png |  Bin 500 -> 517 bytes
 ...ricStepper_Styles_Mirroring_mxml_default.png |  Bin 542 -> 558 bytes
 ...pper_Styles_Mirroring_parentContainer1_1.png |  Bin 1161 -> 1164 bytes
 ...pper_Styles_Mirroring_parentContainer1_2.png |  Bin 1166 -> 1174 bytes
 ...pper_Styles_Mirroring_parentContainer2_1.png |  Bin 1164 -> 1172 bytes
 ...pper_Styles_Mirroring_parentContainer2_2.png |  Bin 1166 -> 1174 bytes
 ...tepper_Styles_Mirroring_parentContainer3.png |  Bin 1156 -> 1165 bytes
 ...tepper_Styles_Mirroring_parentContainer4.png |  Bin 2327 -> 2349 bytes
 ...NumericStepper_Styles_Mirroring_rotation.png |  Bin 1468 -> 1547 bytes
 .../NumericStepper_Styles_Mirroring_styles.png  |  Bin 593 -> 622 bytes
 .../NumericStepper_Styles_Mirroring_value.png   |  Bin 680 -> 719 bytes
 .../NumericStepper_styles_baseColor.png         |  Bin 521 -> 545 bytes
 ...NumericStepper_styles_baseColor_disabled.png |  Bin 444 -> 483 bytes
 .../Baselines/NumericStepper_styles_center.png  |  Bin 1662 -> 1677 bytes
 .../Baselines/NumericStepper_styles_color.png   |  Bin 517 -> 542 bytes
 .../NumericStepper_styles_color_disabled.png    |  Bin 448 -> 474 bytes
 ...ricStepper_styles_contentBackgroundColor.png |  Bin 482 -> 510 bytes
 .../NumericStepper_styles_digitCase_1.png       |  Bin 1343 -> 1438 bytes
 .../NumericStepper_styles_digitCase_2.png       |  Bin 1343 -> 1438 bytes
 .../NumericStepper_styles_digitWidth_1.png      |  Bin 1247 -> 1357 bytes
 .../NumericStepper_styles_digitWidth_2.png      |  Bin 1247 -> 1357 bytes
 .../NumericStepper_styles_focusColor.png        |  Bin 742 -> 782 bytes
 ...Stepper_styles_focusedTextSelectionColor.png |  Bin 495 -> 537 bytes
 .../NumericStepper_styles_fontSize_large.png    |  Bin 1428 -> 1640 bytes
 .../NumericStepper_styles_fontSize_mxml.png     |  Bin 1143 -> 1307 bytes
 .../NumericStepper_styles_fontSize_small.png    |  Bin 497 -> 481 bytes
 .../NumericStepper_styles_fontStyle_1.png       |  Bin 542 -> 551 bytes
 .../NumericStepper_styles_fontStyle_2.png       |  Bin 542 -> 563 bytes
 .../NumericStepper_styles_fontWeight_1.png      |  Bin 542 -> 551 bytes
 .../NumericStepper_styles_fontWeight_2.png      |  Bin 542 -> 566 bytes
 .../NumericStepper_styles_lineThrough.png       |  Bin 540 -> 548 bytes
 .../NumericStepper_styles_multiple.png          |  Bin 491 -> 486 bytes
 .../NumericStepper_styles_positions1.png        |  Bin 1573 -> 1550 bytes
 .../NumericStepper_styles_positions2.png        |  Bin 1622 -> 1634 bytes
 .../NumericStepper_styles_symbolColor.png       |  Bin 542 -> 551 bytes
 .../NumericStepper_styles_textAlignCenter.png   |  Bin 580 -> 585 bytes
 .../NumericStepper_styles_textAlignRight.png    |  Bin 579 -> 585 bytes
 .../NumericStepper_styles_textAlpha_1.png       |  Bin 542 -> 551 bytes
 .../NumericStepper_styles_textAlpha_2.png       |  Bin 533 -> 540 bytes
 .../Styles/NumericStepper_Styles.mxml           |   16 +-
 .../Panel_Integration_controlBar_alpha.png      |  Bin 2927 -> 2645 bytes
 .../Panel_Integration_controlBar_baseColor.png  |  Bin 5788 -> 5853 bytes
 .../Panel_Integration_controlBar_customSkin.png |  Bin 6221 -> 5978 bytes
 ..._controlBar_customSkin_introduceControls.png |  Bin 3828 -> 3601 bytes
 ...ion_controlBar_customSkin_removeControls.png |  Bin 1570 -> 1577 bytes
 .../Panel_Integration_controlBar_disabled.png   |  Bin 2927 -> 2645 bytes
 ...ation_controlBar_disabled_change_content.png |  Bin 2955 -> 2744 bytes
 ...ration_controlBar_disabled_change_layout.png |  Bin 3599 -> 3295 bytes
 .../Panel_Integration_controlBar_enabled.png    |  Bin 3250 -> 3025 bytes
 .../Panel_Integration_controlBar_focus_1.png    |  Bin 5328 -> 4901 bytes
 .../Panel_Integration_controlBar_focus_2.png    |  Bin 5587 -> 5217 bytes
 .../Panel_Integration_controlBar_focus_3.png    |  Bin 5256 -> 4784 bytes
 .../Panel_Integration_controlBar_layout_add.png |  Bin 3280 -> 3127 bytes
 ...ntegration_controlBar_layout_add_element.png |  Bin 3467 -> 3261 bytes
 ...Panel_Integration_controlBar_layout_hide.png |  Bin 1826 -> 1844 bytes
 ...gration_controlBar_layout_increaseHeight.png |  Bin 3954 -> 3765 bytes
 ...l_Integration_controlBar_layout_overflow.png |  Bin 3177 -> 2844 bytes
 ...el_Integration_controlBar_layout_overlap.png |  Bin 2886 -> 2561 bytes
 ...nel_Integration_controlBar_layout_remove.png |  Bin 1686 -> 1699 bytes
 ...gration_controlBar_layout_remove_element.png |  Bin 3066 -> 2855 bytes
 ...ntegration_controlBar_layout_titleHeight.png |  Bin 3294 -> 3062 bytes
 .../Panel_Integration_controlBar_scrolling.png  |  Bin 4601 -> 4407 bytes
 ...el_Integration_controlBar_states_content.png |  Bin 5081 -> 4580 bytes
 ...nel_Integration_controlBar_states_layout.png |  Bin 3931 -> 3769 bytes
 ...egration_controlBar_states_visible_false.png |  Bin 1666 -> 1674 bytes
 ...tegration_controlBar_states_visible_true.png |  Bin 3233 -> 2996 bytes
 .../Panel_Integration_controlBar_styles.png     |  Bin 3250 -> 3072 bytes
 ...ration_controlBar_styles_controlBarGroup.png |  Bin 3741 -> 3468 bytes
 .../Panel_Integration_controlBar.mxml           |    2 +-
 .../Panel/Mirroring/baselines/Panel_Title.png   |  Bin 10376 -> 9492 bytes
 .../Panel/Mirroring/sPanel_Mirroring.mxml       |    6 +-
 .../Panel_Properties_DfrdInst_auto.png          |  Bin 20800 -> 19496 bytes
 .../Panel_Properties_DfrdInst_none_1.png        |  Bin 653 -> 652 bytes
 .../Panel_Properties_DfrdInst_none_2.png        |  Bin 20955 -> 19645 bytes
 .../Panel_Properties_absoluteLayout.png         |  Bin 19792 -> 19259 bytes
 .../Baselines/Panel_Properties_alpha_1.png      |  Bin 20767 -> 19465 bytes
 .../Baselines/Panel_Properties_alpha_3.png      |  Bin 21234 -> 19771 bytes
 .../Baselines/Panel_Properties_baseline1_1.png  |  Bin 4960 -> 4821 bytes
 .../Baselines/Panel_Properties_baseline1_2.png  |  Bin 5208 -> 5244 bytes
 .../Baselines/Panel_Properties_baseline2_1.png  |  Bin 5280 -> 5294 bytes
 .../Baselines/Panel_Properties_baseline2_2.png  |  Bin 5725 -> 5677 bytes
 .../Baselines/Panel_Properties_baseline3_1.png  |  Bin 5280 -> 5294 bytes
 .../Baselines/Panel_Properties_baseline3_2.png  |  Bin 7055 -> 6249 bytes
 .../Baselines/Panel_Properties_bottom.png       |  Bin 10032 -> 9839 bytes
 ...erties_controlBarContent_changeAtRuntime.png |  Bin 3353 -> 3174 bytes
 ...nel_Properties_controlBarContent_graphic.png |  Bin 2060 -> 2063 bytes
 .../Panel_Properties_controlBarContent_halo.png |  Bin 2971 -> 2977 bytes
 ...roperties_controlBarContent_setAtRuntime.png |  Bin 3093 -> 2925 bytes
 ...Properties_controlBarContent_setToDouble.png |  Bin 3476 -> 3277 bytes
 ..._Properties_controlBarContent_setToEmpty.png |  Bin 1917 -> 1923 bytes
 ...Properties_controlBarContent_setToNull_1.png |  Bin 1634 -> 1642 bytes
 ...Properties_controlBarContent_setToNull_2.png |  Bin 1726 -> 1738 bytes
 ...Properties_controlBarContent_setToSingle.png |  Bin 3078 -> 2937 bytes
 ..._Properties_controlBarContent_setViaMXML.png |  Bin 3307 -> 3073 bytes
 .../Panel_Properties_controlBarLayout_basic.png |  Bin 2637 -> 2578 bytes
 ...l_Properties_controlBarLayout_horizontal.png |  Bin 3259 -> 3050 bytes
 ...l_Properties_controlBarLayout_modify_gap.png |  Bin 3363 -> 3127 bytes
 ...rties_controlBarLayout_modify_paddingTop.png |  Bin 3345 -> 3106 bytes
 .../Panel_Properties_controlBarLayout_tile.png  |  Bin 3741 -> 3577 bytes
 ...nel_Properties_controlBarLayout_vertical.png |  Bin 4022 -> 3861 bytes
 ...Panel_Properties_controlBarVisible_false.png |  Bin 1726 -> 1738 bytes
 ..._Properties_controlBarVisible_false_mxml.png |  Bin 1745 -> 1764 bytes
 ...roperties_controlBarVisible_layout_false.png |  Bin 1755 -> 1750 bytes
 ...Properties_controlBarVisible_layout_true.png |  Bin 3322 -> 3101 bytes
 .../Baselines/Panel_Properties_disabled1.png    |  Bin 21234 -> 19771 bytes
 .../Baselines/Panel_Properties_disabled2.png    |  Bin 20883 -> 19634 bytes
 .../Baselines/Panel_Properties_disabled3.png    |  Bin 19995 -> 18645 bytes
 .../Panel_Properties_errorString2_1.png         |  Bin 5494 -> 5334 bytes
 .../Panel_Properties_errorString2_2.png         |  Bin 6399 -> 6260 bytes
 .../Baselines/Panel_Properties_fixedSize.png    |  Bin 5896 -> 5658 bytes
 .../Panel_Properties_horizontalLayout.png       |  Bin 6758 -> 6513 bytes
 .../Panel_Properties_includeInLayoutFalse.png   |  Bin 11957 -> 10957 bytes
 .../Baselines/Panel_Properties_left.png         |  Bin 10219 -> 10027 bytes
 .../Baselines/Panel_Properties_maxSize.png      |  Bin 5893 -> 5666 bytes
 .../Baselines/Panel_Properties_position1.png    |  Bin 10267 -> 10065 bytes
 .../Baselines/Panel_Properties_position2.png    |  Bin 9919 -> 9745 bytes
 .../Baselines/Panel_Properties_position3.png    |  Bin 10300 -> 10091 bytes
 .../Baselines/Panel_Properties_position4.png    |  Bin 10224 -> 10032 bytes
 .../Baselines/Panel_Properties_right.png        |  Bin 10151 -> 9946 bytes
 .../Baselines/Panel_Properties_rotate.png       |  Bin 12578 -> 12286 bytes
 .../Baselines/Panel_Properties_rotateX.png      |  Bin 16420 -> 15790 bytes
 .../Baselines/Panel_Properties_rotateY.png      |  Bin 17114 -> 16580 bytes
 .../Baselines/Panel_Properties_size.png         |  Bin 6349 -> 6085 bytes
 .../Baselines/Panel_Properties_size_runTime.png |  Bin 8568 -> 7882 bytes
 .../Baselines/Panel_Properties_skinned.png      |  Bin 6727 -> 6421 bytes
 .../Baselines/Panel_Properties_skinned@air.png  |  Bin 0 -> 6401 bytes
 .../Panel_Properties_skinnedNoTitle.png         |  Bin 4683 -> 4399 bytes
 .../Baselines/Panel_Properties_title1.png       |  Bin 22014 -> 20468 bytes
 .../Baselines/Panel_Properties_title2.png       |  Bin 23790 -> 21717 bytes
 .../Baselines/Panel_Properties_title3.png       |  Bin 21669 -> 20182 bytes
 .../Baselines/Panel_Properties_title4.png       |  Bin 29363 -> 28513 bytes
 .../Baselines/Panel_Properties_title5.png       |  Bin 12822 -> 11677 bytes
 .../Baselines/Panel_Properties_toolTip_1.png    |  Bin 21538 -> 20249 bytes
 .../Baselines/Panel_Properties_toolTip_2.png    |  Bin 22185 -> 20879 bytes
 .../Baselines/Panel_Properties_top.png          |  Bin 10035 -> 9837 bytes
 .../Baselines/Panel_Properties_visibleFalse.png |  Bin 565 -> 567 bytes
 .../Panel/Properties/Panel_Properties.mxml      |    8 +-
 .../Properties/Panel_Properties_basic3.mxml     |    1 +
 .../Properties/Panel_Properties_position.mxml   |    2 +-
 .../Panel/SWFs/Comps/CustomPanel.mxml           |    2 +-
 .../Panel/SWFs/Comps/CustomPanelCpAuto.mxml     |    2 +-
 .../Panel/SWFs/Comps/CustomPanelCpNone.mxml     |    2 +-
 .../Panel/SWFs/Comps/CustomPanelDisabled.mxml   |    2 +-
 .../Panel/SWFs/Comps/CustomPanelMaxSize.mxml    |    2 +-
 .../Panel/SWFs/Comps/CustomPanelRotate.mxml     |    2 +-
 .../Panel/SWFs/Comps/CustomPanelSize.mxml       |    2 +-
 .../SWFs/Comps/CustomStylePaddingPanel.mxml     |    2 +-
 .../Panel/SWFs/Comps/CustomStylePanel.mxml      |    2 +-
 .../Panel/SWFs/Comps/CustomStylePos2Panel.mxml  |    2 +-
 .../Panel/SWFs/Comps/CustomStylePosPanel.mxml   |    2 +-
 .../components/Panel/SWFs/Panel_Mirroring.mxml  |   17 +-
 .../components/Panel/SWFs/Panel_basic.mxml      |    2 +-
 .../components/Panel/SWFs/Panel_basic2.mxml     |    2 +-
 .../components/Panel/SWFs/Panel_basic3.mxml     |   15 +-
 .../components/Panel/SWFs/Panel_dfrdInst.mxml   |    2 +-
 .../components/Panel/SWFs/Panel_layout.mxml     |   10 +-
 .../components/Panel/SWFs/Panel_position.mxml   |   15 +-
 .../components/Panel/SWFs/Panel_states.mxml     |   12 +-
 .../Panel/SWFs/Panel_styles_position.mxml       |   25 +-
 .../components/Panel/SWFs/Panel_visual.mxml     |   10 +-
 .../Baselines/Panel_Styles_backgroundColor1.png |  Bin 24615 -> 23332 bytes
 .../Baselines/Panel_Styles_backgroundColor2.png |  Bin 23469 -> 22567 bytes
 .../Baselines/Panel_Styles_backgroundColor3.png |  Bin 23995 -> 23078 bytes
 .../Baselines/Panel_Styles_backgroundColor4.png |  Bin 24584 -> 23770 bytes
 .../Styles/Baselines/Panel_Styles_baseColor.png |  Bin 22133 -> 20793 bytes
 .../Baselines/Panel_Styles_borderVisible1.png   |  Bin 24259 -> 22592 bytes
 .../Baselines/Panel_Styles_borderVisible2.png   |  Bin 22886 -> 21372 bytes
 .../Panel_Styles_contentBackgroundAlpha.png     |  Bin 20610 -> 19481 bytes
 .../Panel_Styles_contentBackgroundColor.png     |  Bin 19598 -> 18901 bytes
 .../Baselines/Panel_Styles_cornerRadius1.png    |  Bin 22287 -> 22955 bytes
 .../Baselines/Panel_Styles_cornerRadius2.png    |  Bin 22881 -> 23400 bytes
 .../Baselines/Panel_Styles_cornerRadius3.png    |  Bin 23792 -> 24077 bytes
 .../Panel_Styles_dropShadowVisible1.png         |  Bin 24387 -> 22744 bytes
 .../Panel_Styles_dropShadowVisible2.png         |  Bin 23235 -> 21724 bytes
 .../Styles/Baselines/Panel_Styles_fontSize1.png |  Bin 25864 -> 24629 bytes
 .../Styles/Baselines/Panel_Styles_fontSize2.png |  Bin 27140 -> 25512 bytes
 .../Baselines/Panel_Styles_fontStyle1.png       |  Bin 21030 -> 19913 bytes
 .../Baselines/Panel_Styles_fontStyle2.png       |  Bin 21913 -> 20775 bytes
 .../Baselines/Panel_Styles_fontStyle3.png       |  Bin 28648 -> 27797 bytes
 .../Baselines/Panel_Styles_fontWeight.png       |  Bin 20781 -> 19493 bytes
 .../Baselines/Panel_Styles_fontWeight2.png      |  Bin 26520 -> 25201 bytes
 .../Baselines/Panel_Styles_lineThrough.png      |  Bin 19988 -> 18826 bytes
 .../Panel_Styles_lineThrough_airOnly.png        |  Bin 19988 -> 18826 bytes
 .../Styles/Baselines/Panel_Styles_misc.png      |  Bin 23657 -> 22994 bytes
 .../Styles/Baselines/Panel_Styles_position.png  |  Bin 28498 -> 26730 bytes
 .../Baselines/Panel_Styles_symbolColor.png      |  Bin 20290 -> 18995 bytes
 .../Baselines/Panel_Styles_symbolColor2.png     |  Bin 20574 -> 19542 bytes
 .../Baselines/Panel_Styles_symbolColor3.png     |  Bin 19715 -> 18662 bytes
 .../Baselines/Panel_Styles_symbolColor4.png     |  Bin 20155 -> 19247 bytes
 ..._Methods_updatePopUpTransform_rotation_1.png |  Bin 5905 -> 5714 bytes
 ..._Methods_updatePopUpTransform_rotation_2.png |  Bin 9367 -> 9477 bytes
 ...or_Methods_updatePopUpTransform_scaleX_1.png |  Bin 5905 -> 5714 bytes
 ...or_Methods_updatePopUpTransform_scaleX_2.png |  Bin 6215 -> 5967 bytes
 .../PopUpAnchor_Properties_displayPopUp_1.png   |  Bin 4224 -> 3931 bytes
 .../PopUpAnchor_Properties_displayPopUp_2.png   |  Bin 7628 -> 7420 bytes
 .../PopUpAnchor_Properties_displayPopUp_3.png   |  Bin 4224 -> 3931 bytes
 ...opUpAnchor_Properties_displayPopUp_btn_1.png |  Bin 4224 -> 3931 bytes
 ...opUpAnchor_Properties_displayPopUp_btn_2.png |  Bin 7751 -> 7700 bytes
 ...opUpAnchor_Properties_displayPopUp_btn_3.png |  Bin 4320 -> 4230 bytes
 ...pUpAnchor_Properties_displayPopUp_states.png |  Bin 3869 -> 3579 bytes
 .../Baselines/PopUpAnchor_Properties_images.png |  Bin 6435 -> 6324 bytes
 ...operties_popUpHeightMatchesAnchorHeight1.png |  Bin 1968 -> 2046 bytes
 ...operties_popUpHeightMatchesAnchorHeight2.png |  Bin 2024 -> 2102 bytes
 ...operties_popUpHeightMatchesAnchorHeight3.png |  Bin 2310 -> 2396 bytes
 ...operties_popUpHeightMatchesAnchorHeight4.png |  Bin 1968 -> 2046 bytes
 ...pUpAnchor_Properties_popUpPosition_below.png |  Bin 7923 -> 7825 bytes
 ...UpAnchor_Properties_popUpPosition_center.png |  Bin 6524 -> 6578 bytes
 ...pUpAnchor_Properties_popUpPosition_exact.png |  Bin 6564 -> 6575 bytes
 ...opUpAnchor_Properties_popUpPosition_left.png |  Bin 8266 -> 8114 bytes
 ...pUpAnchor_Properties_popUpPosition_right.png |  Bin 8167 -> 8105 bytes
 ...PopUpAnchor_Properties_popUpPosition_top.png |  Bin 7911 -> 7760 bytes
 ...Properties_popUpWidthMatchesAnchorWidth1.png |  Bin 1968 -> 2046 bytes
 ...Properties_popUpWidthMatchesAnchorWidth2.png |  Bin 1887 -> 1964 bytes
 ...Properties_popUpWidthMatchesAnchorWidth3.png |  Bin 2081 -> 2168 bytes
 ...Properties_popUpWidthMatchesAnchorWidth4.png |  Bin 1968 -> 2046 bytes
 ...UpAnchor_Properties_position_defaultFlip.png |  Bin 6652 -> 6438 bytes
 ...PopUpAnchor_Properties_position_leftFlip.png |  Bin 6953 -> 6778 bytes
 ...UpAnchor_Properties_position_revertAbove.png |  Bin 5287 -> 5079 bytes
 ...UpAnchor_Properties_position_revertBelow.png |  Bin 5285 -> 5076 bytes
 ...pUpAnchor_Properties_position_revertLeft.png |  Bin 5282 -> 5072 bytes
 ...UpAnchor_Properties_position_revertRight.png |  Bin 5285 -> 5076 bytes
 ...opUpAnchor_Properties_position_rightFlip.png |  Bin 6954 -> 6776 bytes
 ...opUpAnchor_Properties_position_rotation1.png |  Bin 9367 -> 9477 bytes
 .../PopUpAnchor_Properties_position_topFlip.png |  Bin 6656 -> 6449 bytes
 ...PopUpAnchor_Properties_validator_invalid.png |  Bin 4160 -> 3858 bytes
 .../PopUpAnchor_Properties_validator_valid.png  |  Bin 4036 -> 3738 bytes
 .../Baselines/PopUpAnchor_Styles_baseColor.png  |  Bin 4751 -> 4852 bytes
 .../Baselines/PopUpAnchor_Styles_bottom.png     |  Bin 8915 -> 8803 bytes
 .../PopUpAnchor_Styles_horizontalCenter.png     |  Bin 9299 -> 9186 bytes
 .../Baselines/PopUpAnchor_Styles_left.png       |  Bin 8884 -> 8771 bytes
 .../PopUpAnchor_Styles_multiStyles.png          |  Bin 4821 -> 4865 bytes
 .../Baselines/PopUpAnchor_Styles_right.png      |  Bin 9298 -> 9188 bytes
 .../Styles/Baselines/PopUpAnchor_Styles_top.png |  Bin 8899 -> 8783 bytes
 .../PopUpAnchor_Styles_verticalCenter.png       |  Bin 8898 -> 8782 bytes
 .../Styles/PopUpAnchor_Styles_tester.mxml       |   16 +-
 .../FxRadioButton_integration_customSkin.png    |  Bin 1637 -> 1761 bytes
 ...utton_integration_customSkin_select_icon.png |  Bin 1667 -> 1773 bytes
 ...tton_integration_customSkin_select_label.png |  Bin 1667 -> 1773 bytes
 ...Button_method_getRadioButtonAt_set_label.png |  Bin 1206 -> 1099 bytes
 .../properties/FxRadioButton_properties.mxml    |   71 +-
 .../FxRadioButtonGroup_HaloContainer_focus.png  |  Bin 2174 -> 2140 bytes
 ...FxRadioButtonGroup_HaloContainer_general.png |  Bin 1557 -> 1340 bytes
 .../FxRadioButtonGroup_SparkContainer_focus.png |  Bin 2479 -> 2476 bytes
 ...xRadioButtonGroup_SparkContainer_general.png |  Bin 1850 -> 1687 bytes
 ...dioButtonGroup_disable_group_enable_item.png |  Bin 1121 -> 1445 bytes
 ...nGroup_disable_item_disable_enable_group.png |  Bin 2358 -> 2211 bytes
 ...ioButtonGroup_disabled_selected_by_mouse.png |  Bin 2181 -> 2211 bytes
 ...ttonGroup_disabled_selected_programmatic.png |  Bin 2420 -> 2242 bytes
 ...xRadioButtonGroup_enabled_property_false.png |  Bin 1121 -> 1445 bytes
 ...nabled_property_false_selection_by_mouse.png |  Bin 1121 -> 1445 bytes
 ...ttonGroup_enabled_property_false_tabbing.png |  Bin 1121 -> 1445 bytes
 ...RadioButtonGroup_enabled_property_toggle.png |  Bin 1850 -> 1687 bytes
 ...p_enabled_twowaybinding_property_default.png |  Bin 1850 -> 1687 bytes
 ...ButtonGroup_focus_tabbing_between_groups.png |  Bin 2045 -> 2097 bytes
 ...roup_select_by_mouse_disable_item_select.png |  Bin 2420 -> 2459 bytes
 ...Group_select_keyboard_arrow_down_up_wrap.png |  Bin 2318 -> 2397 bytes
 ...up_select_keyboard_arrow_left_right_wrap.png |  Bin 2318 -> 2397 bytes
 ..._select_programmatic_disable_item_select.png |  Bin 2420 -> 2459 bytes
 ...lectedValue_property_value_twowaybinding.png |  Bin 1931 -> 1751 bytes
 .../FxRadioButtonGroup_selected_by_mouse.png    |  Bin 2028 -> 1933 bytes
 ...ttonGroup_selected_by_mouse_change_mouse.png |  Bin 2169 -> 1948 bytes
 ...up_selected_by_mouse_programmatic_change.png |  Bin 1947 -> 1870 bytes
 ...tonGroup_selected_by_mouse_several_times.png |  Bin 2028 -> 1933 bytes
 ...ioButtonGroup_selected_by_mouse_spacebar.png |  Bin 2028 -> 1933 bytes
 ...FxRadioButtonGroup_selected_programmatic.png |  Bin 1939 -> 1749 bytes
 ...ButtonGroup_selected_programmatic_change.png |  Bin 1937 -> 1750 bytes
 ...Group_selected_programmatic_mouse_change.png |  Bin 2028 -> 1933 bytes
 ...nonexistent_value_selectedValue_property.png |  Bin 1850 -> 1687 bytes
 ...ioButtonGroup_set_selectedValue_property.png |  Bin 1931 -> 1751 bytes
 .../FxRadioButton_change_groupName.png          |  Bin 11656 -> 11357 bytes
 .../FxRadioButton_groupName_sparkGroup.png      |  Bin 11360 -> 11282 bytes
 ...Button_large_height_verticalAlign_bottom.png |  Bin 1872 -> 1834 bytes
 .../baselines/FxRadioButton_select_icon.png     |  Bin 1867 -> 1933 bytes
 .../FxRadioButton_select_keyboard_arrow.png     |  Bin 11699 -> 11397 bytes
 ...adioButton_select_keyboard_arrow_down_up.png |  Bin 2425 -> 2476 bytes
 ..._select_keyboard_arrow_down_up_invisible.png |  Bin 2320 -> 2360 bytes
 ...oButton_select_keyboard_arrow_left_right.png |  Bin 2506 -> 2556 bytes
 .../FxRadioButton_select_keyboard_space.png     |  Bin 11699 -> 11397 bytes
 .../baselines/FxRadioButton_select_label.png    |  Bin 2028 -> 1933 bytes
 .../FxRadioButton_select_label_second.png       |  Bin 2145 -> 1931 bytes
 ...Button_select_mouse_click_keyboard_space.png |  Bin 11519 -> 11422 bytes
 .../FxRadioButton_select_multiline_label.png    |  Bin 2609 -> 2492 bytes
 ...tton_tabbing_between_FxRadioButtonGroups.png |  Bin 11656 -> 11506 bytes
 .../baselines/FxRadioButton_toolTip.png         |  Bin 12950 -> 12585 bytes
 .../baselines/RadioButton_ErrorString.png       |  Bin 2485 -> 2490 bytes
 .../properties/baselines/RadioButton_label.png  |  Bin 1641 -> 1629 bytes
 .../baselines/RadioButton_label_disabled.png    |  Bin 1032 -> 1377 bytes
 .../baselines/RadioButton_label_focus_ring.png  |  Bin 1847 -> 1877 bytes
 ...ioButton_selected_property_by_click_true.png |  Bin 551 -> 551 bytes
 .../RadioButton_selected_property_default.png   |  Bin 439 -> 439 bytes
 .../RadioButton_selected_property_true.png      |  Bin 495 -> 495 bytes
 .../baselines/enabled_binding_sparkGrp.png      |  Bin 1121 -> 1445 bytes
 .../states/FxRadioButton_states.mxml            |   55 +-
 ...FxRadioButtonGroup_states_includeExclude.png |  Bin 7684 -> 7553 bytes
 ...ifferent_parent_containers_FxRadioButton.png |  Bin 1207 -> 972 bytes
 .../FxRadioButton_states_SDK_18468.png          |  Bin 1932 -> 1973 bytes
 .../fxradiobutton_SDK18468_selected_new.png     |  Bin 1885 -> 1931 bytes
 .../baselines/fxradiobutton_SDK18468_state2.png |  Bin 1850 -> 1687 bytes
 .../fxradiobutton_states_includeExclude_a.png   |  Bin 5745 -> 5637 bytes
 .../fxradiobutton_states_includeExclude_z.png   |  Bin 5630 -> 5550 bytes
 .../fxradiobutton_states_persist_selection.png  |  Bin 495 -> 495 bytes
 .../FxRadioButton_GlobalStyles_tester.mxml      |    2 +-
 .../FxRadioButton_Style_baseColor_disabled.png  |  Bin 954 -> 1045 bytes
 .../FxRadioButton_Style_baseColor_mxml.png      |  Bin 1258 -> 1260 bytes
 .../FxRadioButton_Style_color_disabled.png      |  Bin 652 -> 658 bytes
 .../FxRadioButton_Style_color_mxml.png          |  Bin 766 -> 733 bytes
 .../FxRadioButton_Style_focusColor_mxml.png     |  Bin 1575 -> 1554 bytes
 .../FxRadioButton_Style_symbolColor_mxml.png    |  Bin 1389 -> 1405 bytes
 .../alignmentBaseline_ascent_RadioButton.png    |  Bin 2401 -> 2356 bytes
 .../alignmentBaseline_descent_RadioButton.png   |  Bin 2888 -> 2786 bytes
 ...ntBaseline_ideographicBottom_RadioButton.png |  Bin 2888 -> 2786 bytes
 ...ntBaseline_ideographicCenter_RadioButton.png |  Bin 2997 -> 2820 bytes
 ...nmentBaseline_ideographicTop_RadioButton.png |  Bin 2401 -> 2356 bytes
 .../alignmentBaseline_roman_RadioButton.png     |  Bin 3002 -> 2818 bytes
 .../baselines/baselineShift_50_RadioButton.png  |  Bin 2747 -> 3138 bytes
 .../baselineShift_neg50_RadioButton.png         |  Bin 1497 -> 1003 bytes
 .../styles/baselines/bottom_20_RadioButton.png  |  Bin 1463 -> 1464 bytes
 .../styles/baselines/bottom_50_RadioButton.png  |  Bin 1462 -> 1462 bytes
 .../baselines/cffHinting_none_RadioButton.png   |  Bin 1387 -> 1423 bytes
 .../baselines/color_blue_FxRadioButton.png      |  Bin 1202 -> 1296 bytes
 .../baselines/color_default_FxRadioButton.png   |  Bin 1571 -> 1515 bytes
 .../baselines/color_green_FxRadioButton.png     |  Bin 1283 -> 1234 bytes
 .../baselines/color_red_FxRadioButton.png       |  Bin 1165 -> 1218 bytes
 .../baselines/digitCase_default_RadioButton.png |  Bin 1357 -> 1491 bytes
 .../baselines/digitCase_lining_RadioButton.png  |  Bin 1357 -> 1491 bytes
 .../digitCase_oldStyle_RadioButton.png          |  Bin 1357 -> 1491 bytes
 .../digitWidth_proportional_RadioButton.png     |  Bin 1357 -> 1491 bytes
 .../digitWidth_tabular_RadioButton.png          |  Bin 1357 -> 1491 bytes
 .../dominantBaseline_ascent_RadioButton.png     |  Bin 1230 -> 681 bytes
 .../dominantBaseline_descent_RadioButton.png    |  Bin 2997 -> 2816 bytes
 ...ntBaseline_ideographicBottom_RadioButton.png |  Bin 2997 -> 2816 bytes
 ...ntBaseline_ideographicCenter_RadioButton.png |  Bin 2744 -> 2748 bytes
 ...inantBaseline_ideographicTop_RadioButton.png |  Bin 1230 -> 681 bytes
 .../dominantBaseline_roman_RadioButton.png      |  Bin 3002 -> 2818 bytes
 .../baselines/fontSize_16_FxRadioButton.png     |  Bin 1978 -> 1967 bytes
 .../baselines/fontSize_40_FxRadioButton.png     |  Bin 4099 -> 4810 bytes
 .../baselines/fontSize_6_FxRadioButton.png      |  Bin 872 -> 853 bytes
 .../fontSize_default_FxRadioButton.png          |  Bin 1771 -> 1743 bytes
 .../fontStyle_italic_FxRadioButton.png          |  Bin 3002 -> 3031 bytes
 .../baselines/fontWeight_bold_RadioButton.png   |  Bin 1750 -> 1866 bytes
 .../baselines/fontWeight_normal_RadioButton.png |  Bin 1872 -> 1833 bytes
 .../horizontalCenter_20_RadioButton.png         |  Bin 1465 -> 1465 bytes
 .../horizontalCenter_50_RadioButton.png         |  Bin 1462 -> 1465 bytes
 .../baselines/kerning_auto_FxRadioButton.png    |  Bin 832 -> 877 bytes
 .../baselines/kerning_off_FxRadioButton.png     |  Bin 833 -> 876 bytes
 .../styles/baselines/left_20_RadioButton.png    |  Bin 1471 -> 1469 bytes
 .../styles/baselines/left_50_RadioButton.png    |  Bin 1466 -> 1466 bytes
 .../lineThrough_default_FxRadioButton.png       |  Bin 1497 -> 1556 bytes
 .../lineThrough_true_FxRadioButton.png          |  Bin 1424 -> 1470 bytes
 .../paddingBottom_1000_FxRadioButton.png        |  Bin 3002 -> 2818 bytes
 .../paddingBottom_100_FxRadioButton.png         |  Bin 3002 -> 2818 bytes
 .../paddingLeft_1000_FxRadioButton.png          |  Bin 3002 -> 2818 bytes
 .../baselines/paddingLeft_100_FxRadioButton.png |  Bin 3002 -> 2818 bytes
 .../paddingRight_1000_FxRadioButton.png         |  Bin 3002 -> 2818 bytes
 .../paddingRight_100_FxRadioButton.png          |  Bin 3002 -> 2818 bytes
 .../baselines/paddingTop_1000_FxRadioButton.png |  Bin 3002 -> 2818 bytes
 .../baselines/paddingTop_100_FxRadioButton.png  |  Bin 3002 -> 2818 bytes
 .../renderingMode_default_FxRadioButton.png     |  Bin 3002 -> 2818 bytes
 .../renderingMode_normal_FxRadioButton.png      |  Bin 3002 -> 1886 bytes
 .../styles/baselines/right_20_RadioButton.png   |  Bin 1472 -> 1472 bytes
 .../styles/baselines/right_50_RadioButton.png   |  Bin 1466 -> 1468 bytes
 .../baselines/textAlpha_0_FxRadioButton.png     |  Bin 503 -> 528 bytes
 .../textAlpha_0point5_FxRadioButton.png         |  Bin 2996 -> 2556 bytes
 .../textDecoration_default_FxRadioButton.png    |  Bin 3002 -> 2818 bytes
 .../textDecoration_underline_FxRadioButton.png  |  Bin 2870 -> 2789 bytes
 .../styles/baselines/top_20_RadioButton.png     |  Bin 1462 -> 1463 bytes
 .../styles/baselines/top_50_RadioButton.png     |  Bin 1462 -> 1461 bytes
 .../trackingLeft_neg10_FxRadioButton.png        |  Bin 987 -> 947 bytes
 .../trackingLeft_neg50_FxRadioButton.png        |  Bin 733 -> 731 bytes
 .../trackingRight_neg10_FxRadioButton.png       |  Bin 987 -> 947 bytes
 .../trackingRight_neg50_FxRadioButton.png       |  Bin 733 -> 731 bytes
 .../baselines/tracking_10_FxRadioButton.png     |  Bin 3002 -> 2818 bytes
 .../baselines/tracking_50_FxRadioButton.png     |  Bin 3002 -> 2818 bytes
 .../baselines/tracking_neg10_FxRadioButton.png  |  Bin 3002 -> 2818 bytes
 .../baselines/tracking_neg50_FxRadioButton.png  |  Bin 3002 -> 2818 bytes
 ...aphicCase_capsAndSmallCaps_FxRadioButton.png |  Bin 3362 -> 3728 bytes
 .../typographicCase_caps_FxRadioButton.png      |  Bin 3002 -> 2498 bytes
 .../typographicCase_lowerCase_FxRadioButton.png |  Bin 3051 -> 2468 bytes
 .../typographicCase_smallCaps_FxRadioButton.png |  Bin 3002 -> 2498 bytes
 .../typographicCase_title_FxRadioButton.png     |  Bin 3002 -> 2498 bytes
 .../typographicCase_upperCase_FxRadioButton.png |  Bin 3362 -> 3728 bytes
 .../verticalAlign_bottom_RadioButton.png        |  Bin 2255 -> 2113 bytes
 .../verticalAlign_justify_RadioButton.png       |  Bin 2216 -> 2162 bytes
 .../verticalAlign_middle_RadioButton.png        |  Bin 2085 -> 2058 bytes
 .../baselines/verticalAlign_top_RadioButton.png |  Bin 1983 -> 1940 bytes
 ...leText_TLF20Integration_editor00_tester.mxml |   20 +-
 ...leText_TLF20Integration_editor01_tester.mxml |   31 +-
 ...leText_TLF20Integration_editor02_tester.mxml |   90 +-
 ...leText_TLF20Integration_editor03_tester.mxml |    2 +-
 ...leText_TLF30_preserveSelectionOnSetText.mxml |  173 +
 .../RichEditableText_integration1.mxml          |    9 +-
 .../RichEditableText_sizing_test1.mxml          |   12 +-
 .../RET_00_LSP_INSIDE_add_empty_items.png       |  Bin 16790 -> 14295 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 21957 -> 20047 bytes
 .../RET_00_LSP_INSIDE_edit_ordered_list.png     |  Bin 20611 -> 18250 bytes
 ...00_LSP_INSIDE_list_in_list_last_position.png |  Bin 23133 -> 22531 bytes
 .../RET_00_LSP_INSIDE_ordered_list.png          |  Bin 14030 -> 12061 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 22039 -> 15374 bytes
 ...0_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 24460 -> 22840 bytes
 .../RET_00_LSP_OUTSIDE_ordered_list.png         |  Bin 10912 -> 11784 bytes
 .../Integration/baselines/RET_00_SDK27255.png   |  Bin 5346 -> 4767 bytes
 .../RET_01_CC_2_LSP_OUTSIDE_ordered_list.png    |  Bin 9269 -> 10206 bytes
 .../RET_01_CC_3_LSP_INSIDE_add_empty_items.png  |  Bin 13064 -> 11148 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 16036 -> 15937 bytes
 ...RET_01_CC_3_LSP_INSIDE_edit_ordered_list.png |  Bin 15848 -> 14197 bytes
 ..._3_LSP_INSIDE_list_in_list_last_position.png |  Bin 18271 -> 16757 bytes
 .../RET_01_CC_3_LSP_INSIDE_ordered_list.png     |  Bin 11756 -> 9986 bytes
 .../RET_01_CC_3_LSP_OUTSIDE_add_empty_items.png |  Bin 12223 -> 11221 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 15876 -> 10969 bytes
 ...ET_01_CC_3_LSP_OUTSIDE_edit_ordered_list.png |  Bin 13992 -> 12897 bytes
 ...UTSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 6203 -> 11235 bytes
 ...3_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 19492 -> 17069 bytes
 .../RET_01_CC_3_LSP_OUTSIDE_ordered_list.png    |  Bin 9312 -> 10206 bytes
 .../RET_01_LSP_INSIDE_add_empty_items.png       |  Bin 13064 -> 11148 bytes
 .../RET_01_LSP_INSIDE_edit_ordered_list.png     |  Bin 15848 -> 14197 bytes
 ...INSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 9298 -> 10778 bytes
 ...01_LSP_INSIDE_list_in_list_last_position.png |  Bin 14493 -> 13285 bytes
 .../RET_01_LSP_INSIDE_ordered_list.png          |  Bin 11756 -> 9986 bytes
 .../RET_01_LSP_OUTSIDE_add_empty_items.png      |  Bin 12223 -> 11221 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 15876 -> 10969 bytes
 .../RET_01_LSP_OUTSIDE_edit_ordered_list.png    |  Bin 13992 -> 12897 bytes
 ...UTSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 6169 -> 11235 bytes
 ...1_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 15200 -> 13471 bytes
 .../baselines/RET_02_FLOAT_ImgFloatEnd.png      |  Bin 9327 -> 8650 bytes
 .../baselines/RET_02_FLOAT_ImgFloatEnd@mac.png  |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatEndClearBoth.png       |  Bin 9327 -> 8650 bytes
 .../RET_02_FLOAT_ImgFloatEndClearBoth@mac.png   |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatEndClearLeft.png       |  Bin 9450 -> 8650 bytes
 .../RET_02_FLOAT_ImgFloatEndClearLeft@mac.png   |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatEndClearNone.png       |  Bin 8973 -> 8230 bytes
 .../RET_02_FLOAT_ImgFloatEndClearNone@mac.png   |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatEndClearRight.png      |  Bin 9151 -> 8572 bytes
 .../RET_02_FLOAT_ImgFloatEndClearRight@mac.png  |  Bin 26975 -> 0 bytes
 .../baselines/RET_02_FLOAT_ImgFloatLeft.png     |  Bin 8904 -> 8197 bytes
 .../baselines/RET_02_FLOAT_ImgFloatLeft@mac.png |  Bin 26895 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearBoth.png      |  Bin 8805 -> 8197 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearBoth@mac.png  |  Bin 26895 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearLeft.png      |  Bin 8805 -> 8197 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearLeft@mac.png  |  Bin 26895 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearNone.png      |  Bin 8904 -> 8197 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearNone@mac.png  |  Bin 26895 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearRight.png     |  Bin 8904 -> 8197 bytes
 .../RET_02_FLOAT_ImgFloatLeftClearRight@mac.png |  Bin 26895 -> 0 bytes
 .../baselines/RET_02_FLOAT_ImgFloatNone.png     |  Bin 8398 -> 7640 bytes
 .../baselines/RET_02_FLOAT_ImgFloatNone@mac.png |  Bin 26328 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearBoth.png      |  Bin 8398 -> 7640 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearBoth@mac.png  |  Bin 26328 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearLeft.png      |  Bin 8398 -> 7640 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearLeft@mac.png  |  Bin 26328 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearNone.png      |  Bin 8398 -> 7640 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearNone@mac.png  |  Bin 26328 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearRight.png     |  Bin 8398 -> 7640 bytes
 .../RET_02_FLOAT_ImgFloatNoneClearRight@mac.png |  Bin 26328 -> 0 bytes
 .../baselines/RET_02_FLOAT_ImgFloatRight.png    |  Bin 8868 -> 8230 bytes
 .../RET_02_FLOAT_ImgFloatRight@mac.png          |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatRightClearBoth.png     |  Bin 8868 -> 8230 bytes
 .../RET_02_FLOAT_ImgFloatRightClearBoth@mac.png |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatRightClearLeft.png     |  Bin 8973 -> 8230 bytes
 .../RET_02_FLOAT_ImgFloatRightClearLeft@mac.png |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatRightClearNone.png     |  Bin 8973 -> 8230 bytes
 .../RET_02_FLOAT_ImgFloatRightClearNone@mac.png |  Bin 26975 -> 0 bytes
 .../RET_02_FLOAT_ImgFloatRightClearRight.png    |  Bin 8868 -> 8230 bytes
 ...RET_02_FLOAT_ImgFloatRightClearRight@mac.png |  Bin 26975 -> 0 bytes
 .../baselines/RET_02_FLOAT_ImgFloatStart.png    |  Bin 8904 -> 8197 bytes
 .../RET_02_FLOAT_ImgFloatStart@mac.png          |  Bin 26895 -> 0 bytes
 .../RET_02_ImgFloatAndClearFloatsRuntime.png    |  Bin 8849 -> 8074 bytes
 ...RET_02_ImgFloatAndClearFloatsRuntime@mac.png |  Bin 26328 -> 0 bytes
 .../baselines/RET_02_TextFlowGroup.png          |  Bin 3730 -> 3543 bytes
 .../baselines/RET_03_States_selectText.png      |  Bin 1447 -> 1755 bytes
 .../baselines/RET_03_States_selectText@mac.png  |  Bin 1393 -> 0 bytes
 .../RichEditableText_covered_scroll.png         |  Bin 1070 -> 1283 bytes
 .../RichEditableText_flow_embedded_image.png    |  Bin 20962 -> 22852 bytes
 .../RichEditableText_no_autosize_bp_rl_true.png |  Bin 108 -> 109 bytes
 ...hEditableText_resize_height_on_text_true.png |  Bin 1620 -> 1917 bytes
 ...chEditableText_resize_width_on_text_true.png |  Bin 1358 -> 1816 bytes
 .../RichEditableText_scroll_layout1_true.png    |  Bin 1276 -> 1199 bytes
 .../RichEditableText_scroll_layout2_true.png    |  Bin 1706 -> 1671 bytes
 .../RichEditableText_scroll_layout3_true.png    |  Bin 2033 -> 1914 bytes
 .../baselines/RichEditableText_scroll_test1.png |  Bin 2487 -> 2292 bytes
 .../baselines/RichEditableText_scroll_test2.png |  Bin 2568 -> 2355 bytes
 ...chEditableText_sizing_width_layout1_true.png |  Bin 103 -> 106 bytes
 .../baselines/TextFlowUtilCoverage.png          |  Bin 1173 -> 1303 bytes
 .../RichEditableText_layout_test1.mxml          |  288 +-
 .../RichEditableText_layout_test2.mxml          |   20 +-
 ...EditableText_Property_maxChars_10_10char.png |  Bin 641 -> 815 bytes
 ...chEditableText_Property_maxChars_1_1char.png |  Bin 331 -> 351 bytes
 .../RichEditableText_Property_maxChars_big.png  |  Bin 275 -> 5729 bytes
 ...ichEditableText_Property_multiline_false.png |  Bin 904 -> 1356 bytes
 ...ableText_Property_multiline_update_false.png |  Bin 1559 -> 1687 bytes
 ...tableText_Property_multiline_update_true.png |  Bin 791 -> 773 bytes
 ...chEditableText_Property_restrict1_accept.png |  Bin 627 -> 632 bytes
 ...chEditableText_Property_restrict2_accept.png |  Bin 1148 -> 1392 bytes
 ...chEditableText_Property_selectable_false.png |  Bin 2333 -> 2298 bytes
 ...ichEditableText_Property_selectable_true.png |  Bin 1800 -> 2077 bytes
 ...chEditableText_Property_selectable_true2.png |  Bin 1995 -> 2684 bytes
 ...chEditableText_Property_selectable_true3.png |  Bin 1451 -> 1809 bytes
 ...chEditableText_Property_selectable_true4.png |  Bin 1451 -> 1809 bytes
 ...chEditableText_Property_selectable_true5.png |  Bin 2333 -> 2298 bytes
 ...chEditableText_Property_selectable_true6.png |  Bin 2333 -> 2298 bytes
 .../RichEditableText_Property_text1.png         |  Bin 822 -> 957 bytes
 .../RichEditableText_Property_textFlow1.png     |  Bin 926 -> 10633 bytes
 .../RichEditableText_Property_textFlow2.png     |  Bin 926 -> 3114 bytes
 .../RichEditableText_Property_textFlow3.png     |  Bin 926 -> 4666 bytes
 .../RichEditableText_Property_textFlow4.png     |  Bin 926 -> 2318 bytes
 .../RichEditableText_backspace_short.png        |  Bin 1089 -> 3116 bytes
 .../baselines/RichEditableText_content1.png     |  Bin 3455 -> 3813 bytes
 .../baselines/RichEditableText_content2.png     |  Bin 1451 -> 1809 bytes
 .../baselines/RichEditableText_content3.png     |  Bin 552 -> 689 bytes
 .../baselines/RichEditableText_content4.png     |  Bin 1148 -> 1295 bytes
 .../baselines/RichEditableText_content5.png     |  Bin 19925 -> 24826 bytes
 .../baselines/RichEditableText_content6.png     |  Bin 1451 -> 2676 bytes
 .../baselines/RichEditableText_content8.png     |  Bin 2650 -> 3553 bytes
 .../baselines/RichEditableText_default1.png     |  Bin 131 -> 121 bytes
 .../baselines/RichEditableText_default2.png     |  Bin 958 -> 1071 bytes
 .../baselines/RichEditableText_default3.png     |  Bin 460 -> 677 bytes
 .../baselines/RichEditableText_default4.png     |  Bin 1225 -> 1404 bytes
 .../RichEditableText_default5_long.png          |  Bin 460 -> 677 bytes
 .../RichEditableText_default5_short.png         |  Bin 238 -> 335 bytes
 .../baselines/RichEditableText_default6.png     |  Bin 524 -> 743 bytes
 .../RichEditableText_displayAsPassword.png      |  Bin 322 -> 323 bytes
 .../RichEditableText_heightInLines2.png         |  Bin 1476 -> 2068 bytes
 .../RichEditableText_heightInLines2_2.png       |  Bin 1476 -> 1457 bytes
 .../RichEditableText_heightInLines3.png         |  Bin 588 -> 800 bytes
 .../RichEditableText_heightInLines3_3.png       |  Bin 588 -> 2068 bytes
 .../RichEditableText_heightInLinesIgnored1.png  |  Bin 721 -> 1623 bytes
 ...itableText_heightInLinesIgnored1_ignored.png |  Bin 808 -> 1711 bytes
 .../RichEditableText_heightInLinesIgnored2.png  |  Bin 881 -> 1497 bytes
 .../RichEditableText_height_100_top_bottom.png  |  Bin 1632 -> 2329 bytes
 .../RichEditableText_maxWidth2_100.png          |  Bin 1297 -> 1434 bytes
 .../RichEditableText_maxWidth2_300.png          |  Bin 1297 -> 3537 bytes
 ...RichEditableText_maxWidth_100_left_right.png |  Bin 1458 -> 2092 bytes
 .../RichEditableText_maxheight_change.png       |  Bin 1091 -> 993 bytes
 .../RichEditableText_minHeight_change.png       |  Bin 436 -> 409 bytes
 .../RichEditableText_minWidth_change.png        |  Bin 396 -> 390 bytes
 .../RichEditableText_width1_width100.png        |  Bin 803 -> 1034 bytes
 .../RichEditableText_width1_width200.png        |  Bin 789 -> 956 bytes
 .../RichEditableText_width2_width150.png        |  Bin 1238 -> 1173 bytes
 .../RichEditableText_width2_width250.png        |  Bin 1343 -> 1386 bytes
 .../RichEditableText_widthInChars1.png          |  Bin 449 -> 602 bytes
 .../RichEditableText_widthInChars2.png          |  Bin 1028 -> 1713 bytes
 .../RichEditableText_widthInChars2_40.png       |  Bin 569 -> 1395 bytes
 .../RichEditableText_widthInChars3.png          |  Bin 1028 -> 1713 bytes
 ...ichEditableText_widthInCharsFont1_font12.png |  Bin 519 -> 718 bytes
 ...ichEditableText_widthInCharsFont1_font24.png |  Bin 781 -> 1158 bytes
 .../RichEditableText_widthInCharsIgnored1.png   |  Bin 501 -> 693 bytes
 ...EditableText_widthInCharsIgnored1_font24.png |  Bin 711 -> 1111 bytes
 .../RichEditableText_widthInCharsIgnored2.png   |  Bin 470 -> 638 bytes
 .../RichEditableText_width_100_left_right.png   |  Bin 1468 -> 2109 bytes
 .../SWFs/RichEditableText_Basic001.mxml         |    6 +-
 .../SWFs/RichEditableText_Basic002.mxml         |    2 +-
 .../SWFs/RichEditableText_Basic003.mxml         |   43 +-
 .../SWFs/RichEditableText_Basic004.mxml         |   43 +-
 .../SWFs/RichEditableText_Basic005.mxml         |    2 +-
 .../SWFs/RichEditableText_Basic006.mxml         |   47 +-
 .../SWFs/RichEditableText_Basic007.mxml         |    2 +-
 .../SWFs/RichEditableText_Selection.mxml        |   58 +
 .../SWFs/RichEditableText_TLF20Integration.mxml |   12 +-
 .../SWFs/RichEditableText_scroll_Basic001.mxml  |    2 +-
 .../SWFs/TLF/comp/CustomRETEditor.mxml          |    2 -
 .../SWFs/TLF/comp/CustomRETEditorAtRuntime.mxml |    2 -
 .../SWFs/TLF/tflow/DefaultListAutoPadding.mxml  |    2 -
 .../SWFs/TLF/tflow/ListOrdered.mxml             |    2 -
 .../tflow/ListOrderedAlphaGreekLatinRoman.mxml  |    2 +
 .../TLF/tflow/MultipleNestedOrderedList.mxml    |    2 -
 .../SWFs/TLF/tflow/MultipleOrderedList.mxml     |    2 -
 .../SWFs/TLF/tflow/TextFlowAllOrderedLists.mxml |    2 -
 .../TextFlowAllOrderedListsWithAsianGlyphs.mxml |    2 -
 .../TLF/tflow/TextFlowShortOrderedLists.mxml    |    2 -
 .../SWFs/TLF/tflow/xml/OrderListAll.xml         |    2 -
 ...ableText_Style_linebreak_change_explicit.png |  Bin 805 -> 1332 bytes
 ...ditableText_Style_linebreak_change_tofit.png |  Bin 805 -> 1332 bytes
 ...chEditableText_Style_linebreak_explicit1.png |  Bin 805 -> 1332 bytes
 .../RichEditableText_Style_linebreak_tofit1.png |  Bin 805 -> 1332 bytes
 .../RichEditableText_Style_setFormatOfRange.png |  Bin 5219 -> 4570 bytes
 .../Bugs/baselines/RichText_Bug22601.png        |  Bin 1130 -> 1241 bytes
 .../Bugs/baselines/RichText_Bug23160.png        |  Bin 872 -> 1469 bytes
 .../Bugs/baselines/RichText_Bug24405.png        |  Bin 2161 -> 2372 bytes
 .../textGraphicWithFormatting_SDK-24470.png     |  Bin 783 -> 6215 bytes
 .../textGraphicWithFormatting_SDK-24470@mac.png |  Bin 3585 -> 0 bytes
 .../textGraphicWithFormatting_defaultFont.png   |  Bin 583 -> 2975 bytes
 ...extGraphicWithFormatting_defaultFont@mac.png |  Bin 1936 -> 0 bytes
 ...matting_defaultFontOutsideEmbeddedInside.png |  Bin 2177 -> 2510 bytes
 .../Bugs/checkTextGraphicWithFormatting.mxml    |    8 +-
 .../RT_00_LSP_INSIDE_add_empty_items.png        |  Bin 13971 -> 13225 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 12566 -> 11192 bytes
 .../RT_00_LSP_INSIDE_edit_ordered_list.png      |  Bin 13971 -> 13225 bytes
 .../RT_00_LSP_INSIDE_last_position.png          |  Bin 3236 -> 4046 bytes
 ...00_LSP_INSIDE_list_in_list_last_position.png |  Bin 16347 -> 17379 bytes
 .../baselines/RT_00_LSP_INSIDE_ordered_list.png |  Bin 13971 -> 13225 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 15429 -> 15920 bytes
 .../RT_00_LSP_OUTSIDE_add_empty_items.png       |  Bin 10849 -> 11691 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 10343 -> 10027 bytes
 .../RT_00_LSP_OUTSIDE_edit_ordered_list.png     |  Bin 10849 -> 11691 bytes
 .../RT_00_LSP_OUTSIDE_last_position.png         |  Bin 3236 -> 4046 bytes
 ...0_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 16966 -> 17448 bytes
 .../RT_00_LSP_OUTSIDE_ordered_list.png          |  Bin 10849 -> 11691 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 15429 -> 15920 bytes
 .../RT_01_CC_2_LSP_OUTSIDE_ordered_list.png     |  Bin 9269 -> 10103 bytes
 .../RT_01_CC_3_LSP_INSIDE_add_empty_items.png   |  Bin 11674 -> 10508 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 10851 -> 9332 bytes
 .../RT_01_CC_3_LSP_INSIDE_edit_ordered_list.png |  Bin 11674 -> 10508 bytes
 .../RT_01_CC_3_LSP_INSIDE_last_position.png     |  Bin 1954 -> 2763 bytes
 ..._3_LSP_INSIDE_list_in_list_last_position.png |  Bin 13130 -> 13555 bytes
 .../RT_01_CC_3_LSP_INSIDE_ordered_list.png      |  Bin 11674 -> 10508 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 12012 -> 12132 bytes
 .../RT_01_CC_3_LSP_OUTSIDE_add_empty_items.png  |  Bin 9269 -> 10103 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 8778 -> 8564 bytes
 ...RT_01_CC_3_LSP_OUTSIDE_edit_ordered_list.png |  Bin 9269 -> 10103 bytes
 .../RT_01_CC_3_LSP_OUTSIDE_last_position.png    |  Bin 1954 -> 2763 bytes
 ...3_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 13553 -> 13329 bytes
 .../RT_01_CC_3_LSP_OUTSIDE_ordered_list.png     |  Bin 9269 -> 10103 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 12012 -> 12132 bytes
 .../RT_01_LSP_INSIDE_add_empty_items.png        |  Bin 11674 -> 10508 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 10851 -> 9332 bytes
 .../RT_01_LSP_INSIDE_edit_ordered_list.png      |  Bin 11674 -> 10508 bytes
 .../RT_01_LSP_INSIDE_last_position.png          |  Bin 1954 -> 2763 bytes
 ...01_LSP_INSIDE_list_in_list_last_position.png |  Bin 13130 -> 13233 bytes
 .../baselines/RT_01_LSP_INSIDE_ordered_list.png |  Bin 11674 -> 10508 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 12012 -> 12132 bytes
 .../RT_01_LSP_OUTSIDE_add_empty_items.png       |  Bin 9269 -> 10103 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 8778 -> 8564 bytes
 .../RT_01_LSP_OUTSIDE_edit_ordered_list.png     |  Bin 9269 -> 10103 bytes
 .../RT_01_LSP_OUTSIDE_last_position.png         |  Bin 1954 -> 2763 bytes
 ...1_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 13553 -> 13105 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 12012 -> 12132 bytes
 .../baselines/RichText_defaultState.png         |  Bin 299 -> 352 bytes
 .../Integration/baselines/RichText_state1.png   |  Bin 422 -> 564 bytes
 .../Integration/baselines/RichText_state2.png   |  Bin 454 -> 597 bytes
 .../GraphicTags_TextGraphic_PropertiesAS.mxml   |    4 +-
 .../RichText/Properties/RichText_layout.mxml    |    4 +-
 .../GraphicTags_TextGraphic_height_positive.png |  Bin 3921 -> 5541 bytes
 .../GraphicTags_TextGraphic_width_positive.png  |  Bin 4256 -> 5662 bytes
 .../GraphicTags_TextGraphic_width_zero.png      |  Bin 1163 -> 1164 bytes
 .../GraphicTags_TextGraphic_x_negative.png      |  Bin 3702 -> 5044 bytes
 .../GraphicTags_TextGraphic_x_positive.png      |  Bin 3892 -> 5539 bytes
 .../GraphicTags_TextGraphic_x_zero.png          |  Bin 3913 -> 5529 bytes
 .../GraphicTags_TextGraphic_y_negative.png      |  Bin 1473 -> 2160 bytes
 .../GraphicTags_TextGraphic_y_positive.png      |  Bin 3929 -> 5546 bytes
 .../GraphicTags_TextGraphic_y_zero.png          |  Bin 3913 -> 5529 bytes
 .../baselines/RichText_height_100.png           |  Bin 3145 -> 2830 bytes
 .../baselines/RichText_height_100p.png          |  Bin 2805 -> 2513 bytes
 .../baselines/RichText_layoutDirection_RTL.png  |  Bin 9149 -> 7243 bytes
 .../baselines/RichText_left_right_10.png        |  Bin 2822 -> 2532 bytes
 .../RichText_left_right_10_height_100.png       |  Bin 3164 -> 2860 bytes
 .../RichText_left_right_10_height_100p.png      |  Bin 2822 -> 2532 bytes
 .../RichText_left_right_10_top_bottom.png       |  Bin 2906 -> 2618 bytes
 .../baselines/RichText_maxWidth_100.png         |  Bin 2952 -> 2654 bytes
 .../RichText_maxWidth_100_height_100.png        |  Bin 3111 -> 2802 bytes
 .../RichText_maxWidth_100_height_100p.png       |  Bin 2952 -> 2654 bytes
 .../baselines/RichText_maxWidth_100_hello.png   |  Bin 564 -> 467 bytes
 .../RichText_maxWidth_100_hello_height_100.png  |  Bin 685 -> 580 bytes
 .../RichText_maxWidth_100_hello_height_100p.png |  Bin 564 -> 467 bytes
 .../RichText_maxWidth_100_hello_top_bottom.png  |  Bin 591 -> 492 bytes
 .../RichText_maxWidth_100_top_bottom.png        |  Bin 3008 -> 2707 bytes
 .../baselines/RichText_maxheight_100.png        |  Bin 2805 -> 2513 bytes
 .../baselines/RichText_maxheight_100_hello.png  |  Bin 564 -> 467 bytes
 .../baselines/RichText_setLayoutBoundsSize.png  |  Bin 14689 -> 13559 bytes
 .../baselines/RichText_top_bottom_10.png        |  Bin 2890 -> 2598 bytes
 .../Properties/baselines/RichText_width_100.png |  Bin 2963 -> 2670 bytes
 .../baselines/RichText_width_100_height_100.png |  Bin 3127 -> 2821 bytes
 .../RichText_width_100_height_100p.png          |  Bin 2963 -> 2670 bytes
 .../baselines/RichText_width_100_top_bottom.png |  Bin 3021 -> 2724 bytes
 .../baselines/RichText_width_100p.png           |  Bin 2805 -> 2513 bytes
 .../RichText_width_100p_height_100.png          |  Bin 3145 -> 2830 bytes
 .../RichText_width_100p_height_100p.png         |  Bin 2805 -> 2513 bytes
 .../RichText_width_100p_top_bottom.png          |  Bin 2890 -> 2598 bytes
 .../Properties/baselines/text_german.png        |  Bin 3559 -> 5314 bytes
 .../RichText/Properties/baselines/text_long.png |  Bin 5615 -> 7894 bytes
 .../SWFs/RichText_TLF20Integration.mxml         |    2 +-
 .../RichText/SWFs/TLF/comp/CustomRTEditor.mxml  |    2 -
 .../SWFs/TLF/tflow/DefaultListAutoPadding.mxml  |   63 +-
 .../RichText/SWFs/TLF/tflow/ListOrdered.mxml    |    2 -
 .../tflow/ListOrderedAlphaGreekLatinRoman.mxml  |    4 +
 .../TLF/tflow/MultipleNestedOrderedList.mxml    |    2 -
 .../SWFs/TLF/tflow/MultipleOrderedList.mxml     |    2 -
 .../SWFs/TLF/tflow/TextFlowAllOrderedLists.mxml |    2 -
 .../TLF/tflow/TextFlowShortOrderedLists.mxml    |    2 -
 .../SWFs/TLF/tflow/xml/OrderListAll.xml         |    2 -
 .../SWFs/TextGraphicWithFormatting.mxml         |    4 +-
 .../RichText/SWFs/comps/GraphicDefault.fxg      |    4 +-
 .../Styles/GraphicTags_TextGraphic_Styles.mxml  |    8 +-
 ...ags_TextGraphic_alignmentBaseline_ascent.png |  Bin 3779 -> 3220 bytes
 ...gs_TextGraphic_alignmentBaseline_default.png |  Bin 3780 -> 3220 bytes
 ...gs_TextGraphic_alignmentBaseline_descent.png |  Bin 3778 -> 3219 bytes
 ...phic_alignmentBaseline_ideographicBottom.png |  Bin 3778 -> 3219 bytes
 ...phic_alignmentBaseline_ideographicCenter.png |  Bin 3779 -> 3219 bytes
 ...Graphic_alignmentBaseline_ideographicTop.png |  Bin 3779 -> 3220 bytes
 ...Tags_TextGraphic_alignmentBaseline_roman.png |  Bin 3780 -> 3220 bytes
 ...ic_alignmentBaseline_useDominantBaseline.png |  Bin 3780 -> 3220 bytes
 ...icTags_TextGraphic_baselineShift_default.png |  Bin 3780 -> 3220 bytes
 ...phicTags_TextGraphic_baselineShift_neg10.png |  Bin 3779 -> 3219 bytes
 ...phicTags_TextGraphic_baselineShift_pos10.png |  Bin 3780 -> 3219 bytes
 ...Tags_TextGraphic_baselineShift_subscript.png |  Bin 2305 -> 2062 bytes
 ...gs_TextGraphic_baselineShift_subscript_2.png |  Bin 3932 -> 3275 bytes
 ...gs_TextGraphic_baselineShift_subscript_3.png |  Bin 3087 -> 2423 bytes
 ...gs_TextGraphic_baselineShift_superscript.png |  Bin 2298 -> 2061 bytes
 ...ags_TextGraphic_blockProgression_default.png |  Bin 3780 -> 3220 bytes
 ...phicTags_TextGraphic_blockProgression_tb.png |  Bin 3780 -> 3220 bytes
 ...hicTags_TextGraphic_breakOpportunity_all.png |  Bin 882 -> 977 bytes
 ...cTags_TextGraphic_breakOpportunity_all_3.png |  Bin 882 -> 926 bytes
 ...hicTags_TextGraphic_breakOpportunity_any.png |  Bin 3834 -> 3307 bytes
 ...icTags_TextGraphic_breakOpportunity_auto.png |  Bin 3879 -> 3277 bytes
 ...ags_TextGraphic_breakOpportunity_default.png |  Bin 3879 -> 3277 bytes
 ...icTags_TextGraphic_breakOpportunity_none.png |  Bin 3834 -> 3307 bytes
 ...aphicTags_TextGraphic_cffHinting_default.png |  Bin 3780 -> 3220 bytes
 ...gs_TextGraphic_cffHinting_horizontalStem.png |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_cffHinting_none.png |  Bin 3740 -> 3600 bytes
 ...phicTags_TextGraphic_cffHinting_none@mac.png |  Bin 3780 -> 0 bytes
 .../GraphicTags_TextGraphic_color_default.png   |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_color_pound.png     |  Bin 3929 -> 3436 bytes
 .../GraphicTags_TextGraphic_color_red.png       |  Bin 3939 -> 3484 bytes
 .../GraphicTags_TextGraphic_columnCount_2.png   |  Bin 3395 -> 2899 bytes
 .../GraphicTags_TextGraphic_columnCount_2b.png  |  Bin 4125 -> 3518 bytes
 ...TextGraphic_columnCount_blockProgression.png |  Bin 3832 -> 3411 bytes
 ...extGraphic_columnCount_blockProgression2.png |  Bin 4796 -> 4150 bytes
 .../GraphicTags_TextGraphic_columnGap_10.png    |  Bin 4857 -> 4723 bytes
 ...s_TextGraphic_columnGap_blockProgression.png |  Bin 26849 -> 23244 bytes
 .../GraphicTags_TextGraphic_columnWidth_60.png  |  Bin 7215 -> 6421 bytes
 ...TextGraphic_columnWidth_blockProgression.png |  Bin 27371 -> 24490 bytes
 ...raphicTags_TextGraphic_digitCase_default.png |  Bin 4885 -> 4309 bytes
 ...aphicTags_TextGraphic_digitCase_default2.png |  Bin 4885 -> 4309 bytes
 ...GraphicTags_TextGraphic_digitCase_lining.png |  Bin 4885 -> 4309 bytes
 ...aphicTags_TextGraphic_digitCase_oldStyle.png |  Bin 4885 -> 4309 bytes
 ...aphicTags_TextGraphic_digitWidth_default.png |  Bin 4885 -> 4309 bytes
 ...phicTags_TextGraphic_digitWidth_default2.png |  Bin 4885 -> 4309 bytes
 ...Tags_TextGraphic_digitWidth_proportional.png |  Bin 4885 -> 4309 bytes
 ...aphicTags_TextGraphic_digitWidth_tabular.png |  Bin 4885 -> 4309 bytes
 ...raphicTags_TextGraphic_direction_default.png |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_direction_ltr.png   |  Bin 3780 -> 3220 bytes
 ...Tags_TextGraphic_dominantBaseline_ascent.png |  Bin 3780 -> 3220 bytes
 ...ags_TextGraphic_dominantBaseline_default.png |  Bin 3780 -> 3220 bytes
 ...ags_TextGraphic_dominantBaseline_descent.png |  Bin 3780 -> 3220 bytes
 ...aphic_dominantBaseline_ideographicBottom.png |  Bin 3780 -> 3220 bytes
 ...aphic_dominantBaseline_ideographicCenter.png |  Bin 3780 -> 3220 bytes
 ...tGraphic_dominantBaseline_ideographicTop.png |  Bin 3780 -> 3220 bytes
 ...cTags_TextGraphic_dominantBaseline_roman.png |  Bin 3780 -> 3220 bytes
 ...GraphicTags_TextGraphic_fontFamily_arial.png |  Bin 3780 -> 3220 bytes
 ...aphicTags_TextGraphic_fontFamily_default.png |  Bin 3780 -> 3220 bytes
 ...aphicTags_TextGraphic_fontLookup_default.png |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_fontSize_10.png     |  Bin 2387 -> 1900 bytes
 .../GraphicTags_TextGraphic_fontSize_20.png     |  Bin 4832 -> 4131 bytes
 ...GraphicTags_TextGraphic_fontSize_decimal.png |  Bin 5796 -> 5554 bytes
 ...GraphicTags_TextGraphic_fontSize_default.png |  Bin 3780 -> 3220 bytes
 ...raphicTags_TextGraphic_fontStyle_default.png |  Bin 3780 -> 3220 bytes
 ...GraphicTags_TextGraphic_fontStyle_italic.png |  Bin 3780 -> 3674 bytes
 ...aphicTags_TextGraphic_fontStyle_italic_2.png |  Bin 3764 -> 3183 bytes
 ...aphicTags_TextGraphic_fontStyle_italic_3.png |  Bin 3764 -> 3485 bytes
 ...GraphicTags_TextGraphic_fontStyle_normal.png |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_fontWeight_bold.png |  Bin 3780 -> 3271 bytes
 ...raphicTags_TextGraphic_fontWeight_bold_2.png |  Bin 3764 -> 3130 bytes
 ...raphicTags_TextGraphic_fontWeight_bold_3.png |  Bin 3764 -> 3302 bytes
 ...aphicTags_TextGraphic_fontWeight_default.png |  Bin 3780 -> 3220 bytes
 ...raphicTags_TextGraphic_fontWeight_normal.png |  Bin 3780 -> 3220 bytes
 ...gs_TextGraphic_justificationRule_default.png |  Bin 3780 -> 3220 bytes
 ..._TextGraphic_justificationRule_eastAsian.png |  Bin 3780 -> 3220 bytes
 ...Tags_TextGraphic_justificationRule_space.png |  Bin 3780 -> 3220 bytes
 ...s_TextGraphic_justificationStyle_default.png |  Bin 3780 -> 3220 bytes
 ...ficationStyle_prioritizeLeastAdjustment1.png |  Bin 3780 -> 3220 bytes
 ...ficationStyle_prioritizeLeastAdjustment2.png |  Bin 3780 -> 3220 bytes
 ...raphic_justificationStyle_pushInKinsoku1.png |  Bin 3780 -> 3220 bytes
 ...raphic_justificationStyle_pushInKinsoku2.png |  Bin 3780 -> 3220 bytes
 ...tGraphic_justificationStyle_pushOutOnly1.png |  Bin 3780 -> 3220 bytes
 ...tGraphic_justificationStyle_pushOutOnly2.png |  Bin 3780 -> 3220 bytes
 .../GraphicTags_TextGraphic_kerning_auto.png    |  Bin 2619 -> 3289 bytes
 .../GraphicTags_TextGraphic_kerning_default.png |  Bin 2619 -> 3289 bytes
 .../GraphicTags_TextGraphic_kerning_off.png     |  Bin 2635 -> 3301 bytes
 .../GraphicTags_TextGraphic_kerning_on.png      |  Bin 2619 -> 3289 bytes
 ...ags_TextGraphic_leadingDirection_default.png |  Bin 3780 -> 3220 bytes
 ...hicTags_TextGraphic_ligatureLevel_exotic.png |  Bin 1735 -> 1976 bytes
 ...icTags_TextGraphic_ligatureLevel_minimum.png |  Bin 1735 -> 1837 bytes
 ...cTags_TextGraphic_ligatureLevel_uncommon.png |  Bin 1735 -> 1976 bytes
 ...raphicTags_TextGraphic_lineBreak_default.png |  Bin 3764 -> 3146 bytes
 ...aphicTags_TextGraphic_lineBreak_explicit.png |  Bin 3764 -> 3146 bytes
 ...cTags_TextGraphic_lineBreak_explicit_150.png |  Bin 2098 -> 2127 bytes
 ...TextGraphic_lineBreak_explicit_150_multi.png |  Bin 3865 -> 3328 bytes
 .../GraphicTags_TextGraphic_lineBreak_toFit.png |  Bin 3764 -> 3146 bytes
 ...phicTags_TextGraphic_lineBreak_toFit_150.png |  Bin 3850 -> 3192 bytes
 ...gs_TextGraphic_lineBreak_toFit_150_multi.png |  Bin 3865 -> 3328 bytes
 .../GraphicTags_TextGraphic_lineHeight_10.png   |  Bin 3701 -> 3071 bytes
 ...raphicTags_TextGraphic_lineHeight_100pct.png |  Bin 3817 -> 3171 bytes
 .../GraphicTags_TextGraphic_lineHeight_20.png   |  Bin 3857 -> 3193 bytes
 ...raphicTags_TextGraphic_lineHeight_200pct.png |  Bin 3965 -> 3253 bytes
 .../GraphicTags_TextGraphic_lineHeight_40.png   |  Bin 4016 -> 3290 bytes
 ...GraphicTags_TextGraphic_lineHeight_50pct.png |  Bin 3707 -> 3023 bytes
 ...aphicTags_TextGraphic_lineHeight_default.png |  Bin 3850 -> 3192 bytes
 ...phicTags_TextGraphic_lineThrough_default.png |  Bin 3850 -> 3192 bytes
 ...raphicTags_TextGraphic_lineThrough_false.png |  Bin 3850 -> 3192 bytes
 ...GraphicTags_TextGraphic_lineThrough_true.png |  Bin 3635 -> 3042 bytes
 .../GraphicTags_TextGraphic_locale_default.png  |  Bin 3850 -> 3192 bytes
 ...GraphicTags_TextGraphic_paddingBottom_20.png |  Bin 3869 -> 3329 bytes
 ...GraphicTags_TextGraphic_paddingBottom_70.png |  Bin 3836 -> 3316 bytes
 ...GraphicTags_TextGraphic_paddingBottom_72.png |  Bin 3836 -> 3316 bytes
 ...icTags_TextGraphic_paddingBottom_default.png |  Bin 3850 -> 3192 bytes
 ...raphic_paddingBottom_vertAlignJustify_50.png |  Bin 3836 -> 3316 bytes
 ...raphic_paddingBottom_vertAlignJustify_70.png |  Bin 3836 -> 3316 bytes
 ...raphic_paddingBottom_vertAlignJustify_72.png |  Bin 3836 -> 3316 bytes
 .../GraphicTags_TextGraphic_paddingLeft_20.png  |  Bin 4006 -> 3429 bytes
 .../GraphicTags_TextGraphic_paddingLeft_50.png  |  Bin 2765 -> 2552 bytes
 .../GraphicTags_TextGraphic_paddingLeft_55.png  |  Bin 2761 -> 2545 bytes
 ...phicTags_TextGraphic_paddingLeft_default.png |  Bin 3850 -> 3192 bytes
 .../GraphicTags_TextGraphic_paddingRight_20.png |  Bin 3997 -> 3434 bytes
 .../GraphicTags_TextGraphic_paddingRight_50.png |  Bin 2738 -> 2528 bytes
 .../GraphicTags_TextGraphic_paddingRight_55.png |  Bin 2738 -> 2528 bytes
 ...hicTags_TextGraphic_paddingRight_default.png |  Bin 3850 -> 3192 bytes
 .../GraphicTags_TextGraphic_paddingTop_20.png   |  Bin 3868 -> 3328 bytes
 .../GraphicTags_TextGraphic_paddingTop_70.png   |  Bin 2004 -> 2063 bytes
 .../GraphicTags_TextGraphic_paddingTop_72.png   |  Bin 1860 -> 1885 bytes
 ...aphicTags_TextGraphic_paddingTop_default.png |  Bin 3850 -> 3192 bytes
 ...xtGraphic_paddingTop_vertAlignJustify_50.png |  Bin 2951 -> 2849 bytes
 ...xtGraphic_paddingTop_vertAlignJustify_70.png |  Bin 2004 -> 2063 bytes
 ...xtGraphic_paddingTop_vertAlignJustify_72.png |  Bin 1860 -> 1885 bytes
 ...raphicTags_TextGraphic_renderingMode_cff.png |  Bin 3850 -> 3192 bytes
 ...icTags_TextGraphic_renderingMode_default.png |  Bin 3850 -> 3192 bytes
 ...hicTags_TextGraphic_renderingMode_normal.png |  Bin 3850 -> 1997 bytes
 ...hicTags_TextGraphic_textAlignLast_center.png |  Bin 6540 -> 5950 bytes
 ...icTags_TextGraphic_textAlignLast_default.png |  Bin 6540 -> 5990 bytes
 ...raphicTags_TextGraphic_textAlignLast_end.png |  Bin 6539 -> 6030 bytes
 ...icTags_TextGraphic_textAlignLast_justify.png |  Bin 6545 -> 6041 bytes
 ...aphicTags_TextGraphic_textAlignLast_left.png |  Bin 6540 -> 5990 bytes
 ...phicTags_TextGraphic_textAlignLast_right.png |  Bin 6539 -> 6030 bytes
 ...phicTags_TextGraphic_textAlignLast_start.png |  Bin 6540 -> 5990 bytes
 ...GraphicTags_TextGraphic_textAlign_center.png |  Bin 6717 -> 5703 bytes
 ...raphicTags_TextGraphic_textAlign_default.png |  Bin 6461 -> 5952 bytes
 .../GraphicTags_TextGraphic_textAlign_end.png   |  Bin 6537 -> 5867 bytes
 ...raphicTags_TextGraphic_textAlign_justify.png |  Bin 6540 -> 5990 bytes
 .../GraphicTags_TextGraphic_textAlign_left.png  |  Bin 6461 -> 5952 bytes
 .../GraphicTags_TextGraphic_textAlign_right.png |  Bin 6537 -> 5867 bytes
 .../GraphicTags_TextGraphic_textAlign_start.png |  Bin 6461 -> 5952 bytes
 .../GraphicTags_TextGraphic_textAlpha_0.png     |  Bin 229 -> 233 bytes
 .../GraphicTags_TextGraphic_textAlpha_05.png    |  Bin 3746 -> 2941 bytes
 ...raphicTags_TextGraphic_textAlpha_default.png |  Bin 3764 -> 3146 bytes
 ...cTags_TextGraphic_textDecoration_default.png |  Bin 3764 -> 3146 bytes
 ...aphicTags_TextGraphic_textIndent_default.png |  Bin 6461 -> 5952 bytes
 .../GraphicTags_TextGraphic_textIndent_pos.png  |  Bin 6458 -> 6001 bytes
 ..._TextGraphic_textIndent_posWithDirection.png |  Bin 6538 -> 6040 bytes
 ...cTags_TextGraphic_textJustify_distribute.png |  Bin 6782 -> 6104 bytes
 ...icTags_TextGraphic_textJustify_interWord.png |  Bin 6545 -> 6041 bytes
 ...raphicTags_TextGraphic_textRotation_auto.png |  Bin 3764 -> 3146 bytes
 ...hicTags_TextGraphic_textRotation_default.png |  Bin 3764 -> 3146 bytes
 ...hicTags_TextGraphic_textRotation_rotate0.png |  Bin 3764 -> 3146 bytes
 ...cTags_TextGraphic_textRotation_rotate180.png |  Bin 3803 -> 3146 bytes
 ...cTags_TextGraphic_textRotation_rotate270.png |  Bin 3774 -> 3466 bytes
 ...icTags_TextGraphic_textRotation_rotate90.png |  Bin 3777 -> 3294 bytes
 ...hicTags_TextGraphic_text_backGroundColor.png |  Bin 3606 -> 3732 bytes
 ..._TextGraphic_text_multiLine_truncation-1.png |  Bin 1183 -> 1503 bytes
 ..._text_multiLine_truncation-1_defaultSize.png |  Bin 3780 -> 3220 bytes
 ...s_TextGraphic_text_multiLine_truncation1.png |  Bin 1183 -> 1503 bytes
 ...c_text_multiLine_truncation1_defaultSize.png |  Bin 1671 -> 1554 bytes
 ...s_TextGraphic_text_multiLine_truncation2.png |  Bin 1183 -> 1503 bytes
 ...c_text_multiLine_truncation2_defaultSize.png |  Bin 2813 -> 2480 bytes
 ...raphic_text_multiLine_truncation_default.png |  Bin 2722 -> 2721 bytes
 ...multiLine_truncation_default_defaultSize.png |  Bin 3780 -> 3220 bytes
 ...TextGraphic_text_singleLine_truncation-1.png |  Bin 1183 -> 1503 bytes
 ...text_singleLine_truncation-1_defaultSize.png |  Bin 3764 -> 3146 bytes
 ..._TextGraphic_text_singleLine_truncation1.png |  Bin 1183 -> 1503 bytes
 ..._text_singleLine_truncation1_defaultSize.png |  Bin 3764 -> 3146 bytes
 ..._TextGraphic_text_singleLine_truncation2.png |  Bin 1183 -> 1503 bytes
 ..._text_singleLine_truncation2_defaultSize.png |  Bin 3764 -> 3146 bytes
 ...aphic_text_singleLine_truncation_default.png |  Bin 1808 -> 1903 bytes
 ...ingleLine_truncation_default_defaultSize.png |  Bin 3764 -> 3146 bytes
 ...hicTags_TextGraphic_trackingLeft_default.png |  Bin 3764 -> 3146 bytes
 ...GraphicTags_TextGraphic_trackingLeft_neg.png |  Bin 3434 -> 2711 bytes
 ...ags_TextGraphic_trackingLeft_neg_percent.png |  Bin 3682 -> 2823 bytes
 ...GraphicTags_TextGraphic_trackingLeft_pos.png |  Bin 4210 -> 3702 bytes
 ...icTags_TextGraphic_trackingRight_default.png |  Bin 3764 -> 3146 bytes
 ...raphicTags_TextGraphic_trackingRight_neg.png |  Bin 3434 -> 2711 bytes
 ...gs_TextGraphic_trackingRight_neg_percent.png |  Bin 3682 -> 2823 bytes
 ...raphicTags_TextGraphic_trackingRight_pos.png |  Bin 4210 -> 3702 bytes
 .../GraphicTags_TextGraphic_tracking_0.png      |  Bin 3764 -> 3146 bytes
 ...GraphicTags_TextGraphic_tracking_default.png |  Bin 3764 -> 3146 bytes
 .../GraphicTags_TextGraphic_tracking_neg.png    |  Bin 3764 -> 3146 bytes
 .../GraphicTags_TextGraphic_tracking_pos.png    |  Bin 3764 -> 3146 bytes
 ...Tags_TextGraphic_typographicCase_default.png |  Bin 4885 -> 4309 bytes
 ...hicTags_TextGraphic_verticalAlign_bottom.png |  Bin 4963 -> 4461 bytes
 ...icTags_TextGraphic_verticalAlign_default.png |  Bin 4885 -> 4309 bytes
 ...icTags_TextGraphic_verticalAlign_justify.png |  Bin 4990 -> 4488 bytes
 ...hicTags_TextGraphic_verticalAlign_middle.png |  Bin 4965 -> 4462 bytes
 ...raphicTags_TextGraphic_verticalAlign_top.png |  Bin 4964 -> 4462 bytes
 ...s_TextGraphic_whiteSpaceCollapse_default.png |  Bin 4885 -> 4309 bytes
 .../events/HScrollBar_Events_tester.mxml        |    4 +-
 .../FxScrollBar_StatesIntegration_tests.mxml    |    6 +-
 .../HaloScrollBar_StatesIntegration_tests.mxml  |    6 +-
 .../baselines/FxScrollBar_defaultState.png      |  Bin 2427 -> 2223 bytes
 .../baselines/FxScrollBar_state1.png            |  Bin 2400 -> 2227 bytes
 .../integration/baselines/HaloScrollBar_all.png |  Bin 2487 -> 2422 bytes
 .../baselines/HaloScrollBar_state1.png          |  Bin 1017 -> 1014 bytes
 .../methods/HScrollBar_Methods_tester.mxml      |    4 +-
 .../HScrollBar_Properties_tester.mxml           |   14 +-
 .../properties/Scrollbar_inactive_tester.mxml   |   89 +-
 .../VScrollBar_Properties_tester.mxml           |   20 +-
 ..._activate_grow_children_horizontalLayout.png |  Bin 1285 -> 1296 bytes
 ...ar_activate_grow_children_verticalLayout.png |  Bin 3057 -> 2939 bytes
 ...se_scroll_grow_children_horizontalLayout.png |  Bin 1692 -> 1735 bytes
 ...ease_scroll_grow_children_verticalLayout.png |  Bin 6154 -> 5663 bytes
 ...ar_scroll_grow_children_horizontalLayout.png |  Bin 7165 -> 6497 bytes
 ...lBar_scroll_grow_children_verticalLayout.png |  Bin 4636 -> 4455 bytes
 .../HScrollBar_toggle_to_inactive_1.png         |  Bin 540 -> 548 bytes
 ...HScrollBar_toggle_to_inactive_disabled_1.png |  Bin 449 -> 452 bytes
 ...HScrollBar_toggle_to_inactive_disabled_2.png |  Bin 544 -> 544 bytes
 ...HScrollBar_toggle_to_inactive_disabled_3.png |  Bin 544 -> 544 bytes
 ...HScrollBar_toggle_to_inactive_disabled_4.png |  Bin 676 -> 678 bytes
 ..._activate_grow_children_horizontalLayout.png |  Bin 3558 -> 3297 bytes
 ...se_scroll_grow_children_horizontalLayout.png |  Bin 5185 -> 4846 bytes
 ...ease_scroll_grow_children_verticalLayout.png |  Bin 3818 -> 3557 bytes
 ...ar_scroll_grow_children_horizontalLayout.png |  Bin 5136 -> 4803 bytes
 ...lBar_scroll_grow_children_verticalLayout.png |  Bin 2038 -> 2039 bytes
 .../VScrollBar_toggle_to_inactive_1.png         |  Bin 599 -> 624 bytes
 ...VScrollBar_toggle_to_inactive_disabled_2.png |  Bin 494 -> 489 bytes
 ...VScrollBar_toggle_to_inactive_disabled_3.png |  Bin 494 -> 489 bytes
 ...VScrollBar_toggle_to_inactive_disabled_4.png |  Bin 676 -> 665 bytes
 ..._activate_grow_children_horizontalLayout.png |  Bin 750 -> 760 bytes
 ...ar_activate_grow_children_verticalLayout.png |  Bin 2090 -> 1959 bytes
 ...se_scroll_grow_children_horizontalLayout.png |  Bin 945 -> 960 bytes
 ...ease_scroll_grow_children_verticalLayout.png |  Bin 4479 -> 4056 bytes
 ...ar_scroll_grow_children_horizontalLayout.png |  Bin 5363 -> 4978 bytes
 ...lBar_scroll_grow_children_verticalLayout.png |  Bin 3233 -> 3079 bytes
 ...HScrollBar_toggle_to_inactive_disabled_1.png |  Bin 286 -> 285 bytes
 ...HScrollBar_toggle_to_inactive_disabled_2.png |  Bin 323 -> 325 bytes
 ...HScrollBar_toggle_to_inactive_disabled_3.png |  Bin 323 -> 325 bytes
 ...HScrollBar_toggle_to_inactive_disabled_4.png |  Bin 307 -> 308 bytes
 ..._activate_grow_children_horizontalLayout.png |  Bin 2057 -> 1895 bytes
 ...se_scroll_grow_children_horizontalLayout.png |  Bin 3231 -> 2986 bytes
 ...ease_scroll_grow_children_verticalLayout.png |  Bin 2524 -> 2339 bytes
 ...ar_scroll_grow_children_horizontalLayout.png |  Bin 3231 -> 2986 bytes
 ...lBar_scroll_grow_children_verticalLayout.png |  Bin 999 -> 999 bytes
 ...ireframe_VScrollBar_toggle_to_inactive_1.png |  Bin 288 -> 289 bytes
 ...VScrollBar_toggle_to_inactive_disabled_2.png |  Bin 264 -> 266 bytes
 ...VScrollBar_toggle_to_inactive_disabled_3.png |  Bin 264 -> 266 bytes
 ...VScrollBar_toggle_to_inactive_disabled_4.png |  Bin 272 -> 273 bytes
 .../styles/FxScrollBar_GlobalStyles_tester.mxml |   10 +-
 .../styles/ScrollBar_styles_tester.mxml         |    8 +-
 .../ScrollBar/swfs/ScrollBar_sparkSkin.mxml     |   76 +-
 .../ScrollBar/swfs/Scrollbar_inactive_main.mxml |   14 +-
 .../swfs/Scrollbar_inactive_wireframe_main.mxml |   11 +-
 .../ScrollerComp_event_viewport_mouseWheel.png  |  Bin 1996 -> 1915 bytes
 .../ScrollerComp_event_viewport_mouseWheel1.png |  Bin 1894 -> 1716 bytes
 .../events/scrollerComp_events_tester.mxml      |   44 +-
 .../methods/scrollerComp_methods_tester.mxml    |   10 +-
 ...ScrollerComp_property_viewport_DataGroup.png |  Bin 2206 -> 2132 bytes
 ...roperty_viewport_DataGroup_contentHeight.png |  Bin 2329 -> 2291 bytes
 .../ScrollerComp_property_viewport_HGroup.png   |  Bin 3135 -> 2885 bytes
 ...mp_property_viewport_HGroup_contentWidth.png |  Bin 3313 -> 3015 bytes
 ...operty_viewport_HGroup_contentWidth_sync.png |  Bin 3313 -> 3015 bytes
 ...p_property_viewport_VGroup_contentHeight.png |  Bin 6512 -> 6051 bytes
 ...perty_viewport_VGroup_contentHeight_sync.png |  Bin 6512 -> 6051 bytes
 .../baselines/ScrollerMain_Button_hScroll.png   |  Bin 2007 -> 1902 bytes
 .../baselines/ScrollerMain_VarTest_wrap.png     |  Bin 12133 -> 9323 bytes
 .../ScrollerMain_VarTest_wrap_vertScroll.png    |  Bin 17908 -> 14662 bytes
 ...perty_horizontalScrollPosition_DataGroup.png |  Bin 1718 -> 1750 bytes
 ..._property_horizontalScrollPosition_Group.png |  Bin 1443 -> 1440 bytes
 ...roperty_verticalScrollPosition_DataGroup.png |  Bin 2980 -> 3019 bytes
 ...in_property_verticalScrollPosition_Group.png |  Bin 2355 -> 2361 bytes
 .../scrollerComp_properties_tester.mxml         |    6 +-
 .../scrollerMainComp_properties_tester.mxml     |    8 +-
 .../Styles/SimplifiedSkins_tester.mxml          |    8 +-
 .../baselines/SimplifiedSkins_ButtonBar.png     |  Bin 1792 -> 1765 bytes
 .../baselines/SimplifiedSkins_CheckBox.png      |  Bin 289 -> 293 bytes
 .../SimplifiedSkins_NumericStepper.png          |  Bin 551 -> 566 bytes
 .../Styles/baselines/SimplifiedSkins_Panel.png  |  Bin 408 -> 405 bytes
 .../baselines/SimplifiedSkins_RadioButton.png   |  Bin 564 -> 589 bytes
 .../baselines/SimplifiedSkins_VideoPlayer.png   |  Bin 2816 -> 2644 bytes
 .../baselines/SkahaSample_Properties_visual.png |  Bin 908 -> 1124 bytes
 .../FxContainer_StatesIntegration_Tests.mxml    |    1 +
 .../FxContainer_integration_tester.mxml         |   11 +-
 .../FxContainer_defaultState_buttons.png        |  Bin 4091 -> 3948 bytes
 .../FxContainer_integration_horizontalSkin1.png |  Bin 1789 -> 1847 bytes
 .../baselines/FxContainer_state1_buttons.png    |  Bin 2422 -> 3230 bytes
 .../baselines/FxContainer_state2_buttons.png    |  Bin 5758 -> 5126 bytes
 .../methods/FxContainer_methods_tester.mxml     |    6 +-
 ...xContainer_method_setItemIndex_component.png |  Bin 4594 -> 4723 bytes
 ...thod_setItemIndex_component_graphics_0_1.png |  Bin 4720 -> 4849 bytes
 ...thod_setItemIndex_component_graphics_2_0.png |  Bin 4721 -> 4850 bytes
 .../FxContainer_properties_tester.mxml          |   12 +-
 .../FxContainer_property_autoLayout_false1.png  |  Bin 1874 -> 1774 bytes
 .../FxContainer_property_autoLayout_false2.png  |  Bin 2011 -> 1881 bytes
 .../FxContainer_property_comp_layout_change.png |  Bin 5165 -> 4787 bytes
 .../FxContainer_property_creationPolicy_all.png |  Bin 5196 -> 4820 bytes
 ...FxContainer_property_creationPolicy_none.png |  Bin 5196 -> 4820 bytes
 .../FxContainer_property_length_addItem.png     |  Bin 2677 -> 2368 bytes
 .../styles/FxContainer_styles_tester.mxml       |   32 +-
 ...FocusColor_changeComponentStyleAtRuntime.png |  Bin 576 -> 582 bytes
 .../FocusColor_changeContainerAtRuntime.png     |  Bin 557 -> 563 bytes
 ...FxContainerStyle_FxButtonBar_compileTime.png |  Bin 4031 -> 4368 bytes
 .../FxContainerStyle_FxButtonBar_runtimeCSS.png |  Bin 4009 -> 4204 bytes
 .../FxContainerStyle_FxButton_compileTime.png   |  Bin 1658 -> 1788 bytes
 .../FxContainerStyle_FxButton_runtimeCSS.png    |  Bin 1644 -> 1733 bytes
 .../FxContainerStyle_FxCheckBox_compileTime.png |  Bin 1747 -> 1769 bytes
 .../FxContainerStyle_FxCheckBox_runtimeCSS.png  |  Bin 1765 -> 1785 bytes
 .../FxContainerStyle_FxHSlider_compileTime.png  |  Bin 562 -> 725 bytes
 .../FxContainerStyle_FxHSlider_runtimeCSS.png   |  Bin 548 -> 726 bytes
 ...tainerStyle_FxNumericStepper_compileTime.png |  Bin 551 -> 781 bytes
 ...ntainerStyle_FxNumericStepper_runtimeCSS.png |  Bin 566 -> 794 bytes
 ...xContainerStyle_FxRadioButton_runtimeCSS.png |  Bin 1588 -> 1888 bytes
 .../FxContainerStyle_FxTextArea_compileTime.png |  Bin 7416 -> 6870 bytes
 .../FxContainerStyle_FxTextArea_runtimeCSS.png  |  Bin 7505 -> 6944 bytes
 ...tyle_FxToggleButton_compileTime_selected.png |  Bin 2247 -> 2378 bytes
 ...le_FxToggleButton_compileTime_unselected.png |  Bin 2198 -> 2406 bytes
 ...Style_FxToggleButton_runtimeCSS_selected.png |  Bin 836 -> 2355 bytes
 ...yle_FxToggleButton_runtimeCSS_unselected.png |  Bin 769 -> 2309 bytes
 .../swfs/FxContainer_Styles_Main.mxml           |    5 +-
 .../FxDataContainer_integration_tester.mxml     |    2 +-
 .../FxDataContainer_defaultState_buttons.png    |  Bin 3381 -> 3238 bytes
 .../FxDataContainer_property_itemAddRemove1.png |  Bin 7930 -> 7474 bytes
 ...taContainer_property_itemRenderer_length.png |  Bin 7930 -> 7474 bytes
 ..._itemRenderer_mixData_comp_layout_change.png |  Bin 9756 -> 9494 bytes
 .../Baselines/HSlider_Wireframe_dataTip.png     |  Bin 1067 -> 1044 bytes
 .../Baselines/HSlider_dataTipPrecision.png      |  Bin 1311 -> 1328 bytes
 .../Baselines/VSlider_Wireframe_dataTip.png     |  Bin 1219 -> 1193 bytes
 .../Baselines/VSlider_dataTipPrecision.png      |  Bin 1467 -> 1490 bytes
 .../Slider/Properties/HSlider_Properties.mxml   |   10 +-
 .../Slider/Properties/VSlider_Properties.mxml   |    6 +-
 .../components/Slider/SWFs/Slider_Basic.mxml    |    6 +
 .../components/Slider/SWFs/VSlider_Basic.mxml   |    6 +
 .../HSlider_Mirroring_rtl_as_default.png        |  Bin 937 -> 942 bytes
 .../baselines/HSlider_Mirroring_rtl_dataTip.png |  Bin 1701 -> 1696 bytes
 .../baselines/HSlider_Mirroring_rtl_default.png |  Bin 937 -> 942 bytes
 .../HSlider_Mirroring_rtl_keyboard_1.png        |  Bin 1139 -> 1142 bytes
 .../HSlider_Mirroring_rtl_keyboard_2.png        |  Bin 1136 -> 1137 bytes
 .../HSlider_Mirroring_rtl_mxml_changeDir_1.png  |  Bin 1074 -> 1082 bytes
 .../HSlider_Mirroring_rtl_mxml_changeDir_2.png  |  Bin 1076 -> 1086 bytes
 .../HSlider_Mirroring_rtl_mxml_default.png      |  Bin 1060 -> 1062 bytes
 .../HSlider_Mirroring_rtl_mxml_value.png        |  Bin 1074 -> 1082 bytes
 .../HSlider_Mirroring_rtl_parentContainer1.png  |  Bin 1061 -> 1063 bytes
 ...HSlider_Mirroring_rtl_parentContainer2_1.png |  Bin 1074 -> 1085 bytes
 ...HSlider_Mirroring_rtl_parentContainer2_2.png |  Bin 1078 -> 1088 bytes
 .../HSlider_Mirroring_rtl_parentContainer3.png  |  Bin 1088 -> 1095 bytes
 .../HSlider_Mirroring_rtl_rotation.png          |  Bin 1663 -> 1667 bytes
 .../baselines/HSlider_Mirroring_rtl_value1.png  |  Bin 957 -> 965 bytes
 .../baselines/HSlider_Mirroring_rtl_value2.png  |  Bin 951 -> 967 bytes
 .../baselines/HSlider_Mirroring_rtl_value3.png  |  Bin 925 -> 937 bytes
 .../HSlider_Mirroring_rtl_value4_1.png          |  Bin 953 -> 967 bytes
 .../HSlider_Mirroring_rtl_value4_2.png          |  Bin 957 -> 973 bytes
 .../TabBar_ContainerIntegration.mxml            |    1 +
 .../Integration/TabBar_ViewStack_Methods.mxml   |   16 +-
 .../containerIntegration_box_test1.png          |  Bin 3849 -> 3827 bytes
 .../containerIntegration_box_test3.png          |  Bin 3610 -> 3607 bytes
 .../containerIntegration_panel_test5.png        |  Bin 3578 -> 3926 bytes
 .../containerIntegration_popup_test6.png        |  Bin 4921 -> 4605 bytes
 .../Integration/baselines/iconChange_test1.png  |  Bin 3457 -> 3147 bytes
 .../Integration/baselines/iconChange_test2.png  |  Bin 3457 -> 3147 bytes
 .../Integration/baselines/iconChange_test3.png  |  Bin 3457 -> 3147 bytes
 .../Integration/baselines/iconChange_test4.png  |  Bin 3457 -> 3147 bytes
 .../Integration/baselines/iconChange_test5.png  |  Bin 3457 -> 3147 bytes
 .../Integration/baselines/iconChange_test6.png  |  Bin 3677 -> 3376 bytes
 .../Integration/baselines/labelChange_test0.png |  Bin 4529 -> 4093 bytes
 .../Integration/baselines/labelChange_test1.png |  Bin 2261 -> 2112 bytes
 .../Integration/baselines/labelChange_test2.png |  Bin 5194 -> 4563 bytes
 .../Integration/baselines/labelChange_test3.png |  Bin 3523 -> 3227 bytes
 .../Integration/baselines/states_test0.png      |  Bin 1096 -> 1076 bytes
 .../Integration/baselines/states_test2.png      |  Bin 2414 -> 2205 bytes
 .../Integration/baselines/states_test2b.png     |  Bin 2414 -> 2205 bytes
 .../Integration/baselines/states_test3.png      |  Bin 3390 -> 3188 bytes
 .../Integration/baselines/states_test3b.png     |  Bin 3390 -> 3188 bytes
 .../Methods/baselines/itemSelected_test7.png    |  Bin 1274 -> 1348 bytes
 .../Methods/baselines/itemSelected_test8.png    |  Bin 2976 -> 2805 bytes
 .../Methods/baselines/itemSelected_test9.png    |  Bin 2654 -> 2516 bytes
 .../baselines/tabBar_keyDownHandler_test1.png   |  Bin 2653 -> 2682 bytes
 .../baselines/tabBar_keyDownHandler_test10.png  |  Bin 2694 -> 2741 bytes
 .../baselines/tabBar_keyDownHandler_test11.png  |  Bin 2674 -> 2696 bytes
 .../baselines/tabBar_keyDownHandler_test12.png  |  Bin 2674 -> 2696 bytes
 .../baselines/tabBar_keyDownHandler_test2.png   |  Bin 2653 -> 2682 bytes
 .../baselines/tabBar_keyDownHandler_test3.png   |  Bin 2694 -> 2741 bytes
 .../baselines/tabBar_keyDownHandler_test4.png   |  Bin 2694 -> 2741 bytes
 .../baselines/tabBar_keyDownHandler_test5.png   |  Bin 2653 -> 2682 bytes
 .../baselines/tabBar_keyDownHandler_test6.png   |  Bin 2653 -> 2682 bytes
 .../baselines/tabBar_keyDownHandler_test7.png   |  Bin 2674 -> 2696 bytes
 .../baselines/tabBar_keyDownHandler_test8.png   |  Bin 2674 -> 2696 bytes
 .../baselines/tabBar_keyDownHandler_test9.png   |  Bin 2694 -> 2741 bytes
 .../TabBar/Properties/TabBar_properties.mxml    |    4 +-
 .../Properties/baselines/TabBar_icon_test1.png  |  Bin 5360 -> 5463 bytes
 .../Properties/baselines/TabBar_icon_test10.png |  Bin 6503 -> 6448 bytes
 .../Properties/baselines/TabBar_icon_test11.png |  Bin 4049 -> 4148 bytes
 .../Properties/baselines/TabBar_icon_test12.png |  Bin 4115 -> 4040 bytes
 .../Properties/baselines/TabBar_icon_test13.png |  Bin 4300 -> 4300 bytes
 .../Properties/baselines/TabBar_icon_test14.png |  Bin 3426 -> 3440 bytes
 .../Properties/baselines/TabBar_icon_test15.png |  Bin 4922 -> 5033 bytes
 .../Properties/baselines/TabBar_icon_test16.png |  Bin 5484 -> 5130 bytes
 .../Properties/baselines/TabBar_icon_test17.png |  Bin 5601 -> 5316 bytes
 .../Properties/baselines/TabBar_icon_test18.png |  Bin 5471 -> 6047 bytes
 .../Properties/baselines/TabBar_icon_test19.png |  Bin 5961 -> 5909 bytes
 .../Properties/baselines/TabBar_icon_test2.png  |  Bin 8182 -> 8234 bytes
 .../Properties/baselines/TabBar_icon_test20.png |  Bin 5869 -> 5990 bytes
 .../Properties/baselines/TabBar_icon_test21.png |  Bin 5360 -> 5463 bytes
 .../Properties/baselines/TabBar_icon_test22.png |  Bin 4922 -> 5033 bytes
 .../Properties/baselines/TabBar_icon_test23.png |  Bin 3426 -> 3440 bytes
 .../Properties/baselines/TabBar_icon_test24.png |  Bin 6027 -> 5572 bytes
 .../Properties/baselines/TabBar_icon_test25.png |  Bin 5490 -> 5337 bytes
 .../Properties/baselines/TabBar_icon_test26.png |  Bin 5355 -> 5440 bytes
 .../Properties/baselines/TabBar_icon_test27.png |  Bin 5602 -> 5366 bytes
 .../Properties/baselines/TabBar_icon_test28.png |  Bin 5360 -> 5463 bytes
 .../Properties/baselines/TabBar_icon_test29.png |  Bin 5331 -> 5455 bytes
 .../Properties/baselines/TabBar_icon_test3.png  |  Bin 7613 -> 7279 bytes
 .../Properties/baselines/TabBar_icon_test4.png  |  Bin 7571 -> 7262 bytes
 .../Properties/baselines/TabBar_icon_test5.png  |  Bin 8182 -> 8234 bytes
 .../Properties/baselines/TabBar_icon_test6.png  |  Bin 6308 -> 6586 bytes
 .../Properties/baselines/TabBar_icon_test8.png  |  Bin 5613 -> 5783 bytes
 .../Properties/baselines/TabBar_icon_test9.png  |  Bin 6512 -> 6478 bytes
 .../Properties/baselines/enabled_test2.png      |  Bin 1575 -> 1880 bytes
 .../TabBar/Properties/baselines/focus_test2.png |  Bin 8248 -> 8022 bytes
 .../baselines/focus_test3_tabBar_focus1.png     |  Bin 8358 -> 8127 bytes
 .../baselines/focus_test3_tabBar_focus3.png     |  Bin 7702 -> 8066 bytes
 .../Properties/baselines/longLabel_test1.png    |  Bin 3286 -> 3026 bytes
 .../baselines/selectedItem_sanityTest.png       |  Bin 2239 -> 2219 bytes
 .../components/TabBar/SWFs/TabBarApp2.mxml      |   55 +-
 .../TabBar/Skins/TabBar_skin_tester.mxml        |   11 +-
 .../TabBar/Skins/baselines/customSkin_test1.png |  Bin 3893 -> 3696 bytes
 .../TabBar/Skins/baselines/customSkin_test2.png |  Bin 1694 -> 1715 bytes
 .../TabBar/Skins/baselines/customSkin_test3.png |  Bin 2375 -> 2454 bytes
 .../TabBar/Skins/baselines/customSkin_test4.png |  Bin 2418 -> 2631 bytes
 .../TabBar/Skins/baselines/customSkin_test5.png |  Bin 2306 -> 2535 bytes
 .../baselines/customSkin_test5_mouseDown.png    |  Bin 2306 -> 2610 bytes
 .../baselines/customSkin_test5_rollOver.png     |  Bin 2418 -> 2535 bytes
 .../baselines/customSkin_test6_disabled.png     |  Bin 1902 -> 2317 bytes
 .../baselines/customSkin_test6_enabled.png      |  Bin 2418 -> 2631 bytes
 .../components/TabBar/Styles/TabBar_styles.mxml |   18 +-
 .../TabBar_Style_baseColor_disabled.png         |  Bin 734 -> 852 bytes
 .../TabBar_Style_baseColor_mouseOver.png        |  Bin 838 -> 890 bytes
 .../baselines/TabBar_Style_baseColor_mxml.png   |  Bin 880 -> 938 bytes
 .../baselines/TabBar_Style_color_disabled.png   |  Bin 745 -> 862 bytes
 .../baselines/TabBar_Style_color_mxml.png       |  Bin 863 -> 946 bytes
 .../baselines/TabBar_Style_focusColor_mxml.png  |  Bin 1117 -> 1161 bytes
 .../Styles/baselines/color_as_css_test1.png     |  Bin 2129 -> 2326 bytes
 .../TabBar/Styles/baselines/color_as_test1.png  |  Bin 2129 -> 2326 bytes
 .../Styles/baselines/color_mxml_test1.png       |  Bin 2129 -> 2326 bytes
 .../Styles/baselines/cornerRadius_test1.png     |  Bin 2003 -> 2060 bytes
 .../Styles/baselines/cornerRadius_test2.png     |  Bin 2341 -> 2276 bytes
 .../Styles/baselines/cornerRadius_test3.png     |  Bin 2186 -> 2182 bytes
 .../Styles/baselines/cornerRadius_test5.png     |  Bin 3560 -> 3716 bytes
 .../Styles/baselines/direction_as_css_test1.png |  Bin 1845 -> 3186 bytes
 .../Styles/baselines/direction_as_css_test2.png |  Bin 1845 -> 3165 bytes
 .../Styles/baselines/direction_as_test1.png     |  Bin 1845 -> 3186 bytes
 .../Styles/baselines/direction_as_test2.png     |  Bin 1845 -> 3165 bytes
 .../Styles/baselines/direction_mxml_test1.png   |  Bin 1845 -> 6541 bytes
 .../Styles/baselines/direction_mxml_test2.png   |  Bin 1845 -> 6522 bytes
 .../baselines/fontFamily_as_css_test1.png       |  Bin 2146 -> 1978 bytes
 .../baselines/fontFamily_as_css_test2.png       |  Bin 2146 -> 2144 bytes
 .../Styles/baselines/fontFamily_as_test1.png    |  Bin 2146 -> 1978 bytes
 .../Styles/baselines/fontFamily_as_test2.png    |  Bin 2146 -> 2144 bytes
 .../Styles/baselines/fontFamily_mxml_test1.png  |  Bin 3448 -> 3500 bytes
 .../Styles/baselines/fontFamily_mxml_test2.png  |  Bin 3448 -> 3306 bytes
 .../Styles/baselines/fontSize_as_css_test1.png  |  Bin 1767 -> 1691 bytes
 .../Styles/baselines/fontSize_as_css_test2.png  |  Bin 3448 -> 3336 bytes
 .../Styles/baselines/fontSize_as_test1.png      |  Bin 1767 -> 1691 bytes
 .../Styles/baselines/fontSize_as_test2.png      |  Bin 3448 -> 3336 bytes
 .../Styles/baselines/fontSize_mxml_test1.png    |  Bin 1767 -> 1691 bytes
 .../Styles/baselines/fontSize_mxml_test2.png    |  Bin 3448 -> 3336 bytes
 .../baselines/fontWeight_as_css_test1.png       |  Bin 2146 -> 2160 bytes
 .../baselines/fontWeight_as_css_test2.png       |  Bin 2146 -> 2148 bytes
 .../Styles/baselines/fontWeight_as_test1.png    |  Bin 2146 -> 2160 bytes
 .../Styles/baselines/fontWeight_as_test2.png    |  Bin 2146 -> 2148 bytes
 .../Styles/baselines/fontWeight_mxml_test1.png  |  Bin 2146 -> 2160 bytes
 .../Styles/baselines/fontWeight_mxml_test2.png  |  Bin 2146 -> 2148 bytes
 .../Styles/baselines/kerning_as_css_test1.png   |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_as_css_test2.png   |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_as_css_test3.png   |  Bin 1137 -> 1734 bytes
 .../Styles/baselines/kerning_as_test1.png       |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_as_test2.png       |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_as_test3.png       |  Bin 1137 -> 1734 bytes
 .../Styles/baselines/kerning_mxml_test1.png     |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_mxml_test2.png     |  Bin 1606 -> 1884 bytes
 .../Styles/baselines/kerning_mxml_test3.png     |  Bin 1137 -> 1734 bytes
 .../baselines/lineThrough_as_css_test1.png      |  Bin 2058 -> 2074 bytes
 .../baselines/lineThrough_as_css_test2.png      |  Bin 2146 -> 2148 bytes
 .../Styles/baselines/lineThrough_as_test1.png   |  Bin 2058 -> 2074 bytes
 .../Styles/baselines/lineThrough_as_test2.png   |  Bin 2146 -> 2148 bytes
 .../Styles/baselines/lineThrough_mxml_test1.png |  Bin 2058 -> 2074 bytes
 .../Styles/baselines/lineThrough_mxml_test2.png |  Bin 2146 -> 2148 bytes
 .../TabBar/Styles/baselines/tblr_as_test1.png   |  Bin 2241 -> 2244 bytes
 .../TabBar/Styles/baselines/tblr_as_test2.png   |  Bin 2285 -> 2278 bytes
 .../TabBar/Styles/baselines/tblr_as_test3.png   |  Bin 2265 -> 2269 bytes
 .../baselines/textDecoration_as_css_test1.png   |  Bin 2123 -> 2163 bytes
 .../baselines/textDecoration_as_css_test2.png   |  Bin 2146 -> 2148 bytes
 .../baselines/textDecoration_as_test1.png       |  Bin 2123 -> 2163 bytes
 .../baselines/textDecoration_as_test2.png       |  Bin 2146 -> 2148 bytes
 .../baselines/textDecoration_mxml_test1.png     |  Bin 2123 -> 2172 bytes
 .../baselines/textDecoration_mxml_test2.png     |  Bin 2113 -> 2156 bytes
 .../TabBar/Styles/baselines/vhc_as_test1.png    |  Bin 2269 -> 2270 bytes
 .../TabBar/Styles/baselines/vhc_as_test2.png    |  Bin 2310 -> 2312 bytes
 .../TextArea/Events/TextArea_Events_tester.mxml |   12 +-
 ...xtArea_TLF20Integration_editor00_tester.mxml |   72 +-
 ...xtArea_TLF20Integration_editor01_tester.mxml |  128 +-
 ...xtArea_TLF20Integration_editor02_tester.mxml |   88 +-
 ...xtArea_TLF20Integration_editor03_tester.mxml |    4 +-
 .../TextArea_integration1_tester.mxml           |    2 +-
 .../Integration/baselines/FloatRight@mac.png    |  Bin 18850 -> 0 bytes
 .../TA_00_LSP_INSIDE_add_empty_items.png        |  Bin 13622 -> 12304 bytes
 .../TA_00_LSP_INSIDE_add_empty_items@mac.png    |  Bin 13791 -> 0 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 18636 -> 17639 bytes
 ...DE_edit_multiple_nested_ordered_list@mac.png |  Bin 18237 -> 0 bytes
 .../TA_00_LSP_INSIDE_edit_ordered_list.png      |  Bin 16756 -> 15032 bytes
 .../TA_00_LSP_INSIDE_edit_ordered_list@mac.png  |  Bin 16558 -> 0 bytes
 .../TA_00_LSP_INSIDE_last_position.png          |  Bin 4579 -> 5164 bytes
 .../TA_00_LSP_INSIDE_last_position@mac.png      |  Bin 5043 -> 0 bytes
 ...00_LSP_INSIDE_list_in_list_last_position.png |  Bin 20714 -> 20762 bytes
 ...SP_INSIDE_list_in_list_last_position@mac.png |  Bin 21407 -> 0 bytes
 .../baselines/TA_00_LSP_INSIDE_ordered_list.png |  Bin 11463 -> 9779 bytes
 .../TA_00_LSP_INSIDE_ordered_list@mac.png       |  Bin 11908 -> 0 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 14288 -> 14249 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16068 -> 0 bytes
 .../TA_00_LSP_OUTSIDE_add_empty_items.png       |  Bin 12808 -> 11683 bytes
 .../TA_00_LSP_OUTSIDE_add_empty_items@mac.png   |  Bin 13402 -> 0 bytes
 ...UTSIDE_edit_multiple_nested_ordered_list.png |  Bin 16002 -> 14241 bytes
 ...DE_edit_multiple_nested_ordered_list@mac.png |  Bin 16198 -> 0 bytes
 .../TA_00_LSP_OUTSIDE_edit_ordered_list.png     |  Bin 15327 -> 14297 bytes
 .../TA_00_LSP_OUTSIDE_edit_ordered_list@mac.png |  Bin 15559 -> 0 bytes
 .../TA_00_LSP_OUTSIDE_last_position.png         |  Bin 4579 -> 5164 bytes
 .../TA_00_LSP_OUTSIDE_last_position@mac.png     |  Bin 5043 -> 0 bytes
 ...0_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 20341 -> 19847 bytes
 ...P_OUTSIDE_list_in_list_last_position@mac.png |  Bin 20857 -> 0 bytes
 .../TA_00_LSP_OUTSIDE_ordered_list.png          |  Bin 9936 -> 9960 bytes
 .../TA_00_LSP_OUTSIDE_ordered_list@mac.png      |  Bin 11410 -> 0 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 14288 -> 14249 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16068 -> 0 bytes
 .../TA_01_CC_3_LSP_INSIDE_add_empty_items.png   |  Bin 13646 -> 13093 bytes
 ...A_01_CC_3_LSP_INSIDE_add_empty_items@mac.png |  Bin 14292 -> 0 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 19443 -> 20152 bytes
 ...DE_edit_multiple_nested_ordered_list@mac.png |  Bin 19466 -> 0 bytes
 .../TA_01_CC_3_LSP_INSIDE_edit_ordered_list.png |  Bin 18433 -> 18573 bytes
 ...01_CC_3_LSP_INSIDE_edit_ordered_list@mac.png |  Bin 19083 -> 0 bytes
 ...INSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 10217 -> 7094 bytes
 ...DE_embedded_font_fallback_LSTOrdered@mac.png |  Bin 7078 -> 0 bytes
 .../TA_01_CC_3_LSP_INSIDE_last_position.png     |  Bin 4902 -> 5487 bytes
 .../TA_01_CC_3_LSP_INSIDE_last_position@mac.png |  Bin 5365 -> 0 bytes
 ..._3_LSP_INSIDE_list_in_list_last_position.png |  Bin 20045 -> 21051 bytes
 ...SP_INSIDE_list_in_list_last_position@mac.png |  Bin 21187 -> 0 bytes
 .../TA_01_CC_3_LSP_INSIDE_ordered_list.png      |  Bin 11837 -> 10115 bytes
 .../TA_01_CC_3_LSP_INSIDE_ordered_list@mac.png  |  Bin 12261 -> 0 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 14749 -> 14585 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16458 -> 0 bytes
 .../TA_01_CC_3_LSP_OUTSIDE_add_empty_items.png  |  Bin 12539 -> 12068 bytes
 ..._01_CC_3_LSP_OUTSIDE_add_empty_items@mac.png |  Bin 13330 -> 0 bytes
 ...TA_01_CC_3_LSP_OUTSIDE_edit_ordered_list.png |  Bin 17383 -> 16496 bytes
 ...1_CC_3_LSP_OUTSIDE_edit_ordered_list@mac.png |  Bin 17206 -> 0 bytes
 ...UTSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 7527 -> 7033 bytes
 ...DE_embedded_font_fallback_LSTOrdered@mac.png |  Bin 7033 -> 0 bytes
 .../TA_01_CC_3_LSP_OUTSIDE_last_position.png    |  Bin 4902 -> 5487 bytes
 ...TA_01_CC_3_LSP_OUTSIDE_last_position@mac.png |  Bin 5365 -> 0 bytes
 ...3_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 19743 -> 19302 bytes
 ...P_OUTSIDE_list_in_list_last_position@mac.png |  Bin 20650 -> 0 bytes
 .../TA_01_CC_3_LSP_OUTSIDE_ordered_list.png     |  Bin 10328 -> 10295 bytes
 .../TA_01_CC_3_LSP_OUTSIDE_ordered_list@mac.png |  Bin 11771 -> 0 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 14749 -> 14585 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16458 -> 0 bytes
 .../TA_01_LSP_INSIDE_add_empty_items.png        |  Bin 13646 -> 13093 bytes
 .../TA_01_LSP_INSIDE_add_empty_items@mac.png    |  Bin 14292 -> 0 bytes
 ...INSIDE_edit_multiple_nested_ordered_list.png |  Bin 19072 -> 17994 bytes
 ...DE_edit_multiple_nested_ordered_list@mac.png |  Bin 18668 -> 0 bytes
 .../TA_01_LSP_INSIDE_edit_ordered_list.png      |  Bin 18433 -> 18573 bytes
 .../TA_01_LSP_INSIDE_edit_ordered_list@mac.png  |  Bin 19083 -> 0 bytes
 ...INSIDE_embedded_font_fallback_LSTOrdered.png |  Bin 10217 -> 7094 bytes
 ...DE_embedded_font_fallback_LSTOrdered@mac.png |  Bin 7078 -> 0 bytes
 .../TA_01_LSP_INSIDE_last_position.png          |  Bin 4902 -> 5487 bytes
 .../TA_01_LSP_INSIDE_last_position@mac.png      |  Bin 5365 -> 0 bytes
 ...01_LSP_INSIDE_list_in_list_last_position.png |  Bin 20045 -> 21051 bytes
 ...SP_INSIDE_list_in_list_last_position@mac.png |  Bin 21187 -> 0 bytes
 .../baselines/TA_01_LSP_INSIDE_ordered_list.png |  Bin 11837 -> 10115 bytes
 .../TA_01_LSP_INSIDE_ordered_list@mac.png       |  Bin 12261 -> 0 bytes
 ..._INSIDE_pos_outside_default_padding_true.png |  Bin 14749 -> 14585 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16458 -> 0 bytes
 .../TA_01_LSP_OUTSIDE_add_empty_items.png       |  Bin 12539 -> 12068 bytes
 .../TA_01_LSP_OUTSIDE_add_empty_items@mac.png   |  Bin 13330 -> 0 bytes
 .../TA_01_LSP_OUTSIDE_edit_ordered_list.png     |  Bin 17383 -> 16496 bytes
 .../TA_01_LSP_OUTSIDE_edit_ordered_list@mac.png |  Bin 17206 -> 0 bytes
 .../TA_01_LSP_OUTSIDE_last_position.png         |  Bin 4799 -> 5366 bytes
 .../TA_01_LSP_OUTSIDE_last_position@mac.png     |  Bin 5255 -> 0 bytes
 ...1_LSP_OUTSIDE_list_in_list_last_position.png |  Bin 19743 -> 19302 bytes
 ...P_OUTSIDE_list_in_list_last_position@mac.png |  Bin 20650 -> 0 bytes
 ...OUTSIDE_pos_outside_default_padding_true.png |  Bin 14749 -> 14585 bytes
 ...IDE_pos_outside_default_padding_true@mac.png |  Bin 16458 -> 0 bytes
 .../baselines/TA_02_FLOAT_ImgFloatEnd.png       |  Bin 8553 -> 8395 bytes
 .../TA_02_FLOAT_ImgFloatEndClearBoth.png        |  Bin 8553 -> 8395 bytes
 .../TA_02_FLOAT_ImgFloatEndClearLeft.png        |  Bin 8501 -> 8095 bytes
 .../TA_02_FLOAT_ImgFloatEndClearNone.png        |  Bin 8501 -> 8095 bytes
 .../TA_02_FLOAT_ImgFloatEndClearRight.png       |  Bin 8553 -> 8395 bytes
 .../baselines/TA_02_FLOAT_ImgFloatLeft.png      |  Bin 8511 -> 8112 bytes
 .../TA_02_FLOAT_ImgFloatLeftClearBoth.png       |  Bin 8561 -> 8410 bytes
 .../TA_02_FLOAT_ImgFloatLeftClearLeft.png       |  Bin 8561 -> 8410 bytes
 .../TA_02_FLOAT_ImgFloatLeftClearNone.png       |  Bin 8511 -> 8112 bytes
 .../TA_02_FLOAT_ImgFloatLeftClearRight.png      |  Bin 8511 -> 8112 bytes
 .../baselines/TA_02_FLOAT_ImgFloatNone.png      |  Bin 8508 -> 8106 bytes
 .../TA_02_FLOAT_ImgFloatNoneClearBoth.png       |  Bin 8508 -> 8106 bytes
 .../TA_02_FLOAT_ImgFloatNoneClearLeft.png       |  Bin 8508 -> 8106 bytes
 .../TA_02_FLOAT_ImgFloatNoneClearNone.png       |  Bin 8508 -> 8106 bytes
 .../TA_02_FLOAT_ImgFloatNoneClearRight.png      |  Bin 8508 -> 8106 bytes
 .../baselines/TA_02_FLOAT_ImgFloatRight.png     |  Bin 8553 -> 8395 bytes
 .../TA_02_FLOAT_ImgFloatRightClearBoth.png      |  Bin 8553 -> 8395 bytes
 .../TA_02_FLOAT_ImgFloatRightClearLeft.png      |  Bin 8501 -> 8095 bytes
 .../TA_02_FLOAT_ImgFloatRightClearNone.png      |  Bin 8501 -> 8095 bytes
 .../TA_02_FLOAT_ImgFloatRightClearRight.png     |  Bin 8553 -> 8395 bytes
 .../baselines/TA_02_FLOAT_ImgFloatStart.png     |  Bin 8511 -> 8112 bytes
 .../TA_02_ImgFloatAndClearFloatsRuntime.png     |  Bin 8256 -> 7495 bytes
 ...ea_integration1_multi_line_insert_scroll.png |  Bin 1660 -> 1644 bytes
 .../Methods/TextArea_Methods_tester.mxml        |   33 +-
 .../TextArea_ParagraphAttributes_tester.mxml    |  738 +--
 ...TextArea_ParagraphAttributes_tester_mac.mxml |  379 --
 .../Gumbo_TextArea_insertText_method_post.png   |  Bin 1579 -> 1713 bytes
 .../Gumbo_TextArea_insertText_method_pre.png    |  Bin 1473 -> 1583 bytes
 ...mbo_TextArea_insertText_method_selectall.png |  Bin 1569 -> 1525 bytes
 ...bo_TextArea_insertText_method_selectsome.png |  Bin 1638 -> 1667 bytes
 .../baselines/Gumbo_TextArea_scrollToRange1.png |  Bin 9535 -> 9817 bytes
 .../Gumbo_TextArea_scrollToRange1@mac.png       |  Bin 9535 -> 0 bytes
 .../baselines/Gumbo_TextArea_scrollToRange2.png |  Bin 8554 -> 9179 bytes
 .../Gumbo_TextArea_scrollToRange2@mac.png       |  Bin 8554 -> 0 bytes
 .../baselines/Gumbo_TextArea_scrollToRange3.png |  Bin 8906 -> 9540 bytes
 .../Gumbo_TextArea_scrollToRange3@mac.png       |  Bin 11044 -> 0 bytes
 ...Gumbo_TextArea_setAttributes_method_bold.png |  Bin 1652 -> 1590 bytes
 ...ea_setAttributes_method_bold_insert_text.png |  Bin 2270 -> 2308 bytes
 ...xtArea_setAttributes_method_bold_invalid.png |  Bin 1652 -> 1590 bytes
 ...tArea_setAttributes_method_direction_ltr.png |  Bin 17679 -> 16964 bytes
 ...tArea_setAttributes_method_direction_rtl.png |  Bin 17670 -> 16932 bytes
 ...tributes_method_direction_rtl_textIndent.png |  Bin 17774 -> 16835 bytes
 ...etAttributes_method_textAlignLast_center.png |  Bin 18038 -> 17019 bytes
 ...a_setAttributes_method_textAlignLast_end.png |  Bin 18339 -> 16916 bytes
 ...tAttributes_method_textAlignLast_justify.png |  Bin 18494 -> 16949 bytes
 ..._setAttributes_method_textAlignLast_left.png |  Bin 18276 -> 16792 bytes
 ...es_method_textAlignLast_nojustify_center.png |  Bin 17679 -> 16964 bytes
 ...setAttributes_method_textAlignLast_right.png |  Bin 18339 -> 16916 bytes
 ...setAttributes_method_textAlignLast_start.png |  Bin 18276 -> 16792 bytes
 ...ea_setAttributes_method_textAlign_center.png |  Bin 17986 -> 16657 bytes
 ...tArea_setAttributes_method_textAlign_end.png |  Bin 18109 -> 16890 bytes
 ...a_setAttributes_method_textAlign_justify.png |  Bin 18276 -> 16792 bytes
 ...Area_setAttributes_method_textAlign_left.png |  Bin 17679 -> 16964 bytes
 ...rea_setAttributes_method_textAlign_right.png |  Bin 18109 -> 16890 bytes
 ...rea_setAttributes_method_textAlign_start.png |  Bin 17679 -> 16964 bytes
 ...tArea_setAttributes_method_textIndent_20.png |  Bin 17681 -> 16795 bytes
 ...ributes_method_textIndent_neg_marginLeft.png |  Bin 17676 -> 16964 bytes
 ...ributes_method_textIndent_pos_marginLeft.png |  Bin 18106 -> 16799 bytes
 .../Gumbo_TextArea_setSelection_method_NaN.png  |  Bin 3309 -> 2984 bytes
 ..._TextArea_setSelection_method_NaN_Anchor.png |  Bin 3605 -> 3319 bytes
 ..._TextArea_setSelection_method_anchorOnly.png |  Bin 3732 -> 3465 bytes
 .../Gumbo_TextArea_setSelection_method_asc.png  |  Bin 3547 -> 3118 bytes
 ...mbo_TextArea_setSelection_method_default.png |  Bin 3542 -> 3190 bytes
 .../Gumbo_TextArea_setSelection_method_desc.png |  Bin 3547 -> 3118 bytes
 ...bo_TextArea_setSelection_method_negative.png |  Bin 3287 -> 2984 bytes
 .../Gumbo_TextArea_setSelection_method_same.png |  Bin 3330 -> 2984 bytes
 ...xtArea_setSelection_method_set_text_post.png |  Bin 1679 -> 1620 bytes
 ...tArea_setAttributes_method_direction_ltr.png |  Bin 17679 -> 0 bytes
 ...tArea_setAttributes_method_direction_rtl.png |  Bin 17670 -> 0 bytes
 ...tributes_method_direction_rtl_textIndent.png |  Bin 17774 -> 0 bytes
 ...etAttributes_method_textAlignLast_center.png |  Bin 18038 -> 0 bytes
 ...a_setAttributes_method_textAlignLast_end.png |  Bin 18339 -> 0 bytes
 ...tAttributes_method_textAlignLast_justify.png |  Bin 18494 -> 0 bytes
 ..._setAttributes_method_textAlignLast_left.png |  Bin 18276 -> 0 bytes
 ...es_method_textAlignLast_nojustify_center.png |  Bin 17679 -> 0 bytes
 ...setAttributes_method_textAlignLast_right.png |  Bin 18339 -> 0 bytes
 ...setAttributes_method_textAlignLast_start.png |  Bin 18276 -> 0 bytes
 ...ea_setAttributes_method_textAlign_center.png |  Bin 17986 -> 0 bytes
 ...tArea_setAttributes_method_textAlign_end.png |  Bin 18109 -> 0 bytes
 ...a_setAttributes_method_textAlign_justify.png |  Bin 18276 -> 0 bytes
 ...Area_setAttributes_method_textAlign_left.png |  Bin 17679 -> 0 bytes
 ...rea_setAttributes_method_textAlign_right.png |  Bin 18109 -> 0 bytes
 ...rea_setAttributes_method_textAlign_start.png |  Bin 17679 -> 0 bytes
 ...tArea_setAttributes_method_textIndent_20.png |  Bin 17681 -> 0 bytes
 ...ributes_method_textIndent_neg_marginLeft.png |  Bin 17676 -> 0 bytes
 ...ributes_method_textIndent_pos_marginLeft.png |  Bin 18106 -> 0 bytes
 .../Properties/TextArea_properties_tester.mxml  |    6 +-
 .../Spark_TextArea_backspace_short.png          |  Bin 1357 -> 1347 bytes
 .../baselines/Spark_TextArea_content1.png       |  Bin 3069 -> 2938 bytes
 .../Spark_TextArea_errorString_property.png     |  Bin 397 -> 398 bytes
 .../baselines/Spark_TextArea_heightInLines1.png |  Bin 1209 -> 1413 bytes
 ...rk_TextArea_heightInLines_bug_SDK19807_1.png |  Bin 2079 -> 1743 bytes
 ...rk_TextArea_heightInLines_bug_SDK19807_2.png |  Bin 2887 -> 2596 bytes
 .../baselines/Spark_TextArea_widthInChars1.png  |  Bin 1196 -> 1409 bytes
 .../baselines/TextArea_prompt_basic.png         |  Bin 1436 -> 1794 bytes
 ...Area_prompt_direction_changed_at_runtime.png |  Bin 1293 -> 1696 bytes
 .../TextArea_prompt_passwordDisplay.png         |  Bin 1436 -> 1794 bytes
 .../TextArea_prompt_removed_w_text.png          |  Bin 2270 -> 2392 bytes
 .../baselines/TextArea_prompt_retain_height.png |  Bin 1146 -> 1558 bytes
 .../baselines/TextArea_prompt_retain_width.png  |  Bin 3721 -> 4748 bytes
 .../TextArea_prompt_returned_w_empty_string.png |  Bin 1436 -> 1794 bytes
 .../TextArea/SWFs/TLF/comp/CustomTAEditor.mxml  |    3 -
 .../SWFs/TLF/tflow/DefaultListAutoPadding.mxml  |    2 -
 .../TextArea/SWFs/TLF/tflow/ListOrdered.mxml    |    2 -
 .../tflow/ListOrderedAlphaGreekLatinRoman.mxml  |    5 +
 .../TLF/tflow/MultipleNestedOrderedList.mxml    |    2 -
 .../SWFs/TLF/tflow/MultipleOrderedList.mxml     |    2 -
 .../SWFs/TLF/tflow/TextFlowAllOrderedLists.mxml |    2 -
 .../TLF/tflow/TextFlowShortOrderedLists.mxml    |    2 -
 .../TextArea/SWFs/TextArea_attributes.mxml      |   42 +-
 .../TextArea/SWFs/TextArea_attributes_mac.mxml  |   69 -
 .../TextArea/SWFs/TextArea_integration1.mxml    |   40 +-
 .../FxTextArea_Style_baseColor_disabled.png     |  Bin 1265 -> 1224 bytes
 .../FxTextArea_Style_baseColor_mxml.png         |  Bin 1279 -> 1341 bytes
 .../FxTextArea_Style_color_disabled.png         |  Bin 757 -> 776 bytes
 .../baselines/FxTextArea_Style_color_mxml.png   |  Bin 765 -> 807 bytes
 ...ea_Style_contentBackgroundColor_disabled.png |  Bin 2126 -> 2046 bytes
 ...xtArea_Style_contentBackgroundColor_mxml.png |  Bin 2169 -> 2185 bytes
 .../FxTextArea_Style_focusColor_mxml.png        |  Bin 1718 -> 1702 bytes
 ...xTextArea_Style_selectionColor_andResize.png |  Bin 5457 -> 4485 bytes
 .../FxTextArea_Style_selectionColor_as.png      |  Bin 2359 -> 2444 bytes
 ...le_selectionColor_contentBackgroundColor.png |  Bin 2459 -> 2520 bytes
 .../FxTextArea_Style_selectionColor_mxml.png    |  Bin 1658 -> 1727 bytes
 .../FxTextArea_Style_symbolColor_as.png         |  Bin 2564 -> 2361 bytes
 .../FxTextArea_Style_symbolColor_mxml.png       |  Bin 2564 -> 2361 bytes
 .../baselines/TextArea_prompt_color_style.png   |  Bin 1152 -> 1424 bytes
 .../TextArea_prompt_disabled_color_style.png    |  Bin 2144 -> 2150 bytes
 .../TextArea_prompt_enabled_color_style.png     |  Bin 1707 -> 2116 bytes
 ...prompt_explicit_lineBreak_center_display.png |  Bin 820 -> 1003 bytes
 .../Styles/baselines/TextArea_prompt_popup.png  |  Bin 3943 -> 4407 bytes
 .../TextArea_prompt_rightAlign_style.png        |  Bin 1708 -> 2116 bytes
 .../Events/TextInput_events_tester.mxml         |    8 +-
 .../TextInput_properties_bindable_tester.mxml   |    4 +-
 .../Properties/TextInput_properties_tester.mxml |   15 +-
 .../Gumbo_TextInput_alpha_property_01.png       |  Bin 1407 -> 1002 bytes
 .../Gumbo_TextInput_height_property_10.png      |  Bin 331 -> 530 bytes
 .../Gumbo_TextInput_height_property_40.png      |  Bin 1714 -> 1492 bytes
 .../Gumbo_TextInput_height_property_default.png |  Bin 1647 -> 1421 bytes
 .../Gumbo_TextInput_layoutDirection_RTL.png     |  Bin 819 -> 972 bytes
 ...umbo_TextInput_percentHeight_property_50.png |  Bin 1810 -> 1583 bytes
 ...Gumbo_TextInput_percentWidth_property_50.png |  Bin 1911 -> 1639 bytes
 .../Gumbo_TextInput_scaleX_property_2.png       |  Bin 2248 -> 2104 bytes
 ...xtInput_textView_color_property_RGB_post.png |  Bin 1350 -> 1284 bytes
 ...extInput_textView_color_property_RGB_pre.png |  Bin 1350 -> 1284 bytes
 ...extInput_textView_color_property_default.png |  Bin 1647 -> 1421 bytes
 ...Input_textView_color_property_pound_post.png |  Bin 1374 -> 1163 bytes
 ...tInput_textView_color_property_pound_pre.png |  Bin 1374 -> 1163 bytes
 ...t_textView_fontWeight_property_bold_post.png |  Bin 1193 -> 1217 bytes
 ...ut_textView_fontWeight_property_bold_pre.png |  Bin 1193 -> 1217 bytes
 ...put_textView_fontWeight_property_default.png |  Bin 1193 -> 1162 bytes
 ...nput_textView_lineThrough_property_false.png |  Bin 1193 -> 1162 bytes
 ...Input_textView_lineThrough_property_true.png |  Bin 1075 -> 1077 bytes
 ...tInput_textView_paddingBottom_property_0.png |  Bin 1250 -> 1216 bytes
 ...Input_textView_paddingBottom_property_10.png |  Bin 1250 -> 1217 bytes
 ..._textView_paddingBottom_property_default.png |  Bin 1193 -> 1162 bytes
 ...extInput_textView_paddingLeft_property_0.png |  Bin 1186 -> 1155 bytes
 ...xtInput_textView_paddingLeft_property_10.png |  Bin 1194 -> 1164 bytes
 ...xtInput_textView_paddingRight_property_0.png |  Bin 1597 -> 1387 bytes
 ...tInput_textView_paddingRight_property_10.png |  Bin 1740 -> 1482 bytes
 ...TextInput_textView_paddingTop_property_0.png |  Bin 1193 -> 1162 bytes
 ...extInput_textView_paddingTop_property_10.png |  Bin 1140 -> 1161 bytes
 .../Gumbo_TextInput_textView_textAlpha_05.png   |  Bin 1181 -> 1047 bytes
 .../Gumbo_TextInput_textView_textAlpha_1.png    |  Bin 1193 -> 1162 bytes
 ...o_TextInput_textView_textDecoration_none.png |  Bin 1193 -> 1162 bytes
 ...o_TextInput_textView_textIndent_negative.png |  Bin 1166 -> 1141 bytes
 ...o_TextInput_textView_textIndent_positive.png |  Bin 1192 -> 1160 bytes
 ..._TextInput_textView_verticalAlign_bottom.png |  Bin 1250 -> 1216 bytes
 ...TextInput_textView_verticalAlign_justify.png |  Bin 1251 -> 1216 bytes
 ..._TextInput_textView_verticalAlign_middle.png |  Bin 1250 -> 1216 bytes
 ...mbo_TextInput_textView_verticalAlign_top.png |  Bin 1251 -> 1216 bytes
 .../Gumbo_TextInput_widthInChars_property_0.png |  Bin 149 -> 138 bytes
 ...Gumbo_TextInput_widthInChars_property_40.png |  Bin 2794 -> 2725 bytes
 .../Gumbo_TextInput_widthInChars_property_5.png |  Bin 947 -> 866 bytes
 .../Gumbo_TextInput_width_property_200.png      |  Bin 2367 -> 2010 bytes
 .../Gumbo_TextInput_width_property_40.png       |  Bin 597 -> 531 bytes
 .../Gumbo_TextInput_width_property_default.png  |  Bin 1647 -> 1421 bytes
 .../baselines/TextInput_prompt_basic.png        |  Bin 1083 -> 1408 bytes
 ...nput_prompt_direction_changed_at_runtime.png |  Bin 1032 -> 1156 bytes
 .../TextInput_prompt_passwordDisplay.png        |  Bin 1083 -> 1408 bytes
 .../TextInput_prompt_property_bindable.png      |  Bin 277 -> 983 bytes
 .../TextInput_prompt_property_bindable@mac.png  |  Bin 858 -> 0 bytes
 .../TextInput_prompt_removed_w_text.png         |  Bin 1831 -> 1965 bytes
 .../TextInput_prompt_retain_height.png          |  Bin 492 -> 541 bytes
 .../baselines/TextInput_prompt_retain_width.png |  Bin 1199 -> 1439 bytes
 ...TextInput_prompt_returned_w_empty_string.png |  Bin 1083 -> 1408 bytes
 .../Styles/TextInput_styles_tester.mxml         |    4 +-
 .../FxTextInput_Style_baseColor_disabled.png    |  Bin 919 -> 892 bytes
 .../FxTextInput_Style_baseColor_mxml.png        |  Bin 932 -> 998 bytes
 .../FxTextInput_Style_color_disabled.png        |  Bin 481 -> 492 bytes
 .../baselines/FxTextInput_Style_color_mxml.png  |  Bin 490 -> 523 bytes
 ...ut_Style_contentBackgroundColor_disabled.png |  Bin 1698 -> 1579 bytes
 ...tInput_Style_contentBackgroundColor_mxml.png |  Bin 1740 -> 1721 bytes
 .../FxTextInput_Style_focusColor_as.png         |  Bin 1251 -> 1263 bytes
 .../FxTextInput_Style_focusColor_mxml.png       |  Bin 1249 -> 1262 bytes
 .../FxTextInput_Style_selectionColor_as.png     |  Bin 1281 -> 1358 bytes
 ...le_selectionColor_contentBackgroundColor.png |  Bin 1331 -> 1392 bytes
 .../FxTextInput_Style_selectionColor_mxml.png   |  Bin 1281 -> 1358 bytes
 .../baselines/Gumbo_TextInput_bottom_style.png  |  Bin 2244 -> 1983 bytes
 .../Gumbo_TextInput_horizontalCenter_style.png  |  Bin 2266 -> 2005 bytes
 .../Gumbo_TextInput_left_right_style.png        |  Bin 3298 -> 3202 bytes
 .../baselines/Gumbo_TextInput_left_style.png    |  Bin 2243 -> 1981 bytes
 .../baselines/Gumbo_TextInput_right_style.png   |  Bin 2244 -> 1980 bytes
 ...Gumbo_TextInput_themeColor_style_default.png |  Bin 1788 -> 1512 bytes
 .../Gumbo_TextInput_top_bottom_style.png        |  Bin 2433 -> 2164 bytes
 .../baselines/Gumbo_TextInput_top_style.png     |  Bin 2241 -> 1980 bytes
 .../Gumbo_TextInput_verticalCenter_style.png    |  Bin 2242 -> 1981 bytes
 .../TextInput_prompt_RichText_skin.png          |  Bin 524 -> 530 bytes
 .../baselines/TextInput_prompt_color_style.png  |  Bin 1335 -> 1509 bytes
 .../TextInput_prompt_disabled_color_style.png   |  Bin 2174 -> 2258 bytes
 .../TextInput_prompt_enabled_color_style.png    |  Bin 1790 -> 2092 bytes
 .../Styles/baselines/TextInput_prompt_popup.png |  Bin 2559 -> 3724 bytes
 .../baselines/TextInput_prompt_popup@mac.png    |  Bin 3517 -> 0 bytes
 .../TextInput_prompt_rightAlign_style.png       |  Bin 1786 -> 2092 bytes
 .../TextInput/Styles/comps/PopupTextInput.mxml  |    2 +-
 .../TextInput/swfs/Flex45_TextInput_bugs.mxml   |   29 +
 .../swfs/Flex4_TextInput_bindable.mxml          |   27 +-
 .../swfs/TextInput_component_Bound.mxml         |   31 +
 .../baselines/TileGroup_property_addElement.png |  Bin 4056 -> 3912 bytes
 .../TileGroup_property_columnAlign.png          |  Bin 3734 -> 3589 bytes
 .../TileGroup_property_columnWidth.png          |  Bin 3310 -> 2987 bytes
 .../TileGroup_property_horizontalAlign.png      |  Bin 3595 -> 3435 bytes
 .../TileGroup_property_horizontalGap.png        |  Bin 3548 -> 3411 bytes
 .../TileGroup_property_mxml_columnAlign.png     |  Bin 3575 -> 3573 bytes
 .../TileGroup_property_mxml_columnWidth.png     |  Bin 3220 -> 3010 bytes
 .../TileGroup_property_mxml_horizontalAlign.png |  Bin 3494 -> 3475 bytes
 .../TileGroup_property_mxml_horizontalGap.png   |  Bin 3484 -> 3474 bytes
 .../TileGroup_property_mxml_orientation.png     |  Bin 3940 -> 3952 bytes
 ...Group_property_mxml_requestedColumnCount.png |  Bin 3678 -> 3682 bytes
 ...ileGroup_property_mxml_requestedRowCount.png |  Bin 3678 -> 3682 bytes
 .../TileGroup_property_mxml_rowAlign.png        |  Bin 4159 -> 4185 bytes
 .../TileGroup_property_mxml_rowHeight.png       |  Bin 5902 -> 5915 bytes
 .../TileGroup_property_mxml_verticalAlign.png   |  Bin 4201 -> 4232 bytes
 .../TileGroup_property_mxml_verticalGap.png     |  Bin 4179 -> 4215 bytes
 .../TileGroup_property_orientation.png          |  Bin 4057 -> 3956 bytes
 .../TileGroup_property_paddingBottom.png        |  Bin 4293 -> 4242 bytes
 .../TileGroup_property_paddingLeft.png          |  Bin 3822 -> 3709 bytes
 .../TileGroup_property_paddingRight.png         |  Bin 3785 -> 3665 bytes
 .../baselines/TileGroup_property_paddingTop.png |  Bin 3414 -> 3273 bytes
 .../TileGroup_property_removeElement.png        |  Bin 2915 -> 2774 bytes
 .../TileGroup_property_requestedColumnCount.png |  Bin 3785 -> 3665 bytes
 .../TileGroup_property_requestedRowCount.png    |  Bin 3785 -> 3665 bytes
 .../baselines/TileGroup_property_rowAlign.png   |  Bin 4274 -> 4225 bytes
 .../baselines/TileGroup_property_rowHeight.png  |  Bin 5980 -> 5873 bytes
 .../TileGroup_property_verticalAlign.png        |  Bin 4309 -> 4256 bytes
 .../TileGroup_property_verticalGap.png          |  Bin 4291 -> 4241 bytes
 .../Baselines/TitleWindow_createPopUp_test1.png |  Bin 9695 -> 8746 bytes
 .../Baselines/TitleWindow_mixed_components1.png |  Bin 16349 -> 15060 bytes
 .../Baselines/TitleWindow_mixed_components2.png |  Bin 2379 -> 2440 bytes
 .../Baselines/TitleWindow_mixed_components3.png |  Bin 2441 -> 2416 bytes
 .../Baselines/TitleWindow_mixed_components5.png |  Bin 11942 -> 10579 bytes
 .../Baselines/TitleWindow_mixed_components6.png |  Bin 8560 -> 7886 bytes
 .../Baselines/TitleWindow_popup_atCreation2.png |  Bin 4266 -> 3986 bytes
 .../TitleWindow_popup_atCreation_child.png      |  Bin 4308 -> 3996 bytes
 .../TitleWindow_popup_atCreation_parent.png     |  Bin 8966 -> 8787 bytes
 .../TitleWindow_popup_reparent_addToChild.png   |  Bin 5099 -> 4511 bytes
 .../TitleWindow_popup_reparent_addToParent.png  |  Bin 10406 -> 10036 bytes
 .../TitleWindow_popup_reparent_removeChild.png  |  Bin 9788 -> 9346 bytes
 .../TitleWindow_skin_state1_active.png          |  Bin 6637 -> 7077 bytes
 .../TitleWindow_skin_state1_inactive.png        |  Bin 6637 -> 7131 bytes
 .../TitleWindow_skin_state2_active.png          |  Bin 6579 -> 7077 bytes
 .../TitleWindow_skin_state2_disabled.png        |  Bin 11411 -> 11335 bytes
 .../TitleWindow_skin_state3_scroll.png          |  Bin 18375 -> 16992 bytes
 .../Baselines/TitleWindow_skin_state4.png       |  Bin 5166 -> 5214 bytes
 ...TitleWindow_state_inactive1_child_active.png |  Bin 4308 -> 3996 bytes
 ...tleWindow_state_inactive1_child_inactive.png |  Bin 4308 -> 3996 bytes
 .../TitleWindow_state_inactive2_active.png      |  Bin 7106 -> 6763 bytes
 .../TitleWindow_state_inactive2_inactive.png    |  Bin 6969 -> 6711 bytes
 .../Baselines/TitleWindow_states_test1.png      |  Bin 8963 -> 8952 bytes
 .../Baselines/TitleWindow_states_test2.png      |  Bin 5321 -> 10287 bytes
 .../Integration/Baselines/horizonal_scroll.png  |  Bin 13668 -> 13094 bytes
 .../Integration/Baselines/vertical_scroll.png   |  Bin 8113 -> 7601 bytes
 .../TitleWindow_Integration_tester2.mxml        |    5 +-
 .../Integration/TitleWindow_states_tester.mxml  |    1 +
 ...ddControlBar_beforeTitleWindowOpen_test1.png |  Bin 6375 -> 6157 bytes
 .../baselines/method_addElementAt_test1.png     |  Bin 14988 -> 14290 bytes
 .../baselines/method_addElementAt_test2.png     |  Bin 15005 -> 14294 bytes
 .../baselines/method_addElementAt_test3.png     |  Bin 14255 -> 13716 bytes
 .../baselines/method_addElementAt_test4.png     |  Bin 13471 -> 12773 bytes
 .../baselines/method_addElement_test1.png       |  Bin 15736 -> 14991 bytes
 .../method_createDeferredContent_test1.png      |  Bin 3375 -> 3424 bytes
 .../method_createDeferredContent_test2.png      |  Bin 6044 -> 5833 bytes
 .../method_createDeferredContent_test3.png      |  Bin 2203 -> 2278 bytes
 .../method_createDeferredContent_test4.png      |  Bin 6067 -> 5865 bytes
 .../method_createDeferredContent_test5.png      |  Bin 2852 -> 2990 bytes
 .../method_createDeferredContent_test6.png      |  Bin 5285 -> 4994 bytes
 .../method_removeAllElements_test1.png          |  Bin 6508 -> 6160 bytes
 .../baselines/method_removeElementAt_test1.png  |  Bin 9093 -> 8793 bytes
 .../baselines/method_removeElementAt_test2.png  |  Bin 6508 -> 6160 bytes
 .../baselines/method_removeElementAt_test3.png  |  Bin 14255 -> 13716 bytes
 .../baselines/method_removeElementAt_test4.png  |  Bin 14255 -> 13716 bytes
 .../baselines/method_removeElement_test1.png    |  Bin 14256 -> 13716 bytes
 .../baselines/method_removeElement_test2.png    |  Bin 6489 -> 6148 bytes
 .../baselines/method_removeElement_test3.png    |  Bin 14256 -> 13716 bytes
 .../baselines/method_removeElement_test4.png    |  Bin 14442 -> 13959 bytes
 ...veControlBar_beforeTitleWindowOpen_test1.png |  Bin 10639 -> 10704 bytes
 .../resize_beforeTitleWindowOpen_test1.png      |  Bin 10248 -> 9975 bytes
 .../Baselines/TitleWindow_alert_rtl1.png        |  Bin 2945 -> 641 bytes
 .../Baselines/TitleWindow_children_rtl1.png     |  Bin 7883 -> 7789 bytes
 .../Baselines/TitleWindow_children_rtl1_mac.png |  Bin 7919 -> 7789 bytes
 .../TitleWindow_layoutDirection_atRuntime1.png  |  Bin 3955 -> 3480 bytes
 .../TitleWindow_layoutDirection_atRuntime2.png  |  Bin 14459 -> 13743 bytes
 .../TitleWindow_layoutDirection_atRuntime3.png  |  Bin 14131 -> 13665 bytes
 ...tleWindow_layoutDirection_atRuntime3_rtl.png |  Bin 14459 -> 13743 bytes
 .../TitleWindow_layoutDirection_atRuntime4.png  |  Bin 3939 -> 3497 bytes
 ...tleWindow_layoutDirection_atRuntime5_ltr.png |  Bin 9130 -> 8419 bytes
 ...tleWindow_layoutDirection_atRuntime5_rtl.png |  Bin 9006 -> 8428 bytes
 .../TitleWindow_layoutDirection_rtl1.png        |  Bin 2710 -> 2594 bytes
 .../TitleWindow_layoutDirection_rtl1_mac.png    |  Bin 2857 -> 0 bytes
 .../TitleWindow_layoutDirection_rtl2.png        |  Bin 10269 -> 10342 bytes
 .../TitleWindow_layoutDirection_rtl2_mac.png    |  Bin 11564 -> 0 bytes
 .../TitleWindow_layoutDirection_rtl3.png        |  Bin 18662 -> 13017 bytes
 .../TitleWindow_layoutDirection_rtl3_mac.png    |  Bin 13854 -> 0 bytes
 .../TitleWindow_layoutDirection_rtl4.png        |  Bin 17505 -> 17841 bytes
 .../TitleWindow_layoutDirection_rtl4_mac.png    |  Bin 19378 -> 0 bytes
 .../TitleWindow_layoutDirection_rtl5.png        |  Bin 13752 -> 13743 bytes
 .../TitleWindow_layoutDirection_rtl5_mac.png    |  Bin 14459 -> 0 bytes
 .../TitleWindow_layoutDirection_rtl6.png        |  Bin 27642 -> 15056 bytes
 .../TitleWindow_layoutDirection_rtl6_mac.png    |  Bin 16613 -> 0 bytes
 .../TitleWindow_layoutDirection_style3.png      |  Bin 3939 -> 3497 bytes
 .../TitleWindow_layoutDirection_style4.png      |  Bin 3941 -> 3498 bytes
 .../TitleWindow_layoutDirection_style5.png      |  Bin 6241 -> 5768 bytes
 .../Baselines/TitleWindow_popupAnchor_rtl1.png  |  Bin 8180 -> 7517 bytes
 .../TitleWindow_popupTitleWindow_rtl1.png       |  Bin 10244 -> 10503 bytes
 .../TitleWindow_popupTitleWindow_rtl1_mac.png   |  Bin 11851 -> 0 bytes
 .../TitleWindow_popupTitleWindow_rtl2.png       |  Bin 4992 -> 5214 bytes
 .../TitleWindow_popupTitleWindow_rtl2_mac.png   |  Bin 5451 -> 0 bytes
 ...TitleWindow_reparent_rtl1_addToChild_mac.png |  Bin 4667 -> 0 bytes
 ...itleWindow_reparent_rtl1_addToParent_mac.png |  Bin 9711 -> 0 bytes
 ...itleWindow_reparent_rtl1_removeChild_mac.png |  Bin 9293 -> 0 bytes
 .../Baselines/TitleWindow_rtl_constraint1.png   |  Bin 9204 -> 8896 bytes
 .../TitleWindow_rtl_constraint1_mac.png         |  Bin 9077 -> 0 bytes
 .../TitleWindow_rtl_constraint1_update.png      |  Bin 9246 -> 8895 bytes
 .../TitleWindow_rtl_constraint1_update_mac.png  |  Bin 9181 -> 0 bytes
 .../Baselines/TitleWindow_rtl_constraint2.png   |  Bin 9340 -> 8994 bytes
 .../TitleWindow_rtl_constraint2_mac.png         |  Bin 9197 -> 0 bytes
 .../TitleWindow_rtl_constraint2_update.png      |  Bin 9338 -> 8999 bytes
 .../TitleWindow_rtl_constraint2_update_mac.png  |  Bin 9316 -> 0 bytes
 .../Baselines/TitleWindow_rtl_constraint3.png   |  Bin 9214 -> 8973 bytes
 .../TitleWindow_rtl_constraint3_mac.png         |  Bin 9311 -> 0 bytes
 .../TitleWindow_rtl_constraint3_update.png      |  Bin 9349 -> 9006 bytes
 .../TitleWindow_rtl_constraint3_update_mac.png  |  Bin 9298 -> 0 bytes
 .../Baselines/TitleWindow_rtl_constraint4.png   |  Bin 10313 -> 10054 bytes
 .../TitleWindow_rtl_constraint4_mac.png         |  Bin 10394 -> 0 bytes
 .../Baselines/TitleWindow_rtl_constraint5.png   |  Bin 10316 -> 10102 bytes
 .../TitleWindow_rtl_constraint5_mac.png         |  Bin 10373 -> 0 bytes
 .../Baselines/TitleWindow_rtl_skin.png          |  Bin 7878 -> 7722 bytes
 .../Baselines/TitleWindow_rtl_skin_mac.png      |  Bin 7519 -> 0 bytes
 .../TitleWindow_rtl_title1_ltr_mac.png          |  Bin 3684 -> 0 bytes
 .../Baselines/TitleWindow_rtl_title1_mac.png    |  Bin 3685 -> 0 bytes
 .../Mirroring/TitleWindow_mirroring_tester.mxml |   50 +-
 .../Baselines/TitleWindow_Properties_alpha.png  |  Bin 10902 -> 9614 bytes
 .../TitleWindow_Properties_constraint1.png      |  Bin 7398 -> 7088 bytes
 .../TitleWindow_Properties_constraint2.png      |  Bin 10371 -> 10102 bytes
 .../TitleWindow_Properties_default.png          |  Bin 2864 -> 2600 bytes
 .../TitleWindow_Properties_default2.png         |  Bin 11390 -> 10381 bytes
 .../TitleWindow_Properties_default3.png         |  Bin 13715 -> 13134 bytes
 .../TitleWindow_Properties_default4.png         |  Bin 13715 -> 13134 bytes
 .../TitleWindow_Properties_default5.png         |  Bin 14055 -> 13343 bytes
 .../TitleWindow_Properties_default6.png         |  Bin 14055 -> 13343 bytes
 .../TitleWindow_Properties_enabled2.png         |  Bin 12392 -> 11329 bytes
 .../Baselines/TitleWindow_Properties_size1.png  |  Bin 3135 -> 3173 bytes
 .../Baselines/TitleWindow_Properties_size2.png  |  Bin 3887 -> 3899 bytes
 .../Baselines/TitleWindow_Properties_size3.png  |  Bin 3261 -> 3288 bytes
 .../Baselines/TitleWindow_Properties_size4.png  |  Bin 3260 -> 3223 bytes
 .../Baselines/TitleWindow_Properties_title2.png |  Bin 5739 -> 4921 bytes
 .../Baselines/TitleWindow_Properties_title3.png |  Bin 6125 -> 5156 bytes
 .../TitleWindow_Properties_title3_rollOver.png  |  Bin 6125 -> 5156 bytes
 .../Baselines/TitleWindow_Properties_title4.png |  Bin 10106 -> 9530 bytes
 .../TitleWindow_Properties_title4_rollOver.png  |  Bin 10106 -> 9530 bytes
 .../Baselines/TitleWindow_Properties_title5.png |  Bin 2952 -> 3079 bytes
 .../TitleWindow_closeButton_disabled.png        |  Bin 6140 -> 6263 bytes
 .../TitleWindow_closeButton_disabled_1.png      |  Bin 220 -> 265 bytes
 .../TitleWindow_closeButton_invisible1.png      |  Bin 6487 -> 6125 bytes
 .../TitleWindow_closeButton_invisible2.png      |  Bin 5929 -> 6053 bytes
 .../TitleWindow_closeButton_rollover.png        |  Bin 1969 -> 2062 bytes
 .../TitleWindow_closeButton_visible1.png        |  Bin 6019 -> 6151 bytes
 .../TitleWindow_closeButton_visible2.png        |  Bin 6339 -> 6015 bytes
 .../TitleWindow_controlBarBasicLayout1.png      |  Bin 5090 -> 4716 bytes
 .../TitleWindow_controlBarContent1.png          |  Bin 5283 -> 4992 bytes
 .../TitleWindow_controlBarContent2.png          |  Bin 6637 -> 6086 bytes
 .../TitleWindow_controlBarContent3.png          |  Bin 7366 -> 7045 bytes
 .../TitleWindow_controlBarContent4.png          |  Bin 5961 -> 5581 bytes
 .../TitleWindow_controlBarContent5.png          |  Bin 6459 -> 6201 bytes
 .../TitleWindow_controlBarContent6.png          |  Bin 5029 -> 4759 bytes
 .../TitleWindow_controlBarContentClip1.png      |  Bin 4956 -> 4583 bytes
 .../TitleWindow_controlBarContentClip2.png      |  Bin 4098 -> 3890 bytes
 .../TitleWindow_controlBarContentFill1.png      |  Bin 4477 -> 4107 bytes
 .../TitleWindow_controlBarContentFill2.png      |  Bin 4477 -> 4107 bytes
 .../TitleWindow_controlBarContentTaller.png     |  Bin 4156 -> 4039 bytes
 .../TitleWindow_controlBarContentWider.png      |  Bin 5017 -> 4751 bytes
 .../TitleWindow_controlBarContent_resize1.png   |  Bin 7002 -> 6618 bytes
 .../TitleWindow_controlBarContent_resize10.png  |  Bin 13772 -> 13188 bytes
 .../TitleWindow_controlBarContent_resize2.png   |  Bin 11922 -> 10411 bytes
 .../TitleWindow_controlBarContent_resize3.png   |  Bin 12356 -> 10951 bytes
 .../TitleWindow_controlBarContent_resize4.png   |  Bin 10044 -> 8354 bytes
 .../TitleWindow_controlBarContent_resize5.png   |  Bin 13574 -> 12205 bytes
 .../TitleWindow_controlBarContent_resize6.png   |  Bin 3279 -> 3019 bytes
 .../TitleWindow_controlBarContent_resize7.png   |  Bin 10010 -> 9465 bytes
 .../TitleWindow_controlBarContent_resize8.png   |  Bin 6872 -> 6310 bytes
 .../TitleWindow_controlBarContent_resize9.png   |  Bin 1687 -> 1495 bytes
 .../Baselines/TitleWindow_controlBarHLayout.png |  Bin 4670 -> 4294 bytes
 .../TitleWindow_controlBarHLayout2.png          |  Bin 5289 -> 4920 bytes
 .../TitleWindow_controlBarHLayout3.png          |  Bin 5242 -> 4881 bytes
 .../TitleWindow_controlBarInvisible.png         |  Bin 4848 -> 4551 bytes
 .../TitleWindow_controlBarInvisible_change.png  |  Bin 8186 -> 7606 bytes
 .../TitleWindow_controlBarTileLayout1.png       |  Bin 6126 -> 5774 bytes
 .../TitleWindow_controlBarVLayout1.png          |  Bin 5189 -> 4819 bytes
 .../TitleWindow_controlBarVLayout2.png          |  Bin 5088 -> 4707 bytes
 .../TitleWindow_controlBarVisible_false.png     |  Bin 5005 -> 4541 bytes
 .../TitleWindow_controlBarVisible_true.png      |  Bin 6637 -> 6086 bytes
 .../TitleWindow_empty_controlBarContent1.png    |  Bin 4647 -> 4276 bytes
 .../TitleWindow_empty_controlBarContent2.png    |  Bin 4448 -> 4075 bytes
 .../Baselines/TitleWindow_moveArea_default1.png |  Bin 2175 -> 2125 bytes
 .../TitleWindow_resize_clipcontent1.png         |  Bin 10096 -> 9426 bytes
 .../TitleWindow_resize_clipcontent2.png         |  Bin 18578 -> 19850 bytes
 .../TitleWindow_resize_title1_increased.png     |  Bin 5800 -> 4975 bytes
 .../TitleWindow_resize_title1_moveArea.png      |  Bin 3674 -> 2904 bytes
 .../Baselines/TitleWindow_resize_title2.png     |  Bin 3674 -> 2904 bytes
 .../TitleWindow_resize_title2_reduced.png       |  Bin 2628 -> 2144 bytes
 .../Baselines/TitleWindow_wireframe_basic.png   |  Bin 2125 -> 2025 bytes
 .../TitleWindow_wireframe_closeButton.png       |  Bin 146 -> 166 bytes
 ...itleWindow_wireframe_closeButtonDisabled.png |  Bin 4395 -> 4325 bytes
 .../Properties/TitleWindow_Properties.mxml      |    2 +-
 .../Properties/TitleWindow_Properties2.mxml     |    4 +-
 .../Properties/TitleWindow_wireframe_test.mxml  |    1 +
 .../TitleWindow/SWFs/MyCompareBitmap.as         |   58 -
 .../Baselines/TitleWindow_Styles_atRuntime1.png |  Bin 5913 -> 5966 bytes
 .../TitleWindow_Styles_backgroundColor1.png     |  Bin 13114 -> 13403 bytes
 .../TitleWindow_Styles_backgroundColor2.png     |  Bin 12873 -> 13141 bytes
 .../TitleWindow_Styles_backgroundColor3.png     |  Bin 12950 -> 13942 bytes
 .../TitleWindow_Styles_backgroundColor4.png     |  Bin 13090 -> 14026 bytes
 .../Baselines/TitleWindow_Styles_baseColor.png  |  Bin 13582 -> 13561 bytes
 .../Baselines/TitleWindow_Styles_baseColor2.png |  Bin 13667 -> 13615 bytes
 .../Baselines/TitleWindow_Styles_baseline2.png  |  Bin 13501 -> 13161 bytes
 .../Baselines/TitleWindow_Styles_baseline3.png  |  Bin 13501 -> 13161 bytes
 .../TitleWindow_Styles_baselineShift1.png       |  Bin 13720 -> 12595 bytes
 .../TitleWindow_Styles_baselineShift2.png       |  Bin 13581 -> 12348 bytes
 .../TitleWindow_Styles_borderVisible1.png       |  Bin 12935 -> 12809 bytes
 .../TitleWindow_Styles_borderVisible2.png       |  Bin 13292 -> 13115 bytes
 ...itleWindow_Styles_contentBackgroundAlpha.png |  Bin 13295 -> 13119 bytes
 ...itleWindow_Styles_contentBackgroundColor.png |  Bin 13325 -> 13150 bytes
 .../TitleWindow_Styles_cornerRadius1.png        |  Bin 14913 -> 15508 bytes
 .../TitleWindow_Styles_cornerRadius2.png        |  Bin 16844 -> 17219 bytes
 .../TitleWindow_Styles_cornerRadius3.png        |  Bin 22674 -> 21941 bytes
 .../TitleWindow_Styles_dropShadowVisible1.png   |  Bin 13292 -> 13115 bytes
 .../TitleWindow_Styles_dropShadowVisible2.png   |  Bin 12935 -> 12809 bytes
 .../TitleWindow_Styles_dropShadowVisible3.png   |  Bin 13292 -> 13115 bytes
 .../TitleWindow_Styles_dropShadowVisible4.png   |  Bin 13292 -> 13115 bytes
 .../TitleWindow_Styles_dropShadowVisible5.png   |  Bin 13292 -> 13115 bytes
 .../Baselines/TitleWindow_Styles_fontSize1.png  |  Bin 13292 -> 13115 bytes
 .../Baselines/TitleWindow_Styles_fontSize2.png  |  Bin 13946 -> 13422 bytes
 .../Baselines/TitleWindow_Styles_fontStyle1.png |  Bin 13684 -> 13285 bytes
 .../Baselines/TitleWindow_Styles_fontStyle2.png |  Bin 14344 -> 13484 bytes
 .../Baselines/TitleWindow_Styles_fontStyle3.png |  Bin 14344 -> 13484 bytes
 .../Baselines/TitleWindow_Styles_fontWeight.png |  Bin 13610 -> 13464 bytes
 .../TitleWindow_Styles_fontWeight2.png          |  Bin 13610 -> 13464 bytes
 .../TitleWindow_Styles_lineThrough.png          |  Bin 12847 -> 12775 bytes
 .../Baselines/TitleWindow_Styles_misc2.png      |  Bin 20020 -> 19646 bytes
 .../Baselines/TitleWindow_Styles_styleName.png  |  Bin 13501 -> 13161 bytes
 .../Styles/Baselines/css_baseColor_test1.png    |  Bin 13866 -> 14689 bytes
 .../Styles/Baselines/css_focusColor_test1.png   |  Bin 205 -> 192 bytes
 .../Styles/Baselines/css_symbolColor_test1.png  |  Bin 1032 -> 1177 bytes
 ...gglebutton_icon_integration_default_btn5.png |  Bin 1702 -> 1554 bytes
 ...ogglebutton_icon_integration_noIcon_btn6.png |  Bin 1124 -> 1082 bytes
 ...ogglebutton_icon_integration_state1_btn3.png |  Bin 1644 -> 1538 bytes
 ...ogglebutton_icon_integration_state1_btn4.png |  Bin 1589 -> 1534 bytes
 ...ogglebutton_icon_integration_state1_btn5.png |  Bin 1626 -> 1519 bytes
 ...ogglebutton_icon_integration_state1_btn6.png |  Bin 1951 -> 1876 bytes
 .../Flex4_ToggleButton_properties_tester.mxml   |    4 +-
 .../properties/baselines/ToggleButton_label.png |  Bin 1609 -> 1521 bytes
 .../baselines/ToggleButton_label_disabled.png   |  Bin 1021 -> 1281 bytes
 ...leButton_label_enabledDisabledSelected_1.png |  Bin 1626 -> 1657 bytes
 ...leButton_label_enabledDisabledSelected_2.png |  Bin 1152 -> 1410 bytes
 .../ToggleButton_runTime_labelChange_1.png      |  Bin 1609 -> 1521 bytes
 .../ToggleButton_runTime_labelChange_2.png      |  Bin 1890 -> 1850 bytes
 .../ToggleButton_runTime_labelChange_3.png      |  Bin 1397 -> 1453 bytes
 .../FxToggleButton_Style_baseColor_disabled.png |  Bin 1175 -> 1179 bytes
 ...FxToggleButton_Style_baseColor_mouseOver.png |  Bin 1338 -> 1298 bytes
 .../FxToggleButton_Style_baseColor_mxml.png     |  Bin 1417 -> 1360 bytes
 .../FxToggleButton_Style_color_disabled.png     |  Bin 758 -> 748 bytes
 .../FxToggleButton_Style_color_mxml.png         |  Bin 913 -> 818 bytes
 .../FxToggleButton_Style_focusColor_mxml.png    |  Bin 1704 -> 1581 bytes
 .../togglebutton_iconPlacement_bottom.png       |  Bin 1460 -> 1408 bytes
 .../togglebutton_iconPlacement_bottom2.png      |  Bin 1460 -> 1408 bytes
 ...ogglebutton_iconPlacement_bottom_to_left.png |  Bin 1334 -> 1230 bytes
 ...gglebutton_iconPlacement_bottom_to_right.png |  Bin 1330 -> 1218 bytes
 ...togglebutton_iconPlacement_bottom_to_top.png |  Bin 1487 -> 1432 bytes
 .../togglebutton_iconPlacement_clearStyle.png   |  Bin 1334 -> 1230 bytes
 ...gglebutton_iconPlacement_css_selectionID.png |  Bin 1425 -> 1374 bytes
 ...togglebutton_iconPlacement_css_styleName.png |  Bin 2148 -> 2092 bytes
 .../togglebutton_iconPlacement_default.png      |  Bin 1334 -> 1230 bytes
 .../togglebutton_iconPlacement_inline.png       |  Bin 1385 -> 1416 bytes
 ...gglebutton_iconPlacement_layoutDirection.png |  Bin 1334 -> 1230 bytes
 .../togglebutton_iconPlacement_left.png         |  Bin 1334 -> 1230 bytes
 .../togglebutton_iconPlacement_left2.png        |  Bin 1334 -> 1230 bytes
 ...ogglebutton_iconPlacement_left_to_bottom.png |  Bin 1460 -> 1408 bytes
 ...togglebutton_iconPlacement_left_to_right.png |  Bin 1330 -> 1218 bytes
 .../togglebutton_iconPlacement_left_to_top.png  |  Bin 1487 -> 1432 bytes
 ...ogglebutton_iconPlacement_no_icon_bottom.png |  Bin 1026 -> 970 bytes
 ...togglebutton_iconPlacement_no_icon_right.png |  Bin 1026 -> 970 bytes
 .../togglebutton_iconPlacement_right.png        |  Bin 1330 -> 1218 bytes
 .../togglebutton_iconPlacement_right2.png       |  Bin 1330 -> 1218 bytes
 ...gglebutton_iconPlacement_right_to_bottom.png |  Bin 1460 -> 1408 bytes
 ...togglebutton_iconPlacement_right_to_left.png |  Bin 1334 -> 1230 bytes
 .../togglebutton_iconPlacement_right_to_top.png |  Bin 1487 -> 1432 bytes
 .../togglebutton_iconPlacement_top.png          |  Bin 1487 -> 1432 bytes
 .../togglebutton_iconPlacement_top2.png         |  Bin 1487 -> 1432 bytes
 ...togglebutton_iconPlacement_top_to_bottom.png |  Bin 1460 -> 1408 bytes
 .../togglebutton_iconPlacement_top_to_left.png  |  Bin 1334 -> 1230 bytes
 .../togglebutton_iconPlacement_top_to_right.png |  Bin 1330 -> 1218 bytes
 .../togglebutton_iconPlacement_top_to_top.png   |  Bin 1487 -> 1432 bytes
 .../togglebutton_icon_add_after_long_label.png  |  Bin 3013 -> 2589 bytes
 .../togglebutton_icon_add_after_short_label.png |  Bin 1319 -> 1256 bytes
 .../baselines/togglebutton_icon_alpha_0.5.png   |  Bin 1886 -> 1620 bytes
 .../baselines/togglebutton_icon_alpha_0.png     |  Bin 128 -> 127 bytes
 .../baselines/togglebutton_icon_as_childTag.png |  Bin 1683 -> 1642 bytes
 .../togglebutton_icon_custom_downSkin.png       |  Bin 1417 -> 1398 bytes
 .../togglebutton_icon_custom_upSkin.png         |  Bin 1230 -> 1171 bytes
 .../togglebutton_icon_down_alpha_0.5.png        |  Bin 2205 -> 2143 bytes
 .../togglebutton_icon_height_increase.png       |  Bin 1609 -> 1583 bytes
 .../togglebutton_icon_increase_width.png        |  Bin 939 -> 912 bytes
 .../togglebutton_icon_increase_width2.png       |  Bin 1514 -> 1535 bytes
 .../togglebutton_icon_label_change_runtime.png  |  Bin 2244 -> 2002 bytes
 .../togglebutton_icon_lengthen_label.png        |  Bin 1455 -> 1472 bytes
 .../togglebutton_icon_reduce_width.png          |  Bin 1309 -> 1294 bytes
 .../togglebutton_icon_width_increase.png        |  Bin 1339 -> 1298 bytes
 ...togglebutton_icon_with_label_button_down.png |  Bin 1609 -> 1586 bytes
 ...ogglebutton_icon_with_label_change_value.png |  Bin 1243 -> 1183 bytes
 ...ton_icon_with_label_chromeColor_disabled.png |  Bin 988 -> 1062 bytes
 ...ebutton_icon_with_label_chromeColor_down.png |  Bin 1465 -> 1420 bytes
 ...glebutton_icon_with_label_chromeColor_up.png |  Bin 1257 -> 1204 bytes
 .../togglebutton_icon_with_label_clear.png      |  Bin 1083 -> 1001 bytes
 .../togglebutton_icon_with_label_color.png      |  Bin 1691 -> 1651 bytes
 .../togglebutton_icon_with_label_disabled.png   |  Bin 969 -> 1058 bytes
 .../togglebutton_icon_with_label_fontFamily.png |  Bin 1699 -> 1500 bytes
 ...lebutton_icon_with_label_fontFamily_down.png |  Bin 1843 -> 1852 bytes
 .../togglebutton_icon_with_label_fontSize.png   |  Bin 2872 -> 2648 bytes
 ...gglebutton_icon_with_label_fontSize_down.png |  Bin 2936 -> 2982 bytes
 .../togglebutton_icon_with_label_fontStyle.png  |  Bin 1699 -> 1600 bytes
 ...lebutton_icon_with_label_fontStyle_dowwn.png |  Bin 2047 -> 1986 bytes
 .../togglebutton_icon_with_label_fontWeight.png |  Bin 1699 -> 1533 bytes
 ...lebutton_icon_with_label_fontWeight_down.png |  Bin 1918 -> 1901 bytes
 .../togglebutton_icon_with_label_scaleX_2.png   |  Bin 1621 -> 1563 bytes
 ...gglebutton_icon_with_label_scaleX_point5.png |  Bin 896 -> 860 bytes
 ...on_icon_with_label_scaleX_scaleY_1point5.png |  Bin 2000 -> 1957 bytes
 .../togglebutton_icon_with_label_scaleY_2.png   |  Bin 2139 -> 1950 bytes
 ...gglebutton_icon_with_label_scaleY_point5.png |  Bin 804 -> 788 bytes
 ...glebutton_icon_with_label_textDecoration.png |  Bin 1668 -> 1550 bytes
 ...tton_icon_with_label_textDecoration_down.png |  Bin 2410 -> 2309 bytes
 ...gglebutton_icon_with_label_visible_false.png |  Bin 1564 -> 1575 bytes
 ...button_icon_with_long_label_change_value.png |  Bin 2296 -> 2353 bytes
 .../togglebutton_style_css_iconPlacement.png    |  Bin 1132 -> 1106 bytes
 .../styles/togglebutton_icon_styles.mxml        |   22 +-
 .../Mirroring_Spark_ButtonBar_enabled.png       |  Bin 1916 -> 1776 bytes
 .../Mirroring_Spark_Button_enabled.png          |  Bin 1179 -> 1166 bytes
 .../Mirroring_Spark_CheckBox_enabled.png        |  Bin 1277 -> 1283 bytes
 .../Mirroring_Spark_CheckBox_selected.png       |  Bin 1001 -> 1011 bytes
 .../Mirroring_Spark_ComboBox_enabled.png        |  Bin 599 -> 644 bytes
 .../Mirroring_Spark_DropDownList_enabled_1.png  |  Bin 743 -> 713 bytes
 .../Mirroring_Spark_DropDownList_enabled_2.png  |  Bin 3004 -> 2982 bytes
 .../baselines/Mirroring_Spark_List_enabled.png  |  Bin 2090 -> 1854 bytes
 .../Mirroring_Spark_NumericStepper_enabled.png  |  Bin 376 -> 415 bytes
 .../Mirroring_Spark_RadioButton_enabled.png     |  Bin 1586 -> 1537 bytes
 .../Mirroring_Spark_RadioButton_selected.png    |  Bin 1640 -> 1574 bytes
 .../Mirroring_Spark_TabBar_enabled.png          |  Bin 2196 -> 1928 bytes
 .../Mirroring_Spark_TextArea_enabled.png        |  Bin 5055 -> 4200 bytes
 .../Mirroring_Spark_TextInput_enabled.png       |  Bin 1043 -> 1038 bytes
 .../Mirroring_Spark_ToggleButton_enabled.png    |  Bin 1093 -> 1122 bytes
 .../Wireframe_DropDownList_disabled.png         |  Bin 1115 -> 981 bytes
 .../Wireframe_DropDownList_enabled_1.png        |  Bin 1221 -> 1119 bytes
 .../Wireframe_DropDownList_enabled_2.png        |  Bin 2866 -> 2626 bytes
 .../baselines/Wireframe_FxCheckBox_disabled.png |  Bin 107 -> 115 bytes
 .../baselines/Wireframe_FxCheckBox_enabled.png  |  Bin 106 -> 114 bytes
 .../baselines/Wireframe_FxList_disabled.png     |  Bin 3790 -> 3758 bytes
 .../baselines/Wireframe_FxList_enabled.png      |  Bin 4412 -> 4268 bytes
 .../Wireframe_FxNumericStepper_disabled.png     |  Bin 339 -> 381 bytes
 .../Wireframe_FxNumericStepper_enabled.png      |  Bin 372 -> 407 bytes
 .../Wireframe_FxRadioButton_disabled.png        |  Bin 259 -> 256 bytes
 .../Wireframe_FxRadioButton_enabled.png         |  Bin 258 -> 261 bytes
 .../Wireframe_FxToggleButton_disabled.png       |  Bin 1099 -> 1107 bytes
 .../Wireframe_FxToggleButton_enabled.png        |  Bin 1244 -> 1272 bytes
 .../Wireframe_SparkButtonBar_disabled.png       |  Bin 2191 -> 1903 bytes
 .../Wireframe_SparkButtonBar_enabled.png        |  Bin 2485 -> 2168 bytes
 .../Wireframe_ButtonBar_icon_test1.png          |  Bin 2899 -> 3050 bytes
 .../Wireframe_ButtonBar_icon_test2.png          |  Bin 3057 -> 3096 bytes
 .../baselines/Wireframe_Button_icon_test1.png   |  Bin 1158 -> 1157 bytes
 .../baselines/Wireframe_Button_icon_test2.png   |  Bin 932 -> 926 bytes
 .../baselines/Wireframe_TabBar_icon_test1.png   |  Bin 3237 -> 3301 bytes
 .../baselines/Wireframe_TabBar_icon_test2.png   |  Bin 3353 -> 3238 bytes
 .../Wireframe_ToggleButton_icon_test1.png       |  Bin 1158 -> 1157 bytes
 .../Wireframe_ToggleButton_icon_test2.png       |  Bin 932 -> 926 bytes
 .../defaultButton/SWFs/defaultButton_main.mxml  |   34 +-
 .../integration/DataGroup_Integration_main.mxml |    7 +-
 .../datagroup_integration_PopUpManager.png      |  Bin 1291 -> 5059 bytes
 .../methods/DataGroup_Methods_main.mxml         |   18 +-
 .../methods/DataGroup_Methods_main_virtual.mxml |   18 +-
 .../datagroup_method_swapItems_buttons.png      |  Bin 2944 -> 3169 bytes
 ...tagroup_method_swapItems_buttons_virtual.png |  Bin 0 -> 3179 bytes
 .../datagroup_method_swapItems_data.png         |  Bin 759 -> 718 bytes
 .../datagroup_method_swapItems_data_virtual.png |  Bin 0 -> 718 bytes
 .../datagroup_method_swapItems_mix.png          |  Bin 579 -> 555 bytes
 .../datagroup_method_swapItems_mix_virtual.png  |  Bin 0 -> 555 bytes
 ...roup_method_swapItems_subgroups_nonempty.png |  Bin 369 -> 318 bytes
 .../properties/DataGroup_Properties_main.mxml   |   10 +-
 .../DataGroup_Properties_main_virtual.mxml      |   83 +-
 ...Group_Properties_getCurrentRendererState.png |  Bin 3773 -> 3806 bytes
 .../DataGroup_property_itemIndex_binding.png    |  Bin 808 -> 807 bytes
 ...Group_property_itemIndex_binding_virtual.png |  Bin 0 -> 807 bytes
 .../DataGroup_property_itemIndex_setData.png    |  Bin 883 -> 866 bytes
 ...Group_property_itemIndex_setData_virtual.png |  Bin 0 -> 866 bytes
 ...erty_dataProvider_graphicElement_virtual.png |  Bin 0 -> 220 bytes
 ...dataGroup_property_dataProvider_zeroItem.png |  Bin 859 -> 473 bytes
 ...p_property_dataProvider_zeroItem_virtual.png |  Bin 0 -> 473 bytes
 ...roperty_itemRendererFunction_fallThrough.png |  Bin 991 -> 1008 bytes
 ..._property_itemRendererFunction_haloPanel.png |  Bin 3617 -> 3646 bytes
 ...y_itemRendererFunction_haloPanel_virtual.png |  Bin 0 -> 3646 bytes
 ...operty_itemRendererFunction_sendingNulls.png |  Bin 991 -> 1008 bytes
 .../properties/baselines/datagroup_SDK22156.png |  Bin 6601 -> 7341 bytes
 .../datagroup_horizontalAlign_data_center.png   |  Bin 3269 -> 3201 bytes
 ...roup_horizontalAlign_data_center_virtual.png |  Bin 3586 -> 3457 bytes
 ...roup_horizontalAlign_data_contentJustify.png |  Bin 3606 -> 3484 bytes
 ...izontalAlign_data_contentJustify_virtual.png |  Bin 3606 -> 3484 bytes
 .../datagroup_horizontalAlign_data_justify.png  |  Bin 3623 -> 3492 bytes
 ...oup_horizontalAlign_data_justify_virtual.png |  Bin 3623 -> 3492 bytes
 .../datagroup_horizontalAlign_data_left.png     |  Bin 3519 -> 3388 bytes
 ...agroup_horizontalAlign_data_left_virtual.png |  Bin 3519 -> 3388 bytes
 .../datagroup_horizontalAlign_data_right.png    |  Bin 3005 -> 3042 bytes
 ...group_horizontalAlign_data_right_virtual.png |  Bin 3584 -> 3462 bytes
 .../datagroup_horizontalAlign_mix_center.png    |  Bin 3197 -> 3063 bytes
 ...group_horizontalAlign_mix_center_virtual.png |  Bin 3241 -> 3080 bytes
 ...group_horizontalAlign_mix_contentJustify.png |  Bin 3317 -> 3168 bytes
 ...rizontalAlign_mix_contentJustify_virtual.png |  Bin 3317 -> 3168 bytes
 .../datagroup_horizontalAlign_mix_justify.png   |  Bin 3255 -> 3113 bytes
 ...roup_horizontalAlign_mix_justify_virtual.png |  Bin 3255 -> 3113 bytes
 .../datagroup_horizontalAlign_mix_left.png      |  Bin 3194 -> 3050 bytes
 ...tagroup_horizontalAlign_mix_left_virtual.png |  Bin 3194 -> 3050 bytes
 .../datagroup_horizontalAlign_mix_right.png     |  Bin 3214 -> 3075 bytes
 ...agroup_horizontalAlign_mix_right_virtual.png |  Bin 3304 -> 3165 bytes
 ..._property_autoLayout_clipContent_virtual.png |  Bin 0 -> 1413 bytes
 ...utoLayout_no_movement_horizontal_virtual.png |  Bin 0 -> 251 bytes
 ..._autoLayout_no_movement_vertical_virtual.png |  Bin 0 -> 231 bytes
 ...roperty_autoLayout_switchTo_true_virtual.png |  Bin 0 -> 166 bytes
 .../datagroup_property_content_mask.png         |  Bin 1437 -> 1346 bytes
 .../datagroup_property_content_mask_virtual.png |  Bin 0 -> 1346 bytes
 ...tagroup_property_dataProvider_null_items.png |  Bin 1826 -> 1794 bytes
 ...roperty_dataProvider_null_items_function.png |  Bin 1826 -> 1794 bytes
 ...dataProvider_null_items_function_virtual.png |  Bin 0 -> 1794 bytes
 ...property_dataProvider_null_items_virtual.png |  Bin 0 -> 1794 bytes
 .../datagroup_property_data_graphic.png         |  Bin 2020 -> 882 bytes
 .../datagroup_property_data_graphic_virtual.png |  Bin 0 -> 882 bytes
 .../baselines/datagroup_property_data_mix.png   |  Bin 1608 -> 507 bytes
 .../datagroup_property_data_mix_virtual.png     |  Bin 0 -> 507 bytes
 .../datagroup_property_duplicates_adding.png    |  Bin 540 -> 565 bytes
 ...group_property_duplicates_adding_virtual.png |  Bin 0 -> 565 bytes
 ...tagroup_property_duplicates_itemRenderer.png |  Bin 358 -> 335 bytes
 ...property_duplicates_itemRendererFunction.png |  Bin 358 -> 335 bytes
 ..._duplicates_itemRendererFunction_virtual.png |  Bin 0 -> 335 bytes
 ...property_duplicates_itemRenderer_virtual.png |  Bin 0 -> 335 bytes
 .../datagroup_property_duplicates_removing.png  |  Bin 496 -> 520 bytes
 ...oup_property_duplicates_removing_virtual.png |  Bin 0 -> 520 bytes
 .../datagroup_property_filters_change.png       |  Bin 2194 -> 1979 bytes
 ...atagroup_property_filters_change_virtual.png |  Bin 0 -> 1979 bytes
 .../datagroup_property_filters_data.png         |  Bin 1932 -> 1683 bytes
 .../datagroup_property_filters_data_virtual.png |  Bin 0 -> 1683 bytes
 ...agroup_property_filters_graphics_virtual.png |  Bin 0 -> 704 bytes
 .../datagroup_property_filters_mix.png          |  Bin 2362 -> 2117 bytes
 .../datagroup_property_filters_mix_virtual.png  |  Bin 0 -> 2117 bytes
 .../datagroup_property_itemRendererFunction.png |  Bin 3189 -> 2834 bytes
 ...up_property_itemRendererFunction_virtual.png |  Bin 0 -> 2873 bytes
 .../datagroup_property_itemRenderer_data.png    |  Bin 466 -> 438 bytes
 ...tagroup_property_itemRenderer_data_color.png |  Bin 2688 -> 2543 bytes
 ...property_itemRenderer_data_color_virtual.png |  Bin 0 -> 2583 bytes
 ...atagroup_property_itemRenderer_data_skin.png |  Bin 547 -> 490 bytes
 ..._property_itemRenderer_data_skin_virtual.png |  Bin 0 -> 490 bytes
 ...group_property_itemRenderer_data_virtual.png |  Bin 0 -> 438 bytes
 ...atagroup_property_layout_horizontal_data.png |  Bin 705 -> 590 bytes
 ..._property_layout_horizontal_data_virtual.png |  Bin 0 -> 590 bytes
 ...datagroup_property_layout_horizontal_mix.png |  Bin 794 -> 747 bytes
 ...p_property_layout_horizontal_mix_virtual.png |  Bin 0 -> 747 bytes
 .../datagroup_property_layout_switch.png        |  Bin 794 -> 746 bytes
 ...datagroup_property_layout_switch_virtual.png |  Bin 0 -> 746 bytes
 .../datagroup_property_layout_vertical_data.png |  Bin 726 -> 603 bytes
 ...up_property_layout_vertical_data_virtual.png |  Bin 0 -> 603 bytes
 .../datagroup_property_layout_vertical_mix.png  |  Bin 768 -> 717 bytes
 ...oup_property_layout_vertical_mix_virtual.png |  Bin 0 -> 717 bytes
 .../datagroup_property_mask_alpha_change.png    |  Bin 507 -> 521 bytes
 ...group_property_mask_alpha_change_virtual.png |  Bin 0 -> 521 bytes
 .../datagroup_property_mask_alpha_data.png      |  Bin 703 -> 700 bytes
 .../datagroup_property_mask_alpha_mix.png       |  Bin 797 -> 787 bytes
 .../baselines/datagroup_property_mask_data.png  |  Bin 823 -> 734 bytes
 .../datagroup_property_mask_data_virtual.png    |  Bin 0 -> 734 bytes
 .../baselines/datagroup_property_mask_mix.png   |  Bin 642 -> 551 bytes
 .../datagroup_property_mask_mix_virtual.png     |  Bin 0 -> 551 bytes
 .../datagroup_property_rotation_data_0.png      |  Bin 1349 -> 1130 bytes
 .../datagroup_property_rotation_data_45.png     |  Bin 3135 -> 2851 bytes
 .../datagroup_property_rotation_mix_0.png       |  Bin 1155 -> 1093 bytes
 .../datagroup_property_rotation_mix_45.png      |  Bin 2657 -> 2575 bytes
 .../datagroup_property_scaleXY_data_1_1.png     |  Bin 1130 -> 1068 bytes
 .../datagroup_property_scaleXY_data_2_2.png     |  Bin 2477 -> 2502 bytes
 ...tagroup_property_scaleXY_data_2_decimal5.png |  Bin 926 -> 880 bytes
 ...tagroup_property_scaleXY_data_decimal5_2.png |  Bin 1296 -> 1179 bytes
 ..._property_scaleXY_data_decimal5_decimal5.png |  Bin 500 -> 453 bytes
 .../datagroup_property_scaleXY_mix_1_1.png      |  Bin 1266 -> 1206 bytes
 .../datagroup_property_scaleXY_mix_2_2.png      |  Bin 2682 -> 2696 bytes
 ...atagroup_property_scaleXY_mix_2_decimal5.png |  Bin 1055 -> 1055 bytes
 ...atagroup_property_scaleXY_mix_decimal5_2.png |  Bin 1503 -> 1421 bytes
 ...p_property_scaleXY_mix_decimal5_decimal5.png |  Bin 583 -> 553 bytes
 ...datagroup_property_scaleX_data_0decimal5.png |  Bin 792 -> 704 bytes
 .../datagroup_property_scaleX_data_2.png        |  Bin 1523 -> 1390 bytes
 .../datagroup_property_scaleX_data_default.png  |  Bin 1108 -> 1019 bytes
 .../datagroup_property_scaleX_mix_0decimal5.png |  Bin 802 -> 762 bytes
 .../datagroup_property_scaleX_mix_1.png         |  Bin 2229 -> 2156 bytes
 .../datagroup_property_scaleX_mix_2.png         |  Bin 1352 -> 1290 bytes
 ...datagroup_property_scaleY_data_0decimal5.png |  Bin 645 -> 582 bytes
 .../datagroup_property_scaleY_data_1.png        |  Bin 1009 -> 866 bytes
 .../datagroup_property_scaleY_data_2.png        |  Bin 1560 -> 1403 bytes
 .../datagroup_property_scaleY_mix_0decimal5.png |  Bin 567 -> 557 bytes
 .../datagroup_property_scaleY_mix_1.png         |  Bin 932 -> 888 bytes
 .../datagroup_property_scaleY_mix_2.png         |  Bin 1554 -> 1526 bytes
 .../datagroup_property_transformXY_negative.png |  Bin 1456 -> 1456 bytes
 .../datagroup_property_transform_color_data.png |  Bin 1289 -> 1176 bytes
 ...up_property_transform_color_data_virtual.png |  Bin 0 -> 1176 bytes
 .../datagroup_property_transform_color_mix.png  |  Bin 778 -> 740 bytes
 ...oup_property_transform_color_mix_virtual.png |  Bin 0 -> 740 bytes
 .../datagroup_property_transform_direct.png     |  Bin 2456 -> 2381 bytes
 ...agroup_property_transform_direct_virtual.png |  Bin 0 -> 2381 bytes
 ...datagroup_property_transform_rotate_data.png |  Bin 2552 -> 2422 bytes
 ...p_property_transform_rotate_data_virtual.png |  Bin 0 -> 2422 bytes
 ...group_property_transform_rotate_graphics.png |  Bin 1851 -> 1848 bytes
 .../datagroup_property_transform_rotate_mix.png |  Bin 1866 -> 1848 bytes
 .../datagroup_property_transform_skew_data.png  |  Bin 2581 -> 2499 bytes
 ...oup_property_transform_skew_data_virtual.png |  Bin 0 -> 2499 bytes
 .../datagroup_property_transform_skew_mix.png   |  Bin 1963 -> 1944 bytes
 ...roup_property_transform_skew_mix_virtual.png |  Bin 0 -> 1944 bytes
 .../datagroup_verticalAlign_data_bottom.png     |  Bin 1898 -> 1809 bytes
 ...agroup_verticalAlign_data_bottom_virtual.png |  Bin 1898 -> 1809 bytes
 ...agroup_verticalAlign_data_contentJustify.png |  Bin 2110 -> 2004 bytes
 ...erticalAlign_data_contentJustify_virtual.png |  Bin 2110 -> 2004 bytes
 .../datagroup_verticalAlign_data_justify.png    |  Bin 2110 -> 2004 bytes
 ...group_verticalAlign_data_justify_virtual.png |  Bin 2110 -> 2004 bytes
 .../datagroup_verticalAlign_data_middle.png     |  Bin 1898 -> 1809 bytes
 ...agroup_verticalAlign_data_middle_virtual.png |  Bin 1898 -> 1809 bytes
 .../datagroup_verticalAlign_data_top.png        |  Bin 1895 -> 1807 bytes
 ...datagroup_verticalAlign_data_top_virtual.png |  Bin 1895 -> 1807 bytes
 .../datagroup_verticalAlign_mix_bottom.png      |  Bin 2074 -> 1992 bytes
 ...tagroup_verticalAlign_mix_bottom_virtual.png |  Bin 2150 -> 2068 bytes
 ...tagroup_verticalAlign_mix_contentJustify.png |  Bin 2380 -> 2277 bytes
 ...verticalAlign_mix_contentJustify_virtual.png |  Bin 2380 -> 2277 bytes
 .../datagroup_verticalAlign_mix_justify.png     |  Bin 2267 -> 2176 bytes
 ...agroup_verticalAlign_mix_justify_virtual.png |  Bin 2267 -> 2176 bytes
 .../datagroup_verticalAlign_mix_middle.png      |  Bin 2125 -> 2041 bytes
 ...tagroup_verticalAlign_mix_middle_virtual.png |  Bin 2165 -> 2079 bytes
 .../datagroup_verticalAlign_mix_top.png         |  Bin 2158 -> 2071 bytes
 .../datagroup_verticalAlign_mix_top_virtual.png |  Bin 2158 -> 2071 bytes
 .../gumbo/core/DataGroup/swfs/assets/MyFXG.fxg  |   23 +-
 .../viewport/DataGroup_viewport_main.mxml       |   40 +-
 ...oup_viewport_scrollPosition_gradient_0_0.png |  Bin 0 -> 4343 bytes
 ...viewport_scrollPosition_gradient_0_0@win.png |  Bin 0 -> 4289 bytes
 ...viewport_scrollPosition_gradient_200_200.png |  Bin 0 -> 4598 bytes
 ...port_scrollPosition_gradient_200_200@win.png |  Bin 0 -> 4631 bytes
 ...viewport_scrollPosition_gradient_200_450.png |  Bin 0 -> 2892 bytes
 ...port_scrollPosition_gradient_200_450@win.png |  Bin 0 -> 2858 bytes
 ...port_scrollPosition_gradient_200_minus50.png |  Bin 0 -> 2221 bytes
 ..._scrollPosition_gradient_200_minus50@win.png |  Bin 0 -> 2260 bytes
 ...viewport_scrollPosition_gradient_450_200.png |  Bin 0 -> 1921 bytes
 ...port_scrollPosition_gradient_450_200@win.png |  Bin 0 -> 2034 bytes
 ...viewport_scrollPosition_gradient_450_450.png |  Bin 0 -> 2136 bytes
 ...port_scrollPosition_gradient_450_450@win.png |  Bin 0 -> 2166 bytes
 ...port_scrollPosition_gradient_450_minus50.png |  Bin 0 -> 2156 bytes
 ..._scrollPosition_gradient_450_minus50@win.png |  Bin 0 -> 2142 bytes
 ...port_scrollPosition_gradient_minus50_200.png |  Bin 0 -> 1998 bytes
 ..._scrollPosition_gradient_minus50_200@win.png |  Bin 0 -> 2132 bytes
 ...port_scrollPosition_gradient_minus50_450.png |  Bin 0 -> 2085 bytes
 ..._scrollPosition_gradient_minus50_450@win.png |  Bin 0 -> 2078 bytes
 ..._scrollPosition_gradient_minus50_minus50.png |  Bin 0 -> 2173 bytes
 ...ollPosition_gradient_minus50_minus50@win.png |  Bin 0 -> 2172 bytes
 ...oup_viewport_scrollPosition_gradient_0_0.png |  Bin 4289 -> 0 bytes
 ...viewport_scrollPosition_gradient_200_200.png |  Bin 4631 -> 0 bytes
 ...viewport_scrollPosition_gradient_200_450.png |  Bin 2858 -> 0 bytes
 ...port_scrollPosition_gradient_200_minus50.png |  Bin 2260 -> 0 bytes
 ...viewport_scrollPosition_gradient_450_200.png |  Bin 2034 -> 0 bytes
 ...viewport_scrollPosition_gradient_450_450.png |  Bin 2166 -> 0 bytes
 ...port_scrollPosition_gradient_450_minus50.png |  Bin 2142 -> 0 bytes
 ...port_scrollPosition_gradient_minus50_200.png |  Bin 2132 -> 0 bytes
 ...port_scrollPosition_gradient_minus50_450.png |  Bin 2078 -> 0 bytes
 ..._scrollPosition_gradient_minus50_minus50.png |  Bin 2172 -> 0 bytes
 .../DataGroup_Virtualization_horizontal.mxml    |    2 +
 .../DataGroup_Virtualization_vertical.mxml      |    2 +
 .../datagroup_virtualization_SDK21030.png       |  Bin 1090 -> 1309 bytes
 ...group_virtualization_SDK21030_nonvirtual.png |  Bin 1090 -> 1309 bytes
 .../datagroup_virtualization_SDK25605.png       |  Bin 727 -> 798 bytes
 ...roup_virtualization_customLayout_evenOdd.png |  Bin 2845 -> 3733 bytes
 ...group_virtualization_defaultItemRenderer.png |  Bin 1824 -> 1982 bytes
 ...on_horizontal_largerRequestedColumnCount.png |  Bin 1917 -> 1577 bytes
 ...rtualization_horizontal_mixed_scroll_127.png |  Bin 3892 -> 3776 bytes
 ...rtualization_horizontal_mixed_scroll_128.png |  Bin 4156 -> 4038 bytes
 ...ualization_horizontal_mixed_scroll_large.png |  Bin 3928 -> 3809 bytes
 ...lization_horizontal_mixed_scroll_oneItem.png |  Bin 3822 -> 3710 bytes
 ...ualization_horizontal_mixed_scroll_small.png |  Bin 3841 -> 3728 bytes
 ...tion_horizontal_requestedColumnCountZero.png |  Bin 2444 -> 1283 bytes
 ...tagroup_virtualization_horizontal_rotate.png |  Bin 5908 -> 5997 bytes
 ...ization_vertical_largerRequestedRowCount.png |  Bin 1966 -> 1547 bytes
 ...virtualization_vertical_mixed_scroll_127.png |  Bin 10227 -> 10030 bytes
 ...virtualization_vertical_mixed_scroll_128.png |  Bin 11823 -> 11606 bytes
 ...rtualization_vertical_mixed_scroll_large.png |  Bin 9211 -> 9095 bytes
 ...ualization_vertical_mixed_scroll_oneItem.png |  Bin 8146 -> 7973 bytes
 ...rtualization_vertical_mixed_scroll_small.png |  Bin 8160 -> 7982 bytes
 ...alization_vertical_requestedRowCountZero.png |  Bin 2663 -> 1283 bytes
 ...datagroup_virtualization_vertical_rotate.png |  Bin 7795 -> 7663 bytes
 ...signLayer_Integration_focus_visible_halo.png |  Bin 2407 -> 2327 bytes
 .../DesignLayer_Integration_itemRenderer.png    |  Bin 10342 -> 10241 bytes
 .../properties/DesignLayer_Properties_main.mxml |    3 +
 .../states/DesignLayer_States_main.mxml         |    1 +
 .../core/DesignLayer/swfs/comps/TypeFXG.fxg     |   58 +-
 .../integration/Group_Integration_main.mxml     |    5 +-
 .../core/Group/methods/Group_Methods_main.mxml  |  638 +--
 .../Group_method_addItemAt_elements_array.png   |  Bin 1236 -> 1347 bytes
 .../Group_method_addItem_graphics_comps.png     |  Bin 5949 -> 6072 bytes
 .../Group_method_addItem_same_comp.png          |  Bin 10095 -> 9954 bytes
 ...Group_method_removeItemAt_elements_array.png |  Bin 883 -> 836 bytes
 .../Group/methods/baselines/group_buttons.png   |  Bin 4291 -> 4025 bytes
 .../group_method_addItem_reparenting.png        |  Bin 1096 -> 1045 bytes
 .../properties/Group_Properties_blendMode.mxml  |   24 +-
 .../Group/properties/Group_Properties_main.mxml |   11 +-
 .../properties/HGroup_baseline_tester.mxml      |    4 +-
 .../Group_property_blendMode_disabled.png       |  Bin 788 -> 671 bytes
 .../Group_property_blendMode_hardlight.png      |  Bin 0 -> 480 bytes
 .../Group_property_blendMode_hardlight@win.png  |  Bin 0 -> 495 bytes
 .../Group_property_blendMode_overlay.png        |  Bin 0 -> 620 bytes
 .../Group_property_blendMode_overlay@win.png    |  Bin 0 -> 631 bytes
 ...nePositionElement_verticalAlign_baseline.png |  Bin 5137 -> 5362 bytes
 ...tionElement_verticalAlign_baseline_label.png |  Bin 5131 -> 5407 bytes
 .../HGroup_baseline_baselinePositionElement.png |  Bin 5838 -> 6245 bytes
 ...ge_child_baseline_verticalAlign_baseline.png |  Bin 4749 -> 5362 bytes
 ...icalAlign_baseline_change_child_baseline.png |  Bin 4749 -> 5362 bytes
 .../baselines/group_displayObjectSharing_13.png |  Bin 1485 -> 1444 bytes
 .../baselines/group_displayObjectSharing_14.png |  Bin 1467 -> 1428 bytes
 .../baselines/group_displayObjectSharing_15.png |  Bin 1165 -> 1130 bytes
 .../baselines/group_displayObjectSharing_16.png |  Bin 1230 -> 1167 bytes
 .../baselines/group_displayObjectSharing_17.png |  Bin 2568 -> 2373 bytes
 .../baselines/group_displayObjectSharing_8.png  |  Bin 1549 -> 1595 bytes
 .../group_displayObjectSharing_states_10.png    |  Bin 1878 -> 1827 bytes
 .../group_displayObjectSharing_states_2.png     |  Bin 1877 -> 1826 bytes
 .../group_displayObjectSharing_states_3.png     |  Bin 1882 -> 1834 bytes
 .../group_displayObjectSharing_states_4.png     |  Bin 1889 -> 1839 bytes
 .../group_displayObjectSharing_states_5.png     |  Bin 1886 -> 1838 bytes
 .../group_displayObjectSharing_states_6.png     |  Bin 1873 -> 1822 bytes
 .../group_displayObjectSharing_states_7.png     |  Bin 1873 -> 1822 bytes
 .../group_displayObjectSharing_states_8.png     |  Bin 1886 -> 1838 bytes
 .../group_displayObjectSharing_states_9.png     |  Bin 1882 -> 1834 bytes
 .../baselines/group_property_blendMode_add.png  |  Bin 3772 -> 413 bytes
 .../group_property_blendMode_darken.png         |  Bin 5283 -> 589 bytes
 .../group_property_blendMode_difference.png     |  Bin 5965 -> 692 bytes
 .../group_property_blendMode_hardlight.png      |  Bin 5337 -> 0 bytes
 .../group_property_blendMode_invert.png         |  Bin 3795 -> 681 bytes
 .../group_property_blendMode_layer.png          |  Bin 4963 -> 471 bytes
 .../group_property_blendMode_lighten.png        |  Bin 3659 -> 413 bytes
 .../group_property_blendMode_multiply.png       |  Bin 5757 -> 589 bytes
 .../group_property_blendMode_normal.png         |  Bin 4963 -> 471 bytes
 .../group_property_blendMode_overlay.png        |  Bin 4150 -> 0 bytes
 .../group_property_blendMode_screen.png         |  Bin 4060 -> 413 bytes
 .../group_property_blendMode_subtract.png       |  Bin 5836 -> 458 bytes
 ...roup_property_clipAndEnableScrolling_off.png |  Bin 4198 -> 4178 bytes
 ...group_property_clipAndEnableScrolling_on.png |  Bin 2488 -> 2499 bytes
 .../baselines/group_property_layer_basic.png    |  Bin 428 -> 442 bytes
 .../baselines/group_property_styles.png         |  Bin 4735 -> 5441 bytes
 ...group_property_transform_rotate_graphics.png |  Bin 1612 -> 1842 bytes
 .../baselines/group_property_visible.png        |  Bin 1973 -> 1905 bytes
 .../baselines/group_property_width_SDK21222.png |  Bin 1917 -> 2343 bytes
 .../core/Group/styles/Group_styles_tester.mxml  |   43 +-
 ...FocusColor_changeComponentStyleAtRuntime.png |  Bin 576 -> 582 bytes
 .../FocusColor_changeContainerAtRuntime.png     |  Bin 557 -> 563 bytes
 .../GroupStyle_FxButtonBar_compileTime.png      |  Bin 4138 -> 4368 bytes
 .../GroupStyle_FxButtonBar_runtimeCSS.png       |  Bin 4113 -> 4204 bytes
 .../GroupStyle_FxButton_compileTime.png         |  Bin 1658 -> 1788 bytes
 .../GroupStyle_FxButton_runtimeCSS.png          |  Bin 1644 -> 1733 bytes
 .../GroupStyle_FxCheckBox_compileTime.png       |  Bin 1747 -> 1769 bytes
 .../GroupStyle_FxCheckBox_runtimeCSS.png        |  Bin 1765 -> 1785 bytes
 .../GroupStyle_FxHSlider_compileTime.png        |  Bin 562 -> 725 bytes
 .../GroupStyle_FxHSlider_runtimeCSS.png         |  Bin 548 -> 726 bytes
 .../GroupStyle_FxNumericStepper_compileTime.png |  Bin 551 -> 781 bytes
 .../GroupStyle_FxNumericStepper_runtimeCSS.png  |  Bin 566 -> 794 bytes
 .../GroupStyle_FxRadioButton_compileTime.png    |  Bin 1597 -> 1884 bytes
 .../GroupStyle_FxRadioButton_runtimeCSS.png     |  Bin 1588 -> 1888 bytes
 .../GroupStyle_FxTextArea_compileTime.png       |  Bin 7226 -> 6651 bytes
 .../GroupStyle_FxTextArea_runtimeCSS.png        |  Bin 7393 -> 6848 bytes
 ...tyle_FxToggleButton_compileTime_selected.png |  Bin 2247 -> 2378 bytes
 ...le_FxToggleButton_compileTime_unselected.png |  Bin 2198 -> 2406 bytes
 ...Style_FxToggleButton_runtimeCSS_selected.png |  Bin 836 -> 2355 bytes
 ...yle_FxToggleButton_runtimeCSS_unselected.png |  Bin 769 -> 2309 bytes
 .../core/Group/swfs/Group_Styles_Main.mxml      |    8 +-
 .../gumbo/core/Group/swfs/assets/MyFXG.fxg      |   23 +-
 .../Group/viewport/Group_viewport_main.mxml     |   42 +-
 ...oup_viewport_scrollPosition_gradient_0_0.png |  Bin 0 -> 4343 bytes
 ...viewport_scrollPosition_gradient_0_0@win.png |  Bin 0 -> 4289 bytes
 ...viewport_scrollPosition_gradient_200_200.png |  Bin 0 -> 4598 bytes
 ...port_scrollPosition_gradient_200_200@win.png |  Bin 0 -> 4631 bytes
 ...viewport_scrollPosition_gradient_200_450.png |  Bin 0 -> 2892 bytes
 ...port_scrollPosition_gradient_200_450@win.png |  Bin 0 -> 2858 bytes
 ...port_scrollPosition_gradient_200_minus50.png |  Bin 0 -> 2221 bytes
 ..._scrollPosition_gradient_200_minus50@win.png |  Bin 0 -> 2260 bytes
 ...viewport_scrollPosition_gradient_450_200.png |  Bin 0 -> 1921 bytes
 ...port_scrollPosition_gradient_450_200@win.png |  Bin 0 -> 2034 bytes
 ...viewport_scrollPosition_gradient_450_450.png |  Bin 0 -> 2136 bytes
 ...port_scrollPosition_gradient_450_450@win.png |  Bin 0 -> 2166 bytes
 ...port_scrollPosition_gradient_450_minus50.png |  Bin 0 -> 2156 bytes
 ..._scrollPosition_gradient_450_minus50@win.png |  Bin 0 -> 2142 bytes
 ...port_scrollPosition_gradient_minus50_200.png |  Bin 0 -> 1998 bytes
 ..._scrollPosition_gradient_minus50_200@win.png |  Bin 0 -> 2132 bytes
 ...port_scrollPosition_gradient_minus50_450.png |  Bin 0 -> 2085 bytes
 ..._scrollPosition_gradient_minus50_450@win.png |  Bin 0 -> 2078 bytes
 ..._scrollPosition_gradient_minus50_minus50.png |  Bin 0 -> 2173 bytes
 ...ollPosition_gradient_minus50_minus50@win.png |  Bin 0 -> 2172 bytes
 ...oup_viewport_scrollPosition_gradient_0_0.png |  Bin 4343 -> 0 bytes
 ...viewport_scrollPosition_gradient_200_200.png |  Bin 4598 -> 0 bytes
 ...viewport_scrollPosition_gradient_200_450.png |  Bin 2892 -> 0 bytes
 ...port_scrollPosition_gradient_200_minus50.png |  Bin 2221 -> 0 bytes
 ...viewport_scrollPosition_gradient_450_200.png |  Bin 1921 -> 0 bytes
 ...viewport_scrollPosition_gradient_450_450.png |  Bin 2136 -> 0 bytes
 ...port_scrollPosition_gradient_450_minus50.png |  Bin 2156 -> 0 bytes
 ...port_scrollPosition_gradient_minus50_200.png |  Bin 1998 -> 0 bytes
 ...port_scrollPosition_gradient_minus50_450.png |  Bin 2085 -> 0 bytes
 ..._scrollPosition_gradient_minus50_minus50.png |  Bin 2173 -> 0 bytes
 .../Properties/properties_hostComponent.mxml    |   10 +-
 .../Baselines/integration_box_test1.png         |  Bin 7536 -> 7370 bytes
 .../Baselines/integration_fxbutton_test1.png    |  Bin 1369 -> 1301 bytes
 .../Baselines/integration_mxbutton_test1.png    |  Bin 1039 -> 963 bytes
 .../Baselines/integration_panel_test1.png       |  Bin 1218 -> 1167 bytes
 .../Baselines/integration_popup_test1.png       |  Bin 1441 -> 1424 bytes
 .../Baselines/integration_popup_test2.png       |  Bin 1467 -> 1447 bytes
 .../Baselines/integration_swfloader_test1.png   |  Bin 4318 -> 4250 bytes
 .../Methods/Baselines/constructor_test2.png     |  Bin 221 -> 457 bytes
 .../Methods/Baselines/float2_test1.png          |  Bin 218 -> 354 bytes
 .../Methods/Baselines/float2_test10.png         |  Bin 222 -> 546 bytes
 .../Methods/Baselines/float2_test11.png         |  Bin 222 -> 546 bytes
 .../Methods/Baselines/float2_test2.png          |  Bin 218 -> 354 bytes
 .../Methods/Baselines/float2_test3.png          |  Bin 223 -> 369 bytes
 .../Methods/Baselines/float2_test4.png          |  Bin 220 -> 367 bytes
 .../Methods/Baselines/float2_test5.png          |  Bin 218 -> 354 bytes
 .../Methods/Baselines/float2_test6.png          |  Bin 222 -> 367 bytes
 .../Methods/Baselines/float2_test7.png          |  Bin 217 -> 360 bytes
 .../Methods/Baselines/float2_test8.png          |  Bin 220 -> 367 bytes
 .../Methods/Baselines/float2_test9.png          |  Bin 217 -> 360 bytes
 .../Methods/Baselines/float3_test18.png         |  Bin 221 -> 551 bytes
 .../Methods/Baselines/float3_test19.png         |  Bin 221 -> 551 bytes
 .../Methods/Baselines/float4_test2.png          |  Bin 221 -> 235 bytes
 .../Methods/Baselines/float4_test25.png         |  Bin 223 -> 545 bytes
 .../Methods/Baselines/float4_test26.png         |  Bin 223 -> 545 bytes
 .../Methods/Baselines/float_test10.png          |  Bin 223 -> 560 bytes
 .../Methods/Baselines/float_test3.png           |  Bin 221 -> 457 bytes
 .../Methods/Baselines/float_test4.png           |  Bin 221 -> 457 bytes
 .../Methods/Baselines/float_test5.png           |  Bin 220 -> 457 bytes
 .../Methods/Baselines/float_test6.png           |  Bin 220 -> 457 bytes
 .../Methods/Baselines/float_test7.png           |  Bin 218 -> 449 bytes
 .../Methods/Baselines/float_test8.png           |  Bin 218 -> 449 bytes
 .../Methods/Baselines/float_test9.png           |  Bin 223 -> 560 bytes
 .../Methods/Baselines/pixel1_test1.png          |  Bin 223 -> 560 bytes
 .../Methods/Baselines/pixel1_test2.png          |  Bin 223 -> 560 bytes
 .../Methods/Baselines/pixel2_test1.png          |  Bin 222 -> 546 bytes
 .../Methods/Baselines/pixel2_test2.png          |  Bin 222 -> 546 bytes
 .../Methods/Baselines/pixel3_test1.png          |  Bin 221 -> 551 bytes
 .../Methods/Baselines/pixel3_test2.png          |  Bin 221 -> 551 bytes
 .../Methods/Baselines/pixel4_test1.png          |  Bin 223 -> 545 bytes
 .../Methods/Baselines/pixel4_test2.png          |  Bin 223 -> 545 bytes
 ...haderFilter_getPropertySetProperty_MXML.mxml |   79 +-
 .../Properties/Baselines/shader_MXML_test1.png  |  Bin 221 -> 457 bytes
 .../Properties/Baselines/shader_test2.png       |  Bin 221 -> 457 bytes
 .../Properties/Baselines/shader_test3.png       |  Bin 221 -> 367 bytes
 .../Properties/ShaderFilter_shader_MXML.mxml    |    1 +
 .../SWFs/Assets/PixelBenderFiles/Bool2ULUR.pbk  |   16 +
 .../Assets/PixelBenderFiles/Bool3ULURBL.pbk     |   16 +
 .../Assets/PixelBenderFiles/Bool4ULURBLBR.pbk   |   16 +
 .../SWFs/Assets/PixelBenderFiles/BoolUL.pbk     |   16 +
 .../SWFs/Assets/PixelBenderFiles/Float.pbk      |   16 +
 .../SWFs/Assets/PixelBenderFiles/Float2.pbk     |   16 +
 .../PixelBenderFiles/Float2WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Float2WithoutDefault.pbk   |   74 +-
 .../SWFs/Assets/PixelBenderFiles/Float2x2.pbk   |   16 +
 .../PixelBenderFiles/Float2x2WithDefault.pbk    |   16 +
 .../PixelBenderFiles/Float2x2WithoutDefault.pbk |   16 +
 .../SWFs/Assets/PixelBenderFiles/Float3.pbk     |   16 +
 .../PixelBenderFiles/Float3WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Float3WithoutDefault.pbk   |   72 +-
 .../SWFs/Assets/PixelBenderFiles/Float3x3.pbk   |   16 +
 .../PixelBenderFiles/Float3x3WithDefault.pbk    |   16 +
 .../PixelBenderFiles/Float3x3WithoutDefault.pbk |   16 +
 .../SWFs/Assets/PixelBenderFiles/Float4.pbk     |   16 +
 .../PixelBenderFiles/Float4WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Float4WithoutDefault.pbk   |   72 +-
 .../Assets/PixelBenderFiles/Float4_stpq.pbk     |   16 +
 .../SWFs/Assets/PixelBenderFiles/Float4x4.pbk   |   16 +
 .../PixelBenderFiles/Float4x4WithDefault.pbk    |   16 +
 .../PixelBenderFiles/Float4x4WithoutDefault.pbk |   16 +
 .../Assets/PixelBenderFiles/FloatNoDefault.pbk  |   16 +
 .../PixelBenderFiles/FloatWithDefault.pbk       |   74 +-
 .../PixelBenderFiles/FloatWithoutDefault.pbk    |   72 +-
 .../PixelBenderFiles/IncreaseChannels.pbk       |   16 +
 .../SWFs/Assets/PixelBenderFiles/Int.pbk        |   16 +
 .../SWFs/Assets/PixelBenderFiles/Int2.pbk       |   16 +
 .../Assets/PixelBenderFiles/Int2WithDefault.pbk |   16 +
 .../PixelBenderFiles/Int2WithoutDefault.pbk     |   16 +
 .../SWFs/Assets/PixelBenderFiles/Int3.pbk       |   16 +
 .../Assets/PixelBenderFiles/Int3WithDefault.pbk |   16 +
 .../PixelBenderFiles/Int3WithoutDefault.pbk     |   16 +
 .../SWFs/Assets/PixelBenderFiles/Int4.pbk       |   16 +
 .../Assets/PixelBenderFiles/Int4WithDefault.pbk |   16 +
 .../PixelBenderFiles/Int4WithoutDefault.pbk     |   16 +
 .../Assets/PixelBenderFiles/IntWithDefault.pbk  |   16 +
 .../PixelBenderFiles/IntWithoutDefault.pbk      |   16 +
 .../PixelBenderFiles/Pixel1WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Pixel1WithoutDefault.pbk   |   72 +-
 .../PixelBenderFiles/Pixel2WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Pixel2WithoutDefault.pbk   |   72 +-
 .../PixelBenderFiles/Pixel3WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Pixel3WithoutDefault.pbk   |   72 +-
 .../PixelBenderFiles/Pixel4WithDefault.pbk      |   74 +-
 .../PixelBenderFiles/Pixel4WithoutDefault.pbk   |   72 +-
 .../PixelBenderFiles/PixelWithDefault.pbk       |   74 +-
 .../Assets/PixelBenderFiles/SourceIgnored.pbk   |   16 +
 .../BasicLayout_container_panel.mxml            |    2 +-
 .../BasicLayout_integration_modifychildren.mxml |   12 +-
 .../baselines/clipScrollEnabled_test1.png       |  Bin 3976 -> 3880 bytes
 .../baselines/includeInLayout_default.png       |  Bin 4566 -> 4454 bytes
 .../baselines/includeInLayout_default2.png      |  Bin 4620 -> 4508 bytes
 .../baselines/includeInLayout_default3.png      |  Bin 4566 -> 4454 bytes
 .../baselines/includeInLayout_default5.png      |  Bin 4473 -> 4429 bytes
 .../Ellipse_setLayoutMatrix_rotate.png          |  Bin 1780 -> 2392 bytes
 .../baselines/Ellipse_setLayoutMatrix_scale.png |  Bin 1757 -> 2364 bytes
 .../baselines/Ellipse_setLayoutMatrix_skew.png  |  Bin 1862 -> 2478 bytes
 .../Ellipse_setLayoutMatrix_translation.png     |  Bin 1705 -> 2313 bytes
 .../baselines/Rect_transform_SDK16695.png       |  Bin 1895 -> 2511 bytes
 .../swfs/LayoutGraphicElement_main.mxml         |   62 +-
 ...ipAndEnableScrolling_toggle_scrollbars_2.png |  Bin 1666 -> 1666 bytes
 .../HLayout_group_includeInLayout_toggle_2.png  |  Bin 1206 -> 1204 bytes
 ...oup_includeInLayout_toggle_percentSize_2.png |  Bin 1206 -> 1204 bytes
 ...nLayout_toggle_percentSize_UIComponent_2.png |  Bin 1206 -> 1204 bytes
 ...roup_parent_scroll_down_GraphicElement_1.png |  Bin 1118 -> 1118 bytes
 ...roup_parent_scroll_down_GraphicElement_2.png |  Bin 1202 -> 1202 bytes
 .../HLayout_group_parent_scroll_left_2.png      |  Bin 1178 -> 1173 bytes
 ...roup_parent_scroll_left_GraphicElement_1.png |  Bin 3042 -> 3191 bytes
 ...roup_parent_scroll_left_GraphicElement_2.png |  Bin 2596 -> 2563 bytes
 ...roll_paddingLeft_paddingRight_scrollbars.png |  Bin 2157 -> 2154 bytes
 ...roll_paddingTop_paddingBottom_scrollbars.png |  Bin 2296 -> 2296 bytes
 ...oup_parent_scroll_right_GraphicElement_1.png |  Bin 631 -> 629 bytes
 ...oup_parent_scroll_right_GraphicElement_2.png |  Bin 739 -> 734 bytes
 .../HLayout_group_parent_scroll_thumb_1.png     |  Bin 1182 -> 1182 bytes
 .../HLayout_group_parent_scroll_thumb_2.png     |  Bin 1421 -> 1420 bytes
 .../HLayout_group_parent_scroll_up_1.png        |  Bin 1125 -> 1124 bytes
 .../HLayout_group_parent_scroll_up_2.png        |  Bin 1184 -> 1184 bytes
 ..._group_parent_scroll_up_GraphicElement_1.png |  Bin 1122 -> 1122 bytes
 ..._group_parent_scroll_up_GraphicElement_2.png |  Bin 1175 -> 1175 bytes
 ...equestedMaxColumnCount_lessthan_children.png |  Bin 1289 -> 1288 bytes
 ...edMaxColumnCount_requestedMinColumnCount.png |  Bin 1601 -> 1604 bytes
 .../HLayout_group_top_bottom_left_right.png     |  Bin 1206 -> 1204 bytes
 .../Integration/baselines/HLayout_group_x_y.png |  Bin 1206 -> 1204 bytes
 .../HLayout_Container_properties_tester.mxml    |   68 +-
 .../HLayout_Group_properties_tester.mxml        |   40 +-
 .../HLayout_Panel_properties_tester.mxml        |   64 +-
 ...ableScrolling_parent_false_children_true.png |  Bin 2963 -> 2962 bytes
 ...ner_clipAndEnableScrolling_true_scroller.png |  Bin 3245 -> 3244 bytes
 ...leColumnWidth_false_typicalLayoutElement.png |  Bin 9211 -> 9228 bytes
 ...idth_typicalLayoutElement_GraphicElement.png |  Bin 9398 -> 9417 bytes
 ...ontainer_columnWidth_variableColumnWidth.png |  Bin 5159 -> 5316 bytes
 ..._container_paddingBottom_negative_scroll.png |  Bin 2385 -> 2383 bytes
 ..._container_paddingBottom_positive_scroll.png |  Bin 3029 -> 3028 bytes
 ...ut_container_paddingLeft_negative_scroll.png |  Bin 2399 -> 2396 bytes
 ...ut_container_paddingLeft_positive_scroll.png |  Bin 2275 -> 2271 bytes
 ...t_container_paddingRight_negative_scroll.png |  Bin 2387 -> 2385 bytes
 ...t_container_paddingRight_positive_scroll.png |  Bin 2384 -> 2382 bytes
 ...out_container_paddingTop_negative_scroll.png |  Bin 2331 -> 2329 bytes
 ...out_container_paddingTop_positive_scroll.png |  Bin 3027 -> 3026 bytes
 ...oll_requestedColumnCount_default_fit_all.png |  Bin 5159 -> 5316 bytes
 ...croll_requestedColumnCount_explicit_size.png |  Bin 3033 -> 3032 bytes
 ...t_container_scroll_verticalAlign_justify.png |  Bin 3605 -> 3594 bytes
 ...iner_scroll_verticalAlign_justify_to_top.png |  Bin 3291 -> 3277 bytes
 .../HLayout_container_verticalAlign_bottom.png  |  Bin 5043 -> 5197 bytes
 ...t_container_verticalAlign_contentJustify.png |  Bin 5336 -> 5492 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 4217 -> 4284 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 5342 -> 5524 bytes
 ...icalAlign_contentJustify_text_percent_50.png |  Bin 3180 -> 3238 bytes
 ...r_verticalAlign_contentJustify_to_bottom.png |  Bin 5039 -> 5193 bytes
 ...ign_contentJustify_to_bottom_change_text.png |  Bin 5141 -> 5120 bytes
 ...iner_verticalAlign_contentJustify_to_top.png |  Bin 5013 -> 5170 bytes
 ...lAlign_contentJustify_to_top_change_text.png |  Bin 5118 -> 5096 bytes
 .../HLayout_container_verticalAlign_justify.png |  Bin 5336 -> 5492 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 4217 -> 4284 bytes
 ...icalAlign_justify_childWidth_less_parent.png |  Bin 5342 -> 5524 bytes
 ...ontainer_verticalAlign_justify_to_bottom.png |  Bin 5039 -> 5193 bytes
 ...ticalAlign_justify_to_bottom_change_text.png |  Bin 5141 -> 5120 bytes
 ...t_container_verticalAlign_justify_to_top.png |  Bin 5013 -> 5170 bytes
 ...verticalAlign_justify_to_top_change_text.png |  Bin 5118 -> 5096 bytes
 ...container_verticalAlign_middle_to_bottom.png |  Bin 4997 -> 5186 bytes
 ..._verticalAlign_middle_to_top_change_text.png |  Bin 5137 -> 5091 bytes
 ...ableScrolling_parent_false_children_true.png |  Bin 2963 -> 2962 bytes
 ...oup_clipAndEnableScrolling_true_scroller.png |  Bin 3245 -> 3244 bytes
 ...yout_group_paddingBottom_negative_scroll.png |  Bin 2385 -> 2383 bytes
 ...yout_group_paddingBottom_positive_scroll.png |  Bin 3029 -> 3028 bytes
 ...Layout_group_paddingLeft_negative_scroll.png |  Bin 2399 -> 2396 bytes
 ...Layout_group_paddingLeft_positive_scroll.png |  Bin 2275 -> 2271 bytes
 ...ayout_group_paddingRight_negative_scroll.png |  Bin 2387 -> 2385 bytes
 ...ayout_group_paddingRight_positive_scroll.png |  Bin 2384 -> 2382 bytes
 ...HLayout_group_paddingTop_negative_scroll.png |  Bin 2331 -> 2329 bytes
 ...HLayout_group_paddingTop_positive_scroll.png |  Bin 3027 -> 3026 bytes
 ...croll_requestedColumnCount_explicit_size.png |  Bin 3033 -> 3032 bytes
 ...ayout_group_scroll_verticalAlign_justify.png |  Bin 3605 -> 3594 bytes
 ...roup_scroll_verticalAlign_justify_to_top.png |  Bin 3291 -> 3277 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 4217 -> 4284 bytes
 ...icalAlign_contentJustify_text_percent_50.png |  Bin 3180 -> 3238 bytes
 ...ign_contentJustify_to_bottom_change_text.png |  Bin 5141 -> 5120 bytes
 ...lAlign_contentJustify_to_top_change_text.png |  Bin 5118 -> 5096 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 4217 -> 4284 bytes
 ...ticalAlign_justify_to_bottom_change_text.png |  Bin 5141 -> 5120 bytes
 ...verticalAlign_justify_to_top_change_text.png |  Bin 5118 -> 5096 bytes
 ..._verticalAlign_middle_to_top_change_text.png |  Bin 5137 -> 5091 bytes
 ...ableScrolling_parent_false_children_true.png |  Bin 4311 -> 4309 bytes
 ...nel_clipAndEnableScrolling_true_scroller.png |  Bin 4763 -> 4763 bytes
 ...ut_panel_columnWidth_variableColumnWidth.png |  Bin 5998 -> 6183 bytes
 ...yout_panel_paddingBottom_negative_scroll.png |  Bin 4380 -> 4379 bytes
 ...yout_panel_paddingBottom_positive_scroll.png |  Bin 4376 -> 4375 bytes
 ...Layout_panel_paddingLeft_negative_scroll.png |  Bin 4359 -> 4357 bytes
 ...Layout_panel_paddingLeft_positive_scroll.png |  Bin 4346 -> 4345 bytes
 ...ayout_panel_paddingRight_negative_scroll.png |  Bin 4361 -> 4361 bytes
 ...ayout_panel_paddingRight_positive_scroll.png |  Bin 4364 -> 4363 bytes
 ...HLayout_panel_paddingTop_negative_scroll.png |  Bin 4358 -> 4357 bytes
 ...HLayout_panel_paddingTop_positive_scroll.png |  Bin 4370 -> 4369 bytes
 ...oll_requestedColumnCount_default_fit_all.png |  Bin 5998 -> 6183 bytes
 ...croll_requestedColumnCount_explicit_size.png |  Bin 4364 -> 4363 bytes
 ...ayout_panel_scroll_verticalAlign_justify.png |  Bin 5245 -> 5236 bytes
 ...anel_scroll_verticalAlign_justify_to_top.png |  Bin 5058 -> 5049 bytes
 .../HLayout_panel_verticalAlign_bottom.png      |  Bin 6930 -> 7118 bytes
 ...ayout_panel_verticalAlign_contentJustify.png |  Bin 7133 -> 7321 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 5731 -> 5794 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 7133 -> 7384 bytes
 ...icalAlign_contentJustify_text_percent_50.png |  Bin 5019 -> 5080 bytes
 ...l_verticalAlign_contentJustify_to_bottom.png |  Bin 6925 -> 7110 bytes
 ...ign_contentJustify_to_bottom_change_text.png |  Bin 7019 -> 7039 bytes
 ...anel_verticalAlign_contentJustify_to_top.png |  Bin 6908 -> 7098 bytes
 ...lAlign_contentJustify_to_top_change_text.png |  Bin 6983 -> 7009 bytes
 .../HLayout_panel_verticalAlign_justify.png     |  Bin 7133 -> 7321 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 5731 -> 5794 bytes
 ...icalAlign_justify_childWidth_less_parent.png |  Bin 7133 -> 7384 bytes
 ...ut_panel_verticalAlign_justify_to_bottom.png |  Bin 6925 -> 7110 bytes
 ...ticalAlign_justify_to_bottom_change_text.png |  Bin 7019 -> 7039 bytes
 ...ayout_panel_verticalAlign_justify_to_top.png |  Bin 6908 -> 7098 bytes
 ...verticalAlign_justify_to_top_change_text.png |  Bin 6983 -> 7009 bytes
 ...out_panel_verticalAlign_middle_to_bottom.png |  Bin 6873 -> 7128 bytes
 ..._verticalAlign_middle_to_top_change_text.png |  Bin 7012 -> 7003 bytes
 .../SWFs/HorizontalLayout_Container_main.mxml   |    6 +-
 .../SWFs/HorizontalLayout_Group_main.mxml       |    6 +-
 .../SWFs/HorizontalLayout_Panel_main.mxml       |   52 +-
 .../baselines/Button_click_resize_SDK18219.png  |  Bin 1908 -> 1641 bytes
 .../LayoutProps/SWFs/IUserLayoutProps_Main.mxml |    6 +-
 .../baselines/integration_buttonbar_test2a.png  |  Bin 1629 -> 1630 bytes
 .../baselines/integration_buttonbar_test3a.png  |  Bin 1934 -> 2046 bytes
 .../baselines/integration_buttonbar_test3b.png  |  Bin 2019 -> 2120 bytes
 .../baselines/integration_buttonbar_test3c.png  |  Bin 2006 -> 2100 bytes
 .../baselines/integration_buttonbar_test3d.png  |  Bin 2105 -> 2192 bytes
 .../baselines/integration_buttonbar_test4a.png  |  Bin 1654 -> 1765 bytes
 .../baselines/integration_buttonbar_test4b.png  |  Bin 1415 -> 1526 bytes
 .../baselines/integration_buttonbar_test4c.png  |  Bin 1454 -> 1528 bytes
 .../baselines/integration_buttonbar_test5a.png  |  Bin 2598 -> 2804 bytes
 .../baselines/integration_buttonbar_test5b.png  |  Bin 2407 -> 2595 bytes
 .../baselines/integration_buttonbar_test6a.png  |  Bin 2479 -> 2669 bytes
 .../baselines/integration_buttonbar_test6b.png  |  Bin 2476 -> 2666 bytes
 .../baselines/maxWidthHeight_test1.png          |  Bin 1399 -> 1282 bytes
 .../baselines/maxWidthHeight_test2.png          |  Bin 1389 -> 1268 bytes
 .../baselines/maxWidthHeight_test3.png          |  Bin 1228 -> 1114 bytes
 .../baselines/maxWidthHeight_test4.png          |  Bin 1479 -> 1359 bytes
 .../baselines/maxWidthHeight_test5.png          |  Bin 1435 -> 1315 bytes
 .../baselines/maxWidthHeight_test6.png          |  Bin 1213 -> 1097 bytes
 .../integration/baselines/minHeight_test1.png   |  Bin 1962 -> 1842 bytes
 .../integration/baselines/minHeight_test2.png   |  Bin 1419 -> 1295 bytes
 .../integration/baselines/minHeight_test4.png   |  Bin 1213 -> 1099 bytes
 .../integration/baselines/minHeight_test5.png   |  Bin 1417 -> 1314 bytes
 .../integration/baselines/minHeight_test6.png   |  Bin 1417 -> 1314 bytes
 .../integration/baselines/minHeight_test7.png   |  Bin 1417 -> 1314 bytes
 .../integration/baselines/minWidth_test1.png    |  Bin 1962 -> 1842 bytes
 .../integration/baselines/minWidth_test2.png    |  Bin 1591 -> 1468 bytes
 .../integration/baselines/minWidth_test3.png    |  Bin 1490 -> 1358 bytes
 .../integration/baselines/minWidth_test4.png    |  Bin 1231 -> 1113 bytes
 .../integration/baselines/minWidth_test5.png    |  Bin 1254 -> 1139 bytes
 .../integration/baselines/minWidth_test6.png    |  Bin 1254 -> 1139 bytes
 .../integration/baselines/minWidth_test7.png    |  Bin 1254 -> 1139 bytes
 .../baselines/percentWidthHeight_test1.png      |  Bin 1141 -> 1016 bytes
 .../baselines/percentWidthHeight_test2.png      |  Bin 1188 -> 1067 bytes
 .../baselines/percentWidthHeight_test3.png      |  Bin 1188 -> 1067 bytes
 .../virtualization_columns_addItems_after.png   |  Bin 13423 -> 14239 bytes
 ...virtualization_columns_addItems_before_1.png |  Bin 14438 -> 15648 bytes
 ...virtualization_columns_addItems_before_2.png |  Bin 14446 -> 15568 bytes
 .../virtualization_columns_addItems_in.png      |  Bin 13300 -> 14000 bytes
 .../virtualization_columns_addItems_unsized.png |  Bin 13372 -> 14173 bytes
 ...tion_columns_columnAlign_justifyUsingGap.png |  Bin 7103 -> 7278 bytes
 ...on_columns_columnAlign_justifyUsingWidth.png |  Bin 6847 -> 7026 bytes
 .../virtualization_columns_columnAlign_left.png |  Bin 7255 -> 7425 bytes
 ...tualization_columns_columnWidth_bigger_1.png |  Bin 13379 -> 13997 bytes
 ...tualization_columns_columnWidth_bigger_2.png |  Bin 16359 -> 16859 bytes
 ...tualization_columns_columnWidth_bigger_3.png |  Bin 16838 -> 17741 bytes
 ...columns_columnWidth_largerThanViewport_1.png |  Bin 5422 -> 5799 bytes
 ...columns_columnWidth_largerThanViewport_2.png |  Bin 8576 -> 9255 bytes
 ...columns_columnWidth_largerThanViewport_3.png |  Bin 8434 -> 8994 bytes
 ...ualization_columns_columnWidth_smaller_1.png |  Bin 24768 -> 26104 bytes
 ...ualization_columns_columnWidth_smaller_2.png |  Bin 24619 -> 26062 bytes
 ...ualization_columns_columnWidth_smaller_3.png |  Bin 24881 -> 26345 bytes
 ...ualization_columns_dataProvider_integers.png |  Bin 7293 -> 8822 bytes
 ...zation_columns_duplicates_scroll_large_1.png |  Bin 10624 -> 11381 bytes
 ...zation_columns_duplicates_scroll_large_2.png |  Bin 11453 -> 12898 bytes
 ...zation_columns_duplicates_scroll_large_3.png |  Bin 12033 -> 12618 bytes
 ...zation_columns_duplicates_scroll_large_4.png |  Bin 12276 -> 13439 bytes
 ...tion_columns_duplicates_scroll_oneLine_1.png |  Bin 9711 -> 10295 bytes
 ...tion_columns_duplicates_scroll_oneLine_2.png |  Bin 9898 -> 10674 bytes
 ...tion_columns_duplicates_scroll_oneLine_3.png |  Bin 10471 -> 11167 bytes
 ...tion_columns_duplicates_scroll_oneLine_4.png |  Bin 10213 -> 10879 bytes
 ...zation_columns_duplicates_scroll_small_1.png |  Bin 11093 -> 11601 bytes
 ...zation_columns_duplicates_scroll_small_2.png |  Bin 11103 -> 11601 bytes
 ...zation_columns_duplicates_scroll_small_3.png |  Bin 10225 -> 10889 bytes
 ...zation_columns_duplicates_scroll_small_4.png |  Bin 10213 -> 10879 bytes
 .../virtualization_columns_height_bigger.png    |  Bin 29795 -> 29584 bytes
 .../virtualization_columns_height_smaller.png   |  Bin 16835 -> 16986 bytes
 ...alization_columns_horizontalAlign_center.png |  Bin 8204 -> 8440 bytes
 ...lization_columns_horizontalAlign_justify.png |  Bin 8107 -> 8289 bytes
 ...tualization_columns_horizontalAlign_left.png |  Bin 8058 -> 8251 bytes
 ...ualization_columns_horizontalAlign_right.png |  Bin 8072 -> 8265 bytes
 ...virtualization_columns_horizontalGap_0_1.png |  Bin 20055 -> 21449 bytes
 ...virtualization_columns_horizontalGap_0_2.png |  Bin 19456 -> 20418 bytes
 ...virtualization_columns_horizontalGap_0_3.png |  Bin 19412 -> 20591 bytes
 ...rtualization_columns_horizontalGap_106_1.png |  Bin 12281 -> 12904 bytes
 ...rtualization_columns_horizontalGap_106_2.png |  Bin 14542 -> 15756 bytes
 ...rtualization_columns_horizontalGap_106_3.png |  Bin 14861 -> 15960 bytes
 ...ization_columns_identical_scroll_large_1.png |  Bin 18696 -> 19618 bytes
 ...ization_columns_identical_scroll_large_2.png |  Bin 19167 -> 20204 bytes
 ...ization_columns_identical_scroll_large_3.png |  Bin 20036 -> 20711 bytes
 ...ization_columns_identical_scroll_large_4.png |  Bin 19182 -> 20287 bytes
 ...ation_columns_identical_scroll_oneLine_1.png |  Bin 20154 -> 21541 bytes
 ...ation_columns_identical_scroll_oneLine_2.png |  Bin 20185 -> 21557 bytes
 ...ation_columns_identical_scroll_oneLine_3.png |  Bin 18645 -> 19664 bytes
 ...ation_columns_identical_scroll_oneLine_4.png |  Bin 20406 -> 21753 bytes
 ...ization_columns_identical_scroll_small_1.png |  Bin 19881 -> 21047 bytes
 ...ization_columns_identical_scroll_small_2.png |  Bin 18647 -> 19672 bytes
 ...ization_columns_identical_scroll_small_3.png |  Bin 18645 -> 19664 bytes
 ...ization_columns_identical_scroll_small_4.png |  Bin 19881 -> 21047 bytes
 ...tualization_columns_mixed_scroll_large_1.png |  Bin 42840 -> 46761 bytes
 ...tualization_columns_mixed_scroll_large_2.png |  Bin 43523 -> 45797 bytes
 ...tualization_columns_mixed_scroll_large_3.png |  Bin 43909 -> 46736 bytes
 ...tualization_columns_mixed_scroll_large_4.png |  Bin 40908 -> 44014 bytes
 ...alization_columns_mixed_scroll_oneLine_1.png |  Bin 37512 -> 42416 bytes
 ...alization_columns_mixed_scroll_oneLine_2.png |  Bin 35213 -> 39742 bytes
 ...alization_columns_mixed_scroll_oneLine_3.png |  Bin 32837 -> 37270 bytes
 ...alization_columns_mixed_scroll_oneLine_4.png |  Bin 35213 -> 39742 bytes
 ...tualization_columns_mixed_scroll_small_1.png |  Bin 39518 -> 44846 bytes
 ...tualization_columns_mixed_scroll_small_2.png |  Bin 40234 -> 43448 bytes
 ...tualization_columns_mixed_scroll_small_3.png |  Bin 39569 -> 45039 bytes
 ...tualization_columns_mixed_scroll_small_4.png |  Bin 40491 -> 43754 bytes
 ...virtualization_columns_paddingLeft_100_1.png |  Bin 17875 -> 19133 bytes
 ...virtualization_columns_paddingLeft_100_2.png |  Bin 20094 -> 20883 bytes
 ...virtualization_columns_paddingLeft_100_3.png |  Bin 17875 -> 19133 bytes
 ...irtualization_columns_paddingRight_100_1.png |  Bin 19884 -> 21050 bytes
 ...irtualization_columns_paddingRight_100_2.png |  Bin 19084 -> 19959 bytes
 ...irtualization_columns_paddingRight_100_3.png |  Bin 19884 -> 21050 bytes
 ...rtualization_columns_removeItems_after_1.png |  Bin 19884 -> 21050 bytes
 ...rtualization_columns_removeItems_after_2.png |  Bin 19503 -> 20468 bytes
 ...irtualization_columns_removeItems_before.png |  Bin 18744 -> 19799 bytes
 .../virtualization_columns_removeItems_in.png   |  Bin 19860 -> 21045 bytes
 ...tion_columns_requestedColumnCount_2000_1.png |  Bin 7018 -> 7361 bytes
 ...tion_columns_requestedColumnCount_2000_2.png |  Bin 7506 -> 7734 bytes
 ...tion_columns_requestedColumnCount_2000_3.png |  Bin 7498 -> 7727 bytes
 ...ualization_columns_requestedRowCount_0_1.png |  Bin 4078 -> 4116 bytes
 ...ualization_columns_requestedRowCount_0_2.png |  Bin 4286 -> 4325 bytes
 ...ualization_columns_requestedRowCount_0_3.png |  Bin 4287 -> 4333 bytes
 ...alization_columns_requestedRowCount_10_1.png |  Bin 11186 -> 11572 bytes
 ...alization_columns_requestedRowCount_10_2.png |  Bin 11883 -> 12597 bytes
 ...alization_columns_requestedRowCount_10_3.png |  Bin 11862 -> 12640 bytes
 ...ualization_columns_requestedRowCount_1_1.png |  Bin 4078 -> 4116 bytes
 ...ualization_columns_requestedRowCount_1_2.png |  Bin 4286 -> 4325 bytes
 ...ualization_columns_requestedRowCount_1_3.png |  Bin 4287 -> 4333 bytes
 .../baselines/virtualization_columns_rotate.png |  Bin 29984 -> 34017 bytes
 ...ization_columns_rowAlign_justifyUsingGap.png |  Bin 7258 -> 7427 bytes
 ...tion_columns_rowAlign_justifyUsingHeight.png |  Bin 7663 -> 7834 bytes
 .../virtualization_columns_rowAlign_top.png     |  Bin 7255 -> 7425 bytes
 ...irtualization_columns_rowHeight_bigger_1.png |  Bin 8554 -> 8860 bytes
 ...irtualization_columns_rowHeight_bigger_2.png |  Bin 8996 -> 9148 bytes
 ...irtualization_columns_rowHeight_bigger_3.png |  Bin 9085 -> 9129 bytes
 ...n_columns_rowHeight_largerThanViewport_1.png |  Bin 6689 -> 6727 bytes
 ...n_columns_rowHeight_largerThanViewport_2.png |  Bin 6897 -> 6935 bytes
 ...n_columns_rowHeight_largerThanViewport_3.png |  Bin 6903 -> 6955 bytes
 ...rtualization_columns_rowHeight_smaller_1.png |  Bin 35378 -> 38551 bytes
 ...rtualization_columns_rowHeight_smaller_2.png |  Bin 41290 -> 39949 bytes
 ...rtualization_columns_rowHeight_smaller_3.png |  Bin 40602 -> 37963 bytes
 .../virtualization_columns_scroll_specific.png  |  Bin 7214 -> 7476 bytes
 ...irtualization_columns_swapDataProvider_1.png |  Bin 6944 -> 7113 bytes
 ...irtualization_columns_swapDataProvider_2.png |  Bin 7564 -> 7720 bytes
 ...ization_columns_swapDataProvider_smaller.png |  Bin 19223 -> 20559 bytes
 ...irtualization_columns_swapItemRenderer_1.png |  Bin 19844 -> 21000 bytes
 ...irtualization_columns_swapItemRenderer_2.png |  Bin 19056 -> 19925 bytes
 ...ation_columns_toggleUseVirtualLayout_off.png |  Bin 6944 -> 7113 bytes
 ...umns_toggleUseVirtualLayout_off_scrolled.png |  Bin 7386 -> 7524 bytes
 ...zation_columns_toggleUseVirtualLayout_on.png |  Bin 6944 -> 7113 bytes
 ...lumns_toggleUseVirtualLayout_on_scrolled.png |  Bin 7386 -> 7524 bytes
 ...lization_columns_variable_scroll_large_1.png |  Bin 7435 -> 7663 bytes
 ...lization_columns_variable_scroll_large_2.png |  Bin 7621 -> 7649 bytes
 ...lization_columns_variable_scroll_large_3.png |  Bin 7775 -> 7825 bytes
 ...lization_columns_variable_scroll_large_4.png |  Bin 7772 -> 7860 bytes
 ...zation_columns_variable_scroll_oneLine_1.png |  Bin 7134 -> 7369 bytes
 ...zation_columns_variable_scroll_oneLine_2.png |  Bin 7214 -> 7476 bytes
 ...zation_columns_variable_scroll_oneLine_3.png |  Bin 7165 -> 7441 bytes
 ...zation_columns_variable_scroll_oneLine_4.png |  Bin 7172 -> 7408 bytes
 ...lization_columns_variable_scroll_small_1.png |  Bin 6944 -> 7123 bytes
 ...lization_columns_variable_scroll_small_2.png |  Bin 7377 -> 7575 bytes
 ...lization_columns_variable_scroll_small_3.png |  Bin 7440 -> 7663 bytes
 ...lization_columns_variable_scroll_small_4.png |  Bin 7383 -> 7614 bytes
 ...tualization_columns_verticalAlign_bottom.png |  Bin 7287 -> 7671 bytes
 ...ualization_columns_verticalAlign_justify.png |  Bin 7255 -> 7425 bytes
 ...tualization_columns_verticalAlign_middle.png |  Bin 7040 -> 7324 bytes
 ...virtualization_columns_verticalAlign_top.png |  Bin 6672 -> 6841 bytes
 .../virtualization_columns_verticalGap_0_1.png  |  Bin 29266 -> 31342 bytes
 .../virtualization_columns_verticalGap_0_2.png  |  Bin 31391 -> 31933 bytes
 .../virtualization_columns_verticalGap_0_3.png  |  Bin 31051 -> 30606 bytes
 ...virtualization_columns_verticalGap_106_1.png |  Bin 6707 -> 7012 bytes
 ...virtualization_columns_verticalGap_106_2.png |  Bin 7210 -> 7293 bytes
 ...virtualization_columns_verticalGap_106_3.png |  Bin 7287 -> 7325 bytes
 .../virtualization_columns_width_bigger.png     |  Bin 20603 -> 20903 bytes
 .../virtualization_columns_width_smaller.png    |  Bin 16442 -> 17342 bytes
 .../baselines/virtualization_columns_zoom.png   |  Bin 9628 -> 10474 bytes
 .../baselines/virtualization_rows_addItem_0.png |  Bin 11694 -> 12315 bytes
 .../virtualization_rows_addItems_after.png      |  Bin 11353 -> 12070 bytes
 .../virtualization_rows_addItems_before_1.png   |  Bin 11697 -> 12499 bytes
 .../virtualization_rows_addItems_before_2.png   |  Bin 11740 -> 12480 bytes
 .../virtualization_rows_addItems_in.png         |  Bin 11325 -> 12007 bytes
 .../virtualization_rows_addItems_unsized.png    |  Bin 11408 -> 12078 bytes
 ...ization_rows_columnAlign_justifyUsingGap.png |  Bin 7852 -> 8095 bytes
 ...ation_rows_columnAlign_justifyUsingWidth.png |  Bin 7552 -> 7792 bytes
 .../virtualization_rows_columnAlign_left.png    |  Bin 7633 -> 7872 bytes
 ...virtualization_rows_columnWidth_bigger_1.png |  Bin 12286 -> 13145 bytes
 ...virtualization_rows_columnWidth_bigger_2.png |  Bin 14558 -> 15291 bytes
 ...virtualization_rows_columnWidth_bigger_3.png |  Bin 14470 -> 15220 bytes
 ...on_rows_columnWidth_largerThanViewport_1.png |  Bin 5422 -> 5799 bytes
 ...on_rows_columnWidth_largerThanViewport_2.png |  Bin 8311 -> 8963 bytes
 ...on_rows_columnWidth_largerThanViewport_3.png |  Bin 8680 -> 9251 bytes
 ...irtualization_rows_columnWidth_smaller_1.png |  Bin 24820 -> 26101 bytes
 ...irtualization_rows_columnWidth_smaller_2.png |  Bin 27383 -> 27476 bytes
 ...irtualization_rows_columnWidth_smaller_3.png |  Bin 27648 -> 27871 bytes
 ...irtualization_rows_dataProvider_integers.png |  Bin 6203 -> 6834 bytes
 .../virtualization_rows_dataProvider_swap.png   |  Bin 9313 -> 9868 bytes
 ...alization_rows_duplicates_scroll_large_1.png |  Bin 11051 -> 12002 bytes
 ...alization_rows_duplicates_scroll_large_2.png |  Bin 11953 -> 12972 bytes
 ...alization_rows_duplicates_scroll_large_3.png |  Bin 12241 -> 13269 bytes
 ...alization_rows_duplicates_scroll_large_4.png |  Bin 12557 -> 13393 bytes
 ...ization_rows_duplicates_scroll_oneLine_1.png |  Bin 10160 -> 10755 bytes
 ...ization_rows_duplicates_scroll_oneLine_2.png |  Bin 10315 -> 10953 bytes
 ...ization_rows_duplicates_scroll_oneLine_3.png |  Bin 10272 -> 10860 bytes
 ...ization_rows_duplicates_scroll_oneLine_4.png |  Bin 10115 -> 10702 bytes
 ...alization_rows_duplicates_scroll_small_1.png |  Bin 10659 -> 11276 bytes
 ...alization_rows_duplicates_scroll_small_2.png |  Bin 10710 -> 11324 bytes
 ...alization_rows_duplicates_scroll_small_3.png |  Bin 10116 -> 10703 bytes
 ...alization_rows_duplicates_scroll_small_4.png |  Bin 10115 -> 10702 bytes
 .../virtualization_rows_height_bigger.png       |  Bin 23971 -> 24738 bytes
 .../virtualization_rows_height_smaller.png      |  Bin 13841 -> 14288 bytes
 ...rtualization_rows_horizontalAlign_center.png |  Bin 8497 -> 8705 bytes
 ...tualization_rows_horizontalAlign_justify.png |  Bin 8394 -> 8628 bytes
 ...virtualization_rows_horizontalAlign_left.png |  Bin 8155 -> 8397 bytes
 ...irtualization_rows_horizontalAlign_right.png |  Bin 8537 -> 8727 bytes
 .../virtualization_rows_horizontalGap_0_1.png   |  Bin 19626 -> 20912 bytes
 .../virtualization_rows_horizontalGap_0_2.png   |  Bin 21325 -> 21673 bytes
 .../virtualization_rows_horizontalGap_0_3.png   |  Bin 21225 -> 21860 bytes
 .../virtualization_rows_horizontalGap_106_1.png |  Bin 12549 -> 13331 bytes
 .../virtualization_rows_horizontalGap_106_2.png |  Bin 14703 -> 15543 bytes
 .../virtualization_rows_horizontalGap_106_3.png |  Bin 14895 -> 15773 bytes
 ...ualization_rows_identical_scroll_large_1.png |  Bin 20313 -> 20825 bytes
 ...ualization_rows_identical_scroll_large_2.png |  Bin 20621 -> 21364 bytes
 ...ualization_rows_identical_scroll_large_3.png |  Bin 20914 -> 21726 bytes
 ...ualization_rows_identical_scroll_large_4.png |  Bin 20600 -> 21450 bytes
 ...lization_rows_identical_scroll_oneLine_1.png |  Bin 19487 -> 20558 bytes
 ...lization_rows_identical_scroll_oneLine_2.png |  Bin 19486 -> 20558 bytes
 ...lization_rows_identical_scroll_oneLine_3.png |  Bin 20218 -> 20980 bytes
 ...lization_rows_identical_scroll_oneLine_4.png |  Bin 19487 -> 20558 bytes
 ...ualization_rows_identical_scroll_small_1.png |  Bin 19325 -> 20374 bytes
 ...ualization_rows_identical_scroll_small_2.png |  Bin 20178 -> 20991 bytes
 ...ualization_rows_identical_scroll_small_3.png |  Bin 20176 -> 20991 bytes
 ...ualization_rows_identical_scroll_small_4.png |  Bin 19325 -> 20374 bytes
 ...virtualization_rows_mixed_scroll_large_1.png |  Bin 42251 -> 44857 bytes
 ...virtualization_rows_mixed_scroll_large_2.png |  Bin 42590 -> 46245 bytes
 ...virtualization_rows_mixed_scroll_large_3.png |  Bin 35028 -> 37279 bytes
 ...virtualization_rows_mixed_scroll_large_4.png |  Bin 39171 -> 42078 bytes
 ...rtualization_rows_mixed_scroll_oneLine_1.png |  Bin 37478 -> 40838 bytes
 ...rtualization_rows_mixed_scroll_oneLine_2.png |  Bin 37589 -> 40995 bytes
 ...rtualization_rows_mixed_scroll_oneLine_3.png |  Bin 37857 -> 41229 bytes
 ...rtualization_rows_mixed_scroll_oneLine_4.png |  Bin 37589 -> 40995 bytes
 ...virtualization_rows_mixed_scroll_small_1.png |  Bin 37119 -> 40494 bytes
 ...virtualization_rows_mixed_scroll_small_2.png |  Bin 38522 -> 41889 bytes
 ...virtualization_rows_mixed_scroll_small_3.png |  Bin 37124 -> 40495 bytes
 ...virtualization_rows_mixed_scroll_small_4.png |  Bin 39339 -> 42357 bytes
 .../virtualization_rows_paddingBottom_100_1.png |  Bin 19322 -> 20373 bytes
 .../virtualization_rows_paddingBottom_100_2.png |  Bin 17638 -> 18351 bytes
 .../virtualization_rows_paddingBottom_100_3.png |  Bin 19322 -> 20373 bytes
 .../virtualization_rows_paddingTop_100_1.png    |  Bin 16187 -> 17089 bytes
 .../virtualization_rows_paddingTop_100_2.png    |  Bin 20848 -> 21530 bytes
 .../virtualization_rows_paddingTop_100_3.png    |  Bin 16187 -> 17089 bytes
 .../virtualization_rows_removeItems_after_1.png |  Bin 19322 -> 20373 bytes
 .../virtualization_rows_removeItems_after_2.png |  Bin 20670 -> 21494 bytes
 .../virtualization_rows_removeItems_before.png  |  Bin 21044 -> 22217 bytes
 .../virtualization_rows_removeItems_in.png      |  Bin 20328 -> 21545 bytes
 ...ualization_rows_requestedColumnCount_0_1.png |  Bin 5664 -> 6008 bytes
 ...ualization_rows_requestedColumnCount_0_2.png |  Bin 8567 -> 9208 bytes
 ...ualization_rows_requestedColumnCount_0_3.png |  Bin 9003 -> 9531 bytes
 ...ualization_rows_requestedColumnCount_1_1.png |  Bin 5664 -> 6008 bytes
 ...ualization_rows_requestedColumnCount_1_2.png |  Bin 8567 -> 9208 bytes
 ...ualization_rows_requestedColumnCount_1_3.png |  Bin 9003 -> 9531 bytes
 ...alization_rows_requestedColumnCount_20_1.png |  Bin 19814 -> 20799 bytes
 ...alization_rows_requestedColumnCount_20_2.png |  Bin 20684 -> 21354 bytes
 ...alization_rows_requestedColumnCount_20_3.png |  Bin 20839 -> 21572 bytes
 ...ualization_rows_requestedColumnCount_9_1.png |  Bin 19035 -> 20247 bytes
 ...ualization_rows_requestedColumnCount_9_2.png |  Bin 20914 -> 21176 bytes
 ...ualization_rows_requestedColumnCount_9_3.png |  Bin 20913 -> 21472 bytes
 ...irtualization_rows_requestedRowCount_0_1.png |  Bin 4078 -> 4116 bytes
 ...irtualization_rows_requestedRowCount_0_2.png |  Bin 4286 -> 4325 bytes
 ...irtualization_rows_requestedRowCount_0_3.png |  Bin 4287 -> 4333 bytes
 ...ualization_rows_requestedRowCount_1000_1.png |  Bin 19322 -> 20373 bytes
 ...ualization_rows_requestedRowCount_1000_2.png |  Bin 20971 -> 22901 bytes
 ...ualization_rows_requestedRowCount_1000_3.png |  Bin 21270 -> 23429 bytes
 ...rtualization_rows_requestedRowCount_10_1.png |  Bin 11995 -> 12430 bytes
 ...rtualization_rows_requestedRowCount_10_2.png |  Bin 12146 -> 12438 bytes
 ...rtualization_rows_requestedRowCount_10_3.png |  Bin 12158 -> 12510 bytes
 ...irtualization_rows_requestedRowCount_1_1.png |  Bin 4078 -> 4116 bytes
 ...irtualization_rows_requestedRowCount_1_2.png |  Bin 4286 -> 4325 bytes
 ...irtualization_rows_requestedRowCount_1_3.png |  Bin 4287 -> 4333 bytes
 .../baselines/virtualization_rows_rotate.png    |  Bin 27769 -> 31184 bytes
 ...ualization_rows_rowAlign_justifyUsingGap.png |  Bin 6913 -> 7081 bytes
 ...ization_rows_rowAlign_justifyUsingHeight.png |  Bin 7333 -> 7503 bytes
 .../virtualization_rows_rowAlign_top.png        |  Bin 7633 -> 7872 bytes
 .../virtualization_rows_rowHeight_bigger_1.png  |  Bin 9378 -> 9730 bytes
 .../virtualization_rows_rowHeight_bigger_2.png  |  Bin 9972 -> 10079 bytes
 .../virtualization_rows_rowHeight_bigger_3.png  |  Bin 9283 -> 9536 bytes
 ...tion_rows_rowHeight_largerThanViewport_1.png |  Bin 6689 -> 6727 bytes
 ...tion_rows_rowHeight_largerThanViewport_2.png |  Bin 6886 -> 6940 bytes
 ...tion_rows_rowHeight_largerThanViewport_3.png |  Bin 6899 -> 6867 bytes
 .../virtualization_rows_rowHeight_smaller_1.png |  Bin 26964 -> 28578 bytes
 .../virtualization_rows_rowHeight_smaller_2.png |  Bin 28462 -> 29565 bytes
 .../virtualization_rows_rowHeight_smaller_3.png |  Bin 29130 -> 29851 bytes
 .../virtualization_rows_scrollNegative.png      |  Bin 12984 -> 13744 bytes
 .../virtualization_rows_scroll_specific.png     |  Bin 7599 -> 7876 bytes
 .../virtualization_rows_swapDataProvider_1.png  |  Bin 7462 -> 7688 bytes
 .../virtualization_rows_swapDataProvider_2.png  |  Bin 7837 -> 8058 bytes
 ...ualization_rows_swapDataProvider_smaller.png |  Bin 16107 -> 17222 bytes
 .../virtualization_rows_swapItemRenderer_1.png  |  Bin 19290 -> 20343 bytes
 .../virtualization_rows_swapItemRenderer_2.png  |  Bin 20390 -> 21153 bytes
 ...lization_rows_toggleUseVirtualLayout_off.png |  Bin 7462 -> 7688 bytes
 ...rows_toggleUseVirtualLayout_off_scrolled.png |  Bin 7809 -> 8030 bytes
 ...alization_rows_toggleUseVirtualLayout_on.png |  Bin 7462 -> 7688 bytes
 ..._rows_toggleUseVirtualLayout_on_scrolled.png |  Bin 7809 -> 8030 bytes
 ...tualization_rows_variable_scroll_large_1.png |  Bin 7715 -> 7999 bytes
 ...tualization_rows_variable_scroll_large_2.png |  Bin 8180 -> 8335 bytes
 ...tualization_rows_variable_scroll_large_3.png |  Bin 8254 -> 8326 bytes
 ...tualization_rows_variable_scroll_large_4.png |  Bin 8147 -> 8251 bytes
 ...alization_rows_variable_scroll_oneLine_1.png |  Bin 7555 -> 7790 bytes
 ...alization_rows_variable_scroll_oneLine_2.png |  Bin 7599 -> 7876 bytes
 ...alization_rows_variable_scroll_oneLine_3.png |  Bin 7623 -> 7900 bytes
 ...alization_rows_variable_scroll_oneLine_4.png |  Bin 7531 -> 7765 bytes
 ...tualization_rows_variable_scroll_small_1.png |  Bin 7462 -> 7690 bytes
 ...tualization_rows_variable_scroll_small_2.png |  Bin 7807 -> 8055 bytes
 ...tualization_rows_variable_scroll_small_3.png |  Bin 7803 -> 8055 bytes
 ...tualization_rows_variable_scroll_small_4.png |  Bin 7806 -> 8059 bytes
 ...virtualization_rows_verticalAlign_bottom.png |  Bin 7452 -> 7836 bytes
 ...irtualization_rows_verticalAlign_justify.png |  Bin 7633 -> 7872 bytes
 ...virtualization_rows_verticalAlign_middle.png |  Bin 7271 -> 7538 bytes
 .../virtualization_rows_verticalAlign_top.png   |  Bin 6931 -> 7163 bytes
 .../virtualization_rows_verticalGap_0_1.png     |  Bin 23191 -> 24253 bytes
 .../virtualization_rows_verticalGap_0_2.png     |  Bin 24480 -> 25232 bytes
 .../virtualization_rows_verticalGap_0_3.png     |  Bin 24783 -> 25485 bytes
 .../virtualization_rows_verticalGap_106_1.png   |  Bin 6615 -> 6894 bytes
 .../virtualization_rows_verticalGap_106_2.png   |  Bin 7196 -> 7314 bytes
 .../virtualization_rows_verticalGap_106_3.png   |  Bin 7236 -> 7349 bytes
 .../virtualization_rows_width_bigger.png        |  Bin 22379 -> 22898 bytes
 .../virtualization_rows_width_smaller.png       |  Bin 16633 -> 17266 bytes
 .../baselines/virtualization_rows_zoom.png      |  Bin 9252 -> 9937 bytes
 .../baselines/widthHeight_basic_test1.png       |  Bin 1253 -> 1139 bytes
 .../widthHeight_elementXXAlign_test1.png        |  Bin 1747 -> 1622 bytes
 .../widthHeight_elementXXAlign_test2.png        |  Bin 1498 -> 1377 bytes
 .../baselines/widthHeight_percent_test1.png     |  Bin 1747 -> 1622 bytes
 .../baselines/widthHeight_percent_test2.png     |  Bin 1498 -> 1377 bytes
 .../widthHeight_rowColumnLimits_test1.png       |  Bin 920 -> 813 bytes
 .../widthHeight_rowColumnLimits_test2.png       |  Bin 1188 -> 1067 bytes
 .../properties/TileLayout_elementXXAlign.mxml   |    2 +-
 .../properties/TileLayout_heightwidth.mxml      |   24 +-
 .../properties/TileLayout_horizontalGap.mxml    |   10 +-
 .../properties/TileLayout_justifyColumns.mxml   |   58 +-
 .../properties/TileLayout_justifyRows.mxml      |   58 +-
 ...leLayout_rowCountColumnCount_changeData.mxml |    8 +-
 ...out_rowCountColumnCount_changeGroupSize.mxml |    4 +-
 .../properties/TileLayout_verticalGap.mxml      |   14 +-
 .../properties/baselines/XXAlign_test1.png      |  Bin 1411 -> 1292 bytes
 .../properties/baselines/XXAlign_test10.png     |  Bin 1411 -> 1294 bytes
 .../properties/baselines/XXAlign_test11.png     |  Bin 1412 -> 1295 bytes
 .../properties/baselines/XXAlign_test12.png     |  Bin 1609 -> 1480 bytes
 .../properties/baselines/XXAlign_test13.png     |  Bin 1925 -> 1800 bytes
 .../properties/baselines/XXAlign_test14.png     |  Bin 1920 -> 1800 bytes
 .../properties/baselines/XXAlign_test15.png     |  Bin 1920 -> 1802 bytes
 .../properties/baselines/XXAlign_test16.png     |  Bin 2188 -> 2063 bytes
 .../properties/baselines/XXAlign_test2.png      |  Bin 1406 -> 1293 bytes
 .../properties/baselines/XXAlign_test3.png      |  Bin 1411 -> 1298 bytes
 .../properties/baselines/XXAlign_test4.png      |  Bin 1609 -> 1481 bytes
 .../properties/baselines/XXAlign_test5.png      |  Bin 1764 -> 1293 bytes
 .../properties/baselines/XXAlign_test6.png      |  Bin 1409 -> 1293 bytes
 .../properties/baselines/XXAlign_test7.png      |  Bin 1412 -> 1295 bytes
 .../properties/baselines/XXAlign_test8.png      |  Bin 1607 -> 1480 bytes
 .../properties/baselines/XXAlign_test9.png      |  Bin 1410 -> 1294 bytes
 .../baselines/columnAlign_left_test5a.png       |  Bin 1187 -> 1141 bytes
 .../properties/baselines/columnWidth_test6.png  |  Bin 1500 -> 1390 bytes
 .../baselines/horizontalAlign_test10.png        |  Bin 1404 -> 1276 bytes
 .../baselines/horizontalAlign_test11.png        |  Bin 1404 -> 1276 bytes
 .../baselines/horizontalAlign_test12.png        |  Bin 1404 -> 1276 bytes
 .../baselines/horizontalAlign_test13.png        |  Bin 1404 -> 1276 bytes
 .../baselines/horizontalAlign_test14.png        |  Bin 1458 -> 1333 bytes
 .../baselines/horizontalAlign_test15.png        |  Bin 1455 -> 1335 bytes
 .../baselines/horizontalAlign_test16.png        |  Bin 1461 -> 1337 bytes
 .../baselines/horizontalAlign_test17.png        |  Bin 1660 -> 1538 bytes
 .../baselines/horizontalAlign_test18.png        |  Bin 1429 -> 1300 bytes
 .../baselines/horizontalAlign_test19.png        |  Bin 1457 -> 1328 bytes
 .../baselines/horizontalAlign_test2.png         |  Bin 1458 -> 1333 bytes
 .../baselines/horizontalAlign_test20.png        |  Bin 1458 -> 1329 bytes
 .../baselines/horizontalAlign_test21.png        |  Bin 1550 -> 1416 bytes
 .../baselines/horizontalAlign_test3.png         |  Bin 1455 -> 1335 bytes
 .../baselines/horizontalAlign_test4.png         |  Bin 1461 -> 1337 bytes
 .../baselines/horizontalAlign_test5.png         |  Bin 1660 -> 1538 bytes
 .../baselines/horizontalAlign_test6.png         |  Bin 1431 -> 1302 bytes
 .../baselines/horizontalAlign_test7.png         |  Bin 1431 -> 1302 bytes
 .../baselines/horizontalAlign_test8.png         |  Bin 1431 -> 1302 bytes
 .../baselines/horizontalAlign_test9.png         |  Bin 1431 -> 1302 bytes
 .../baselines/horizontalGap_test11d.png         |  Bin 913 -> 799 bytes
 .../baselines/horizontalGap_test12b.png         |  Bin 844 -> 732 bytes
 .../baselines/horizontalGap_test13.png          |  Bin 753 -> 644 bytes
 .../baselines/horizontalGap_test14.png          |  Bin 1410 -> 1276 bytes
 .../baselines/horizontalGap_test15.png          |  Bin 1336 -> 1207 bytes
 .../baselines/orientation_deleteItem_test1.png  |  Bin 826 -> 699 bytes
 .../baselines/orientation_deleteItem_test2.png  |  Bin 834 -> 724 bytes
 .../orientation_layoutSwitch_test3.png          |  Bin 837 -> 729 bytes
 .../orientation_layoutSwitch_test4.png          |  Bin 846 -> 721 bytes
 .../orientation_layoutSwitch_test5.png          |  Bin 1301 -> 1179 bytes
 .../orientation_layoutSwitch_test6.png          |  Bin 1295 -> 1182 bytes
 .../orientation_layoutSwitch_test7.png          |  Bin 1483 -> 1354 bytes
 .../orientation_layoutSwitch_test8.png          |  Bin 1468 -> 1324 bytes
 .../baselines/orientation_layout_test3.png      |  Bin 839 -> 730 bytes
 .../baselines/orientation_layout_test4.png      |  Bin 848 -> 725 bytes
 .../baselines/orientation_layout_test5.png      |  Bin 1295 -> 1182 bytes
 .../baselines/orientation_layout_test6.png      |  Bin 1301 -> 1179 bytes
 .../baselines/orientation_layout_test7.png      |  Bin 1468 -> 1324 bytes
 .../baselines/orientation_layout_test8.png      |  Bin 1483 -> 1354 bytes
 .../baselines/rowAlign_top_test5a.png           |  Bin 1140 -> 1088 bytes
 ...rowCountColumnCount_addRemoveData_test10.png |  Bin 1592 -> 1446 bytes
 ...rowCountColumnCount_addRemoveData_test21.png |  Bin 2468 -> 2328 bytes
 ...rowCountColumnCount_addRemoveData_test22.png |  Bin 1912 -> 1784 bytes
 ...rowCountColumnCount_addRemoveData_test23.png |  Bin 2100 -> 1974 bytes
 ...rowCountColumnCount_addRemoveData_test24.png |  Bin 1637 -> 1523 bytes
 ...rowCountColumnCount_addRemoveData_test26.png |  Bin 1298 -> 1188 bytes
 ...rowCountColumnCount_addRemoveData_test27.png |  Bin 2049 -> 1933 bytes
 ...rowCountColumnCount_addRemoveData_test28.png |  Bin 2014 -> 1892 bytes
 .../rowCountColumnCount_addRemoveData_test3.png |  Bin 781 -> 672 bytes
 ...rowCountColumnCount_addRemoveData_test30.png |  Bin 1379 -> 1250 bytes
 ...rowCountColumnCount_addRemoveData_test31.png |  Bin 2166 -> 2031 bytes
 ...rowCountColumnCount_addRemoveData_test35.png |  Bin 1298 -> 1188 bytes
 ...rowCountColumnCount_addRemoveData_test36.png |  Bin 2049 -> 1933 bytes
 ...rowCountColumnCount_addRemoveData_test39.png |  Bin 1379 -> 1250 bytes
 .../rowCountColumnCount_addRemoveData_test4.png |  Bin 1253 -> 1139 bytes
 ...rowCountColumnCount_addRemoveData_test40.png |  Bin 2166 -> 2031 bytes
 ...rowCountColumnCount_addRemoveData_test41.png |  Bin 2076 -> 1940 bytes
 .../rowCountColumnCount_addRemoveData_test5.png |  Bin 1333 -> 1197 bytes
 .../rowCountColumnCount_addRemoveData_test6.png |  Bin 1387 -> 1237 bytes
 .../rowCountColumnCount_addRemoveData_test7.png |  Bin 1514 -> 1361 bytes
 .../rowCountColumnCount_addRemoveData_test8.png |  Bin 1663 -> 1504 bytes
 .../rowCountColumnCount_addRemoveData_test9.png |  Bin 1662 -> 1508 bytes
 ...olumnCount_changeColWidthRowHeight_test1.png |  Bin 1456 -> 1327 bytes
 ...olumnCount_changeColWidthRowHeight_test2.png |  Bin 1657 -> 1535 bytes
 ...olumnCount_changeColWidthRowHeight_test3.png |  Bin 683 -> 578 bytes
 ...olumnCount_changeColWidthRowHeight_test4.png |  Bin 3392 -> 3101 bytes
 ...olumnCount_changeColWidthRowHeight_test5.png |  Bin 5528 -> 5363 bytes
 ...ountColumnCount_changeElementSize_test10.png |  Bin 2793 -> 2557 bytes
 ...ountColumnCount_changeElementSize_test16.png |  Bin 1263 -> 1144 bytes
 ...ountColumnCount_changeElementSize_test17.png |  Bin 1354 -> 1246 bytes
 ...ountColumnCount_changeElementSize_test18.png |  Bin 1570 -> 1444 bytes
 ...ountColumnCount_changeElementSize_test19.png |  Bin 1697 -> 1579 bytes
 ...ountColumnCount_changeElementSize_test20.png |  Bin 1652 -> 1528 bytes
 ...ountColumnCount_changeElementSize_test21.png |  Bin 2789 -> 2553 bytes
 ...CountColumnCount_changeElementSize_test5.png |  Bin 1262 -> 1148 bytes
 ...CountColumnCount_changeElementSize_test6.png |  Bin 1354 -> 1246 bytes
 ...CountColumnCount_changeElementSize_test7.png |  Bin 1556 -> 1430 bytes
 ...CountColumnCount_changeElementSize_test9.png |  Bin 1641 -> 1514 bytes
 .../rowCountColumnCount_changeGapSize_test4.png |  Bin 5592 -> 5320 bytes
 ...owCountColumnCount_changeGroupSize_test1.png |  Bin 2349 -> 2220 bytes
 ...wCountColumnCount_changeGroupSize_test10.png |  Bin 2994 -> 2871 bytes
 ...owCountColumnCount_changeGroupSize_test2.png |  Bin 2172 -> 2047 bytes
 ...owCountColumnCount_changeGroupSize_test4.png |  Bin 1385 -> 1255 bytes
 ...owCountColumnCount_changeGroupSize_test5.png |  Bin 2836 -> 2678 bytes
 ...owCountColumnCount_changeGroupSize_test6.png |  Bin 3260 -> 3113 bytes
 ...owCountColumnCount_changeGroupSize_test7.png |  Bin 1476 -> 1324 bytes
 ...owCountColumnCount_changeGroupSize_test9.png |  Bin 1305 -> 1192 bytes
 ...lumnCount_changeRowCountColmnCount_test1.png |  Bin 1309 -> 1177 bytes
 ...umnCount_changeRowCountColmnCount_test10.png |  Bin 1252 -> 1121 bytes
 ...lumnCount_changeRowCountColmnCount_test2.png |  Bin 1200 -> 1083 bytes
 ...lumnCount_changeRowCountColmnCount_test3.png |  Bin 1200 -> 1083 bytes
 ...lumnCount_changeRowCountColmnCount_test4.png |  Bin 1311 -> 1197 bytes
 ...lumnCount_changeRowCountColmnCount_test5.png |  Bin 1252 -> 1121 bytes
 ...lumnCount_changeRowCountColmnCount_test6.png |  Bin 1331 -> 1206 bytes
 ...lumnCount_changeRowCountColmnCount_test7.png |  Bin 1200 -> 1083 bytes
 ...lumnCount_changeRowCountColmnCount_test8.png |  Bin 1200 -> 1083 bytes
 ...lumnCount_changeRowCountColmnCount_test9.png |  Bin 1301 -> 1187 bytes
 ...wCountColumnCount_orientation_cols_test1.png |  Bin 1639 -> 1487 bytes
 ...CountColumnCount_orientation_cols_test10.png |  Bin 1664 -> 1535 bytes
 ...CountColumnCount_orientation_cols_test11.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_cols_test12.png |  Bin 1444 -> 1305 bytes
 ...CountColumnCount_orientation_cols_test13.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_cols_test14.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_cols_test15.png |  Bin 1680 -> 1540 bytes
 ...CountColumnCount_orientation_cols_test16.png |  Bin 1639 -> 1487 bytes
 ...CountColumnCount_orientation_cols_test17.png |  Bin 1682 -> 1532 bytes
 ...CountColumnCount_orientation_cols_test18.png |  Bin 1597 -> 1460 bytes
 ...CountColumnCount_orientation_cols_test19.png |  Bin 1646 -> 1517 bytes
 ...wCountColumnCount_orientation_cols_test2.png |  Bin 1496 -> 1356 bytes
 ...CountColumnCount_orientation_cols_test20.png |  Bin 1677 -> 1539 bytes
 ...CountColumnCount_orientation_cols_test21.png |  Bin 1715 -> 1584 bytes
 ...CountColumnCount_orientation_cols_test22.png |  Bin 1496 -> 1356 bytes
 ...CountColumnCount_orientation_cols_test23.png |  Bin 1523 -> 1380 bytes
 ...CountColumnCount_orientation_cols_test24.png |  Bin 1288 -> 1176 bytes
 ...wCountColumnCount_orientation_cols_test3.png |  Bin 1496 -> 1356 bytes
 ...wCountColumnCount_orientation_cols_test4.png |  Bin 1597 -> 1460 bytes
 ...wCountColumnCount_orientation_cols_test5.png |  Bin 1639 -> 1487 bytes
 ...wCountColumnCount_orientation_cols_test6.png |  Bin 1661 -> 1536 bytes
 ...wCountColumnCount_orientation_cols_test7.png |  Bin 1680 -> 1540 bytes
 ...wCountColumnCount_orientation_cols_test8.png |  Bin 1741 -> 1602 bytes
 ...wCountColumnCount_orientation_cols_test9.png |  Bin 1738 -> 1606 bytes
 ...wCountColumnCount_orientation_rows_test1.png |  Bin 1654 -> 1500 bytes
 ...CountColumnCount_orientation_rows_test10.png |  Bin 1643 -> 1502 bytes
 ...CountColumnCount_orientation_rows_test11.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_rows_test12.png |  Bin 1444 -> 1305 bytes
 ...CountColumnCount_orientation_rows_test13.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_rows_test14.png |  Bin 1426 -> 1289 bytes
 ...CountColumnCount_orientation_rows_test15.png |  Bin 1522 -> 1378 bytes
 ...CountColumnCount_orientation_rows_test16.png |  Bin 1654 -> 1500 bytes
 ...CountColumnCount_orientation_rows_test17.png |  Bin 1572 -> 1423 bytes
 ...CountColumnCount_orientation_rows_test18.png |  Bin 1585 -> 1450 bytes
 ...CountColumnCount_orientation_rows_test19.png |  Bin 1639 -> 1498 bytes
 ...wCountColumnCount_orientation_rows_test2.png |  Bin 1496 -> 1356 bytes
 ...CountColumnCount_orientation_rows_test20.png |  Bin 1662 -> 1518 bytes
 ...CountColumnCount_orientation_rows_test21.png |  Bin 1633 -> 1487 bytes
 ...CountColumnCount_orientation_rows_test22.png |  Bin 1496 -> 1356 bytes
 ...CountColumnCount_orientation_rows_test23.png |  Bin 1523 -> 1380 bytes
 ...CountColumnCount_orientation_rows_test24.png |  Bin 1284 -> 1167 bytes
 ...wCountColumnCount_orientation_rows_test3.png |  Bin 1496 -> 1356 bytes
 ...wCountColumnCount_orientation_rows_test4.png |  Bin 1585 -> 1450 bytes
 ...wCountColumnCount_orientation_rows_test5.png |  Bin 1654 -> 1500 bytes
 ...wCountColumnCount_orientation_rows_test6.png |  Bin 1722 -> 1569 bytes
 ...wCountColumnCount_orientation_rows_test7.png |  Bin 1522 -> 1378 bytes
 ...wCountColumnCount_orientation_rows_test8.png |  Bin 1564 -> 1421 bytes
 ...wCountColumnCount_orientation_rows_test9.png |  Bin 1605 -> 1464 bytes
 ...ountColumnCount_orientation_switch_test1.png |  Bin 781 -> 672 bytes
 ...ountColumnCount_orientation_switch_test2.png |  Bin 780 -> 669 bytes
 .../properties/baselines/rowHeight_test6.png    |  Bin 1500 -> 1390 bytes
 .../baselines/verticalAlign_test10.png          |  Bin 1230 -> 1105 bytes
 .../baselines/verticalAlign_test11.png          |  Bin 1230 -> 1105 bytes
 .../baselines/verticalAlign_test12.png          |  Bin 1230 -> 1105 bytes
 .../baselines/verticalAlign_test13.png          |  Bin 1230 -> 1105 bytes
 .../baselines/verticalAlign_test14.png          |  Bin 1417 -> 1287 bytes
 .../baselines/verticalAlign_test15.png          |  Bin 1417 -> 1303 bytes
 .../baselines/verticalAlign_test16.png          |  Bin 1414 -> 1306 bytes
 .../baselines/verticalAlign_test17.png          |  Bin 1957 -> 1824 bytes
 .../baselines/verticalAlign_test18.png          |  Bin 1415 -> 1288 bytes
 .../baselines/verticalAlign_test19.png          |  Bin 1416 -> 1301 bytes
 .../baselines/verticalAlign_test2.png           |  Bin 1417 -> 1287 bytes
 .../baselines/verticalAlign_test20.png          |  Bin 1415 -> 1307 bytes
 .../baselines/verticalAlign_test21.png          |  Bin 1612 -> 1479 bytes
 .../baselines/verticalAlign_test3.png           |  Bin 1417 -> 1303 bytes
 .../baselines/verticalAlign_test4.png           |  Bin 1414 -> 1306 bytes
 .../baselines/verticalAlign_test5.png           |  Bin 1957 -> 1824 bytes
 .../baselines/verticalAlign_test6.png           |  Bin 1417 -> 1288 bytes
 .../baselines/verticalAlign_test7.png           |  Bin 1417 -> 1288 bytes
 .../baselines/verticalAlign_test8.png           |  Bin 1417 -> 1288 bytes
 .../baselines/verticalAlign_test9.png           |  Bin 1417 -> 1288 bytes
 .../baselines/verticalGap_test12b.png           |  Bin 809 -> 700 bytes
 .../properties/baselines/verticalGap_test13.png |  Bin 767 -> 646 bytes
 .../properties/baselines/verticalGap_test14.png |  Bin 1426 -> 1275 bytes
 .../properties/baselines/verticalGap_test15.png |  Bin 1373 -> 1229 bytes
 .../properties/baselines/widthheight_test10.png |  Bin 1317 -> 1170 bytes
 .../properties/baselines/widthheight_test11.png |  Bin 1333 -> 1197 bytes
 .../properties/baselines/widthheight_test13.png |  Bin 1390 -> 1261 bytes
 .../properties/baselines/widthheight_test14.png |  Bin 1251 -> 1120 bytes
 .../properties/baselines/widthheight_test15.png |  Bin 1334 -> 1214 bytes
 .../properties/baselines/widthheight_test17.png |  Bin 1411 -> 1257 bytes
 .../properties/baselines/widthheight_test18.png |  Bin 1317 -> 1170 bytes
 .../properties/baselines/widthheight_test19.png |  Bin 1334 -> 1214 bytes
 .../properties/baselines/widthheight_test2.png  |  Bin 1289 -> 1153 bytes
 .../properties/baselines/widthheight_test21.png |  Bin 1390 -> 1261 bytes
 .../properties/baselines/widthheight_test22.png |  Bin 1251 -> 1120 bytes
 .../properties/baselines/widthheight_test23.png |  Bin 1317 -> 1170 bytes
 .../properties/baselines/widthheight_test24.png |  Bin 1300 -> 1186 bytes
 .../properties/baselines/widthheight_test25.png |  Bin 1417 -> 1272 bytes
 .../properties/baselines/widthheight_test30.png |  Bin 2328 -> 2206 bytes
 .../properties/baselines/widthheight_test31.png |  Bin 1345 -> 1194 bytes
 .../properties/baselines/widthheight_test32.png |  Bin 2439 -> 2313 bytes
 .../properties/baselines/widthheight_test33.png |  Bin 2407 -> 2281 bytes
 .../properties/baselines/widthheight_test36.png |  Bin 3141 -> 3017 bytes
 .../properties/baselines/widthheight_test46.png |  Bin 1406 -> 1270 bytes
 .../properties/baselines/widthheight_test47.png |  Bin 1387 -> 1237 bytes
 .../properties/baselines/widthheight_test48.png |  Bin 1440 -> 1292 bytes
 .../properties/baselines/widthheight_test49.png |  Bin 1405 -> 1254 bytes
 .../properties/baselines/widthheight_test52.png |  Bin 1868 -> 1607 bytes
 .../properties/baselines/widthheight_test53.png |  Bin 1662 -> 1508 bytes
 .../properties/baselines/widthheight_test54.png |  Bin 1415 -> 1265 bytes
 .../properties/baselines/widthheight_test55.png |  Bin 1387 -> 1237 bytes
 .../properties/baselines/widthheight_test56.png |  Bin 1528 -> 1366 bytes
 .../properties/baselines/widthheight_test6.png  |  Bin 1222 -> 1105 bytes
 .../properties/baselines/widthheight_test60.png |  Bin 2594 -> 2449 bytes
 .../properties/baselines/widthheight_test61.png |  Bin 1864 -> 1728 bytes
 ...equestedMaxRowCount_greaterThan_children.png |  Bin 17088 -> 18742 bytes
 ...p_requestedMaxRowCount_lessthan_children.png |  Bin 913 -> 913 bytes
 ...equestedMaxRowCount_requestedMinRowCount.png |  Bin 1164 -> 1166 bytes
 .../VLayout_Container_properties_tester.mxml    |  140 +-
 ...VLayout_Container_properties_tester_mac.mxml | 2691 ----------
 .../VLayout_Group_properties_tester.mxml        |  284 +-
 .../VLayout_Group_properties_tester_mac.mxml    | 3130 ------------
 .../VLayout_Panel_properties_tester.mxml        |  427 +-
 .../VLayout_Panel_properties_tester_mac.mxml    | 2819 -----------
 ...VLayout_container_horizontalAlign_center.png |  Bin 26991 -> 23266 bytes
 ...horizontalAlign_center_to_contentJustify.png |  Bin 25658 -> 25966 bytes
 ...ign_center_to_contentJustify_change_text.png |  Bin 6464 -> 6388 bytes
 ...tainer_horizontalAlign_center_to_justify.png |  Bin 25658 -> 25966 bytes
 ...ontalAlign_center_to_justify_change_text.png |  Bin 6464 -> 6388 bytes
 ...container_horizontalAlign_center_to_left.png |  Bin 25629 -> 25495 bytes
 ...ontainer_horizontalAlign_center_to_right.png |  Bin 27655 -> 23772 bytes
 ...izontalAlign_center_to_right_change_text.png |  Bin 7189 -> 7055 bytes
 ...container_horizontalAlign_contentJustify.png |  Bin 25804 -> 25611 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 25312 -> 21464 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 25865 -> 25756 bytes
 ...talAlign_contentJustify_text_percent_100.png |  Bin 25865 -> 25756 bytes
 ...ntalAlign_contentJustify_text_percent_50.png |  Bin 25865 -> 25756 bytes
 ...r_horizontalAlign_contentJustify_to_left.png |  Bin 9526 -> 10774 bytes
 ...Align_contentJustify_to_left_change_text.png |  Bin 7417 -> 7828 bytes
 ..._horizontalAlign_contentJustify_to_right.png |  Bin 9596 -> 10922 bytes
 ...lign_contentJustify_to_right_change_text.png |  Bin 7533 -> 8000 bytes
 ...Layout_container_horizontalAlign_justify.png |  Bin 25928 -> 25780 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 26329 -> 21561 bytes
 ...ntalAlign_justify_childWidth_less_parent.png |  Bin 25865 -> 25756 bytes
 ...lign_justify_childWidth_text_percent_100.png |  Bin 25865 -> 25756 bytes
 ...Align_justify_childWidth_text_percent_70.png |  Bin 25865 -> 25756 bytes
 ...ntainer_horizontalAlign_justify_to_right.png |  Bin 10341 -> 11028 bytes
 .../VLayout_container_horizontalAlign_left.png  |  Bin 26931 -> 23135 bytes
 ...er_horizontalAlign_left_text_percent_100.png |  Bin 25629 -> 25495 bytes
 ...ner_horizontalAlign_left_text_percent_50.png |  Bin 27844 -> 23409 bytes
 .../VLayout_container_horizontalAlign_right.png |  Bin 27158 -> 23184 bytes
 ...r_horizontalAlign_right_text_percent_100.png |  Bin 25735 -> 25601 bytes
 ...er_horizontalAlign_right_text_percent_50.png |  Bin 27837 -> 23442 bytes
 ...owHeight_default_variableRowHeight_false.png |  Bin 4992 -> 4417 bytes
 ...ableRowHeight_false_typicalLayoutElement.png |  Bin 9214 -> 7848 bytes
 ...ight_typicalLayoutElement_GraphicElement.png |  Bin 9337 -> 7968 bytes
 ...wHeight_typicalLayoutElement_UIComponent.png |  Bin 5037 -> 4460 bytes
 ...ut_container_rowHeight_variableRowHeight.png |  Bin 26121 -> 25567 bytes
 ...tainer_rowHeight_variableRowHeight_false.png |  Bin 13977 -> 11918 bytes
 ...container_scroll_horizontalAlign_justify.png |  Bin 15867 -> 13336 bytes
 ...out_container_scroll_requestedRowCount_4.png |  Bin 27431 -> 26668 bytes
 ..._scroll_requestedRowCount_change_runtime.png |  Bin 27193 -> 26473 bytes
 ...scroll_requestedRowCount_default_fit_all.png |  Bin 26121 -> 25567 bytes
 ...r_scroll_requestedRowCount_explicit_size.png |  Bin 3892 -> 3672 bytes
 .../VLayout_group_horizontalAlign_center.png    |  Bin 22096 -> 23266 bytes
 ...ign_center_to_contentJustify_change_text.png |  Bin 5944 -> 6388 bytes
 ...ontalAlign_center_to_justify_change_text.png |  Bin 5944 -> 6388 bytes
 ...out_group_horizontalAlign_center_to_left.png |  Bin 23819 -> 25495 bytes
 ...rizontalAlign_center_to_left_change_text.png |  Bin 5961 -> 6356 bytes
 ...izontalAlign_center_to_right_change_text.png |  Bin 6377 -> 7055 bytes
 .../VLayout_group_horizontalAlign_left.png      |  Bin 21987 -> 23135 bytes
 ...up_horizontalAlign_left_text_percent_100.png |  Bin 23819 -> 25495 bytes
 ...owHeight_default_variableRowHeight_false.png |  Bin 4305 -> 4417 bytes
 ...ableRowHeight_false_typicalLayoutElement.png |  Bin 7659 -> 7848 bytes
 ...ight_typicalLayoutElement_GraphicElement.png |  Bin 7776 -> 7968 bytes
 ...wHeight_typicalLayoutElement_UIComponent.png |  Bin 4349 -> 4460 bytes
 ..._group_rowHeight_variableRowHeight_false.png |  Bin 11266 -> 11918 bytes
 ...out_group_scroll_horizontalAlign_justify.png |  Bin 12786 -> 13335 bytes
 ...p_scroll_requestedRowCount_explicit_size.png |  Bin 3675 -> 3670 bytes
 ...nableScrolling_child_percent_greaterThan.png |  Bin 2457 -> 0 bytes
 ...ndEnableScrolling_child_percent_lessThan.png |  Bin 2231 -> 0 bytes
 ...c_container_clipAndEnableScrolling_false.png |  Bin 1967 -> 0 bytes
 ...ableScrolling_parent_false_children_true.png |  Bin 2962 -> 0 bytes
 ...ableScrolling_parent_true_children_false.png |  Bin 1691 -> 0 bytes
 ...ac_container_clipAndEnableScrolling_true.png |  Bin 2039 -> 0 bytes
 ...ner_clipAndEnableScrolling_true_scroller.png |  Bin 3244 -> 0 bytes
 ...VLayout_mac_container_gap_change_runtime.png |  Bin 1871 -> 0 bytes
 .../VLayout_mac_container_gap_negative.png      |  Bin 1837 -> 0 bytes
 .../VLayout_mac_container_gap_positive.png      |  Bin 1870 -> 0 bytes
 ...out_mac_container_horizontalAlign_center.png |  Bin 26991 -> 0 bytes
 ...horizontalAlign_center_to_contentJustify.png |  Bin 25658 -> 0 bytes
 ...ign_center_to_contentJustify_change_text.png |  Bin 6464 -> 0 bytes
 ...tainer_horizontalAlign_center_to_justify.png |  Bin 25658 -> 0 bytes
 ...ontalAlign_center_to_justify_change_text.png |  Bin 6464 -> 0 bytes
 ...container_horizontalAlign_center_to_left.png |  Bin 25629 -> 0 bytes
 ...rizontalAlign_center_to_left_change_text.png |  Bin 6027 -> 0 bytes
 ...ontainer_horizontalAlign_center_to_right.png |  Bin 27655 -> 0 bytes
 ...izontalAlign_center_to_right_change_text.png |  Bin 7189 -> 0 bytes
 ...container_horizontalAlign_contentJustify.png |  Bin 25804 -> 0 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 25312 -> 0 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 25865 -> 0 bytes
 ...talAlign_contentJustify_text_percent_100.png |  Bin 25865 -> 0 bytes
 ...ntalAlign_contentJustify_text_percent_50.png |  Bin 25865 -> 0 bytes
 ...r_horizontalAlign_contentJustify_to_left.png |  Bin 9526 -> 0 bytes
 ...Align_contentJustify_to_left_change_text.png |  Bin 7417 -> 0 bytes
 ..._horizontalAlign_contentJustify_to_right.png |  Bin 9596 -> 0 bytes
 ...lign_contentJustify_to_right_change_text.png |  Bin 7533 -> 0 bytes
 ...ut_mac_container_horizontalAlign_justify.png |  Bin 25928 -> 0 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 26329 -> 0 bytes
 ...ntalAlign_justify_childWidth_less_parent.png |  Bin 25865 -> 0 bytes
 ...lign_justify_childWidth_text_percent_100.png |  Bin 25865 -> 0 bytes
 ...Align_justify_childWidth_text_percent_70.png |  Bin 25865 -> 0 bytes
 ...ontainer_horizontalAlign_justify_to_left.png |  Bin 10073 -> 0 bytes
 ...izontalAlign_justify_to_left_change_text.png |  Bin 7477 -> 0 bytes
 ...ntainer_horizontalAlign_justify_to_right.png |  Bin 10341 -> 0 bytes
 ...zontalAlign_justify_to_right_change_text.png |  Bin 7619 -> 0 bytes
 ...ayout_mac_container_horizontalAlign_left.png |  Bin 26931 -> 0 bytes
 ...er_horizontalAlign_left_text_percent_100.png |  Bin 25629 -> 0 bytes
 ...ner_horizontalAlign_left_text_percent_50.png |  Bin 27844 -> 0 bytes
 ...yout_mac_container_horizontalAlign_right.png |  Bin 27158 -> 0 bytes
 ...r_horizontalAlign_right_text_percent_100.png |  Bin 25735 -> 0 bytes
 ...er_horizontalAlign_right_text_percent_50.png |  Bin 27837 -> 0 bytes
 ...out_mac_container_paddingBottom_negative.png |  Bin 1875 -> 0 bytes
 ..._container_paddingBottom_negative_scroll.png |  Bin 1852 -> 0 bytes
 ...out_mac_container_paddingBottom_positive.png |  Bin 1875 -> 0 bytes
 ..._container_paddingBottom_positive_scroll.png |  Bin 2539 -> 0 bytes
 ...ayout_mac_container_paddingLeft_negative.png |  Bin 1833 -> 0 bytes
 ...ac_container_paddingLeft_negative_scroll.png |  Bin 2545 -> 0 bytes
 ...ayout_mac_container_paddingLeft_positive.png |  Bin 1923 -> 0 bytes
 ...ac_container_paddingLeft_positive_scroll.png |  Bin 2995 -> 0 bytes
 ...yout_mac_container_paddingRight_negative.png |  Bin 1875 -> 0 bytes
 ...c_container_paddingRight_negative_scroll.png |  Bin 2556 -> 0 bytes
 ...yout_mac_container_paddingRight_positive.png |  Bin 1875 -> 0 bytes
 ...c_container_paddingRight_positive_scroll.png |  Bin 2995 -> 0 bytes
 ...Layout_mac_container_paddingTop_negative.png |  Bin 1837 -> 0 bytes
 ...mac_container_paddingTop_negative_scroll.png |  Bin 1837 -> 0 bytes
 ...Layout_mac_container_paddingTop_positive.png |  Bin 1880 -> 0 bytes
 ...mac_container_paddingTop_positive_scroll.png |  Bin 2489 -> 0 bytes
 ...owHeight_default_variableRowHeight_false.png |  Bin 4992 -> 0 bytes
 ...ableRowHeight_false_typicalLayoutElement.png |  Bin 9214 -> 0 bytes
 ...ight_typicalLayoutElement_GraphicElement.png |  Bin 9337 -> 0 bytes
 ...wHeight_typicalLayoutElement_UIComponent.png |  Bin 5037 -> 0 bytes
 ...ac_container_rowHeight_variableRowHeight.png |  Bin 26121 -> 0 bytes
 ...tainer_rowHeight_variableRowHeight_false.png |  Bin 13977 -> 0 bytes
 ...container_scroll_horizontalAlign_justify.png |  Bin 15867 -> 0 bytes
 ...r_scroll_horizontalAlign_justify_to_left.png |  Bin 6286 -> 0 bytes
 ...mac_container_scroll_requestedRowCount_4.png |  Bin 27431 -> 0 bytes
 ..._scroll_requestedRowCount_change_runtime.png |  Bin 27193 -> 0 bytes
 ...scroll_requestedRowCount_default_fit_all.png |  Bin 26121 -> 0 bytes
 ...r_scroll_requestedRowCount_explicit_size.png |  Bin 3892 -> 0 bytes
 ...l_requestedRowCount_greaterThan_children.png |  Bin 1933 -> 0 bytes
 ...nableScrolling_child_percent_greaterThan.png |  Bin 2457 -> 0 bytes
 ...ndEnableScrolling_child_percent_lessThan.png |  Bin 2231 -> 0 bytes
 ...t_mac_group_clipAndEnableScrolling_false.png |  Bin 1967 -> 0 bytes
 ...ableScrolling_parent_false_children_true.png |  Bin 2970 -> 0 bytes
 ...ableScrolling_parent_true_children_false.png |  Bin 1691 -> 0 bytes
 ...ut_mac_group_clipAndEnableScrolling_true.png |  Bin 2039 -> 0 bytes
 ...oup_clipAndEnableScrolling_true_scroller.png |  Bin 3244 -> 0 bytes
 ...exInView_spark_all_includeInLayout_false.png |  Bin 1758 -> 0 bytes
 .../VLayout_mac_group_gap_change_runtime.png    |  Bin 1871 -> 0 bytes
 .../VLayout_mac_group_gap_negative.png          |  Bin 1837 -> 0 bytes
 .../VLayout_mac_group_gap_positive.png          |  Bin 1870 -> 0 bytes
 ...VLayout_mac_group_horizontalAlign_center.png |  Bin 22096 -> 0 bytes
 ...horizontalAlign_center_to_contentJustify.png |  Bin 25120 -> 0 bytes
 ...ign_center_to_contentJustify_change_text.png |  Bin 5944 -> 0 bytes
 ..._group_horizontalAlign_center_to_justify.png |  Bin 25120 -> 0 bytes
 ...ontalAlign_center_to_justify_change_text.png |  Bin 5944 -> 0 bytes
 ...mac_group_horizontalAlign_center_to_left.png |  Bin 23819 -> 0 bytes
 ...rizontalAlign_center_to_left_change_text.png |  Bin 5961 -> 0 bytes
 ...ac_group_horizontalAlign_center_to_right.png |  Bin 23590 -> 0 bytes
 ...izontalAlign_center_to_right_change_text.png |  Bin 6377 -> 0 bytes
 ...mac_group_horizontalAlign_contentJustify.png |  Bin 25148 -> 0 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 21559 -> 0 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 25236 -> 0 bytes
 ...talAlign_contentJustify_text_percent_100.png |  Bin 25236 -> 0 bytes
 ...ntalAlign_contentJustify_text_percent_50.png |  Bin 25236 -> 0 bytes
 ...p_horizontalAlign_contentJustify_to_left.png |  Bin 10497 -> 0 bytes
 ...Align_contentJustify_to_left_change_text.png |  Bin 7293 -> 0 bytes
 ..._horizontalAlign_contentJustify_to_right.png |  Bin 10617 -> 0 bytes
 ...lign_contentJustify_to_right_change_text.png |  Bin 7444 -> 0 bytes
 ...Layout_mac_group_horizontalAlign_justify.png |  Bin 25259 -> 0 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 22132 -> 0 bytes
 ...ntalAlign_justify_childWidth_less_parent.png |  Bin 25236 -> 0 bytes
 ...lign_justify_childWidth_text_percent_100.png |  Bin 25236 -> 0 bytes
 ...Align_justify_childWidth_text_percent_70.png |  Bin 25236 -> 0 bytes
 ...ac_group_horizontalAlign_justify_to_left.png |  Bin 10073 -> 0 bytes
 ...izontalAlign_justify_to_left_change_text.png |  Bin 7475 -> 0 bytes
 ...c_group_horizontalAlign_justify_to_right.png |  Bin 10183 -> 0 bytes
 ...zontalAlign_justify_to_right_change_text.png |  Bin 7617 -> 0 bytes
 .../VLayout_mac_group_horizontalAlign_left.png  |  Bin 21987 -> 0 bytes
 ...up_horizontalAlign_left_text_percent_100.png |  Bin 23819 -> 0 bytes
 ...oup_horizontalAlign_left_text_percent_50.png |  Bin 23622 -> 0 bytes
 .../VLayout_mac_group_horizontalAlign_right.png |  Bin 23080 -> 0 bytes
 ...p_horizontalAlign_right_text_percent_100.png |  Bin 25134 -> 0 bytes
 ...up_horizontalAlign_right_text_percent_50.png |  Bin 23613 -> 0 bytes
 ...VLayout_mac_group_paddingBottom_negative.png |  Bin 1875 -> 0 bytes
 ..._mac_group_paddingBottom_negative_scroll.png |  Bin 1852 -> 0 bytes
 ...VLayout_mac_group_paddingBottom_positive.png |  Bin 1875 -> 0 bytes
 ..._mac_group_paddingBottom_positive_scroll.png |  Bin 2540 -> 0 bytes
 .../VLayout_mac_group_paddingLeft_negative.png  |  Bin 1833 -> 0 bytes
 ...ut_mac_group_paddingLeft_negative_scroll.png |  Bin 2545 -> 0 bytes
 .../VLayout_mac_group_paddingLeft_positive.png  |  Bin 1923 -> 0 bytes
 ...ut_mac_group_paddingLeft_positive_scroll.png |  Bin 3073 -> 0 bytes
 .../VLayout_mac_group_paddingRight_negative.png |  Bin 1875 -> 0 bytes
 ...t_mac_group_paddingRight_negative_scroll.png |  Bin 2556 -> 0 bytes
 .../VLayout_mac_group_paddingRight_positive.png |  Bin 1875 -> 0 bytes
 ...t_mac_group_paddingRight_positive_scroll.png |  Bin 3073 -> 0 bytes
 .../VLayout_mac_group_paddingTop_negative.png   |  Bin 1837 -> 0 bytes
 ...out_mac_group_paddingTop_negative_scroll.png |  Bin 1837 -> 0 bytes
 .../VLayout_mac_group_paddingTop_positive.png   |  Bin 1880 -> 0 bytes
 ...out_mac_group_paddingTop_positive_scroll.png |  Bin 2489 -> 0 bytes
 ...owHeight_default_variableRowHeight_false.png |  Bin 4305 -> 0 bytes
 ...ableRowHeight_false_typicalLayoutElement.png |  Bin 7659 -> 0 bytes
 ...ight_typicalLayoutElement_GraphicElement.png |  Bin 7776 -> 0 bytes
 ...wHeight_typicalLayoutElement_UIComponent.png |  Bin 4349 -> 0 bytes
 ...ut_mac_group_rowHeight_variableRowHeight.png |  Bin 24402 -> 0 bytes
 ..._group_rowHeight_variableRowHeight_false.png |  Bin 11266 -> 0 bytes
 ...mac_group_scroll_horizontalAlign_justify.png |  Bin 12786 -> 0 bytes
 ...p_scroll_horizontalAlign_justify_to_left.png |  Bin 6286 -> 0 bytes
 ...out_mac_group_scroll_requestedRowCount_4.png |  Bin 19549 -> 0 bytes
 ..._scroll_requestedRowCount_change_runtime.png |  Bin 26202 -> 0 bytes
 ...scroll_requestedRowCount_default_fit_all.png |  Bin 24404 -> 0 bytes
 ...p_scroll_requestedRowCount_explicit_size.png |  Bin 3675 -> 0 bytes
 ...l_requestedRowCount_greaterThan_children.png |  Bin 1933 -> 0 bytes
 ...nableScrolling_child_percent_greaterThan.png |  Bin 4066 -> 0 bytes
 ...ndEnableScrolling_child_percent_lessThan.png |  Bin 4314 -> 0 bytes
 ...t_mac_panel_clipAndEnableScrolling_false.png |  Bin 3544 -> 0 bytes
 ...ableScrolling_parent_false_children_true.png |  Bin 4309 -> 0 bytes
 ...ableScrolling_parent_true_children_false.png |  Bin 1835 -> 0 bytes
 ...ut_mac_panel_clipAndEnableScrolling_true.png |  Bin 3585 -> 0 bytes
 ...nel_clipAndEnableScrolling_true_scroller.png |  Bin 4763 -> 0 bytes
 .../VLayout_mac_panel_gap_change_runtime.png    |  Bin 3679 -> 0 bytes
 .../VLayout_mac_panel_gap_negative.png          |  Bin 3487 -> 0 bytes
 .../VLayout_mac_panel_gap_positive.png          |  Bin 3618 -> 0 bytes
 ...VLayout_mac_panel_horizontalAlign_center.png |  Bin 26828 -> 0 bytes
 ...horizontalAlign_center_to_contentJustify.png |  Bin 31675 -> 0 bytes
 ...ign_center_to_contentJustify_change_text.png |  Bin 8544 -> 0 bytes
 ..._panel_horizontalAlign_center_to_justify.png |  Bin 31675 -> 0 bytes
 ...ontalAlign_center_to_justify_change_text.png |  Bin 8544 -> 0 bytes
 ...mac_panel_horizontalAlign_center_to_left.png |  Bin 31495 -> 0 bytes
 ...rizontalAlign_center_to_left_change_text.png |  Bin 8570 -> 0 bytes
 ...ac_panel_horizontalAlign_center_to_right.png |  Bin 26930 -> 0 bytes
 ...izontalAlign_center_to_right_change_text.png |  Bin 8927 -> 0 bytes
 ...mac_panel_horizontalAlign_contentJustify.png |  Bin 32435 -> 0 bytes
 ...contentJustify_childWidth_greater_parent.png |  Bin 21293 -> 0 bytes
 ...gn_contentJustify_childWidth_less_parent.png |  Bin 31535 -> 0 bytes
 ...talAlign_contentJustify_text_percent_100.png |  Bin 31535 -> 0 bytes
 ...ntalAlign_contentJustify_text_percent_50.png |  Bin 31535 -> 0 bytes
 ...l_horizontalAlign_contentJustify_to_left.png |  Bin 13707 -> 0 bytes
 ...Align_contentJustify_to_left_change_text.png |  Bin 10311 -> 0 bytes
 ..._horizontalAlign_contentJustify_to_right.png |  Bin 13801 -> 0 bytes
 ...lign_contentJustify_to_right_change_text.png |  Bin 10405 -> 0 bytes
 ...Layout_mac_panel_horizontalAlign_justify.png |  Bin 32271 -> 0 bytes
 ...lAlign_justify_childWidth_greater_parent.png |  Bin 21671 -> 0 bytes
 ...ntalAlign_justify_childWidth_less_parent.png |  Bin 31535 -> 0 bytes
 ...lign_justify_childWidth_text_percent_100.png |  Bin 31535 -> 0 bytes
 ...Align_justify_childWidth_text_percent_70.png |  Bin 31535 -> 0 bytes
 ...ac_panel_horizontalAlign_justify_to_left.png |  Bin 13420 -> 0 bytes
 ...izontalAlign_justify_to_left_change_text.png |  Bin 10403 -> 0 bytes
 ...c_panel_horizontalAlign_justify_to_right.png |  Bin 13507 -> 0 bytes
 ...zontalAlign_justify_to_right_change_text.png |  Bin 10484 -> 0 bytes
 .../VLayout_mac_panel_horizontalAlign_left.png  |  Bin 26826 -> 0 bytes
 ...el_horizontalAlign_left_text_percent_100.png |  Bin 31495 -> 0 bytes
 ...nel_horizontalAlign_left_text_percent_50.png |  Bin 27330 -> 0 bytes
 .../VLayout_mac_panel_horizontalAlign_right.png |  Bin 26950 -> 0 bytes
 ...l_horizontalAlign_right_text_percent_100.png |  Bin 31512 -> 0 bytes
 ...el_horizontalAlign_right_text_percent_50.png |  Bin 27169 -> 0 bytes
 ...VLayout_mac_panel_paddingBottom_negative.png |  Bin 3597 -> 0 bytes
 ..._mac_panel_paddingBottom_negative_scroll.png |  Bin 3947 -> 0 bytes
 ...VLayout_mac_panel_paddingBottom_positive.png |  Bin 3599 -> 0 bytes
 ..._mac_panel_paddingBottom_positive_scroll.png |  Bin 3901 -> 0 bytes
 .../VLayout_mac_panel_paddingLeft_negative.png  |  Bin 3545 -> 0 bytes
 ...ut_mac_panel_paddingLeft_negative_scroll.png |  Bin 3938 -> 0 bytes
 .../VLayout_mac_panel_paddingLeft_positive.png  |  Bin 3553 -> 0 bytes
 ...ut_mac_panel_paddingLeft_positive_scroll.png |  Bin 4362 -> 0 bytes
 .../VLayout_mac_panel_paddingRight_negative.png |  Bin 3554 -> 0 bytes
 ...t_mac_panel_paddingRight_negative_scroll.png |  Bin 3936 -> 0 bytes
 .../VLayout_mac_panel_paddingRight_positive.png |  Bin 3554 -> 0 bytes
 ...t_mac_panel_paddingRight_positive_scroll.png |  Bin 4373 -> 0 bytes
 .../VLayout_mac_panel_paddingTop_negative.png   |  Bin 3504 -> 0 bytes
 ...out_mac_panel_paddingTop_negative_scroll.png |  Bin 3925 -> 0 bytes
 .../VLayout_mac_panel_paddingTop_positive.png   |  Bin 3599 -> 0 bytes
 ...out_mac_panel_paddingTop_positive_scroll.png |  Bin 3900 -> 0 bytes
 ...owHeight_default_variableRowHeight_false.png |  Bin 5530 -> 0 bytes
 ...ableRowHeight_false_typicalLayoutElement.png |  Bin 8595 -> 0 bytes
 ...ight_typicalLayoutElement_GraphicElement.png |  Bin 8791 -> 0 bytes
 ...wHeight_typicalLayoutElement_UIComponent.png |  Bin 5603 -> 0 bytes
 ...ut_mac_panel_rowHeight_variableRowHeight.png |  Bin 21697 -> 0 bytes
 ..._panel_rowHeight_variableRowHeight_false.png |  Bin 11772 -> 0 bytes
 ...mac_panel_scroll_horizontalAlign_justify.png |  Bin 9675 -> 0 bytes
 ...l_scroll_horizontalAlign_justify_to_left.png |  Bin 5787 -> 0 bytes
 ...out_mac_panel_scroll_requestedRowCount_4.png |  Bin 22217 -> 0 bytes
 ..._scroll_requestedRowCount_change_runtime.png |  Bin 22711 -> 0 bytes
 ...scroll_requestedRowCount_default_fit_all.png |  Bin 21697 -> 0 bytes
 ...l_scroll_requestedRowCount_explicit_size.png |  Bin 4372 -> 0 bytes
 ...l_requestedRowCount_greaterThan_children.png |  Bin 3663 -> 0 bytes
 ...nel_clipAndEnableScrolling_true_scroller.png |  Bin 3480 -> 4763 bytes
 .../SWFs/VerticalLayout_Container_main.mxml     |   86 +-
 .../SWFs/VerticalLayout_Container_main_mac.mxml |  122 -
 .../SWFs/VerticalLayout_Group_main.mxml         |    6 +-
 .../SWFs/VerticalLayout_Group_main_mac.mxml     |  128 -
 .../SWFs/VerticalLayout_Panel_main.mxml         |   96 +-
 .../SWFs/VerticalLayout_Panel_main_mac.mxml     |  125 -
 .../layoutUIC/swfs/LayoutUIC_main.compile       |    2 +-
 .../baselines/Layout3D_wheel_create.png         |  Bin 9540 -> 8286 bytes
 .../baselines/Layout3D_wheel_page_right.png     |  Bin 9061 -> 8053 bytes
 .../baselines/Layout3D_wheel_page_right2.png    |  Bin 9642 -> 8343 bytes
 .../Layout3D_wheel_page_right2_mac.png          |  Bin 9642 -> 0 bytes
 .../integration/layout3D_wheel_tester.mxml      |   24 +-
 ...D_method_offsets_rotation_iconRenderer_1.png |  Bin 2763 -> 2842 bytes
 ...3D_method_transformAround_iconRenderer_0.png |  Bin 3495 -> 3383 bytes
 ...3D_method_transformAround_iconRenderer_1.png |  Bin 4195 -> 4113 bytes
 ...3D_method_transformAround_iconRenderer_2.png |  Bin 4081 -> 4213 bytes
 ...3D_method_transformAround_iconRenderer_3.png |  Bin 3579 -> 3648 bytes
 ...3D_method_transformAround_iconRenderer_4.png |  Bin 3471 -> 3481 bytes
 .../Layout3D_method_transformAround_icons1.png  |  Bin 8445 -> 8560 bytes
 ...yout3D_method_transformAround_icons1_mac.png |  Bin 8445 -> 0 bytes
 ..._transformAround_icons1_offsets_rotation.png |  Bin 19189 -> 14850 bytes
 ...nsformAround_icons1_offsets_rotation@mac.png |  Bin 14572 -> 0 bytes
 .../Layout3D_method_transformAround_icons2.png  |  Bin 16076 -> 12227 bytes
 ...yout3D_method_transformAround_icons2@mac.png |  Bin 12399 -> 0 bytes
 ..._transformAround_icons2_offsets_rotation.png |  Bin 22714 -> 22792 bytes
 ...nsformAround_icons2_offsets_rotation_mac.png |  Bin 22714 -> 0 bytes
 .../Layout3D_method_transformAround_icons_0.png |  Bin 3402 -> 3313 bytes
 ...out3D_method_transformAround_icons_0_mac.png |  Bin 3402 -> 0 bytes
 ...d_transformAround_icons_offsets_rotation.png |  Bin 14750 -> 14801 bytes
 ...ansformAround_icons_offsets_rotation_mac.png |  Bin 14750 -> 0 bytes
 .../Layout3D_method_transformAround_r3_mac.png  |  Bin 1727 -> 0 bytes
 ...3D_method_transformAround_r3_offsets_mac.png |  Bin 1721 -> 0 bytes
 .../methods/layout3D_methods_tester_basic.mxml  |   37 +-
 .../listIcons_layout3D_methods_tester.mxml      |   85 +-
 ..._offsets_rotation_scale_transform_bitmap.png |  Bin 2699 -> 2661 bytes
 ...offsets_rotation_scale_transform_bitmap1.png |  Bin 3072 -> 2985 bytes
 ...offsets_rotation_scale_transform_bitmap2.png |  Bin 3281 -> 3708 bytes
 ...on_scale_transform_bitmap_layoutMatrix3D.png |  Bin 3945 -> 5047 bytes
 ...erty_offsets_rotation_scale_transform_e1.png |  Bin 5789 -> 5744 bytes
 ...tation_scale_transform_e1_layoutMatrix3D.png |  Bin 5908 -> 5848 bytes
 ...erty_offsets_rotation_scale_transform_e2.png |  Bin 4637 -> 4610 bytes
 ..._offsets_rotation_scale_transform_e2@win.png |  Bin 0 -> 4605 bytes
 ...tation_scale_transform_e2_layoutMatrix3D.png |  Bin 5639 -> 5533 bytes
 ...on_scale_transform_e2_layoutMatrix3D@win.png |  Bin 0 -> 5532 bytes
 ...on_scale_transform_e2_layoutMatrix3D_mac.png |  Bin 5639 -> 0 bytes
 ..._offsets_rotation_scale_transform_e2_mac.png |  Bin 4637 -> 0 bytes
 ...erty_offsets_rotation_scale_transform_e3.png |  Bin 5074 -> 5065 bytes
 ...tation_scale_transform_e3_layoutMatrix3D.png |  Bin 6022 -> 6019 bytes
 ...n_scale_transform_layoutMatrix3D_bitmap5.png |  Bin 3641 -> 3565 bytes
 ...n_scale_transform_layoutMatrix3D_bitmap6.png |  Bin 2654 -> 2609 bytes
 ...ut3D_property_offsets_rotation_scale_xyz.png |  Bin 5694 -> 5597 bytes
 ..._property_offsets_rotation_scale_xyz@win.png |  Bin 0 -> 5581 bytes
 ...operty_offsets_rotation_scale_xyz_bitmap.png |  Bin 1842 -> 1992 bytes
 ...ffsets_rotation_scale_xyz_layoutMatrix3D.png |  Bin 9688 -> 9570 bytes
 ...ts_rotation_scale_xyz_layoutMatrix3D@win.png |  Bin 0 -> 9564 bytes
 ...rotation_scale_xyz_layoutMatrix3D_bitmap.png |  Bin 4297 -> 4386 bytes
 ...ts_rotation_scale_xyz_layoutMatrix3D_mac.png |  Bin 9688 -> 0 bytes
 ..._property_offsets_rotation_scale_xyz_mac.png |  Bin 5694 -> 0 bytes
 .../Graphics_Layout3D_property_offsets_x.png    |  Bin 4417 -> 4414 bytes
 ...phics_Layout3D_property_offsets_x_bitmap.png |  Bin 2696 -> 2669 bytes
 ...yout3D_property_offsets_x_layoutMatrix3D.png |  Bin 4695 -> 4703 bytes
 ...property_offsets_x_layoutMatrix3D_bitmap.png |  Bin 2939 -> 2903 bytes
 .../Graphics_Layout3D_property_offsets_xy.png   |  Bin 4174 -> 4124 bytes
 ...hics_Layout3D_property_offsets_xy_bitmap.png |  Bin 2779 -> 2495 bytes
 ...out3D_property_offsets_xy_layoutMatrix3D.png |  Bin 4357 -> 4383 bytes
 ...roperty_offsets_xy_layoutMatrix3D_bitmap.png |  Bin 2806 -> 2518 bytes
 .../Graphics_Layout3D_property_offsets_xyz.png  |  Bin 5184 -> 5177 bytes
 ...ics_Layout3D_property_offsets_xyz_bitmap.png |  Bin 3261 -> 3206 bytes
 ...ut3D_property_offsets_xyz_layoutMatrix3D.png |  Bin 4979 -> 4971 bytes
 ...operty_offsets_xyz_layoutMatrix3D_bitmap.png |  Bin 3052 -> 2994 bytes
 ..._property_offsets_xyz_rotation_scale_xyz.png |  Bin 3907 -> 3872 bytes
 ...ty_offsets_xyz_rotation_scale_xyz_bitmap.png |  Bin 2710 -> 2915 bytes
 ...ts_xyz_rotation_scale_xyz_layoutMatrix3D.png |  Bin 8281 -> 8046 bytes
 ...yz_rotation_scale_xyz_layoutMatrix3D@win.png |  Bin 0 -> 8040 bytes
 ...rotation_scale_xyz_layoutMatrix3D_bitmap.png |  Bin 4150 -> 4396 bytes
 ...yz_rotation_scale_xyz_layoutMatrix3D_mac.png |  Bin 8281 -> 0 bytes
 ...yout3D_property_offsets_xyz_rotation_xyz.png |  Bin 3681 -> 3630 bytes
 ...property_offsets_xyz_rotation_xyz_bitmap.png |  Bin 2278 -> 2333 bytes
 ..._offsets_xyz_rotation_xyz_layoutMatrix3D.png |  Bin 10499 -> 10306 bytes
 ...sets_xyz_rotation_xyz_layoutMatrix3D@win.png |  Bin 0 -> 10306 bytes
 ...s_xyz_rotation_xyz_layoutMatrix3D_bitmap.png |  Bin 4211 -> 4417 bytes
 ...sets_xyz_rotation_xyz_layoutMatrix3D_mac.png |  Bin 10499 -> 0 bytes
 .../Graphics_Layout3D_property_z_sdk-20353.png  |  Bin 3595 -> 3860 bytes
 ...3D_property_itemRenderer_icon_rotation_1.png |  Bin 3087 -> 3148 bytes
 ...mRenderer_icon_rotation_1_layoutMatrix3D.png |  Bin 3087 -> 3148 bytes
 ...derer_icon_rotation_1_layoutMatrix3D_mac.png |  Bin 3087 -> 0 bytes
 ...3D_property_itemRenderer_icon_rotation_2.png |  Bin 2200 -> 2288 bytes
 ...property_itemRenderer_offsets_rotation_1.png |  Bin 2940 -> 3016 bytes
 ...nderer_offsets_rotation_1_layoutMatrix3D.png |  Bin 2940 -> 3016 bytes
 ...er_offsets_rotation_1_layoutMatrix3D_mac.png |  Bin 2940 -> 0 bytes
 ...rty_itemRenderer_offsets_rotation_scale1.png |  Bin 3523 -> 3688 bytes
 ...r_offsets_rotation_scale1_layoutMatrix3D.png |  Bin 3523 -> 3688 bytes
 ...rty_itemRenderer_offsets_rotation_scale2.png |  Bin 3052 -> 3122 bytes
 ...r_offsets_rotation_scale2_layoutMatrix3D.png |  Bin 3052 -> 3122 bytes
 ...rty_itemRenderer_offsets_rotation_scale3.png |  Bin 3368 -> 3397 bytes
 ...r_offsets_rotation_scale3_layoutMatrix3D.png |  Bin 3368 -> 3397 bytes
 ...rty_itemRenderer_offsets_rotation_scale4.png |  Bin 4156 -> 4272 bytes
 ...r_offsets_rotation_scale4_layoutMatrix3D.png |  Bin 4156 -> 4272 bytes
 ...rty_itemRenderer_offsets_rotation_scale5.png |  Bin 2816 -> 2941 bytes
 ...r_offsets_rotation_scale5_layoutMatrix3D.png |  Bin 2816 -> 2941 bytes
 ...operty_itemRenderer_reset_layoutMatrix3D.png |  Bin 2239 -> 2339 bytes
 .../Layout3D_property_layer_FxList_bottom.png   |  Bin 2024 -> 2093 bytes
 .../Layout3D_property_layer_FxList_top.png      |  Bin 2443 -> 2107 bytes
 ...3D_property_layer_graphics_EllipseBottom.png |  Bin 4449 -> 4448 bytes
 ...out3D_property_layer_graphics_LineBottom.png |  Bin 4237 -> 4235 bytes
 ...yout3D_property_layer_graphics_ListIcons.png |  Bin 5160 -> 4429 bytes
 ...t3D_property_layer_graphics_ListIconsTop.png |  Bin 2005 -> 2093 bytes
 ...Layout3D_property_layer_graphics_PathTop.png |  Bin 4274 -> 4204 bytes
 ..._property_maintainProjectionCenter_false.png |  Bin 3605 -> 3728 bytes
 ...aintainProjectionCenter_false_icon_scale.png |  Bin 3468 -> 3534 bytes
 ...onCenter_false_icon_scale_layoutMatrix3D.png |  Bin 3468 -> 3534 bytes
 ...ainProjectionCenter_false_layoutMatrix3D.png |  Bin 3605 -> 3728 bytes
 ...D_property_maintainProjectionCenter_true.png |  Bin 3641 -> 3771 bytes
 ...maintainProjectionCenter_true_icon_scale.png |  Bin 4727 -> 4613 bytes
 ...tainProjectionCenter_true_layoutMatrix3D.png |  Bin 3641 -> 3771 bytes
 ...on_scale_transform_e3_layoutMatrix3D_mac.png |  Bin 2323 -> 0 bytes
 ..._property_offsets_rotation_scale_xyz_mac.png |  Bin 2088 -> 0 bytes
 ...perty_offsets_xyz_rotation_scale_xyz_mac.png |  Bin 2305 -> 0 bytes
 ...sets_xyz_rotation_xyz_layoutMatrix3D_mac.png |  Bin 1989 -> 0 bytes
 ..._Layout3D_property_layer_addItem_layer-1.png |  Bin 5721 -> 4705 bytes
 ..._Layout3D_property_layer_addItem_layer-2.png |  Bin 5675 -> 4687 bytes
 ...s_Layout3D_property_layer_addItem_layer0.png |  Bin 5635 -> 4707 bytes
 ...s_Layout3D_property_layer_addItem_layer1.png |  Bin 6859 -> 5102 bytes
 ...s_Layout3D_property_layer_addItem_layer3.png |  Bin 6859 -> 5102 bytes
 ...ns_Layout3D_property_offsets_rotation360.png |  Bin 5738 -> 5510 bytes
 ..._property_offsets_rotationX_scaleX_layer.png |  Bin 6020 -> 6043 bytes
 ...yout3D_property_offsets_rotationZ_scaleY.png |  Bin 3967 -> 3868 bytes
 ...yout3D_property_offsets_rotationZ_scaleZ.png |  Bin 7386 -> 7369 bytes
 ...yout3D_property_offsets_rotation_scale_x.png |  Bin 3706 -> 3794 bytes
 ...ttons_Layout3D_property_offsets_scale_xy.png |  Bin 4629 -> 4624 bytes
 ...tons_Layout3D_property_offsets_scale_xyz.png |  Bin 4829 -> 4840 bytes
 .../ListButtons_Layout3D_property_offsets_x.png |  Bin 3987 -> 3791 bytes
 ...yout3D_property_offsets_xyz_rotation_xyz.png |  Bin 7199 -> 6899 bytes
 ...stButtons_Layout3D_property_rotation-360.png |  Bin 5487 -> 5190 bytes
 ...istIcons_Layout3D_property_offsets_x_mac.png |  Bin 8522 -> 0 bytes
 ...stIcons_Layout3D_property_offsets_xy_mac.png |  Bin 15411 -> 0 bytes
 .../ListIcons_Layout3D_property_offsets_xyz.png |  Bin 6828 -> 6779 bytes
 ...tIcons_Layout3D_property_offsets_xyz_mac.png |  Bin 8730 -> 0 bytes
 ...t3D_property_offsets_rotation-360_scaleZ.png |  Bin 3487 -> 3577 bytes
 ...ut3D_property_offsets_rotation360_scaleZ.png |  Bin 3197 -> 3312 bytes
 ...roperty_offsets_rotationX30_scaleX_layer.png |  Bin 3355 -> 3492 bytes
 ..._property_offsets_rotationX_scaleX_layer.png |  Bin 3460 -> 3564 bytes
 ...ut3D_property_offsets_rotationY30_scaleY.png |  Bin 2772 -> 2908 bytes
 ...yout3D_property_offsets_rotationY_scaleY.png |  Bin 3533 -> 3644 bytes
 ...yout3D_property_offsets_rotationZ_scaleY.png |  Bin 2703 -> 2848 bytes
 ...yout3D_property_offsets_rotationZ_scaleZ.png |  Bin 3787 -> 3899 bytes
 ...yout3D_property_offsets_rotation_scale_x.png |  Bin 2768 -> 2922 bytes
 .../List_Layout3D_property_offsets_scale_xy.png |  Bin 2542 -> 2638 bytes
 ...List_Layout3D_property_offsets_scale_xyz.png |  Bin 3106 -> 3185 bytes
 .../List_Layout3D_property_offsets_x.png        |  Bin 2332 -> 2421 bytes
 ...yout3D_property_offsets_xyz_rotation_xyz.png |  Bin 3237 -> 3342 bytes
 ...3D_property_offsets_xyz_rotation_xyz_mac.png |  Bin 3237 -> 0 bytes
 ...t3D_property_offsets_rotation-360_scaleZ.png |  Bin 8964 -> 8315 bytes
 ..._property_offsets_rotationX_scaleX_layer.png |  Bin 5631 -> 5547 bytes
 ...yout3D_property_offsets_rotationY_scaleY.png |  Bin 7316 -> 6977 bytes
 ...yout3D_property_offsets_rotationZ_scaleY.png |  Bin 6612 -> 6498 bytes
 ...yout3D_property_offsets_rotation_scale_x.png |  Bin 6251 -> 5926 bytes
 ...derer_Layout3D_property_offsets_scale_xy.png |  Bin 4935 -> 4726 bytes
 ...erer_Layout3D_property_offsets_scale_xyz.png |  Bin 4410 -> 4004 bytes
 ...ayout3D_property_offsets_x_scaleX_layer2.png |  Bin 3887 -> 3724 bytes
 .../properties/layout3D_properties_tester.mxml  |    6 +-
 .../layout3D_properties_tester_Graphics.mxml    |  192 +-
 .../layout3D_properties_tester_list.mxml        |  106 +-
 .../layout3D_properties_tester_main.mxml        |  109 +-
 .../listIcons_layout3D_properties_tester.mxml   |   70 +-
 .../gumbo/layout3D/swfs/assets/myStyles.css     |   33 +-
 .../Halo/DataGrid/SWFs/comps/MyHeader.mxml      |    4 +-
 .../baselines/custom_headerRenderer.png         |  Bin 745 -> 1298 bytes
 .../baselines/custom_headerRendererAS.png       |  Bin 4290 -> 1145 bytes
 .../DataGrid/baselines/dateFieldItemEditor.png  |  Bin 787 -> 790 bytes
 .../DataGrid/baselines/dateFieldRenderer.png    |  Bin 767 -> 769 bytes
 .../DataGrid/baselines/headerRenderer_icon.png  |  Bin 510 -> 470 bytes
 .../test_scripts/ItemRenderer_BugTests.mxml     |    5 +-
 .../test_scripts/ItemRenderer_BugTests2.mxml    |    1 +
 .../baselines/dateFieldRenderer.png             |  Bin 727 -> 730 bytes
 .../baselines/dateFieldRendererAS.png           |  Bin 599 -> 600 bytes
 .../Halo/List/baselines/dateFieldItemEditor.png |  Bin 792 -> 795 bytes
 .../Halo/List/baselines/dateFieldRenderer.png   |  Bin 770 -> 773 bytes
 .../TileList/baselines/dateFieldRenderer.png    |  Bin 729 -> 732 bytes
 .../TileList/baselines/dateFieldRendererAS.png  |  Bin 592 -> 594 bytes
 .../DataGrid/baselines/checkBoxItemEditor.png   |  Bin 407 -> 410 bytes
 .../DataGrid/baselines/comboBoxItemEditor.png   |  Bin 1077 -> 1070 bytes
 .../DataGrid/baselines/dateFieldItemEditor.png  |  Bin 829 -> 707 bytes
 .../DataGrid/baselines/numStepperItemEditor.png |  Bin 545 -> 541 bytes
 .../DataGrid_customRenderers_spark.mxml         |    2 +-
 .../test_scripts/DataGrid_itemEditor_spark.mxml |    8 +-
 .../DataGrid_itemRenderer_spark.mxml            |    2 +-
 .../ItemRenderer_BugTests_spark.mxml            |    4 +-
 .../HorizontalList_itemRenderer_spark.mxml      |    4 +-
 .../Spark/List/baselines/checkBoxItemEditor.png |  Bin 1021 -> 980 bytes
 .../Spark/List/baselines/comboBoxItemEditor.png |  Bin 1315 -> 1396 bytes
 .../List/baselines/dateFieldItemEditor.png      |  Bin 913 -> 774 bytes
 .../List/baselines/numStepperItemEditor.png     |  Bin 567 -> 558 bytes
 .../List_customRenderers_spark.mxml             |    2 +-
 .../test_scripts/List_itemEditor_spark.mxml     |    8 +-
 .../test_scripts/List_itemRenderer_spark.mxml   |    2 +-
 .../TileList_itemRenderer_spark.mxml            |    4 +-
 .../Spark/Tree/baselines/TreeCustomBranches.png |  Bin 4571 -> 4572 bytes
 .../Tree_customItemRenderers_spark.mxml         |    2 +-
 .../swfs/comps/RedSquare.fxg                    |   18 +-
 ...ation_PersistenceCachingDisabled_tester.mxml |    2 +-
 ...cation_PersistenceCachingEnabled_tester.mxml |    2 +-
 .../swfs/views/TextMediumHeight.mxml            |    1 +
 .../swfs/views/CalloutIntegrationView.mxml      |   50 +
 .../StageText/swfs/views/CalloutView.mxml       |    1 +
 .../StageText/swfs/views/TextAreaMenu.mxml      |    1 +
 .../integration/ActionBar_Integration.mxml      |   76 +-
 ...nBar_States_ActionContent@android_240ppi.png |  Bin 1876 -> 2169 bytes
 ...ctionBar_States_ActionContent@ios_320ppi.png |  Bin 0 -> 2877 bytes
 ...ctionBar_States_ActionContent@win_320ppi.png |  Bin 1397 -> 1707 bytes
 ...tes_ActionLayout_Vertical@android_240ppi.png |  Bin 7571 -> 9115 bytes
 ..._States_ActionLayout_Vertical@ios_320ppi.png |  Bin 0 -> 11912 bytes
 ..._States_ActionLayout_Vertical@win_320ppi.png |  Bin 5927 -> 7582 bytes
 ...es_Content_ActionContent1@android_240ppi.png |  Bin 1972 -> 2292 bytes
 ...States_Content_ActionContent1@ios_320ppi.png |  Bin 0 -> 3036 bytes
 ...States_Content_ActionContent1@win_320ppi.png |  Bin 1466 -> 1775 bytes
 ...es_Content_ActionContent2@android_240ppi.png |  Bin 2100 -> 2449 bytes
 ...States_Content_ActionContent2@ios_320ppi.png |  Bin 0 -> 3296 bytes
 ...States_Content_ActionContent2@win_320ppi.png |  Bin 1497 -> 1900 bytes
 ...ontent_NavigationContent1@android_240ppi.png |  Bin 1495 -> 1594 bytes
 ...es_Content_NavigationContent1@ios_320ppi.png |  Bin 0 -> 2249 bytes
 ...es_Content_NavigationContent1@win_320ppi.png |  Bin 1308 -> 1543 bytes
 ...ontent_NavigationContent2@android_240ppi.png |  Bin 1635 -> 1776 bytes
 ...es_Content_NavigationContent2@ios_320ppi.png |  Bin 0 -> 2518 bytes
 ...es_Content_NavigationContent2@win_320ppi.png |  Bin 1323 -> 1617 bytes
 ...Bar_States_Content_Title1@android_240ppi.png |  Bin 1247 -> 1451 bytes
 ...tionBar_States_Content_Title1@ios_320ppi.png |  Bin 0 -> 1965 bytes
 ...tionBar_States_Content_Title1@win_320ppi.png |  Bin 945 -> 1145 bytes
 ...Bar_States_Content_Title2@android_240ppi.png |  Bin 1458 -> 1662 bytes
 ...tionBar_States_Content_Title2@ios_320ppi.png |  Bin 0 -> 2250 bytes
 ...tionBar_States_Content_Title2@win_320ppi.png |  Bin 977 -> 1233 bytes
 ...tes_Content_TitleContent1@android_240ppi.png |  Bin 1529 -> 2245 bytes
 ..._States_Content_TitleContent1@ios_320ppi.png |  Bin 0 -> 3073 bytes
 ..._States_Content_TitleContent1@win_320ppi.png |  Bin 1153 -> 1491 bytes
 ...tes_Content_TitleContent2@android_240ppi.png |  Bin 1607 -> 2405 bytes
 ..._States_Content_TitleContent2@ios_320ppi.png |  Bin 0 -> 3266 bytes
 ..._States_Content_TitleContent2@win_320ppi.png |  Bin 1196 -> 1557 bytes
 ..._States_NavigationContent@android_240ppi.png |  Bin 1408 -> 1500 bytes
 ...nBar_States_NavigationContent@ios_320ppi.png |  Bin 0 -> 2115 bytes
 ...nBar_States_NavigationContent@win_320ppi.png |  Bin 1259 -> 1469 bytes
 ...tionContent_ActionContent@android_240ppi.png |  Bin 2331 -> 2897 bytes
 ...vigationContent_ActionContent@ios_320ppi.png |  Bin 0 -> 4040 bytes
 ...vigationContent_ActionContent@win_320ppi.png |  Bin 1804 -> 2215 bytes
 ...s_NavigationContent_Title@android_240ppi.png |  Bin 2055 -> 2349 bytes
 ...tates_NavigationContent_Title@ios_320ppi.png |  Bin 0 -> 3183 bytes
 ...tates_NavigationContent_Title@win_320ppi.png |  Bin 1483 -> 1839 bytes
 ...ationContent_TitleContent@android_240ppi.png |  Bin 2525 -> 3392 bytes
 ...avigationContent_TitleContent@ios_320ppi.png |  Bin 0 -> 4593 bytes
 ...avigationContent_TitleContent@win_320ppi.png |  Bin 1785 -> 2315 bytes
 ...itleContent_ActionContent@android_240ppi.png |  Bin 3418 -> 4809 bytes
 ...nt_TitleContent_ActionContent@ios_320ppi.png |  Bin 0 -> 6553 bytes
 ...nt_TitleContent_ActionContent@win_320ppi.png |  Bin 2297 -> 3008 bytes
 ...ntent_Title_ActionContent@android_240ppi.png |  Bin 2898 -> 3695 bytes
 ...onContent_Title_ActionContent@ios_320ppi.png |  Bin 0 -> 5026 bytes
 ...onContent_Title_ActionContent@win_320ppi.png |  Bin 2025 -> 2565 bytes
 ...NavigationLayout_Vertical@android_240ppi.png |  Bin 7080 -> 8172 bytes
 ...tes_NavigationLayout_Vertical@ios_320ppi.png |  Bin 0 -> 11062 bytes
 ...tes_NavigationLayout_Vertical@win_320ppi.png |  Bin 5855 -> 7364 bytes
 .../ActionBar_States_Title@android_240ppi.png   |  Bin 1115 -> 1321 bytes
 .../ActionBar_States_Title@ios_320ppi.png       |  Bin 0 -> 1745 bytes
 .../ActionBar_States_Title@win_320ppi.png       |  Bin 845 -> 1004 bytes
 ...onBar_States_TitleContent@android_240ppi.png |  Bin 1459 -> 2164 bytes
 ...ActionBar_States_TitleContent@ios_320ppi.png |  Bin 0 -> 2938 bytes
 ...ActionBar_States_TitleContent@win_320ppi.png |  Bin 1069 -> 1400 bytes
 ...itleContent_ActionContent@android_240ppi.png |  Bin 2964 -> 4060 bytes
 ...es_TitleContent_ActionContent@ios_320ppi.png |  Bin 0 -> 5383 bytes
 ...es_TitleContent_ActionContent@win_320ppi.png |  Bin 1939 -> 2541 bytes
 ...ates_TitleLayout_Vertical@android_240ppi.png |  Bin 6553 -> 8259 bytes
 ...r_States_TitleLayout_Vertical@ios_320ppi.png |  Bin 0 -> 10701 bytes
 ...r_States_TitleLayout_Vertical@win_320ppi.png |  Bin 5768 -> 7122 bytes
 ...tates_Title_ActionContent@android_240ppi.png |  Bin 2440 -> 2962 bytes
 ...ar_States_Title_ActionContent@ios_320ppi.png |  Bin 0 -> 3934 bytes
 ...ar_States_Title_ActionContent@win_320ppi.png |  Bin 1670 -> 2111 bytes
 ...Bar_TitleAndEmptyTitleContent@ios_320ppi.png |  Bin 0 -> 517 bytes
 .../ActionBar_MobileApplication_Properties.mxml |   95 +-
 .../properties/ActionBar_Properties.mxml        |   93 +-
 .../ActionBar_ViewNavigator_Properties.mxml     |  151 +-
 ...tionContent_1ElementArray@android_240ppi.png |  Bin 1755 -> 1993 bytes
 ...r_ActionContent_1ElementArray@ios_320ppi.png |  Bin 0 -> 2793 bytes
 ...r_ActionContent_1ElementArray@win_320ppi.png |  Bin 1374 -> 1697 bytes
 ...tionContent_2ElementArray@android_240ppi.png |  Bin 2155 -> 2690 bytes
 ...r_ActionContent_2ElementArray@ios_320ppi.png |  Bin 0 -> 3776 bytes
 ...r_ActionContent_2ElementArray@win_320ppi.png |  Bin 1612 -> 2082 bytes
 ...tionContent_8ElementArray@android_240ppi.png |  Bin 4224 -> 5258 bytes
 ...r_ActionContent_8ElementArray@ios_320ppi.png |  Bin 0 -> 7274 bytes
 ...r_ActionContent_8ElementArray@win_320ppi.png |  Bin 3187 -> 4108 bytes
 ...tent_CustomComponentArray@android_240ppi.png |  Bin 2803 -> 3211 bytes
 ...nContent_CustomComponentArray@ios_320ppi.png |  Bin 0 -> 4498 bytes
 ...nBar_ActionContent_EmptyArray@ios_320ppi.png |  Bin 0 -> 516 bytes
 ...ar_ActionContent_GraphicArray@ios_320ppi.png |  Bin 0 -> 995 bytes
 ..._ActionContent_ImageArray@android_240ppi.png |  Bin 1100 -> 1701 bytes
 ...nBar_ActionContent_ImageArray@ios_320ppi.png |  Bin 0 -> 1931 bytes
 ..._ActionLayout_BasicLayout@android_240ppi.png |  Bin 2373 -> 2943 bytes
 ...nBar_ActionLayout_BasicLayout@ios_320ppi.png |  Bin 0 -> 4139 bytes
 ...nBar_ActionLayout_BasicLayout@win_320ppi.png |  Bin 1659 -> 2311 bytes
 ...r_ActionLayout_TileLayout@android_240ppi.png |  Bin 5113 -> 6457 bytes
 ...onBar_ActionLayout_TileLayout@ios_320ppi.png |  Bin 0 -> 8984 bytes
 ...onBar_ActionLayout_TileLayout@win_320ppi.png |  Bin 3478 -> 4812 bytes
 ...tionLayout_VerticalLayout@android_240ppi.png |  Bin 4732 -> 5980 bytes
 ...r_ActionLayout_VerticalLayout@ios_320ppi.png |  Bin 0 -> 8251 bytes
 ...r_ActionLayout_VerticalLayout@win_320ppi.png |  Bin 3248 -> 4383 bytes
 ...on_actionContent_EmptyArr@android_240ppi.png |  Bin 545 -> 591 bytes
 ...cation_actionContent_EmptyArr@ios_320ppi.png |  Bin 0 -> 841 bytes
 ...on_actionContent_GraphArr@android_240ppi.png |  Bin 654 -> 714 bytes
 ...cation_actionContent_GraphArr@ios_320ppi.png |  Bin 0 -> 942 bytes
 ...on_actionContent_ImageArr@android_240ppi.png |  Bin 3073 -> 3190 bytes
 ...cation_actionContent_ImageArr@ios_320ppi.png |  Bin 0 -> 3476 bytes
 ...on_actionContent_ManyEArr@android_240ppi.png |  Bin 1994 -> 4907 bytes
 ...cation_actionContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 2789 bytes
 ...ion_actionContent_OneEArr@android_240ppi.png |  Bin 2568 -> 3205 bytes
 ...ication_actionContent_OneEArr@ios_320ppi.png |  Bin 0 -> 4241 bytes
 ...ication_actionContent_OneEArr@win_320ppi.png |  Bin 1891 -> 2439 bytes
 ...ion_actionContent_TwoEArr@android_240ppi.png |  Bin 3259 -> 4385 bytes
 ...ication_actionContent_TwoEArr@ios_320ppi.png |  Bin 0 -> 5848 bytes
 ...ication_actionContent_TwoEArr@win_320ppi.png |  Bin 2181 -> 3014 bytes
 ...cation_actionContent_null@android_240ppi.png |  Bin 545 -> 591 bytes
 ...pplication_actionContent_null@ios_320ppi.png |  Bin 0 -> 841 bytes
 ..._actionLayout_basicLayout@android_240ppi.png |  Bin 3981 -> 5133 bytes
 ...tion_actionLayout_basicLayout@ios_320ppi.png |  Bin 0 -> 6777 bytes
 ...tion_actionLayout_basicLayout@win_320ppi.png |  Bin 2738 -> 3795 bytes
 ...tion_actionLayout_default@android_240ppi.png |  Bin 3259 -> 4385 bytes
 ...lication_actionLayout_default@ios_320ppi.png |  Bin 0 -> 5848 bytes
 ...lication_actionLayout_default@win_320ppi.png |  Bin 2181 -> 3014 bytes
 ...n_actionLayout_tileLayout@android_240ppi.png |  Bin 6675 -> 8297 bytes
 ...ation_actionLayout_tileLayout@ios_320ppi.png |  Bin 0 -> 10879 bytes
 ...ation_actionLayout_tileLayout@win_320ppi.png |  Bin 6337 -> 7513 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 3762 -> 4869 bytes
 ...n_actionLayout_verticalLayout@ios_320ppi.png |  Bin 0 -> 6518 bytes
 ...n_actionLayout_verticalLayout@win_320ppi.png |  Bin 2465 -> 3602 bytes
 ...avigationContent_GraphArr@android_240ppi.png |  Bin 708 -> 763 bytes
 ...on_navigationContent_GraphArr@ios_320ppi.png |  Bin 0 -> 979 bytes
 ...avigationContent_ImageArr@android_240ppi.png |  Bin 2963 -> 3064 bytes
 ...on_navigationContent_ImageArr@ios_320ppi.png |  Bin 0 -> 3315 bytes
 ...avigationContent_ManyEArr@android_240ppi.png |  Bin 4804 -> 6329 bytes
 ...on_navigationContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 8418 bytes
 ...on_navigationContent_ManyEArr@win_320ppi.png |  Bin 4498 -> 5415 bytes
 ...vigationContent_MobileArr@android_240ppi.png |  Bin 935 -> 1068 bytes
 ...n_navigationContent_MobileArr@ios_320ppi.png |  Bin 0 -> 1765 bytes
 ...navigationContent_OneEArr@android_240ppi.png |  Bin 2563 -> 3200 bytes
 ...ion_navigationContent_OneEArr@ios_320ppi.png |  Bin 0 -> 4219 bytes
 ...ion_navigationContent_OneEArr@win_320ppi.png |  Bin 1891 -> 2444 bytes
 ...navigationContent_TwoEArr@android_240ppi.png |  Bin 3248 -> 4383 bytes
 ...ion_navigationContent_TwoEArr@ios_320ppi.png |  Bin 0 -> 5859 bytes
 ...ion_navigationContent_TwoEArr@win_320ppi.png |  Bin 2168 -> 3002 bytes
 ...on_navigationContent_null@android_240ppi.png |  Bin 545 -> 591 bytes
 ...cation_navigationContent_null@ios_320ppi.png |  Bin 0 -> 841 bytes
 ...igationLayout_basicLayout@android_240ppi.png |  Bin 3994 -> 5148 bytes
 ..._navigationLayout_basicLayout@ios_320ppi.png |  Bin 0 -> 6834 bytes
 ..._navigationLayout_basicLayout@win_320ppi.png |  Bin 2785 -> 3807 bytes
 ..._navigationLayout_default@android_240ppi.png |  Bin 3248 -> 4383 bytes
 ...tion_navigationLayout_default@ios_320ppi.png |  Bin 0 -> 5859 bytes
 ...tion_navigationLayout_default@win_320ppi.png |  Bin 2168 -> 3002 bytes
 ...vigationLayout_tileLayout@android_240ppi.png |  Bin 6675 -> 8282 bytes
 ...n_navigationLayout_tileLayout@ios_320ppi.png |  Bin 0 -> 10877 bytes
 ...n_navigationLayout_tileLayout@win_320ppi.png |  Bin 6329 -> 7493 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 3771 -> 4886 bytes
 ...vigationLayout_verticalLayout@ios_320ppi.png |  Bin 0 -> 6589 bytes
 ...vigationLayout_verticalLayout@win_320ppi.png |  Bin 2526 -> 3629 bytes
 ...ion_titleContent_EmptyArr@android_240ppi.png |  Bin 545 -> 591 bytes
 ...ication_titleContent_EmptyArr@ios_320ppi.png |  Bin 0 -> 841 bytes
 ...ion_titleContent_ImageArr@android_240ppi.png |  Bin 3103 -> 3188 bytes
 ...ication_titleContent_ImageArr@ios_320ppi.png |  Bin 0 -> 3461 bytes
 ...ion_titleContent_ManyEArr@android_240ppi.png |  Bin 5181 -> 6906 bytes
 ...ication_titleContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 9023 bytes
 ...ication_titleContent_ManyEArr@win_320ppi.png |  Bin 5024 -> 6052 bytes
 ...tion_titleContent_OneEArr@android_240ppi.png |  Bin 3018 -> 3827 bytes
 ...lication_titleContent_OneEArr@ios_320ppi.png |  Bin 0 -> 4899 bytes
 ...lication_titleContent_OneEArr@win_320ppi.png |  Bin 2478 -> 3146 bytes
 ...tion_titleContent_TwoEArr@android_240ppi.png |  Bin 3701 -> 5022 bytes
 ...lication_titleContent_TwoEArr@ios_320ppi.png |  Bin 0 -> 6532 bytes
 ...lication_titleContent_TwoEArr@win_320ppi.png |  Bin 2796 -> 3753 bytes
 ...ication_titleContent_null@android_240ppi.png |  Bin 545 -> 591 bytes
 ...Application_titleContent_null@ios_320ppi.png |  Bin 0 -> 841 bytes
 ...n_titleLayout_basicLayout@android_240ppi.png |  Bin 4060 -> 5435 bytes
 ...ation_titleLayout_basicLayout@ios_320ppi.png |  Bin 0 -> 7172 bytes
 ...ation_titleLayout_basicLayout@win_320ppi.png |  Bin 3013 -> 4257 bytes
 ...ation_titleLayout_default@android_240ppi.png |  Bin 3701 -> 5022 bytes
 ...plication_titleLayout_default@ios_320ppi.png |  Bin 0 -> 6532 bytes
 ...plication_titleLayout_default@win_320ppi.png |  Bin 2796 -> 3753 bytes
 ...on_titleLayout_tileLayout@android_240ppi.png |  Bin 7051 -> 8839 bytes
 ...cation_titleLayout_tileLayout@ios_320ppi.png |  Bin 0 -> 11467 bytes
 ...cation_titleLayout_tileLayout@win_320ppi.png |  Bin 6846 -> 8158 bytes
 ...itleLayout_verticalLayout@android_240ppi.png |  Bin 4191 -> 5508 bytes
 ...on_titleLayout_verticalLayout@ios_320ppi.png |  Bin 0 -> 7201 bytes
 ...on_titleLayout_verticalLayout@win_320ppi.png |  Bin 3048 -> 4280 bytes
 ...ileApplication_title_data@android_240ppi.png |  Bin 4038 -> 2964 bytes
 ..._MobileApplication_title_data@ios_320ppi.png |  Bin 0 -> 4298 bytes
 ...ileApplication_title_long@android_240ppi.png |  Bin 1380 -> 5671 bytes
 ..._MobileApplication_title_long@ios_320ppi.png |  Bin 0 -> 7300 bytes
 ...ileApplication_title_null@android_240ppi.png |  Bin 3898 -> 1379 bytes
 ..._MobileApplication_title_null@ios_320ppi.png |  Bin 0 -> 1929 bytes
 ...Application_title_runtime@android_240ppi.png |  Bin 1900 -> 2257 bytes
 ...bileApplication_title_runtime@ios_320ppi.png |  Bin 0 -> 3038 bytes
 ...bileApplication_title_runtime@win_320ppi.png |  Bin 2134 -> 2354 bytes
 ...cation_title_runtime_null@android_240ppi.png |  Bin 1900 -> 2257 bytes
 ...pplication_title_runtime_null@ios_320ppi.png |  Bin 0 -> 3038 bytes
 ...pplication_title_runtime_null@win_320ppi.png |  Bin 2134 -> 2354 bytes
 ...cation_title_specialchars@android_240ppi.png |  Bin 1989 -> 5746 bytes
 ...pplication_title_specialchars@ios_320ppi.png |  Bin 0 -> 7672 bytes
 ...MobileApplication_visible@android_240ppi.png |  Bin 908 -> 2394 bytes
 ...Bar_MobileApplication_visible@ios_320ppi.png |  Bin 0 -> 841 bytes
 ...Application_visible_false@android_240ppi.png |  Bin 291 -> 341 bytes
 ...bileApplication_visible_false@ios_320ppi.png |  Bin 0 -> 430 bytes
 ...tionContent_1ElementArray@android_240ppi.png |  Bin 1748 -> 1995 bytes
 ...vigationContent_1ElementArray@ios_320ppi.png |  Bin 0 -> 2787 bytes
 ...vigationContent_1ElementArray@win_320ppi.png |  Bin 1364 -> 1686 bytes
 ...tionContent_2ElementArray@android_240ppi.png |  Bin 2156 -> 2696 bytes
 ...vigationContent_2ElementArray@ios_320ppi.png |  Bin 0 -> 3774 bytes
 ...vigationContent_2ElementArray@win_320ppi.png |  Bin 1606 -> 2072 bytes
 ...tionContent_8ElementArray@android_240ppi.png |  Bin 4238 -> 5276 bytes
 ...vigationContent_8ElementArray@ios_320ppi.png |  Bin 0 -> 7228 bytes
 ...vigationContent_8ElementArray@win_320ppi.png |  Bin 3172 -> 4081 bytes
 ...tent_CustomComponentArray@android_240ppi.png |  Bin 2863 -> 3295 bytes
 ...nContent_CustomComponentArray@ios_320ppi.png |  Bin 0 -> 4623 bytes
 ..._NavigationContent_EmptyArray@ios_320ppi.png |  Bin 0 -> 516 bytes
 ...avigationContent_GraphicArray@ios_320ppi.png |  Bin 0 -> 1098 bytes
 ...igationContent_ImageArray@android_240ppi.png |  Bin 1111 -> 1731 bytes
 ..._NavigationContent_ImageArray@ios_320ppi.png |  Bin 0 -> 1960 bytes
 ...igationLayout_BasicLayout@android_240ppi.png |  Bin 2354 -> 2939 bytes
 ..._NavigationLayout_BasicLayout@ios_320ppi.png |  Bin 0 -> 4302 bytes
 ..._NavigationLayout_BasicLayout@win_320ppi.png |  Bin 1759 -> 2373 bytes
 ...vigationLayout_TileLayout@android_240ppi.png |  Bin 5169 -> 6521 bytes
 ...r_NavigationLayout_TileLayout@ios_320ppi.png |  Bin 0 -> 8999 bytes
 ...r_NavigationLayout_TileLayout@win_320ppi.png |  Bin 3539 -> 4848 bytes
 ...tionLayout_VerticalLayout@android_240ppi.png |  Bin 4704 -> 6014 bytes
 ...vigationLayout_VerticalLayout@ios_320ppi.png |  Bin 0 -> 8231 bytes
 ...vigationLayout_VerticalLayout@win_320ppi.png |  Bin 3204 -> 4334 bytes
 ...itleContent_1ElementArray@android_240ppi.png |  Bin 2040 -> 2401 bytes
 ...ar_TitleContent_1ElementArray@ios_320ppi.png |  Bin 0 -> 3298 bytes
 ...ar_TitleContent_1ElementArray@win_320ppi.png |  Bin 1766 -> 2161 bytes
 ...itleContent_2ElementArray@android_240ppi.png |  Bin 2514 -> 3148 bytes
 ...ar_TitleContent_2ElementArray@ios_320ppi.png |  Bin 0 -> 4364 bytes
 ...ar_TitleContent_2ElementArray@win_320ppi.png |  Bin 2105 -> 2640 bytes
 ...itleContent_8ElementArray@android_240ppi.png |  Bin 4868 -> 6082 bytes
 ...ar_TitleContent_8ElementArray@ios_320ppi.png |  Bin 0 -> 8464 bytes
 ...ar_TitleContent_8ElementArray@win_320ppi.png |  Bin 4222 -> 5302 bytes
 ...tent_CustomComponentArray@android_240ppi.png |  Bin 3186 -> 3683 bytes
 ...eContent_CustomComponentArray@ios_320ppi.png |  Bin 0 -> 4975 bytes
 ...Bar_TitleContent_GraphicArray@ios_320ppi.png |  Bin 0 -> 1067 bytes
 ...r_TitleContent_ImageArray@android_240ppi.png |  Bin 1110 -> 1711 bytes
 ...onBar_TitleContent_ImageArray@ios_320ppi.png |  Bin 0 -> 1943 bytes
 ...r_TitleLayout_BasicLayout@android_240ppi.png |  Bin 2435 -> 3046 bytes
 ...onBar_TitleLayout_BasicLayout@ios_320ppi.png |  Bin 0 -> 4294 bytes
 ...onBar_TitleLayout_BasicLayout@win_320ppi.png |  Bin 1608 -> 2389 bytes
 ...ar_TitleLayout_TileLayout@android_240ppi.png |  Bin 5515 -> 6868 bytes
 ...ionBar_TitleLayout_TileLayout@ios_320ppi.png |  Bin 0 -> 9502 bytes
 ...ionBar_TitleLayout_TileLayout@win_320ppi.png |  Bin 4033 -> 5441 bytes
 ...yout_TitleContent_Padding@android_240ppi.png |  Bin 2809 -> 3474 bytes
 ...leLayout_TitleContent_Padding@ios_320ppi.png |  Bin 0 -> 4915 bytes
 ...leLayout_TitleContent_Padding@win_320ppi.png |  Bin 2183 -> 2967 bytes
 ...TitleLayout_Title_Padding@android_240ppi.png |  Bin 2590 -> 2954 bytes
 ...Bar_TitleLayout_Title_Padding@ios_320ppi.png |  Bin 0 -> 3855 bytes
 ...Bar_TitleLayout_Title_Padding@win_320ppi.png |  Bin 1366 -> 1909 bytes
 ...itleLayout_VerticalLayout@android_240ppi.png |  Bin 4566 -> 5933 bytes
 ...ar_TitleLayout_VerticalLayout@ios_320ppi.png |  Bin 0 -> 8161 bytes
 ...ar_TitleLayout_VerticalLayout@win_320ppi.png |  Bin 3209 -> 4427 bytes
 .../ActionBar_Title_Blank@ios_320ppi.png        |  Bin 0 -> 516 bytes
 ...tionBar_Title_Combination@android_240ppi.png |  Bin 2672 -> 3379 bytes
 .../ActionBar_Title_Combination@ios_320ppi.png  |  Bin 0 -> 4070 bytes
 .../ActionBar_Title_Combination@win_320ppi.png  |  Bin 1487 -> 2066 bytes
 .../ActionBar_Title_Long@android_240ppi.png     |  Bin 5168 -> 7460 bytes
 .../ActionBar_Title_Long@ios_320ppi.png         |  Bin 0 -> 7661 bytes
 .../ActionBar_Title_Null@ios_320ppi.png         |  Bin 0 -> 516 bytes
 ...ActionBar_Title_OneLetter@android_240ppi.png |  Bin 761 -> 784 bytes
 .../ActionBar_Title_OneLetter@ios_320ppi.png    |  Bin 0 -> 1133 bytes
 .../ActionBar_Title_OneLetter@win_320ppi.png    |  Bin 707 -> 827 bytes
 .../ActionBar_Title_Runtime@android_240ppi.png  |  Bin 2676 -> 3572 bytes
 .../ActionBar_Title_Runtime@ios_320ppi.png      |  Bin 0 -> 4190 bytes
 .../ActionBar_Title_Runtime@win_320ppi.png      |  Bin 1625 -> 2199 bytes
 ...or_actionContent_EmptyArr@android_240ppi.png |  Bin 545 -> 1823 bytes
 ...igator_actionContent_EmptyArr@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...igator_actionContent_EmptyArr@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...or_actionContent_ImageArr@android_240ppi.png |  Bin 3073 -> 4308 bytes
 ...igator_actionContent_ImageArr@ios_320ppi.png |  Bin 0 -> 4658 bytes
 ...or_actionContent_ManyEArr@android_240ppi.png |  Bin 1994 -> 4907 bytes
 ...igator_actionContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 2626 bytes
 ...tor_actionContent_OneEArr@android_240ppi.png |  Bin 2568 -> 4185 bytes
 ...vigator_actionContent_OneEArr@ios_320ppi.png |  Bin 0 -> 5167 bytes
 ...vigator_actionContent_OneEArr@win_320ppi.png |  Bin 1716 -> 2693 bytes
 ...igator_actionContent_null@android_240ppi.png |  Bin 545 -> 1823 bytes
 ...wNavigator_actionContent_null@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...wNavigator_actionContent_null@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...tor_actionContent_twoEArr@android_240ppi.png |  Bin 3259 -> 5341 bytes
 ...vigator_actionContent_twoEArr@ios_320ppi.png |  Bin 0 -> 6750 bytes
 ...vigator_actionContent_twoEArr@win_320ppi.png |  Bin 2013 -> 3258 bytes
 ..._actionLayout_basicLayout@android_240ppi.png |  Bin 3259 -> 5341 bytes
 ...ator_actionLayout_basicLayout@ios_320ppi.png |  Bin 0 -> 6750 bytes
 ...ator_actionLayout_basicLayout@win_320ppi.png |  Bin 2013 -> 3258 bytes
 ...ator_actionLayout_default@android_240ppi.png |  Bin 3259 -> 5341 bytes
 ...avigator_actionLayout_default@ios_320ppi.png |  Bin 0 -> 6750 bytes
 ...avigator_actionLayout_default@win_320ppi.png |  Bin 2013 -> 3258 bytes
 ...ionLayout_default_padding@android_240ppi.png |  Bin 545 -> 591 bytes
 ..._actionLayout_default_padding@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ..._actionLayout_default_padding@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...r_actionLayout_tileLayout@android_240ppi.png |  Bin 2062 -> 3963 bytes
 ...gator_actionLayout_tileLayout@ios_320ppi.png |  Bin 0 -> 3461 bytes
 ...gator_actionLayout_tileLayout@win_320ppi.png |  Bin 1286 -> 2166 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 2779 -> 4967 bytes
 ...r_actionLayout_verticalLayout@ios_320ppi.png |  Bin 0 -> 4384 bytes
 ...r_actionLayout_verticalLayout@win_320ppi.png |  Bin 1308 -> 2480 bytes
 ...wNavigator_default_height@android_240ppi.png |  Bin 545 -> 591 bytes
 ..._ViewNavigator_default_height@ios_320ppi.png |  Bin 0 -> 2343 bytes
 ..._ViewNavigator_default_height@win_320ppi.png |  Bin 841 -> 1444 bytes
 ...ewNavigator_default_width@android_240ppi.png |  Bin 545 -> 591 bytes
 ...r_ViewNavigator_default_width@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...r_ViewNavigator_default_width@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...Navigator_height_decrease@android_240ppi.png |  Bin 2433 -> 3065 bytes
 ...ViewNavigator_height_decrease@ios_320ppi.png |  Bin 0 -> 4930 bytes
 ...ViewNavigator_height_decrease@win_320ppi.png |  Bin 1504 -> 2491 bytes
 ...Navigator_height_increase@android_240ppi.png |  Bin 693 -> 759 bytes
 ...ViewNavigator_height_increase@ios_320ppi.png |  Bin 0 -> 2352 bytes
 ...ViewNavigator_height_increase@win_320ppi.png |  Bin 849 -> 1452 bytes
 ...avigationContent_EmptyArr@android_240ppi.png |  Bin 545 -> 1823 bytes
 ...or_navigationContent_EmptyArr@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...or_navigationContent_EmptyArr@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...avigationContent_ImageArr@android_240ppi.png |  Bin 2963 -> 3064 bytes
 ...or_navigationContent_ImageArr@ios_320ppi.png |  Bin 0 -> 4702 bytes
 ...or_navigationContent_ImageArr@win_320ppi.png |  Bin 3109 -> 3656 bytes
 ...avigationContent_ManyEArr@android_240ppi.png |  Bin 4804 -> 6329 bytes
 ...or_navigationContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 8418 bytes
 ...or_navigationContent_ManyEArr@win_320ppi.png |  Bin 4320 -> 5224 bytes
 ...vigationContent_MobileArr@android_240ppi.png |  Bin 1415 -> 1068 bytes
 ...r_navigationContent_MobileArr@ios_320ppi.png |  Bin 0 -> 1765 bytes
 ...r_navigationContent_MobileArr@win_320ppi.png |  Bin 1478 -> 701 bytes
 ...navigationContent_OneEArr@android_240ppi.png |  Bin 2563 -> 4184 bytes
 ...tor_navigationContent_OneEArr@ios_320ppi.png |  Bin 0 -> 5176 bytes
 ...tor_navigationContent_OneEArr@win_320ppi.png |  Bin 1717 -> 2702 bytes
 ...navigationContent_TwoEArr@android_240ppi.png |  Bin 3248 -> 4383 bytes
 ...tor_navigationContent_TwoEArr@ios_320ppi.png |  Bin 0 -> 7016 bytes
 ...tor_navigationContent_TwoEArr@win_320ppi.png |  Bin 2013 -> 3268 bytes
 ...avigationContent_graphArr@android_240ppi.png |  Bin 708 -> 763 bytes
 ...or_navigationContent_graphArr@ios_320ppi.png |  Bin 0 -> 2458 bytes
 ...or_navigationContent_graphArr@win_320ppi.png |  Bin 816 -> 1424 bytes
 ...or_navigationContent_null@android_240ppi.png |  Bin 545 -> 1823 bytes
 ...igator_navigationContent_null@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...igator_navigationContent_null@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...igationLayout_basicLayout@android_240ppi.png |  Bin 3248 -> 4383 bytes
 ..._navigationLayout_basicLayout@ios_320ppi.png |  Bin 0 -> 7016 bytes
 ..._navigationLayout_basicLayout@win_320ppi.png |  Bin 2013 -> 3268 bytes
 ..._navigationLayout_default@android_240ppi.png |  Bin 3248 -> 5349 bytes
 ...ator_navigationLayout_default@ios_320ppi.png |  Bin 0 -> 7016 bytes
 ...ator_navigationLayout_default@win_320ppi.png |  Bin 2013 -> 3268 bytes
 ...ionLayout_default_padding@android_240ppi.png |  Bin 545 -> 591 bytes
 ...igationLayout_default_padding@ios_320ppi.png |  Bin 0 -> 2343 bytes
 ...igationLayout_default_padding@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...vigationLayout_tileLayout@android_240ppi.png |  Bin 2057 -> 4039 bytes
 ...r_navigationLayout_tileLayout@ios_320ppi.png |  Bin 0 -> 10877 bytes
 ...r_navigationLayout_tileLayout@win_320ppi.png |  Bin 1317 -> 2173 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 2786 -> 4886 bytes
 ...vigationLayout_verticalLayout@ios_320ppi.png |  Bin 0 -> 4464 bytes
 ...vigationLayout_verticalLayout@win_320ppi.png |  Bin 1370 -> 2525 bytes
 ...tor_titleContent_EmptyArr@android_240ppi.png |  Bin 545 -> 591 bytes
 ...vigator_titleContent_EmptyArr@ios_320ppi.png |  Bin 0 -> 686 bytes
 ...tor_titleContent_ImageArr@android_240ppi.png |  Bin 3103 -> 3188 bytes
 ...vigator_titleContent_ImageArr@ios_320ppi.png |  Bin 0 -> 3291 bytes
 ...tor_titleContent_ManyEArr@android_240ppi.png |  Bin 5181 -> 6906 bytes
 ...vigator_titleContent_ManyEArr@ios_320ppi.png |  Bin 0 -> 8485 bytes
 ...vigator_titleContent_ManyEArr@win_320ppi.png |  Bin 4530 -> 5553 bytes
 ...ator_titleContent_OneEArr@android_240ppi.png |  Bin 3018 -> 3827 bytes
 ...avigator_titleContent_OneEArr@ios_320ppi.png |  Bin 0 -> 4336 bytes
 ...avigator_titleContent_OneEArr@win_320ppi.png |  Bin 1936 -> 2598 bytes
 ...ator_titleContent_TwoEArr@android_240ppi.png |  Bin 3701 -> 5022 bytes
 ...avigator_titleContent_TwoEArr@ios_320ppi.png |  Bin 0 -> 5929 bytes
 ...avigator_titleContent_TwoEArr@win_320ppi.png |  Bin 2241 -> 3213 bytes
 ...vigator_titleContent_null@android_240ppi.png |  Bin 545 -> 591 bytes
 ...ewNavigator_titleContent_null@ios_320ppi.png |  Bin 0 -> 686 bytes
 ...vigator_titleLayout_basic@android_240ppi.png |  Bin 4060 -> 5435 bytes
 ...ewNavigator_titleLayout_basic@ios_320ppi.png |  Bin 0 -> 6610 bytes
 ...ewNavigator_titleLayout_basic@win_320ppi.png |  Bin 2542 -> 3775 bytes
 ...gator_titleLayout_default@android_240ppi.png |  Bin 4064 -> 5441 bytes
 ...Navigator_titleLayout_default@ios_320ppi.png |  Bin 0 -> 6630 bytes
 ...Navigator_titleLayout_default@win_320ppi.png |  Bin 2541 -> 3779 bytes
 ...default_VerticalAlignment@android_240ppi.png |  Bin 545 -> 591 bytes
 ...out_default_VerticalAlignment@ios_320ppi.png |  Bin 0 -> 2343 bytes
 ...out_default_VerticalAlignment@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...r_titleLayout_default_gap@android_240ppi.png |  Bin 545 -> 591 bytes
 ...gator_titleLayout_default_gap@ios_320ppi.png |  Bin 0 -> 2343 bytes
 ...gator_titleLayout_default_gap@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...tleLayout_default_padding@android_240ppi.png |  Bin 545 -> 591 bytes
 ...r_titleLayout_default_padding@ios_320ppi.png |  Bin 0 -> 2157 bytes
 ...r_titleLayout_default_padding@win_320ppi.png |  Bin 686 -> 1291 bytes
 ...avigator_titleLayout_tile@android_240ppi.png |  Bin 4060 -> 5435 bytes
 ...iewNavigator_titleLayout_tile@ios_320ppi.png |  Bin 0 -> 6610 bytes
 ...iewNavigator_titleLayout_tile@win_320ppi.png |  Bin 2542 -> 3775 bytes
 ...yout_titleContent_padding@android_240ppi.png |  Bin 4064 -> 5441 bytes
 ...leLayout_titleContent_padding@ios_320ppi.png |  Bin 0 -> 6630 bytes
 ...leLayout_titleContent_padding@win_320ppi.png |  Bin 2541 -> 3779 bytes
 ...titleLayout_title_padding@android_240ppi.png |  Bin 1335 -> 1597 bytes
 ...tor_titleLayout_title_padding@ios_320ppi.png |  Bin 0 -> 1938 bytes
 ...tor_titleLayout_title_padding@win_320ppi.png |  Bin 942 -> 1125 bytes
 ...ator_titleLayout_vertical@android_240ppi.png |  Bin 3095 -> 4408 bytes
 ...avigator_titleLayout_vertical@ios_320ppi.png |  Bin 0 -> 3267 bytes
 ...avigator_titleLayout_vertical@win_320ppi.png |  Bin 1596 -> 2185 bytes
 ..._ViewNavigator_title_data@android_240ppi.png |  Bin 2520 -> 3070 bytes
 ...nBar_ViewNavigator_title_data@ios_320ppi.png |  Bin 0 -> 3542 bytes
 ...nBar_ViewNavigator_title_data@win_320ppi.png |  Bin 1352 -> 1898 bytes
 ..._ViewNavigator_title_long@android_240ppi.png |  Bin 4587 -> 6968 bytes
 ...nBar_ViewNavigator_title_long@ios_320ppi.png |  Bin 0 -> 7259 bytes
 ...nBar_ViewNavigator_title_long@win_320ppi.png |  Bin 2436 -> 3538 bytes
 ..._ViewNavigator_title_null@android_240ppi.png |  Bin 545 -> 591 bytes
 ...nBar_ViewNavigator_title_null@ios_320ppi.png |  Bin 0 -> 686 bytes
 ...Navigator_title_oneLetter@android_240ppi.png |  Bin 970 -> 1065 bytes
 ...ViewNavigator_title_oneLetter@ios_320ppi.png |  Bin 0 -> 1281 bytes
 ...ViewNavigator_title_oneLetter@win_320ppi.png |  Bin 842 -> 964 bytes
 ...ewNavigator_title_runtime@android_240ppi.png |  Bin 0 -> 1823 bytes
 ...r_ViewNavigator_title_runtime@ios_320ppi.png |  Bin 0 -> 2785 bytes
 ...igator_title_specialchars@android_240ppi.png |  Bin 5366 -> 6876 bytes
 ...wNavigator_title_specialchars@ios_320ppi.png |  Bin 0 -> 8511 bytes
 ...wNavigator_title_specialchars@win_320ppi.png |  Bin 2234 -> 3509 bytes
 ...Bar_ViewNavigator_visible@android_240ppi.png |  Bin 3018 -> 3827 bytes
 ...tionBar_ViewNavigator_visible@ios_320ppi.png |  Bin 0 -> 4336 bytes
 ...tionBar_ViewNavigator_visible@win_320ppi.png |  Bin 1936 -> 2598 bytes
 ...ewNavigator_visible_false@android_240ppi.png |  Bin 291 -> 341 bytes
 ...r_ViewNavigator_visible_false@ios_320ppi.png |  Bin 0 -> 341 bytes
 .../ActionBar_Visible_False@android_240ppi.png  |  Bin 395 -> 469 bytes
 .../ActionBar_Visible_False@ios_320ppi.png      |  Bin 0 -> 469 bytes
 .../ActionBar_Visible_True@android_240ppi.png   |  Bin 746 -> 809 bytes
 .../ActionBar_Visible_True@ios_320ppi.png       |  Bin 0 -> 1000 bytes
 .../ActionBar_MobileApplication_styles.mxml     |   68 +-
 .../ActionBar/styles/ActionBar_Styles.mxml      |   56 +-
 .../ActionBar/styles/ActionBar_Styles_CSS.mxml  |    2 +-
 .../styles/ActionBar_Styles_Global.mxml         |    2 +-
 .../styles/ActionBar_ViewNavigator_styles.mxml  |  143 +-
 .../ActionBar_AccentColor@android_240ppi.png    |  Bin 2342 -> 1929 bytes
 .../ActionBar_AccentColor@ios_320ppi.png        |  Bin 0 -> 2743 bytes
 .../ActionBar_AccentColor@win_320ppi.png        |  Bin 1374 -> 1648 bytes
 .../ActionBar_BackgroundAlpha@ios_320ppi.png    |  Bin 0 -> 400 bytes
 .../baselines/ActionBar_CSS@android_240ppi.png  |  Bin 2829 -> 3673 bytes
 .../baselines/ActionBar_CSS@ios_320ppi.png      |  Bin 0 -> 4177 bytes
 .../baselines/ActionBar_CSS@win_320ppi.png      |  Bin 1718 -> 2268 bytes
 .../ActionBar_ChromeColor@ios_320ppi.png        |  Bin 0 -> 604 bytes
 ...ActionBar_Color_WithTitle@android_240ppi.png |  Bin 2898 -> 3695 bytes
 .../ActionBar_Color_WithTitle@ios_320ppi.png    |  Bin 0 -> 5026 bytes
 .../ActionBar_Color_WithTitle@win_320ppi.png    |  Bin 2025 -> 2565 bytes
 ...ar_Color_WithTitleContent@android_240ppi.png |  Bin 2911 -> 3637 bytes
 ...ionBar_Color_WithTitleContent@ios_320ppi.png |  Bin 0 -> 4992 bytes
 ...ionBar_Color_WithTitleContent@win_320ppi.png |  Bin 2008 -> 2535 bytes
 .../ActionBar_FocusColor@android_240ppi.png     |  Bin 1002 -> 994 bytes
 .../ActionBar_FocusColor@ios_320ppi.png         |  Bin 0 -> 1729 bytes
 ...ionBar_FontSize_WithTitle@android_240ppi.png |  Bin 2385 -> 2814 bytes
 .../ActionBar_FontSize_WithTitle@ios_320ppi.png |  Bin 0 -> 3544 bytes
 .../ActionBar_FontSize_WithTitle@win_320ppi.png |  Bin 1730 -> 2121 bytes
 ...FontSize_WithTitleContent@android_240ppi.png |  Bin 2009 -> 2412 bytes
 ...Bar_FontSize_WithTitleContent@ios_320ppi.png |  Bin 0 -> 2915 bytes
 ...Bar_FontSize_WithTitleContent@win_320ppi.png |  Bin 1565 -> 1872 bytes
 ...ctionBar_HorizontalCenter@android_240ppi.png |  Bin 797 -> 865 bytes
 .../ActionBar_HorizontalCenter@ios_320ppi.png   |  Bin 0 -> 1058 bytes
 ...cation_backgroundAlpha_03@android_240ppi.png |  Bin 1222 -> 1477 bytes
 ...pplication_backgroundAlpha_03@ios_320ppi.png |  Bin 0 -> 1886 bytes
 ...pplication_backgroundAlpha_03@win_320ppi.png |  Bin 888 -> 1095 bytes
 ...cation_backgroundAlpha_05@android_240ppi.png |  Bin 1283 -> 1526 bytes
 ...pplication_backgroundAlpha_05@ios_320ppi.png |  Bin 0 -> 1996 bytes
 ...pplication_backgroundAlpha_05@win_320ppi.png |  Bin 1001 -> 1207 bytes
 ...ication_backgroundAlpha_0@android_240ppi.png |  Bin 817 -> 1083 bytes
 ...Application_backgroundAlpha_0@ios_320ppi.png |  Bin 0 -> 1365 bytes
 ...Application_backgroundAlpha_0@win_320ppi.png |  Bin 545 -> 753 bytes
 ...ication_backgroundAlpha_1@android_240ppi.png |  Bin 1296 -> 1490 bytes
 ...Application_backgroundAlpha_1@ios_320ppi.png |  Bin 0 -> 2014 bytes
 ...Application_backgroundAlpha_1@win_320ppi.png |  Bin 1120 -> 1297 bytes
 ...Application_default_style@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...bileApplication_default_style@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...bileApplication_default_style@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...efault_titleDisplay_style@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...on_default_titleDisplay_style@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...on_default_titleDisplay_style@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...leApplication_fontSize_10@android_240ppi.png |  Bin 2175 -> 2595 bytes
 ...MobileApplication_fontSize_10@ios_320ppi.png |  Bin 0 -> 2995 bytes
 ...MobileApplication_fontSize_10@win_320ppi.png |  Bin 1542 -> 1890 bytes
 ...leApplication_fontSize_35@android_240ppi.png |  Bin 4883 -> 5869 bytes
 ...MobileApplication_fontSize_35@ios_320ppi.png |  Bin 0 -> 6318 bytes
 ...MobileApplication_fontSize_35@win_320ppi.png |  Bin 2327 -> 3369 bytes
 ...plication_fontWeight_bold@android_240ppi.png |  Bin 6275 -> 7935 bytes
 ...leApplication_fontWeight_bold@ios_320ppi.png |  Bin 0 -> 8149 bytes
 ...leApplication_fontWeight_bold@win_320ppi.png |  Bin 2804 -> 4208 bytes
 ...ication_fontWeight_normal@android_240ppi.png |  Bin 6424 -> 7938 bytes
 ...Application_fontWeight_normal@ios_320ppi.png |  Bin 0 -> 8156 bytes
 ...Application_fontWeight_normal@win_320ppi.png |  Bin 2827 -> 4205 bytes
 ...cation_style_change_color@android_240ppi.png |  Bin 3352 -> 3283 bytes
 ...pplication_style_change_color@ios_320ppi.png |  Bin 0 -> 3345 bytes
 ...pplication_style_change_color@win_320ppi.png |  Bin 1320 -> 1783 bytes
 ...change_fontFamily_Georgia@android_240ppi.png |  Bin 1660 -> 1949 bytes
 ...yle_change_fontFamily_Georgia@ios_320ppi.png |  Bin 0 -> 2542 bytes
 ...yle_change_fontFamily_Georgia@win_320ppi.png |  Bin 1182 -> 1478 bytes
 ...ion_style_change_fontSize@android_240ppi.png |  Bin 2850 -> 3188 bytes
 ...ication_style_change_fontSize@ios_320ppi.png |  Bin 0 -> 3246 bytes
 ...ication_style_change_fontSize@win_320ppi.png |  Bin 1320 -> 1909 bytes
 ...n_style_change_fontWeight@android_240ppi.png |  Bin 2853 -> 3204 bytes
 ...ation_style_change_fontWeight@ios_320ppi.png |  Bin 0 -> 3255 bytes
 ...ation_style_change_fontWeight@win_320ppi.png |  Bin 1294 -> 1922 bytes
 ...tion_style_change_leading@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...lication_style_change_leading@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...lication_style_change_leading@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_letterSpacing-5@android_240ppi.png |  Bin 1219 -> 1322 bytes
 ..._style_change_letterSpacing-5@ios_320ppi.png |  Bin 0 -> 1900 bytes
 ..._style_change_letterSpacing-5@win_320ppi.png |  Bin 1062 -> 1186 bytes
 ...yle_change_letterSpacing5@android_240ppi.png |  Bin 1354 -> 1612 bytes
 ...n_style_change_letterSpacing5@ios_320ppi.png |  Bin 0 -> 2133 bytes
 ...n_style_change_letterSpacing5@win_320ppi.png |  Bin 1103 -> 1304 bytes
 ...nge_letterSpacing_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ..._change_letterSpacing_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ..._change_letterSpacing_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...e_change_textAlign_center@android_240ppi.png |  Bin 1360 -> 1613 bytes
 ...style_change_textAlign_center@ios_320ppi.png |  Bin 0 -> 2153 bytes
 ...style_change_textAlign_center@win_320ppi.png |  Bin 1141 -> 1325 bytes
 ...yle_change_textAlign_left@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...n_style_change_textAlign_left@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...n_style_change_textAlign_left@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_textAlign_right@android_240ppi.png |  Bin 1340 -> 1613 bytes
 ..._style_change_textAlign_right@ios_320ppi.png |  Bin 0 -> 2140 bytes
 ..._style_change_textAlign_right@win_320ppi.png |  Bin 1140 -> 1329 bytes
 ...ge_textDecoration_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...change_textDecoration_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...change_textDecoration_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...hange_textDecoration_none@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...le_change_textDecoration_none@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...le_change_textDecoration_none@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 1363 -> 1624 bytes
 ...ange_textDecoration_underline@ios_320ppi.png |  Bin 0 -> 2144 bytes
 ...ange_textDecoration_underline@win_320ppi.png |  Bin 1131 -> 1318 bytes
 ...yle_change_textIndent_100@android_240ppi.png |  Bin 1366 -> 1616 bytes
 ...n_style_change_textIndent_100@ios_320ppi.png |  Bin 0 -> 2146 bytes
 ...n_style_change_textIndent_100@win_320ppi.png |  Bin 1122 -> 1314 bytes
 ...change_textIndent_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...yle_change_textIndent_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...yle_change_textIndent_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_textShadowColor@android_240ppi.png |  Bin 1399 -> 1661 bytes
 ..._style_change_textShadowColor@ios_320ppi.png |  Bin 0 -> 2191 bytes
 ..._style_change_textShadowColor@win_320ppi.png |  Bin 1121 -> 1335 bytes
 ...ication_titleAlign_center@android_240ppi.png |  Bin 1360 -> 1614 bytes
 ...Application_titleAlign_center@ios_320ppi.png |  Bin 0 -> 2152 bytes
 ...Application_titleAlign_center@win_320ppi.png |  Bin 1142 -> 1327 bytes
 ...cation_titleAlign_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...pplication_titleAlign_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...pplication_titleAlign_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...plication_titleAlign_left@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...leApplication_titleAlign_left@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...leApplication_titleAlign_left@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...lication_titleAlign_right@android_240ppi.png |  Bin 1340 -> 1613 bytes
 ...eApplication_titleAlign_right@ios_320ppi.png |  Bin 0 -> 2140 bytes
 ...eApplication_titleAlign_right@win_320ppi.png |  Bin 1140 -> 1329 bytes
 ...ionBar_Styles_Application@android_240ppi.png |  Bin 1115 -> 1321 bytes
 .../ActionBar_Styles_Application@ios_320ppi.png |  Bin 0 -> 1745 bytes
 .../ActionBar_Styles_Application@win_320ppi.png |  Bin 845 -> 1004 bytes
 .../ActionBar_Styles_MXML@android_240ppi.png    |  Bin 2166 -> 1099 bytes
 .../ActionBar_Styles_MXML@ios_320ppi.png        |  Bin 0 -> 1730 bytes
 ...ActionBar_TextShadowAlpha@android_240ppi.png |  Bin 2352 -> 2545 bytes
 .../ActionBar_TextShadowAlpha@ios_320ppi.png    |  Bin 0 -> 3293 bytes
 .../ActionBar_TextShadowAlpha@win_320ppi.png    |  Bin 1310 -> 1656 bytes
 ...ActionBar_TextShadowColor@android_240ppi.png |  Bin 3218 -> 3350 bytes
 .../ActionBar_TextShadowColor@ios_320ppi.png    |  Bin 0 -> 4268 bytes
 .../ActionBar_TextShadowColor@win_320ppi.png    |  Bin 1531 -> 2073 bytes
 ...tionBar_TitleAlign_Center@android_240ppi.png |  Bin 1231 -> 1414 bytes
 .../ActionBar_TitleAlign_Center@ios_320ppi.png  |  Bin 0 -> 1851 bytes
 .../ActionBar_TitleAlign_Center@win_320ppi.png  |  Bin 917 -> 1092 bytes
 ...ionBar_TitleAlign_Default@android_240ppi.png |  Bin 1216 -> 1410 bytes
 .../ActionBar_TitleAlign_Default@ios_320ppi.png |  Bin 0 -> 1847 bytes
 .../ActionBar_TitleAlign_Default@win_320ppi.png |  Bin 908 -> 1078 bytes
 ...ctionBar_TitleAlign_Right@android_240ppi.png |  Bin 1218 -> 1407 bytes
 .../ActionBar_TitleAlign_Right@ios_320ppi.png   |  Bin 0 -> 1860 bytes
 .../ActionBar_TitleAlign_Right@win_320ppi.png   |  Bin 929 -> 1102 bytes
 ...ionBar_TitleDisplay_Color@android_240ppi.png |  Bin 3172 -> 3397 bytes
 .../ActionBar_TitleDisplay_Color@ios_320ppi.png |  Bin 0 -> 4323 bytes
 .../ActionBar_TitleDisplay_Color@win_320ppi.png |  Bin 1529 -> 2269 bytes
 ...r_TitleDisplay_FontFamily@android_240ppi.png |  Bin 3079 -> 3882 bytes
 ...onBar_TitleDisplay_FontFamily@ios_320ppi.png |  Bin 0 -> 4625 bytes
 ...onBar_TitleDisplay_FontFamily@win_320ppi.png |  Bin 1588 -> 2197 bytes
 ...Bar_TitleDisplay_FontSize@android_240ppi.png |  Bin 2107 -> 2600 bytes
 ...tionBar_TitleDisplay_FontSize@ios_320ppi.png |  Bin 0 -> 2864 bytes
 ...tionBar_TitleDisplay_FontSize@win_320ppi.png |  Bin 1122 -> 1450 bytes
 ...r_TitleDisplay_FontWeight@android_240ppi.png |  Bin 2733 -> 3422 bytes
 ...onBar_TitleDisplay_FontWeight@ios_320ppi.png |  Bin 0 -> 4313 bytes
 ...onBar_TitleDisplay_FontWeight@win_320ppi.png |  Bin 1487 -> 2065 bytes
 ...nBar_TitleDisplay_Leading@android_240ppi.png |  Bin 2759 -> 3268 bytes
 ...ctionBar_TitleDisplay_Leading@ios_320ppi.png |  Bin 0 -> 4175 bytes
 ...ctionBar_TitleDisplay_Leading@win_320ppi.png |  Bin 1529 -> 2102 bytes
 ...itleDisplay_LetterSpacing@android_240ppi.png |  Bin 2844 -> 3362 bytes
 ...ar_TitleDisplay_LetterSpacing@ios_320ppi.png |  Bin 0 -> 4257 bytes
 ...ar_TitleDisplay_LetterSpacing@win_320ppi.png |  Bin 1580 -> 2175 bytes
 ...ar_TitleDisplay_TextAlign@android_240ppi.png |  Bin 2877 -> 3382 bytes
 ...ionBar_TitleDisplay_TextAlign@ios_320ppi.png |  Bin 0 -> 4227 bytes
 ...ionBar_TitleDisplay_TextAlign@win_320ppi.png |  Bin 1557 -> 2148 bytes
 ...tleDisplay_TextDecoration@android_240ppi.png |  Bin 2766 -> 3263 bytes
 ...r_TitleDisplay_TextDecoration@ios_320ppi.png |  Bin 0 -> 4177 bytes
 ...r_TitleDisplay_TextDecoration@win_320ppi.png |  Bin 1534 -> 2103 bytes
 ...r_TitleDisplay_TextIndent@android_240ppi.png |  Bin 2809 -> 3315 bytes
 ...onBar_TitleDisplay_TextIndent@ios_320ppi.png |  Bin 0 -> 4247 bytes
 ...onBar_TitleDisplay_TextIndent@win_320ppi.png |  Bin 1574 -> 2158 bytes
 ...leDisplay_TextShadowColor@android_240ppi.png |  Bin 3218 -> 3350 bytes
 ..._TitleDisplay_TextShadowColor@ios_320ppi.png |  Bin 0 -> 4268 bytes
 ..._TitleDisplay_TextShadowColor@win_320ppi.png |  Bin 1531 -> 2073 bytes
 ...ionBar_TopBottomLeftRight@android_240ppi.png |  Bin 803 -> 909 bytes
 .../ActionBar_TopBottomLeftRight@ios_320ppi.png |  Bin 0 -> 1024 bytes
 .../ActionBar_VerticalCenter@android_240ppi.png |  Bin 752 -> 814 bytes
 .../ActionBar_VerticalCenter@ios_320ppi.png     |  Bin 0 -> 981 bytes
 ...igator_backgroundAlpha_05@android_240ppi.png |  Bin 0 -> 1541 bytes
 ...wNavigator_backgroundAlpha_05@ios_320ppi.png |  Bin 0 -> 2014 bytes
 ...vigator_backgroundAlpha_0@android_240ppi.png |  Bin 0 -> 972 bytes
 ...ewNavigator_backgroundAlpha_0@ios_320ppi.png |  Bin 0 -> 1258 bytes
 ...vigator_backgroundAlpha_1@android_240ppi.png |  Bin 0 -> 1556 bytes
 ...ewNavigator_backgroundAlpha_1@ios_320ppi.png |  Bin 0 -> 2095 bytes
 ...ViewNavigator_chromeColor@android_240ppi.png |  Bin 1181 -> 1334 bytes
 ...Bar_ViewNavigator_chromeColor@ios_320ppi.png |  Bin 0 -> 1758 bytes
 ...Bar_ViewNavigator_chromeColor@win_320ppi.png |  Bin 1017 -> 1210 bytes
 ...ewNavigator_default_style@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...r_ViewNavigator_default_style@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...r_ViewNavigator_default_style@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...igator_style_change_color@android_240ppi.png |  Bin 1412 -> 3283 bytes
 ...wNavigator_style_change_color@ios_320ppi.png |  Bin 0 -> 3345 bytes
 ...change_fontFamily_Georgia@android_240ppi.png |  Bin 1660 -> 1949 bytes
 ...yle_change_fontFamily_Georgia@ios_320ppi.png |  Bin 0 -> 2542 bytes
 ...yle_change_fontFamily_Georgia@win_320ppi.png |  Bin 1182 -> 1478 bytes
 ...tor_style_change_fontSize@android_240ppi.png |  Bin 0 -> 3188 bytes
 ...vigator_style_change_fontSize@ios_320ppi.png |  Bin 0 -> 3246 bytes
 ...r_style_change_fontWeight@android_240ppi.png |  Bin 1420 -> 3204 bytes
 ...gator_style_change_fontWeight@ios_320ppi.png |  Bin 0 -> 3255 bytes
 ...gator_style_change_fontWeight@win_320ppi.png |  Bin 1162 -> 1561 bytes
 ...ator_style_change_leading@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...avigator_style_change_leading@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...avigator_style_change_leading@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_letterSpacing-5@android_240ppi.png |  Bin 1219 -> 1322 bytes
 ..._style_change_letterSpacing-5@ios_320ppi.png |  Bin 0 -> 1900 bytes
 ..._style_change_letterSpacing-5@win_320ppi.png |  Bin 1062 -> 1186 bytes
 ...yle_change_letterSpacing5@android_240ppi.png |  Bin 1354 -> 1612 bytes
 ...r_style_change_letterSpacing5@ios_320ppi.png |  Bin 0 -> 2133 bytes
 ...r_style_change_letterSpacing5@win_320ppi.png |  Bin 1103 -> 1304 bytes
 ...nge_letterSpacing_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ..._change_letterSpacing_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ..._change_letterSpacing_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...e_change_textAlign_center@android_240ppi.png |  Bin 1360 -> 1613 bytes
 ...style_change_textAlign_center@ios_320ppi.png |  Bin 0 -> 2153 bytes
 ...style_change_textAlign_center@win_320ppi.png |  Bin 1141 -> 1325 bytes
 ...yle_change_textAlign_left@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...r_style_change_textAlign_left@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...r_style_change_textAlign_left@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_textAlign_right@android_240ppi.png |  Bin 1340 -> 1613 bytes
 ..._style_change_textAlign_right@ios_320ppi.png |  Bin 0 -> 2140 bytes
 ..._style_change_textAlign_right@win_320ppi.png |  Bin 1140 -> 1329 bytes
 ...ge_textDecoration_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...change_textDecoration_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...change_textDecoration_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...hange_textDecoration_none@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...le_change_textDecoration_none@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...le_change_textDecoration_none@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 1363 -> 1624 bytes
 ...ange_textDecoration_underline@ios_320ppi.png |  Bin 0 -> 2144 bytes
 ...ange_textDecoration_underline@win_320ppi.png |  Bin 1131 -> 1318 bytes
 ...yle_change_textIndent_100@android_240ppi.png |  Bin 1366 -> 1616 bytes
 ...r_style_change_textIndent_100@ios_320ppi.png |  Bin 0 -> 2146 bytes
 ...r_style_change_textIndent_100@win_320ppi.png |  Bin 1122 -> 1314 bytes
 ...change_textIndent_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...yle_change_textIndent_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...yle_change_textIndent_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_textShadowColor@android_240ppi.png |  Bin 1405 -> 1640 bytes
 ..._style_change_textShadowColor@ios_320ppi.png |  Bin 0 -> 2183 bytes
 ..._style_change_textShadowColor@win_320ppi.png |  Bin 1122 -> 1313 bytes
 ..._change_titleAlign_center@android_240ppi.png |  Bin 1360 -> 1614 bytes
 ...tyle_change_titleAlign_center@ios_320ppi.png |  Bin 0 -> 2152 bytes
 ...tyle_change_titleAlign_center@win_320ppi.png |  Bin 1142 -> 1327 bytes
 ...change_titleAlign_default@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ...yle_change_titleAlign_default@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ...yle_change_titleAlign_default@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...le_change_titleAlign_left@android_240ppi.png |  Bin 1338 -> 1610 bytes
 ..._style_change_titleAlign_left@ios_320ppi.png |  Bin 0 -> 2129 bytes
 ..._style_change_titleAlign_left@win_320ppi.png |  Bin 1119 -> 1305 bytes
 ...e_change_titleAlign_right@android_240ppi.png |  Bin 1340 -> 1613 bytes
 ...style_change_titleAlign_right@ios_320ppi.png |  Bin 0 -> 2140 bytes
 ...style_change_titleAlign_right@win_320ppi.png |  Bin 1140 -> 1329 bytes
 .../components/ActionBar/swfs/ActionBar.mxml    |    3 +
 .../swfs/components/ActionBarView1.mxml         |    2 +-
 .../BusyIndicator_Integration_tester.mxml       |   27 +-
 .../baselines/BI_SDK_29330@ios_320ppi.png       |  Bin 0 -> 1414 bytes
 .../BI_size_comp_scaleXandscaleY@ios_320ppi.png |  Bin 0 -> 1658 bytes
 ...comp_scaleXandscaleYandscaleZ@ios_320ppi.png |  Bin 0 -> 3274 bytes
 .../BI_size_comp_size_0x0@ios_320ppi.png        |  Bin 0 -> 988 bytes
 .../BI_size_comp_size_100x100@ios_320ppi.png    |  Bin 0 -> 2612 bytes
 .../BI_size_comp_size_200x200@ios_320ppi.png    |  Bin 0 -> 4938 bytes
 .../BI_size_comp_size_25x25@ios_320ppi.png      |  Bin 0 -> 1046 bytes
 .../baselines/BI_size_default@ios_320ppi.png    |  Bin 0 -> 1736 bytes
 .../BI_size_dif_height_width@ios_320ppi.png     |  Bin 0 -> 1744 bytes
 .../BI_size_dif_width_height@ios_320ppi.png     |  Bin 0 -> 1744 bytes
 .../baselines/BI_symbolColor@ios_320ppi.png     |  Bin 0 -> 1503 bytes
 .../BI_symbolColor_default@ios_320ppi.png       |  Bin 0 -> 1736 bytes
 .../swfs/utils/qe/WeakReferenceDictionary.as    |    4 +-
 ...Mobile_Button_events_move@android_240ppi.png |  Bin 2667 -> 3383 bytes
 .../Mobile_Button_events_move@ios_320ppi.png    |  Bin 0 -> 3450 bytes
 .../components/Button/events/button_events.mxml |    4 +-
 ..._integration_default_btn1@android_240ppi.png |  Bin 1326 -> 1723 bytes
 ...Icon_integration_default_btn1@ios_320ppi.png |  Bin 0 -> 1484 bytes
 ...Icon_integration_default_btn2@ios_320ppi.png |  Bin 0 -> 1203 bytes
 ...Icon_integration_default_btn4@ios_320ppi.png |  Bin 0 -> 911 bytes
 ..._integration_default_btn5@android_240ppi.png |  Bin 1663 -> 1948 bytes
 ...Icon_integration_default_btn5@ios_320ppi.png |  Bin 0 -> 2520 bytes
 ...Icon_integration_default_btn6@ios_320ppi.png |  Bin 0 -> 1292 bytes
 ...n_integration_noIcon_btn6@android_240ppi.png |  Bin 1692 -> 2289 bytes
 ..._Icon_integration_noIcon_btn6@ios_320ppi.png |  Bin 0 -> 2563 bytes
 ...n_integration_state1_btn1@android_240ppi.png |  Bin 2808 -> 3758 bytes
 ..._Icon_integration_state1_btn1@ios_320ppi.png |  Bin 0 -> 4382 bytes
 ..._Icon_integration_state1_btn2@ios_320ppi.png |  Bin 0 -> 911 bytes
 ...n_integration_state1_btn3@android_240ppi.png |  Bin 1648 -> 1940 bytes
 ..._Icon_integration_state1_btn3@ios_320ppi.png |  Bin 0 -> 2504 bytes
 ...n_integration_state1_btn4@android_240ppi.png |  Bin 1363 -> 1530 bytes
 ..._Icon_integration_state1_btn4@ios_320ppi.png |  Bin 0 -> 2017 bytes
 ...n_integration_state1_btn5@android_240ppi.png |  Bin 1587 -> 1898 bytes
 ..._Icon_integration_state1_btn5@ios_320ppi.png |  Bin 0 -> 2381 bytes
 ...n_integration_state1_btn6@android_240ppi.png |  Bin 2680 -> 3194 bytes
 ..._Icon_integration_state1_btn6@ios_320ppi.png |  Bin 0 -> 3924 bytes
 ...ation_default_state_label@android_240ppi.png |  Bin 1930 -> 2375 bytes
 ...tegration_default_state_label@ios_320ppi.png |  Bin 0 -> 3033 bytes
 ...rom_includeIn_state_label@android_240ppi.png |  Bin 1947 -> 2447 bytes
 ...udeFrom_includeIn_state_label@ios_320ppi.png |  Bin 0 -> 3101 bytes
 ...ration_state1_state_click@android_240ppi.png |  Bin 1492 -> 1994 bytes
 ...ntegration_state1_state_click@ios_320ppi.png |  Bin 0 -> 2511 bytes
 ...1_state_label_chromeColor@android_240ppi.png |  Bin 1898 -> 2189 bytes
 ...tate1_state_label_chromeColor@ios_320ppi.png |  Bin 0 -> 2823 bytes
 ...ration_state2_state_click@android_240ppi.png |  Bin 1664 -> 2142 bytes
 ...ntegration_state2_state_click@ios_320ppi.png |  Bin 0 -> 2722 bytes
 ...2_state_label_chromeColor@android_240ppi.png |  Bin 2045 -> 2310 bytes
 ...tate2_state_label_chromeColor@ios_320ppi.png |  Bin 0 -> 3008 bytes
 .../integration/button_icon_integration.mxml    |   24 +-
 .../Button/integration/button_integration.mxml  |   12 +-
 ...tton_Change_label_runtime@android_240ppi.png |  Bin 3990 -> 5218 bytes
 ...e_Button_Change_label_runtime@ios_320ppi.png |  Bin 0 -> 7043 bytes
 ...n_Changing_label_property@android_240ppi.png |  Bin 4666 -> 6476 bytes
 ...utton_Changing_label_property@ios_320ppi.png |  Bin 0 -> 8282 bytes
 ...xWidth_property_10_to_100@android_240ppi.png |  Bin 1362 -> 838 bytes
 ...g_maxWidth_property_10_to_100@ios_320ppi.png |  Bin 0 -> 1018 bytes
 ...ng_height_less_than_label@android_240ppi.png |  Bin 544 -> 544 bytes
 ...ecking_height_less_than_label@ios_320ppi.png |  Bin 0 -> 509 bytes
 ..._Checking_height_property@android_240ppi.png |  Bin 1799 -> 2208 bytes
 ...tton_Checking_height_property@ios_320ppi.png |  Bin 0 -> 2419 bytes
 ...n_Checking_label_property@android_240ppi.png |  Bin 1860 -> 2282 bytes
 ...utton_Checking_label_property@ios_320ppi.png |  Bin 0 -> 2713 bytes
 ...Checking_maxWidth_property_10@ios_320ppi.png |  Bin 0 -> 489 bytes
 ...ecking_minHeight_property_100@ios_320ppi.png |  Bin 0 -> 781 bytes
 ...hecking_minWidth_property_100@ios_320ppi.png |  Bin 0 -> 805 bytes
 ...ton_Checking_neg5point6_x@android_240ppi.png |  Bin 2986 -> 3609 bytes
 ..._Button_Checking_neg5point6_x@ios_320ppi.png |  Bin 0 -> 4345 bytes
 ...ton_Checking_neg5point6_y@android_240ppi.png |  Bin 2965 -> 3588 bytes
 ..._Button_Checking_neg5point6_y@ios_320ppi.png |  Bin 0 -> 4388 bytes
 ..._percentHeight_property_0@android_240ppi.png |  Bin 2731 -> 3749 bytes
 ...king_percentHeight_property_0@ios_320ppi.png |  Bin 0 -> 4168 bytes
 ...ercentHeight_property_100@android_240ppi.png |  Bin 2940 -> 3862 bytes
 ...ng_percentHeight_property_100@ios_320ppi.png |  Bin 0 -> 4173 bytes
 ..._percentHeight_property_1@android_240ppi.png |  Bin 2731 -> 3749 bytes
 ...king_percentHeight_property_1@ios_320ppi.png |  Bin 0 -> 4168 bytes
 ...percentHeight_property_50@android_240ppi.png |  Bin 2825 -> 3829 bytes
 ...ing_percentHeight_property_50@ios_320ppi.png |  Bin 0 -> 4202 bytes
 ...th_percentHeight_property_100@ios_320ppi.png |  Bin 0 -> 775 bytes
 ...g_percentWidth_property_0@android_240ppi.png |  Bin 1344 -> 1470 bytes
 ...cking_percentWidth_property_0@ios_320ppi.png |  Bin 0 -> 1718 bytes
 ...percentWidth_property_100@android_240ppi.png |  Bin 2740 -> 3742 bytes
 ...ing_percentWidth_property_100@ios_320ppi.png |  Bin 0 -> 4162 bytes
 ...g_percentWidth_property_1@android_240ppi.png |  Bin 1344 -> 1470 bytes
 ...cking_percentWidth_property_1@ios_320ppi.png |  Bin 0 -> 1718 bytes
 ..._percentWidth_property_50@android_240ppi.png |  Bin 2086 -> 2406 bytes
 ...king_percentWidth_property_50@ios_320ppi.png |  Bin 0 -> 2442 bytes
 ...hecking_scaleX_2_property@android_240ppi.png |  Bin 3969 -> 4086 bytes
 ...on_Checking_scaleX_2_property@ios_320ppi.png |  Bin 0 -> 5104 bytes
 ..._scaleX_point565_property@android_240ppi.png |  Bin 2282 -> 2455 bytes
 ...king_scaleX_point565_property@ios_320ppi.png |  Bin 0 -> 3070 bytes
 ...ng_scaleX_point5_property@android_240ppi.png |  Bin 2137 -> 2106 bytes
 ...ecking_scaleX_point5_property@ios_320ppi.png |  Bin 0 -> 2763 bytes
 ...hecking_scaleY_2_property@android_240ppi.png |  Bin 4359 -> 4538 bytes
 ...on_Checking_scaleY_2_property@ios_320ppi.png |  Bin 0 -> 6363 bytes
 ..._scaleY_point565_property@android_240ppi.png |  Bin 1777 -> 2094 bytes
 ...king_scaleY_point565_property@ios_320ppi.png |  Bin 0 -> 2459 bytes
 ...ng_scaleY_point5_property@android_240ppi.png |  Bin 1703 -> 1696 bytes
 ...ecking_scaleY_point5_property@ios_320ppi.png |  Bin 0 -> 2289 bytes
 ...ecking_styleName_property@android_240ppi.png |  Bin 3573 -> 4501 bytes
 ...n_Checking_styleName_property@ios_320ppi.png |  Bin 0 -> 5481 bytes
 ...ng_visible_false_property@android_240ppi.png |  Bin 5344 -> 6786 bytes
 ...ecking_visible_false_property@ios_320ppi.png |  Bin 0 -> 7100 bytes
 ...le_true_property_visually@android_240ppi.png |  Bin 1860 -> 2282 bytes
 ...isible_true_property_visually@ios_320ppi.png |  Bin 0 -> 2713 bytes
 ...Button_Checking_width_100@android_240ppi.png |  Bin 1362 -> 1675 bytes
 ...ile_Button_Checking_width_100@ios_320ppi.png |  Bin 0 -> 1461 bytes
 ...utton_Checking_width_26point5@ios_320ppi.png |  Bin 0 -> 711 bytes
 ..._Button_Checking_width_50@android_240ppi.png |  Bin 962 -> 1021 bytes
 ...bile_Button_Checking_width_50@ios_320ppi.png |  Bin 0 -> 947 bytes
 ...bile_Button_Checking_x_50@android_240ppi.png |  Bin 3029 -> 3509 bytes
 .../Mobile_Button_Checking_x_50@ios_320ppi.png  |  Bin 0 -> 4199 bytes
 ...bile_Button_Checking_y_56@android_240ppi.png |  Bin 3078 -> 3632 bytes
 .../Mobile_Button_Checking_y_56@ios_320ppi.png  |  Bin 0 -> 4618 bytes
 ...ile_Button_alpha_property@android_240ppi.png |  Bin 1756 -> 2078 bytes
 .../Mobile_Button_alpha_property@ios_320ppi.png |  Bin 0 -> 2748 bytes
 ...ner_scaleX_scaleY_point33@android_240ppi.png |  Bin 978 -> 1208 bytes
 ...ntainer_scaleX_scaleY_point33@ios_320ppi.png |  Bin 0 -> 1703 bytes
 ...le_Button_emphasized_true@android_240ppi.png |  Bin 1870 -> 2112 bytes
 ...Mobile_Button_emphasized_true@ios_320ppi.png |  Bin 0 -> 2886 bytes
 ...on_enabled_false_property@android_240ppi.png |  Bin 1653 -> 1852 bytes
 ...Button_enabled_false_property@ios_320ppi.png |  Bin 0 -> 2237 bytes
 ...e_Button_height_width_300@android_240ppi.png |  Bin 3001 -> 3191 bytes
 ...obile_Button_height_width_300@ios_320ppi.png |  Bin 0 -> 3949 bytes
 ...ile_Button_icon_alpha_0.5@android_240ppi.png |  Bin 2634 -> 3172 bytes
 .../Mobile_Button_icon_alpha_0.5@ios_320ppi.png |  Bin 0 -> 4160 bytes
 ...obile_Button_icon_alpha_0@android_240ppi.png |  Bin 222 -> 219 bytes
 .../Mobile_Button_icon_alpha_0@ios_320ppi.png   |  Bin 0 -> 302 bytes
 ...bel_height_less_than_icon@android_240ppi.png |  Bin 286 -> 288 bytes
 ...d_label_height_less_than_icon@ios_320ppi.png |  Bin 0 -> 328 bytes
 ...abel_width_less_than_icon@android_240ppi.png |  Bin 442 -> 444 bytes
 ...nd_label_width_less_than_icon@ios_320ppi.png |  Bin 0 -> 530 bytes
 ...e_Button_icon_as_childTag@android_240ppi.png |  Bin 4267 -> 5161 bytes
 ...obile_Button_icon_as_childTag@ios_320ppi.png |  Bin 0 -> 6250 bytes
 ...utton_icon_down_alpha_0.5@android_240ppi.png |  Bin 2735 -> 3325 bytes
 ...le_Button_icon_down_alpha_0.5@ios_320ppi.png |  Bin 0 -> 4351 bytes
 ...tton_icon_emphasized_true@android_240ppi.png |  Bin 3335 -> 3717 bytes
 ...e_Button_icon_emphasized_true@ios_320ppi.png |  Bin 0 -> 4845 bytes
 ...tton_icon_height_increase@android_240ppi.png |  Bin 2136 -> 2486 bytes
 ...e_Button_icon_height_increase@ios_320ppi.png |  Bin 0 -> 3204 bytes
 ...on_icon_height_less_than_icon@ios_320ppi.png |  Bin 0 -> 326 bytes
 ...icon_label_change_runtime@android_240ppi.png |  Bin 3416 -> 4929 bytes
 ...ton_icon_label_change_runtime@ios_320ppi.png |  Bin 0 -> 6051 bytes
 .../Mobile_Button_icon_scaleX_2@ios_320ppi.png  |  Bin 0 -> 1484 bytes
 ...ile_Button_icon_scaleX_point5@ios_320ppi.png |  Bin 0 -> 913 bytes
 .../Mobile_Button_icon_scaleY_2@ios_320ppi.png  |  Bin 0 -> 1622 bytes
 ...ile_Button_icon_scaleY_point5@ios_320ppi.png |  Bin 0 -> 758 bytes
 ...utton_icon_width_increase@android_240ppi.png |  Bin 2160 -> 2449 bytes
 ...le_Button_icon_width_increase@ios_320ppi.png |  Bin 0 -> 3238 bytes
 ...ton_icon_width_less_than_icon@ios_320ppi.png |  Bin 0 -> 515 bytes
 ..._icon_with_label_scaleX_2@android_240ppi.png |  Bin 3051 -> 2936 bytes
 ...tton_icon_with_label_scaleX_2@ios_320ppi.png |  Bin 0 -> 4049 bytes
 ..._with_label_scaleX_point5@android_240ppi.png |  Bin 1764 -> 1656 bytes
 ...icon_with_label_scaleX_point5@ios_320ppi.png |  Bin 0 -> 2261 bytes
 ...bel_scaleX_scaleY_1point5@android_240ppi.png |  Bin 3574 -> 3498 bytes
 ...h_label_scaleX_scaleY_1point5@ios_320ppi.png |  Bin 0 -> 4614 bytes
 ..._icon_with_label_scaleY_2@android_240ppi.png |  Bin 3418 -> 3329 bytes
 ...tton_icon_with_label_scaleY_2@ios_320ppi.png |  Bin 0 -> 4540 bytes
 ..._with_label_scaleY_point5@android_240ppi.png |  Bin 1498 -> 1410 bytes
 ...icon_with_label_scaleY_point5@ios_320ppi.png |  Bin 0 -> 1988 bytes
 ..._with_label_visible_false@android_240ppi.png |  Bin 1958 -> 2125 bytes
 ...icon_with_label_visible_false@ios_320ppi.png |  Bin 0 -> 2554 bytes
 .../Mobile_Button_no_label@ios_320ppi.png       |  Bin 0 -> 749 bytes
 ...Button_rotationX_property@android_240ppi.png |  Bin 2245 -> 5200 bytes
 ...ile_Button_rotationX_property@ios_320ppi.png |  Bin 0 -> 6419 bytes
 ...Button_rotationY_property@android_240ppi.png |  Bin 2791 -> 6069 bytes
 ...ile_Button_rotationY_property@ios_320ppi.png |  Bin 0 -> 7174 bytes
 ...Button_rotationZ_property@android_240ppi.png |  Bin 4665 -> 4919 bytes
 ...ile_Button_rotationZ_property@ios_320ppi.png |  Bin 0 -> 5636 bytes
 ..._Button_rotation_property@android_240ppi.png |  Bin 4665 -> 4919 bytes
 ...bile_Button_rotation_property@ios_320ppi.png |  Bin 0 -> 5636 bytes
 ...le_Button_scaleZ_property@android_240ppi.png |  Bin 1870 -> 3789 bytes
 ...Mobile_Button_scaleZ_property@ios_320ppi.png |  Bin 0 -> 5128 bytes
 ...ghlighting_false_property@android_240ppi.png |  Bin 1860 -> 2767 bytes
 ...kyHighlighting_false_property@ios_320ppi.png |  Bin 0 -> 3479 bytes
 ...ighlighting_true_property@android_240ppi.png |  Bin 2283 -> 2767 bytes
 ...ckyHighlighting_true_property@ios_320ppi.png |  Bin 0 -> 3479 bytes
 ...icon_add_after_long_label@android_240ppi.png |  Bin 4746 -> 6397 bytes
 ...ton_icon_add_after_long_label@ios_320ppi.png |  Bin 0 -> 8416 bytes
 ...con_add_after_short_label@android_240ppi.png |  Bin 2035 -> 2396 bytes
 ...on_icon_add_after_short_label@ios_320ppi.png |  Bin 0 -> 3145 bytes
 ...obile_button_icon_button_down@ios_320ppi.png |  Bin 0 -> 1739 bytes
 ..._button_icon_change_value@android_240ppi.png |  Bin 1632 -> 1622 bytes
 ...bile_button_icon_change_value@ios_320ppi.png |  Bin 0 -> 2165 bytes
 .../mobile_button_icon_clear@ios_320ppi.png     |  Bin 0 -> 765 bytes
 .../mobile_button_icon_disabled@ios_320ppi.png  |  Bin 0 -> 1102 bytes
 ...ile_button_icon_fxg_class@android_240ppi.png |  Bin 931 -> 940 bytes
 .../mobile_button_icon_fxg_class@ios_320ppi.png |  Bin 0 -> 1117 bytes
 ...button_icon_fxg_component@android_240ppi.png |  Bin 931 -> 940 bytes
 ...ile_button_icon_fxg_component@ios_320ppi.png |  Bin 0 -> 1117 bytes
 .../mobile_button_icon_gif@ios_320ppi.png       |  Bin 0 -> 965 bytes
 .../mobile_button_icon_jpg@android_240ppi.png   |  Bin 1632 -> 1622 bytes
 .../mobile_button_icon_jpg@ios_320ppi.png       |  Bin 0 -> 2165 bytes
 ...le_button_icon_mxml_component@ios_320ppi.png |  Bin 0 -> 1301 bytes
 .../mobile_button_icon_png@ios_320ppi.png       |  Bin 0 -> 1175 bytes
 .../mobile_button_icon_swf@android_240ppi.png   |  Bin 2132 -> 667 bytes
 .../mobile_button_icon_swf@ios_320ppi.png       |  Bin 0 -> 793 bytes
 ...on_with_label_button_down@android_240ppi.png |  Bin 2350 -> 2760 bytes
 ...n_icon_with_label_button_down@ios_320ppi.png |  Bin 0 -> 3521 bytes
 ...n_with_label_change_value@android_240ppi.png |  Bin 2092 -> 2409 bytes
 ..._icon_with_label_change_value@ios_320ppi.png |  Bin 0 -> 3186 bytes
 ...ton_icon_with_label_clear@android_240ppi.png |  Bin 1748 -> 2192 bytes
 ..._button_icon_with_label_clear@ios_320ppi.png |  Bin 0 -> 2779 bytes
 ..._icon_with_label_disabled@android_240ppi.png |  Bin 1771 -> 2004 bytes
 ...tton_icon_with_label_disabled@ios_320ppi.png |  Bin 0 -> 2474 bytes
 ...h_long_label_change_value@android_240ppi.png |  Bin 3859 -> 5083 bytes
 ..._with_long_label_change_value@ios_320ppi.png |  Bin 0 -> 7570 bytes
 .../properties/button_icon_properties.mxml      |   82 +-
 .../Button/properties/button_properties.mxml    |  142 +-
 ...ession_height_measurement@android_240ppi.png |  Bin 2276 -> 2285 bytes
 ...regression_height_measurement@ios_320ppi.png |  Bin 0 -> 2425 bytes
 ...ion_measuredText_rounding@android_240ppi.png |  Bin 2116 -> 2446 bytes
 ...ression_measuredText_rounding@ios_320ppi.png |  Bin 0 -> 3349 bytes
 .../Button/regression/button_regression.mxml    |    4 +-
 .../Button/regression/button_regression2.mxml   |    2 +-
 ...n_style_css_iconPlacement@android_240ppi.png |  Bin 2214 -> 2302 bytes
 ...utton_style_css_iconPlacement@ios_320ppi.png |  Bin 0 -> 2915 bytes
 ..._css_style_disabled_state@android_240ppi.png |  Bin 1993 -> 2338 bytes
 ...tyle_css_style_disabled_state@ios_320ppi.png |  Bin 0 -> 2796 bytes
 ...e_down_state_first_button@android_240ppi.png |  Bin 2863 -> 3240 bytes
 ...style_down_state_first_button@ios_320ppi.png |  Bin 0 -> 3625 bytes
 ...tyle_upState_first_button@android_240ppi.png |  Bin 2226 -> 2842 bytes
 ...ss_style_upState_first_button@ios_320ppi.png |  Bin 0 -> 3041 bytes
 ...le_up_state_second_button@android_240ppi.png |  Bin 3087 -> 3505 bytes
 ..._style_up_state_second_button@ios_320ppi.png |  Bin 0 -> 4517 bytes
 ...tyles_accentColor_default@android_240ppi.png |  Bin 2746 -> 2959 bytes
 ...on_styles_accentColor_default@ios_320ppi.png |  Bin 0 -> 3946 bytes
 ...yles_accentColor_disabled@android_240ppi.png |  Bin 1887 -> 2065 bytes
 ...n_styles_accentColor_disabled@ios_320ppi.png |  Bin 0 -> 2881 bytes
 ...tyles_accentColor_pressed@android_240ppi.png |  Bin 2477 -> 2753 bytes
 ...on_styles_accentColor_pressed@ios_320ppi.png |  Bin 0 -> 3761 bytes
 ...tyles_accentColor_setInAS@android_240ppi.png |  Bin 1882 -> 2096 bytes
 ...on_styles_accentColor_setInAS@ios_320ppi.png |  Bin 0 -> 2871 bytes
 ..._styles_accentColor_setInMxml@ios_320ppi.png |  Bin 0 -> 612 bytes
 ...e_Button_styles_bottom_10@android_240ppi.png |  Bin 2483 -> 3084 bytes
 ...obile_Button_styles_bottom_10@ios_320ppi.png |  Bin 0 -> 4016 bytes
 ..._Button_styles_color_blue@android_240ppi.png |  Bin 2351 -> 3018 bytes
 ...bile_Button_styles_color_blue@ios_320ppi.png |  Bin 0 -> 3854 bytes
 ...styles_color_red_setStyle@android_240ppi.png |  Bin 2363 -> 3020 bytes
 ...ton_styles_color_red_setStyle@ios_320ppi.png |  Bin 0 -> 3856 bytes
 ...les_color_styleName_green@android_240ppi.png |  Bin 2405 -> 3024 bytes
 ..._styles_color_styleName_green@ios_320ppi.png |  Bin 0 -> 3853 bytes
 ...n_styles_default_baseline@android_240ppi.png |  Bin 2647 -> 3216 bytes
 ...utton_styles_default_baseline@ios_320ppi.png |  Bin 0 -> 4216 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 2527 -> 2352 bytes
 ...es_disabled_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 3064 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3034 -> 3301 bytes
 ...abled_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 4420 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3347 -> 3362 bytes
 ...yles_disabled_textShadowColor@ios_320ppi.png |  Bin 0 -> 4473 bytes
 ...es_down_textShadowAlpha_0@android_240ppi.png |  Bin 3428 -> 3850 bytes
 ...styles_down_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 5120 bytes
 ...n_textShadowAlpha_1point5@android_240ppi.png |  Bin 3871 -> 4274 bytes
 ..._down_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 5763 bytes
 ...yles_down_textShadowColor@android_240ppi.png |  Bin 3875 -> 4396 bytes
 ...n_styles_down_textShadowColor@ios_320ppi.png |  Bin 0 -> 5935 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3786 -> 3883 bytes
 ...ShadowColor_textShadowAlpha_2@ios_320ppi.png |  Bin 0 -> 5255 bytes
 ...utton_styles_focusAlpha_0@android_240ppi.png |  Bin 3049 -> 3624 bytes
 ...le_Button_styles_focusAlpha_0@ios_320ppi.png |  Bin 0 -> 4763 bytes
 ...styles_focusAlpha_1point5@android_240ppi.png |  Bin 3511 -> 4049 bytes
 ...ton_styles_focusAlpha_1point5@ios_320ppi.png |  Bin 0 -> 5320 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 3418 -> 4039 bytes
 ..._styles_focusBlendMode_invert@ios_320ppi.png |  Bin 0 -> 5305 bytes
 ...s_focusBlendMode_subtract@android_240ppi.png |  Bin 3542 -> 4076 bytes
 ...tyles_focusBlendMode_subtract@ios_320ppi.png |  Bin 0 -> 5357 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 3518 -> 4054 bytes
 ...ton_styles_focusColor_default@ios_320ppi.png |  Bin 0 -> 5320 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 3534 -> 4077 bytes
 ...n_styles_focusColor_set_in_AS@ios_320ppi.png |  Bin 0 -> 5354 bytes
 ...n_styles_focusThickness_0@android_240ppi.png |  Bin 3068 -> 3632 bytes
 ...utton_styles_focusThickness_0@ios_320ppi.png |  Bin 0 -> 4768 bytes
 ...n_styles_focusThickness_4@android_240ppi.png |  Bin 3608 -> 4146 bytes
 ...utton_styles_focusThickness_4@ios_320ppi.png |  Bin 0 -> 5460 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 3518 -> 4054 bytes
 ...a_thickness_blendmode_default@ios_320ppi.png |  Bin 0 -> 5320 bytes
 ..._thickness_blendmode_mxml@android_240ppi.png |  Bin 3581 -> 4152 bytes
 ...lpha_thickness_blendmode_mxml@ios_320ppi.png |  Bin 0 -> 5443 bytes
 ...les_fontFamily_CourierNew@android_240ppi.png |  Bin 2490 -> 3451 bytes
 ..._styles_fontFamily_CourierNew@ios_320ppi.png |  Bin 0 -> 4341 bytes
 ...amily_CourierNew_setStyle@android_240ppi.png |  Bin 2490 -> 3451 bytes
 ...ontFamily_CourierNew_setStyle@ios_320ppi.png |  Bin 0 -> 4341 bytes
 ...yles_fontSetting_disabled@android_240ppi.png |  Bin 2222 -> 2760 bytes
 ...n_styles_fontSetting_disabled@ios_320ppi.png |  Bin 0 -> 2947 bytes
 ...yles_fontSetting_selected@android_240ppi.png |  Bin 2912 -> 4025 bytes
 ...n_styles_fontSetting_selected@ios_320ppi.png |  Bin 0 -> 4435 bytes
 ...Button_styles_fontSize_18@android_240ppi.png |  Bin 1945 -> 2418 bytes
 ...ile_Button_styles_fontSize_18@ios_320ppi.png |  Bin 0 -> 2632 bytes
 ...yles_fontSize_18_setStyle@android_240ppi.png |  Bin 1945 -> 2418 bytes
 ...n_styles_fontSize_18_setStyle@ios_320ppi.png |  Bin 0 -> 2632 bytes
 ...e_Button_styles_fontStyle@android_240ppi.png |  Bin 2502 -> 3083 bytes
 ...obile_Button_styles_fontStyle@ios_320ppi.png |  Bin 0 -> 3972 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 2194 -> 2499 bytes
 ...ton_styles_fontStyle_disabled@ios_320ppi.png |  Bin 0 -> 3229 bytes
 ...on_styles_fontWeight_bold@android_240ppi.png |  Bin 2423 -> 3337 bytes
 ...Button_styles_fontWeight_bold@ios_320ppi.png |  Bin 0 -> 3998 bytes
 ..._fontWeight_bold_setStyle@android_240ppi.png |  Bin 2423 -> 3337 bytes
 ...yles_fontWeight_bold_setStyle@ios_320ppi.png |  Bin 0 -> 3998 bytes
 ...ton_styles_font_styleName@android_240ppi.png |  Bin 2047 -> 2883 bytes
 ..._Button_styles_font_styleName@ios_320ppi.png |  Bin 0 -> 3085 bytes
 ...Button_styles_kerning_off@android_240ppi.png |  Bin 1503 -> 2175 bytes
 ...ile_Button_styles_kerning_off@ios_320ppi.png |  Bin 0 -> 2668 bytes
 ..._Button_styles_kerning_on@android_240ppi.png |  Bin 1503 -> 2175 bytes
 ...bile_Button_styles_kerning_on@ios_320ppi.png |  Bin 0 -> 2668 bytes
 ...leading_change_at_runtime@android_240ppi.png |  Bin 2588 -> 3238 bytes
 ...les_leading_change_at_runtime@ios_320ppi.png |  Bin 0 -> 4187 bytes
 ...on_styles_leading_default@android_240ppi.png |  Bin 2588 -> 3238 bytes
 ...Button_styles_leading_default@ios_320ppi.png |  Bin 0 -> 4187 bytes
 ...ile_Button_styles_left_10@android_240ppi.png |  Bin 2511 -> 3082 bytes
 .../Mobile_Button_styles_left_10@ios_320ppi.png |  Bin 0 -> 4047 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 3508 -> 4768 bytes
 ...tterSpacing_change_at_runtime@ios_320ppi.png |  Bin 0 -> 5713 bytes
 ...tyles_lineThrough_default@android_240ppi.png |  Bin 2859 -> 3821 bytes
 ...on_styles_lineThrough_default@ios_320ppi.png |  Bin 0 -> 5183 bytes
 ...on_styles_over_customSkin@android_240ppi.png |  Bin 1839 -> 1875 bytes
 ...Button_styles_over_customSkin@ios_320ppi.png |  Bin 0 -> 1875 bytes
 ...le_Button_styles_right_25@android_240ppi.png |  Bin 2566 -> 3139 bytes
 ...Mobile_Button_styles_right_25@ios_320ppi.png |  Bin 0 -> 4099 bytes
 ...utton_styles_set_baseline@android_240ppi.png |  Bin 2502 -> 3061 bytes
 ...le_Button_styles_set_baseline@ios_320ppi.png |  Bin 0 -> 3912 bytes
 ...yles_set_horizontalCenter@android_240ppi.png |  Bin 2554 -> 3114 bytes
 ...n_styles_set_horizontalCenter@ios_320ppi.png |  Bin 0 -> 4091 bytes
 ...yles_set_verticalCenter_5@android_240ppi.png |  Bin 2483 -> 3078 bytes
 ...n_styles_set_verticalCenter_5@ios_320ppi.png |  Bin 0 -> 4016 bytes
 ..._skin_disabled_long_label@android_240ppi.png |  Bin 5177 -> 6433 bytes
 ...yles_skin_disabled_long_label@ios_320ppi.png |  Bin 0 -> 7128 bytes
 ...ed_long_label_chromeColor@android_240ppi.png |  Bin 6900 -> 7619 bytes
 ...sabled_long_label_chromeColor@ios_320ppi.png |  Bin 0 -> 8065 bytes
 ...styles_skin_disabled_no_label@ios_320ppi.png |  Bin 0 -> 550 bytes
 ...disabled_no_label_chromeColor@ios_320ppi.png |  Bin 0 -> 578 bytes
 ...skin_disabled_short_label@android_240ppi.png |  Bin 2107 -> 2504 bytes
 ...les_skin_disabled_short_label@ios_320ppi.png |  Bin 0 -> 2253 bytes
 ...d_short_label_chromeColor@android_240ppi.png |  Bin 2726 -> 3020 bytes
 ...abled_short_label_chromeColor@ios_320ppi.png |  Bin 0 -> 2609 bytes
 ...es_skin_normal_long_label@android_240ppi.png |  Bin 5767 -> 8235 bytes
 ...styles_skin_normal_long_label@ios_320ppi.png |  Bin 0 -> 8801 bytes
 ...al_long_label_chromeColor@android_240ppi.png |  Bin 6859 -> 7954 bytes
 ...normal_long_label_chromeColor@ios_320ppi.png |  Bin 0 -> 7959 bytes
 ...n_styles_skin_normal_no_label@ios_320ppi.png |  Bin 0 -> 568 bytes
 ...n_normal_no_label_chromeColor@ios_320ppi.png |  Bin 0 -> 586 bytes
 ...s_skin_normal_short_label@android_240ppi.png |  Bin 2375 -> 3105 bytes
 ...tyles_skin_normal_short_label@ios_320ppi.png |  Bin 0 -> 2652 bytes
 ...l_short_label_chromeColor@android_240ppi.png |  Bin 2672 -> 3049 bytes
 ...ormal_short_label_chromeColor@ios_320ppi.png |  Bin 0 -> 2451 bytes
 ..._skin_selected_long_label@android_240ppi.png |  Bin 6315 -> 9296 bytes
 ...yles_skin_selected_long_label@ios_320ppi.png |  Bin 0 -> 10457 bytes
 ...ed_long_label_chromeColor@android_240ppi.png |  Bin 7421 -> 8518 bytes
 ...lected_long_label_chromeColor@ios_320ppi.png |  Bin 0 -> 9874 bytes
 ...styles_skin_selected_no_label@ios_320ppi.png |  Bin 0 -> 1073 bytes
 ...selected_no_label_chromeColor@ios_320ppi.png |  Bin 0 -> 1260 bytes
 ...skin_selected_short_label@android_240ppi.png |  Bin 2800 -> 3747 bytes
 ...les_skin_selected_short_label@ios_320ppi.png |  Bin 0 -> 3524 bytes
 ...d_short_label_chromeColor@android_240ppi.png |  Bin 3065 -> 3438 bytes
 ...ected_short_label_chromeColor@ios_320ppi.png |  Bin 0 -> 3497 bytes
 ...es_textDecoration_default@android_240ppi.png |  Bin 5872 -> 8186 bytes
 ...styles_textDecoration_default@ios_320ppi.png |  Bin 0 -> 11322 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 4068 -> 5815 bytes
 ...yles_textDecoration_underline@ios_320ppi.png |  Bin 0 -> 7683 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 2896 -> 3205 bytes
 ...tton_styles_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 4157 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 3312 -> 3699 bytes
 ...tyles_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 4887 bytes
 ...on_styles_textShadowColor@android_240ppi.png |  Bin 3482 -> 3868 bytes
 ...Button_styles_textShadowColor@ios_320ppi.png |  Bin 0 -> 5145 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3364 -> 3377 bytes
 ...ShadowColor_textShadowAlpha_2@ios_320ppi.png |  Bin 0 -> 4478 bytes
 ...bile_Button_styles_top_10@android_240ppi.png |  Bin 2483 -> 3063 bytes
 .../Mobile_Button_styles_top_10@ios_320ppi.png  |  Bin 0 -> 4016 bytes
 ...tton_iconPlacement_bottom@android_240ppi.png |  Bin 1974 -> 2330 bytes
 ...e_button_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 2878 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 1882 -> 1994 bytes
 ...acement_bottom_explicitHeight@ios_320ppi.png |  Bin 0 -> 2550 bytes
 ...ement_bottom_label_noIcon@android_240ppi.png |  Bin 1396 -> 1499 bytes
 ...Placement_bottom_label_noIcon@ios_320ppi.png |  Bin 0 -> 1948 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 3035 -> 4089 bytes
 ...iconPlacement_bottom_to_right@ios_320ppi.png |  Bin 0 -> 5247 bytes
 ..._iconPlacement_clearStyle@android_240ppi.png |  Bin 1916 -> 2254 bytes
 ...tton_iconPlacement_clearStyle@ios_320ppi.png |  Bin 0 -> 2841 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 2221 -> 2535 bytes
 ...iconPlacement_css_selectionID@ios_320ppi.png |  Bin 0 -> 3143 bytes
 ...onPlacement_css_styleName@android_240ppi.png |  Bin 3138 -> 4443 bytes
 ...n_iconPlacement_css_styleName@ios_320ppi.png |  Bin 0 -> 5459 bytes
 ...ton_iconPlacement_default@android_240ppi.png |  Bin 1916 -> 2254 bytes
 ..._button_iconPlacement_default@ios_320ppi.png |  Bin 0 -> 2841 bytes
 ...tton_iconPlacement_inline@android_240ppi.png |  Bin 1748 -> 1878 bytes
 ...e_button_iconPlacement_inline@ios_320ppi.png |  Bin 0 -> 2285 bytes
 ...button_iconPlacement_left@android_240ppi.png |  Bin 1916 -> 2254 bytes
 ...ile_button_iconPlacement_left@ios_320ppi.png |  Bin 0 -> 2841 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 1976 -> 2076 bytes
 ...Placement_left_explicitHeight@ios_320ppi.png |  Bin 0 -> 2673 bytes
 ...acement_left_label_noIcon@android_240ppi.png |  Bin 1396 -> 1499 bytes
 ...onPlacement_left_label_noIcon@ios_320ppi.png |  Bin 0 -> 1948 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 2341 -> 2839 bytes
 ...ton_iconPlacement_left_to_top@ios_320ppi.png |  Bin 0 -> 3998 bytes
 ...utton_iconPlacement_right@android_240ppi.png |  Bin 1913 -> 2244 bytes
 ...le_button_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 2829 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2012 -> 2109 bytes
 ...lacement_right_explicitHeight@ios_320ppi.png |  Bin 0 -> 2726 bytes
 ...cement_right_label_noIcon@android_240ppi.png |  Bin 1396 -> 1499 bytes
 ...nPlacement_right_label_noIcon@ios_320ppi.png |  Bin 0 -> 1948 bytes
 ...on_iconPlacement_setStyle@android_240ppi.png |  Bin 1974 -> 2330 bytes
 ...button_iconPlacement_setStyle@ios_320ppi.png |  Bin 0 -> 2878 bytes
 ..._button_iconPlacement_top@android_240ppi.png |  Bin 1875 -> 2183 bytes
 ...bile_button_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 2771 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 1901 -> 2008 bytes
 ...nPlacement_top_explicitHeight@ios_320ppi.png |  Bin 0 -> 2576 bytes
 ...lacement_top_label_noIcon@android_240ppi.png |  Bin 1396 -> 1499 bytes
 ...conPlacement_top_label_noIcon@ios_320ppi.png |  Bin 0 -> 1948 bytes
 ...ton_icon_accentColor_disabled@ios_320ppi.png |  Bin 0 -> 1338 bytes
 ...utton_icon_accentColor_normal@ios_320ppi.png |  Bin 0 -> 1267 bytes
 ...tton_icon_accentColor_pressed@ios_320ppi.png |  Bin 0 -> 2037 bytes
 ...ton_icon_chromeColor_down@android_240ppi.png |  Bin 2537 -> 2540 bytes
 ..._button_icon_chromeColor_down@ios_320ppi.png |  Bin 0 -> 3023 bytes
 ...utton_icon_chromeColor_up@android_240ppi.png |  Bin 2174 -> 2172 bytes
 ...le_button_icon_chromeColor_up@ios_320ppi.png |  Bin 0 -> 2333 bytes
 ...button_icon_css_styleName@android_240ppi.png |  Bin 2819 -> 3368 bytes
 ...ile_button_icon_css_styleName@ios_320ppi.png |  Bin 0 -> 4400 bytes
 ...tton_icon_custom_downSkin@android_240ppi.png |  Bin 2602 -> 2783 bytes
 ...e_button_icon_custom_downSkin@ios_320ppi.png |  Bin 0 -> 3634 bytes
 ...button_icon_custom_upSkin@android_240ppi.png |  Bin 2876 -> 3025 bytes
 ...ile_button_icon_custom_upSkin@ios_320ppi.png |  Bin 0 -> 3863 bytes
 ...icon_iconPlacement_bottom@android_240ppi.png |  Bin 1974 -> 2330 bytes
 ...ton_icon_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 2878 bytes
 ...n_icon_iconPlacement_left@android_240ppi.png |  Bin 1916 -> 2254 bytes
 ...utton_icon_iconPlacement_left@ios_320ppi.png |  Bin 0 -> 2841 bytes
 ..._icon_iconPlacement_right@android_240ppi.png |  Bin 1913 -> 2244 bytes
 ...tton_icon_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 2829 bytes
 ...on_icon_iconPlacement_top@android_240ppi.png |  Bin 1875 -> 2183 bytes
 ...button_icon_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 2771 bytes
 ...with_chromeColor_disabled@android_240ppi.png |  Bin 2465 -> 2488 bytes
 ...con_with_chromeColor_disabled@ios_320ppi.png |  Bin 0 -> 2632 bytes
 ...abel_chromeColor_disabled@android_240ppi.png |  Bin 2403 -> 2535 bytes
 ...th_label_chromeColor_disabled@ios_320ppi.png |  Bin 0 -> 3356 bytes
 ...th_label_chromeColor_down@android_240ppi.png |  Bin 3958 -> 4052 bytes
 ...n_with_label_chromeColor_down@ios_320ppi.png |  Bin 0 -> 4994 bytes
 ...with_label_chromeColor_up@android_240ppi.png |  Bin 3587 -> 3716 bytes
 ...con_with_label_chromeColor_up@ios_320ppi.png |  Bin 0 -> 4359 bytes
 ...ton_icon_with_label_color@android_240ppi.png |  Bin 2751 -> 3116 bytes
 ..._button_icon_with_label_color@ios_320ppi.png |  Bin 0 -> 3924 bytes
 ...el_decrease_letterSpacing@android_240ppi.png |  Bin 3597 -> 4880 bytes
 ..._label_decrease_letterSpacing@ios_320ppi.png |  Bin 0 -> 6400 bytes
 ...con_with_label_fontFamily@android_240ppi.png |  Bin 2762 -> 2836 bytes
 ...on_icon_with_label_fontFamily@ios_320ppi.png |  Bin 0 -> 3878 bytes
 ...ith_label_fontFamily_down@android_240ppi.png |  Bin 3164 -> 3290 bytes
 ...on_with_label_fontFamily_down@ios_320ppi.png |  Bin 0 -> 4440 bytes
 ..._icon_with_label_fontSize@android_240ppi.png |  Bin 2647 -> 3205 bytes
 ...tton_icon_with_label_fontSize@ios_320ppi.png |  Bin 0 -> 3547 bytes
 ..._with_label_fontSize_down@android_240ppi.png |  Bin 3121 -> 3781 bytes
 ...icon_with_label_fontSize_down@ios_320ppi.png |  Bin 0 -> 4212 bytes
 ...icon_with_label_fontStyle@android_240ppi.png |  Bin 2841 -> 3448 bytes
 ...ton_icon_with_label_fontStyle@ios_320ppi.png |  Bin 0 -> 4478 bytes
 ...ith_label_fontStyle_dowwn@android_240ppi.png |  Bin 3201 -> 3959 bytes
 ...on_with_label_fontStyle_dowwn@ios_320ppi.png |  Bin 0 -> 5161 bytes
 ...con_with_label_fontWeight@android_240ppi.png |  Bin 2580 -> 3072 bytes
 ...on_icon_with_label_fontWeight@ios_320ppi.png |  Bin 0 -> 4072 bytes
 ...ith_label_fontWeight_down@android_240ppi.png |  Bin 2972 -> 3642 bytes
 ...on_with_label_fontWeight_down@ios_320ppi.png |  Bin 0 -> 4825 bytes
 ...el_increase_letterSpacing@android_240ppi.png |  Bin 3775 -> 5070 bytes
 ..._label_increase_letterSpacing@ios_320ppi.png |  Bin 0 -> 6628 bytes
 ...with_label_textDecoration@android_240ppi.png |  Bin 2629 -> 3109 bytes
 ...con_with_label_textDecoration@ios_320ppi.png |  Bin 0 -> 4014 bytes
 ...label_textDecoration_down@android_240ppi.png |  Bin 3660 -> 4439 bytes
 ...ith_label_textDecoration_down@ios_320ppi.png |  Bin 0 -> 5752 bytes
 .../Button/styles/button_icon_styles.mxml       |  112 +-
 .../components/Button/styles/button_styles.mxml |  154 +-
 .../Button/styles/button_styles_css.mxml        |   12 +-
 .../ButtonBar_ContainerIntegration.mxml         |    8 +-
 ...inerIntegration_box_test1@android_240ppi.png |  Bin 3230 -> 4245 bytes
 ...ontainerIntegration_box_test1@ios_320ppi.png |  Bin 0 -> 4738 bytes
 ...inerIntegration_box_test2@android_240ppi.png |  Bin 1756 -> 1850 bytes
 ...ontainerIntegration_box_test2@ios_320ppi.png |  Bin 0 -> 1979 bytes
 ...erIntegration_panel_test5@android_240ppi.png |  Bin 2049 -> 2293 bytes
 ...tainerIntegration_panel_test5@ios_320ppi.png |  Bin 0 -> 2761 bytes
 ...erIntegration_popup_test6@android_240ppi.png |  Bin 1555 -> 1767 bytes
 ...tainerIntegration_popup_test6@ios_320ppi.png |  Bin 0 -> 2082 bytes
 .../ButtonBar_buttonBar_keyDownHandler.mxml     |   24 +-
 ...ar_defaultButtonBarItemRendererFunction.mxml |    6 +-
 ...Bar_keyDownHandler_test10@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...ttonBar_keyDownHandler_test10@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...Bar_keyDownHandler_test11@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...ttonBar_keyDownHandler_test11@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...Bar_keyDownHandler_test12@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...ttonBar_keyDownHandler_test12@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...nBar_keyDownHandler_test1@android_240ppi.png |  Bin 2783 -> 3774 bytes
 ...uttonBar_keyDownHandler_test1@ios_320ppi.png |  Bin 0 -> 5033 bytes
 ...nBar_keyDownHandler_test2@android_240ppi.png |  Bin 2783 -> 3774 bytes
 ...uttonBar_keyDownHandler_test2@ios_320ppi.png |  Bin 0 -> 5033 bytes
 ...nBar_keyDownHandler_test3@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...uttonBar_keyDownHandler_test3@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...nBar_keyDownHandler_test4@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...uttonBar_keyDownHandler_test4@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...nBar_keyDownHandler_test5@android_240ppi.png |  Bin 2783 -> 3774 bytes
 ...uttonBar_keyDownHandler_test5@ios_320ppi.png |  Bin 0 -> 5033 bytes
 ...nBar_keyDownHandler_test6@android_240ppi.png |  Bin 2783 -> 3774 bytes
 ...uttonBar_keyDownHandler_test6@ios_320ppi.png |  Bin 0 -> 5033 bytes
 ...nBar_keyDownHandler_test7@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...uttonBar_keyDownHandler_test7@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...nBar_keyDownHandler_test8@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...uttonBar_keyDownHandler_test8@ios_320ppi.png |  Bin 0 -> 5047 bytes
 ...nBar_keyDownHandler_test9@android_240ppi.png |  Bin 2788 -> 3781 bytes
 ...uttonBar_keyDownHandler_test9@ios_320ppi.png |  Bin 0 -> 5047 bytes
 .../customSkinSanityCheck@android_240ppi.png    |  Bin 3442 -> 3408 bytes
 .../customSkinSanityCheck@ios_320ppi.png        |  Bin 0 -> 4799 bytes
 ...temRendererFunction_test1@android_240ppi.png |  Bin 506 -> 487 bytes
 ...BarItemRendererFunction_test1@ios_320ppi.png |  Bin 0 -> 582 bytes
 ...BarItemRendererFunction_test3@ios_320ppi.png |  Bin 0 -> 1483 bytes
 .../ButtonBar/properties/ButtonBar_enabled.mxml |    2 +-
 .../properties/ButtonBar_icon_properties.mxml   |   68 +-
 .../properties/ButtonBar_properties.mxml        |    4 +-
 .../properties/ButtonBar_selectedItem.mxml      |    2 +-
 .../ButtonBar_icon_fxg@android_240ppi.png       |  Bin 2792 -> 3614 bytes
 .../baselines/ButtonBar_icon_fxg@ios_320ppi.png |  Bin 0 -> 4667 bytes
 .../ButtonBar_icon_test10@android_240ppi.png    |  Bin 5562 -> 8056 bytes
 .../ButtonBar_icon_test10@ios_320ppi.png        |  Bin 0 -> 9846 bytes
 .../ButtonBar_icon_test11@android_240ppi.png    |  Bin 4242 -> 5674 bytes
 .../ButtonBar_icon_test11@ios_320ppi.png        |  Bin 0 -> 6990 bytes
 .../ButtonBar_icon_test12@android_240ppi.png    |  Bin 4214 -> 5545 bytes
 .../ButtonBar_icon_test12@ios_320ppi.png        |  Bin 0 -> 7401 bytes
 .../ButtonBar_icon_test13@android_240ppi.png    |  Bin 4034 -> 5758 bytes
 .../ButtonBar_icon_test13@ios_320ppi.png        |  Bin 0 -> 6858 bytes
 .../ButtonBar_icon_test14@android_240ppi.png    |  Bin 3875 -> 6247 bytes
 .../ButtonBar_icon_test14@ios_320ppi.png        |  Bin 0 -> 8033 bytes
 .../ButtonBar_icon_test15@android_240ppi.png    |  Bin 5019 -> 7417 bytes
 .../ButtonBar_icon_test15@ios_320ppi.png        |  Bin 0 -> 9305 bytes
 .../ButtonBar_icon_test16@android_240ppi.png    |  Bin 5031 -> 7352 bytes
 .../ButtonBar_icon_test16@ios_320ppi.png        |  Bin 0 -> 9216 bytes
 .../ButtonBar_icon_test17@android_240ppi.png    |  Bin 5167 -> 7583 bytes
 .../ButtonBar_icon_test17@ios_320ppi.png        |  Bin 0 -> 9452 bytes
 .../ButtonBar_icon_test18@android_240ppi.png    |  Bin 6053 -> 9244 bytes
 .../ButtonBar_icon_test18@ios_320ppi.png        |  Bin 0 -> 11539 bytes
 .../ButtonBar_icon_test19@android_240ppi.png    |  Bin 6069 -> 9094 bytes
 .../ButtonBar_icon_test19@ios_320ppi.png        |  Bin 0 -> 11843 bytes
 .../ButtonBar_icon_test1@android_240ppi.png     |  Bin 5175 -> 7555 bytes
 .../ButtonBar_icon_test1@ios_320ppi.png         |  Bin 0 -> 9318 bytes
 .../ButtonBar_icon_test20@android_240ppi.png    |  Bin 5671 -> 8732 bytes
 .../ButtonBar_icon_test20@ios_320ppi.png        |  Bin 0 -> 10633 bytes
 .../ButtonBar_icon_test21@android_240ppi.png    |  Bin 5175 -> 7555 bytes
 .../ButtonBar_icon_test21@ios_320ppi.png        |  Bin 0 -> 9318 bytes
 .../ButtonBar_icon_test22@android_240ppi.png    |  Bin 5019 -> 7417 bytes
 .../ButtonBar_icon_test22@ios_320ppi.png        |  Bin 0 -> 9305 bytes
 .../ButtonBar_icon_test23@android_240ppi.png    |  Bin 3875 -> 6247 bytes
 .../ButtonBar_icon_test23@ios_320ppi.png        |  Bin 0 -> 8033 bytes
 .../ButtonBar_icon_test24@android_240ppi.png    |  Bin 5927 -> 7001 bytes
 .../ButtonBar_icon_test24@ios_320ppi.png        |  Bin 0 -> 9038 bytes
 .../ButtonBar_icon_test25@android_240ppi.png    |  Bin 5175 -> 7301 bytes
 .../ButtonBar_icon_test25@ios_320ppi.png        |  Bin 0 -> 9036 bytes
 .../ButtonBar_icon_test26@android_240ppi.png    |  Bin 5198 -> 7589 bytes
 .../ButtonBar_icon_test26@ios_320ppi.png        |  Bin 0 -> 9367 bytes
 .../ButtonBar_icon_test27@android_240ppi.png    |  Bin 4988 -> 7426 bytes
 .../ButtonBar_icon_test27@ios_320ppi.png        |  Bin 0 -> 9347 bytes
 .../ButtonBar_icon_test28@android_240ppi.png    |  Bin 5175 -> 7555 bytes
 .../ButtonBar_icon_test28@ios_320ppi.png        |  Bin 0 -> 9318 bytes
 .../ButtonBar_icon_test29@android_240ppi.png    |  Bin 2396 -> 2396 bytes
 .../ButtonBar_icon_test29@ios_320ppi.png        |  Bin 0 -> 2885 bytes
 .../ButtonBar_icon_test2@android_240ppi.png     |  Bin 7060 -> 9897 bytes
 .../ButtonBar_icon_test2@ios_320ppi.png         |  Bin 0 -> 11512 bytes
 .../ButtonBar_icon_test3@android_240ppi.png     |  Bin 7065 -> 9879 bytes
 .../ButtonBar_icon_test3@ios_320ppi.png         |  Bin 0 -> 11524 bytes
 .../ButtonBar_icon_test4@android_240ppi.png     |  Bin 7106 -> 9909 bytes
 .../ButtonBar_icon_test4@ios_320ppi.png         |  Bin 0 -> 11546 bytes
 .../ButtonBar_icon_test5@android_240ppi.png     |  Bin 7060 -> 9897 bytes
 .../ButtonBar_icon_test5@ios_320ppi.png         |  Bin 0 -> 11512 bytes
 .../ButtonBar_icon_test6@android_240ppi.png     |  Bin 5376 -> 7761 bytes
 .../ButtonBar_icon_test6@ios_320ppi.png         |  Bin 0 -> 7081 bytes
 .../ButtonBar_icon_test7@android_240ppi.png     |  Bin 832 -> 917 bytes
 .../ButtonBar_icon_test7@ios_320ppi.png         |  Bin 0 -> 988 bytes
 .../ButtonBar_icon_test8@android_240ppi.png     |  Bin 5604 -> 7943 bytes
 .../ButtonBar_icon_test8@ios_320ppi.png         |  Bin 0 -> 9784 bytes
 .../ButtonBar_icon_test9@android_240ppi.png     |  Bin 5533 -> 7931 bytes
 .../ButtonBar_icon_test9@ios_320ppi.png         |  Bin 0 -> 9800 bytes
 .../baselines/enabled_test2@android_240ppi.png  |  Bin 1354 -> 1473 bytes
 .../baselines/enabled_test2@ios_320ppi.png      |  Bin 0 -> 1788 bytes
 .../selectedItem_sanityTest@android_240ppi.png  |  Bin 3665 -> 4677 bytes
 .../selectedItem_sanityTest@ios_320ppi.png      |  Bin 0 -> 6293 bytes
 .../styles/ButtonBar_GlobalStyles_tester.mxml   |   16 +-
 .../ButtonBar/styles/ButtonBar_styles.mxml      |  110 +-
 ...tonBar_Style_baseColor_as@android_240ppi.png |  Bin 1352 -> 1463 bytes
 .../ButtonBar_Style_baseColor_as@ios_320ppi.png |  Bin 0 -> 2072 bytes
 ..._Style_baseColor_disabled@android_240ppi.png |  Bin 1415 -> 1482 bytes
 ...nBar_Style_baseColor_disabled@ios_320ppi.png |  Bin 0 -> 2020 bytes
 ...Style_baseColor_mouseOver@android_240ppi.png |  Bin 1855 -> 1981 bytes
 ...Bar_Style_baseColor_mouseOver@ios_320ppi.png |  Bin 0 -> 2632 bytes
 ...nBar_Style_baseColor_mxml@android_240ppi.png |  Bin 1352 -> 1463 bytes
 ...uttonBar_Style_baseColor_mxml@ios_320ppi.png |  Bin 0 -> 2072 bytes
 .../ButtonBar_Style_color_as@android_240ppi.png |  Bin 1381 -> 1512 bytes
 .../ButtonBar_Style_color_as@ios_320ppi.png     |  Bin 0 -> 1988 bytes
 ...nBar_Style_color_disabled@android_240ppi.png |  Bin 1139 -> 1218 bytes
 ...uttonBar_Style_color_disabled@ios_320ppi.png |  Bin 0 -> 1574 bytes
 ...uttonBar_Style_color_mxml@android_240ppi.png |  Bin 1381 -> 1512 bytes
 .../ButtonBar_Style_color_mxml@ios_320ppi.png   |  Bin 0 -> 1988 bytes
 ...Bar_Style_focusColor_mxml@android_240ppi.png |  Bin 1304 -> 1527 bytes
 ...ttonBar_Style_focusColor_mxml@ios_320ppi.png |  Bin 0 -> 1991 bytes
 .../color_as_css_test1@android_240ppi.png       |  Bin 2382 -> 2944 bytes
 .../baselines/color_as_css_test1@ios_320ppi.png |  Bin 0 -> 3973 bytes
 .../baselines/color_as_test1@android_240ppi.png |  Bin 2382 -> 2944 bytes
 .../baselines/color_as_test1@ios_320ppi.png     |  Bin 0 -> 3973 bytes
 .../color_mxml_test1@android_240ppi.png         |  Bin 2382 -> 2944 bytes
 .../baselines/color_mxml_test1@ios_320ppi.png   |  Bin 0 -> 3973 bytes
 .../fontFamily_as_css_test1@android_240ppi.png  |  Bin 2378 -> 2689 bytes
 .../fontFamily_as_css_test1@ios_320ppi.png      |  Bin 0 -> 3625 bytes
 .../fontFamily_as_test1@android_240ppi.png      |  Bin 2966 -> 3066 bytes
 .../fontFamily_as_test1@ios_320ppi.png          |  Bin 0 -> 4114 bytes
 .../fontFamily_mxml_test1@android_240ppi.png    |  Bin 2955 -> 3058 bytes
 .../fontFamily_mxml_test1@ios_320ppi.png        |  Bin 0 -> 3527 bytes
 .../fontSize_as_css_test1@android_240ppi.png    |  Bin 1468 -> 1688 bytes
 .../fontSize_as_css_test1@ios_320ppi.png        |  Bin 0 -> 2207 bytes
 .../fontSize_as_css_test2@android_240ppi.png    |  Bin 2275 -> 2963 bytes
 .../fontSize_as_css_test2@ios_320ppi.png        |  Bin 0 -> 3469 bytes
 .../fontSize_as_test1@android_240ppi.png        |  Bin 1468 -> 1688 bytes
 .../baselines/fontSize_as_test1@ios_320ppi.png  |  Bin 0 -> 2207 bytes
 .../fontSize_as_test2@android_240ppi.png        |  Bin 2275 -> 2963 bytes
 .../baselines/fontSize_as_test2@ios_320ppi.png  |  Bin 0 -> 3469 bytes
 .../fontSize_mxml_test1@android_240ppi.png      |  Bin 1468 -> 1688 bytes
 .../fontSize_mxml_test1@ios_320ppi.png          |  Bin 0 -> 2207 bytes
 .../fontSize_mxml_test2@android_240ppi.png      |  Bin 2275 -> 2963 bytes
 .../fontSize_mxml_test2@ios_320ppi.png          |  Bin 0 -> 3469 bytes
 .../fontWeight_as_css_test1@android_240ppi.png  |  Bin 2275 -> 2963 bytes
 .../fontWeight_as_css_test1@ios_320ppi.png      |  Bin 0 -> 3966 bytes
 .../fontWeight_as_css_test2@android_240ppi.png  |  Bin 2237 -> 3053 bytes
 .../fontWeight_as_css_test2@ios_320ppi.png      |  Bin 0 -> 4441 bytes
 .../fontWeight_as_test1@android_240ppi.png      |  Bin 2275 -> 2963 bytes
 .../fontWeight_as_test1@ios_320ppi.png          |  Bin 0 -> 3966 bytes
 .../fontWeight_as_test2@android_240ppi.png      |  Bin 2237 -> 3053 bytes
 .../fontWeight_as_test2@ios_320ppi.png          |  Bin 0 -> 4441 bytes
 .../fontWeight_mxml_test1@android_240ppi.png    |  Bin 2275 -> 2963 bytes
 .../fontWeight_mxml_test1@ios_320ppi.png        |  Bin 0 -> 3966 bytes
 .../fontWeight_mxml_test2@android_240ppi.png    |  Bin 2237 -> 3053 bytes
 .../fontWeight_mxml_test2@ios_320ppi.png        |  Bin 0 -> 4441 bytes
 .../kerning_as_css_test1@android_240ppi.png     |  Bin 1687 -> 2750 bytes
 .../kerning_as_css_test1@ios_320ppi.png         |  Bin 0 -> 3831 bytes
 .../kerning_as_css_test2@android_240ppi.png     |  Bin 1687 -> 2750 bytes
 .../kerning_as_css_test2@ios_320ppi.png         |  Bin 0 -> 3831 bytes
 .../kerning_as_css_test3@android_240ppi.png     |  Bin 1687 -> 2750 bytes
 .../kerning_as_css_test3@ios_320ppi.png         |  Bin 0 -> 3831 bytes
 .../kerning_as_test1@android_240ppi.png         |  Bin 1681 -> 2750 bytes
 .../baselines/kerning_as_test1@ios_320ppi.png   |  Bin 0 -> 3831 bytes
 .../kerning_as_test2@android_240ppi.png         |  Bin 1681 -> 2750 bytes
 .../baselines/kerning_as_test2@ios_320ppi.png   |  Bin 0 -> 3831 bytes
 .../kerning_as_test3@android_240ppi.png         |  Bin 1681 -> 2750 bytes
 .../baselines/kerning_as_test3@ios_320ppi.png   |  Bin 0 -> 3831 bytes
 .../kerning_mxml_test1@android_240ppi.png       |  Bin 1683 -> 2750 bytes
 .../baselines/kerning_mxml_test1@ios_320ppi.png |  Bin 0 -> 3831 bytes
 .../kerning_mxml_test2@android_240ppi.png       |  Bin 1687 -> 2750 bytes
 .../baselines/kerning_mxml_test2@ios_320ppi.png |  Bin 0 -> 3831 bytes
 .../kerning_mxml_test3@android_240ppi.png       |  Bin 1687 -> 2750 bytes
 .../baselines/kerning_mxml_test3@ios_320ppi.png |  Bin 0 -> 3831 bytes
 .../lineThrough_as_css_test1@android_240ppi.png |  Bin 2275 -> 2963 bytes
 .../lineThrough_as_css_test1@ios_320ppi.png     |  Bin 0 -> 3966 bytes
 .../lineThrough_as_css_test2@android_240ppi.png |  Bin 2275 -> 2963 bytes
 .../lineThrough_as_css_test2@ios_320ppi.png     |  Bin 0 -> 3966 bytes
 .../lineThrough_as_test1@android_240ppi.png     |  Bin 2275 -> 2963 bytes
 .../lineThrough_as_test1@ios_320ppi.png         |  Bin 0 -> 3966 bytes
 .../lineThrough_as_test2@android_240ppi.png     |  Bin 2275 -> 2963 bytes
 .../lineThrough_as_test2@ios_320ppi.png         |  Bin 0 -> 3966 bytes
 .../lineThrough_mxml_test1@android_240ppi.png   |  Bin 2275 -> 2963 bytes
 .../lineThrough_mxml_test1@ios_320ppi.png       |  Bin 0 -> 3966 bytes
 .../lineThrough_mxml_test2@android_240ppi.png   |  Bin 2275 -> 2963 bytes
 .../lineThrough_mxml_test2@ios_320ppi.png       |  Bin 0 -> 3966 bytes
 .../baselines/tblr_as_test1@android_240ppi.png  |  Bin 2329 -> 3014 bytes
 .../baselines/tblr_as_test1@ios_320ppi.png      |  Bin 0 -> 4030 bytes
 .../baselines/tblr_as_test2@android_240ppi.png  |  Bin 2341 -> 3037 bytes
 .../baselines/tblr_as_test2@ios_320ppi.png      |  Bin 0 -> 4054 bytes
 .../baselines/tblr_as_test3@android_240ppi.png  |  Bin 2354 -> 3043 bytes
 .../baselines/tblr_as_test3@ios_320ppi.png      |  Bin 0 -> 4063 bytes
 ...xtDecoration_as_css_test1@android_240ppi.png |  Bin 2307 -> 2979 bytes
 .../textDecoration_as_css_test1@ios_320ppi.png  |  Bin 0 -> 3960 bytes
 ...xtDecoration_as_css_test2@android_240ppi.png |  Bin 2275 -> 2963 bytes
 .../textDecoration_as_css_test2@ios_320ppi.png  |  Bin 0 -> 3966 bytes
 .../textDecoration_as_test1@android_240ppi.png  |  Bin 2307 -> 2979 bytes
 .../textDecoration_as_test1@ios_320ppi.png      |  Bin 0 -> 3960 bytes
 .../textDecoration_as_test2@android_240ppi.png  |  Bin 2275 -> 2963 bytes
 .../textDecoration_as_test2@ios_320ppi.png      |  Bin 0 -> 3966 bytes
 ...textDecoration_mxml_test1@android_240ppi.png |  Bin 2307 -> 2979 bytes
 .../textDecoration_mxml_test1@ios_320ppi.png    |  Bin 0 -> 3960 bytes
 ...textDecoration_mxml_test2@android_240ppi.png |  Bin 2275 -> 2963 bytes
 .../textDecoration_mxml_test2@ios_320ppi.png    |  Bin 0 -> 3966 bytes
 .../baselines/vhc_as_test1@android_240ppi.png   |  Bin 2381 -> 3061 bytes
 .../baselines/vhc_as_test1@ios_320ppi.png       |  Bin 0 -> 4066 bytes
 .../baselines/vhc_as_test2@android_240ppi.png   |  Bin 2390 -> 3081 bytes
 .../baselines/vhc_as_test2@ios_320ppi.png       |  Bin 0 -> 4111 bytes
 .../events/CalloutButton_Events.mxml            |    4 +-
 .../properties/CalloutButton_Positioning.mxml   |   80 +-
 .../properties/CalloutButton_Properties.mxml    |   20 +-
 .../properties/Callout_Positioning.mxml         |    2 +-
 .../CalloutButton/styles/Callout_CSS.mxml       |    2 +-
 .../CalloutButton/styles/Callout_Skinning.mxml  |   10 +-
 ...kBox_clearStyle_textStyle@android_240ppi.png |  Bin 3033 -> 3697 bytes
 ...CheckBox_clearStyle_textStyle@ios_320ppi.png |  Bin 0 -> 4892 bytes
 ..._clearStyle_iconPlacement@android_240ppi.png |  Bin 3033 -> 3697 bytes
 ...thod_clearStyle_iconPlacement@ios_320ppi.png |  Bin 0 -> 4892 bytes
 .../CheckBox/methods/checkbox_methods.mxml      |    4 +-
 ...Mobile_CheckBox_alpha_0.5@android_240ppi.png |  Bin 2706 -> 2465 bytes
 .../Mobile_CheckBox_alpha_0.5@ios_320ppi.png    |  Bin 0 -> 3479 bytes
 .../Mobile_CheckBox_alpha_0@android_240ppi.png  |  Bin 182 -> 182 bytes
 .../Mobile_CheckBox_alpha_0@ios_320ppi.png      |  Bin 0 -> 242 bytes
 ...e_CheckBox_down_alpha_0.5@android_240ppi.png |  Bin 2962 -> 2748 bytes
 ...obile_CheckBox_down_alpha_0.5@ios_320ppi.png |  Bin 0 -> 3739 bytes
 ...le_CheckBox_enabled_false@android_240ppi.png |  Bin 2989 -> 2754 bytes
 ...Mobile_CheckBox_enabled_false@ios_320ppi.png |  Bin 0 -> 3970 bytes
 ...Box_enabled_false_clicked@android_240ppi.png |  Bin 2989 -> 2754 bytes
 ...heckBox_enabled_false_clicked@ios_320ppi.png |  Bin 0 -> 3970 bytes
 ...bled_false_runtime_change@android_240ppi.png |  Bin 3710 -> 3527 bytes
 ..._enabled_false_runtime_change@ios_320ppi.png |  Bin 0 -> 4914 bytes
 ...obile_CheckBox_height_default@ios_320ppi.png |  Bin 0 -> 1540 bytes
 ..._CheckBox_height_increase@android_240ppi.png |  Bin 3219 -> 3845 bytes
 ...bile_CheckBox_height_increase@ios_320ppi.png |  Bin 0 -> 4943 bytes
 ...bile_CheckBox_icon_inline@android_240ppi.png |  Bin 1709 -> 1832 bytes
 .../Mobile_CheckBox_icon_inline@ios_320ppi.png  |  Bin 0 -> 2413 bytes
 ...on_scaleX_scaleY_0point33@android_240ppi.png |  Bin 1008 -> 1236 bytes
 ...x_icon_scaleX_scaleY_0point33@ios_320ppi.png |  Bin 0 -> 1759 bytes
 ...con_scaleX_scaleY_0point5@android_240ppi.png |  Bin 1633 -> 1830 bytes
 ...ox_icon_scaleX_scaleY_0point5@ios_320ppi.png |  Bin 0 -> 2610 bytes
 ...con_scaleX_scaleY_1point5@android_240ppi.png |  Bin 5478 -> 5753 bytes
 ...ox_icon_scaleX_scaleY_1point5@ios_320ppi.png |  Bin 0 -> 7687 bytes
 ...time_iconPlacement_bottom@android_240ppi.png |  Bin 3686 -> 4547 bytes
 ..._runtime_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 5680 bytes
 ...untime_iconPlacement_left@android_240ppi.png |  Bin 3567 -> 4413 bytes
 ...ge_runtime_iconPlacement_left@ios_320ppi.png |  Bin 0 -> 5478 bytes
 ...ntime_iconPlacement_right@android_240ppi.png |  Bin 3561 -> 4408 bytes
 ...e_runtime_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 5473 bytes
 ...runtime_iconPlacement_top@android_240ppi.png |  Bin 3735 -> 4576 bytes
 ...nge_runtime_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 5713 bytes
 ...heckBox_label_databinding@android_240ppi.png |  Bin 3112 -> 3666 bytes
 ...le_CheckBox_label_databinding@ios_320ppi.png |  Bin 0 -> 4817 bytes
 ..._long_iconPlacement_right@android_240ppi.png |  Bin 4748 -> 5645 bytes
 ...abel_long_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 7434 bytes
 ...l_short_iconPlacement_top@android_240ppi.png |  Bin 2013 -> 2079 bytes
 ...label_short_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 2737 bytes
 ...ckBox_percentHeight_0_100@android_240ppi.png |  Bin 6178 -> 6870 bytes
 ..._CheckBox_percentHeight_0_100@ios_320ppi.png |  Bin 0 -> 8834 bytes
 ...ckBox_percentHeight_100_0@android_240ppi.png |  Bin 6175 -> 6868 bytes
 ..._CheckBox_percentHeight_100_0@ios_320ppi.png |  Bin 0 -> 8835 bytes
 ...CheckBox_percentHeight_50@android_240ppi.png |  Bin 6179 -> 6870 bytes
 ...ile_CheckBox_percentHeight_50@ios_320ppi.png |  Bin 0 -> 8841 bytes
 ...0_change_container_height@android_240ppi.png |  Bin 6801 -> 7563 bytes
 ...ht_50_change_container_height@ios_320ppi.png |  Bin 0 -> 9608 bytes
 ...eckBox_percentWidth_0_100@android_240ppi.png |  Bin 2737 -> 2967 bytes
 ...e_CheckBox_percentWidth_0_100@ios_320ppi.png |  Bin 0 -> 3917 bytes
 ...eckBox_percentWidth_100_0@android_240ppi.png |  Bin 3832 -> 4611 bytes
 ...e_CheckBox_percentWidth_100_0@ios_320ppi.png |  Bin 0 -> 6028 bytes
 ..._CheckBox_percentWidth_50@android_240ppi.png |  Bin 3740 -> 4389 bytes
 ...bile_CheckBox_percentWidth_50@ios_320ppi.png |  Bin 0 -> 4926 bytes
 ...50_change_container_width@android_240ppi.png |  Bin 3335 -> 3541 bytes
 ...dth_50_change_container_width@ios_320ppi.png |  Bin 0 -> 3638 bytes
 ...kBox_selected_databinding@android_240ppi.png |  Bin 3315 -> 3748 bytes
 ...CheckBox_selected_databinding@ios_320ppi.png |  Bin 0 -> 5332 bytes
 ...set_selected_actionscript@android_240ppi.png |  Bin 2416 -> 2909 bytes
 ...Box_set_selected_actionscript@ios_320ppi.png |  Bin 0 -> 3632 bytes
 ...t_selected_false_disabled@android_240ppi.png |  Bin 2010 -> 1776 bytes
 ...x_set_selected_false_disabled@ios_320ppi.png |  Bin 0 -> 2486 bytes
 ...t_selected_false_on_click@android_240ppi.png |  Bin 2665 -> 3221 bytes
 ...x_set_selected_false_on_click@ios_320ppi.png |  Bin 0 -> 4326 bytes
 ...et_selected_true_disabled@android_240ppi.png |  Bin 2163 -> 1991 bytes
 ...ox_set_selected_true_disabled@ios_320ppi.png |  Bin 0 -> 2706 bytes
 ...et_selected_true_on_click@android_240ppi.png |  Bin 2745 -> 3390 bytes
 ...ox_set_selected_true_on_click@ios_320ppi.png |  Bin 0 -> 4601 bytes
 ...le_CheckBox_set_styleName@android_240ppi.png |  Bin 2330 -> 2340 bytes
 ...Mobile_CheckBox_set_styleName@ios_320ppi.png |  Bin 0 -> 3314 bytes
 ..._stickyHighlighting_false@android_240ppi.png |  Bin 2765 -> 3119 bytes
 ...kBox_stickyHighlighting_false@ios_320ppi.png |  Bin 0 -> 4040 bytes
 ...x_stickyHighlighting_true@android_240ppi.png |  Bin 2899 -> 3276 bytes
 ...ckBox_stickyHighlighting_true@ios_320ppi.png |  Bin 0 -> 4185 bytes
 ...CheckBox_styleName_inline@android_240ppi.png |  Bin 2330 -> 2340 bytes
 ...ile_CheckBox_styleName_inline@ios_320ppi.png |  Bin 0 -> 3314 bytes
 ...le_CheckBox_visible_false@android_240ppi.png |  Bin 12949 -> 14801 bytes
 ...Mobile_CheckBox_visible_false@ios_320ppi.png |  Bin 0 -> 18282 bytes
 .../Mobile_CheckBox_x@android_240ppi.png        |  Bin 2446 -> 2593 bytes
 .../baselines/Mobile_CheckBox_x@ios_320ppi.png  |  Bin 0 -> 3326 bytes
 .../Mobile_CheckBox_y@android_240ppi.png        |  Bin 2313 -> 2512 bytes
 .../baselines/Mobile_CheckBox_y@ios_320ppi.png  |  Bin 0 -> 3203 bytes
 .../properties/checkbox_properties.mxml         |   82 +-
 ...meColor_down_and_selected@android_240ppi.png |  Bin 3272 -> 3814 bytes
 ...chromeColor_down_and_selected@ios_320ppi.png |  Bin 0 -> 4760 bytes
 ...hromeColor_skinState_down@android_240ppi.png |  Bin 3304 -> 3832 bytes
 ...ox_chromeColor_skinState_down@ios_320ppi.png |  Bin 0 -> 4828 bytes
 ..._chromeColor_skinState_up@android_240ppi.png |  Bin 3150 -> 3672 bytes
 ...kBox_chromeColor_skinState_up@ios_320ppi.png |  Bin 0 -> 4654 bytes
 ...olColor_down_and_selected@android_240ppi.png |  Bin 3337 -> 3879 bytes
 ...symbolColor_down_and_selected@ios_320ppi.png |  Bin 0 -> 4792 bytes
 ...heckBox_down_and_selected@android_240ppi.png |  Bin 3101 -> 3626 bytes
 ...le_CheckBox_down_and_selected@ios_320ppi.png |  Bin 0 -> 4477 bytes
 ...e_CheckBox_skinState_down@android_240ppi.png |  Bin 3071 -> 3587 bytes
 ...obile_CheckBox_skinState_down@ios_320ppi.png |  Bin 0 -> 4534 bytes
 ...ile_CheckBox_skinState_up@android_240ppi.png |  Bin 2878 -> 3401 bytes
 .../Mobile_CheckBox_skinState_up@ios_320ppi.png |  Bin 0 -> 4295 bytes
 ...romeColor_up_and_selected@android_240ppi.png |  Bin 3170 -> 3721 bytes
 ...x_chromeColor_up_and_selected@ios_320ppi.png |  Bin 0 -> 4817 bytes
 ..._checkBox_up_and_selected@android_240ppi.png |  Bin 2996 -> 3529 bytes
 ...bile_checkBox_up_and_selected@ios_320ppi.png |  Bin 0 -> 4531 bytes
 .../skinStates/checkbox_skin_states.mxml        |   18 +-
 ..._checkbox_styles_baseline@android_240ppi.png |  Bin 3192 -> 3793 bytes
 ...bile_checkbox_styles_baseline@ios_320ppi.png |  Bin 0 -> 4670 bytes
 ...le_checkbox_styles_bottom@android_240ppi.png |  Bin 3187 -> 3792 bytes
 ...Mobile_checkbox_styles_bottom@ios_320ppi.png |  Bin 0 -> 4880 bytes
 ...eckbox_styles_chromeColor@android_240ppi.png |  Bin 3425 -> 4038 bytes
 ...e_checkbox_styles_chromeColor@ios_320ppi.png |  Bin 0 -> 5234 bytes
 ...yles_chromeColor_disabled@android_240ppi.png |  Bin 3337 -> 3262 bytes
 ...x_styles_chromeColor_disabled@ios_320ppi.png |  Bin 0 -> 4472 bytes
 ...meColor_selected_disabled@android_240ppi.png |  Bin 3374 -> 3308 bytes
 ...chromeColor_selected_disabled@ios_320ppi.png |  Bin 0 -> 4528 bytes
 ...ile_checkbox_styles_color@android_240ppi.png |  Bin 2992 -> 3318 bytes
 .../Mobile_checkbox_styles_color@ios_320ppi.png |  Bin 0 -> 4329 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 3577 -> 4085 bytes
 ...rSpacing_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 5627 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 3501 -> 4017 bytes
 ...erSpacing_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 5485 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 3607 -> 4113 bytes
 ...tterSpacing_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 5664 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 3199 -> 3033 bytes
 ...es_disabled_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 4180 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3199 -> 3033 bytes
 ...abled_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 4180 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3199 -> 3033 bytes
 ...yles_disabled_textShadowColor@ios_320ppi.png |  Bin 0 -> 4180 bytes
 ...ckbox_styles_focusAlpha_0@android_240ppi.png |  Bin 2754 -> 3224 bytes
 ..._checkbox_styles_focusAlpha_0@ios_320ppi.png |  Bin 0 -> 3946 bytes
 ...styles_focusAlpha_1point5@android_240ppi.png |  Bin 3072 -> 3641 bytes
 ...box_styles_focusAlpha_1point5@ios_320ppi.png |  Bin 0 -> 4462 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 3095 -> 3647 bytes
 ..._styles_focusBlendMode_invert@ios_320ppi.png |  Bin 0 -> 4562 bytes
 ...s_focusBlendMode_subtract@android_240ppi.png |  Bin 3041 -> 3597 bytes
 ...tyles_focusBlendMode_subtract@ios_320ppi.png |  Bin 0 -> 4507 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 3065 -> 3602 bytes
 ...box_styles_focusColor_default@ios_320ppi.png |  Bin 0 -> 4526 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 3107 -> 3652 bytes
 ...x_styles_focusColor_set_in_AS@ios_320ppi.png |  Bin 0 -> 4577 bytes
 ...x_styles_focusThickness_0@android_240ppi.png |  Bin 2776 -> 3247 bytes
 ...ckbox_styles_focusThickness_0@ios_320ppi.png |  Bin 0 -> 3969 bytes
 ...x_styles_focusThickness_4@android_240ppi.png |  Bin 3177 -> 3765 bytes
 ...ckbox_styles_focusThickness_4@ios_320ppi.png |  Bin 0 -> 4672 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 3065 -> 3621 bytes
 ...a_thickness_blendmode_default@ios_320ppi.png |  Bin 0 -> 4526 bytes
 ...lpha_thickness_blendmode_mxml@ios_320ppi.png |  Bin 0 -> 1999 bytes
 ...heckbox_styles_fontFamily@android_240ppi.png |  Bin 3338 -> 3724 bytes
 ...le_checkbox_styles_fontFamily@ios_320ppi.png |  Bin 0 -> 4970 bytes
 ...tyles_fontFamily_disabled@android_240ppi.png |  Bin 3277 -> 3034 bytes
 ...ox_styles_fontFamily_disabled@ios_320ppi.png |  Bin 0 -> 4101 bytes
 ..._checkbox_styles_fontSize@android_240ppi.png |  Bin 3453 -> 4076 bytes
 ...bile_checkbox_styles_fontSize@ios_320ppi.png |  Bin 0 -> 4548 bytes
 ..._styles_fontSize_disabled@android_240ppi.png |  Bin 3345 -> 3293 bytes
 ...kbox_styles_fontSize_disabled@ios_320ppi.png |  Bin 0 -> 3880 bytes
 ...checkbox_styles_fontStyle@android_240ppi.png |  Bin 3603 -> 4129 bytes
 ...ile_checkbox_styles_fontStyle@ios_320ppi.png |  Bin 0 -> 5410 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 3436 -> 3296 bytes
 ...box_styles_fontStyle_disabled@ios_320ppi.png |  Bin 0 -> 4469 bytes
 ...heckbox_styles_fontWeight@android_240ppi.png |  Bin 3183 -> 3500 bytes
 ...le_checkbox_styles_fontWeight@ios_320ppi.png |  Bin 0 -> 4967 bytes
 ...tyles_fontWeight_disabled@android_240ppi.png |  Bin 3117 -> 2975 bytes
 ...ox_styles_fontWeight_disabled@ios_320ppi.png |  Bin 0 -> 4168 bytes
 ...horizontalCenter_negative@android_240ppi.png |  Bin 3316 -> 3943 bytes
 ...les_horizontalCenter_negative@ios_320ppi.png |  Bin 0 -> 5015 bytes
 ...horizontalCenter_positive@android_240ppi.png |  Bin 3355 -> 3987 bytes
 ...les_horizontalCenter_positive@ios_320ppi.png |  Bin 0 -> 5072 bytes
 ...yles_iconPlacement_bottom@android_240ppi.png |  Bin 2838 -> 3307 bytes
 ...x_styles_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 4346 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 1918 -> 1927 bytes
 ...acement_bottom_explicitHeight@ios_320ppi.png |  Bin 0 -> 2517 bytes
 ...Placement_bottom_setLabel@android_240ppi.png |  Bin 2838 -> 3307 bytes
 ...iconPlacement_bottom_setLabel@ios_320ppi.png |  Bin 0 -> 4346 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 3021 -> 3460 bytes
 ...iconPlacement_bottom_to_right@ios_320ppi.png |  Bin 0 -> 4393 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 3159 -> 3559 bytes
 ...iconPlacement_css_selectionID@ios_320ppi.png |  Bin 0 -> 4734 bytes
 ...les_iconPlacement_default@android_240ppi.png |  Bin 2917 -> 3509 bytes
 ..._styles_iconPlacement_default@ios_320ppi.png |  Bin 0 -> 4608 bytes
 ...yles_iconPlacement_inline@android_240ppi.png |  Bin 1709 -> 1832 bytes
 ...x_styles_iconPlacement_inline@ios_320ppi.png |  Bin 0 -> 2413 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 2034 -> 2037 bytes
 ...Placement_left_explicitHeight@ios_320ppi.png |  Bin 0 -> 2658 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 2378 -> 2823 bytes
 ...les_iconPlacement_left_to_top@ios_320ppi.png |  Bin 0 -> 3496 bytes
 ...tyles_iconPlacement_right@android_240ppi.png |  Bin 3008 -> 3311 bytes
 ...ox_styles_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 4343 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2042 -> 2038 bytes
 ...lacement_right_explicitHeight@ios_320ppi.png |  Bin 0 -> 2658 bytes
 ...nPlacement_right_setLabel@android_240ppi.png |  Bin 3008 -> 3311 bytes
 ..._iconPlacement_right_setLabel@ios_320ppi.png |  Bin 0 -> 4343 bytes
 ...s_iconPlacement_styleName@android_240ppi.png |  Bin 3029 -> 3572 bytes
 ...tyles_iconPlacement_styleName@ios_320ppi.png |  Bin 0 -> 4861 bytes
 ..._styles_iconPlacement_top@android_240ppi.png |  Bin 2657 -> 3058 bytes
 ...kbox_styles_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 4015 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 1923 -> 1916 bytes
 ...nPlacement_top_explicitHeight@ios_320ppi.png |  Bin 0 -> 2503 bytes
 ...conPlacement_top_setLabel@android_240ppi.png |  Bin 2657 -> 3058 bytes
 ...es_iconPlacement_top_setLabel@ios_320ppi.png |  Bin 0 -> 4015 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 3786 -> 4321 bytes
 ...rSpacing_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 5905 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 3648 -> 4172 bytes
 ...erSpacing_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 5683 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 3832 -> 4357 bytes
 ...tterSpacing_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 5941 bytes
 ...e_checkbox_styles_kerning@android_240ppi.png |  Bin 2176 -> 2590 bytes
 ...obile_checkbox_styles_kerning@ios_320ppi.png |  Bin 0 -> 3342 bytes
 ...x_styles_kerning_disabled@android_240ppi.png |  Bin 2215 -> 2291 bytes
 ...ckbox_styles_kerning_disabled@ios_320ppi.png |  Bin 0 -> 3115 bytes
 ...heckbox_styles_leading_10@android_240ppi.png |  Bin 2873 -> 3316 bytes
 ...le_checkbox_styles_leading_10@ios_320ppi.png |  Bin 0 -> 4418 bytes
 ...ox_styles_leading_default@android_240ppi.png |  Bin 2873 -> 3316 bytes
 ...eckbox_styles_leading_default@ios_320ppi.png |  Bin 0 -> 4418 bytes
 ...bile_checkbox_styles_left@android_240ppi.png |  Bin 3233 -> 3840 bytes
 .../Mobile_checkbox_styles_left@ios_320ppi.png  |  Bin 0 -> 4923 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 3648 -> 4182 bytes
 ...tterSpacing_change_at_runtime@ios_320ppi.png |  Bin 0 -> 5695 bytes
 .../Mobile_checkbox_styles_right@ios_320ppi.png |  Bin 0 -> 1694 bytes
 ...eckbox_styles_symbolColor@android_240ppi.png |  Bin 3302 -> 3905 bytes
 ...e_checkbox_styles_symbolColor@ios_320ppi.png |  Bin 0 -> 5125 bytes
 ...es_symbolColor_deselected@android_240ppi.png |  Bin 3337 -> 3720 bytes
 ...styles_symbolColor_deselected@ios_320ppi.png |  Bin 0 -> 4551 bytes
 ...olor_deselected_toDefault@android_240ppi.png |  Bin 3253 -> 3647 bytes
 ...bolColor_deselected_toDefault@ios_320ppi.png |  Bin 0 -> 4486 bytes
 ...yles_symbolColor_disabled@android_240ppi.png |  Bin 3243 -> 3181 bytes
 ...x_styles_symbolColor_disabled@ios_320ppi.png |  Bin 0 -> 4230 bytes
 ...Color_disabled_deselected@android_240ppi.png |  Bin 3201 -> 3048 bytes
 ...mbolColor_disabled_deselected@ios_320ppi.png |  Bin 0 -> 3906 bytes
 ...bled_deselected_toDefault@android_240ppi.png |  Bin 3172 -> 3018 bytes
 ...disabled_deselected_toDefault@ios_320ppi.png |  Bin 0 -> 3867 bytes
 ...lColor_disabled_toDefault@android_240ppi.png |  Bin 3240 -> 3172 bytes
 ...ymbolColor_disabled_toDefault@ios_320ppi.png |  Bin 0 -> 4215 bytes
 ...les_symbolColor_toDefault@android_240ppi.png |  Bin 3307 -> 3925 bytes
 ..._styles_symbolColor_toDefault@ios_320ppi.png |  Bin 0 -> 5118 bytes
 ...box_styles_textDecoration@android_240ppi.png |  Bin 3208 -> 3796 bytes
 ...heckbox_styles_textDecoration@ios_320ppi.png |  Bin 0 -> 4881 bytes
 ...s_textDecoration_disabled@android_240ppi.png |  Bin 3142 -> 3064 bytes
 ...tyles_textDecoration_disabled@ios_320ppi.png |  Bin 0 -> 4134 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 3286 -> 3611 bytes
 ...kbox_styles_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 4810 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 3286 -> 3611 bytes
 ...tyles_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 4810 bytes
 ...ox_styles_textShadowColor@android_240ppi.png |  Bin 3286 -> 3611 bytes
 ...eckbox_styles_textShadowColor@ios_320ppi.png |  Bin 0 -> 4810 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3286 -> 3611 bytes
 ...ShadowColor_textShadowAlpha_2@ios_320ppi.png |  Bin 0 -> 4810 bytes
 ...obile_checkbox_styles_top@android_240ppi.png |  Bin 3190 -> 3790 bytes
 .../Mobile_checkbox_styles_top@ios_320ppi.png   |  Bin 0 -> 4880 bytes
 ...s_verticalCenter_negative@android_240ppi.png |  Bin 3189 -> 3793 bytes
 ...tyles_verticalCenter_negative@ios_320ppi.png |  Bin 0 -> 4880 bytes
 ...s_verticalCenter_positive@android_240ppi.png |  Bin 3187 -> 3793 bytes
 ...tyles_verticalCenter_positive@ios_320ppi.png |  Bin 0 -> 4880 bytes
 .../CheckBox/styles/checkbox_styles.mxml        |  154 +-
 .../globalization/DS_zh_CN_tester.mxml          |   50 +-
 .../DS_zh_CN_DATEandTime_3@android_240ppi.png   |  Bin 17725 -> 16510 bytes
 .../DS_zh_CN_DATEandTime_3@ios_320ppi.png       |  Bin 0 -> 21744 bytes
 .../DS_zh_CN_normal_DATE_1@android_240ppi.png   |  Bin 14379 -> 15310 bytes
 .../DS_zh_CN_normal_DATE_1@ios_320ppi.png       |  Bin 0 -> 19274 bytes
 .../DS_zh_CN_normal_TIME_2@android_240ppi.png   |  Bin 13430 -> 13045 bytes
 .../DS_zh_CN_normal_TIME_2@ios_320ppi.png       |  Bin 0 -> 17015 bytes
 ...h_CN_selectedDate_mouse_7@android_240ppi.png |  Bin 13942 -> 15391 bytes
 ...DS_zh_CN_selectedDate_mouse_7@ios_320ppi.png |  Bin 0 -> 18762 bytes
 ...h_CN_selectedDate_mouse_8@android_240ppi.png |  Bin 12955 -> 12655 bytes
 ...DS_zh_CN_selectedDate_mouse_8@ios_320ppi.png |  Bin 0 -> 16627 bytes
 ...h_CN_selectedDate_mouse_9@android_240ppi.png |  Bin 16431 -> 15754 bytes
 ...DS_zh_CN_selectedDate_mouse_9@ios_320ppi.png |  Bin 0 -> 19909 bytes
 ...ctedDate_mouse_invalid_10@android_240ppi.png |  Bin 14473 -> 15469 bytes
 ...selectedDate_mouse_invalid_10@ios_320ppi.png |  Bin 0 -> 18966 bytes
 ...ctedDate_mouse_invalid_11@android_240ppi.png |  Bin 12931 -> 12636 bytes
 ...selectedDate_mouse_invalid_11@ios_320ppi.png |  Bin 0 -> 16842 bytes
 ...ctedDate_mouse_invalid_12@android_240ppi.png |  Bin 16529 -> 15221 bytes
 ...selectedDate_mouse_invalid_12@ios_320ppi.png |  Bin 0 -> 20675 bytes
 .../integration/DS_layout_size_tester.mxml      |   42 +-
 .../integration/DS_nestedScroll_tester.mxml     |    2 +-
 ...0_DS_layout_Size_Time_200@android_240ppi.png |  Bin 8274 -> 7798 bytes
 .../10_DS_layout_Size_Time_200@ios_320ppi.png   |  Bin 0 -> 6864 bytes
 ...1_DS_layout_Size_DATE_200@android_240ppi.png |  Bin 8799 -> 8213 bytes
 .../11_DS_layout_Size_DATE_200@ios_320ppi.png   |  Bin 0 -> 7942 bytes
 ...ut_Size_DATE_AND_TIME_200@android_240ppi.png |  Bin 8666 -> 8255 bytes
 ...layout_Size_DATE_AND_TIME_200@ios_320ppi.png |  Bin 0 -> 7952 bytes
 .../13_DS_layout_Size_Time@android_240ppi.png   |  Bin 9791 -> 9309 bytes
 .../13_DS_layout_Size_Time@ios_320ppi.png       |  Bin 0 -> 12172 bytes
 ...out_Size_DATE_100_percent@android_240ppi.png |  Bin 15988 -> 15183 bytes
 ..._layout_Size_DATE_100_percent@ios_320ppi.png |  Bin 0 -> 19939 bytes
 ...DATE_AND_TIME_100_percent@android_240ppi.png |  Bin 17811 -> 16990 bytes
 ...ize_DATE_AND_TIME_100_percent@ios_320ppi.png |  Bin 0 -> 22902 bytes
 ...yout_Size_Time_20_percent@android_240ppi.png |  Bin 1068 -> 1052 bytes
 ...S_layout_Size_Time_20_percent@ios_320ppi.png |  Bin 0 -> 1324 bytes
 ...yout_Size_DATE_20_percent@android_240ppi.png |  Bin 1742 -> 1615 bytes
 ...S_layout_Size_DATE_20_percent@ios_320ppi.png |  Bin 0 -> 2176 bytes
 ..._DATE_AND_TIME_20_percent@android_240ppi.png |  Bin 1059 -> 1280 bytes
 ...Size_DATE_AND_TIME_20_percent@ios_320ppi.png |  Bin 0 -> 1669 bytes
 ...1_DS_layout_Size_Time_100@android_240ppi.png |  Bin 2831 -> 2705 bytes
 .../1_DS_layout_Size_Time_100@ios_320ppi.png    |  Bin 0 -> 2147 bytes
 ...ut_Size_DATE_AND_TIME_100@android_240ppi.png |  Bin 1974 -> 2186 bytes
 ...layout_Size_DATE_AND_TIME_100@ios_320ppi.png |  Bin 0 -> 1518 bytes
 ...3_DS_layout_Size_DATE_100@android_240ppi.png |  Bin 2967 -> 2670 bytes
 .../3_DS_layout_Size_DATE_100@ios_320ppi.png    |  Bin 0 -> 2375 bytes
 ...4_DS_layout_Size_Time_250@android_240ppi.png |  Bin 10940 -> 10365 bytes
 .../4_DS_layout_Size_Time_250@ios_320ppi.png    |  Bin 0 -> 9132 bytes
 ...5_DS_layout_Size_DATE_250@android_240ppi.png |  Bin 13669 -> 13043 bytes
 .../5_DS_layout_Size_DATE_250@ios_320ppi.png    |  Bin 0 -> 10179 bytes
 ...ut_Size_DATE_AND_TIME_250@android_240ppi.png |  Bin 13508 -> 13091 bytes
 ...layout_Size_DATE_AND_TIME_250@ios_320ppi.png |  Bin 0 -> 10862 bytes
 ...7_DS_layout_Size_Time_500@android_240ppi.png |  Bin 18182 -> 16530 bytes
 .../7_DS_layout_Size_Time_500@ios_320ppi.png    |  Bin 0 -> 18940 bytes
 ...8_DS_layout_Size_DATE_500@android_240ppi.png |  Bin 28331 -> 26197 bytes
 .../8_DS_layout_Size_DATE_500@ios_320ppi.png    |  Bin 0 -> 28491 bytes
 ...ut_Size_DATE_AND_TIME_500@android_240ppi.png |  Bin 29632 -> 27228 bytes
 ...layout_Size_DATE_AND_TIME_500@ios_320ppi.png |  Bin 0 -> 28341 bytes
 ...Spinner_nestedScrolling_1@android_240ppi.png |  Bin 20288 -> 22573 bytes
 ...DateSpinner_nestedScrolling_1@ios_320ppi.png |  Bin 0 -> 26241 bytes
 .../DS_properties_displayMode_tester.mxml       |   40 +-
 .../DS_properties_invalidDate_tester.mxml       |   46 +-
 ...roperties_minDate_maxDate_inline_tester.mxml |   22 +-
 .../DS_properties_minDate_maxDate_tester.mxml   |   30 +-
 .../DS_properties_minuteStepSize_tester.mxml    |    4 +-
 .../DS_properties_selectedDate_tester.mxml      |   10 +-
 ...DATETIME_dragToMaxDate_16@android_240ppi.png |  Bin 13759 -> 13255 bytes
 ...DATETIME_dragToMinDate_15@android_240ppi.png |  Bin 14046 -> 13415 bytes
 ...ine_DATE_dragToMaxDate_14@android_240ppi.png |  Bin 11426 -> 11315 bytes
 ...ine_DATE_dragToMinDate_13@android_240ppi.png |  Bin 11458 -> 11626 bytes
 ..._inline_DATE_dragToMinDate_13@ios_320ppi.png |  Bin 0 -> 15111 bytes
 ...h_auto_adjust_toMaxDay_18@android_240ppi.png |  Bin 11426 -> 11315 bytes
 ...h_auto_adjust_toMinDay_19@android_240ppi.png |  Bin 11458 -> 11626 bytes
 ...ATE_not_draggable_year_17@android_240ppi.png |  Bin 11055 -> 11043 bytes
 .../DS_minuteStepSize3@android_240ppi.png       |  Bin 8794 -> 8466 bytes
 .../baselines/DS_minuteStepSize3@ios_320ppi.png |  Bin 0 -> 11224 bytes
 .../DS_minuteStepSize4@android_240ppi.png       |  Bin 16954 -> 16268 bytes
 .../baselines/DS_mode_date@android_240ppi.png   |  Bin 15700 -> 15368 bytes
 .../baselines/DS_mode_date@ios_320ppi.png       |  Bin 0 -> 20243 bytes
 .../DS_mode_date_time@android_240ppi.png        |  Bin 17787 -> 16523 bytes
 .../baselines/DS_mode_date_time@ios_320ppi.png  |  Bin 0 -> 21907 bytes
 ..._mode_date_time_12hour_en@android_240ppi.png |  Bin 17787 -> 16523 bytes
 .../DS_mode_date_time_12hour_en@ios_320ppi.png  |  Bin 0 -> 21907 bytes
 .../DS_mode_date_time_am@android_240ppi.png     |  Bin 14909 -> 14846 bytes
 .../DS_mode_date_time_am@ios_320ppi.png         |  Bin 0 -> 19709 bytes
 ...ode_date_time_overMaxDate@android_240ppi.png |  Bin 12908 -> 12563 bytes
 ...DS_mode_date_time_overMaxDate@ios_320ppi.png |  Bin 0 -> 16877 bytes
 ...ate_time_overMaxDate_Date@android_240ppi.png |  Bin 13704 -> 13103 bytes
 ...de_date_time_overMaxDate_Date@ios_320ppi.png |  Bin 0 -> 18164 bytes
 ...ode_date_time_overMinDate@android_240ppi.png |  Bin 12684 -> 12726 bytes
 ...DS_mode_date_time_overMinDate@ios_320ppi.png |  Bin 0 -> 16904 bytes
 ...ate_time_overMinDate_Date@android_240ppi.png |  Bin 13344 -> 12966 bytes
 ...de_date_time_overMinDate_Date@ios_320ppi.png |  Bin 0 -> 17681 bytes
 .../DS_mode_date_time_pm@android_240ppi.png     |  Bin 17235 -> 16392 bytes
 .../DS_mode_date_time_pm@ios_320ppi.png         |  Bin 0 -> 21911 bytes
 ...date_time_today_highlight@android_240ppi.png |  Bin 17854 -> 16995 bytes
 ...ode_date_time_today_highlight@ios_320ppi.png |  Bin 0 -> 22991 bytes
 ...mode_date_today_highlight@android_240ppi.png |  Bin 16021 -> 15218 bytes
 .../DS_mode_date_today_highlight@ios_320ppi.png |  Bin 0 -> 20025 bytes
 .../baselines/DS_mode_time@android_240ppi.png   |  Bin 9421 -> 8798 bytes
 .../baselines/DS_mode_time@ios_320ppi.png       |  Bin 0 -> 11740 bytes
 .../DS_mode_time_am@android_240ppi.png          |  Bin 9571 -> 8893 bytes
 .../baselines/DS_mode_time_am@ios_320ppi.png    |  Bin 0 -> 11893 bytes
 .../DS_mode_time_pm@android_240ppi.png          |  Bin 9350 -> 8640 bytes
 .../baselines/DS_mode_time_pm@ios_320ppi.png    |  Bin 0 -> 11625 bytes
 ...mode_time_today_highlight@android_240ppi.png |  Bin 9836 -> 9350 bytes
 .../DS_mode_time_today_highlight@ios_320ppi.png |  Bin 0 -> 12262 bytes
 ...pinner_invalidDate_test10@android_240ppi.png |  Bin 14235 -> 14166 bytes
 ...ateSpinner_invalidDate_test10@ios_320ppi.png |  Bin 0 -> 18336 bytes
 ...pinner_invalidDate_test11@android_240ppi.png |  Bin 14235 -> 14166 bytes
 ...ateSpinner_invalidDate_test11@ios_320ppi.png |  Bin 0 -> 18336 bytes
 ...pinner_invalidDate_test12@android_240ppi.png |  Bin 13162 -> 13096 bytes
 ...ateSpinner_invalidDate_test12@ios_320ppi.png |  Bin 0 -> 16833 bytes
 ...pinner_invalidDate_test13@android_240ppi.png |  Bin 16253 -> 15522 bytes
 ...ateSpinner_invalidDate_test13@ios_320ppi.png |  Bin 0 -> 21345 bytes
 ...pinner_invalidDate_test14@android_240ppi.png |  Bin 15602 -> 15381 bytes
 ...ateSpinner_invalidDate_test14@ios_320ppi.png |  Bin 0 -> 19667 bytes
 ...pinner_invalidDate_test15@android_240ppi.png |  Bin 15498 -> 15390 bytes
 ...ateSpinner_invalidDate_test15@ios_320ppi.png |  Bin 0 -> 19669 bytes
 ...pinner_invalidDate_test16@android_240ppi.png |  Bin 15691 -> 15523 bytes
 ...ateSpinner_invalidDate_test16@ios_320ppi.png |  Bin 0 -> 19805 bytes
 ...pinner_invalidDate_test17@android_240ppi.png |  Bin 15691 -> 14983 bytes
 ...ateSpinner_invalidDate_test17@ios_320ppi.png |  Bin 0 -> 20550 bytes
 ...pinner_invalidDate_test18@android_240ppi.png |  Bin 13233 -> 13219 bytes
 ...ateSpinner_invalidDate_test18@ios_320ppi.png |  Bin 0 -> 17005 bytes
 ...pinner_invalidDate_test19@android_240ppi.png |  Bin 13504 -> 13471 bytes
 ...ateSpinner_invalidDate_test19@ios_320ppi.png |  Bin 0 -> 17156 bytes
 ...Spinner_invalidDate_test1@android_240ppi.png |  Bin 13882 -> 13856 bytes
 ...DateSpinner_invalidDate_test1@ios_320ppi.png |  Bin 0 -> 17478 bytes
 ...pinner_invalidDate_test20@android_240ppi.png |  Bin 13517 -> 13085 bytes
 ...ateSpinner_invalidDate_test20@ios_320ppi.png |  Bin 0 -> 17213 bytes
 ...pinner_invalidDate_test21@android_240ppi.png |  Bin 12457 -> 12026 bytes
 ...ateSpinner_invalidDate_test21@ios_320ppi.png |  Bin 0 -> 15638 bytes
 ...Spinner_invalidDate_test2@android_240ppi.png |  Bin 13882 -> 13856 bytes
 ...DateSpinner_invalidDate_test2@ios_320ppi.png |  Bin 0 -> 17478 bytes
 ...Spinner_invalidDate_test3@android_240ppi.png |  Bin 14928 -> 14963 bytes
 ...DateSpinner_invalidDate_test3@ios_320ppi.png |  Bin 0 -> 19062 bytes
 ...Spinner_invalidDate_test4@android_240ppi.png |  Bin 15926 -> 15826 bytes
 ...DateSpinner_invalidDate_test4@ios_320ppi.png |  Bin 0 -> 20328 bytes
 ...Spinner_invalidDate_test5@android_240ppi.png |  Bin 14741 -> 14653 bytes
 ...DateSpinner_invalidDate_test5@ios_320ppi.png |  Bin 0 -> 20037 bytes
 ...Spinner_invalidDate_test6@android_240ppi.png |  Bin 15297 -> 15238 bytes
 ...DateSpinner_invalidDate_test6@ios_320ppi.png |  Bin 0 -> 19606 bytes
 ...Spinner_invalidDate_test7@android_240ppi.png |  Bin 15297 -> 15238 bytes
 ...DateSpinner_invalidDate_test7@ios_320ppi.png |  Bin 0 -> 19606 bytes
 ...Spinner_invalidDate_test8@android_240ppi.png |  Bin 14207 -> 14169 bytes
 ...DateSpinner_invalidDate_test8@ios_320ppi.png |  Bin 0 -> 17957 bytes
 ...Spinner_invalidDate_test9@android_240ppi.png |  Bin 15489 -> 14974 bytes
 ...DateSpinner_invalidDate_test9@ios_320ppi.png |  Bin 0 -> 20592 bytes
 ...te_DATETIME_small_range_7@android_240ppi.png |  Bin 12048 -> 11870 bytes
 ...axDate_DATETIME_small_range_7@ios_320ppi.png |  Bin 0 -> 16056 bytes
 ...axDate_DATE_small_range_6@android_240ppi.png |  Bin 12302 -> 12103 bytes
 ...te_maxDate_DATE_small_range_6@ios_320ppi.png |  Bin 0 -> 16255 bytes
 ...h_hour_minute_DATETIME_15@android_240ppi.png |  Bin 12646 -> 12706 bytes
 ..._with_hour_minute_DATETIME_15@ios_320ppi.png |  Bin 0 -> 17043 bytes
 ..._with_hour_minute_DATE_16@android_240ppi.png |  Bin 11601 -> 11472 bytes
 ...Date_with_hour_minute_DATE_16@ios_320ppi.png |  Bin 0 -> 15125 bytes
 ..._only_maxDate_DATETIME_14@android_240ppi.png |  Bin 13962 -> 13343 bytes
 ...Date_only_maxDate_DATETIME_14@ios_320ppi.png |  Bin 0 -> 18093 bytes
 ...xDate_DATE_testInvalid_12@android_240ppi.png |  Bin 15309 -> 14436 bytes
 ...y_maxDate_DATE_testInvalid_12@ios_320ppi.png |  Bin 0 -> 19263 bytes
 ..._hour_DATE_testInvalid_17@android_240ppi.png |  Bin 13615 -> 13355 bytes
 ...with_hour_DATE_testInvalid_17@ios_320ppi.png |  Bin 0 -> 17547 bytes
 .../DateSpinner/states/DS_states_tester.mxml    |    4 +-
 .../styles/DS_local_style_tester.mxml           |    8 +-
 .../DateSpinner/swfs/TouchScrollingUtil.as      |    2 +-
 .../HSlider/events/HSlider_Events_Test.mxml     |   24 -
 .../HSlider_HomeKeyEvents@android_240ppi.png    |  Bin 2647 -> 2647 bytes
 .../HSlider_HomeKeyEvents@ios_320ppi.png        |  Bin 0 -> 3707 bytes
 .../HSlider_UpKeyEvents@android_240ppi.png      |  Bin 2652 -> 2652 bytes
 .../HSlider_UpKeyEvents@ios_320ppi.png          |  Bin 0 -> 3702 bytes
 .../HSlider/properties/HSlider_Properties.mxml  |   46 +-
 .../baselines/HSlider_thumbPos1@ios_320ppi.png  |  Bin 0 -> 2445 bytes
 .../baselines/HSlider_thumbPos2@ios_320ppi.png  |  Bin 0 -> 2600 bytes
 .../styles/HSlider_Styles_Mirroring.mxml        |   34 +-
 .../HSlider_Mirroring_rtl_as_default.png        |  Bin 1702 -> 1048 bytes
 ...ider_Mirroring_rtl_as_default@ios_320ppi.png |  Bin 0 -> 2382 bytes
 .../baselines/HSlider_Mirroring_rtl_dataTip.png |  Bin 1500 -> 887 bytes
 ...der_Mirroring_rtl_dataTip@android_240ppi.png |  Bin 1502 -> 1621 bytes
 ...HSlider_Mirroring_rtl_dataTip@ios_320ppi.png |  Bin 0 -> 2248 bytes
 .../baselines/HSlider_Mirroring_rtl_default.png |  Bin 1702 -> 1048 bytes
 ...HSlider_Mirroring_rtl_default@ios_320ppi.png |  Bin 0 -> 2382 bytes
 ...er_Mirroring_rtl_keyboard@android_240ppi.png |  Bin 2633 -> 2637 bytes
 ...Slider_Mirroring_rtl_keyboard@ios_320ppi.png |  Bin 0 -> 3691 bytes
 ..._Mirroring_rtl_mxml_changeDir@ios_320ppi.png |  Bin 0 -> 2588 bytes
 .../HSlider_Mirroring_rtl_mxml_default.png      |  Bin 1702 -> 1048 bytes
 ...er_Mirroring_rtl_mxml_default@ios_320ppi.png |  Bin 0 -> 2382 bytes
 .../HSlider_Mirroring_rtl_mxml_value.png        |  Bin 1762 -> 1157 bytes
 ...ider_Mirroring_rtl_mxml_value@ios_320ppi.png |  Bin 0 -> 2588 bytes
 .../HSlider_Mirroring_rtl_parentContainer1.png  |  Bin 1702 -> 1048 bytes
 ...irroring_rtl_parentContainer1@ios_320ppi.png |  Bin 0 -> 2382 bytes
 .../HSlider_Mirroring_rtl_parentContainer2.png  |  Bin 20196 -> 1167 bytes
 ...irroring_rtl_parentContainer2@ios_320ppi.png |  Bin 0 -> 2589 bytes
 .../HSlider_Mirroring_rtl_parentContainer3.png  |  Bin 1811 -> 1093 bytes
 ...irroring_rtl_parentContainer3@ios_320ppi.png |  Bin 0 -> 2290 bytes
 .../HSlider_Mirroring_rtl_rotation.png          |  Bin 1756 -> 1291 bytes
 ...Slider_Mirroring_rtl_rotation@ios_320ppi.png |  Bin 0 -> 2399 bytes
 .../baselines/HSlider_Mirroring_rtl_styles.png  |  Bin 20196 -> 1427 bytes
 .../HSlider_Mirroring_rtl_styles@ios_320ppi.png |  Bin 0 -> 2728 bytes
 .../baselines/HSlider_Mirroring_rtl_value1.png  |  Bin 1770 -> 1160 bytes
 .../HSlider_Mirroring_rtl_value1@ios_320ppi.png |  Bin 0 -> 2591 bytes
 .../baselines/HSlider_Mirroring_rtl_value2.png  |  Bin 1785 -> 1167 bytes
 .../HSlider_Mirroring_rtl_value2@ios_320ppi.png |  Bin 0 -> 2589 bytes
 .../baselines/HSlider_Mirroring_rtl_value3.png  |  Bin 1675 -> 1072 bytes
 .../HSlider_Mirroring_rtl_value3@ios_320ppi.png |  Bin 0 -> 2419 bytes
 .../HSlider_Mirroring_rtl_value4@ios_320ppi.png |  Bin 0 -> 2588 bytes
 .../Image/properties/Image_properties.mxml      |  138 +-
 .../Image_properties_currentState.mxml          |   30 +-
 ...e_FillModescale_ScaleModezoom@ios_320ppi.png |  Bin 0 -> 1816 bytes
 ...age_disabledStateChange_test1@ios_320ppi.png |  Bin 0 -> 223 bytes
 .../Image_enabled_test1@ios_320ppi.png          |  Bin 0 -> 720 bytes
 .../Image_enabled_test2@ios_320ppi.png          |  Bin 0 -> 720 bytes
 .../Image_enabled_test3@ios_320ppi.png          |  Bin 0 -> 592 bytes
 .../Image_enabled_test4@ios_320ppi.png          |  Bin 0 -> 592 bytes
 .../Image_enabled_test5@ios_320ppi.png          |  Bin 0 -> 223 bytes
 .../Image_heightwidth_test1@ios_320ppi.png      |  Bin 0 -> 840 bytes
 .../Image_heightwidth_test2@ios_320ppi.png      |  Bin 0 -> 1205 bytes
 .../Image_heightwidth_test3@ios_320ppi.png      |  Bin 0 -> 2290 bytes
 .../Image_heightwidth_test4@ios_320ppi.png      |  Bin 0 -> 1616 bytes
 .../Image_heightwidth_test5@ios_320ppi.png      |  Bin 0 -> 1189 bytes
 .../Image_heightwidth_test6@ios_320ppi.png      |  Bin 0 -> 1908 bytes
 .../Image_heightwidth_test7@ios_320ppi.png      |  Bin 0 -> 245 bytes
 .../Image_heightwidth_test8@ios_320ppi.png      |  Bin 0 -> 516 bytes
 ...Image_imageInvalidClass_test1@ios_320ppi.png |  Bin 0 -> 386 bytes
 ...mage_loadingStateChange_test1@ios_320ppi.png |  Bin 0 -> 1377 bytes
 ...mage_loadingStateChange_test2@ios_320ppi.png |  Bin 0 -> 592 bytes
 .../baselines/Image_source_test1@ios_320ppi.png |  Bin 0 -> 840 bytes
 .../baselines/Image_source_test2@ios_320ppi.png |  Bin 0 -> 592 bytes
 .../baselines/Image_source_test3@ios_320ppi.png |  Bin 0 -> 592 bytes
 .../baselines/Image_source_test4@ios_320ppi.png |  Bin 0 -> 840 bytes
 .../baselines/Image_source_test5@ios_320ppi.png |  Bin 0 -> 840 bytes
 ...ninitializedStateChange_test1@ios_320ppi.png |  Bin 0 -> 217 bytes
 ...ninitializedStateChange_test2@ios_320ppi.png |  Bin 0 -> 217 bytes
 .../Image/styles/Image_styles_tester.mxml       |   22 +-
 .../Image_backgroundColor_test1@ios_320ppi.png  |  Bin 0 -> 1088 bytes
 .../Image_backgroundColor_test2@ios_320ppi.png  |  Bin 0 -> 592 bytes
 ...mage_enableLoadingState_test2@ios_320ppi.png |  Bin 0 -> 592 bytes
 .../Image/swfs/assets/smallpurplerect.jpg       |  Bin 13517 -> 0 bytes
 .../Label/Styles/Label_GlobalStyles.mxml        |    8 +-
 .../Label/Styles/Label_Styles_tester.mxml       |   76 +-
 ...RichText_alignmentBaseline_ascent@240ppi.png |  Bin 5398 -> 5373 bytes
 ...Text_alignmentBaseline_ascent@ios_320ppi.png |  Bin 0 -> 7846 bytes
 ...ichText_alignmentBaseline_default@240ppi.png |  Bin 5397 -> 5374 bytes
 ...ext_alignmentBaseline_default@ios_320ppi.png |  Bin 0 -> 7866 bytes
 ...ichText_alignmentBaseline_descent@240ppi.png |  Bin 5399 -> 5375 bytes
 ...ext_alignmentBaseline_descent@ios_320ppi.png |  Bin 0 -> 7865 bytes
 ...ignmentBaseline_ideographicBottom@240ppi.png |  Bin 5397 -> 5375 bytes
 ...entBaseline_ideographicBottom@ios_320ppi.png |  Bin 0 -> 7865 bytes
 ...ignmentBaseline_ideographicCenter@240ppi.png |  Bin 5397 -> 5369 bytes
 ...entBaseline_ideographicCenter@ios_320ppi.png |  Bin 0 -> 7865 bytes
 ..._alignmentBaseline_ideographicTop@240ppi.png |  Bin 5398 -> 5373 bytes
 ...gnmentBaseline_ideographicTop@ios_320ppi.png |  Bin 0 -> 7846 bytes
 ..._RichText_alignmentBaseline_roman@240ppi.png |  Bin 5397 -> 5374 bytes
 ...hText_alignmentBaseline_roman@ios_320ppi.png |  Bin 0 -> 7866 bytes
 ...el_RichText_baselineShift_default@240ppi.png |  Bin 5397 -> 5374 bytes
 ...ichText_baselineShift_default@ios_320ppi.png |  Bin 0 -> 7866 bytes
 ...abel_RichText_baselineShift_pos10@240ppi.png |  Bin 5397 -> 5374 bytes
 ..._RichText_baselineShift_pos10@ios_320ppi.png |  Bin 0 -> 7866 bytes
 ...pare_Label_RichText_color_default@240ppi.png |  Bin 5544 -> 5510 bytes
 ..._Label_RichText_color_default@ios_320ppi.png |  Bin 0 -> 8175 bytes
 .../Compare_Label_RichText_color_red@240ppi.png |  Bin 5598 -> 5600 bytes
 ...pare_Label_RichText_color_red@ios_320ppi.png |  Bin 0 -> 8266 bytes
 ..._Label_RichText_digitCase_default@240ppi.png |  Bin 1218 -> 1384 bytes
 ...el_RichText_digitCase_default@ios_320ppi.png |  Bin 0 -> 1384 bytes
 ...e_Label_RichText_digitCase_lining@240ppi.png |  Bin 1218 -> 1384 bytes
 ...bel_RichText_digitCase_lining@ios_320ppi.png |  Bin 0 -> 1384 bytes
 ...Label_RichText_digitCase_oldStyle@240ppi.png |  Bin 1069 -> 1384 bytes
 ...l_RichText_digitCase_oldStyle@ios_320ppi.png |  Bin 0 -> 1384 bytes
 ...Label_RichText_digitWidth_default@240ppi.png |  Bin 907 -> 1030 bytes
 ...l_RichText_digitWidth_default@ios_320ppi.png |  Bin 0 -> 1030 bytes
 ..._RichText_digitWidth_proportional@240ppi.png |  Bin 928 -> 1030 bytes
 ...hText_digitWidth_proportional@ios_320ppi.png |  Bin 0 -> 1030 bytes
 ...Label_RichText_digitWidth_tabular@240ppi.png |  Bin 907 -> 1030 bytes
 ...l_RichText_digitWidth_tabular@ios_320ppi.png |  Bin 0 -> 1030 bytes
 ..._Label_RichText_direction_default@240ppi.png |  Bin 5397 -> 5374 bytes
 ...el_RichText_direction_default@ios_320ppi.png |  Bin 0 -> 7866 bytes
 ...pare_Label_RichText_direction_rtl@240ppi.png |  Bin 5240 -> 5344 bytes
 ..._Label_RichText_direction_rtl@ios_320ppi.png |  Bin 0 -> 7800 bytes
 ...Compare_Label_RichText_fontSize_8@240ppi.png |  Bin 1429 -> 1570 bytes
 ...are_Label_RichText_fontSize_8@ios_320ppi.png |  Bin 0 -> 1570 bytes
 ...e_Label_RichText_fontStyle_italic@240ppi.png |  Bin 6443 -> 6483 bytes
 ...bel_RichText_fontStyle_italic@ios_320ppi.png |  Bin 0 -> 8993 bytes
 ...hText_justificationRule_eastAsian@240ppi.png |  Bin 4834 -> 4855 bytes
 ...t_justificationRule_eastAsian@ios_320ppi.png |  Bin 0 -> 6475 bytes
 ..._RichText_justificationRule_space@240ppi.png |  Bin 4852 -> 4869 bytes
 ...hText_justificationRule_space@ios_320ppi.png |  Bin 0 -> 6492 bytes
 ...ompare_Label_RichText_kerning_off@240ppi.png |  Bin 1867 -> 1595 bytes
 ...Compare_Label_RichText_kerning_on@240ppi.png |  Bin 1860 -> 1595 bytes
 ...are_Label_RichText_kerning_on@ios_320ppi.png |  Bin 0 -> 1595 bytes
 ...pare_Label_RichText_lineHeight_40@240ppi.png |  Bin 5786 -> 5892 bytes
 ..._Label_RichText_lineHeight_40@ios_320ppi.png |  Bin 0 -> 8324 bytes
 ...e_Label_RichText_lineThrough_true@240ppi.png |  Bin 5385 -> 5569 bytes
 ...bel_RichText_lineThrough_true@ios_320ppi.png |  Bin 0 -> 7925 bytes
 ...e_Label_RichText_paddingBottom_30@240ppi.png |  Bin 570 -> 410 bytes
 ...bel_RichText_paddingBottom_30@ios_320ppi.png |  Bin 0 -> 446 bytes
 ...abel_RichText_paddingLeft_default@240ppi.png |  Bin 5411 -> 5472 bytes
 ..._RichText_paddingLeft_default@ios_320ppi.png |  Bin 0 -> 7927 bytes
 ...re_Label_RichText_paddingRight_30@240ppi.png |  Bin 2558 -> 2042 bytes
 ...abel_RichText_paddingRight_30@ios_320ppi.png |  Bin 0 -> 1659 bytes
 ...pare_Label_RichText_paddingTop_70@240ppi.png |  Bin 1533 -> 650 bytes
 ..._Label_RichText_paddingTop_70@ios_320ppi.png |  Bin 0 -> 710 bytes
 ...bel_RichText_verticalAlign_bottom@240ppi.png |  Bin 2434 -> 2271 bytes
 ...RichText_verticalAlign_bottom@ios_320ppi.png |  Bin 0 -> 3030 bytes
 ...el_RichText_verticalAlign_justify@240ppi.png |  Bin 2372 -> 2399 bytes
 ...ichText_verticalAlign_justify@ios_320ppi.png |  Bin 0 -> 3030 bytes
 ...bel_DescendantClassSelector_spark@240ppi.png |  Bin 4395 -> 4565 bytes
 ...DescendantClassSelector_spark@ios_320ppi.png |  Bin 0 -> 4565 bytes
 .../Label_DescendantSelector@240ppi.png         |  Bin 5015 -> 4425 bytes
 .../Label_DescendantSelector@ios_320ppi.png     |  Bin 0 -> 6426 bytes
 .../baselines/Label_IDSelector@240ppi.png       |  Bin 3093 -> 2608 bytes
 .../baselines/Label_IDSelector@ios_320ppi.png   |  Bin 0 -> 2608 bytes
 .../baselines/Label_TypeIDSelector@240ppi.png   |  Bin 4073 -> 3795 bytes
 .../Label_TypeIDSelector@ios_320ppi.png         |  Bin 0 -> 3795 bytes
 ...bel_truncation_lineBreak_explicit@240ppi.png |  Bin 2332 -> 2003 bytes
 ...truncation_lineBreak_explicit@ios_320ppi.png |  Bin 0 -> 2152 bytes
 .../Label_truncation_lineBreak_tofit@240ppi.png |  Bin 4511 -> 4254 bytes
 ...el_truncation_lineBreak_tofit@ios_320ppi.png |  Bin 0 -> 4226 bytes
 .../properties/Label_Properties_tester1.mxml    |   36 +-
 .../properties/Label_Properties_tester2.mxml    |   68 +-
 .../baselines/Label_baseline_10@240ppi.png      |  Bin 930 -> 790 bytes
 .../baselines/Label_baseline_50@240ppi.png      |  Bin 1212 -> 1023 bytes
 .../baselines/Label_baseline_neg5@240ppi.png    |  Bin 2992 -> 2483 bytes
 .../baselines/Label_bottom_40_Label@240ppi.png  |  Bin 1205 -> 973 bytes
 .../baselines/Label_height_10@240ppi.png        |  Bin 185 -> 197 bytes
 .../baselines/Label_height_10@ios_320ppi.png    |  Bin 0 -> 198 bytes
 .../baselines/Label_height_50@240ppi.png        |  Bin 2767 -> 1966 bytes
 .../baselines/Label_height_50@ios_320ppi.png    |  Bin 0 -> 1989 bytes
 .../Label_horizontalCenter_Label_0@240ppi.png   |  Bin 254 -> 261 bytes
 .../Label_horizontalCenter_Label_40@240ppi.png  |  Bin 256 -> 260 bytes
 .../baselines/Label_left_50_Label@240ppi.png    |  Bin 651 -> 655 bytes
 .../baselines/Label_maxHeight_10@240ppi.png     |  Bin 328 -> 311 bytes
 .../baselines/Label_maxHeight_10@ios_320ppi.png |  Bin 0 -> 270 bytes
 .../Label_maxHeight_26point5@240ppi.png         |  Bin 640 -> 548 bytes
 .../Label_maxHeight_26point5@ios_320ppi.png     |  Bin 0 -> 687 bytes
 .../baselines/Label_maxHeight_50@240ppi.png     |  Bin 2999 -> 2298 bytes
 .../baselines/Label_maxHeight_50@ios_320ppi.png |  Bin 0 -> 2144 bytes
 .../baselines/Label_maxWidth_24@240ppi.png      |  Bin 1759 -> 1445 bytes
 .../Label_maxWidth_26point5@240ppi.png          |  Bin 1868 -> 1491 bytes
 .../baselines/Label_maxWidth_50@240ppi.png      |  Bin 1932 -> 1466 bytes
 .../baselines/Label_minHeight_5@240ppi.png      |  Bin 131 -> 196 bytes
 .../baselines/Label_minWidth_5@240ppi.png       |  Bin 93 -> 88 bytes
 .../baselines/Label_multiLine@240ppi.png        |  Bin 4784 -> 4415 bytes
 .../baselines/Label_multiLine@ios_320ppi.png    |  Bin 0 -> 6470 bytes
 ...bel_multiLine_maxDisplayedLines-1@240ppi.png |  Bin 1425 -> 2622 bytes
 ...multiLine_maxDisplayedLines-1@ios_320ppi.png |  Bin 0 -> 1734 bytes
 ...abel_multiLine_maxDisplayedLines1@240ppi.png |  Bin 925 -> 1060 bytes
 ..._multiLine_maxDisplayedLines1@ios_320ppi.png |  Bin 0 -> 1071 bytes
 ...abel_multiLine_maxDisplayedLines2@240ppi.png |  Bin 1502 -> 2068 bytes
 ..._multiLine_maxDisplayedLines2@ios_320ppi.png |  Bin 0 -> 1816 bytes
 ...ltiLine_maxDisplayedLines_default@240ppi.png |  Bin 1925 -> 2858 bytes
 ...ine_maxDisplayedLines_default@ios_320ppi.png |  Bin 0 -> 1719 bytes
 .../baselines/Label_right_40_Label@240ppi.png   |  Bin 254 -> 261 bytes
 .../baselines/Label_scaleX_3@240ppi.png         |  Bin 2388 -> 1642 bytes
 .../baselines/Label_scaleX_point5@240ppi.png    |  Bin 560 -> 477 bytes
 .../baselines/Label_scaleY_3@240ppi.png         |  Bin 6439 -> 4333 bytes
 .../baselines/Label_scaleY_point5@240ppi.png    |  Bin 1924 -> 1358 bytes
 .../baselines/Label_singleLine@240ppi.png       |  Bin 4618 -> 3919 bytes
 .../baselines/Label_singleLine@ios_320ppi.png   |  Bin 0 -> 5639 bytes
 ...el_singleLine_maxDisplayedLines-1@240ppi.png |  Bin 1425 -> 2948 bytes
 ...ingleLine_maxDisplayedLines-1@ios_320ppi.png |  Bin 0 -> 1734 bytes
 ...bel_singleLine_maxDisplayedLines1@240ppi.png |  Bin 925 -> 1060 bytes
 ...singleLine_maxDisplayedLines1@ios_320ppi.png |  Bin 0 -> 1071 bytes
 ...bel_singleLine_maxDisplayedLines2@240ppi.png |  Bin 1502 -> 2186 bytes
 ...singleLine_maxDisplayedLines2@ios_320ppi.png |  Bin 0 -> 1816 bytes
 ...gleLine_maxDisplayedLines_default@240ppi.png |  Bin 1925 -> 2866 bytes
 ...ine_maxDisplayedLines_default@ios_320ppi.png |  Bin 0 -> 1719 bytes
 .../baselines/Label_styleName_bigRed@240ppi.png |  Bin 3833 -> 3436 bytes
 .../Label_styleName_bigRed@ios_320ppi.png       |  Bin 0 -> 3436 bytes
 .../baselines/Label_top_25_Label@240ppi.png     |  Bin 1088 -> 848 bytes
 .../Label_verticalCenter_Label_0@240ppi.png     |  Bin 2344 -> 1811 bytes
 .../Label_verticalCenter_Label_20@240ppi.png    |  Bin 2165 -> 1664 bytes
 .../Label_visible_false_of_Label@240ppi.png     |  Bin 120 -> 115 bytes
 .../Label_visible_true_of_Label@240ppi.png      |  Bin 1102 -> 766 bytes
 .../baselines/Label_width_10@240ppi.png         |  Bin 117 -> 110 bytes
 .../baselines/Label_width_50@240ppi.png         |  Bin 1788 -> 1444 bytes
 .../baselines/Label_x_40_Label@240ppi.png       |  Bin 148 -> 209 bytes
 .../Label_x_neg5point6_Label@240ppi.png         |  Bin 660 -> 564 bytes
 .../baselines/Label_y_40_Label@240ppi.png       |  Bin 875 -> 725 bytes
 .../Label_y_neg5point6_Label@240ppi.png         |  Bin 653 -> 489 bytes
 .../integration/ItemSnapping_Integration.mxml   |    1 +
 .../integration/ItemSnapping_ListResize.mxml    |    3 +
 .../integration/ItemSnapping_Orientation.mxml   |    9 +-
 .../integration/List_Integration_iconIR.mxml    |   46 +-
 .../integration/List_Integration_labelIR.mxml   |   12 +-
 .../tests/mobile/components/List/swfs/List.mxml |    4 +-
 .../components/List/swfs/TouchScrollingUtil.as  |    2 +-
 .../components/List/swfs/assets/Chevron.fxg     |   35 +
 .../List/swfs/views/IconItemRendererView.mxml   |    6 +-
 .../components/List/swfs/views/MarketView.mxml  |    4 +-
 .../List/swfs/views/NestedInBasicView.mxml      |    2 +-
 .../List/swfs/views/NestedInHorizontalView.mxml |    2 +-
 .../List/swfs/views/NestedInVerticalView.mxml   |    2 +-
 .../swfs/views/PagingAndSnappingHGroup.mxml     |   44 +-
 .../List/swfs/views/PagingListHorizontal.mxml   |   60 +-
 .../views/PagingListHorizontalFullView.mxml     |   52 +-
 .../List/swfs/views/SettingsWiFiView.mxml       |    2 +-
 .../components/List/swfs/views/viewScript.as    |    2 +-
 ...tton_clearStyle_textStyle@android_240ppi.png |  Bin 3516 -> 4239 bytes
 ...ioButton_clearStyle_textStyle@ios_320ppi.png |  Bin 0 -> 6087 bytes
 ..._clearStyle_iconPlacement@android_240ppi.png |  Bin 3516 -> 4239 bytes
 ...thod_clearStyle_iconPlacement@ios_320ppi.png |  Bin 0 -> 6087 bytes
 .../methods/radiobutton_methods.mxml            |    4 +-
 ...ile_RadioButton_alpha_0.5@android_240ppi.png |  Bin 3196 -> 3054 bytes
 .../Mobile_RadioButton_alpha_0.5@ios_320ppi.png |  Bin 0 -> 4813 bytes
 ...obile_RadioButton_alpha_0@android_240ppi.png |  Bin 192 -> 193 bytes
 .../Mobile_RadioButton_alpha_0@ios_320ppi.png   |  Bin 0 -> 251 bytes
 ..._change_groupName_runtime@android_240ppi.png |  Bin 18098 -> 21535 bytes
 ...tton_change_groupName_runtime@ios_320ppi.png |  Bin 0 -> 28766 bytes
 ...adioButton_down_alpha_0.5@android_240ppi.png |  Bin 3512 -> 3384 bytes
 ...le_RadioButton_down_alpha_0.5@ios_320ppi.png |  Bin 0 -> 4794 bytes
 ...RadioButton_enabled_false@android_240ppi.png |  Bin 3377 -> 3147 bytes
 ...ile_RadioButton_enabled_false@ios_320ppi.png |  Bin 0 -> 4901 bytes
 ...ton_enabled_false_clicked@android_240ppi.png |  Bin 3377 -> 3147 bytes
 ...oButton_enabled_false_clicked@ios_320ppi.png |  Bin 0 -> 4901 bytes
 ...bled_false_runtime_change@android_240ppi.png |  Bin 4124 -> 3930 bytes
 ..._enabled_false_runtime_change@ios_320ppi.png |  Bin 0 -> 5871 bytes
 ...utton_group_enabled_false@android_240ppi.png |  Bin 6203 -> 6391 bytes
 ...dioButton_group_enabled_false@ios_320ppi.png |  Bin 0 -> 8903 bytes
 ...abled_true_runtime_change@android_240ppi.png |  Bin 6901 -> 8372 bytes
 ...p_enabled_true_runtime_change@ios_320ppi.png |  Bin 0 -> 11235 bytes
 ...le_RadioButton_height_default@ios_320ppi.png |  Bin 0 -> 2634 bytes
 ...dioButton_height_increase@android_240ppi.png |  Bin 3729 -> 4404 bytes
 ...e_RadioButton_height_increase@ios_320ppi.png |  Bin 0 -> 6189 bytes
 ...e_RadioButton_icon_inline@android_240ppi.png |  Bin 2060 -> 2217 bytes
 ...obile_RadioButton_icon_inline@ios_320ppi.png |  Bin 0 -> 3384 bytes
 ...on_scaleX_scaleY_0point33@android_240ppi.png |  Bin 1027 -> 1259 bytes
 ...n_icon_scaleX_scaleY_0point33@ios_320ppi.png |  Bin 0 -> 1877 bytes
 ...con_scaleX_scaleY_0point5@android_240ppi.png |  Bin 1694 -> 1899 bytes
 ...on_icon_scaleX_scaleY_0point5@ios_320ppi.png |  Bin 0 -> 2797 bytes
 ...con_scaleX_scaleY_1point5@android_240ppi.png |  Bin 6066 -> 6615 bytes
 ...on_icon_scaleX_scaleY_1point5@ios_320ppi.png |  Bin 0 -> 9851 bytes
 ...time_iconPlacement_bottom@android_240ppi.png |  Bin 4180 -> 5053 bytes
 ..._runtime_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 6875 bytes
 ...untime_iconPlacement_left@android_240ppi.png |  Bin 4090 -> 4986 bytes
 ...ge_runtime_iconPlacement_left@ios_320ppi.png |  Bin 0 -> 6748 bytes
 ...ntime_iconPlacement_right@android_240ppi.png |  Bin 4071 -> 4967 bytes
 ...e_runtime_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 6725 bytes
 ...runtime_iconPlacement_top@android_240ppi.png |  Bin 4206 -> 5080 bytes
 ...nge_runtime_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 6906 bytes
 ...oButton_label_databinding@android_240ppi.png |  Bin 3393 -> 4062 bytes
 ...RadioButton_label_databinding@ios_320ppi.png |  Bin 0 -> 5884 bytes
 ..._long_iconPlacement_right@android_240ppi.png |  Bin 5258 -> 6217 bytes
 ...abel_long_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 8691 bytes
 ...l_short_iconPlacement_top@android_240ppi.png |  Bin 2542 -> 2635 bytes
 ...label_short_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 3890 bytes
 ...utton_percentHeight_0_100@android_240ppi.png |  Bin 6887 -> 8306 bytes
 ...dioButton_percentHeight_0_100@ios_320ppi.png |  Bin 0 -> 11129 bytes
 ...utton_percentHeight_100_0@android_240ppi.png |  Bin 6887 -> 8304 bytes
 ...dioButton_percentHeight_100_0@ios_320ppi.png |  Bin 0 -> 11129 bytes
 ...ioButton_percentHeight_50@android_240ppi.png |  Bin 6884 -> 8306 bytes
 ..._RadioButton_percentHeight_50@ios_320ppi.png |  Bin 0 -> 11134 bytes
 ...0_change_container_height@android_240ppi.png |  Bin 7541 -> 9006 bytes
 ...ht_50_change_container_height@ios_320ppi.png |  Bin 0 -> 12003 bytes
 ...Button_percentWidth_0_100@android_240ppi.png |  Bin 3706 -> 4036 bytes
 ...adioButton_percentWidth_0_100@ios_320ppi.png |  Bin 0 -> 5329 bytes
 ...Button_percentWidth_100_0@android_240ppi.png |  Bin 4583 -> 5568 bytes
 ...adioButton_percentWidth_100_0@ios_320ppi.png |  Bin 0 -> 7917 bytes
 ...dioButton_percentWidth_50@android_240ppi.png |  Bin 4224 -> 5038 bytes
 ...e_RadioButton_percentWidth_50@ios_320ppi.png |  Bin 0 -> 6305 bytes
 ...50_change_container_width@android_240ppi.png |  Bin 3801 -> 4150 bytes
 ...dth_50_change_container_width@ios_320ppi.png |  Bin 0 -> 4980 bytes
 ...tton_selected_databinding@android_240ppi.png |  Bin 3566 -> 4064 bytes
 ...ioButton_selected_databinding@ios_320ppi.png |  Bin 0 -> 6249 bytes
 ...RadioButton_set_groupName@android_240ppi.png |  Bin 18125 -> 21462 bytes
 ...ile_RadioButton_set_groupName@ios_320ppi.png |  Bin 0 -> 28656 bytes
 ...set_selected_actionscript@android_240ppi.png |  Bin 2653 -> 3199 bytes
 ...ton_set_selected_actionscript@ios_320ppi.png |  Bin 0 -> 4441 bytes
 ...t_selected_false_disabled@android_240ppi.png |  Bin 2490 -> 2333 bytes
 ...n_set_selected_false_disabled@ios_320ppi.png |  Bin 0 -> 3614 bytes
 ...et_selected_true_disabled@android_240ppi.png |  Bin 2587 -> 2465 bytes
 ...on_set_selected_true_disabled@ios_320ppi.png |  Bin 0 -> 3790 bytes
 ...et_selected_true_on_click@android_240ppi.png |  Bin 2962 -> 3668 bytes
 ...on_set_selected_true_on_click@ios_320ppi.png |  Bin 0 -> 5465 bytes
 ...RadioButton_set_styleName@android_240ppi.png |  Bin 2703 -> 2721 bytes
 ...ile_RadioButton_set_styleName@ios_320ppi.png |  Bin 0 -> 4312 bytes
 ..._stickyHighlighting_false@android_240ppi.png |  Bin 3034 -> 3504 bytes
 ...tton_stickyHighlighting_false@ios_320ppi.png |  Bin 0 -> 5038 bytes
 ...n_stickyHighlighting_true@android_240ppi.png |  Bin 3330 -> 3831 bytes
 ...utton_stickyHighlighting_true@ios_320ppi.png |  Bin 0 -> 5000 bytes
 ...ioButton_styleName_inline@android_240ppi.png |  Bin 2703 -> 2721 bytes
 ..._RadioButton_styleName_inline@ios_320ppi.png |  Bin 0 -> 4312 bytes
 ...RadioButton_visible_false@android_240ppi.png |  Bin 14216 -> 16943 bytes
 ...ile_RadioButton_visible_false@ios_320ppi.png |  Bin 0 -> 22602 bytes
 .../Mobile_RadioButton_x@android_240ppi.png     |  Bin 2932 -> 3110 bytes
 .../Mobile_RadioButton_x@ios_320ppi.png         |  Bin 0 -> 4456 bytes
 .../Mobile_RadioButton_y@android_240ppi.png     |  Bin 2813 -> 3033 bytes
 .../Mobile_RadioButton_y@ios_320ppi.png         |  Bin 0 -> 4356 bytes
 .../properties/radiobutton_properties.mxml      |   88 +-
 ...meColor_down_and_selected@android_240ppi.png |  Bin 4150 -> 4679 bytes
 ...chromeColor_down_and_selected@ios_320ppi.png |  Bin 0 -> 5890 bytes
 ...hromeColor_skinState_down@android_240ppi.png |  Bin 4142 -> 4689 bytes
 ...on_chromeColor_skinState_down@ios_320ppi.png |  Bin 0 -> 5952 bytes
 ..._chromeColor_skinState_up@android_240ppi.png |  Bin 3444 -> 3989 bytes
 ...tton_chromeColor_skinState_up@ios_320ppi.png |  Bin 0 -> 5687 bytes
 ...olColor_down_and_selected@android_240ppi.png |  Bin 4161 -> 4704 bytes
 ...symbolColor_down_and_selected@ios_320ppi.png |  Bin 0 -> 5911 bytes
 ...romeColor_up_and_selected@android_240ppi.png |  Bin 3459 -> 3995 bytes
 ...n_chromeColor_up_and_selected@ios_320ppi.png |  Bin 0 -> 5712 bytes
 ...oButton_down_and_selected@android_240ppi.png |  Bin 3925 -> 4476 bytes
 ...RadioButton_down_and_selected@ios_320ppi.png |  Bin 0 -> 5642 bytes
 ...adioButton_skinState_down@android_240ppi.png |  Bin 3864 -> 4412 bytes
 ...le_RadioButton_skinState_down@ios_320ppi.png |  Bin 0 -> 5597 bytes
 ..._RadioButton_skinState_up@android_240ppi.png |  Bin 3368 -> 3936 bytes
 ...bile_RadioButton_skinState_up@ios_320ppi.png |  Bin 0 -> 5472 bytes
 ...dioButton_up_and_selected@android_240ppi.png |  Bin 3398 -> 3960 bytes
 ...e_RadioButton_up_and_selected@ios_320ppi.png |  Bin 0 -> 5536 bytes
 .../skinStates/radiobutton_skin_states.mxml     |   18 +-
 ...dioButton_styles_baseline@android_240ppi.png |  Bin 3705 -> 4355 bytes
 ...e_RadioButton_styles_baseline@ios_320ppi.png |  Bin 0 -> 5774 bytes
 ...RadioButton_styles_bottom@android_240ppi.png |  Bin 3708 -> 4354 bytes
 ...ile_RadioButton_styles_bottom@ios_320ppi.png |  Bin 0 -> 6112 bytes
 ...Button_styles_chromeColor@android_240ppi.png |  Bin 3696 -> 4353 bytes
 ...adioButton_styles_chromeColor@ios_320ppi.png |  Bin 0 -> 6077 bytes
 ...yles_chromeColor_disabled@android_240ppi.png |  Bin 3603 -> 3553 bytes
 ...n_styles_chromeColor_disabled@ios_320ppi.png |  Bin 0 -> 5263 bytes
 ...meColor_selected_disabled@android_240ppi.png |  Bin 3626 -> 3579 bytes
 ...chromeColor_selected_disabled@ios_320ppi.png |  Bin 0 -> 5288 bytes
 ..._RadioButton_styles_color@android_240ppi.png |  Bin 3773 -> 4368 bytes
 ...bile_RadioButton_styles_color@ios_320ppi.png |  Bin 0 -> 6104 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4033 -> 4571 bytes
 ...rSpacing_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 6770 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 3991 -> 4570 bytes
 ...erSpacing_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 6687 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4051 -> 4607 bytes
 ...tterSpacing_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 6804 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 3592 -> 3424 bytes
 ...es_disabled_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 5137 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3592 -> 3424 bytes
 ...abled_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 5137 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3592 -> 3424 bytes
 ...yles_disabled_textShadowColor@ios_320ppi.png |  Bin 0 -> 5137 bytes
 ...utton_styles_focusAlpha_0@android_240ppi.png |  Bin 3267 -> 3773 bytes
 ...dioButton_styles_focusAlpha_0@ios_320ppi.png |  Bin 0 -> 5167 bytes
 ...styles_focusAlpha_1point5@android_240ppi.png |  Bin 4391 -> 4908 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 4366 -> 4852 bytes
 ..._styles_focusBlendMode_invert@ios_320ppi.png |  Bin 0 -> 6428 bytes
 ...s_focusBlendMode_subtract@android_240ppi.png |  Bin 4309 -> 4811 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 4354 -> 4850 bytes
 ...ton_styles_focusColor_default@ios_320ppi.png |  Bin 0 -> 6427 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 4405 -> 4904 bytes
 ...n_styles_focusColor_set_in_AS@ios_320ppi.png |  Bin 0 -> 6453 bytes
 ...n_styles_focusThickness_0@android_240ppi.png |  Bin 3322 -> 3794 bytes
 ...utton_styles_focusThickness_0@ios_320ppi.png |  Bin 0 -> 5190 bytes
 ...n_styles_focusThickness_4@android_240ppi.png |  Bin 4545 -> 5034 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 4360 -> 4849 bytes
 ...a_thickness_blendmode_default@ios_320ppi.png |  Bin 0 -> 6417 bytes
 ...oButton_styles_fontFamily@android_240ppi.png |  Bin 3846 -> 4260 bytes
 ...RadioButton_styles_fontFamily@ios_320ppi.png |  Bin 0 -> 6171 bytes
 ...tyles_fontFamily_disabled@android_240ppi.png |  Bin 3693 -> 3460 bytes
 ...on_styles_fontFamily_disabled@ios_320ppi.png |  Bin 0 -> 5120 bytes
 ...dioButton_styles_fontSize@android_240ppi.png |  Bin 3941 -> 4633 bytes
 ...e_RadioButton_styles_fontSize@ios_320ppi.png |  Bin 0 -> 5738 bytes
 ..._styles_fontSize_disabled@android_240ppi.png |  Bin 3771 -> 3727 bytes
 ...tton_styles_fontSize_disabled@ios_320ppi.png |  Bin 0 -> 4862 bytes
 ...ioButton_styles_fontStyle@android_240ppi.png |  Bin 4101 -> 4685 bytes
 ..._RadioButton_styles_fontStyle@ios_320ppi.png |  Bin 0 -> 6612 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 3867 -> 3714 bytes
 ...ton_styles_fontStyle_disabled@ios_320ppi.png |  Bin 0 -> 5466 bytes
 ...oButton_styles_fontWeight@android_240ppi.png |  Bin 3699 -> 4036 bytes
 ...RadioButton_styles_fontWeight@ios_320ppi.png |  Bin 0 -> 6182 bytes
 ...tyles_fontWeight_disabled@android_240ppi.png |  Bin 3538 -> 3398 bytes
 ...on_styles_fontWeight_disabled@ios_320ppi.png |  Bin 0 -> 5167 bytes
 ...horizontalCenter_negative@android_240ppi.png |  Bin 3871 -> 4529 bytes
 ...les_horizontalCenter_negative@ios_320ppi.png |  Bin 0 -> 6290 bytes
 ...horizontalCenter_positive@android_240ppi.png |  Bin 3856 -> 4508 bytes
 ...les_horizontalCenter_positive@ios_320ppi.png |  Bin 0 -> 6269 bytes
 ...yles_iconPlacement_bottom@android_240ppi.png |  Bin 3341 -> 3846 bytes
 ...n_styles_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 5457 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 2467 -> 2481 bytes
 ...acement_bottom_explicitHeight@ios_320ppi.png |  Bin 0 -> 3650 bytes
 ...Placement_bottom_setLabel@android_240ppi.png |  Bin 3341 -> 3846 bytes
 ...iconPlacement_bottom_setLabel@ios_320ppi.png |  Bin 0 -> 5457 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 3514 -> 4001 bytes
 ...iconPlacement_bottom_to_right@ios_320ppi.png |  Bin 0 -> 5577 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 3478 -> 3959 bytes
 ...iconPlacement_css_selectionID@ios_320ppi.png |  Bin 0 -> 5784 bytes
 ...les_iconPlacement_default@android_240ppi.png |  Bin 3423 -> 4059 bytes
 ..._styles_iconPlacement_default@ios_320ppi.png |  Bin 0 -> 5811 bytes
 ...yles_iconPlacement_inline@android_240ppi.png |  Bin 2060 -> 2217 bytes
 ...n_styles_iconPlacement_inline@ios_320ppi.png |  Bin 0 -> 3384 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 2527 -> 2546 bytes
 ...Placement_left_explicitHeight@ios_320ppi.png |  Bin 0 -> 3795 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 2899 -> 3366 bytes
 ...les_iconPlacement_left_to_top@ios_320ppi.png |  Bin 0 -> 4633 bytes
 ...tyles_iconPlacement_right@android_240ppi.png |  Bin 3500 -> 3846 bytes
 ...on_styles_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 5520 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2550 -> 2569 bytes
 ...lacement_right_explicitHeight@ios_320ppi.png |  Bin 0 -> 3768 bytes
 ...nPlacement_right_setLabel@android_240ppi.png |  Bin 3500 -> 3846 bytes
 ..._iconPlacement_right_setLabel@ios_320ppi.png |  Bin 0 -> 5520 bytes
 ...s_iconPlacement_styleName@android_240ppi.png |  Bin 3526 -> 4107 bytes
 ...tyles_iconPlacement_styleName@ios_320ppi.png |  Bin 0 -> 5992 bytes
 ..._styles_iconPlacement_top@android_240ppi.png |  Bin 3151 -> 3601 bytes
 ...tton_styles_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 5186 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 2462 -> 2470 bytes
 ...nPlacement_top_explicitHeight@ios_320ppi.png |  Bin 0 -> 3636 bytes
 ...conPlacement_top_setLabel@android_240ppi.png |  Bin 3151 -> 3601 bytes
 ...es_iconPlacement_top_setLabel@ios_320ppi.png |  Bin 0 -> 5186 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4272 -> 4817 bytes
 ...rSpacing_iconPlacement_bottom@ios_320ppi.png |  Bin 0 -> 7106 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 4160 -> 4728 bytes
 ...erSpacing_iconPlacement_right@ios_320ppi.png |  Bin 0 -> 6943 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4300 -> 4854 bytes
 ...tterSpacing_iconPlacement_top@ios_320ppi.png |  Bin 0 -> 7138 bytes
 ...adioButton_styles_kerning@android_240ppi.png |  Bin 2684 -> 3122 bytes
 ...le_RadioButton_styles_kerning@ios_320ppi.png |  Bin 0 -> 4501 bytes
 ...n_styles_kerning_disabled@android_240ppi.png |  Bin 2629 -> 2724 bytes
 ...utton_styles_kerning_disabled@ios_320ppi.png |  Bin 0 -> 4091 bytes
 ...oButton_styles_leading_10@android_240ppi.png |  Bin 3362 -> 3856 bytes
 ...RadioButton_styles_leading_10@ios_320ppi.png |  Bin 0 -> 5624 bytes
 ...on_styles_leading_default@android_240ppi.png |  Bin 3362 -> 3856 bytes
 ...Button_styles_leading_default@ios_320ppi.png |  Bin 0 -> 5624 bytes
 ...e_RadioButton_styles_left@android_240ppi.png |  Bin 3741 -> 4378 bytes
 ...obile_RadioButton_styles_left@ios_320ppi.png |  Bin 0 -> 6128 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 4156 -> 4754 bytes
 ...tterSpacing_change_at_runtime@ios_320ppi.png |  Bin 0 -> 6967 bytes
 ...bile_RadioButton_styles_right@ios_320ppi.png |  Bin 0 -> 2842 bytes
 ...Button_styles_symbolColor@android_240ppi.png |  Bin 3753 -> 4391 bytes
 ...adioButton_styles_symbolColor@ios_320ppi.png |  Bin 0 -> 6231 bytes
 ...es_symbolColor_deselected@android_240ppi.png |  Bin 3750 -> 4385 bytes
 ...styles_symbolColor_deselected@ios_320ppi.png |  Bin 0 -> 6199 bytes
 ...Color_deselected_disabled@android_240ppi.png |  Bin 3601 -> 3543 bytes
 ...mbolColor_deselected_disabled@ios_320ppi.png |  Bin 0 -> 5256 bytes
 ...lected_disabled_toDefault@android_240ppi.png |  Bin 3540 -> 3482 bytes
 ...deselected_disabled_toDefault@ios_320ppi.png |  Bin 0 -> 5143 bytes
 ...olor_deselected_toDefault@android_240ppi.png |  Bin 3705 -> 4356 bytes
 ...bolColor_deselected_toDefault@ios_320ppi.png |  Bin 0 -> 6111 bytes
 ...yles_symbolColor_disabled@android_240ppi.png |  Bin 3626 -> 3568 bytes
 ...n_styles_symbolColor_disabled@ios_320ppi.png |  Bin 0 -> 5286 bytes
 ...lColor_disabled_toDefault@android_240ppi.png |  Bin 3607 -> 3545 bytes
 ...ymbolColor_disabled_toDefault@ios_320ppi.png |  Bin 0 -> 5240 bytes
 ...les_symbolColor_toDefault@android_240ppi.png |  Bin 3733 -> 4382 bytes
 ..._styles_symbolColor_toDefault@ios_320ppi.png |  Bin 0 -> 6177 bytes
 ...ton_styles_textDecoration@android_240ppi.png |  Bin 3719 -> 4353 bytes
 ...oButton_styles_textDecoration@ios_320ppi.png |  Bin 0 -> 6089 bytes
 ...s_textDecoration_disabled@android_240ppi.png |  Bin 3567 -> 3501 bytes
 ...tyles_textDecoration_disabled@ios_320ppi.png |  Bin 0 -> 5143 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 3774 -> 4118 bytes
 ...tton_styles_textShadowAlpha_0@ios_320ppi.png |  Bin 0 -> 5967 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 3774 -> 4118 bytes
 ...tyles_textShadowAlpha_1point5@ios_320ppi.png |  Bin 0 -> 5967 bytes
 ...on_styles_textShadowColor@android_240ppi.png |  Bin 3774 -> 4118 bytes
 ...Button_styles_textShadowColor@ios_320ppi.png |  Bin 0 -> 5967 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3774 -> 4118 bytes
 ...ShadowColor_textShadowAlpha_2@ios_320ppi.png |  Bin 0 -> 5967 bytes
 ...le_RadioButton_styles_top@android_240ppi.png |  Bin 3707 -> 4356 bytes
 ...Mobile_RadioButton_styles_top@ios_320ppi.png |  Bin 0 -> 6113 bytes
 ...s_verticalCenter_negative@android_240ppi.png |  Bin 3707 -> 4356 bytes
 ...tyles_verticalCenter_negative@ios_320ppi.png |  Bin 0 -> 6113 bytes
 ...s_verticalCenter_positive@android_240ppi.png |  Bin 3709 -> 4354 bytes
 ...tyles_verticalCenter_positive@ios_320ppi.png |  Bin 0 -> 6113 bytes
 .../RadioButton/styles/radiobutton_styles.mxml  |  163 +-
 .../integration/SpinnerList_integration.mxml    |   52 +-
 ...t_integration_causeUnwrap@android_240ppi.png |  Bin 4998 -> 5286 bytes
 ...rList_integration_causeUnwrap@ios_320ppi.png |  Bin 0 -> 6501 bytes
 ...ist_integration_causeWrap@android_240ppi.png |  Bin 6165 -> 6577 bytes
 ...nerList_integration_causeWrap@ios_320ppi.png |  Bin 0 -> 8099 bytes
 ...st_integration_customSkin@android_240ppi.png |  Bin 4657 -> 4966 bytes
 ...erList_integration_customSkin@ios_320ppi.png |  Bin 0 -> 5113 bytes
 ...tegration_drag_large_down@android_240ppi.png |  Bin 4114 -> 4106 bytes
 ...t_integration_drag_large_down@ios_320ppi.png |  Bin 0 -> 5065 bytes
 ...on_drag_large_down_noWrap@android_240ppi.png |  Bin 4114 -> 4106 bytes
 ...ration_drag_large_down_noWrap@ios_320ppi.png |  Bin 0 -> 5065 bytes
 ...integration_drag_large_up@android_240ppi.png |  Bin 5670 -> 5309 bytes
 ...ist_integration_drag_large_up@ios_320ppi.png |  Bin 0 -> 7021 bytes
 ...tion_drag_large_up_noWrap@android_240ppi.png |  Bin 3367 -> 3344 bytes
 ...egration_drag_large_up_noWrap@ios_320ppi.png |  Bin 0 -> 4057 bytes
 ...tegration_drag_small_down@android_240ppi.png |  Bin 4281 -> 4452 bytes
 ...t_integration_drag_small_down@ios_320ppi.png |  Bin 0 -> 5169 bytes
 ...integration_drag_small_up@android_240ppi.png |  Bin 4870 -> 4907 bytes
 ...ist_integration_drag_small_up@ios_320ppi.png |  Bin 0 -> 5913 bytes
 ...SpinnerList_integration_empty@ios_320ppi.png |  Bin 0 -> 90 bytes
 ...t_integration_empty_container@ios_320ppi.png |  Bin 0 -> 1072 bytes
 ..._integration_explicitSize@android_240ppi.png |  Bin 1570 -> 1372 bytes
 ...List_integration_explicitSize@ios_320ppi.png |  Bin 0 -> 1405 bytes
 ...on_explicitSize_container@android_240ppi.png |  Bin 4836 -> 4962 bytes
 ...ration_explicitSize_container@ios_320ppi.png |  Bin 0 -> 5119 bytes
 ...erList_integration_iconIR@android_240ppi.png |  Bin 15351 -> 5897 bytes
 ...pinnerList_integration_iconIR@ios_320ppi.png |  Bin 0 -> 5763 bytes
 ...erList_integration_states@android_240ppi.png |  Bin 7953 -> 7813 bytes
 ...pinnerList_integration_states@ios_320ppi.png |  Bin 0 -> 10670 bytes
 ..._integration_styles_color@android_240ppi.png |  Bin 11212 -> 11037 bytes
 ...List_integration_styles_color@ios_320ppi.png |  Bin 0 -> 14093 bytes
 ...tegration_styles_fontSize@android_240ppi.png |  Bin 15482 -> 14547 bytes
 ...t_integration_styles_fontSize@ios_320ppi.png |  Bin 0 -> 15845 bytes
 ...gration_styles_fontWeight@android_240ppi.png |  Bin 10542 -> 10011 bytes
 ...integration_styles_fontWeight@ios_320ppi.png |  Bin 0 -> 13016 bytes
 ...n_styles_textAlign_center@android_240ppi.png |  Bin 9795 -> 9488 bytes
 ...ation_styles_textAlign_center@ios_320ppi.png |  Bin 0 -> 12173 bytes
 ...on_styles_textAlign_right@android_240ppi.png |  Bin 9785 -> 9475 bytes
 ...ration_styles_textAlign_right@ios_320ppi.png |  Bin 0 -> 12196 bytes
 ...ion_throw_down_nonVirtual@android_240ppi.png |  Bin 7424 -> 7076 bytes
 ...gration_throw_down_nonVirtual@ios_320ppi.png |  Bin 0 -> 8615 bytes
 ...ration_throw_down_virtual@android_240ppi.png |  Bin 7180 -> 7146 bytes
 ...ntegration_throw_down_virtual@ios_320ppi.png |  Bin 0 -> 8789 bytes
 ...List_integration_throw_up@android_240ppi.png |  Bin 7095 -> 7146 bytes
 ...nnerList_integration_throw_up@ios_320ppi.png |  Bin 0 -> 9525 bytes
 ...ation_throw_up_nonVirtual@android_240ppi.png |  Bin 7614 -> 7076 bytes
 ...tegration_throw_up_nonVirtual@ios_320ppi.png |  Bin 0 -> 9361 bytes
 ...egration_width_nonVirtual@android_240ppi.png |  Bin 10557 -> 10270 bytes
 ..._integration_width_nonVirtual@ios_320ppi.png |  Bin 0 -> 13154 bytes
 ...integration_width_virtual@android_240ppi.png |  Bin 5552 -> 5093 bytes
 ...ist_integration_width_virtual@ios_320ppi.png |  Bin 0 -> 6527 bytes
 .../properties/SpinnerList_dataProvider.mxml    |   11 +-
 .../properties/SpinnerList_properties.mxml      |   23 +-
 .../swfs/views/VirtualLayoutView.mxml           |   10 +-
 .../Methods/TextArea_Methods_tester.mxml        |   42 +-
 .../TextArea_scrollToRange1@240ppi.png          |  Bin 19428 -> 17110 bytes
 .../TextArea_scrollToRange1@ios_320ppi.png      |  Bin 0 -> 19740 bytes
 .../TextArea_scrollToRange2@240ppi.png          |  Bin 18091 -> 18076 bytes
 .../TextArea_scrollToRange2@ios_320ppi.png      |  Bin 0 -> 21851 bytes
 .../TextArea_scrollToRange3@240ppi.png          |  Bin 19897 -> 17908 bytes
 .../TextArea_scrollToRange3@ios_320ppi.png      |  Bin 0 -> 18930 bytes
 .../TextArea_selectAll_test1@240ppi.png         |  Bin 4556 -> 4564 bytes
 .../TextArea_selectAll_test1@ios_320ppi.png     |  Bin 0 -> 6361 bytes
 .../TextArea_selectRange_test1@240ppi.png       |  Bin 4451 -> 4414 bytes
 .../TextArea_selectRange_test1@ios_320ppi.png   |  Bin 0 -> 6194 bytes
 .../TextArea_selectRange_test2@240ppi.png       |  Bin 4451 -> 4403 bytes
 .../TextArea_selectRange_test2@ios_320ppi.png   |  Bin 0 -> 6213 bytes
 .../TextArea_selectRange_test3@240ppi.png       |  Bin 4451 -> 4403 bytes
 .../TextArea_selectRange_test3@ios_320ppi.png   |  Bin 0 -> 6194 bytes
 .../TextArea_selectRange_test4@240ppi.png       |  Bin 4639 -> 4620 bytes
 .../TextArea_selectRange_test4@ios_320ppi.png   |  Bin 0 -> 6426 bytes
 .../TextArea_selectRange_test5@240ppi.png       |  Bin 4639 -> 4620 bytes
 .../TextArea_selectRange_test5@ios_320ppi.png   |  Bin 0 -> 6426 bytes
 .../TextArea_selectRange_test6@240ppi.png       |  Bin 4743 -> 4746 bytes
 .../TextArea_selectRange_test6@ios_320ppi.png   |  Bin 0 -> 6560 bytes
 .../TextArea_selectRange_test7@240ppi.png       |  Bin 4675 -> 4630 bytes
 .../TextArea_selectRange_test7@ios_320ppi.png   |  Bin 0 -> 6448 bytes
 .../TextArea_selectRange_test8@ios_320ppi.png   |  Bin 0 -> 3443 bytes
 .../Properties/TextArea_properties.mxml         |   18 +-
 .../baselines/TextArea_basic_prompt@240ppi.png  |  Bin 1293 -> 1305 bytes
 .../TextArea_basic_prompt@ios_320ppi.png        |  Bin 0 -> 2133 bytes
 .../baselines/TextArea_clipping@240ppi.png      |  Bin 5043 -> 4568 bytes
 .../baselines/TextArea_clipping@ios_320ppi.png  |  Bin 0 -> 4544 bytes
 .../TextArea_htmlText_basicTest@240ppi.png      |  Bin 5736 -> 5475 bytes
 .../TextArea_htmlText_basicTest@ios_320ppi.png  |  Bin 0 -> 7237 bytes
 .../TextArea_prompt_disappears@240ppi.png       |  Bin 1342 -> 1354 bytes
 .../TextArea_prompt_disappears@ios_320ppi.png   |  Bin 0 -> 2143 bytes
 ...ea_prompt_returns_on_text_removal@240ppi.png |  Bin 1293 -> 1305 bytes
 ...rompt_returns_on_text_removal@ios_320ppi.png |  Bin 0 -> 2133 bytes
 .../TextArea/Styles/TextArea_styles_tester.mxml |   68 +-
 .../baselines/TextArea_color_test1@240ppi.png   |  Bin 838 -> 889 bytes
 .../TextArea_color_test1@ios_320ppi.png         |  Bin 0 -> 1290 bytes
 .../baselines/TextArea_color_test2@240ppi.png   |  Bin 850 -> 899 bytes
 .../TextArea_color_test2@ios_320ppi.png         |  Bin 0 -> 1328 bytes
 .../baselines/TextArea_color_test3@240ppi.png   |  Bin 838 -> 889 bytes
 .../TextArea_color_test3@ios_320ppi.png         |  Bin 0 -> 1290 bytes
 .../baselines/TextArea_color_test4@240ppi.png   |  Bin 844 -> 896 bytes
 .../TextArea_color_test4@ios_320ppi.png         |  Bin 0 -> 1284 bytes
 .../baselines/TextArea_color_test5@240ppi.png   |  Bin 850 -> 899 bytes
 .../TextArea_color_test5@ios_320ppi.png         |  Bin 0 -> 1328 bytes
 ...Area_contentBackgroundColor_test1@240ppi.png |  Bin 838 -> 889 bytes
 ..._contentBackgroundColor_test1@ios_320ppi.png |  Bin 0 -> 1290 bytes
 ...Area_contentBackgroundColor_test2@240ppi.png |  Bin 808 -> 860 bytes
 ..._contentBackgroundColor_test2@ios_320ppi.png |  Bin 0 -> 1264 bytes
 ...Area_contentBackgroundColor_test3@240ppi.png |  Bin 838 -> 889 bytes
 ..._contentBackgroundColor_test3@ios_320ppi.png |  Bin 0 -> 1290 bytes
 ...Area_contentBackgroundColor_test4@240ppi.png |  Bin 882 -> 940 bytes
 ..._contentBackgroundColor_test4@ios_320ppi.png |  Bin 0 -> 1342 bytes
 .../TextArea_fontFamily_test1@240ppi.png        |  Bin 1028 -> 960 bytes
 .../TextArea_fontFamily_test1@ios_320ppi.png    |  Bin 0 -> 1677 bytes
 .../TextArea_fontSize_test1@240ppi.png          |  Bin 670 -> 677 bytes
 .../TextArea_fontSize_test1@ios_320ppi.png      |  Bin 0 -> 1237 bytes
 .../TextArea_fontSize_test2@240ppi.png          |  Bin 1149 -> 1125 bytes
 .../TextArea_fontSize_test2@ios_320ppi.png      |  Bin 0 -> 1693 bytes
 .../TextArea_fontSize_test3@240ppi.png          |  Bin 2581 -> 2544 bytes
 .../TextArea_fontSize_test3@ios_320ppi.png      |  Bin 0 -> 3082 bytes
 .../TextArea_fontSize_test4@240ppi.png          |  Bin 1149 -> 1125 bytes
 .../TextArea_fontSize_test4@ios_320ppi.png      |  Bin 0 -> 1693 bytes
 .../TextArea_fontWeight_test1@240ppi.png        |  Bin 1727 -> 1730 bytes
 .../TextArea_fontWeight_test1@ios_320ppi.png    |  Bin 0 -> 2466 bytes
 .../TextArea_fontWeight_test2@240ppi.png        |  Bin 1695 -> 1822 bytes
 .../TextArea_fontWeight_test2@ios_320ppi.png    |  Bin 0 -> 2475 bytes
 .../baselines/TextArea_leading_test1@240ppi.png |  Bin 9200 -> 10058 bytes
 .../TextArea_leading_test1@ios_320ppi.png       |  Bin 0 -> 13244 bytes
 .../baselines/TextArea_leading_test2@240ppi.png |  Bin 11292 -> 11464 bytes
 .../TextArea_leading_test2@ios_320ppi.png       |  Bin 0 -> 16064 bytes
 .../baselines/TextArea_leading_test3@240ppi.png |  Bin 12308 -> 12269 bytes
 .../TextArea_leading_test3@ios_320ppi.png       |  Bin 0 -> 16723 bytes
 .../TextArea_letterSpacing_test1@240ppi.png     |  Bin 3200 -> 2234 bytes
 .../TextArea_letterSpacing_test1@ios_320ppi.png |  Bin 0 -> 8473 bytes
 .../TextArea_letterSpacing_test2@240ppi.png     |  Bin 11446 -> 11589 bytes
 .../TextArea_letterSpacing_test2@ios_320ppi.png |  Bin 0 -> 16145 bytes
 .../TextArea_letterSpacing_test3@240ppi.png     |  Bin 3022 -> 2777 bytes
 .../TextArea_letterSpacing_test3@ios_320ppi.png |  Bin 0 -> 4126 bytes
 .../TextArea_textAlign_test1@240ppi.png         |  Bin 11983 -> 11937 bytes
 .../TextArea_textAlign_test1@ios_320ppi.png     |  Bin 0 -> 16423 bytes
 .../TextArea_textAlign_test2@240ppi.png         |  Bin 12089 -> 11877 bytes
 .../TextArea_textAlign_test2@ios_320ppi.png     |  Bin 0 -> 16531 bytes
 .../TextArea_textAlign_test3@240ppi.png         |  Bin 12053 -> 11907 bytes
 .../TextArea_textAlign_test3@ios_320ppi.png     |  Bin 0 -> 16386 bytes
 .../TextArea_textAlign_test4@240ppi.png         |  Bin 12124 -> 11968 bytes
 .../TextArea_textAlign_test4@ios_320ppi.png     |  Bin 0 -> 16562 bytes
 .../TextArea_textAlign_test5@240ppi.png         |  Bin 11983 -> 11937 bytes
 .../TextArea_textAlign_test5@ios_320ppi.png     |  Bin 0 -> 16423 bytes
 .../TextArea_textAlign_test6@240ppi.png         |  Bin 12053 -> 11907 bytes
 .../TextArea_textAlign_test6@ios_320ppi.png     |  Bin 0 -> 16386 bytes
 .../TextArea_textDecoration_test1@240ppi.png    |  Bin 11446 -> 11589 bytes
 ...TextArea_textDecoration_test1@ios_320ppi.png |  Bin 0 -> 16145 bytes
 .../TextArea_textDecoration_test2@240ppi.png    |  Bin 11510 -> 11620 bytes
 ...TextArea_textDecoration_test2@ios_320ppi.png |  Bin 0 -> 16157 bytes
 .../TextArea_textIndent_test1@240ppi.png        |  Bin 11446 -> 11589 bytes
 .../TextArea_textIndent_test1@ios_320ppi.png    |  Bin 0 -> 16145 bytes
 .../TextArea_textIndent_test2@240ppi.png        |  Bin 11446 -> 11589 bytes
 .../TextArea_textIndent_test2@ios_320ppi.png    |  Bin 0 -> 16145 bytes
 .../TextArea_textIndent_test3@240ppi.png        |  Bin 11447 -> 11591 bytes
 .../TextArea_textIndent_test3@ios_320ppi.png    |  Bin 0 -> 16145 bytes
 .../TextArea_textIndent_test4@240ppi.png        |  Bin 11474 -> 11597 bytes
 .../TextArea_textIndent_test4@ios_320ppi.png    |  Bin 0 -> 16171 bytes
 .../Integration/TextInput_States_tester.mxml    |    6 +-
 .../baselines/TextInput_states_test1@240ppi.png |  Bin 7188 -> 7072 bytes
 .../TextInput_states_test1@ios_320ppi.png       |  Bin 0 -> 11019 bytes
 .../baselines/TextInput_states_test2@240ppi.png |  Bin 7208 -> 6979 bytes
 .../TextInput_states_test2@ios_320ppi.png       |  Bin 0 -> 10933 bytes
 .../baselines/TextInput_states_test3@240ppi.png |  Bin 7188 -> 7072 bytes
 .../TextInput_states_test3@ios_320ppi.png       |  Bin 0 -> 11019 bytes
 .../Methods/TextInput_Methods_tester.mxml       |   70 +-
 .../TextInput_selectAll_test1@240ppi.png        |  Bin 2284 -> 2341 bytes
 .../TextInput_selectAll_test1@ios_320ppi.png    |  Bin 0 -> 3193 bytes
 .../TextInput_selectRange_test1@240ppi.png      |  Bin 2236 -> 2265 bytes
 .../TextInput_selectRange_test1@ios_320ppi.png  |  Bin 0 -> 3037 bytes
 .../TextInput_selectRange_test3@240ppi.png      |  Bin 2262 -> 2295 bytes
 .../TextInput_selectRange_test3@ios_320ppi.png  |  Bin 0 -> 3027 bytes
 .../TextInput_selectRange_test4@240ppi.png      |  Bin 2442 -> 2458 bytes
 .../TextInput_selectRange_test4@ios_320ppi.png  |  Bin 0 -> 3236 bytes
 .../TextInput_selectRange_test5@240ppi.png      |  Bin 2442 -> 2458 bytes
 .../TextInput_selectRange_test5@ios_320ppi.png  |  Bin 0 -> 3236 bytes
 .../TextInput_selectRange_test6@240ppi.png      |  Bin 2284 -> 2341 bytes
 .../TextInput_selectRange_test6@ios_320ppi.png  |  Bin 0 -> 3193 bytes
 .../TextInput_selectRange_test7@240ppi.png      |  Bin 2472 -> 2480 bytes
 .../TextInput_selectRange_test7@ios_320ppi.png  |  Bin 0 -> 3283 bytes
 .../TextInput_selectRange_test8@ios_320ppi.png  |  Bin 0 -> 2957 bytes
 .../TextInput_truncateToFit_test1@240ppi.png    |  Bin 1510 -> 1449 bytes
 ...TextInput_truncateToFit_test1@ios_320ppi.png |  Bin 0 -> 2206 bytes
 .../TextInput_truncateToFit_test2@240ppi.png    |  Bin 1950 -> 2028 bytes
 ...TextInput_truncateToFit_test2@ios_320ppi.png |  Bin 0 -> 2530 bytes
 .../TextInput_truncateToFit_test3@240ppi.png    |  Bin 1950 -> 2028 bytes
 ...TextInput_truncateToFit_test3@ios_320ppi.png |  Bin 0 -> 2530 bytes
 .../TextInput_truncateToFit_test4@240ppi.png    |  Bin 1950 -> 2028 bytes
 ...TextInput_truncateToFit_test4@ios_320ppi.png |  Bin 0 -> 2530 bytes
 .../TextInput_truncateToFit_test5@240ppi.png    |  Bin 1971 -> 2090 bytes
 ...TextInput_truncateToFit_test5@ios_320ppi.png |  Bin 0 -> 2473 bytes
 .../TextInput_truncateToFit_test6@240ppi.png    |  Bin 2287 -> 2336 bytes
 ...TextInput_truncateToFit_test6@ios_320ppi.png |  Bin 0 -> 2825 bytes
 .../TextInput_truncateToFit_test7@240ppi.png    |  Bin 1971 -> 2090 bytes
 ...TextInput_truncateToFit_test7@ios_320ppi.png |  Bin 0 -> 2473 bytes
 .../TextInput_truncateToFit_test8@240ppi.png    |  Bin 1971 -> 2090 bytes
 ...TextInput_truncateToFit_test8@ios_320ppi.png |  Bin 0 -> 2473 bytes
 .../TextInput_truncateToFit_test9@240ppi.png    |  Bin 1971 -> 2090 bytes
 ...TextInput_truncateToFit_test9@ios_320ppi.png |  Bin 0 -> 2473 bytes
 .../Properties/TextInput_properties_tester.mxml |   56 +-
 .../TextInput_alpha_property_01@240ppi.png      |  Bin 1463 -> 1393 bytes
 .../TextInput_alpha_property_01@ios_320ppi.png  |  Bin 0 -> 2017 bytes
 .../TextInput_alpha_property_0@ios_320ppi.png   |  Bin 0 -> 288 bytes
 .../baselines/TextInput_basic_prompt@240ppi.png |  Bin 1229 -> 1262 bytes
 .../TextInput_basic_prompt@ios_320ppi.png       |  Bin 0 -> 2050 bytes
 ...TextInput_displayAsPassword_test2@240ppi.png |  Bin 946 -> 1204 bytes
 ...Input_displayAsPassword_test2@ios_320ppi.png |  Bin 0 -> 1863 bytes
 ...TextInput_displayAsPassword_test3@240ppi.png |  Bin 946 -> 1204 bytes
 ...Input_displayAsPassword_test3@ios_320ppi.png |  Bin 0 -> 1863 bytes
 .../TextInput_height_property_10@240ppi.png     |  Bin 1095 -> 1061 bytes
 .../TextInput_height_property_10@ios_320ppi.png |  Bin 0 -> 1296 bytes
 .../TextInput_height_property_40@240ppi.png     |  Bin 1515 -> 1444 bytes
 .../TextInput_height_property_40@ios_320ppi.png |  Bin 0 -> 2230 bytes
 ...tInput_percentHeight_property_150@240ppi.png |  Bin 2387 -> 2313 bytes
 ...ut_percentHeight_property_150@ios_320ppi.png |  Bin 0 -> 3463 bytes
 ...xtInput_percentHeight_property_50@240ppi.png |  Bin 1933 -> 1853 bytes
 ...put_percentHeight_property_50@ios_320ppi.png |  Bin 0 -> 2883 bytes
 ...xtInput_percentWidth_property_150@240ppi.png |  Bin 1543 -> 1462 bytes
 ...put_percentWidth_property_150@ios_320ppi.png |  Bin 0 -> 2203 bytes
 ...extInput_percentWidth_property_50@240ppi.png |  Bin 1337 -> 1282 bytes
 ...nput_percentWidth_property_50@ios_320ppi.png |  Bin 0 -> 1674 bytes
 .../TextInput_prompt_disappears@240ppi.png      |  Bin 1277 -> 1312 bytes
 .../TextInput_prompt_disappears@ios_320ppi.png  |  Bin 0 -> 2350 bytes
 ...ut_prompt_returns_on_text_removal@240ppi.png |  Bin 1229 -> 1262 bytes
 ...rompt_returns_on_text_removal@ios_320ppi.png |  Bin 0 -> 2346 bytes
 .../TextInput_rotation_property_90@240ppi.png   |  Bin 2093 -> 2055 bytes
 ...extInput_rotation_property_90@ios_320ppi.png |  Bin 0 -> 2567 bytes
 .../TextInput_scaleX_property_2@240ppi.png      |  Bin 1303 -> 1320 bytes
 .../TextInput_scaleX_property_2@ios_320ppi.png  |  Bin 0 -> 1893 bytes
 .../TextInput_text_property@240ppi.png          |  Bin 1584 -> 1514 bytes
 .../TextInput_text_property@ios_320ppi.png      |  Bin 0 -> 2308 bytes
 .../TextInput_text_property_japanese@240ppi.png |  Bin 3745 -> 4110 bytes
 ...tInput_text_property_japanese@ios_320ppi.png |  Bin 0 -> 5533 bytes
 .../TextInput_width_property_200@240ppi.png     |  Bin 1101 -> 1122 bytes
 .../TextInput_width_property_200@ios_320ppi.png |  Bin 0 -> 1629 bytes
 .../TextInput_width_property_40@240ppi.png      |  Bin 685 -> 723 bytes
 .../TextInput_width_property_40@ios_320ppi.png  |  Bin 0 -> 1051 bytes
 .../TextInput_width_property_default@240ppi.png |  Bin 1202 -> 1228 bytes
 ...tInput_width_property_default@ios_320ppi.png |  Bin 0 -> 1863 bytes
 .../TextInput_x_property_negative@240ppi.png    |  Bin 2225 -> 2226 bytes
 ...TextInput_x_property_negative@ios_320ppi.png |  Bin 0 -> 2706 bytes
 .../TextInput_x_property_positive@240ppi.png    |  Bin 2185 -> 2195 bytes
 ...TextInput_x_property_positive@ios_320ppi.png |  Bin 0 -> 2614 bytes
 .../TextInput_y_property_negative@240ppi.png    |  Bin 2175 -> 2179 bytes
 ...TextInput_y_property_negative@ios_320ppi.png |  Bin 0 -> 2601 bytes
 .../TextInput_y_property_positive@240ppi.png    |  Bin 2159 -> 2164 bytes
 ...TextInput_y_property_positive@ios_320ppi.png |  Bin 0 -> 2580 bytes
 .../Styles/TextInput_styles_tester.mxml         |   64 +-
 .../baselines/TextInput_color_test1@240ppi.png  |  Bin 821 -> 822 bytes
 .../TextInput_color_test1@ios_320ppi.png        |  Bin 0 -> 1274 bytes
 .../baselines/TextInput_color_test2@240ppi.png  |  Bin 832 -> 832 bytes
 .../TextInput_color_test2@ios_320ppi.png        |  Bin 0 -> 1307 bytes
 .../baselines/TextInput_color_test3@240ppi.png  |  Bin 821 -> 822 bytes
 .../TextInput_color_test3@ios_320ppi.png        |  Bin 0 -> 1274 bytes
 .../baselines/TextInput_color_test4@240ppi.png  |  Bin 825 -> 831 bytes
 .../TextInput_color_test4@ios_320ppi.png        |  Bin 0 -> 1263 bytes
 .../baselines/TextInput_color_test5@240ppi.png  |  Bin 832 -> 832 bytes
 .../TextInput_color_test5@ios_320ppi.png        |  Bin 0 -> 1307 bytes
 ...nput_contentBackgroundColor_test1@240ppi.png |  Bin 821 -> 822 bytes
 ..._contentBackgroundColor_test1@ios_320ppi.png |  Bin 0 -> 1274 bytes
 ...nput_contentBackgroundColor_test2@240ppi.png |  Bin 791 -> 789 bytes
 ..._contentBackgroundColor_test2@ios_320ppi.png |  Bin 0 -> 1250 bytes
 ...nput_contentBackgroundColor_test3@240ppi.png |  Bin 821 -> 822 bytes
 ..._contentBackgroundColor_test3@ios_320ppi.png |  Bin 0 -> 1274 bytes
 ...nput_contentBackgroundColor_test4@240ppi.png |  Bin 865 -> 868 bytes
 ..._contentBackgroundColor_test4@ios_320ppi.png |  Bin 0 -> 1324 bytes
 .../TextInput_fontFamily_test1@240ppi.png       |  Bin 594 -> 921 bytes
 .../TextInput_fontFamily_test1@ios_320ppi.png   |  Bin 0 -> 1527 bytes
 .../TextInput_fontFamily_test2@240ppi.png       |  Bin 9043 -> 8843 bytes
 .../TextInput_fontFamily_test2@ios_320ppi.png   |  Bin 0 -> 12192 bytes
 .../TextInput_fontSize_test1@240ppi.png         |  Bin 591 -> 616 bytes
 .../TextInput_fontSize_test1@ios_320ppi.png     |  Bin 0 -> 1078 bytes
 .../TextInput_fontSize_test2@240ppi.png         |  Bin 591 -> 1065 bytes
 .../TextInput_fontSize_test2@ios_320ppi.png     |  Bin 0 -> 1535 bytes
 .../TextInput_fontSize_test3@240ppi.png         |  Bin 697 -> 2544 bytes
 .../TextInput_fontSize_test3@ios_320ppi.png     |  Bin 0 -> 3048 bytes
 .../TextInput_fontSize_test4@240ppi.png         |  Bin 591 -> 1065 bytes
 .../TextInput_fontSize_test4@ios_320ppi.png     |  Bin 0 -> 1535 bytes
 .../TextInput_fontWeight_test1@240ppi.png       |  Bin 1716 -> 1636 bytes
 .../TextInput_fontWeight_test1@ios_320ppi.png   |  Bin 0 -> 2439 bytes
 .../TextInput_fontWeight_test2@240ppi.png       |  Bin 1683 -> 1733 bytes
 .../TextInput_fontWeight_test2@ios_320ppi.png   |  Bin 0 -> 2462 bytes
 .../TextInput_letterSpacing_test1@240ppi.png    |  Bin 1341 -> 1259 bytes
 ...TextInput_letterSpacing_test1@ios_320ppi.png |  Bin 0 -> 2021 bytes
 .../TextInput_letterSpacing_test2@240ppi.png    |  Bin 1716 -> 1636 bytes
 ...TextInput_letterSpacing_test2@ios_320ppi.png |  Bin 0 -> 2439 bytes
 .../TextInput_letterSpacing_test3@240ppi.png    |  Bin 1718 -> 1657 bytes
 ...TextInput_letterSpacing_test3@ios_320ppi.png |  Bin 0 -> 2498 bytes
 .../TextInput_textAlign_test1@240ppi.png        |  Bin 1716 -> 1636 bytes
 .../TextInput_textAlign_test1@ios_320ppi.png    |  Bin 0 -> 2439 bytes
 .../TextInput_textAlign_test2@240ppi.png        |  Bin 1715 -> 1651 bytes
 .../TextInput_textAlign_test2@ios_320ppi.png    |  Bin 0 -> 2436 bytes
 .../TextInput_textAlign_test3@240ppi.png        |  Bin 1708 -> 1639 bytes
 .../TextInput_textAlign_test3@ios_320ppi.png    |  Bin 0 -> 2434 bytes
 .../TextInput_textAlign_test4@240ppi.png        |  Bin 1716 -> 1636 bytes
 .../TextInput_textAlign_test4@ios_320ppi.png    |  Bin 0 -> 2439 bytes
 .../TextInput_textAlign_test5@240ppi.png        |  Bin 1708 -> 1639 bytes
 .../TextInput_textAlign_test5@ios_320ppi.png    |  Bin 0 -> 2434 bytes
 .../TextInput_textAlign_test6@240ppi.png        |  Bin 3165 -> 3079 bytes
 .../TextInput_textAlign_test6@ios_320ppi.png    |  Bin 0 -> 4573 bytes
 .../TextInput_textDecoration_test1@240ppi.png   |  Bin 1716 -> 1636 bytes
 ...extInput_textDecoration_test1@ios_320ppi.png |  Bin 0 -> 2439 bytes
 .../TextInput_textDecoration_test2@240ppi.png   |  Bin 1730 -> 1641 bytes
 ...extInput_textDecoration_test2@ios_320ppi.png |  Bin 0 -> 2448 bytes
 .../TextInput_textIndent_test1@240ppi.png       |  Bin 1714 -> 1636 bytes
 .../TextInput_textIndent_test1@ios_320ppi.png   |  Bin 0 -> 2433 bytes
 .../TextInput_textIndent_test2@240ppi.png       |  Bin 1716 -> 1636 bytes
 .../TextInput_textIndent_test2@ios_320ppi.png   |  Bin 0 -> 2439 bytes
 .../TextInput_textIndent_test3@240ppi.png       |  Bin 1724 -> 1649 bytes
 .../TextInput_textIndent_test3@ios_320ppi.png   |  Bin 0 -> 2440 bytes
 .../TextInput_textIndent_test4@240ppi.png       |  Bin 1728 -> 1646 bytes
 .../TextInput_textIndent_test4@ios_320ppi.png   |  Bin 0 -> 2461 bytes
 .../integration/ToggleSwitch_skinning.mxml      |   12 +-
 .../custom_skin_French_label@android_240ppi.png |  Bin 4272 -> 5028 bytes
 .../custom_skin_French_label@ios_320ppi.png     |  Bin 0 -> 6824 bytes
 ...stom_skin_French_selected@android_240ppi.png |  Bin 5308 -> 5777 bytes
 .../custom_skin_French_selected@ios_320ppi.png  |  Bin 0 -> 7456 bytes
 ...ustom_skin_Japanese_label@android_240ppi.png |  Bin 5356 -> 5605 bytes
 .../custom_skin_Japanese_label@ios_320ppi.png   |  Bin 0 -> 7813 bytes
 ...om_skin_Japanese_selected@android_240ppi.png |  Bin 7414 -> 6451 bytes
 ...custom_skin_Japanese_selected@ios_320ppi.png |  Bin 0 -> 9039 bytes
 .../custom_skin_styles@android_240ppi.png       |  Bin 4112 -> 4256 bytes
 .../baselines/custom_skin_styles@ios_320ppi.png |  Bin 0 -> 4646 bytes
 ...stom_skin_styles_selected@android_240ppi.png |  Bin 3497 -> 3537 bytes
 .../custom_skin_styles_selected@ios_320ppi.png  |  Bin 0 -> 3944 bytes
 .../properties/ToggleSwitch_properties.mxml     |   27 +-
 .../baselines/enabled_false@android_240ppi.png  |  Bin 2108 -> 2049 bytes
 .../baselines/enabled_false@ios_320ppi.png      |  Bin 0 -> 2836 bytes
 .../baselines/enabled_true@android_240ppi.png   |  Bin 2573 -> 2480 bytes
 .../baselines/enabled_true@ios_320ppi.png       |  Bin 0 -> 3438 bytes
 ...entWidth_percentHeight_AS@android_240ppi.png |  Bin 2669 -> 2576 bytes
 ...percentWidth_percentHeight_AS@ios_320ppi.png |  Bin 0 -> 3597 bytes
 ...tWidth_percentHeight_MXML@android_240ppi.png |  Bin 2452 -> 2397 bytes
 ...rcentWidth_percentHeight_MXML@ios_320ppi.png |  Bin 0 -> 3251 bytes
 .../scaleX_scaleY_AS@android_240ppi.png         |  Bin 4016 -> 3950 bytes
 .../baselines/scaleX_scaleY_AS@ios_320ppi.png   |  Bin 0 -> 5356 bytes
 .../scaleX_scaleY_MXML@android_240ppi.png       |  Bin 5214 -> 5251 bytes
 .../baselines/scaleX_scaleY_MXML@ios_320ppi.png |  Bin 0 -> 7142 bytes
 .../width_height_AS@android_240ppi.png          |  Bin 2743 -> 2632 bytes
 .../baselines/width_height_AS@ios_320ppi.png    |  Bin 0 -> 3306 bytes
 .../width_height_MXML@android_240ppi.png        |  Bin 2744 -> 2698 bytes
 .../baselines/width_height_MXML@ios_320ppi.png  |  Bin 0 -> 3531 bytes
 .../width_height_default@android_240ppi.png     |  Bin 2573 -> 2480 bytes
 .../width_height_default@ios_320ppi.png         |  Bin 0 -> 3438 bytes
 .../ToggleSwitch/styles/ToggleSwitch_CSS.mxml   |   67 +-
 .../styles/ToggleSwitch_advancedCSS.mxml        |   12 +-
 .../styles/ToggleSwitch_styles.mxml             |   77 +-
 .../CSS_accentColor_AS@android_240ppi.png       |  Bin 3452 -> 3492 bytes
 .../baselines/CSS_accentColor_AS@ios_320ppi.png |  Bin 0 -> 4755 bytes
 ..._accentColor_typeselector@android_240ppi.png |  Bin 3467 -> 3505 bytes
 .../CSS_accentColor_typeselector@ios_320ppi.png |  Bin 0 -> 4745 bytes
 .../CSS_chromeColor_AS@android_240ppi.png       |  Bin 3129 -> 3166 bytes
 .../baselines/CSS_chromeColor_AS@ios_320ppi.png |  Bin 0 -> 4294 bytes
 .../CSS_chromeColor_default@android_240ppi.png  |  Bin 3108 -> 3088 bytes
 .../CSS_chromeColor_default@ios_320ppi.png      |  Bin 0 -> 4260 bytes
 .../baselines/CSS_color_AS@android_240ppi.png   |  Bin 2986 -> 2966 bytes
 .../baselines/CSS_color_AS@ios_320ppi.png       |  Bin 0 -> 4060 bytes
 .../CSS_color_default@android_240ppi.png        |  Bin 3108 -> 3088 bytes
 .../baselines/CSS_color_default@ios_320ppi.png  |  Bin 0 -> 4260 bytes
 .../CSS_color_disabled@android_240ppi.png       |  Bin 2528 -> 2530 bytes
 .../baselines/CSS_color_disabled@ios_320ppi.png |  Bin 0 -> 3466 bytes
 .../CSS_fontFamily_AS@android_240ppi.png        |  Bin 3108 -> 3269 bytes
 .../baselines/CSS_fontFamily_AS@ios_320ppi.png  |  Bin 0 -> 4267 bytes
 .../CSS_fontFamily_default@android_240ppi.png   |  Bin 3108 -> 3088 bytes
 .../CSS_fontFamily_default@ios_320ppi.png       |  Bin 0 -> 4260 bytes
 .../CSS_fontSize_AS@android_240ppi.png          |  Bin 2701 -> 2823 bytes
 .../baselines/CSS_fontSize_AS@ios_320ppi.png    |  Bin 0 -> 3668 bytes
 .../CSS_fontSize_default@android_240ppi.png     |  Bin 2528 -> 2530 bytes
 .../CSS_fontSize_default@ios_320ppi.png         |  Bin 0 -> 3466 bytes
 .../CSS_fontStyle_AS@android_240ppi.png         |  Bin 3284 -> 3239 bytes
 .../baselines/CSS_fontStyle_AS@ios_320ppi.png   |  Bin 0 -> 4402 bytes
 .../CSS_fontStyle_default@android_240ppi.png    |  Bin 3108 -> 3088 bytes
 .../CSS_fontStyle_default@ios_320ppi.png        |  Bin 0 -> 4260 bytes
 .../CSS_fontWeight_AS@android_240ppi.png        |  Bin 3048 -> 3083 bytes
 .../baselines/CSS_fontWeight_AS@ios_320ppi.png  |  Bin 0 -> 4238 bytes
 .../CSS_fontWeight_default@android_240ppi.png   |  Bin 3108 -> 3088 bytes
 .../CSS_fontWeight_default@ios_320ppi.png       |  Bin 0 -> 4260 bytes
 .../CSS_lineHeight_AS@android_240ppi.png        |  Bin 3108 -> 3088 bytes
 .../baselines/CSS_lineHeight_AS@ios_320ppi.png  |  Bin 0 -> 4260 bytes
 .../CSS_lineHeight_default@android_240ppi.png   |  Bin 3108 -> 3088 bytes
 .../CSS_lineHeight_default@ios_320ppi.png       |  Bin 0 -> 4260 bytes
 .../CSS_lineThrough_AS@android_240ppi.png       |  Bin 3108 -> 3088 bytes
 .../baselines/CSS_lineThrough_AS@ios_320ppi.png |  Bin 0 -> 4260 bytes
 .../CSS_lineThrough_default@android_240ppi.png  |  Bin 3108 -> 3088 bytes
 .../CSS_lineThrough_default@ios_320ppi.png      |  Bin 0 -> 4260 bytes
 .../CSS_set_in_MXML@android_240ppi.png          |  Bin 3899 -> 3747 bytes
 .../baselines/CSS_set_in_MXML@ios_320ppi.png    |  Bin 0 -> 4685 bytes
 .../CSS_textAlign_AS@android_240ppi.png         |  Bin 3108 -> 3088 bytes
 .../baselines/CSS_textAlign_AS@ios_320ppi.png   |  Bin 0 -> 4260 bytes
 .../CSS_textAlign_default@android_240ppi.png    |  Bin 3108 -> 3088 bytes
 .../CSS_textAlign_default@ios_320ppi.png        |  Bin 0 -> 4260 bytes
 .../CSS_textAlpha_AS@android_240ppi.png         |  Bin 3108 -> 3088 bytes
 .../baselines/CSS_textAlpha_AS@ios_320ppi.png   |  Bin 0 -> 4260 bytes
 .../CSS_textAlpha_default@android_240ppi.png    |  Bin 3108 -> 3088 bytes
 .../CSS_textAlpha_default@ios_320ppi.png        |  Bin 0 -> 4260 bytes
 .../CSS_textDecoration_AS@android_240ppi.png    |  Bin 3127 -> 3101 bytes
 .../CSS_textDecoration_AS@ios_320ppi.png        |  Bin 0 -> 4275 bytes
 ...SS_textDecoration_default@android_240ppi.png |  Bin 3108 -> 3088 bytes
 .../CSS_textDecoration_default@ios_320ppi.png   |  Bin 0 -> 4260 bytes
 ...advancedselector_selected@android_240ppi.png |  Bin 3320 -> 3290 bytes
 ...CSS_advancedselector_selected@ios_320ppi.png |  Bin 0 -> 4531 bytes
 ...vancedselector_unselected@android_240ppi.png |  Bin 2795 -> 2846 bytes
 ...S_advancedselector_unselected@ios_320ppi.png |  Bin 0 -> 3818 bytes
 ...SS_classselector_selected@android_240ppi.png |  Bin 3229 -> 3332 bytes
 ...cedCSS_classselector_selected@ios_320ppi.png |  Bin 0 -> 4503 bytes
 ..._classselector_unselected@android_240ppi.png |  Bin 2858 -> 2895 bytes
 ...dCSS_classselector_unselected@ios_320ppi.png |  Bin 0 -> 3934 bytes
 ...CSS_typeselector_selected@android_240ppi.png |  Bin 3239 -> 3286 bytes
 ...ncedCSS_typeselector_selected@ios_320ppi.png |  Bin 0 -> 4484 bytes
 ...S_typeselector_unselected@android_240ppi.png |  Bin 2800 -> 2859 bytes
 ...edCSS_typeselector_unselected@ios_320ppi.png |  Bin 0 -> 3827 bytes
 .../styles_accentColor_AS@android_240ppi.png    |  Bin 3274 -> 3330 bytes
 .../styles_accentColor_AS@ios_320ppi.png        |  Bin 0 -> 4537 bytes
 ...tyles_accentColor_default@android_240ppi.png |  Bin 3267 -> 3299 bytes
 .../styles_accentColor_default@ios_320ppi.png   |  Bin 0 -> 4487 bytes
 ...styles_baseColor_disabled@android_240ppi.png |  Bin 2113 -> 2268 bytes
 .../styles_baseColor_disabled@ios_320ppi.png    |  Bin 0 -> 3040 bytes
 ...tyles_baseColor_mouseOver@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_baseColor_mouseOver@ios_320ppi.png   |  Bin 0 -> 3679 bytes
 .../styles_chromeColor_AS@android_240ppi.png    |  Bin 3226 -> 3288 bytes
 .../styles_chromeColor_AS@ios_320ppi.png        |  Bin 0 -> 4440 bytes
 ...tyles_chromeColor_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_chromeColor_default@ios_320ppi.png   |  Bin 0 -> 3679 bytes
 .../styles_color_AS@android_240ppi.png          |  Bin 2815 -> 2784 bytes
 .../baselines/styles_color_AS@ios_320ppi.png    |  Bin 0 -> 3744 bytes
 .../styles_color_default@android_240ppi.png     |  Bin 2577 -> 2772 bytes
 .../styles_color_default@ios_320ppi.png         |  Bin 0 -> 3679 bytes
 .../styles_color_disabled@android_240ppi.png    |  Bin 2315 -> 2285 bytes
 .../styles_color_disabled@ios_320ppi.png        |  Bin 0 -> 3121 bytes
 .../styles_fontFamily_AS@android_240ppi.png     |  Bin 2577 -> 2887 bytes
 .../styles_fontFamily_AS@ios_320ppi.png         |  Bin 0 -> 3705 bytes
 ...styles_fontFamily_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_fontFamily_default@ios_320ppi.png    |  Bin 0 -> 3679 bytes
 .../styles_fontSize_AS@android_240ppi.png       |  Bin 2271 -> 2470 bytes
 .../baselines/styles_fontSize_AS@ios_320ppi.png |  Bin 0 -> 3133 bytes
 .../styles_fontSize_default@android_240ppi.png  |  Bin 2577 -> 2772 bytes
 .../styles_fontSize_default@ios_320ppi.png      |  Bin 0 -> 3679 bytes
 .../styles_fontStyle_AS@android_240ppi.png      |  Bin 2693 -> 2858 bytes
 .../styles_fontStyle_AS@ios_320ppi.png          |  Bin 0 -> 3880 bytes
 .../styles_fontStyle_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_fontStyle_default@ios_320ppi.png     |  Bin 0 -> 3679 bytes
 .../styles_fontWeight_AS@android_240ppi.png     |  Bin 2550 -> 2736 bytes
 .../styles_fontWeight_AS@ios_320ppi.png         |  Bin 0 -> 3678 bytes
 ...styles_fontWeight_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_fontWeight_default@ios_320ppi.png    |  Bin 0 -> 3679 bytes
 .../styles_lineHeight_AS@android_240ppi.png     |  Bin 2577 -> 2772 bytes
 .../styles_lineHeight_AS@ios_320ppi.png         |  Bin 0 -> 3679 bytes
 ...styles_lineHeight_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_lineHeight_default@ios_320ppi.png    |  Bin 0 -> 3679 bytes
 .../styles_lineThrough_AS@android_240ppi.png    |  Bin 2577 -> 2772 bytes
 .../styles_lineThrough_AS@ios_320ppi.png        |  Bin 0 -> 3679 bytes
 ...tyles_lineThrough_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_lineThrough_default@ios_320ppi.png   |  Bin 0 -> 3679 bytes
 .../styles_set_in_MXML@android_240ppi.png       |  Bin 3914 -> 3727 bytes
 .../baselines/styles_set_in_MXML@ios_320ppi.png |  Bin 0 -> 4651 bytes
 .../styles_textAlign_AS@android_240ppi.png      |  Bin 2577 -> 2772 bytes
 .../styles_textAlign_AS@ios_320ppi.png          |  Bin 0 -> 3679 bytes
 .../styles_textAlign_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_textAlign_default@ios_320ppi.png     |  Bin 0 -> 3679 bytes
 .../styles_textAlpha_AS@android_240ppi.png      |  Bin 2577 -> 2772 bytes
 .../styles_textAlpha_AS@ios_320ppi.png          |  Bin 0 -> 3679 bytes
 .../styles_textAlpha_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 .../styles_textAlpha_default@ios_320ppi.png     |  Bin 0 -> 3679 bytes
 .../styles_textDecoration_AS@android_240ppi.png |  Bin 2597 -> 2782 bytes
 .../styles_textDecoration_AS@ios_320ppi.png     |  Bin 0 -> 3691 bytes
 ...es_textDecoration_default@android_240ppi.png |  Bin 2577 -> 2772 bytes
 ...styles_textDecoration_default@ios_320ppi.png |  Bin 0 -> 3679 bytes
 .../integration/ViewMenuScaleTester.mxml        |    6 +-
 .../integration/ViewMenu_CustomSkinTester.mxml  |    4 +-
 .../integration/ViewMenu_Integration3.mxml      |   16 +-
 .../integration/ViewMenu_Integration4.mxml      |   18 +-
 .../integration/ViewMenu_Integration5.mxml      |   18 +-
 .../integration/ViewMenu_Integration6.mxml      |   20 +-
 .../integration/ViewMenu_Integration7.mxml      |   13 +-
 .../BusyIndicator240Scale@ios_320ppi.png        |  Bin 0 -> 1189 bytes
 ...inSevenItemsMenuPortrait1@android_240ppi.png |  Bin 3677 -> 4190 bytes
 ...omSkinSevenItemsMenuPortrait1@ios_320ppi.png |  Bin 0 -> 4834 bytes
 ...inSevenItemsMenuPortrait2@android_240ppi.png |  Bin 4975 -> 5503 bytes
 ...omSkinSevenItemsMenuPortrait2@ios_320ppi.png |  Bin 0 -> 6335 bytes
 .../FiveItemsMenuPortrait1@android_240ppi.png   |  Bin 14571 -> 16289 bytes
 .../FiveItemsMenuPortrait1@ios_320ppi.png       |  Bin 0 -> 18058 bytes
 .../FiveItemsMenuPortrait2@android_240ppi.png   |  Bin 15353 -> 17074 bytes
 .../FiveItemsMenuPortrait2@ios_320ppi.png       |  Bin 0 -> 18838 bytes
 .../FiveItemsMenuPortrait3@android_240ppi.png   |  Bin 14818 -> 16554 bytes
 .../FiveItemsMenuPortrait3@ios_320ppi.png       |  Bin 0 -> 18219 bytes
 .../FiveItemsMenuPortrait4@android_240ppi.png   |  Bin 3332 -> 3542 bytes
 .../FiveItemsMenuPortrait4@ios_320ppi.png       |  Bin 0 -> 4129 bytes
 .../FiveItemsMenuPortrait5@android_240ppi.png   |  Bin 16432 -> 18134 bytes
 .../FiveItemsMenuPortrait5@ios_320ppi.png       |  Bin 0 -> 19889 bytes
 .../FiveItemsMenuPortrait6@android_240ppi.png   |  Bin 14571 -> 16289 bytes
 .../FiveItemsMenuPortrait6@ios_320ppi.png       |  Bin 0 -> 18058 bytes
 .../FiveItemsMenuPortrait7@android_240ppi.png   |  Bin 14818 -> 16554 bytes
 .../FiveItemsMenuPortrait7@ios_320ppi.png       |  Bin 0 -> 18219 bytes
 .../FiveItemsMenuPortrait8@android_240ppi.png   |  Bin 15266 -> 16977 bytes
 .../FiveItemsMenuPortrait8@ios_320ppi.png       |  Bin 0 -> 18694 bytes
 .../FiveItemsMenuPortrait9@android_240ppi.png   |  Bin 15353 -> 17074 bytes
 .../FiveItemsMenuPortrait9@ios_320ppi.png       |  Bin 0 -> 18838 bytes
 .../FourItemsMenuPortrait1@android_240ppi.png   |  Bin 10332 -> 8936 bytes
 .../FourItemsMenuPortrait1@ios_320ppi.png       |  Bin 0 -> 11449 bytes
 .../FourItemsMenuPortrait2@android_240ppi.png   |  Bin 8373 -> 7063 bytes
 .../FourItemsMenuPortrait2@ios_320ppi.png       |  Bin 0 -> 9501 bytes
 .../FourItemsMenuPortrait3@android_240ppi.png   |  Bin 8373 -> 7063 bytes
 .../FourItemsMenuPortrait3@ios_320ppi.png       |  Bin 0 -> 9501 bytes
 .../FourItemsMenuPortrait4@android_240ppi.png   |  Bin 8373 -> 7063 bytes
 .../FourItemsMenuPortrait4@ios_320ppi.png       |  Bin 0 -> 9501 bytes
 .../FourItemsMenuPortrait5@android_240ppi.png   |  Bin 10420 -> 9012 bytes
 .../FourItemsMenuPortrait5@ios_320ppi.png       |  Bin 0 -> 11484 bytes
 .../FourItemsMenuPortrait6@android_240ppi.png   |  Bin 8373 -> 7063 bytes
 .../FourItemsMenuPortrait6@ios_320ppi.png       |  Bin 0 -> 9501 bytes
 .../FourItemsMenuPortrait7@android_240ppi.png   |  Bin 8373 -> 7063 bytes
 .../FourItemsMenuPortrait7@ios_320ppi.png       |  Bin 0 -> 9501 bytes
 .../baselines/FourItemsMenuPortrait8.png        |  Bin 5589 -> 6756 bytes
 .../FourItemsMenuPortrait8@android_240ppi.png   |  Bin 10299 -> 9378 bytes
 .../FourItemsMenuPortrait8@ios_320ppi.png       |  Bin 0 -> 12425 bytes
 .../FourItemsMenuPortrait9@android_240ppi.png   |  Bin 10299 -> 9378 bytes
 .../FourItemsMenuPortrait9@ios_320ppi.png       |  Bin 0 -> 12425 bytes
 .../baselines/HSlider240Scale@ios_320ppi.png    |  Bin 0 -> 2737 bytes
 .../SevenItemsMenuPortrait1@android_240ppi.png  |  Bin 3587 -> 4024 bytes
 .../SevenItemsMenuPortrait1@ios_320ppi.png      |  Bin 0 -> 4635 bytes
 .../SevenItemsMenuPortrait2@android_240ppi.png  |  Bin 19830 -> 21962 bytes
 .../SevenItemsMenuPortrait2@ios_320ppi.png      |  Bin 0 -> 25335 bytes
 .../SevenItemsMenuPortrait3@android_240ppi.png  |  Bin 19663 -> 21369 bytes
 .../SevenItemsMenuPortrait3@ios_320ppi.png      |  Bin 0 -> 24671 bytes
 .../SixItemsMenuPortrait10@android_240ppi.png   |  Bin 18405 -> 21411 bytes
 .../SixItemsMenuPortrait10@ios_320ppi.png       |  Bin 0 -> 25003 bytes
 .../SixItemsMenuPortrait1@android_240ppi.png    |  Bin 19091 -> 21853 bytes
 .../SixItemsMenuPortrait1@ios_320ppi.png        |  Bin 0 -> 25282 bytes
 .../SixItemsMenuPortrait2@android_240ppi.png    |  Bin 18405 -> 21411 bytes
 .../SixItemsMenuPortrait2@ios_320ppi.png        |  Bin 0 -> 25003 bytes
 .../SixItemsMenuPortrait3@android_240ppi.png    |  Bin 17391 -> 20356 bytes
 .../SixItemsMenuPortrait3@ios_320ppi.png        |  Bin 0 -> 23822 bytes
 .../SixItemsMenuPortrait4@android_240ppi.png    |  Bin 2931 -> 3082 bytes
 .../SixItemsMenuPortrait4@ios_320ppi.png        |  Bin 0 -> 3895 bytes
 .../SixItemsMenuPortrait5@android_240ppi.png    |  Bin 19898 -> 22687 bytes
 .../SixItemsMenuPortrait5@ios_320ppi.png        |  Bin 0 -> 26374 bytes
 .../SixItemsMenuPortrait6@android_240ppi.png    |  Bin 19091 -> 21853 bytes
 .../SixItemsMenuPortrait6@ios_320ppi.png        |  Bin 0 -> 25282 bytes
 .../SixItemsMenuPortrait7@android_240ppi.png    |  Bin 17391 -> 20356 bytes
 .../SixItemsMenuPortrait7@ios_320ppi.png        |  Bin 0 -> 23822 bytes
 .../SixItemsMenuPortrait8@android_240ppi.png    |  Bin 18619 -> 21498 bytes
 .../SixItemsMenuPortrait8@ios_320ppi.png        |  Bin 0 -> 25157 bytes
 .../SixItemsMenuPortrait9@android_240ppi.png    |  Bin 18405 -> 21411 bytes
 .../SixItemsMenuPortrait9@ios_320ppi.png        |  Bin 0 -> 25003 bytes
 ...ThreeButtonsMenuPortrait1@android_240ppi.png |  Bin 7700 -> 9121 bytes
 .../ThreeButtonsMenuPortrait1@ios_320ppi.png    |  Bin 0 -> 10179 bytes
 ...ThreeButtonsMenuPortrait2@android_240ppi.png |  Bin 5947 -> 7383 bytes
 .../ThreeButtonsMenuPortrait2@ios_320ppi.png    |  Bin 0 -> 8391 bytes
 ...ThreeButtonsMenuPortrait3@android_240ppi.png |  Bin 5947 -> 7383 bytes
 .../ThreeButtonsMenuPortrait3@ios_320ppi.png    |  Bin 0 -> 8391 bytes
 ...ThreeButtonsMenuPortrait4@android_240ppi.png |  Bin 5947 -> 7383 bytes
 .../ThreeButtonsMenuPortrait4@ios_320ppi.png    |  Bin 0 -> 8391 bytes
 ...ThreeButtonsMenuPortrait6@android_240ppi.png |  Bin 6454 -> 7534 bytes
 .../ThreeButtonsMenuPortrait6@ios_320ppi.png    |  Bin 0 -> 8552 bytes
 ...ThreeButtonsMenuPortrait7@android_240ppi.png |  Bin 6584 -> 7954 bytes
 .../ThreeButtonsMenuPortrait7@ios_320ppi.png    |  Bin 0 -> 8968 bytes
 ...ThreeButtonsMenuPortrait8@android_240ppi.png |  Bin 6449 -> 7724 bytes
 .../ThreeButtonsMenuPortrait8@ios_320ppi.png    |  Bin 0 -> 8760 bytes
 ...ThreeButtonsMenuPortrait9@android_240ppi.png |  Bin 6584 -> 7954 bytes
 .../ThreeButtonsMenuPortrait9@ios_320ppi.png    |  Bin 0 -> 8968 bytes
 .../ViewMenu240Scale@android_240ppi.png         |  Bin 7771 -> 9744 bytes
 .../baselines/ViewMenu240Scale@ios_320ppi.png   |  Bin 0 -> 12298 bytes
 .../properties/ViewMenu_Properties1.mxml        |   10 +-
 .../properties/ViewMenu_Properties2.mxml        |   20 +-
 .../ViewMenu/swfs/menuIcons/Chevron.fxg         |   14 +-
 .../components/ViewMenu/swfs/views/Chevron.fxg  |   14 +-
 .../ViewTransition/swfs/views/HomeView.mxml     |    2 +-
 .../AsyncListView_integration_scrolling.mxml    |   13 +-
 .../integration/baselines/arbitrary_test3.png   |  Bin 3275 -> 3268 bytes
 .../methods/AsyncListView_addItem.mxml          |   27 +-
 .../methods/AsyncListView_addItemAt.mxml        |   20 +-
 .../methods/AsyncListView_removeItemAt.mxml     |    4 +-
 .../AsyncListView_createFailedItemFunction.mxml |    4 +-
 .../effects/MovieClipSWFLoader_Test.mxml        |   20 +-
 .../methods/MovieClipSWFLoader_Methods.mxml     |   84 +-
 .../MovieClipSWFLoader_Properties.mxml          |   14 +-
 .../MP_Spark_MovieClipSWFLoader_Tests.mxml      |   15 +-
 .../tests/mx/effects/Blur/SWFs/Blur_main.mxml   |    2 +-
 .../mx/effects/Blur/SWFs/assets/ObjectTabs.mxml |    2 +-
 .../Blur/object/Baselines/Blur_DateField.png    |  Bin 1922 -> 1930 bytes
 .../Blur/object/Baselines/Blur_Image.png        |  Bin 1970 -> 1729 bytes
 .../mx/effects/Dissolve/SWFs/Dissolve_main.mxml |    2 +-
 .../Dissolve/SWFs/assets/ObjectTabs.mxml        |    2 +-
 .../object/Baselines/Dissolve_DateField.png     |  Bin 1387 -> 1391 bytes
 .../object/Baselines/Dissolve_Image.png         |  Bin 1269 -> 1451 bytes
 .../mx/effects/Effect/SWFs/Effect_main.mxml     |    2 +-
 .../effects/Effect/SWFs/assets/ObjectTabs.mxml  |    2 +-
 .../tests/mx/effects/Fade/SWFs/Fade_main.mxml   |    2 +-
 .../mx/effects/Fade/SWFs/assets/ObjectTabs.mxml |    2 +-
 .../Fade/object/Baselines/Fade_DateField.png    |  Bin 1417 -> 1419 bytes
 .../Fade/object/Baselines/Fade_Image.png        |  Bin 1273 -> 1453 bytes
 .../tests/mx/effects/Glow/SWFs/Glow_main.mxml   |    2 +-
 .../mx/effects/Glow/SWFs/assets/ObjectTabs.mxml |    2 +-
 .../Glow/object/Baselines/Glow_DateField.png    |  Bin 1541 -> 1545 bytes
 .../Glow/object/Baselines/Glow_Image.png        |  Bin 1420 -> 1552 bytes
 .../Baselines/MaskEffect_scaleXTo_Play.png      |  Bin 174 -> 1115 bytes
 .../Baselines/MaskEffect_scaleYFrom_Play.png    |  Bin 45905 -> 0 bytes
 .../Baselines/MaskEffect_scaleYTo_Play.png      |  Bin 187 -> 1109 bytes
 .../Baselines/MaskEffect_startDelay_Play.png    |  Bin 185 -> 1268 bytes
 .../Props/Baselines/MaskEffect_xFrom_Play.png   |  Bin 87354 -> 0 bytes
 .../Props/Baselines/MaskEffect_xTo_Play.png     |  Bin 79 -> 513 bytes
 .../Props/Baselines/MaskEffect_yTo_Play.png     |  Bin 79 -> 318 bytes
 .../MaskEffect/Props/MaskEffect_Properties.mxml |    6 +-
 .../MaskEffect/SWFs/MaskEffect_Main.mxml        |    4 +-
 .../MaskEffect_TransitionToStateTwo.png         |  Bin 174 -> 969 bytes
 .../mx/effects/Parallel/SWFs/Parallel_main.mxml |    2 +-
 .../Parallel/SWFs/assets/ObjectTabs.mxml        |    2 +-
 .../mx/effects/Pause/event/Pause_event.mxml     |    2 +-
 .../Pause/usability/Pause_usability.mxml        |    2 +-
 .../mx/effects/Sequence/SWFs/Sequence_main.mxml |    2 +-
 .../Sequence/SWFs/assets/ObjectTabs.mxml        |    2 +-
 .../mx/effects/WipeDown/SWFs/WipeDown_Main.mxml |    4 +-
 .../WipeLeft/Methods/WipeLeft_Methods.mxml      |    2 +-
 .../WipeLeft/Props/WipeLeft_Properties.mxml     |    4 +-
 .../mx/effects/WipeLeft/SWFs/WipeLeft_Main.mxml |    4 +-
 .../WipeRight/Methods/WipeRight_Methods.mxml    |    2 +-
 .../WipeRight/Props/WipeRight_Properties.mxml   |    4 +-
 .../effects/WipeRight/SWFs/WipeRight_Main.mxml  |    4 +-
 .../WipeRight/States/WipeRight_States.mxml      |    2 +-
 .../mx/effects/WipeUp/SWFs/WipeUp_Main.mxml     |    4 +-
 .../mx/effects/Zoom/Controls/Zoom_Controls.mxml |    4 +-
 .../AddRemoveEffectTargetFilter_usability.mxml  |    6 +-
 .../AddRemoveEffectTargetFilter_addItem.png     |  Bin 2950 -> 3048 bytes
 .../AddRemoveEffectTargetFilter_removeItem.png  |  Bin 2500 -> 2612 bytes
 .../SWFs/HideShowEffectTargetFilter_main.mxml   |    2 +-
 .../HideShowEffectTargetFilter_usability.mxml   |   15 +
 .../HideShowEffectTargetFilter_show.png         |  Bin 2500 -> 2612 bytes
 .../assets/styleTest/ADVStyleTestExtendClass.as |    4 +-
 .../Properties/Locale_Properties_country.mxml   |   18 +-
 .../Properties/Locale_Properties_language.mxml  |   18 +-
 .../Properties/Locale_Properties_variant.mxml   |   18 +-
 .../ResourceBundle_Methods_getBoolean.mxml      |   54 +-
 .../ResourceBundle_Methods_getStringArray.mxml  |   56 +-
 .../ResourceBundle_Properties_bundleName.mxml   |   20 +-
 .../ResourceBundle_Properties_content.mxml      |   20 +-
 .../ResourceBundle_Properties_locale.mxml       |   20 +-
 ...ourceManager_Methods_loadResourceModule.mxml |   20 +-
 ...rceManager_Methods_removeResourceBundle.mxml |   56 +-
 .../ResourceManager/SWFs/pre_compile.sh         |    8 +-
 .../Methods/DataSetArraySQLTest.mxml            |    3 +-
 .../Methods/DataSetComplexSQLTest.mxml          |    3 +-
 .../Methods/DataSetEmptySQLTest.mxml            |    3 +-
 .../Methods/DataSetSingleSQLTest.mxml           |    3 +-
 .../Methods/DataSetSingleXMLTest.mxml           |    3 +-
 .../Methods/DataTableArraySQLTest.mxml          |    3 +-
 .../Methods/DataTableSingleSQLTest.mxml         |    3 +-
 .../Methods/DataTypeSurveySQLAsDSTest.mxml      |    3 +-
 .../SF_ORIG_list_keyboardNavigation_tester.mxml |  400 +-
 .../baselines/List_keyboardNavigation7.png      |  Bin 2594 -> 3094 bytes
 .../SF_ORIG_ListCollectionView_tester.mxml      |    8 +-
 .../Sort/Properties/SF_Sort_fields_tester.mxml  |    4 +-
 .../Sort/SWFs/newComps/BaseDataComp.mxml        |   70 +-
 .../SparkComboBox/SF_sparkComboBox_tester.mxml  |    2 +-
 .../Form/Events/Form_Events_tester.mxml         |    8 +-
 .../FormItem_Validator_invalid_event.png        |  Bin 17330 -> 16717 bytes
 .../FormItem_Validator_valid_event_1.png        |  Bin 11970 -> 11467 bytes
 .../FormItem_Validator_valid_event_2.png        |  Bin 10328 -> 10046 bytes
 .../FormItem_enter_event_defaultButton.png      |  Bin 12746 -> 12210 bytes
 .../Form/Integration/Form_Bugs_tester.mxml      |    1 +
 .../Integration/Form_Integration_tester.mxml    |   98 +-
 .../PercentGroup_Integration_tester.mxml        |   38 +-
 .../FormItem_helpContent_label_states_1.png     |  Bin 8045 -> 7613 bytes
 .../FormItem_helpContent_label_states_2.png     |  Bin 15246 -> 14326 bytes
 .../Form_bug_SDK26495_errorString_wrapping.png  |  Bin 35709 -> 34159 bytes
 .../Form_bug_SDK26510_required_disabled.png     |  Bin 20709 -> 19730 bytes
 ...rm_bug_SDK26517_FormItem_includeInLayout.png |  Bin 919 -> 929 bytes
 .../baselines/Form_bug_SDK26697_resetForm.png   |  Bin 17969 -> 17079 bytes
 .../Form_bug_SDK26698_FormItem_requiredIcon.png |  Bin 1777 -> 1276 bytes
 .../baselines/Form_skin_different_states.png    |  Bin 4346 -> 4223 bytes
 ...tes_constraints_to_explicit_defaultState.png |  Bin 3045 -> 2985 bytes
 ...s_constraints_to_explicit_defaultState_2.png |  Bin 3045 -> 2985 bytes
 ...es_constraints_to_explicit_fixedPerState.png |  Bin 3571 -> 3493 bytes
 ...tates_constraints_to_explicit_fixedState.png |  Bin 4779 -> 4753 bytes
 ...es_constraints_to_explicit_percentState1.png |  Bin 3844 -> 3779 bytes
 ...es_constraints_to_explicit_percentState2.png |  Bin 3844 -> 3779 bytes
 ...entGroup_States_fixedWidths_fixedHeights.png |  Bin 6077 -> 6037 bytes
 ...dandPercentWidths_fixedandPercentHeights.png |  Bin 3340 -> 3300 bytes
 .../PercentGroup_States_fixedtoPercents.png     |  Bin 6077 -> 6037 bytes
 .../PercentGroup_States_fixedtoPercents_2.png   |  Bin 7033 -> 6986 bytes
 .../PercentGroup_States_fixedtoPercents_3.png   |  Bin 4309 -> 4211 bytes
 ...up_States_parentWidth_change_runtime_300.png |  Bin 6211 -> 6161 bytes
 ...up_States_parentWidth_change_runtime_500.png |  Bin 7576 -> 7561 bytes
 ...up_States_parentWidth_change_runtime_600.png |  Bin 8359 -> 8323 bytes
 ...tates_parentWidth_change_runtime_default.png |  Bin 7025 -> 6979 bytes
 ...roup_States_percentWidths_percentHeights.png |  Bin 7033 -> 6986 bytes
 .../PercentGroup_States_percentsToFixed.png     |  Bin 7033 -> 6986 bytes
 .../PercentGroup_States_percentsToFixed_2.png   |  Bin 6077 -> 6037 bytes
 .../PercentGroup_States_percentsToFixed_3.png   |  Bin 3340 -> 3300 bytes
 .../ConstraintLayout_properties_tester.mxml     |   28 +-
 .../FormItemLayout_properties_tester.mxml       |   28 +-
 .../Form/Properties/Form_properties_tester.mxml |   90 +-
 ...centsConstraintLayout_properties_tester.mxml |   16 +-
 .../StackedForm_properties_tester.mxml          |   64 +-
 ...ConstraintColumn_wider_than_Group_height.png |  Bin 2686 -> 2719 bytes
 ...tLayout_ConstraintRow_fixed_contentsized.png |  Bin 3521 -> 3549 bytes
 ...raintRow_height_larger_than_Group_height.png |  Bin 1533 -> 1541 bytes
 ...ut_baselineConstraintRow_negative_offset.png |  Bin 3996 -> 3976 bytes
 ...raintLayout_baselineConstraintRow_offset.png |  Bin 4058 -> 4034 bytes
 ...tLayout_baselineConstraintRow_top_offset.png |  Bin 2765 -> 2744 bytes
 .../ConstraintLayout_left_top_parent.png        |  Bin 3569 -> 3596 bytes
 ...baseline_bottom_to_ConstraintRow_element.png |  Bin 3765 -> 3795 bytes
 ...ut_top_baseline_to_ConstraintRow_element.png |  Bin 3568 -> 3597 bytes
 ...intLayout_top_baseline_to_parent_element.png |  Bin 3225 -> 3247 bytes
 .../ConstraintLayout_x_baseline_element.png     |  Bin 3626 -> 3642 bytes
 .../baselines/ConstraintLayout_x_y_element.png  |  Bin 3560 -> 3586 bytes
 ...ormHeading_enabled_false_FormHeadingSkin.png |  Bin 8964 -> 8760 bytes
 ...g_enabled_false_FormHeadingSkin_toggle_1.png |  Bin 8964 -> 8760 bytes
 ...g_enabled_false_FormHeadingSkin_toggle_2.png |  Bin 9155 -> 8942 bytes
 ...ing_enabled_false_StackedFormHeadingSkin.png |  Bin 1882 -> 1922 bytes
 ...ed_false_StackedFormHeadingSkin_toggle_1.png |  Bin 1882 -> 1922 bytes
 ...ed_false_StackedFormHeadingSkin_toggle_2.png |  Bin 2164 -> 2191 bytes
 .../baselines/FormHeading_label_states_1.png    |  Bin 3119 -> 3129 bytes
 .../baselines/FormHeading_label_states_2.png    |  Bin 3184 -> 3182 bytes
 .../FormHeading_long_string_FormHeadingSkin.png |  Bin 11885 -> 11587 bytes
 ...ading_long_string_StackedFormHeadingSkin.png |  Bin 5298 -> 5473 bytes
 ...mHeading_styleName_label_FormHeadingSkin.png |  Bin 11723 -> 11421 bytes
 ...g_styleName_label_StackedFormHeadingSkin.png |  Bin 5099 -> 5271 bytes
 ...ConstraintColumn_wider_than_Group_height.png |  Bin 2686 -> 2719 bytes
 ...mLayout_ConstraintRow_fixed_contentsized.png |  Bin 3521 -> 3549 bytes
 ...raintRow_height_larger_than_Group_height.png |  Bin 1533 -> 1541 bytes
 ...ut_baselineConstraintRow_negative_offset.png |  Bin 3516 -> 3521 bytes
 ...mItemLayout_baselineConstraintRow_offset.png |  Bin 3519 -> 3518 bytes
 ...mLayout_baselineConstraintRow_top_offset.png |  Bin 2765 -> 2744 bytes
 .../FormItemLayout_left_top_parent.png          |  Bin 3569 -> 3596 bytes
 ...baseline_bottom_to_ConstraintRow_element.png |  Bin 3765 -> 3795 bytes
 ...ut_top_baseline_to_ConstraintRow_element.png |  Bin 3568 -> 3597 bytes
 ...temLayout_top_baseline_to_parent_element.png |  Bin 3225 -> 3247 bytes
 .../FormItemLayout_x_baseline_element.png       |  Bin 3626 -> 3642 bytes
 .../baselines/FormItemLayout_x_y_element.png    |  Bin 3560 -> 3586 bytes
 .../baselines/FormItem_addImage_runtime.png     |  Bin 18217 -> 10078 bytes
 .../baselines/FormItem_add_element_layout.png   |  Bin 9358 -> 9152 bytes
 ...ange_contentGroup_element_runtime_layout.png |  Bin 11176 -> 10851 bytes
 ...mItem_change_contentGroup_runtime_layout.png |  Bin 10291 -> 10054 bytes
 .../FormItem_helpContentGroup_element_width.png |  Bin 22806 -> 13955 bytes
 .../FormItem_helpContentGroup_height_VGroup.png |  Bin 12410 -> 12282 bytes
 .../FormItem_helpContentGroup_width_VGroup.png  |  Bin 22806 -> 13955 bytes
 .../baselines/FormItem_helpContent_VGroup.png   |  Bin 22806 -> 13955 bytes
 .../FormItem_includeInLayout_false_runtime.png  |  Bin 22791 -> 15957 bytes
 .../baselines/FormItem_label_longString.png     |  Bin 12244 -> 11956 bytes
 .../FormItem_remove_element_layout.png          |  Bin 8798 -> 8566 bytes
 ...rmItem_required_defaultButton_validation.png |  Bin 12741 -> 12210 bytes
 .../FormItem_sequenceLabel_longString.png       |  Bin 9227 -> 9001 bytes
 .../baselines/Form_addComponent_runtime.png     |  Bin 12276 -> 11991 bytes
 ...orm_addFormItem_removeFormItem_runtime_1.png |  Bin 22269 -> 13632 bytes
 ...orm_addFormItem_removeFormItem_runtime_2.png |  Bin 9155 -> 8942 bytes
 .../Form_addGroup_removeGroup_runtime_1.png     |  Bin 17112 -> 16417 bytes
 .../Form_addGroup_removeGroup_runtime_2.png     |  Bin 9155 -> 8942 bytes
 .../baselines/Form_addImage_runtime.png         |  Bin 18179 -> 10070 bytes
 .../baselines/Form_disabled_runtime.png         |  Bin 8006 -> 7933 bytes
 .../baselines/Form_enabled_default.png          |  Bin 9155 -> 8942 bytes
 .../baselines/Form_formItem_mirroring.png       |  Bin 9211 -> 8924 bytes
 .../Properties/baselines/Form_mirroring.png     |  Bin 9226 -> 8954 bytes
 .../baselines/Form_paddingBottom_negative.png   |  Bin 7657 -> 7487 bytes
 .../baselines/Form_paddingLeft_negative.png     |  Bin 7978 -> 7622 bytes
 .../baselines/Form_paddingRight_negative.png    |  Bin 8963 -> 8714 bytes
 .../baselines/Form_paddingTop_negative.png      |  Bin 7279 -> 7025 bytes
 .../baselines/Form_required_toolTip.png         |  Bin 9889 -> 9659 bytes
 .../baselines/Form_tabOrder_basic_1.png         |  Bin 9531 -> 9285 bytes
 .../baselines/Form_tabOrder_basic_2.png         |  Bin 11970 -> 11467 bytes
 .../baselines/Form_tabOrder_basic_3.png         |  Bin 160 -> 154 bytes
 .../baselines/Form_tabOrder_basic_4.png         |  Bin 11853 -> 11341 bytes
 .../baselines/Form_tabOrder_basic_5.png         |  Bin 11882 -> 11374 bytes
 .../Form_tabOrder_basic_focusColor_1.png        |  Bin 9521 -> 9289 bytes
 .../Form_tabOrder_basic_focusColor_2.png        |  Bin 11962 -> 11461 bytes
 .../Form_tabOrder_basic_focusColor_3.png        |  Bin 160 -> 154 bytes
 .../Form_tabOrder_basic_focusColor_4.png        |  Bin 11850 -> 11339 bytes
 .../Form_tabOrder_basic_focusColor_5.png        |  Bin 11869 -> 11369 bytes
 .../Form_tabOrder_basic_horizontalLayout_1.png  |  Bin 8226 -> 8168 bytes
 .../Form_tabOrder_basic_horizontalLayout_2.png  |  Bin 10578 -> 10392 bytes
 .../Form_tabOrder_basic_horizontalLayout_3.png  |  Bin 160 -> 154 bytes
 .../Form_tabOrder_basic_horizontalLayout_4.png  |  Bin 10447 -> 10235 bytes
 .../Form_tabOrder_basic_horizontalLayout_5.png  |  Bin 10477 -> 10281 bytes
 ...rder_basic_horizontalLayout_focusColor_1.png |  Bin 8245 -> 8185 bytes
 ...rder_basic_horizontalLayout_focusColor_2.png |  Bin 10555 -> 10371 bytes
 ...rder_basic_horizontalLayout_focusColor_3.png |  Bin 160 -> 154 bytes
 ...rder_basic_horizontalLayout_focusColor_4.png |  Bin 10460 -> 10249 bytes
 ...rder_basic_horizontalLayout_focusColor_5.png |  Bin 10479 -> 10282 bytes
 .../Form_tabOrder_disabled_FormItem_1.png       |  Bin 9531 -> 9285 bytes
 .../Form_tabOrder_disabled_FormItem_2.png       |  Bin 11697 -> 11252 bytes
 .../Form_tabOrder_disabled_FormItem_3.png       |  Bin 11574 -> 11122 bytes
 .../Form_toggle_enabled_FormItems_disabled.png  |  Bin 9059 -> 8867 bytes
 ...tSized_and_percentSized_minWidth_visible.png |  Bin 7179 -> 7110 bytes
 ...ormHeading_enabled_false_FormHeadingSkin.png |  Bin 8896 -> 8694 bytes
 ...g_enabled_false_FormHeadingSkin_toggle_1.png |  Bin 8896 -> 8694 bytes
 ...g_enabled_false_FormHeadingSkin_toggle_2.png |  Bin 9096 -> 8882 bytes
 .../StackedFormHeading_label_states_1.png       |  Bin 3119 -> 3127 bytes
 .../StackedFormHeading_label_states_2.png       |  Bin 3184 -> 3182 bytes
 ...dFormHeading_long_string_FormHeadingSkin.png |  Bin 12298 -> 11968 bytes
 ...mHeading_styleName_label_FormHeadingSkin.png |  Bin 12138 -> 11804 bytes
 .../StackedFormItem_addImage_runtime.png        |  Bin 17851 -> 9927 bytes
 .../StackedFormItem_add_element_layout.png      |  Bin 9265 -> 9052 bytes
 ...ange_contentGroup_element_runtime_layout.png |  Bin 10665 -> 10454 bytes
 ...mItem_change_contentGroup_runtime_layout.png |  Bin 10095 -> 9889 bytes
 ...dFormItem_helpContentGroup_element_width.png |  Bin 23235 -> 14464 bytes
 ...dFormItem_helpContentGroup_height_VGroup.png |  Bin 12869 -> 12799 bytes
 ...edFormItem_helpContentGroup_width_VGroup.png |  Bin 23235 -> 14464 bytes
 .../StackedFormItem_helpContent_VGroup.png      |  Bin 23235 -> 14464 bytes
 .../StackedFormItem_label_longString.png        |  Bin 12398 -> 12008 bytes
 .../StackedFormItem_remove_element_layout.png   |  Bin 8829 -> 8608 bytes
 ...rmItem_required_defaultButton_validation.png |  Bin 12286 -> 11919 bytes
 ...StackedFormItem_sequenceLabel_longString.png |  Bin 11041 -> 10684 bytes
 ...tackedFormItem_sequenceLabel_shortString.png |  Bin 9184 -> 8974 bytes
 .../StackedForm_addComponent_runtime.png        |  Bin 12077 -> 11773 bytes
 ...orm_addFormItem_removeFormItem_runtime_1.png |  Bin 21649 -> 13434 bytes
 ...orm_addFormItem_removeFormItem_runtime_2.png |  Bin 9096 -> 8882 bytes
 ...ackedForm_addGroup_removeGroup_runtime_1.png |  Bin 17285 -> 16588 bytes
 ...ackedForm_addGroup_removeGroup_runtime_2.png |  Bin 9096 -> 8882 bytes
 .../baselines/StackedForm_addImage_runtime.png  |  Bin 17820 -> 9926 bytes
 .../baselines/StackedForm_disabled_runtime.png  |  Bin 7938 -> 7854 bytes
 .../baselines/StackedForm_enabled_default.png   |  Bin 9096 -> 8882 bytes
 .../StackedForm_formItem_mirroring.png          |  Bin 9192 -> 8900 bytes
 .../baselines/StackedForm_mirroring.png         |  Bin 9179 -> 8897 bytes
 .../baselines/StackedForm_required_toolTip.png  |  Bin 9814 -> 9585 bytes
 .../baselines/StackedForm_tabOrder_basic_1.png  |  Bin 9433 -> 9196 bytes
 .../baselines/StackedForm_tabOrder_basic_2.png  |  Bin 11615 -> 11263 bytes
 .../baselines/StackedForm_tabOrder_basic_3.png  |  Bin 160 -> 154 bytes
 .../baselines/StackedForm_tabOrder_basic_4.png  |  Bin 11453 -> 11099 bytes
 .../baselines/StackedForm_tabOrder_basic_5.png  |  Bin 11516 -> 11176 bytes
 .../StackedForm_tabOrder_basic_focusColor_1.png |  Bin 9436 -> 9200 bytes
 .../StackedForm_tabOrder_basic_focusColor_2.png |  Bin 11608 -> 11257 bytes
 .../StackedForm_tabOrder_basic_focusColor_3.png |  Bin 160 -> 154 bytes
 .../StackedForm_tabOrder_basic_focusColor_4.png |  Bin 11453 -> 11096 bytes
 .../StackedForm_tabOrder_basic_focusColor_5.png |  Bin 11511 -> 11172 bytes
 ...edForm_tabOrder_basic_horizontalLayout_1.png |  Bin 8258 -> 8239 bytes
 ...edForm_tabOrder_basic_horizontalLayout_2.png |  Bin 10593 -> 10449 bytes
 ...edForm_tabOrder_basic_horizontalLayout_3.png |  Bin 160 -> 154 bytes
 ...edForm_tabOrder_basic_horizontalLayout_4.png |  Bin 10461 -> 10299 bytes
 ...edForm_tabOrder_basic_horizontalLayout_5.png |  Bin 10484 -> 10334 bytes
 ...rder_basic_horizontalLayout_focusColor_1.png |  Bin 8253 -> 8231 bytes
 ...rder_basic_horizontalLayout_focusColor_2.png |  Bin 10580 -> 10434 bytes
 ...rder_basic_horizontalLayout_focusColor_3.png |  Bin 160 -> 154 bytes
 ...rder_basic_horizontalLayout_focusColor_4.png |  Bin 10457 -> 10296 bytes
 ...rder_basic_horizontalLayout_focusColor_5.png |  Bin 10478 -> 10330 bytes
 ...StackedForm_tabOrder_disabled_FormItem_1.png |  Bin 9433 -> 9196 bytes
 ...StackedForm_tabOrder_disabled_FormItem_2.png |  Bin 11347 -> 11056 bytes
 ...StackedForm_tabOrder_disabled_FormItem_3.png |  Bin 11178 -> 10880 bytes
 ...edForm_toggle_enabled_FormItems_disabled.png |  Bin 8993 -> 8801 bytes
 .../Form/SWFs/comps/StackedBugsForm.mxml        |    2 +-
 .../Form/Styles/Form_styles_tester.mxml         |   20 +-
 .../Form/Styles/StackedForm_styles_tester.mxml  |   20 +-
 .../FormHeading_styleName_inherits.png          |  Bin 9361 -> 9075 bytes
 ...ng_style_backgroundColor_backgroundAlpha.png |  Bin 9285 -> 9094 bytes
 .../Styles/baselines/FormItem_label_style.png   |  Bin 9626 -> 9466 bytes
 .../baselines/FormItem_sequenceLabel_style.png  |  Bin 10669 -> 10230 bytes
 .../baselines/FormItem_styleName_inherits.png   |  Bin 9178 -> 8934 bytes
 .../Form_FormHeading_FormItem_styleName.png     |  Bin 9638 -> 9415 bytes
 ...em_style_backgroundColor_backgroundAlpha.png |  Bin 9197 -> 9055 bytes
 .../baselines/Form_styleName_inherits.png       |  Bin 9635 -> 9321 bytes
 ...tyleName_inherits_add_components_runtime.png |  Bin 12413 -> 12039 bytes
 ...backgroundColor_backgroundAlpha_inherits.png |  Bin 9620 -> 9425 bytes
 .../StackedFormHeading_styleName_inherits.png   |  Bin 9298 -> 9011 bytes
 ...ng_style_backgroundColor_backgroundAlpha.png |  Bin 9217 -> 9036 bytes
 .../baselines/StackedFormItem_label_style.png   |  Bin 9597 -> 9443 bytes
 .../StackedFormItem_sequenceLabel_style.png     |  Bin 10740 -> 10336 bytes
 .../StackedFormItem_styleName_inherits.png      |  Bin 9118 -> 8880 bytes
 ...ackedForm_FormHeading_FormItem_styleName.png |  Bin 9643 -> 9477 bytes
 ...em_style_backgroundColor_backgroundAlpha.png |  Bin 9088 -> 8988 bytes
 .../StackedForm_styleName_inherits.png          |  Bin 9537 -> 9227 bytes
 ...tyleName_inherits_add_components_runtime.png |  Bin 12237 -> 11870 bytes
 ...backgroundColor_backgroundAlpha_inherits.png |  Bin 9544 -> 9327 bytes
 ...cs_bitmapgraphic_overlap_visibility2@win.png |  Bin 0 -> 43833 bytes
 .../bitmapgraphics_bitmapgraphic_xform2@win.png |  Bin 0 -> 62601 bytes
 ...nds_blend_darken_radialgradient_fill@win.png |  Bin 0 -> 29220 bytes
 ...blend_difference_radialgradient_fill@win.png |  Bin 0 -> 29149 bytes
 ..._blend_hardlight_radialgradient_fill@win.png |  Bin 0 -> 25133 bytes
 ...ends_blend_layer_radialgradient_fill@win.png |  Bin 0 -> 29220 bytes
 ...s_blend_multiply_radialgradient_fill@win.png |  Bin 0 -> 29220 bytes
 ...nds_blend_normal_radialgradient_fill@win.png |  Bin 0 -> 29220 bytes
 ...ds_blend_overlay_radialgradient_fill@win.png |  Bin 0 -> 6037 bytes
 ...s_blend_subtract_radialgradient_fill@win.png |  Bin 0 -> 29149 bytes
 .../baselines/doc_structure_graphic_def@win.png |  Bin 0 -> 31759 bytes
 .../baselines/doc_structure_group_def@win.png   |  Bin 0 -> 18092 bytes
 .../baselines/doc_structure_library_def@win.png |  Bin 0 -> 27262 bytes
 .../fill_bitmap_fill_bitmap_fill_path.png       |  Bin 112424 -> 127327 bytes
 .../fill_bitmap_fill_bitmap_fill_path@win.png   |  Bin 0 -> 123285 bytes
 ...tmap_fill_bitmap_fill_path_no_tiling@win.png |  Bin 0 -> 9818 bytes
 ..._bitmap_fill_bitmap_fill_shape_no_tiling.png |  Bin 6861 -> 7513 bytes
 ...map_fill_bitmap_fill_shape_no_tiling@win.png |  Bin 0 -> 7476 bytes
 ...fill_bitmap_fill_bitmap_matrix_fill_path.png |  Bin 8602 -> 17598 bytes
 ..._bitmap_fill_bitmap_matrix_fill_path@win.png |  Bin 0 -> 17149 bytes
 ...p_fill_bitmap_matrix_fill_path_no_tiling.png |  Bin 5811 -> 9384 bytes
 ...ll_bitmap_matrix_fill_path_no_tiling@win.png |  Bin 0 -> 9340 bytes
 ...ill_bitmap_fill_bitmap_matrix_fill_shape.png |  Bin 212542 -> 256410 bytes
 ...bitmap_fill_bitmap_matrix_fill_shape@win.png |  Bin 0 -> 239302 bytes
 ..._fill_bitmap_matrix_fill_shape_no_tiling.png |  Bin 7398 -> 51209 bytes
 ...l_bitmap_matrix_fill_shape_no_tiling@win.png |  Bin 0 -> 50148 bytes
 ...r_gradient_linear_gradient_fill_path@win.png |  Bin 0 -> 13923 bytes
 ...ear_gradient_fill_path_interpolation@win.png |  Bin 0 -> 24044 bytes
 ...ent_linear_gradient_fill_path_matrix@win.png |  Bin 0 -> 5082 bytes
 ...ent_linear_gradient_fill_path_spread@win.png |  Bin 0 -> 26062 bytes
 ...dial_gradient_fill_path_focal_point2@win.png |  Bin 0 -> 26783 bytes
 ...adial_gradient_fill_path_focal_point@win.png |  Bin 0 -> 46826 bytes
 ...ial_gradient_fill_path_interpolation@win.png |  Bin 0 -> 50103 bytes
 ...ent_radial_gradient_fill_path_matrix@win.png |  Bin 0 -> 11947 bytes
 ...nt_radial_gradient_fill_path_spread2@win.png |  Bin 0 -> 30643 bytes
 ...ent_radial_gradient_fill_path_spread@win.png |  Bin 0 -> 52767 bytes
 ...dial_gradient_fill_shape_focal_point@win.png |  Bin 0 -> 37978 bytes
 ...al_gradient_fill_shape_interpolation@win.png |  Bin 0 -> 43504 bytes
 ...nt_radial_gradient_fill_shape_matrix@win.png |  Bin 0 -> 10215 bytes
 ...nt_radial_gradient_fill_shape_spread@win.png |  Bin 0 -> 53505 bytes
 .../baselines/filters_bevelfilter3@win.png      |  Bin 0 -> 19983 bytes
 .../baselines/filters_bevelfilter4.png          |  Bin 9407 -> 11203 bytes
 .../baselines/filters_bevelfilter4@win.png      |  Bin 0 -> 11123 bytes
 .../properties/baselines/filters_blurfilter.png |  Bin 78312 -> 81646 bytes
 .../baselines/filters_blurfilter@win.png        |  Bin 0 -> 81394 bytes
 .../baselines/filters_dropshadowfilter.png      |  Bin 55481 -> 54947 bytes
 .../baselines/filters_dropshadowfilter@win.png  |  Bin 0 -> 54826 bytes
 .../baselines/filters_filters_blend.png         |  Bin 238001 -> 135598 bytes
 .../baselines/filters_filters_blend@win.png     |  Bin 0 -> 135649 bytes
 .../baselines/filters_filters_group@win.png     |  Bin 0 -> 24862 bytes
 .../baselines/filters_filters_transform@win.png |  Bin 0 -> 41206 bytes
 .../baselines/filters_glowfilter3@win.png       |  Bin 0 -> 11192 bytes
 .../baselines/filters_glowfilter4.png           |  Bin 6989 -> 9681 bytes
 .../baselines/filters_glowfilter4@win.png       |  Bin 0 -> 9595 bytes
 .../baselines/filters_gradientbevelfilter4.png  |  Bin 10225 -> 5387 bytes
 .../filters_gradientglowfilter3@win.png         |  Bin 0 -> 12340 bytes
 .../baselines/filters_gradientglowfilter4.png   |  Bin 8266 -> 8640 bytes
 .../filters_gradientglowfilter4@win.png         |  Bin 0 -> 8495 bytes
 .../filters_hue_colormatrixfilter4@win.png      |  Bin 0 -> 25395 bytes
 ...filters_luminance_colormatrixfilter4@win.png |  Bin 0 -> 21821 bytes
 ...ilters_saturation_colormatrixfilter4@win.png |  Bin 0 -> 28619 bytes
 .../properties/baselines/fxg_RichText_br.png    |  Bin 8672 -> 8120 bytes
 .../properties/baselines/fxg_RichText_div.png   |  Bin 6078 -> 6266 bytes
 .../baselines/fxg_RichText_div_ahref.png        |  Bin 4179 -> 4761 bytes
 .../fxg_RichText_divmultiple_p_span.png         |  Bin 7339 -> 8817 bytes
 .../baselines/fxg_RichText_fontAttributes.png   |  Bin 4135 -> 4182 bytes
 .../baselines/fxg_RichText_img_embedded.png     |  Bin 4833 -> 5134 bytes
 .../baselines/fxg_RichText_img_noSource.png     |  Bin 2115 -> 2372 bytes
 .../fxg_RichText_img_widthHeightAuto.png        |  Bin 5339 -> 5665 bytes
 .../properties/baselines/fxg_RichText_link.png  |  Bin 6745 -> 7001 bytes
 .../fxg_RichText_p_baselineShift_subscript.png  |  Bin 2562 -> 2390 bytes
 ...fxg_RichText_p_baselineShift_superscript.png |  Bin 2614 -> 2421 bytes
 .../baselines/fxg_RichText_p_fontAttributes.png |  Bin 4792 -> 5653 bytes
 .../baselines/fxg_RichText_p_kerning.png        |  Bin 4017 -> 3720 bytes
 .../baselines/fxg_RichText_p_leadingModel.png   |  Bin 6838 -> 7529 bytes
 .../fxg_RichText_p_lineHeight_lineThrough.png   |  Bin 4705 -> 6347 bytes
 ...g_RichText_p_paragraphSpacingBeforeAfter.png |  Bin 9443 -> 9212 bytes
 ..._RichText_p_paragraphSpacingBeforeAfter2.png |  Bin 7779 -> 7749 bytes
 .../baselines/fxg_RichText_p_tab_br.png         |  Bin 5027 -> 5337 bytes
 .../baselines/fxg_RichText_p_textAlign.png      |  Bin 10535 -> 10938 bytes
 .../baselines/fxg_RichText_p_textAlignLast.png  |  Bin 10694 -> 11603 bytes
 ...g_RichText_p_textDecoration_textRotation.png |  Bin 2729 -> 2605 bytes
 .../baselines/fxg_RichText_p_textIndent.png     |  Bin 3744 -> 3819 bytes
 .../baselines/fxg_RichText_p_textJustify.png    |  Bin 6296 -> 6495 bytes
 .../baselines/fxg_RichText_paragraphIndent.png  |  Bin 7509 -> 7329 bytes
 .../fxg_RichText_span_baselineShift_0.png       |  Bin 3140 -> 2819 bytes
 ...xg_RichText_span_baselineShift_subscript.png |  Bin 3774 -> 3509 bytes
 ..._RichText_span_baselineShift_superscript.png |  Bin 3122 -> 2939 bytes
 .../baselines/fxg_RichText_span_kerning.png     |  Bin 4018 -> 4109 bytes
 ...fxg_RichText_span_lineHeight_lineThrough.png |  Bin 5570 -> 7390 bytes
 .../baselines/fxg_RichText_span_tab_br.png      |  Bin 5063 -> 5093 bytes
 ...ichText_span_textDecoration_textRotation.png |  Bin 4132 -> 3675 bytes
 .../fxg_RichText_span_whiteSpaceCollapse.png    |  Bin 6516 -> 6363 bytes
 .../properties/baselines/fxg_RichText_tab.png   |  Bin 1534 -> 1595 bytes
 .../properties/baselines/fxg_RichText_tcy.png   |  Bin 4401 -> 4922 bytes
 .../baselines/fxg_integration_filterApplied.png |  Bin 8247 -> 9143 bytes
 .../fxg/properties/baselines/mask_clip_mask.png |  Bin 44929 -> 48736 bytes
 .../properties/baselines/mask_clip_mask@win.png |  Bin 0 -> 48695 bytes
 ...sk_luminositymask_overBitmap_Invert_True.png |  Bin 4719 -> 4755 bytes
 .../baselines/mask_mask_transform.png           |  Bin 19318 -> 20689 bytes
 .../baselines/mask_mask_transform@win.png       |  Bin 0 -> 20663 bytes
 .../baselines/paths_moveto_path@mac.png         |  Bin 0 -> 37274 bytes
 .../baselines/paths_moveto_path_mac.png         |  Bin 37274 -> 0 bytes
 ...ale9_shape_bmpgraphic_scalegridgroup@win.png |  Bin 0 -> 11997 bytes
 ...ial_gradient_stroke_path_focal_point@win.png |  Bin 0 -> 35733 bytes
 ...l_gradient_stroke_path_interpolation@win.png |  Bin 0 -> 37723 bytes
 ...e_radial_gradient_stroke_path_matrix@win.png |  Bin 0 -> 14679 bytes
 ...e_radial_gradient_stroke_path_spread@win.png |  Bin 0 -> 63610 bytes
 ...al_gradient_stroke_shape_focal_point@win.png |  Bin 0 -> 27206 bytes
 ..._gradient_stroke_shape_interpolation@win.png |  Bin 0 -> 29508 bytes
 ..._radial_gradient_stroke_shape_matrix@win.png |  Bin 0 -> 17790 bytes
 ..._radial_gradient_stroke_shape_spread@win.png |  Bin 0 -> 82818 bytes
 .../core/fxg/properties/fxgtemplate_masks.mxml  |    8 +-
 .../core/fxg/properties/fxgtemplate_tester.mxml |  293 +-
 ...zier_fills_strokes_group_color_transform.fxg |  946 ++--
 ...ipse_fills_strokes_group_color_transform.fxg |  214 +-
 ...ines_fills_strokes_group_color_transform.fxg |  468 +-
 ...lute_fills_strokes_group_color_transform.fxg |  460 +-
 ...lute_fills_strokes_group_color_transform.fxg |  364 +-
 ...tive_fills_strokes_group_color_transform.fxg |  378 +-
 ...zier_fills_strokes_group_color_transform.fxg |  936 ++--
 ...rect_fills_strokes_group_color_transform.fxg |  160 +-
 .../ellipse_fills_strokes_color_transform.fxg   |  298 +-
 .../lines_fills_strokes_color_transform.fxg     |  748 +--
 ...bic_bezier_fills_strokes_color_transform.fxg | 1044 ++--
 ...h_absolute_fills_strokes_color_transform.fxg |  470 +-
 ...t_absolute_fills_strokes_color_transform.fxg |  378 +-
 ...t_relative_fills_strokes_color_transform.fxg |  390 +-
 ...uad_bezier_fills_strokes_color_transform.fxg | 1024 ++--
 .../rect/rect_fills_strokes_color_transform.fxg |  216 +-
 ...ier_fills_strokes_group_matrix_transform.fxg |  792 +--
 ...pse_fills_strokes_group_matrix_transform.fxg |  192 +-
 ...nes_fills_strokes_group_matrix_transform.fxg |  468 +-
 ...ute_fills_strokes_group_matrix_transform.fxg |  452 +-
 ...ute_fills_strokes_group_matrix_transform.fxg |  354 +-
 ...ive_fills_strokes_group_matrix_transform.fxg |  378 +-
 ...ier_fills_strokes_group_matrix_transform.fxg |  504 +-
 ...er_fills_strokes_group_matrix_transform2.fxg |  496 +-
 ...ect_fills_strokes_group_matrix_transform.fxg |  160 +-
 .../ellipse_fills_strokes_matrix_transform.fxg  |  114 +-
 .../ellipse_fills_strokes_matrix_transform2.fxg |  212 +-
 .../lines_fills_strokes_matrix_transform.fxg    |  748 +--
 ...ic_bezier_fills_strokes_matrix_transform.fxg | 1058 ++--
 ..._absolute_fills_strokes_matrix_transform.fxg |  248 +-
 ..._absolute_fills_strokes_matrix_transform.fxg |  378 +-
 ..._relative_fills_strokes_matrix_transform.fxg |  390 +-
 ...ad_bezier_fills_strokes_matrix_transform.fxg |  994 ++--
 .../rect_fills_strokes_matrix_transform.fxg     |  216 +-
 .../Animate/Containers/Animate_Containers.mxml  |    2 +-
 .../Animate/Controls/Animate_Controls.mxml      |    2 +-
 .../Animate/Methods/baseline/Animate_Play.png   |  Bin 2422 -> 2446 bytes
 .../effects/Animate/SWFs/Animate_Main.mxml      |    2 +-
 .../AnimateColor/event/AnimateColor_event.mxml  |    2 +-
 .../AnimateColor/style/AnimateColor_style.mxml  |    2 +-
 .../style/baseline/AnimateColor_baseColor.png   |  Bin 1178 -> 1177 bytes
 .../style/baseline/AnimateColor_color.png       |  Bin 770 -> 771 bytes
 .../AnimateColor_contentBackgroundColor.png     |  Bin 781 -> 782 bytes
 .../style/baseline/AnimateColor_symboColor.png  |  Bin 945 -> 946 bytes
 .../usability/AnimateColor_usability.mxml       |    2 +-
 .../SWFs/shaders/twist.pbk                      |   16 +
 .../baseline/AnimateTransform_scaleXYZ.png      |  Bin 5792 -> 4970 bytes
 .../AnimateTransform_translationXYZ.png         |  Bin 4568 -> 3941 bytes
 .../CallAction/event/CallAction_event.mxml      |    2 +-
 .../usability/CallAction_usability.mxml         |    2 +-
 .../accessor/baseline/CrossFade_duration.png    |  Bin 2033 -> 1858 bytes
 .../accessor/baseline/CrossFade_targets.png     |  Bin 1317 -> 1182 bytes
 .../usability/baseline/CrossFade_FxAnimate.png  |  Bin 1411 -> 1404 bytes
 .../usability/baseline/CrossFade_FxFade.png     |  Bin 1416 -> 1404 bytes
 .../usability/baseline/CrossFade_FxRotate.png   |  Bin 1444 -> 1434 bytes
 .../usability/baseline/CrossFade_FxRotate3D.png |  Bin 1499 -> 1490 bytes
 .../baseline/CrossFade_bitmapFrom_Null.png      |  Bin 2322 -> 2102 bytes
 .../CrossFade_bitmapFrom_Undeclared.png         |  Bin 2322 -> 2102 bytes
 .../baseline/CrossFade_bitmapFrom_Valid.png     |  Bin 2413 -> 2226 bytes
 .../baseline/CrossFade_bitmapTo_Null.png        |  Bin 2322 -> 2102 bytes
 .../baseline/CrossFade_bitmapTo_Undeclared.png  |  Bin 2322 -> 2102 bytes
 .../baseline/CrossFade_bitmapTo_Valid.png       |  Bin 2359 -> 2163 bytes
 .../CrossFade_repeatBehavior_reverse.png        |  Bin 2359 -> 2163 bytes
 .../variable/baseline/CrossFade_repeatCount.png |  Bin 2359 -> 2163 bytes
 .../variable/baseline/CrossFade_repeatDelay.png |  Bin 2491 -> 2305 bytes
 .../spark/effects/Fade/SWFs/Fade_main.mxml      |   13 +
 .../Fade/event/Baselines/Fade_effectEnd.png     |  Bin 4622 -> 4458 bytes
 .../Fade/event/Baselines/Fade_effectStart.png   |  Bin 4622 -> 4458 bytes
 .../spark/effects/Fade/event/Fade_event.mxml    |    2 +-
 .../MotionPath_interpolator_CustomWImage.png    |  Bin 4074 -> 3796 bytes
 .../baseline/MotionPath_keyframes_Multiple.png  |  Bin 4134 -> 3943 bytes
 .../baseline/MotionPath_keyframes_Single.png    |  Bin 4134 -> 3944 bytes
 .../baseline/MotionPath_keyframes_Standard.png  |  Bin 3903 -> 3445 bytes
 .../properties/PropertyAnim_property.mxml       |   42 +-
 .../BetterAutoCenter/Resize_SpaceInvaders.mxml  |   55 +-
 .../effects/Resize/Layout/Resize_Layout.mxml    |    6 +-
 .../Layout/baseline/Resize_Layout_ListBegin.png |  Bin 6352 -> 4514 bytes
 .../Layout/baseline/Resize_Layout_ListEnd.png   |  Bin 6814 -> 4747 bytes
 .../baseline/Resize_Layout_ListMiddle.png       |  Bin 6077 -> 4382 bytes
 .../Wipe/accessor/baseline/Wipe_duration.png    |  Bin 1640 -> 1636 bytes
 .../Wipe/accessor/baseline/Wipe_targets.png     |  Bin 775 -> 830 bytes
 .../Wipe/usability/baseline/Wipe_FxAnimate.png  |  Bin 1383 -> 1383 bytes
 .../Wipe/usability/baseline/Wipe_FxFade.png     |  Bin 1383 -> 1383 bytes
 .../variable/baseline/Wipe_bitmapFrom_Null.png  |  Bin 2322 -> 2102 bytes
 .../baseline/Wipe_bitmapFrom_Undeclared.png     |  Bin 2322 -> 2102 bytes
 .../variable/baseline/Wipe_bitmapFrom_Valid.png |  Bin 1816 -> 1790 bytes
 .../variable/baseline/Wipe_bitmapTo_Null.png    |  Bin 2322 -> 2102 bytes
 .../baseline/Wipe_bitmapTo_Undeclared.png       |  Bin 2322 -> 2102 bytes
 .../variable/baseline/Wipe_bitmapTo_Valid.png   |  Bin 1726 -> 1742 bytes
 .../variable/baseline/Wipe_direction_Down.png   |  Bin 1428 -> 1420 bytes
 .../variable/baseline/Wipe_direction_Left.png   |  Bin 1696 -> 1683 bytes
 .../variable/baseline/Wipe_direction_None.png   |  Bin 1640 -> 1636 bytes
 .../variable/baseline/Wipe_direction_Right.png  |  Bin 1640 -> 1636 bytes
 .../variable/baseline/Wipe_direction_Up.png     |  Bin 1434 -> 1426 bytes
 .../baseline/Wipe_repeatBehavior_reverse.png    |  Bin 1726 -> 1742 bytes
 .../Wipe/variable/baseline/Wipe_repeatCount.png |  Bin 1726 -> 1742 bytes
 .../Wipe/variable/baseline/Wipe_repeatDelay.png |  Bin 2328 -> 2107 bytes
 .../easing/EaseInOutBase/SWFs/MyEaser.as        |    4 +-
 .../CF_Fallback_format_Main_tester.mxml         |   21 +-
 .../NF_Fallback_parseNumber_tester.mxml         |   52 +-
 .../Fallback/NF_Fallback_parse_tester.mxml      |  726 +--
 .../Methods/NF_parseNumber_tester.mxml          |   60 +-
 .../Methods/NF_parse_tester.mxml                |  248 +-
 .../FXG_BitmapImage_PropertiesAS.mxml           |    4 +-
 .../properties/FXG_Ellipse_Mirroring.mxml       |    8 +-
 .../properties/FXG_Ellipse_PropertiesAS.mxml    |   52 +-
 ...G_Ellipse_RadialGradientStroke_fillX@win.png |  Bin 0 -> 3352 bytes
 ...G_Ellipse_RadialGradientStroke_fillY@win.png |  Bin 0 -> 3925 bytes
 ...Ellipse_RadialGradientStroke_strokeX@win.png |  Bin 0 -> 3350 bytes
 ...Ellipse_RadialGradientStroke_strokeY@win.png |  Bin 0 -> 4121 bytes
 ..._Ellipse_RadialGradientStroke_xy_0_0@win.png |  Bin 0 -> 3626 bytes
 ...Ellipse_RadialGradientStroke_xy_0_20@win.png |  Bin 0 -> 3675 bytes
 ...Ellipse_RadialGradientStroke_xy_20_0@win.png |  Bin 0 -> 3698 bytes
 ...RadialGradientStroke_xy_fillRotation@win.png |  Bin 0 -> 4430 bytes
 ...dialGradientStroke_xy_strokeRotation@win.png |  Bin 0 -> 4213 bytes
 ...otation_matrix_onRadialGradient_fill@win.png |  Bin 0 -> 3091 bytes
 ...ation_matrix_onRadialGradient_stroke@win.png |  Bin 0 -> 2779 bytes
 ...ipse_XY_matrix_onRadialGradient_fill@win.png |  Bin 0 -> 3939 bytes
 ...se_XY_matrix_onRadialGradient_stroke@win.png |  Bin 0 -> 3870 bytes
 ...tionRTL_RadialGradientStroke_strokeY@win.png |  Bin 0 -> 4122 bytes
 ...tionRTL_RadialGradientStroke_xy_0_20@win.png |  Bin 0 -> 3676 bytes
 .../Graphic/SWFs/FXG_GroupGraphic.mxml          |   10 +-
 .../Graphic/integration/FXG_Matrix3D_Tests.mxml |   12 +-
 .../integration/GraphicTags_FilterTests.mxml    |   16 +-
 .../GraphicTags_IntegrationTests.mxml           |   13 +-
 .../integration/baselines/BevelGraphic_mxml.png |  Bin 4229 -> 4650 bytes
 .../integration/baselines/BlurGraphic_mxml.png  |  Bin 16332 -> 17153 bytes
 .../baselines/ColorMatrixGraphic_mxml.png       |  Bin 4040 -> 4396 bytes
 .../baselines/ConvolutionGraphic_mxml.png       |  Bin 3628 -> 3610 bytes
 .../baselines/FXG_Matrix3D_AS_rotate@win.png    |  Bin 0 -> 5693 bytes
 .../baselines/FXG_Matrix3D_AS_scale@win.png     |  Bin 0 -> 2964 bytes
 .../baselines/FXG_Matrix3D_mxml_scale@win.png   |  Bin 0 -> 5019 bytes
 .../baselines/FXG_RichText_alphaMask.png        |  Bin 9763 -> 8655 bytes
 .../baselines/FXG_RichText_clipMask_mxml.png    |  Bin 3537 -> 6170 bytes
 .../baselines/FXG_RichText_clipMask_runtime.png |  Bin 3246 -> 4474 bytes
 .../integration/baselines/GlowGraphic_mxml.png  |  Bin 5966 -> 6343 bytes
 .../baselines/GradientBevelGraphic_mxml.png     |  Bin 7656 -> 8177 bytes
 .../baselines/GradientGlowGraphic_mxml.png      |  Bin 7926 -> 8400 bytes
 .../GraphicTags_Filters_DropShadowFilter_AS.png |  Bin 0 -> 7620 bytes
 ...phicTags_Filters_DropShadowFilter_AS@mac.png |  Bin 0 -> 7619 bytes
 ...phicTags_Filters_DropShadowFilter_AS_mac.png |  Bin 7619 -> 0 bytes
 .../baselines/dropShadowGraphic_mxml.png        |  Bin 6705 -> 7164 bytes
 .../methods/FXG_GraphicGroup_Methods.mxml       |    2 +-
 .../FXG_GraphicGroup_PropertiesAS.mxml          |  806 +--
 .../baselines/GraphicTags_Group_rotationX.png   |  Bin 704 -> 924 bytes
 .../baselines/GraphicTags_Group_rotationXY.png  |  Bin 3734 -> 3351 bytes
 .../GraphicTags_Group_rotationXY@win.png        |  Bin 0 -> 3351 bytes
 .../baselines/GraphicTags_Group_rotationY.png   |  Bin 2403 -> 1826 bytes
 .../GraphicTags_Group_rotationY@win.png         |  Bin 0 -> 1831 bytes
 .../GraphicTags_Group_rotationYNeg.png          |  Bin 1915 -> 2508 bytes
 .../GraphicTags_Group_rotationYNeg@win.png      |  Bin 0 -> 2515 bytes
 .../GraphicTags_NestedGroup_rotationXY.png      |  Bin 8500 -> 8577 bytes
 .../GraphicTags_NestedGroup_rotationXY@win.png  |  Bin 0 -> 8560 bytes
 .../GraphicTags_NestedGroup_rotationY.png       |  Bin 2435 -> 2065 bytes
 .../GraphicTags_TextGraphic_height.png          |  Bin 6244 -> 6817 bytes
 .../GraphicTags_TextGraphic_widthxy.png         |  Bin 6244 -> 6817 bytes
 ...xtGraphic_fontFamilyStyleDecoration_mxml.png |  Bin 2847 -> 3115 bytes
 ...erticalLine_LinearGradientStroke_xy_0_20.png |  Bin 295 -> 150 bytes
 .../Path/properties/FXG_Path_PropertiesAS.mxml  |    2 +-
 .../Rect/properties/FXG_Rect_PropertiesAS.mxml  |   52 +-
 .../FXG_Rect_RadialGradientStroke_fillX@win.png |  Bin 0 -> 2518 bytes
 .../FXG_Rect_RadialGradientStroke_fillY@win.png |  Bin 0 -> 3175 bytes
 ...XG_Rect_RadialGradientStroke_strokeX@win.png |  Bin 0 -> 2943 bytes
 ...XG_Rect_RadialGradientStroke_strokeY@win.png |  Bin 0 -> 3382 bytes
 ...FXG_Rect_RadialGradientStroke_xy_0_0@win.png |  Bin 0 -> 2925 bytes
 ...XG_Rect_RadialGradientStroke_xy_0_20@win.png |  Bin 0 -> 2966 bytes
 ...XG_Rect_RadialGradientStroke_xy_20_0@win.png |  Bin 0 -> 2971 bytes
 ...RadialGradientStroke_xy_fillRotation@win.png |  Bin 0 -> 4080 bytes
 ...dialGradientStroke_xy_strokeRotation@win.png |  Bin 0 -> 3630 bytes
 ...otation_matrix_onRadialGradient_fill@win.png |  Bin 0 -> 2217 bytes
 ...ation_matrix_onRadialGradient_stroke@win.png |  Bin 0 -> 2426 bytes
 ...Rect_XY_matrix_onRadialGradient_fill@win.png |  Bin 0 -> 3765 bytes
 ...ct_XY_matrix_onRadialGradient_stroke@win.png |  Bin 0 -> 3614 bytes
 .../SWFs/borderStyles_typeSelector_main.mxml    |    2 +-
 ...ckgroundAlpha_change_runtime_Application.png |  Bin 28035 -> 27095 bytes
 ...pha_change_runtime_globalCSS_Application.png |  Bin 28035 -> 27095 bytes
 ...tBackgroundAlpha_inheritance_Application.png |  Bin 28075 -> 27384 bytes
 ...BackgroundAlpha_state_change_Application.png |  Bin 28051 -> 27323 bytes
 ...ckgroundAlpha_change_runtime_Application.png |  Bin 28171 -> 27046 bytes
 ...pha_change_runtime_globalCSS_Application.png |  Bin 28171 -> 27046 bytes
 ...tBackgroundAlpha_inheritance_Application.png |  Bin 28112 -> 27361 bytes
 ...BackgroundAlpha_state_change_Application.png |  Bin 28051 -> 27323 bytes
 .../borderAlpha_runtime_as_sparkList.png        |  Bin 8787 -> 8727 bytes
 ...rderAlpha_runtime_as_sparkNumericStepper.png |  Bin 8777 -> 8732 bytes
 .../borderAlpha_runtime_as_sparkPanel.png       |  Bin 8783 -> 8733 bytes
 .../borderAlpha_runtime_as_sparkTextArea.png    |  Bin 8786 -> 8724 bytes
 .../borderAlpha_runtime_as_sparkTextInput.png   |  Bin 8783 -> 8739 bytes
 .../baselines/borderColor_classSelector.png     |  Bin 19977 -> 19882 bytes
 .../borderColor_runtime_as_sparkList.png        |  Bin 8764 -> 8703 bytes
 ...rderColor_runtime_as_sparkNumericStepper.png |  Bin 8775 -> 8725 bytes
 .../borderColor_runtime_as_sparkPanel.png       |  Bin 8775 -> 8714 bytes
 .../borderColor_runtime_as_sparkTextArea.png    |  Bin 8778 -> 8722 bytes
 .../borderColor_runtime_as_sparkTextInput.png   |  Bin 8776 -> 8724 bytes
 .../local/baselines/borderStyles_mxml.png       |  Bin 18421 -> 16656 bytes
 ...rStyles_typeSelector_styleName_sparkList.png |  Bin 8796 -> 8721 bytes
 ...peSelector_styleName_sparkNumericStepper.png |  Bin 8783 -> 8734 bytes
 ...Styles_typeSelector_styleName_sparkPanel.png |  Bin 8790 -> 8728 bytes
 ...les_typeSelector_styleName_sparkTextArea.png |  Bin 8791 -> 8728 bytes
 ...es_typeSelector_styleName_sparkTextInput.png |  Bin 8788 -> 8740 bytes
 .../baselines/borderVisible_classSelector.png   |  Bin 17175 -> 15369 bytes
 ...rderVisible_false_typeSelector_sparkList.png |  Bin 8677 -> 8598 bytes
 ...e_false_typeSelector_sparkNumericStepper.png |  Bin 8727 -> 8650 bytes
 ...derVisible_false_typeSelector_sparkPanel.png |  Bin 8650 -> 8594 bytes
 ...Visible_false_typeSelector_sparkTextArea.png |  Bin 8647 -> 8612 bytes
 ...isible_false_typeSelector_sparkTextInput.png |  Bin 8751 -> 8704 bytes
 ...erVisible_toggle_runtime_borderColor_set.png |  Bin 8677 -> 8598 bytes
 ...orderVisible_true_typeSelector_sparkList.png |  Bin 8772 -> 8720 bytes
 ...le_true_typeSelector_sparkNumericStepper.png |  Bin 8772 -> 8720 bytes
 ...rderVisible_true_typeSelector_sparkPanel.png |  Bin 8772 -> 8720 bytes
 ...rVisible_true_typeSelector_sparkTextArea.png |  Bin 8772 -> 8720 bytes
 ...Visible_true_typeSelector_sparkTextInput.png |  Bin 8772 -> 8720 bytes
 .../cornerRadius_change_runtime_sparkButton.png |  Bin 1612 -> 1531 bytes
 .../cornerRadius_change_runtime_sparkDDL.png    |  Bin 1778 -> 1582 bytes
 ...adius_change_runtime_sparkNumericStepper.png |  Bin 542 -> 556 bytes
 ...rRadius_change_runtime_sparkToggleButton.png |  Bin 2142 -> 1974 bytes
 ...ornerRadius_classSelector_sparkButtonBar.png |  Bin 4585 -> 4393 bytes
 ...erRadius_mxml_change_runtime_sparkButton.png |  Bin 1612 -> 1531 bytes
 ...ornerRadius_mxml_change_runtime_sparkDDL.png |  Bin 1778 -> 1582 bytes
 ..._mxml_change_runtime_sparkNumericStepper.png |  Bin 542 -> 556 bytes
 ...us_mxml_change_runtime_sparkToggleButton.png |  Bin 2142 -> 1974 bytes
 .../cornerRadius_mxml_sparkButtonBar.png        |  Bin 3963 -> 3838 bytes
 .../cornerRadius_sparkPanel_with_controlBar.png |  Bin 2416 -> 2348 bytes
 .../cornerRadius_typeSelector_sparkButton.png   |  Bin 1823 -> 1712 bytes
 .../cornerRadius_typeSelector_sparkDDL.png      |  Bin 2013 -> 1761 bytes
 ...rRadius_typeSelector_sparkNumericStepper.png |  Bin 2555 -> 2320 bytes
 ...nerRadius_typeSelector_sparkToggleButton.png |  Bin 2353 -> 2144 bytes
 ...rRadius_visualverification_classSelector.png |  Bin 44055 -> 42339 bytes
 .../cornerRadius_visualverification_mxml.png    |  Bin 41561 -> 39915 bytes
 ...hadowVisible_change_runtime_haloComboBox.png |  Bin 9668 -> 9208 bytes
 ...ropShadowVisible_change_runtime_haloMenu.png |  Bin 9241 -> 8376 bytes
 ...opShadowVisible_change_runtime_haloPanel.png |  Bin 8834 -> 8409 bytes
 ...owVisible_change_runtime_haloTitleWindow.png |  Bin 8861 -> 8436 bytes
 ...Visible_change_runtime_sparkDropDownList.png |  Bin 13607 -> 12411 bytes
 ...pShadowVisible_change_runtime_sparkPanel.png |  Bin 8234 -> 7926 bytes
 .../dropShadowVisible_change_state_1.png        |  Bin 9241 -> 8796 bytes
 .../dropShadowVisible_change_state_2.png        |  Bin 5913 -> 5662 bytes
 ...owVisible_change_state_SparkDropDownList.png |  Bin 10387 -> 9431 bytes
 ...hadowVisible_change_state_back_default_1.png |  Bin 5913 -> 5662 bytes
 ...hadowVisible_change_state_back_default_2.png |  Bin 9241 -> 8796 bytes
 ...pShadowVisible_change_state_haloComboBox.png |  Bin 6370 -> 6100 bytes
 .../baselines/dropShadowVisible_css_Alert.png   |  Bin 12977 -> 12180 bytes
 ...hadowVisible_css_change_runtime_haloMenu.png |  Bin 5913 -> 7615 bytes
 ...adowVisible_css_change_runtime_haloPanel.png |  Bin 7632 -> 7324 bytes
 ...sible_css_change_runtime_haloTitleWindow.png |  Bin 7602 -> 7301 bytes
 ...ble_css_change_runtime_sparkDropDownList.png |  Bin 12276 -> 11043 bytes
 ...dowVisible_css_change_runtime_sparkPanel.png |  Bin 7552 -> 7157 bytes
 .../dropShadowVisible_default_Alert.png         |  Bin 17395 -> 16297 bytes
 .../local/baselines/dropShadowVisible_mxml.png  |  Bin 5414 -> 5204 bytes
 ...dropShadowVisible_mxml_SparkDropDownList.png |  Bin 9796 -> 8900 bytes
 ...dropShadowVisible_type_selector_haloMenu.png |  Bin 5913 -> 7615 bytes
 ...ropShadowVisible_type_selector_haloPanel.png |  Bin 7632 -> 7324 bytes
 ...dowVisible_type_selector_haloTitleWindow.png |  Bin 7602 -> 7301 bytes
 ...wVisible_type_selector_sparkDropDownList.png |  Bin 12276 -> 11043 bytes
 ...opShadowVisible_type_selector_sparkPanel.png |  Bin 7552 -> 7157 bytes
 ...ntBackgroundAlpha_0_TextArea_TextInput_1.png |  Bin 3290 -> 3273 bytes
 ...ntBackgroundAlpha_0_TextArea_TextInput_2.png |  Bin 3327 -> 3297 bytes
 .../local/baselines/paddingAll_TextArea.png     |  Bin 1084 -> 1165 bytes
 .../local/baselines/paddingAll_TextInput.png    |  Bin 997 -> 1069 bytes
 .../local/baselines/paddingAll_change_state.png |  Bin 1383 -> 1478 bytes
 .../baselines/paddingAll_change_state_2.png     |  Bin 1937 -> 1948 bytes
 ...ngBottom_change_runtime_AS_SparkTextArea.png |  Bin 1316 -> 1468 bytes
 ...gBottom_change_runtime_AS_SparkTextInput.png |  Bin 1281 -> 1425 bytes
 .../paddingBottom_mxml_SparkTextArea.png        |  Bin 1316 -> 1468 bytes
 .../paddingBottom_mxml_SparkTextInput.png       |  Bin 1282 -> 1427 bytes
 .../paddingBottom_type_SparkTextArea.png        |  Bin 1316 -> 1468 bytes
 .../paddingBottom_type_SparkTextInput.png       |  Bin 1282 -> 1427 bytes
 ...dingLeft_change_runtime_AS_SparkTextArea.png |  Bin 1124 -> 1211 bytes
 ...ingLeft_change_runtime_AS_SparkTextInput.png |  Bin 1091 -> 1178 bytes
 .../paddingLeft_mxml_SparkTextArea.png          |  Bin 1120 -> 1205 bytes
 .../paddingLeft_mxml_SparkTextInput.png         |  Bin 1090 -> 1175 bytes
 .../paddingLeft_type_SparkTextArea.png          |  Bin 1120 -> 1205 bytes
 .../paddingLeft_type_SparkTextInput.png         |  Bin 1090 -> 1175 bytes
 ...ingRight_change_runtime_AS_SparkTextArea.png |  Bin 1282 -> 1264 bytes
 ...ngRight_change_runtime_AS_SparkTextInput.png |  Bin 1248 -> 1228 bytes
 .../paddingRight_mxml_SparkTextArea.png         |  Bin 1278 -> 1257 bytes
 .../paddingRight_mxml_SparkTextInput.png        |  Bin 1246 -> 1217 bytes
 .../paddingRight_type_SparkTextArea.png         |  Bin 1278 -> 1257 bytes
 .../paddingRight_type_SparkTextInput.png        |  Bin 1246 -> 1217 bytes
 ...ddingTop_change_runtime_AS_SparkTextArea.png |  Bin 1025 -> 1216 bytes
 ...dingTop_change_runtime_AS_SparkTextInput.png |  Bin 999 -> 1176 bytes
 .../baselines/paddingTop_mxml_SparkTextArea.png |  Bin 1025 -> 1218 bytes
 .../paddingTop_mxml_SparkTextInput.png          |  Bin 999 -> 1177 bytes
 .../baselines/paddingTop_type_SparkTextArea.png |  Bin 1025 -> 1218 bytes
 .../paddingTop_type_SparkTextInput.png          |  Bin 999 -> 1177 bytes
 ...roundColor_backgroundAlpha_mxml_getStyle.png |  Bin 2598 -> 2577 bytes
 ..._backgroundColor_backgroundAlpha_binding.png |  Bin 1600 -> 1608 bytes
 .../styles/local/cornerRadius_mxml_tester.mxml  |    4 +-
 .../local/cornerRadius_typeSelector_tester.mxml |    2 +-
 .../local/dropShadowVisible_css_tester.mxml     |   22 +-
 .../styles/local/dropShadowVisible_tester.mxml  |   29 +-
 .../Methods/CV_custom_tester.mxml               |    2 +-
 ...validate_error_message_localized_tester.mxml |    2 +-
 .../Methods/CV_validate_format_tester.mxml      |    2 +-
 .../SWFs/assets/INVModuleInterface.as           |    4 +-
 .../src/MustellaDependencyDB-app.xml            |  250 +
 .../src/MustellaDependencyDB.mxml               |  282 ++
 .../src/MustellaTestChooser-app.xml             |  250 +
 .../src/MustellaTestChooser.mxml                |  242 +
 .../src/OneClickMustella-app.xml                |  232 +
 .../OneClickMustella/src/OneClickMustella.mxml  |  102 +
 .../src/org/apacheflex/webserver/WebServer.mxml |  145 +
 15422 files changed, 204934 insertions(+), 181112 deletions(-)
----------------------------------------------------------------------



[10/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextElementBridge.java
index 8036e20..bdf9ec2 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,16 +20,14 @@ package org.apache.flex.forks.batik.bridge;
 
 import java.awt.AlphaComposite;
 import java.awt.Color;
-import java.awt.Composite;
-import java.awt.Paint;
 import java.awt.RenderingHints;
 import java.awt.Shape;
-import java.awt.Stroke;
 import java.awt.font.TextAttribute;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
 import java.awt.geom.Point2D;
 import java.awt.geom.Rectangle2D;
+import java.lang.ref.SoftReference;
 import java.text.AttributedCharacterIterator;
 import java.text.AttributedString;
 import java.text.AttributedCharacterIterator.Attribute;
@@ -39,8 +38,6 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.Vector;
 import java.util.WeakHashMap;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
@@ -49,16 +46,27 @@ import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
 import org.apache.flex.forks.batik.css.engine.StyleMap;
 import org.apache.flex.forks.batik.css.engine.value.ListValue;
 import org.apache.flex.forks.batik.css.engine.value.Value;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
 import org.apache.flex.forks.batik.dom.svg.SVGContext;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedEnumeration;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedLengthList;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedNumberList;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMTextPositioningElement;
 import org.apache.flex.forks.batik.dom.svg.SVGTextContent;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.dom.util.XMLSupport;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.TextNode;
+import org.apache.flex.forks.batik.gvt.font.FontFamilyResolver;
+import org.apache.flex.forks.batik.gvt.font.GVTFont;
 import org.apache.flex.forks.batik.gvt.font.GVTFontFamily;
 import org.apache.flex.forks.batik.gvt.font.GVTGlyphMetrics;
 import org.apache.flex.forks.batik.gvt.font.GVTGlyphVector;
+import org.apache.flex.forks.batik.gvt.font.UnresolvedFontFamily;
 import org.apache.flex.forks.batik.gvt.renderer.StrokingTextPainter;
 import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
 import org.apache.flex.forks.batik.gvt.text.Mark;
@@ -66,38 +74,66 @@ import org.apache.flex.forks.batik.gvt.text.TextHit;
 import org.apache.flex.forks.batik.gvt.text.TextPaintInfo;
 import org.apache.flex.forks.batik.gvt.text.TextPath;
 import org.apache.flex.forks.batik.gvt.text.TextSpanLayout;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.css.CSSPrimitiveValue;
 import org.w3c.dom.css.CSSValue;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
-import org.w3c.dom.events.EventTarget;
 import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGLengthList;
+import org.w3c.dom.svg.SVGNumberList;
+import org.w3c.dom.svg.SVGTextContentElement;
+import org.w3c.dom.svg.SVGTextPositioningElement;
 
 /**
  * Bridge class for the &lt;text> element.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @author <a href="mailto:bill.haneman@ireland.sun.com">Bill Haneman</a>
- * @version $Id: SVGTextElementBridge.java,v 1.106 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGTextElementBridge.java 593421 2007-11-09 05:01:44Z cam $
  */
-public class SVGTextElementBridge extends AbstractGraphicsNodeBridge 
+public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     implements SVGTextContent {
 
-    protected final static Integer ZERO = new Integer(0);
+    protected static final Integer ZERO = new Integer(0);
 
-    public static final 
+    public static final
         AttributedCharacterIterator.Attribute TEXT_COMPOUND_DELIMITER =
         GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_DELIMITER;
 
+    public static final
+        AttributedCharacterIterator.Attribute TEXT_COMPOUND_ID =
+        GVTAttributedCharacterIterator.TextAttribute.TEXT_COMPOUND_ID;
+
     public static final AttributedCharacterIterator.Attribute PAINT_INFO =
          GVTAttributedCharacterIterator.TextAttribute.PAINT_INFO;
 
-    public static final 
+    public static final
         AttributedCharacterIterator.Attribute ALT_GLYPH_HANDLER =
         GVTAttributedCharacterIterator.TextAttribute.ALT_GLYPH_HANDLER;
-        
+
+    public static final
+        AttributedCharacterIterator.Attribute TEXTPATH
+        = GVTAttributedCharacterIterator.TextAttribute.TEXTPATH;
+
+    public static final
+        AttributedCharacterIterator.Attribute ANCHOR_TYPE
+        = GVTAttributedCharacterIterator.TextAttribute.ANCHOR_TYPE;
+
+    public static final
+        AttributedCharacterIterator.Attribute GVT_FONT_FAMILIES
+        = GVTAttributedCharacterIterator.TextAttribute.GVT_FONT_FAMILIES;
+
+    public static final
+        AttributedCharacterIterator.Attribute GVT_FONTS
+        = GVTAttributedCharacterIterator.TextAttribute.GVT_FONTS;
+
+    public static final
+        AttributedCharacterIterator.Attribute BASELINE_SHIFT
+        = GVTAttributedCharacterIterator.TextAttribute.BASELINE_SHIFT;
 
     protected AttributedString laidoutText;
 
@@ -105,7 +141,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     // in this text element.
     protected WeakHashMap elemTPI = new WeakHashMap();
 
-    // This s true if any of the spans of this text element
+    // This is true if any of the spans of this text element
     // use a 'complex' SVG font (meaning the font uses more
     // and just the 'd' attribute on the glyph element.
     // In this case we need to recreate the font when ever
@@ -132,6 +168,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         return new SVGTextElementBridge();
     }
 
+    protected TextNode getTextNode() {
+        return (TextNode)node;
+    }
     /**
      * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
      *
@@ -144,6 +183,18 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         if (node == null)
             return null;
 
+        associateSVGContext(ctx, e, node);
+
+        // traverse the children to add context on
+        // <tspan>, <tref> and <textPath>
+        Node child = getFirstChild(e);
+        while (child != null) {
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                addContextToChild(ctx,(Element)child);
+            }
+            child = getNextSibling(child);
+        }
+
         // specify the text painter to use
         if (ctx.getTextPainter() != null)
             node.setTextPainter(ctx.getTextPainter());
@@ -176,27 +227,31 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * @param e the text element
      */
     protected Point2D getLocation(BridgeContext ctx, Element e) {
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
+        try {
+            SVGOMTextPositioningElement te = (SVGOMTextPositioningElement) e;
+
+            // 'x' attribute - default is 0
+            SVGOMAnimatedLengthList _x = (SVGOMAnimatedLengthList) te.getX();
+            _x.check();
+            SVGLengthList xs = _x.getAnimVal();
+            float x = 0;
+            if (xs.getNumberOfItems() > 0) {
+                x = xs.getItem(0).getValue();
+            }
 
-        // 'x' attribute - default is 0
-        String s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-        float x = 0;
-        if (s.length() != 0) {
-            StringTokenizer st = new StringTokenizer(s, ", ", false);
-            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (st.nextToken(), SVG_X_ATTRIBUTE, uctx);
-        }
+            // 'y' attribute - default is 0
+            SVGOMAnimatedLengthList _y = (SVGOMAnimatedLengthList) te.getY();
+            _y.check();
+            SVGLengthList ys = _y.getAnimVal();
+            float y = 0;
+            if (ys.getNumberOfItems() > 0) {
+                y = ys.getItem(0).getValue();
+            }
 
-        // 'y' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-        float y = 0;
-        if (s.length() != 0) {
-            StringTokenizer st = new StringTokenizer(s, ", ", false);
-            y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (st.nextToken(), SVG_Y_ATTRIBUTE, uctx);
+            return new Point2D.Float(x, y);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-
-        return new Point2D.Float(x, y);
     }
 
     protected boolean isTextElement(Element e) {
@@ -251,6 +306,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         node.setPointerEventType(CSSUtilities.convertPointerEvents(e));
 
         initializeDynamicSupport(ctx, e, node);
+        if (!ctx.isDynamic()) {
+            elemTPI.clear();
+        }
     }
 
     /**
@@ -260,13 +318,38 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         return false;
     }
 
+    // Tree navigation ------------------------------------------------------
+
+    /**
+     * Returns the first child node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getFirstChild(Node n) {
+        return n.getFirstChild();
+    }
+
+    /**
+     * Returns the next sibling node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getNextSibling(Node n) {
+        return n.getNextSibling();
+    }
+
+    /**
+     * Returns the parent node of the given node that should be
+     * processed by the text bridge.
+     */
+    protected Node getParentNode(Node n) {
+        return n.getParentNode();
+    }
+
     // Listener implementation ----------------------------------------------
 
     /**
      * The DOM EventListener to receive 'DOMNodeRemoved' event.
      */
-    protected DOMChildNodeRemovedEventListener childNodeRemovedEventListener = 
-        new DOMChildNodeRemovedEventListener();
+    protected DOMChildNodeRemovedEventListener childNodeRemovedEventListener;
 
     /**
      * The DOM EventListener invoked when a node is removed.
@@ -277,15 +360,14 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          * Handles 'DOMNodeRemoved' event type.
          */
         public void handleEvent(Event evt) {
-            handleDOMChildNodeRemovedEvent((MutationEvent)evt);            
+            handleDOMChildNodeRemovedEvent((MutationEvent)evt);
         }
     }
 
     /**
      * The DOM EventListener to receive 'DOMSubtreeModified' event.
      */
-    protected DOMSubtreeModifiedEventListener subtreeModifiedEventListener = 
-        new DOMSubtreeModifiedEventListener();
+    protected DOMSubtreeModifiedEventListener subtreeModifiedEventListener;
 
     /**
      * The DOM EventListener invoked when the subtree is modified.
@@ -303,50 +385,79 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     // BridgeUpdateHandler implementation -----------------------------------
 
     /**
-     * This method insures that any modification to a text
-     * element and its children is going to be reflected 
+     * This method ensures that any modification to a text
+     * element and its children is going to be reflected
      * into the GVT tree.
      */
     protected void initializeDynamicSupport(BridgeContext ctx,
                                             Element e,
                                             GraphicsNode node) {
-        super.initializeDynamicSupport(ctx,e,node);
-
-        if (!ctx.isDynamic())
-            return;             // Only add the listeners if we are dynamic
+        super.initializeDynamicSupport(ctx, e, node);
 
+        if (ctx.isDynamic()) {
+            // Only add the listeners if we are dynamic.
+            addTextEventListeners(ctx, (NodeEventTarget) e);
+        }
+    }
 
-        EventTarget evtTarget = (EventTarget)e;
+    /**
+     * Adds the DOM listeners for this text bridge.
+     */
+    protected void addTextEventListeners(BridgeContext ctx, NodeEventTarget e) {
+        if (childNodeRemovedEventListener == null) {
+            childNodeRemovedEventListener =
+                new DOMChildNodeRemovedEventListener();
+        }
+        if (subtreeModifiedEventListener == null) {
+            subtreeModifiedEventListener =
+                new DOMSubtreeModifiedEventListener();
+        }
 
-        //to be notified when a child is removed from the 
+        //to be notified when a child is removed from the
         //<text> element.
-        evtTarget.addEventListener
-            ("DOMNodeRemoved", childNodeRemovedEventListener, true);
-        ctx.storeEventListener
-            (evtTarget, "DOMNodeRemoved", childNodeRemovedEventListener, true);
-        
+        e.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true, null);
+        ctx.storeEventListenerNS
+            (e, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true);
+
         //to be notified when the modification of the subtree
         //of the <text> element is done
-        evtTarget.addEventListener
-            ("DOMSubtreeModified", subtreeModifiedEventListener, false);
-        ctx.storeEventListener
-            (evtTarget, "DOMSubtreeModified", subtreeModifiedEventListener, false);
+        e.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false, null);
+        ctx.storeEventListenerNS
+            (e, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false);
+    }
 
-        // traverse the children to add context on 
-        // <tspan>, <tref> and <textPath>
-        Node child  = e.getFirstChild();
-        while (child != null) {
-            if (child.getNodeType() == Node.ELEMENT_NODE) {
-                addContextToChild(ctx,(Element)child);
-            }
-            child = child.getNextSibling();
-        }
+    /**
+     * Removes the DOM listeners for this text bridge.
+     */
+    protected void removeTextEventListeners(BridgeContext ctx,
+                                            NodeEventTarget e) {
+        e.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             childNodeRemovedEventListener, true);
+        e.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMSubtreeModified",
+             subtreeModifiedEventListener, false);
     }
 
     /**
-     * Add to the element children of the node, a
-     * <code>SVGContext</code> to support dynamic updated . This is
-     * recurssive, the children of the nodes are also traversed to add
+     * Disposes this text element bridge by removing the text event listeners
+     * that were added in {@link #initializeDynamicSupport}.
+     */
+    public void dispose() {
+        removeTextEventListeners(ctx, (NodeEventTarget) e);
+        super.dispose();
+    }
+
+    /**
+     * Add to the element children of the node, an
+     * <code>SVGContext</code> to support dynamic update. This is
+     * recursive, the children of the nodes are also traversed to add
      * to the support elements their context
      *
      * @param ctx a <code>BridgeContext</code> value
@@ -355,7 +466,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * @see org.apache.flex.forks.batik.dom.svg.SVGContext
      * @see org.apache.flex.forks.batik.bridge.BridgeUpdateHandler
      */
-    protected void addContextToChild(BridgeContext ctx,Element e) {
+    protected void addContextToChild(BridgeContext ctx, Element e) {
         if (SVG_NAMESPACE_URI.equals(e.getNamespaceURI())) {
             if (e.getLocalName().equals(SVG_TSPAN_TAG)) {
                 ((SVGOMElement)e).setSVGContext
@@ -369,12 +480,45 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             }
         }
 
-        Node child  = e.getFirstChild();
+        Node child = getFirstChild(e);
         while (child != null) {
             if (child.getNodeType() == Node.ELEMENT_NODE) {
                 addContextToChild(ctx, (Element)child);
-            }        
-            child = child.getNextSibling();
+            }
+            child = getNextSibling(child);
+        }
+    }
+
+    /**
+     * From the <code>SVGContext</code> from the element children of the node.
+     *
+     * @param ctx the <code>BridgeContext</code> for the document
+     * @param e the <code>Element</code> whose subtree's elements will have
+     *   threir <code>SVGContext</code>s removed
+     *
+     * @see org.apache.flex.forks.batik.dom.svg.SVGContext
+     * @see org.apache.flex.forks.batik.bridge.BridgeUpdateHandler
+     */
+    protected void removeContextFromChild(BridgeContext ctx, Element e) {
+        if (SVG_NAMESPACE_URI.equals(e.getNamespaceURI())) {
+            if (e.getLocalName().equals(SVG_TSPAN_TAG)) {
+                ((AbstractTextChildBridgeUpdateHandler)
+                    ((SVGOMElement) e).getSVGContext()).dispose();
+            } else if (e.getLocalName().equals(SVG_TEXT_PATH_TAG)) {
+                ((AbstractTextChildBridgeUpdateHandler)
+                    ((SVGOMElement) e).getSVGContext()).dispose();
+            } else if (e.getLocalName().equals(SVG_TREF_TAG)) {
+                ((AbstractTextChildBridgeUpdateHandler)
+                    ((SVGOMElement) e).getSVGContext()).dispose();
+            }
+        }
+
+        Node child = getFirstChild(e);
+        while (child != null) {
+            if (child.getNodeType() == Node.ELEMENT_NODE) {
+                removeContextFromChild(ctx, (Element)child);
+            }
+            child = getNextSibling(child);
         }
     }
 
@@ -383,45 +527,30 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      */
     public void handleDOMNodeInsertedEvent(MutationEvent evt) {
         Node childNode = (Node)evt.getTarget();
-        
+
         //check the type of the node inserted before discard the layout
         //in the case of <title> or <desc> or <metadata>, the layout
         //is unchanged
-        switch( childNode.getNodeType() ){
-        case Node.TEXT_NODE:
-        case Node.CDATA_SECTION_NODE:
-            laidoutText = null;
-            break;
-        case Node.ELEMENT_NODE: {
-            Element childElement = (Element)childNode;
-            if (isTextChild(childElement)) {
-                addContextToChild( ctx, childElement);
+        switch(childNode.getNodeType()) {
+            case Node.TEXT_NODE:        // fall-through is intended
+            case Node.CDATA_SECTION_NODE:
                 laidoutText = null;
+                break;
+            case Node.ELEMENT_NODE: {
+                Element childElement = (Element)childNode;
+                if (isTextChild(childElement)) {
+                    addContextToChild(ctx, childElement);
+                    laidoutText = null;
+                }
+                break;
             }
         }
-            break;
-        default:
-        }
         if (laidoutText == null) {
-            computeLaidoutText(ctx, e, node);
+            computeLaidoutText(ctx, e, getTextNode());
         }
     }
 
     /**
-     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
-     */
-    public void handleDOMNodeRemovedEvent(MutationEvent evt) {
-        EventTarget evtTarget = evt.getTarget();
-        evtTarget.removeEventListener("DOMNodeRemoved",
-                                      childNodeRemovedEventListener,
-                                      true);
-        evtTarget.removeEventListener("DOMSubtreeModified",
-                                      subtreeModifiedEventListener,
-                                      false);
-        super.handleDOMNodeRemovedEvent(evt);
-    }
-
-    /**
      * Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
      */
     public void handleDOMChildNodeRemovedEvent(MutationEvent evt) {
@@ -431,18 +560,21 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         //in the case of <title> or <desc> or <metadata>, the layout
         //is unchanged
         switch (childNode.getNodeType()) {
-            case Node.TEXT_NODE:
+            case Node.TEXT_NODE:           // fall-through is intended
             case Node.CDATA_SECTION_NODE:
                 //the parent has to be a displayed node
-                if (isParentDisplayed( childNode)) {
+                if (isParentDisplayed(childNode)) {
                     laidoutText = null;
                 }
                 break;
-            case Node.ELEMENT_NODE: 
-                if (isTextChild((Element)childNode)) {
+            case Node.ELEMENT_NODE: {
+                Element childElt = (Element) childNode;
+                if (isTextChild(childElt)) {
                     laidoutText = null;
+                    removeContextFromChild(ctx, childElt);
                 }
                 break;
+            }
             default:
         }
         //if the laidoutText was set to null,
@@ -452,16 +584,16 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     /**
      * Invoked when an MutationEvent of type 'DOMSubtree' is fired.
      */
-    public void handleDOMSubtreeModifiedEvent(MutationEvent evt){
+    public void handleDOMSubtreeModifiedEvent(MutationEvent evt) {
         //an operation occured onto the children of the
         //text element, check if the layout was discarded
         if (laidoutText == null) {
-            computeLaidoutText(ctx, e, node);
+            computeLaidoutText(ctx, e, getTextNode());
         }
     }
 
     /**
-     * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+     * Invoked when an MutationEvent of type 'DOMCharacterDataModified'
      * is fired.
      */
     public void handleDOMCharacterDataModified(MutationEvent evt){
@@ -478,12 +610,12 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * &lt;title&gt;, &lt;desc&gt; and &lt;metadata&gt;
      * are non displayable elements.
      *
-     * @return true if the parent of the node is &lt;text&gt;, 
+     * @return true if the parent of the node is &lt;text&gt;,
      *   &lt;tspan&gt;, &lt;tref&gt;, &lt;textPath&gt;, &lt;a&gt;,
      *   &lt;altGlyph&gt;
      */
     protected boolean isParentDisplayed(Node childNode) {
-        Node parentNode = childNode.getParentNode();
+        Node parentNode = getParentNode(childNode);
         return isTextElement((Element)parentNode);
     }
 
@@ -491,23 +623,26 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * Recompute the layout of the &lt;text&gt; node.
      *
      * Assign onto the TextNode pending to the element
-     * the new recomputed AtrributedString. Also
+     * the new recomputed AttributedString. Also
      * update <code>laidoutText</code> with the new
      * value.
      */
-    protected void computeLaidoutText(BridgeContext ctx, 
-                                       Element e,
-                                       GraphicsNode node) {
+    protected void computeLaidoutText(BridgeContext ctx,
+                                      Element e,
+                                      GraphicsNode node) {
+        TextNode tn = (TextNode)node;
+        elemTPI.clear();
+
         AttributedString as = buildAttributedString(ctx, e);
+        if (as == null) {
+            tn.setAttributedCharacterIterator(null);
+            return;
+        }
+
         addGlyphPositionAttributes(as, e, ctx);
         if (ctx.isDynamic()) {
             laidoutText = new AttributedString(as.getIterator());
         }
-        TextNode tn = (TextNode)node;
-        elemTPI.clear();
-        // Add null TPI objects to the text (after we set it on the
-        // Text we will swap in the correct values.
-        addNullPaintAttributes(as, e, ctx);
 
         // Install the ACI in the text node.
         tn.setAttributedCharacterIterator(as.getIterator());
@@ -526,55 +661,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             // Force Complex SVG fonts to be recreated, if we have them.
             tn.setAttributedCharacterIterator(as.getIterator());
         }
-    }
-
-    /**
-     * This creates 'dummy' TPI objects for each element and records
-     * them in the elemTPI map so we can later update them with 
-     * the correct paint attributes.
-     */
-    protected void addNullPaintAttributes(AttributedString as, 
-                                          Element element,
-                                          BridgeContext ctx) {
-        // 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
-        if ((!SVGUtilities.matchUserAgent(element, ctx.getUserAgent())) ||
-            (!CSSUtilities.convertDisplay(element))) {
-            return;
-        }
-
-        AttributedCharacterIterator aci = as.getIterator();
-
-        // calculate which chars in the string belong to this element
-        int firstChar = getElementStartIndex(aci, element);
-        if (firstChar == -1)
-            return; // Element not part of aci (no chars in elem usually)
-
-        int lastChar = getElementEndIndex(aci, element);
-        TextPaintInfo pi = new TextPaintInfo();
-        // Set some basic props so we can get bounds info for complex paints.
-        pi.visible   = true;        
-        pi.fillPaint = Color.black;
-
-        as.addAttribute(PAINT_INFO, pi, firstChar, lastChar+1);
-        elemTPI.put(element, pi);
-
-        addChildNullPaintAttributes(as, element, ctx);
-    }
-    
-    protected void addChildNullPaintAttributes(AttributedString as,
-                                               Element element,
-                                               BridgeContext ctx) {
-        // Add Paint attributres for children of text element
-        for (Node child = element.getFirstChild();
-             child != null;
-             child = child.getNextSibling()) {
-            if (child.getNodeType() != Node.ELEMENT_NODE) 
-                continue;
 
-            Element childElement = (Element)child;
-            if (isTextChild(childElement)) {
-                addNullPaintAttributes(as, childElement, ctx);
-            }
+        if (ctx.isDynamic()) {
+            checkBBoxChange();
         }
     }
 
@@ -591,26 +680,28 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     private Element cssProceedElement;
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_X_ATTRIBUTE) ||
-            attrName.equals(SVG_Y_ATTRIBUTE) ||
-            attrName.equals(SVG_DX_ATTRIBUTE) ||
-            attrName.equals(SVG_DY_ATTRIBUTE) ||
-            attrName.equals(SVG_ROTATE_ATTRIBUTE) ){
-
-            if ( attrName.equals(SVG_X_ATTRIBUTE) ||
-                 attrName.equals(SVG_Y_ATTRIBUTE)){
-                ((TextNode)node).setLocation(getLocation(ctx, e));
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_X_ATTRIBUTE)
+                    || ln.equals(SVG_Y_ATTRIBUTE)
+                    || ln.equals(SVG_DX_ATTRIBUTE)
+                    || ln.equals(SVG_DY_ATTRIBUTE)
+                    || ln.equals(SVG_ROTATE_ATTRIBUTE)
+                    || ln.equals(SVG_TEXT_LENGTH_ATTRIBUTE)
+                    || ln.equals(SVG_LENGTH_ADJUST_ATTRIBUTE)) {
+                char c = ln.charAt(0);
+                if (c == 'x' || c == 'y') {
+                    getTextNode().setLocation(getLocation(ctx, e));
+                }
+                computeLaidoutText(ctx, e, getTextNode());
+                return;
             }
-
-            computeLaidoutText(ctx, e, node);
-        }
-        else{
-            super.handleDOMAttrModifiedEvent(evt);
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     /**
@@ -623,7 +714,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         int [] properties = evt.getProperties();
         // first try to find CSS properties that change the layout
         for (int i=0; i < properties.length; ++i) {
-            switch(properties[i]) {
+            switch(properties[i]) {         // fall-through is intended
             case SVGCSSEngine.BASELINE_SHIFT_INDEX:
             case SVGCSSEngine.DIRECTION_INDEX:
             case SVGCSSEngine.DISPLAY_INDEX:
@@ -634,7 +725,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             case SVGCSSEngine.FONT_WEIGHT_INDEX:
             case SVGCSSEngine.GLYPH_ORIENTATION_HORIZONTAL_INDEX:
             case SVGCSSEngine.GLYPH_ORIENTATION_VERTICAL_INDEX:
-            case SVGCSSEngine.KERNING_INDEX: 
+            case SVGCSSEngine.KERNING_INDEX:
             case SVGCSSEngine.LETTER_SPACING_INDEX:
             case SVGCSSEngine.TEXT_ANCHOR_INDEX:
             case SVGCSSEngine.UNICODE_BIDI_INDEX:
@@ -642,7 +733,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             case SVGCSSEngine.WRITING_MODE_INDEX: {
                 if (!hasNewACI) {
                     hasNewACI = true;
-                    computeLaidoutText(ctx, e, node);
+                    computeLaidoutText(ctx, e, getTextNode());
                 }
                 break;
             }
@@ -661,7 +752,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * Invoked for each CSS property that has changed.
      */
     protected void handleCSSPropertyChanged(int property) {
-        switch(property) {
+        switch(property) {                  // fall-through is intended
         case SVGCSSEngine.FILL_INDEX:
         case SVGCSSEngine.FILL_OPACITY_INDEX:
         case SVGCSSEngine.STROKE_INDEX:
@@ -675,8 +766,8 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         case SVGCSSEngine.TEXT_DECORATION_INDEX:
             rebuildACI();
             break;
- 
-        case SVGCSSEngine.VISIBILITY_INDEX: 
+
+        case SVGCSSEngine.VISIBILITY_INDEX:
             rebuildACI();
             super.handleCSSPropertyChanged(property);
             break;
@@ -695,7 +786,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                 node.setRenderingHints(hints);
             }
             break;
-        } 
+        }
         default:
             super.handleCSSPropertyChanged(property);
         }
@@ -705,7 +796,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         if (hasNewACI)
             return;
 
-        TextNode tn = (TextNode)node;
+        TextNode textNode = getTextNode();
+        if (textNode.getAttributedCharacterIterator() == null)
+            return;
 
         TextPaintInfo pi, oldPI;
         if ( cssProceedElement == e ){
@@ -719,46 +812,29 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             //and only update the section of the AtrtibutedString of
             //the child
             TextPaintInfo parentPI;
-            parentPI = getParentTextPaintInfo
-                (tn.getAttributedCharacterIterator(), cssProceedElement);
-            pi = getTextPaintInfo(cssProceedElement, tn, parentPI, ctx);
+            parentPI = getParentTextPaintInfo(cssProceedElement);
+            pi = getTextPaintInfo(cssProceedElement, textNode, parentPI, ctx);
             oldPI = (TextPaintInfo)elemTPI.get(cssProceedElement);
         }
         if (oldPI == null) return;
 
-        tn.swapTextPaintInfo(pi, oldPI);
-        if (usingComplexSVGFont) 
+        textNode.swapTextPaintInfo(pi, oldPI);
+        if (usingComplexSVGFont)
             // Force Complex SVG fonts to be recreated
-            tn.setAttributedCharacterIterator
-                (tn.getAttributedCharacterIterator());
+            textNode.setAttributedCharacterIterator
+                (textNode.getAttributedCharacterIterator());
     }
 
-    int getElementStartIndex
-        (AttributedCharacterIterator aci, Element element) {
-        // calculate which chars in the string belong to this element
-        for (int i = 0; i < aci.getEndIndex();) {
-            aci.setIndex(i);
-            Element delimeter;
-            delimeter = (Element)aci.getAttribute(TEXT_COMPOUND_DELIMITER);
-            if (delimeter == element || nodeAncestorOf(element, delimeter))
-                return i;
-            i = aci.getRunLimit(TEXT_COMPOUND_DELIMITER);
-        }
-        return -1;  
+    int getElementStartIndex(Element element) {
+        TextPaintInfo tpi = (TextPaintInfo)elemTPI.get(element);
+        if (tpi == null) return -1;
+        return tpi.startChar;
     }
 
-    int getElementEndIndex
-        (AttributedCharacterIterator aci, Element element) {
-        // calculate which chars in the string belong to this element
-        for (int i = aci.getEndIndex()-1; i >= 0;) {
-            aci.setIndex(i);
-            Element delimeter;
-            delimeter = (Element)aci.getAttribute(TEXT_COMPOUND_DELIMITER);
-            if (delimeter == element || nodeAncestorOf(element, delimeter))
-                return i;
-            i = aci.getRunStart(TEXT_COMPOUND_DELIMITER)-1;
-        }
-        return -1;  
+    int getElementEndIndex(Element element) {
+        TextPaintInfo tpi = (TextPaintInfo)elemTPI.get(element);
+        if (tpi == null) return -1;
+        return tpi.endChar;
     }
 
     // -----------------------------------------------------------------------
@@ -775,9 +851,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      */
     protected AttributedString buildAttributedString(BridgeContext ctx,
                                                      Element element) {
-        
+
         AttributedStringBuffer asb = new AttributedStringBuffer();
-        fillAttributedStringBuffer(ctx, element, true, null, null, asb);
+        fillAttributedStringBuffer(ctx, element, true, null, null, null, asb);
         return asb.toAttributedString();
     }
 
@@ -798,6 +874,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                                               boolean top,
                                               TextPath textPath,
                                               Integer bidiLevel,
+                                              Map initialAttributes,
                                               AttributedStringBuffer asb) {
         // 'requiredFeatures', 'requiredExtensions', 'systemLanguage' &
         // 'display="none".
@@ -805,105 +882,169 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             (!CSSUtilities.convertDisplay(element))) {
             return;
         }
-        
+
         String s = XMLSupport.getXMLSpace(element);
         boolean preserve = s.equals(SVG_PRESERVE_VALUE);
         boolean prevEndsWithSpace;
         Element nodeElement = element;
+        int elementStartChar = asb.length();
 
-        if (top)
+        if (top) {
             endLimit = 0;
-        if (preserve)
+        }
+        if (preserve) {
             endLimit = asb.length();
-        
-	Map map = getAttributeMap(ctx, element, textPath, bidiLevel);
-	Object o = map.get(TextAttribute.BIDI_EMBEDDING);
+        }
+
+        Map map = initialAttributes == null
+                ? new HashMap()
+                : new HashMap(initialAttributes);
+        initialAttributes =
+            getAttributeMap(ctx, element, textPath, bidiLevel, map);
+        Object o = map.get(TextAttribute.BIDI_EMBEDDING);
         Integer subBidiLevel = bidiLevel;
-	if (o != null)
-	    subBidiLevel = ((Integer)o);
+        if (o != null) {
+            subBidiLevel = (Integer) o;
+        }
 
-        for (Node n = element.getFirstChild();
+        for (Node n = getFirstChild(element);
              n != null;
-             n = n.getNextSibling()) {
+             n = getNextSibling(n)) {
 
             if (preserve) {
                 prevEndsWithSpace = false;
             } else {
-                if (asb.length() == 0) 
+                if (asb.length() == 0) {
                     prevEndsWithSpace = true;
-                else
+                } else {
                     prevEndsWithSpace = (asb.getLastChar() == ' ');
+                }
             }
 
             switch (n.getNodeType()) {
             case Node.ELEMENT_NODE:
                 if (!SVG_NAMESPACE_URI.equals(n.getNamespaceURI()))
                     break;
-                
+
                 nodeElement = (Element)n;
 
                 String ln = n.getLocalName();
-                
+
                 if (ln.equals(SVG_TSPAN_TAG) ||
                     ln.equals(SVG_ALT_GLYPH_TAG)) {
+                    int before = asb.count;
                     fillAttributedStringBuffer(ctx,
                                                nodeElement,
                                                false,
                                                textPath,
                                                subBidiLevel,
+                                               initialAttributes,
                                                asb);
+                    if (asb.count != before) {
+                        initialAttributes = null;
+                    }
                 } else if (ln.equals(SVG_TEXT_PATH_TAG)) {
                     SVGTextPathElementBridge textPathBridge
                         = (SVGTextPathElementBridge)ctx.getBridge(nodeElement);
                     TextPath newTextPath
                         = textPathBridge.createTextPath(ctx, nodeElement);
                     if (newTextPath != null) {
+                        int before = asb.count;
                         fillAttributedStringBuffer(ctx,
                                                    nodeElement,
                                                    false,
                                                    newTextPath,
                                                    subBidiLevel,
+                                                   initialAttributes,
                                                    asb);
+                        if (asb.count != before) {
+                            initialAttributes = null;
+                        }
                     }
                 } else if (ln.equals(SVG_TREF_TAG)) {
                     String uriStr = XLinkSupport.getXLinkHref((Element)n);
                     Element ref = ctx.getReferencedElement((Element)n, uriStr);
                     s = TextUtilities.getElementContent(ref);
                     s = normalizeString(s, preserve, prevEndsWithSpace);
-                    if (s != null) {
-                        Map m = getAttributeMap(ctx, nodeElement, 
-                                                textPath, bidiLevel);
+                    if (s.length() != 0) {
+                        int trefStart = asb.length();
+                        Map m = initialAttributes == null
+                                ? new HashMap()
+                                : new HashMap(initialAttributes);
+                        getAttributeMap
+                            (ctx, nodeElement, textPath, bidiLevel, m);
                         asb.append(s, m);
+                        int trefEnd = asb.length() - 1;
+                        TextPaintInfo tpi;
+                        tpi = (TextPaintInfo)elemTPI.get(nodeElement);
+                        tpi.startChar = trefStart;
+                        tpi.endChar   = trefEnd;
+                        initialAttributes = null;
                     }
                 } else if (ln.equals(SVG_A_TAG)) {
-                    EventTarget target = (EventTarget)nodeElement;
+                    NodeEventTarget target = (NodeEventTarget)nodeElement;
                     UserAgent ua = ctx.getUserAgent();
-                    EventListener l = new SVGAElementBridge.AnchorListener(ua);
-                    target.addEventListener(SVG_EVENT_CLICK, l, false);
-                    ctx.storeEventListener(target, SVG_EVENT_CLICK, l, false);
-                    
+                    SVGAElementBridge.CursorHolder ch;
+                    ch = new SVGAElementBridge.CursorHolder
+                        (CursorManager.DEFAULT_CURSOR);
+                    EventListener l;
+                    l = new SVGAElementBridge.AnchorListener(ua, ch);
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                         SVG_EVENT_CLICK, l, false, null);
+                    ctx.storeEventListenerNS
+                        (target, XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                         SVG_EVENT_CLICK, l, false);
+
+                    int before = asb.count;
                     fillAttributedStringBuffer(ctx,
                                                nodeElement,
                                                false,
                                                textPath,
                                                subBidiLevel,
+                                               initialAttributes,
                                                asb);
+                    if (asb.count != before) {
+                        initialAttributes = null;
+                    }
                 }
                 break;
-            case Node.TEXT_NODE:
+            case Node.TEXT_NODE:                     // fall-through is intended
             case Node.CDATA_SECTION_NODE:
                 s = n.getNodeValue();
                 s = normalizeString(s, preserve, prevEndsWithSpace);
-                asb.append(s, map);
-                if (preserve)
-                    endLimit = asb.length();
+                if (s.length() != 0) {
+                    asb.append(s, map);
+                    if (preserve) {
+                        endLimit = asb.length();
+                    }
+                    initialAttributes = null;
+                }
             }
         }
 
         if (top) {
-            while ((endLimit < asb.length()) && (asb.getLastChar() == ' '))
+            boolean strippedSome = false;
+            while ((endLimit < asb.length()) && (asb.getLastChar() == ' ')) {
                 asb.stripLast();
+                strippedSome = true;
+            }
+            if (strippedSome) {
+                Iterator iter = elemTPI.values().iterator();
+                while (iter.hasNext()) {
+                    TextPaintInfo tpi = (TextPaintInfo)iter.next();
+                    if (tpi.endChar >= asb.length()) {
+                        tpi.endChar = asb.length()-1;
+                        if (tpi.startChar > tpi.endChar)
+                            tpi.startChar = tpi.endChar;
+                    }
+                }
+            }
         }
+        int elementEndChar = asb.length()-1;
+        TextPaintInfo tpi = (TextPaintInfo)elemTPI.get(element);
+        tpi.startChar = elementStartChar;
+        tpi.endChar   = elementEndChar;
     }
 
     /**
@@ -916,7 +1057,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         if (preserve) {
             for (int i = 0; i < s.length(); i++) {
                 char c = s.charAt(i);
-                switch (c) {
+                switch (c) {                // fall-through is intended
                 case 10:
                 case 13:
                 case '\t':
@@ -935,7 +1076,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                 switch (s.charAt(idx)) {
                 default:
                     break loop;
-                case 10:
+                case 10:                   // fall-through is intended
                 case 13:
                 case ' ':
                 case '\t':
@@ -948,10 +1089,10 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         for (int i = idx; i < s.length(); i++) {
             char c = s.charAt(i);
             switch (c) {
-            case 10:
+            case 10:                      // fall-through is intended
             case 13:
                 break;
-            case ' ':
+            case ' ':                     // fall-through is intended
             case '\t':
                 if (!space) {
                     sb.append(' ');
@@ -981,7 +1122,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          * The attributes.
          */
         protected List attributes;
-        
+
         /**
          * The number of items.
          */
@@ -991,7 +1132,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          * The length of the attributed string.
          */
         protected int length;
-        
+
         /**
          * Creates a new empty AttributedStringBuffer.
          */
@@ -1008,7 +1149,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public boolean isEmpty() {
             return count == 0;
         }
-        
+
         /**
          * Returns the length in chars of the current Attributed String
          */
@@ -1020,11 +1161,11 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          * Appends a String and its associated attributes.
          */
         public void append(String s, Map m) {
-          if (s.length() == 0) return;
-          strings.add(s);
-          attributes.add(m);
-          count++;
-          length += s.length();
+            if (s.length() == 0) return;
+            strings.add(s);
+            attributes.add(m);
+            count++;
+            length += s.length();
         }
 
         /**
@@ -1043,7 +1184,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          */
         public void stripFirst() {
             String s = (String)strings.get(0);
-            if (s.charAt(s.length() - 1) != ' ') 
+            if (s.charAt(s.length() - 1) != ' ')
                 return;
 
             length--;
@@ -1063,7 +1204,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          */
         public void stripLast() {
             String s = (String)strings.get(count - 1);
-            if (s.charAt(s.length() - 1) != ' ') 
+            if (s.charAt(s.length() - 1) != ' ')
                 return;
 
             length--;
@@ -1084,13 +1225,13 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public AttributedString toAttributedString() {
             switch (count) {
             case 0:
-                return new AttributedString(" ");
+                return null;
             case 1:
                 return new AttributedString((String)strings.get(0),
                                             (Map)attributes.get(0));
             }
 
-            StringBuffer sb = new StringBuffer();
+            StringBuffer sb = new StringBuffer( strings.size() * 5 );
             Iterator it = strings.iterator();
             while (it.hasNext()) {
                 sb.append((String)it.next());
@@ -1128,7 +1269,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                 return (String)strings.get(0);
             }
 
-            StringBuffer sb = new StringBuffer();
+            StringBuffer sb = new StringBuffer( strings.size() * 5 );
             Iterator it = strings.iterator();
             while (it.hasNext()) {
                 sb.append((String)it.next());
@@ -1144,9 +1285,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         if (node2 == null || node1 == null) {
             return false;
         }
-        Node parent = node2.getParentNode();
+        Node parent = getParentNode(node2);
         while (parent != null && parent != node1) {
-            parent = parent.getParentNode();
+            parent = getParentNode(parent);
         }
         return (parent == node1);
     }
@@ -1170,120 +1311,116 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             return;
         }
 
-        AttributedCharacterIterator aci = as.getIterator();
-
         // calculate which chars in the string belong to this element
-        int firstChar = getElementStartIndex(aci, element);
+        int firstChar = getElementStartIndex(element);
         // No match so no chars to annotate.
         if (firstChar == -1) return;
 
-        int lastChar = getElementEndIndex(aci, element);
+        int lastChar = getElementEndIndex(element);
 
-        // get all of the glyph position attribute values
-        String xAtt      = element.getAttributeNS(null, SVG_X_ATTRIBUTE);
-        String yAtt      = element.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-        String dxAtt     = element.getAttributeNS(null, SVG_DX_ATTRIBUTE);
-        String dyAtt     = element.getAttributeNS(null, SVG_DY_ATTRIBUTE);
-        String rotateAtt = element.getAttributeNS(null, SVG_ROTATE_ATTRIBUTE);
-
-        ArrayList al;
-        int len;
-
-        // process the x attribute
-        if (xAtt.length() != 0) {
-            al = TextUtilities.svgHorizontalCoordinateArrayToUserSpace
-                (element, SVG_X_ATTRIBUTE, xAtt, ctx);
-            len = al.size();
-            for (int i = 0; i < len; i++) {
-                if (firstChar + i <= lastChar) {
-                    as.addAttribute
-                        (GVTAttributedCharacterIterator.TextAttribute.X,
-                         al.get(i), firstChar+i, firstChar+i+1);
-                }
-            }
+        // 'a' elements aren't SVGTextPositioningElements, so don't process
+        // their positioning attributes on them.
+        if (!(element instanceof SVGTextPositioningElement)) {
+            addChildGlyphPositionAttributes(as, element, ctx);
+            return;
         }
 
-
-       // process the y attribute
-        if (yAtt.length() != 0) {
-            al = TextUtilities.svgVerticalCoordinateArrayToUserSpace
-                (element, SVG_Y_ATTRIBUTE, yAtt, ctx);
-            len = al.size();
-
-            for (int i = 0; i < len; i++) {
-                if (firstChar+i <= lastChar) {
-                    as.addAttribute
-                        (GVTAttributedCharacterIterator.TextAttribute.Y,
-                         al.get(i), firstChar+i, firstChar+i+1);
-                }
+        // get all of the glyph position attribute values
+        SVGTextPositioningElement te = (SVGTextPositioningElement) element;
+
+        try {
+            SVGOMAnimatedLengthList _x =
+                (SVGOMAnimatedLengthList) te.getX();
+            _x.check();
+            SVGOMAnimatedLengthList _y =
+                (SVGOMAnimatedLengthList) te.getY();
+            _y.check();
+            SVGOMAnimatedLengthList _dx =
+                (SVGOMAnimatedLengthList) te.getDx();
+            _dx.check();
+            SVGOMAnimatedLengthList _dy =
+                (SVGOMAnimatedLengthList) te.getDy();
+            _dy.check();
+            SVGOMAnimatedNumberList _rotate =
+                (SVGOMAnimatedNumberList) te.getRotate();
+            _rotate.check();
+
+            SVGLengthList xs  = _x.getAnimVal();
+            SVGLengthList ys  = _y.getAnimVal();
+            SVGLengthList dxs = _dx.getAnimVal();
+            SVGLengthList dys = _dy.getAnimVal();
+            SVGNumberList rs  = _rotate.getAnimVal();
+
+            int len;
+
+            // process the x attribute
+            len = xs.getNumberOfItems();
+            for (int i = 0; i < len && firstChar + i <= lastChar; i++) {
+                as.addAttribute
+                    (GVTAttributedCharacterIterator.TextAttribute.X,
+                     new Float(xs.getItem(i).getValue()), firstChar + i,
+                               firstChar + i + 1);
             }
-        }
-
-        // process dx attribute
-        if (dxAtt.length() != 0) {
-            al = TextUtilities.svgHorizontalCoordinateArrayToUserSpace
-                (element, SVG_DX_ATTRIBUTE, dxAtt, ctx);
-            len = al.size();
 
-            for (int i = 0; i < len; i++) {
-                if (firstChar+i <= lastChar) {
-                    as.addAttribute
-                        (GVTAttributedCharacterIterator.TextAttribute.DX,
-                         al.get(i), firstChar+i, firstChar+i+1);
-                }
+            // process the y attribute
+            len = ys.getNumberOfItems();
+            for (int i = 0; i < len && firstChar + i <= lastChar; i++) {
+                as.addAttribute
+                    (GVTAttributedCharacterIterator.TextAttribute.Y,
+                     new Float(ys.getItem(i).getValue()), firstChar + i,
+                               firstChar + i + 1);
             }
-        }
 
-        // process dy attribute
-        if (dyAtt.length() != 0) {
-            al = TextUtilities.svgVerticalCoordinateArrayToUserSpace
-                (element, SVG_DY_ATTRIBUTE, dyAtt, ctx);
-            len = al.size();
-
-            for (int i = 0; i < len; i++) {
-                if (firstChar+i <= lastChar) {
-                    as.addAttribute
-                        (GVTAttributedCharacterIterator.TextAttribute.DY,
-                         al.get(i), firstChar+i, firstChar+i+1);
-                }
+            // process dx attribute
+            len = dxs.getNumberOfItems();
+            for (int i = 0; i < len && firstChar + i <= lastChar; i++) {
+                as.addAttribute
+                    (GVTAttributedCharacterIterator.TextAttribute.DX,
+                     new Float(dxs.getItem(i).getValue()), firstChar + i,
+                               firstChar + i + 1);
             }
-        }
 
-        // process rotate attribute
-        if (rotateAtt.length() != 0) {
-            al = TextUtilities.svgRotateArrayToFloats
-                (element, SVG_ROTATE_ATTRIBUTE, rotateAtt, ctx);
-            len = al.size();
+            // process dy attribute
+            len = dys.getNumberOfItems();
+            for (int i = 0; i < len && firstChar + i <= lastChar; i++) {
+                as.addAttribute
+                    (GVTAttributedCharacterIterator.TextAttribute.DY,
+                     new Float(dys.getItem(i).getValue()), firstChar + i,
+                               firstChar + i + 1);
+            }
 
+            // process rotate attribute
+            len = rs.getNumberOfItems();
             if (len == 1) {  // not a list
                 // each char will have the same rotate value
+                Float rad = new Float(Math.toRadians(rs.getItem(0).getValue()));
                 as.addAttribute
                     (GVTAttributedCharacterIterator.TextAttribute.ROTATION,
-                     al.get(0), firstChar, lastChar + 1);
+                     rad, firstChar, lastChar + 1);
 
-            } else {  // its a list
+            } else if (len > 1) {  // it's a list
                 // set each rotate value from the list
-                for (int i = 0; i < len; i++) {
-                    if (firstChar+i <= lastChar) {
-                        as.addAttribute
-                            (GVTAttributedCharacterIterator.
-                             TextAttribute.ROTATION,
-                             al.get(i), firstChar+i, firstChar+i+1);
-                    }
+                for (int i = 0; i < len && firstChar + i <= lastChar; i++) {
+                    Float rad = new Float(Math.toRadians(rs.getItem(i).getValue()));
+                    as.addAttribute
+                        (GVTAttributedCharacterIterator.TextAttribute.ROTATION,
+                         rad, firstChar + i, firstChar + i + 1);
                 }
             }
-        }
 
-        addChildGlyphPositionAttributes(as, element, ctx);
+            addChildGlyphPositionAttributes(as, element, ctx);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
     }
 
     protected void addChildGlyphPositionAttributes(AttributedString as,
                                                    Element element,
                                                    BridgeContext ctx) {
         // do the same for each child element
-        for (Node child = element.getFirstChild();
+        for (Node child = getFirstChild(element);
              child != null;
-             child = child.getNextSibling()) {
+             child = getNextSibling(child)) {
             if (child.getNodeType() != Node.ELEMENT_NODE) continue;
 
             Element childElement = (Element)child;
@@ -1307,8 +1444,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             return;
         }
         Object o = elemTPI.get(element);
-        if (o == null) return;
-        node.swapTextPaintInfo(pi, (TextPaintInfo)o);
+        if (o != null) {
+            node.swapTextPaintInfo(pi, (TextPaintInfo)o);
+        }
         addChildPaintAttributes(as, element, node, pi, ctx);
     }
 
@@ -1318,9 +1456,9 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                                            TextPaintInfo parentPI,
                                            BridgeContext ctx) {
         // Add Paint attributres for children of text element
-        for (Node child = element.getFirstChild();
+        for (Node child = getFirstChild(element);
              child != null;
-             child = child.getNextSibling()) {
+             child = getNextSibling(child)) {
             if (child.getNodeType() != Node.ELEMENT_NODE) {
                 continue;
             }
@@ -1333,71 +1471,150 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         }
     }
 
-    protected Map getFontProperties(BridgeContext ctx, Element element, 
-                                    Map map) {
-        if (map == null) map = new HashMap(4);
+    /**
+     * This method adds all the font related properties to <tt>result</tt>
+     * It also builds a List of the GVTFonts and returns it.
+     */
+    protected List getFontList(BridgeContext ctx,
+                               Element       element,
+                               Map           result) {
 
-        // Needed for SVG fonts.
-        map.put(TEXT_COMPOUND_DELIMITER, element);
+        // Unique value for text element - used for run identification.
+        result.put(TEXT_COMPOUND_ID, new SoftReference(element));
 
+        Float fsFloat = TextUtilities.convertFontSize(element);
+        float fontSize = fsFloat.floatValue();
         // Font size.
-        map.put(TextAttribute.SIZE, TextUtilities.convertFontSize(element));
+        result.put(TextAttribute.SIZE, fsFloat);
 
         // Font stretch
-        map.put(TextAttribute.WIDTH, TextUtilities.convertFontStretch(element));
+        result.put(TextAttribute.WIDTH,
+                TextUtilities.convertFontStretch(element));
+
+        // Font style
+        result.put(TextAttribute.POSTURE,
+                TextUtilities.convertFontStyle(element));
 
         // Font weight
-        map.put(TextAttribute.WEIGHT, TextUtilities.convertFontWeight(element));
+        result.put(TextAttribute.WEIGHT,
+                TextUtilities.convertFontWeight(element));
+
+        // Font weight
+        Value v = CSSUtilities.getComputedStyle
+            (element, SVGCSSEngine.FONT_WEIGHT_INDEX);
+        String fontWeightString = v.getCssText();
 
         // Font style
-        map.put(TextAttribute.POSTURE, TextUtilities.convertFontStyle(element));
+        String fontStyleString = CSSUtilities.getComputedStyle
+            (element, SVGCSSEngine.FONT_STYLE_INDEX).getStringValue();
+
+        // Needed for SVG fonts (also for dynamic documents).
+        result.put(TEXT_COMPOUND_DELIMITER, element);
+
+        //  make a list of GVTFont objects
+        Value val = CSSUtilities.getComputedStyle
+            (element, SVGCSSEngine.FONT_FAMILY_INDEX);
+        List fontFamilyList = new ArrayList();
+        List fontList = new ArrayList();
+        int len = val.getLength();
+        for (int i = 0; i < len; i++) {
+            Value it = val.item(i);
+            String fontFamilyName = it.getStringValue();
+            GVTFontFamily fontFamily;
+            fontFamily = SVGFontUtilities.getFontFamily
+                (element, ctx, fontFamilyName,
+                 fontWeightString, fontStyleString);
+            if (fontFamily == null) continue;
+            if (fontFamily instanceof UnresolvedFontFamily) {
+                fontFamily = FontFamilyResolver.resolve
+                    ((UnresolvedFontFamily)fontFamily);
+                if (fontFamily == null) continue;
+            }
+            fontFamilyList.add(fontFamily);
+            if (fontFamily instanceof SVGFontFamily) {
+                SVGFontFamily svgFF = (SVGFontFamily)fontFamily;
+                if (svgFF.isComplex()) {
+                    usingComplexSVGFont = true;
+                }
+            }
+            GVTFont ft = fontFamily.deriveFont(fontSize, result);
+            fontList.add(ft);
+        }
+
+        // Eventually this will need to go for SVG fonts it
+        // holds hard ref to DOM.
+        result.put(GVT_FONT_FAMILIES, fontFamilyList);
 
-        return map;
+        if (!ctx.isDynamic()) {
+            // Only leave this in the map for dynamic documents.
+            // Otherwise it will cause the whole DOM to stay when
+            // we don't really need it.
+            result.remove(TEXT_COMPOUND_DELIMITER);
+        }
+        return fontList;
     }
 
     /**
      * Returns the map to pass to the current characters.
+     *
+     * @param ctx the BridgeContext to use for throwing exceptions
+     * @param element the text element whose attributes are being collected
+     * @param textPath the text path that the characters of <code>element</code>
+     *     will be placed along
+     * @param bidiLevel the bidi level of <code>element</code>
+     * @param result a Map into which the attributes of <code>element</code>'s
+     *     characters will be stored
+     * @return a new Map that contains the attributes that must be inherited
+     *     into a child element if the given element has no characters before
+     *     the child element
      */
     protected Map getAttributeMap(BridgeContext ctx,
                                   Element element,
                                   TextPath textPath,
-                                  Integer bidiLevel) {
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, element);
+                                  Integer bidiLevel,
+                                  Map result) {
+        SVGTextContentElement tce = null;
+        if (element instanceof SVGTextContentElement) {
+            // 'a' elements aren't SVGTextContentElements, so they shouldn't
+            // be checked for 'textLength' or 'lengthAdjust' attributes.
+            tce = (SVGTextContentElement) element;
+        }
 
-        Map result = new HashMap();
+        Map inheritMap = null;
         String s;
-        float f;
-        
+
         if (SVG_NAMESPACE_URI.equals(element.getNamespaceURI()) &&
             element.getLocalName().equals(SVG_ALT_GLYPH_TAG)) {
-            result.put(ALT_GLYPH_HANDLER, 
+            result.put(ALT_GLYPH_HANDLER,
                        new SVGAltGlyphHandler(ctx, element));
         }
 
+        // Add null TPI objects to the text (after we set it on the
+        // Text we will swap in the correct values.
+        TextPaintInfo pi = new TextPaintInfo();
+        // Set some basic props so we can get bounds info for complex paints.
+        pi.visible   = true;
+        pi.fillPaint = Color.black;
+        result.put(PAINT_INFO, pi);
+        elemTPI.put(element, pi);
+
         if (textPath != null) {
-            result.put(GVTAttributedCharacterIterator.TextAttribute.TEXTPATH,
-                       textPath);
+            result.put(TEXTPATH, textPath);
         }
 
         // Text-anchor
         TextNode.Anchor a = TextUtilities.convertTextAnchor(element);
-        result.put(GVTAttributedCharacterIterator.TextAttribute.ANCHOR_TYPE,
-                   a);
-
-        // get font size/width/weight/posture properties
-        getFontProperties(ctx, element, result);
+        result.put(ANCHOR_TYPE, a);
 
         // Font family
-        List fontFamilyList = getFontFamilyList(element, ctx);
-        result.put
-            (GVTAttributedCharacterIterator.TextAttribute.GVT_FONT_FAMILIES,
-             fontFamilyList);
+        List fontList = getFontList(ctx, element, result);
+        result.put(GVT_FONTS, fontList);
+
 
         // Text baseline adjustment.
         Object bs = TextUtilities.convertBaselineShift(element);
         if (bs != null) {
-            result.put(GVTAttributedCharacterIterator.
-                       TextAttribute.BASELINE_SHIFT, bs);
+            result.put(BASELINE_SHIFT, bs);
         }
 
         // Unicode-bidi mode
@@ -1422,35 +1639,35 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             val = CSSUtilities.getComputedStyle
                 (element, SVGCSSEngine.DIRECTION_INDEX);
             String rs = val.getStringValue();
-	    int cbidi = 0;
-	    if (bidiLevel != null) cbidi = bidiLevel.intValue();
+            int cbidi = 0;
+            if (bidiLevel != null) cbidi = bidiLevel.intValue();
 
-	    // We don't care if it was embed or override we just want
-	    // it's level here. So map override to positive value.
-	    if (cbidi < 0) cbidi = -cbidi;
+            // We don't care if it was embed or override we just want
+            // it's level here. So map override to positive value.
+            if (cbidi < 0) cbidi = -cbidi;
 
             switch (rs.charAt(0)) {
             case 'l':
                 result.put(TextAttribute.RUN_DIRECTION,
                            TextAttribute.RUN_DIRECTION_LTR);
-		if ((cbidi & 0x1) == 1) cbidi++; // was odd now even
-		else                    cbidi+=2; // next greater even number
+                if ((cbidi & 0x1) == 1) cbidi++; // was odd now even
+                else                    cbidi+=2; // next greater even number
                 break;
             case 'r':
                 result.put(TextAttribute.RUN_DIRECTION,
                            TextAttribute.RUN_DIRECTION_RTL);
-		if ((cbidi & 0x1) == 1) cbidi+=2; // next greater odd number
-		else                    cbidi++; // was even now odd
+                if ((cbidi & 0x1) == 1) cbidi+=2; // next greater odd number
+                else                    cbidi++; // was even now odd
                 break;
-	    }
-	    
-	    switch (s.charAt(0)) {
-	    case 'b': // bidi-override
-		cbidi = -cbidi; // For bidi-override we want a negative number.
-		break;
-	    }
+            }
+
+            switch (s.charAt(0)) {
+            case 'b': // bidi-override
+                cbidi = -cbidi; // For bidi-override we want a negative number.
+                break;
+            }
 
-	    result.put(TextAttribute.BIDI_EMBEDDING, new Integer(cbidi));
+            result.put(TextAttribute.BIDI_EMBEDDING, new Integer(cbidi));
         }
 
         // Writing mode
@@ -1483,7 +1700,8 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
 
         val = CSSUtilities.getComputedStyle
             (element, SVGCSSEngine.GLYPH_ORIENTATION_VERTICAL_INDEX);
-        switch (val.getPrimitiveType()) {
+        int primitiveType = val.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_IDENT: // auto
             result.put(GVTAttributedCharacterIterator.
                        TextAttribute.VERTICAL_ORIENTATION,
@@ -1506,7 +1724,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                        TextAttribute.ORIENTATION_ANGLE);
             result.put(GVTAttributedCharacterIterator.
                        TextAttribute.VERTICAL_ORIENTATION_ANGLE,
-                       new Float(val.getFloatValue() * 180 / Math.PI));
+                       new Float( Math.toDegrees( val.getFloatValue() ) ));
             break;
         case CSSPrimitiveValue.CSS_GRAD:
             result.put(GVTAttributedCharacterIterator.
@@ -1519,14 +1737,15 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             break;
         default:
             // Cannot happen
-            throw new InternalError();
+            throw new IllegalStateException("unexpected primitiveType (V):" + primitiveType );
         }
 
         // glyph-orientation-horizontal
 
         val = CSSUtilities.getComputedStyle
             (element, SVGCSSEngine.GLYPH_ORIENTATION_HORIZONTAL_INDEX);
-        switch (val.getPrimitiveType()) {
+        primitiveType = val.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_DEG:
             result.put(GVTAttributedCharacterIterator.
                        TextAttribute.HORIZONTAL_ORIENTATION_ANGLE,
@@ -1535,7 +1754,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         case CSSPrimitiveValue.CSS_RAD:
             result.put(GVTAttributedCharacterIterator.
                        TextAttribute.HORIZONTAL_ORIENTATION_ANGLE,
-                       new Float(val.getFloatValue() * 180 / Math.PI));
+                       new Float( Math.toDegrees( val.getFloatValue() ) ));
             break;
         case CSSPrimitiveValue.CSS_GRAD:
             result.put(GVTAttributedCharacterIterator.
@@ -1544,7 +1763,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             break;
         default:
             // Cannot happen
-            throw new InternalError();
+            throw new IllegalStateException("unexpected primitiveType (H):" + primitiveType );
         }
 
         // text spacing properties...
@@ -1581,105 +1800,81 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
                        Boolean.TRUE);
         }
 
-        // textLength
-        s = element.getAttributeNS(null, SVG_TEXT_LENGTH_ATTRIBUTE);
-        if (s.length() != 0) {
-            f = UnitProcessor.svgOtherLengthToUserSpace
-                (s, SVG_TEXT_LENGTH_ATTRIBUTE, uctx);
-            result.put(GVTAttributedCharacterIterator.TextAttribute.BBOX_WIDTH,
-                       new Float(f));
-
-            // lengthAdjust
-            s = element.getAttributeNS(null, SVG_LENGTH_ADJUST_ATTRIBUTE);
-
-            if (s.length() < 10) {
-                result.put(GVTAttributedCharacterIterator.
-                           TextAttribute.LENGTH_ADJUST,
-                           GVTAttributedCharacterIterator.
-                           TextAttribute.ADJUST_SPACING);
-                result.put(GVTAttributedCharacterIterator.
-                           TextAttribute.CUSTOM_SPACING,
-                           Boolean.TRUE);
-            } else {
-                result.put(GVTAttributedCharacterIterator.
-                           TextAttribute.LENGTH_ADJUST,
-                           GVTAttributedCharacterIterator.
-                           TextAttribute.ADJUST_ALL);
-            }
+        if (tce == null) {
+            return inheritMap;
         }
 
-        return result;
-    }
-
-
-    protected List getFontFamilyList(Element element, BridgeContext ctx) {
-        // Font weight
-        Value v = CSSUtilities.getComputedStyle
-            (element, SVGCSSEngine.FONT_WEIGHT_INDEX);
-        String fontWeightString = v.getCssText();
-
-        // Font style
-        String fontStyleString = CSSUtilities.getComputedStyle
-            (element, SVGCSSEngine.FONT_STYLE_INDEX).getStringValue();
+        try {
+            // textLength
+            AbstractSVGAnimatedLength textLength =
+                (AbstractSVGAnimatedLength) tce.getTextLength();
+            if (textLength.isSpecified()) {
+                if (inheritMap == null) {
+                    inheritMap = new HashMap();
+                }
 
-        Value val = CSSUtilities.getComputedStyle
-            (element, SVGCSSEngine.FONT_FAMILY_INDEX);
-        //  make a list of GVTFontFamily objects
-        List fontFamilyList = new ArrayList();
-        int len = val.getLength();
-        for (int i = 0; i < len; i++) {
-            Value it = val.item(i);
-            String fontFamilyName = it.getStringValue();
-            GVTFontFamily fontFamily
-                = SVGFontUtilities.getFontFamily(element, ctx, fontFamilyName,
-                                                 fontWeightString, 
-                                                 fontStyleString);
-            if (fontFamily instanceof SVGFontFamily) {
-                SVGFontFamily svgFF = (SVGFontFamily)fontFamily;
-                if (svgFF.isComplex()) {
-                    usingComplexSVGFont = true;
+                Object value = new Float(textLength.getCheckedValue());
+                result.put
+                    (GVTAttributedCharacterIterator.TextAttribute.BBOX_WIDTH,
+                     value);
+                inheritMap.put
+                    (GVTAttributedCharacterIterator.TextAttribute.BBOX_WIDTH,
+                     value);
+
+                // lengthAdjust
+                SVGOMAnimatedEnumeration _lengthAdjust =
+                    (SVGOMAnimatedEnumeration) tce.getLengthAdjust();
+                if (_lengthAdjust.getCheckedVal() ==
+                        SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS) {
+                    result.put(GVTAttributedCharacterIterator.
+                               TextAttribute.LENGTH_ADJUST,
+                               GVTAttributedCharacterIterator.
+                               TextAttribute.ADJUST_ALL);
+                    inheritMap.put(GVTAttributedCharacterIterator.
+                                   TextAttribute.LENGTH_ADJUST,
+                                   GVTAttributedCharacterIterator.
+                                   TextAttribute.ADJUST_ALL);
+                } else {
+                    result.put(GVTAttributedCharacterIterator.
+                               TextAttribute.LENGTH_ADJUST,
+                               GVTAttributedCharacterIterator.
+                               TextAttribute.ADJUST_SPACING);
+                    inheritMap.put(GVTAttributedCharacterIterator.
+                                   TextAttribute.LENGTH_ADJUST,
+                                   GVTAttributedCharacterIterator.
+                                   TextAttribute.ADJUST_SPACING);
+                    result.put(GVTAttributedCharacterIterator.
+                               TextAttribute.CUSTOM_SPACING,
+                               Boolean.TRUE);
+                    inheritMap.put(GVTAttributedCharacterIterator.
+                                   TextAttribute.CUSTOM_SPACING,
+                                   Boolean.TRUE);
                 }
             }
-            fontFamilyList.add(fontFamily);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-        return fontFamilyList;
+
+        return inheritMap;
     }
 
+
     /**
      * Retrieve in the AttributeString the closest parent
      * of the node 'child' and extract the text decorations
      * of the parent.
      *
-     * @param aci an <code>AttributedCharacterIterator</code> value
      * @param child an <code>Element</code> value
      * @return a <code>TextDecoration</code> value
      */
-    protected TextPaintInfo getParentTextPaintInfo
-        (AttributedCharacterIterator aci, Element child) {
-        Element parent = null;
-
-        // calculate which chars in the string belong to the parent
-        int firstChar = -1;
-        for (int i = 0; i < aci.getEndIndex();) {
-            aci.setIndex(i);
-            Element delimeter;
-            delimeter = (Element)aci.getAttribute(TEXT_COMPOUND_DELIMITER);
-            if (nodeAncestorOf(delimeter,child) &&
-                ((parent == null) || nodeAncestorOf(parent, delimeter))) {
-                parent = delimeter;
-                firstChar = i;
-            }
-            if (delimeter == child || nodeAncestorOf(child, delimeter)) {
-                break;
-            }
-            i = aci.getRunLimit(TEXT_COMPOUND_DELIMITER);
+    protected TextPaintInfo getParentTextPaintInfo(Element child) {
+        Node parent = getParentNode(child);
+        while (parent != null) {
+            TextPaintInfo tpi = (TextPaintInfo)elemTPI.get(parent);
+            if (tpi != null) return tpi;
+            parent = getParentNode(parent);
         }
-
-        if ( parent == null)
-            return new TextPaintInfo(); //no parent
-
-        aci.setIndex(firstChar);
-        return (TextPaintInfo)aci.getAttribute(PAINT_INFO);
+        return null;
     }
 
     /**
@@ -1689,13 +1884,13 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      */
     protected TextPaintInfo getTextPaintInfo(Element element,
                                              GraphicsNode node,
-                                             TextPaintInfo parent,
+                                             TextPaintInfo parentTPI,
                                              BridgeContext ctx) {
         // Force the engine to update stuff..
-        Value val = CSSUtilities.getComputedStyle
+        CSSUtilities.getComputedStyle
             (element, SVGCSSEngine.TEXT_DECORATION_INDEX);
 
-        TextPaintInfo pi = new TextPaintInfo(parent);
+        TextPaintInfo pi = new TextPaintInfo(parentTPI);
 
         // Was text-decoration explicity set on this element?
         StyleMap sm = ((CSSStylableElement)element).getComputedStyleMap(null);
@@ -1783,11 +1978,11 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             pi.underlinePaint = null;
             pi.underlineStrokePaint = null;
             pi.underlineStroke = null;
-            
+
             pi.overlinePaint = null;
             pi.overlineStrokePaint = null;
             pi.overlineStroke = null;
-            
+
             pi.strikethroughPaint = null;
             pi.strikethroughStrokePaint = null;
             pi.strikethroughStroke = null;
@@ -1796,21 +1991,15 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     }
 
     /**
-     * Implementation of <ode>SVGContext</code> for
+     * Implementation of <code>SVGContext</code> for
      * the children of &lt;text&gt;
      */
-    public abstract class AbstractTextChildSVGContext 
-        implements SVGContext {
-
-        /** Bridge Context */
-        protected BridgeContext ctx;
+    public abstract class AbstractTextChildSVGContext
+            extends AnimatableSVGBridge {
 
         /** Text bridge parent */
         protected SVGTextElementBridge textBridge;
 
-        /** Element */
-        protected Element e;
-
         /**
          * Initialize the <code>SVGContext</code> implementation
          * with the bridgeContext, the parent bridge, and the
@@ -1824,8 +2013,31 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
             this.e = e;
         }
 
+        /**
+         * Returns the namespace URI of the element this <tt>Bridge</tt> is
+         * dedicated to.
+         */
+        public String getNamespaceURI() {
+            return null;
+        }
+
+        /**
+         * Returns the local name of the element this <tt>Bridge</tt> is dedicated
+         * to.
+         */
+        public String getLocalName() {
+            return null;
+        }
+
+        /**
+         * Returns a new instance of this bridge.
+         */
+        public Bridge getInstance() {
+            return null;
+        }
+
         public SVGTextElementBridge getTextBridge() { return textBridge; }
-        
+
         /**
          * Returns the size of a px CSS unit in millimeters.
          */
@@ -1840,7 +2052,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          */
         public float getPixelToMM() {
             return getPixelUnitToMillimeter();
-            
+
         }
         /**
          * Returns the tight bounding box in current user space (i.e.,
@@ -1899,7 +2111,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public float getViewportWidth() {
             return ctx.getBlockWidth(e);
         }
-        
+
         /**
          * Returns the height of the viewport which directly contains the
          * given element.
@@ -1907,7 +2119,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public float getViewportHeight() {
             return ctx.getBlockHeight(e);
         }
-        
+
         /**
          * Returns the font-size on the associated element.
          */
@@ -1927,19 +2139,20 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
      * <code>SVGTextElementBridge</code> which can determine
      * the impact of a change of one of its children for the others.
      */
-    protected abstract class AbstractTextChildBridgeUpdateHandler 
+    protected abstract class AbstractTextChildBridgeUpdateHandler
         extends AbstractTextChildSVGContext implements BridgeUpdateHandler {
 
         /**
          * Initialize the BridgeUpdateHandler implementation.
          */
-        public AbstractTextChildBridgeUpdateHandler
+        protected AbstractTextChildBridgeUpdateHandler
             (BridgeContext ctx,
              SVGTextElementBridge parent,
              Element e) {
 
             super(ctx,parent,e);
         }
+
         /**
          * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
          */
@@ -1958,12 +2171,10 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
          * Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
          */
         public void handleDOMNodeRemovedEvent(MutationEvent evt) {
-            //nothing to do
-            dispose();
         }
 
         /**
-         * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+         * Invoked when an MutationEvent of type 'DOMCharacterDataModified'
          * is fired.
          */
         public void handleDOMCharacterDataModified(MutationEvent evt) {
@@ -1978,6 +2189,20 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         }
 
         /**
+         * Invoked when the animated value of an animatable attribute has
+         * changed.
+         */
+        public void handleAnimatedAttributeChanged
+                (AnimatedLiveAttributeValue alav) {
+        }
+
+        /**
+         * Invoked when an 'other' animation value has changed.
+         */
+        public void handleOtherAnimationChanged(String type) {
+        }
+
+        /**
          * Disposes this BridgeUpdateHandler and releases all resources.
          */
         public void dispose(){
@@ -1986,14 +2211,14 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         }
     }
 
-    protected class AbstractTextChildTextContent 
+    protected class AbstractTextChildTextContent
         extends AbstractTextChildBridgeUpdateHandler
-        implements SVGTextContent{
+        implements SVGTextContent {
 
         /**
          * Initialize the AbstractTextChildBridgeUpdateHandler implementation.
          */
-        public AbstractTextChildTextContent
+        protected AbstractTextChildTextContent
             (BridgeContext ctx,
              SVGTextElementBridge parent,
              Element e) {
@@ -2006,7 +2231,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public int getNumberOfChars(){
             return textBridge.getNumberOfChars(e);
         }
-        
+
         public Rectangle2D getExtentOfChar(int charnum ){
             return textBridge.getExtentOfChar(e,charnum);
         }
@@ -2030,7 +2255,7 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
         public float getComputedTextLength(){
             return textBridge.getComputedTextLength(e);
         }
-        
+
         public float getSubStringLength(int charnum, int nchars){
             return textBridge.getSubStringLength(e,charnum,nchars);
         }
@@ -2043,40 +2268,47 @@ public class SVGTextElementBridge extends AbstractGraphicsNodeBridge
     /**
      * BridgeUpdateHandle for &lt;tref&gt; element.
      */
-    protected class TRefBridge 
+    protected class TRefBridge
         extends AbstractTextChildTextContent {
 
-        public TRefBridge(BridgeContext ctx,
+        protected TRefBridge(BridgeContext ctx,
                           SVGTextElementBridge parent,
                           Element e) {
             super(ctx,parent,e);
         }
 
         /**
-         * Handle the dynamic update for the attributes of 
-         * &lt;tspan&gt; : 'x', 'y', 'dx', 'dy' and 'rotate'.
+         * Invoked when the animated value of an animatable attribute has
+         * changed on a 'tref' element.
          */
-        public void handleDOMAttrModifiedEvent(MutationEvent evt){
-            String attrName = evt.getAttrName();
-            if (attrName.equals(SVG_X_ATTRIBUTE) ||
-                attrName.equals(SVG_Y_ATTRIBUTE) ||
-                attrName.equals(SVG_DX_ATTRIBUTE) ||
-                attrName.equals(SVG_DY_ATTRIBUTE) ||
-                attrName.equals(SVG_ROTATE_ATTRIBUTE)) {
-                //recompute the layout of the text node
-                textBridge.computeLaidoutText(ctx, textBridge.e, 
-                                               textBridge.node);
+        public void handleAnimatedAttributeChanged
+                (AnimatedLiveAttributeValue alav) {
+            if (alav.getNamespaceURI() == null) {
+                String ln = alav.getLocalName();
+                if (ln.equals(SVG_X_ATTRIBUTE)
+                        || ln.equals(SVG_Y_ATTRIBUTE)
+                        || ln.equals(SVG_DX_ATTRIBUTE)
+                        || ln.equals(SVG_DY_ATTRIBUTE)
+                        || ln.equals(SVG_ROTATE_ATTRIBUTE)
+                        || ln.equals(SVG_TEXT_LENGTH_ATTRIBUTE)
+                        || ln.equals(SVG_LENGTH_ADJUST_ATTRIBUTE)) {
+                    // Recompute the layout of the text node.
+                    textBridge.computeLaidoutText(ctx, textBridge.e,
+                                                  textBridge.getTextNode());
+                    return;
+                }
             }
-        }        
+            super.handleAnimatedAttributeChanged(alav);
+        }
     }
 
     /**
      * BridgeUpdateHandle for &lt;textP

<TRUNCATED>

[37/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/StyleRule.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/StyleRule.java b/modules/compiler/src/java/flash/css/StyleRule.java
index d3510f5..1bd5664 100644
--- a/modules/compiler/src/java/flash/css/StyleRule.java
+++ b/modules/compiler/src/java/flash/css/StyleRule.java
@@ -19,7 +19,7 @@
 
 package flash.css;
 
-import org.w3c.flex.forks.css.sac.SelectorList;
+import org.w3c.css.sac.SelectorList;
 
 /**
  * Represents a CSS style rule.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/svg/SpriteTranscoder.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/svg/SpriteTranscoder.java b/modules/compiler/src/java/flash/svg/SpriteTranscoder.java
index 24bd13d..d48e43f 100644
--- a/modules/compiler/src/java/flash/svg/SpriteTranscoder.java
+++ b/modules/compiler/src/java/flash/svg/SpriteTranscoder.java
@@ -1,22 +1,22 @@
 /* this file based on Batik's ImageTranscoder class, which is ... */
 
 /*
- *
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
  */
 
 package flash.svg;
@@ -44,7 +44,8 @@ import org.apache.flex.forks.batik.gvt.text.Mark;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.DOMImplementation;
-import org.w3c.flex.forks.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGDocument;
 
 import java.awt.Dimension;
 import java.awt.Cursor;
@@ -559,6 +560,11 @@ public class SpriteTranscoder extends XMLAbstractTranscoder
 				scripts.addElement(st.nextToken());
 			}
 		}
+		
+		public SVGDocument getBrokenLinkDocument(Element e, String url, String message)
+		{
+			return null;
+		}
 
 	}
 
@@ -572,7 +578,7 @@ public class SpriteTranscoder extends XMLAbstractTranscoder
 	static
 	{
 		FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_FEATURE);
-		FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_LANG_FEATURE);
+		//FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_LANG_FEATURE);
 		FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_STATIC_FEATURE);
 	}
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flex2/compiler/css/StyleDef.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flex2/compiler/css/StyleDef.java b/modules/compiler/src/java/flex2/compiler/css/StyleDef.java
index 5fd6717..7b77f46 100644
--- a/modules/compiler/src/java/flex2/compiler/css/StyleDef.java
+++ b/modules/compiler/src/java/flex2/compiler/css/StyleDef.java
@@ -46,7 +46,7 @@ import java.util.Map.Entry;
 
 import macromedia.asc.util.ContextStatics;
 
-import org.w3c.flex.forks.css.sac.LexicalUnit;
+import org.w3c.css.sac.LexicalUnit;
 
 /**
  * A helper class to aggregate style declarations for a particular subject

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flex2/compiler/css/StyleModule.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flex2/compiler/css/StyleModule.java b/modules/compiler/src/java/flex2/compiler/css/StyleModule.java
index bf7c770..4ae70f4 100644
--- a/modules/compiler/src/java/flex2/compiler/css/StyleModule.java
+++ b/modules/compiler/src/java/flex2/compiler/css/StyleModule.java
@@ -46,15 +46,15 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.flex.forks.batik.css.parser.AbstractSelector;
-import org.w3c.flex.forks.css.sac.AttributeCondition;
-import org.w3c.flex.forks.css.sac.CombinatorCondition;
-import org.w3c.flex.forks.css.sac.Condition;
-import org.w3c.flex.forks.css.sac.ConditionalSelector;
-import org.w3c.flex.forks.css.sac.DescendantSelector;
-import org.w3c.flex.forks.css.sac.ElementSelector;
-import org.w3c.flex.forks.css.sac.Selector;
-import org.w3c.flex.forks.css.sac.SelectorList;
-import org.w3c.flex.forks.css.sac.SimpleSelector;
+import org.w3c.css.sac.AttributeCondition;
+import org.w3c.css.sac.CombinatorCondition;
+import org.w3c.css.sac.Condition;
+import org.w3c.css.sac.ConditionalSelector;
+import org.w3c.css.sac.DescendantSelector;
+import org.w3c.css.sac.ElementSelector;
+import org.w3c.css.sac.Selector;
+import org.w3c.css.sac.SelectorList;
+import org.w3c.css.sac.SimpleSelector;
 
 import macromedia.asc.util.ContextStatics;
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/downloads.xml
----------------------------------------------------------------------
diff --git a/modules/downloads.xml b/modules/downloads.xml
index 31288cc..e097563 100644
--- a/modules/downloads.xml
+++ b/modules/downloads.xml
@@ -38,7 +38,7 @@
 
 	<property name="download.dir" value="${FLEX_HOME}/in"/>
 
-    <property name="batik.zip.dir" value="batik-1.6"/>
+    <property name="batik.zip.dir" value="batik-1.7"/>
     <property name="batik.dir" value="thirdparty/batik"/>
     <property name="velocity.zip.dir" value="velocity-1.4"/>
     <property name="velocity.dir" value="thirdparty/velocity"/>
@@ -105,8 +105,13 @@
             </fileset>
         </delete>
 
-        <delete dir="${lib.ext.dir}" failonerror="false"/>
-        <delete dir="${lib.opt.dir}" failonerror="false"/>
+        <delete includeEmptyDirs="true" failonerror="false">
+            <fileset dir="${lib.ext.dir}">
+                <include name="*/**"/>
+                <!-- don't delete optional dir since this file doesn't populate it -->
+                <exclude name="optional/**"/>
+            </fileset>
+        </delete>
     </target>
     
     <!--
@@ -133,8 +138,9 @@
         description="Downloads tar/zip, and optionally verifies checksum and copies extracted jar.">                
         
         <mkdir dir="${download.dir}"/>        
-    	
-        <get src="${srcUrl}/${zipFile}" dest="${download.dir}/${zipFile}"/>
+
+        <available file="${download.dir}/${zipFile}" property="zip.exists"/>
+        <antcall target="get-zip"/>
 
         <condition property="zip.compressed">
             <matches string="${zipFile}" pattern="^*.zip$"/>      
@@ -143,10 +149,6 @@
         <antcall target="untar-file"/>
         <antcall target="unzip-file"/>
         
-        <antcall target="check-sum">
-            <param name="message" value="Checksum mismatch for ${download.dir}/${zipFile}"/>
-        </antcall>
-        
         <condition property="destination.known">
             <and>
                 <isset property="srcJarPath"/>
@@ -156,6 +158,14 @@
         <antcall target="copy-downloaded-jar"/>
      </target>   	
      
+    <target name="get-zip" unless="zip.exists" description="Get zip and verify checksum.">
+        <get src="${srcUrl}/${zipFile}" dest="${download.dir}/${zipFile}"/>
+        
+        <antcall target="check-sum">
+            <param name="message" value="Checksum mismatch for ${download.dir}/${zipFile}"/>
+        </antcall>
+    </target>
+    
     <!--
         Download a jar file and optionally verify the checksum.
         If the checksum fails, this script fails.
@@ -195,10 +205,15 @@
 		</sequential>
 	</macrodef>	
 
-    <target name="check-sum" if="md5" 
+    <target name="check-sum" if="md5"
         description="Verifies MD5 checksum, and fails if checksum doesn't match">
         
-        <checksum file="${download.dir}/${zipFile}" algorithm="MD5" property="${we.failed}"/>
+        <checksum file="${download.dir}/${zipFile}" algorithm="MD5" property="${md5}" verifyProperty="isMD5ok"/>
+
+        <condition property="we.failed">
+            <isfalse value="${isMD5ok}"/>
+        </condition>
+        
         <antcall target="fail-with-message">
             <param name="message" value="${message}"/>
         </antcall>
@@ -218,59 +233,60 @@
         batik - SVG toolkit - need the jars for our forked version
     -->
     
-    <target name="batik-zip-check" description="Checks if batik expanded zip exists.">
-    	<condition property="batik.zip.exists">
-            <and>
-    	        <available file="${download.dir}/${batik.zip.dir}/lib/js.jar"/>
-    	        <available file="${download.dir}/${batik.zip.dir}/lib/pdf-transcoder.jar"/>
-    	        <available file="${download.dir}/${batik.zip.dir}/lib/xerces_2_5_0.jar"/>
-    	        <available file="${download.dir}/${batik.zip.dir}/lib/xml-apis.jar"/>
-            </and>
-        </condition>
-    </target>
-
     <target name="batik-jars-check" description="Checks if batik jars exists.">
-    	<condition property="batik.jars.exists">
-    	    <and>
-    	        <available file="${basedir}/${batik.dir}/lib/js.jar"/>
-    	        <available file="${basedir}/${batik.dir}/lib/pdf-transcoder.jar"/>
-    	        <available file="${basedir}/${batik.dir}/lib/xerces_2_5_0.jar"/>
-    	        <available file="${basedir}/${batik.dir}/lib/xml-apis.jar"/>
+        <condition property="batik.jars.exists">
+            <and>
+                <!-- this implies the lib dir and its jars also exist -->
+    	        <available file="${basedir}/${batik.dir}/lib/build" type="dir" />
+    	        <available file="${lib.ext.dir}/xml-apis-ext.jar"/>
     	    </and>
-        </condition>
+    	</condition>
     </target>
     
     <target name="batik-jars" depends="batik-jars-check" unless="batik.jars.exists"
         description="Copies the batik jars to the batik build directory.">
 
-        <antcall target="batik-download-zip"/>
+        <antcall target="download-zip">
+            <param name="srcUrl" value="http://archive.apache.org/dist/xmlgraphics/batik"/>
+            <param name="zipFile" value="batik-src-1.7.zip"/>
+            <param name="md5" value="c117ca2241907f62a2b3031167ebf917"/>
+        </antcall>
+
+        <!-- 
+            Make sure any left-over batik 1.6 libraries are removed to avoid compile errors.  
+            (super-clean/batik-jars-clean would take also take care of this.)
+        -->
+     	<delete dir="${basedir}/${batik.dir}/lib/**" failonerror="false"/>
+
         <copy todir="${basedir}/${batik.dir}/lib" failonerror="true">
             <fileset dir="${download.dir}/${batik.zip.dir}/lib">
                 <include name="**/**"/>
             </fileset>            
         </copy>
+        
+        <!-- Copy the unique runtime jars to the lib directory.  -->
+        <!-- Also need xalan, xerces and xml-api jars.  -->
+        <copy todir="${lib.ext.dir}" failonerror="true" verbose="true">
+            <fileset dir="${download.dir}/${batik.zip.dir}/lib">
+                <include name="xml-apis-ext.jar"/>
+                <include name="LICENSE.xml-apis-ext*"/>
+                <include name="README.xml-apis-ext*"/>
+            </fileset>            
+        </copy>
+
         <delete dir="${download.dir}/${batik.zip.dir}"/>
     </target>
     
-    <target name="batik-download-zip" depends="batik-zip-check" unless="batik.zip.exists"
-        description="Downloads the batik jars.">
-        
-        <antcall target="download-zip">
-            <param name="srcUrl" value="http://archive.apache.org/dist/xmlgraphics/batik"/>
-            <param name="zipFile" value="${batik.zip.dir}.zip"/>
-            <param name="md5" value="edff288fc64f968ff96ca49763d50f3c"/>
-        </antcall>
-    </target>
-
 	<target name="batik-jars-clean">
-        <delete includeEmptyDirs="true" failonerror="fasle">
+	    <!-- leave the lib directory itself since batik build.xml expects it -->
+        <delete includeEmptyDirs="true" failonerror="false">
             <fileset dir="${basedir}/${batik.dir}/lib">
                 <include name="**/**"/>
             </fileset>            
         </delete>
         <delete includeEmptyDirs="true" failonerror="fasle">
             <fileset dir="${download.dir}">
-                <include name="${batik.zip.dir}*/**"/>
+                <include name="batik*/**"/>
             </fileset>            
         </delete>
     </target>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/types/BlendMode.java
----------------------------------------------------------------------
diff --git a/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/types/BlendMode.java b/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/types/BlendMode.java
index 76d1969..5c64a9a 100644
--- a/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/types/BlendMode.java
+++ b/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/types/BlendMode.java
@@ -57,7 +57,7 @@ package com.adobe.internal.fxg.dom.types;
  *    luminosity
  * </pre>
  * 
- * The following was introduced in FXG 2.0 which acts like blendMode=�layer� except when alpha is 0 or 1, in which case it acts like blendMode=�normal�
+ * The following was introduced in FXG 2.0 which acts like blendMode=îlayerî except when alpha is 0 or 1, in which case it acts like blendMode=înormalî
  * <pre>
  * 		auto
  * </pre>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/MAINTAIN
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/MAINTAIN b/modules/thirdparty/batik/MAINTAIN
deleted file mode 100644
index 221a400..0000000
--- a/modules/thirdparty/batik/MAINTAIN
+++ /dev/null
@@ -1,182 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-                         Project Maintanance Howto
-                         -------------------------
-                     
-This document introduces newcomers to the management and maintenance of 
-the Batik project hosted under xml.apache.org (http://xml.apache.org/batik).
-
-Each project is required to use Ant as build tool and to be coherent with the
-rest of the build systems of the other projects, so that nightly builds and
-distribution creation can be done automatically without per-project scripts.
-
-This implies it is *very* important that properties names are not changed
-but kept consistent with the other projects.
-
-Distribution Creation
----------------------
-
-For creating a distribution the following steps must be done:
-
- 1) Modify build.xml with the distribution version. Only modify the version 
-    for main releases (e.g. version value="1.1") but not for release 
-    candidates or beta versions where only the revision type and
-    number should be updated(e.g. revisionType value="beta" and
-    revisionNumber value="3")
-
- 2) Add your public key to the KEYS file in the root directory of
-    Batik if it isn't already there.  The following link has the
-    details on what this means and how to do it.
-
-        http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
-
- 3) Update the splash screens:
-    build splash
-
- 4) Commit these changes to CVS, in general only the following files
-    should be modified:
-
-    build.xml
-    KEYS
-    xdocs/images/splash.png  
-    xdocs/images/splash.svg
-    resources/org/apache/batik/apps/svgbrowser/resources/squiggle.png
-
- 5) tag the release on CVS:
-      cvs rtag <tag> <module>
-      e.g., cvs rtag batik-1_1rc3 xml-batik. 
-    Note: sometimes, it is necessary to remove a tag because the 
-    tests failed and a fix was required. To remove a tag, use
-    the rtag command:
-      cvs rtag -d <tag> <module>
-      e.g., cvs rtag -d batik-1_1rc3 xml-batik
-
- 6) checkout the tagged release to a new directory:
-      cvs co -r <tag> xml-batik
-      e.g., cvs co -r batik-1_1rc3 xml-batik
-
- 7) run the build script with target "dist-zip"
-      build dist-zip 
-    this will create the binary release zip, the source release zip and the
-    javadoc zip.
-
- 8) test the distributions
-      build regard
-      build regard.manual
-    The build results are in xml-batik/test-reports. Check that there
-    are no show-stoppers for the release. If there are fixes required,
-    you need to remove the tag (as explained in step 2) and then fix
-    any problem that requires attention. Then, you need to start at
-    step 1) again.
-
-    Note that you will need to have a copy of the W3C SVG 
-    working group test suite in the 'beSuite' directory and
-    have that directory under the same root as xml-batik. See
-    http://www.w3.org/Graphics/SVG for instructions on how to get
-    the SVG test suite.
-
- 9) Update the README file describing the content of the release and
-    the modifications which have taken place:
-    http://xml.apache.org/batik/dist/README 
-
-10) If you are creating a release candidate, rename the distribution files
-    to an rc name. For example:
-      mv batik-src-1.1.zip batik-src-1.1rc1.zip
-
-11) Sign and create md5 hashes for the releases. The following link
-    has full details on how to sign things (if you don't want to know
-    anything the last section 'Using GPG' tells you what commands work).
-
-        http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
-
-    e.g. gpg --detach-sig --armor --output batik-1.5.zip.asc batik-1.5.zip
-         md5 batik-1.5.zip > batik-1.5.zip.md5
-
-11) Use 'scp' to copy  the distributions (with md5 hashes, and signature 
-    files), the README, and the KEYS file under 
-        /www/www.apache.org/dist/xml/batik/
-
-     e.g., 'scp batik-1.1rc1.zip* vhardy@xml.apache.org:/www/www.apache.org/dist/xml/batik/'
-
-11) Finish setting up the distribution directory in accordance with:
-
-      http://www.apache.org/dev/mirrors.html
-      http://cvs.apache.org/~bodewig/mirror.html
-    
-    This makes sure that the distribution is mirrored nicely around
-    the world.
-
-    Start by logging into cvs.apache.org (e.g. 'ssh vhardy@cvs.apache.org').
-
-    First make sure file permissions are correct.  The
-    new files should be owned by group 'xml' and be group writable.
-    The following commands can do this (don't worry about links):
-       chgrp xml batik-1.5.zip
-       chmod 664 batik-1.5.zip
-
-    If you are making a 'final' release you should delete the existing
-    'current' links and re-point them at the new release (do this
-    for every file with a version number in it - including md5, and
-    asc files):
-       cd /www/www.apache.org/dist/xml/batik
-       rm batik-current.zip
-       ln -s batik-1.5.zip batik-current.zip
-       rm batik-current.zip.md5
-       ln -s batik-1.5.zip.md5 batik-current.zip.md5
-       rm batik-current.zip.asc
-       ln -s batik-1.5.zip.asc batik-current.zip.asc
-       <- lots more files ->
-
-    Finally remove the old releases (every release is automatically copied 
-    to 'archives.apache.org/dist/xml/batik' from
-    'www.apache.org/dist/xml/batik' so you can just remove an old
-    release from www.apache.org:
-       rm batik-1.5b4.zip
-
-10) Wait approximately 24hrs for the files to get to all the mirrors,
-    then send an email to the batik-dev and batik-users mailing lists
-    announcing the release.
-
-Site Creation
--------------
-
-For creating the web site, the following steps must be done:
-
-[Note: due to JVM font-rendering problems, this is best done on a windows machine]
-
- 1) make sure you checked out the module "xml-site/targets/batik" in
-    the same directory as your project module
- 2) run the build script with target "site"
- 3) commit the xml-site/targets/[project] directory
- 4) connect to xml.apache.org with your account
- 5) execute "cd /www/xml.apache.org/[project]"
- 6) execute "cvs update"
- 7) zip the Batik javadoc of the latest stable Batik release
- 8) ftp the Batik javadoc to xml.apache.org/batik 
- 9) upzip the Batik java so that the javadoc is available
-    at xml.apache.org/batik/javadoc/index.html
- 
-[NOTE: you must have commit access on xml-site to be able to do this]
-
-Nightly Builds
---------------
-
-The nightly builds are current performed by a crontab entry in
-Thomas DeWeese's cvs.apache.org account: /home/deweese/bin/nightly.csh

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/NOTICE
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/NOTICE b/modules/thirdparty/batik/NOTICE
index 6feaada..662188f 100644
--- a/modules/thirdparty/batik/NOTICE
+++ b/modules/thirdparty/batik/NOTICE
@@ -1,8 +1,18 @@
-This product includes software developed by
+Apache Batik
+Copyright 1999-2007 The Apache Software Foundation
+
+This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
 This software contains code from the World Wide Web Consortium (W3C) for the 
 Document Object Model API (DOM API) and SVG Document Type Definition (DTD).
 
-This software contains code from the International Organisation for Standardization
-for the definition of character entities used in the software's documentation.
+This software contains code from the International Organisation for
+Standardization for the definition of character entities used in the software's
+documentation.
+
+This product includes images from the Tango Desktop Project
+(http://tango.freedesktop.org/).
+
+This product includes images from the Pasodoble Icon Theme
+(http://www.jesusda.com/projects/pasodoble).

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/README
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/README b/modules/thirdparty/batik/README
index 1119a0d..f855cb6 100644
--- a/modules/thirdparty/batik/README
+++ b/modules/thirdparty/batik/README
@@ -37,7 +37,7 @@
   ------------
 
   The home page for the Apache Batik project can be found in the Apache XML 
-  Project web site (http://xml.apache.org/batik/). There you also find 
+  Project web site (http://xmlgraphics.apache.org/batik/). There you also find 
   information on how to download the latest release as well as all the other 
   information you might need regarding this project.
 
@@ -51,25 +51,27 @@
   ------------------
 
   By default, Batik includes a scripting engine for ECMAScript. It is possible
-  to add support for additional scripting languages (Python and TCL)
+  to add support for additional scripting languages (Python and TCL).
   
-  See : http://xml.apache.org/batik/install.html#optionalComponents for details.
+  See http://xmlgraphics.apache.org/batik/install.html#optionalComponents for
+  details.
  
   Installation Instructions and Documentation
   -------------------------------------------
 
-  Read the Install page at http://xml.apache.org/batik for the installation instructions.
+  Read the Install page at http://xmlgraphics.apache.org/batik/install.html
+  for the installation instructions.
 
   Look for the most updated documentation on the Apache Batik web site under
-  the Apache XML Project (http://xml.apache.org/batik/).
+  the Apache XML Graphics Project (http://xmlgraphics.apache.org/batik/).
 
 
   Licensing and legal issues
   --------------------------
 
-  For legal and licensing issues, please read the LICENSE file.
+  For legal and licensing issues, please read the LICENSE and NOTICE files.
 
   Thanks for using Apache Batik.
 
-                                           The Apache XML Project
-                                           http://xml.apache.org/
+                                           The Apache XML Graphics Project
+                                           http://xmlgraphics.apache.org/

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/build.bat
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/build.bat b/modules/thirdparty/batik/build.bat
deleted file mode 100644
index e46e18e..0000000
--- a/modules/thirdparty/batik/build.bat
+++ /dev/null
@@ -1,53 +0,0 @@
-@echo off
-:: ----------------------------------------------------------------------------
-:: Copyright 2000-2003 The Apache Software Foundation
-:: 
-::    Licensed under the Apache License, Version 2.0 (the "License");
-::    you may not use this file except in compliance with the License.
-::    You may obtain a copy of the License at
-:: 
-::        http://www.apache.org/licenses/LICENSE-2.0
-:: 
-::    Unless required by applicable law or agreed to in writing, software
-::    distributed under the License is distributed on an "AS IS" BASIS,
-::    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-::    See the License for the specific language governing permissions and
-::    limitations under the License.
-:: 
-:: build.bat - Win32 Build Script for Apache Batik
-::
-:: $Id$
-:: ----------------------------------------------------------------------------
-
-:: ----- Verify and Set Required Environment Variables ------------------------
-
-if not "%JAVA_HOME%" == "" goto gotJavaHome
-echo You must set JAVA_HOME to point at your Java Development Kit installation
-goto cleanup
-:gotJavaHome
-
-if not "%ANT_HOME%" == "" goto gotAntHome
-
-:: ----- Set Up The Runtime Classpath -----------------------------------------
-
-
-set CP=%JAVA_HOME%\lib\tools.jar;lib\build\ant_1_4_1.jar;.\lib\build\crimson-ant.jar;.\lib\build\jaxp.jar
- 
-
-:: ----- Execute The Requested Build ------------------------------------------
-
-%JAVA_HOME%\bin\java.exe %ANT_OPTS% -classpath %CP% org.apache.tools.ant.Main -emacs -Dant.home=. %1 -Dargs="%2 %3 %4 %5 %6 %7 %8 %9"
-
-:: ----- Cleanup the environment ----------------------------------------------
-
-goto cleanup
-
-:gotAntHome
-
-call ant -Dargs="%2 %3 %4 %5 %6 %7 %8 %9" %1
-
-goto cleanup
-
-:cleanup
-set CP=
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/build.sh
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/build.sh b/modules/thirdparty/batik/build.sh
deleted file mode 100644
index 52523c6..0000000
--- a/modules/thirdparty/batik/build.sh
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/bin/sh
-# -----------------------------------------------------------------------------
-# Copyright 2000-2001,2003 The Apache Software Foundation
-# 
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-# 
-#        http://www.apache.org/licenses/LICENSE-2.0
-# 
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-# 
-# build.sh - Unix Build Script for Apache Batik
-#
-# $Id$
-# -----------------------------------------------------------------------------
-
-# ----- Verify and Set Required Environment Variables -------------------------
-   
-if [ "$ANT_HOME" = "" ] ; then
-  ANT_HOME=.
-fi
-
-if [ "$JAVA_HOME" = "" ] ; then
-  echo You must set JAVA_HOME to point at your Java Development Kit installation
-  exit 1
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-esac
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# ----- Set Up The Runtime Classpath ------------------------------------------
-
-CP=$JAVA_HOME/lib/tools.jar:$ANT_HOME/lib/build/ant_1_4_1.jar:./lib/build/crimson-ant.jar:./lib/build/jaxp.jar
-
-if $cygwin; then
-  JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  CP=`cygpath --path --windows "$CP"`
-fi
-
-# ----- Execute The Requested Build -------------------------------------------
-
-TARGET=$1;
-if [ $# != 0 ] ; then
-  shift 1
-fi
-
-# $JAVA_HOME/bin/java -version
-
-$JAVA_HOME/bin/java $ANT_OPTS -classpath $CP org.apache.tools.ant.Main -emacs -Dant.home=$ANT_HOME $TARGET -Dargs="$*"


[46/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/ja_JP/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/ja_JP/experimental.properties b/frameworks/projects/experimental/bundles/ja_JP/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/ja_JP/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/ko_KR/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/ko_KR/experimental.properties b/frameworks/projects/experimental/bundles/ko_KR/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/ko_KR/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/nb_NO/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/nb_NO/experimental.properties b/frameworks/projects/experimental/bundles/nb_NO/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/nb_NO/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/nl_NL/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/nl_NL/experimental.properties b/frameworks/projects/experimental/bundles/nl_NL/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/nl_NL/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/pt_BR/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/pt_BR/experimental.properties b/frameworks/projects/experimental/bundles/pt_BR/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/pt_BR/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/pt_PT/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/pt_PT/experimental.properties b/frameworks/projects/experimental/bundles/pt_PT/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/pt_PT/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/ru_RU/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/ru_RU/experimental.properties b/frameworks/projects/experimental/bundles/ru_RU/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/ru_RU/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/sv_SE/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/sv_SE/experimental.properties b/frameworks/projects/experimental/bundles/sv_SE/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/sv_SE/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/zh_CN/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/zh_CN/experimental.properties b/frameworks/projects/experimental/bundles/zh_CN/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/zh_CN/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/zh_TW/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/zh_TW/experimental.properties b/frameworks/projects/experimental/bundles/zh_TW/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/zh_TW/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/compile-config.xml b/frameworks/projects/experimental/compile-config.xml
new file mode 100644
index 0000000..26f7b92
--- /dev/null
+++ b/frameworks/projects/experimental/compile-config.xml
@@ -0,0 +1,66 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>http://flex.apache.org/experimental/ns</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>ExperimentalClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+        
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/flash-integration/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/flash-integration/.actionScriptProperties b/frameworks/projects/flash-integration/.actionScriptProperties
index d44e34e..4a0a059 100644
--- a/frameworks/projects/flash-integration/.actionScriptProperties
+++ b/frameworks/projects/flash-integration/.actionScriptProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties mainApplicationPath="flash-integration.as" version="6">
   <compiler additionalCompilerArguments="-compute-digest=false -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/flash-integration/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/flash-integration/.flexLibProperties b/frameworks/projects/flash-integration/.flexLibProperties
index 7e88c33..44fca1f 100644
--- a/frameworks/projects/flash-integration/.flexLibProperties
+++ b/frameworks/projects/flash-integration/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="true" version="3">
   <includeClasses/>
   <includeResources/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/flash-integration/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flash-integration/build.xml b/frameworks/projects/flash-integration/build.xml
index 94b9b74..e2fefd5 100644
--- a/frameworks/projects/flash-integration/build.xml
+++ b/frameworks/projects/flash-integration/build.xml
@@ -37,23 +37,12 @@
 				<!-- because targets that run before flexTasks.jar gets built would fail. -->
 				<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 				<compc fork="true"
-					output="${FLEX_HOME}/frameworks/locale/@{locale}/flash-integration_rb.swc"
-					locale="@{locale}">
-					<target-player>${playerglobal.version}</target-player>
+					output="${FLEX_HOME}/frameworks/locale/@{locale}/flash-integration_rb.swc">
 					<jvmarg line="${compc.jvm.args}"/>
-					<include-resource-bundles bundle="empty"/>
-					<include-namespaces/>
-					<include-classes/>
-					<source-path path-element="${basedir}/bundles/@{locale}"/>
-					<source-path path-element="${FLEX_HOME}/frameworks/projects/flash-integration/src"/>
-					<include-libraries/>
-					<library-path/>
-                    <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                        <include name="${playerglobal.version}/playerglobal.swc"/>
-                    </external-library-path>
-					<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-						<include name="framework.swc"/>
-					</external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
 				</compc>
 			</sequential>
 	</macrodef>	
@@ -136,27 +125,12 @@
 			(This should be an empty list.)
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/flash-integration.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/flash-integration.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-            <!-- doesn't matter what we put in here as long as it links in the classes.
-                Flash Authoring ignores this and the namespace it's mapped too...
-                it just needs to be linked through a manifest file -->
-            <namespace uri="http://www.adobe.com/someNonSensicalURI" manifest="${basedir}/manifest.xml"/>
-			<include-namespaces uri="http://www.adobe.com/someNonSensicalURI"/>
-			<source-path path-element="${basedir}/src"/>
             <load-config filename="${FLEX_HOME}/frameworks/projects/framework/framework-config.xml"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="textLayout.swc"/>
-				<include name="framework.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
-			<compute-digest>false</compute-digest>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
         
         <!-- need to copy the file produced over so that the MXI 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/flash-integration/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flash-integration/bundle-config.xml b/frameworks/projects/flash-integration/bundle-config.xml
new file mode 100644
index 0000000..4515570
--- /dev/null
+++ b/frameworks/projects/flash-integration/bundle-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>empty</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/flash-integration/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/flash-integration/compile-config.xml b/frameworks/projects/flash-integration/compile-config.xml
new file mode 100644
index 0000000..5c7823d
--- /dev/null
+++ b/frameworks/projects/flash-integration/compile-config.xml
@@ -0,0 +1,60 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+                
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <!-- doesn't matter what we put in here as long as it links in the classes.
+            Flash Authoring ignores this and the namespace it's mapped too...
+            it just needs to be linked through a manifest file -->
+        <namespaces>
+            <namespace>
+                <uri>http://www.adobe.com/someNonSensicalURI</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <compute-digest>false</compute-digest>
+    
+    <include-namespaces>
+        <uri>http://www.adobe.com/someNonSensicalURI</uri>
+    </include-namespaces>  
+        
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/.actionScriptProperties b/frameworks/projects/framework/.actionScriptProperties
index c85ddc4..fca65df 100644
--- a/frameworks/projects/framework/.actionScriptProperties
+++ b/frameworks/projects/framework/.actionScriptProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties mainApplicationPath="framework.as" projectUUID="65c59490-74e4-4314-a31d-8c6004e228f3" version="6">
   <compiler additionalCompilerArguments="-keep-as3-metadata=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient -load-config+=framework-config.xml --include-file=defaults.css,../defaults.css -include-file=defaults-3.0.0.css,../defaults-3.0.0.css  -include-file=Assets.swf,../assets/Assets.swf -include-file=assets/CalendarIcon.png,../assets/CalendarIcon.png -namespace=library://ns.adobe.com/flex/mx,../manifest.xml -namespace+=http://www.adobe.com/2006/mxml,../manifest.xml -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/.flexLibProperties b/frameworks/projects/framework/.flexLibProperties
index e904167..92afb59 100644
--- a/frameworks/projects/framework/.flexLibProperties
+++ b/frameworks/projects/framework/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="FrameworkClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/build.xml b/frameworks/projects/framework/build.xml
index 709eafb..1255042 100644
--- a/frameworks/projects/framework/build.xml
+++ b/frameworks/projects/framework/build.xml
@@ -21,179 +21,160 @@
 
 <project name="framework" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
 
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-  	
-	<macrodef name="bundle">
-		<attribute name="locale"/>
-			<sequential>
-				<echo message="Compiling frameworks/locale/@{locale}/framework_rb.swc"/>
+    <property file="${FLEX_HOME}/build.properties"/>
+    
+    <macrodef name="bundle">
+        <attribute name="locale"/>
+            <sequential>
+                <echo message="Compiling frameworks/locale/@{locale}/framework_rb.swc"/>
 
-			<!-- Load the <compc> task. We can't do this at the <project> level -->
-			<!-- because targets that run before flexTasks.jar gets built would fail. -->
-			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/framework_rb.swc"
-				   locale="@{locale}">
-				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="SharedResources"/>
-				<include-resource-bundles bundle="collections"/>
-				<include-resource-bundles bundle="controls"/>
-				<include-resource-bundles bundle="core"/>
-				<include-resource-bundles bundle="effects"/>
-				<include-resource-bundles bundle="formatters"/>
-				<include-resource-bundles bundle="logging"/>
-				<include-resource-bundles bundle="modules"/>
-				<include-resource-bundles bundle="skins"/>
-				<include-resource-bundles bundle="states"/>
-				<include-resource-bundles bundle="styles"/>
-				<include-resource-bundles bundle="utils"/>
-				<include-resource-bundles bundle="validators"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/src"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-					<include name="${playerglobal.version}/playerglobal.swc"/>
-				</external-library-path>
-			</compc>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="fat-swc">
-		<attribute name="locale"/>
-		<sequential>
-			<mkdir dir="${basedir}/bundles/@{locale}/docs" />
-			<zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/framework_rb.swc" update="true">
-				<zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
-					<include name="*.*"/>
-				</zipfileset>
-				<zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
-					<include name="packages.dita"/>
-				</zipfileset>
-			</zip>
-		</sequential>
-	</macrodef>	
+            <!-- Load the <compc> task. We can't do this at the <project> level -->
+            <!-- because targets that run before flexTasks.jar gets built would fail. -->
+            <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+            <compc fork="true"
+                   output="${FLEX_HOME}/frameworks/locale/@{locale}/framework_rb.swc">
+                <jvmarg line="${compc.jvm.args}"/>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
+            </compc>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="fat-swc">
+        <attribute name="locale"/>
+        <sequential>
+            <mkdir dir="${basedir}/bundles/@{locale}/docs" />
+            <zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/framework_rb.swc" update="true">
+                <zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
+                    <include name="*.*"/>
+                </zipfileset>
+                <zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
+                    <include name="packages.dita"/>
+                </zipfileset>
+            </zip>
+        </sequential>
+    </macrodef> 
 
-	<macrodef name="bundle-clean">
-		<attribute name="locale"/>
-		<sequential>
-			<delete failonerror="false">
-				<fileset dir="${FLEX_HOME}/frameworks/locale">
-					<include name="@{locale}/framework_rb.swc"/>
-					<include name="@{locale}/framework_rb.swc.incr"/>
-				</fileset>
-			</delete>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="bundler">
-		<attribute name="locale"/>
-		<element name="run.fat.swc" optional="yes"/>
-		<sequential>
-			<bundle-clean locale="@{locale}"/>
-			<bundle locale="@{locale}"/>
-			<run.fat.swc/>
-		</sequential>
-	</macrodef>
-	
-	<target name="main" depends="clean,compile" description="Clean build of framework.swc and en_US">
-		<bundle locale="${locale}"/>
-	</target>
-	
-	<target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
-	
-	<!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
-	<!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
-	<target name="bundles">
-		<!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
-		<bundler locale="da_DK"/><!-- Danish resources -->
-		<bundler locale="de_DE"><!-- German resources -->
-			<run.fat.swc>
-				<fat-swc locale="de_DE"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="es_ES"/><!-- Spanish resources -->
-		<bundler locale="fi_FI"/><!--  Finnish resources-->
-		<bundler locale="fr_FR"><!-- French resources -->
-			<run.fat.swc>
-				<fat-swc locale="fr_FR"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="it_IT"/><!-- Italian resources -->
-		<bundler locale="ja_JP"><!-- Japanese resources -->
-			<run.fat.swc>
-				<fat-swc locale="ja_JP"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="ko_KR"/><!-- Korean resources -->
-		<bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
-		<bundler locale="nl_NL"/><!-- Dutch resources -->
-		<bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
-		<bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
-		<bundler locale="ru_RU"><!-- Russian resources -->
-			<run.fat.swc>
-				<fat-swc locale="ru_RU"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="sv_SE"/><!-- Swedish resources -->
-		<bundler locale="zh_CN"><!-- Simplified Chinese resources -->
-			<run.fat.swc>
-				<fat-swc locale="zh_CN"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-		<bundler locale="el_GR"/><!-- Greek Language  resources -->
-	</target>
-	
-	<target name="clean" depends="bundles-clean, pixelbender-clean, assets-clean">
-		<delete failonerror="false">
-			<fileset dir="${basedir}" >
-				<include name="bundles.properties"/>
-			    <include name="bundles/en_US/packages.dita"/>
-			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="framework.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="bundles-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/locale">
-				<include name="*/framework_rb.swc"/>
-				<include name="*/framework_rb.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="pixelbender-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses">
-				<include name="**/*.pbj"/>
-			</fileset>
-		</delete>
-	</target>
+    <macrodef name="bundle-clean">
+        <attribute name="locale"/>
+        <sequential>
+            <delete failonerror="false">
+                <fileset dir="${FLEX_HOME}/frameworks/locale">
+                    <include name="@{locale}/framework_rb.swc"/>
+                    <include name="@{locale}/framework_rb.swc.incr"/>
+                </fileset>
+            </delete>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="bundler">
+        <attribute name="locale"/>
+        <element name="run.fat.swc" optional="yes"/>
+        <sequential>
+            <bundle-clean locale="@{locale}"/>
+            <bundle locale="@{locale}"/>
+            <run.fat.swc/>
+        </sequential>
+    </macrodef>
+    
+    <target name="main" depends="clean,compile" description="Clean build of framework.swc and en_US">
+        <bundle locale="${locale}"/>
+    </target>
+    
+    <target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
+    
+    <!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
+    <!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
+    <target name="bundles">
+        <!-- these languages do not have localized docs-->
+        <bundler locale="en_AU"/><!-- Australian resources -->
+        <bundler locale="en_GB"/><!-- United Kingdom resources -->
+        <bundler locale="en_CA"/><!-- Canadian resources -->
+        <bundler locale="da_DK"/><!-- Danish resources -->
+        <bundler locale="de_DE"><!-- German resources -->
+            <run.fat.swc>
+                <fat-swc locale="de_DE"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="de_CH"/><!-- Swiss German resources -->
+        <bundler locale="es_ES"/><!-- Spanish resources -->
+        <bundler locale="fi_FI"/><!--  Finnish resources-->
+        <bundler locale="fr_FR"><!-- French resources -->
+            <run.fat.swc>
+                <fat-swc locale="fr_FR"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="it_IT"/><!-- Italian resources -->
+        <bundler locale="ja_JP"><!-- Japanese resources -->
+            <run.fat.swc>
+                <fat-swc locale="ja_JP"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="ko_KR"/><!-- Korean resources -->
+        <bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
+        <bundler locale="nl_NL"/><!-- Dutch resources -->
+        <bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
+        <bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
+        <bundler locale="ru_RU"><!-- Russian resources -->
+            <run.fat.swc>
+                <fat-swc locale="ru_RU"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="sv_SE"/><!-- Swedish resources -->
+        <bundler locale="zh_CN"><!-- Simplified Chinese resources -->
+            <run.fat.swc>
+                <fat-swc locale="zh_CN"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
+        <bundler locale="el_GR"/><!-- Greek Language  resources -->
+    </target>
+    
+    <target name="clean" depends="bundles-clean, pixelbender-clean, assets-clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}" >
+                <include name="bundles.properties"/>
+                <include name="bundles/en_US/packages.dita"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/libs">
+                <include name="framework.swc"/>
+                <include name="framework.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="bundles-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/locale">
+                <include name="*/framework_rb.swc"/>
+                <include name="*/framework_rb.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="pixelbender-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses">
+                <include name="**/*.pbj"/>
+            </fileset>
+        </delete>
+    </target>
 
-	<target name="assets-clean">
-		<delete failonerror="false">
-			<fileset dir="${FLEX_HOME}/frameworks/projects/framework/assets">
-				<include name="**/*.swf"/>
-			</fileset>
-		</delete>
-	</target>
+    <target name="assets-clean">
+        <delete failonerror="false">
+            <fileset dir="${FLEX_HOME}/frameworks/projects/framework/assets">
+                <include name="**/*.swf"/>
+            </fileset>
+        </delete>
+    </target>
 
-	<target name="pixelbender-compile">
+    <target name="pixelbender-compile">
         <exec executable="${env.PIXELBENDER_HOME}/pbutil">
             <arg value="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbk" />
             <arg value="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses/Color.pbj" />
@@ -230,118 +211,96 @@
             <arg value="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbk" />
             <arg value="${FLEX_HOME}/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbj" />
         </exec>
-	</target>
+    </target>
 
-	<target name="assets-compile">
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<mxmlc fork="true"
+    <target name="assets-compile">
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <mxmlc fork="true"
                file="${FLEX_HOME}/frameworks/projects/framework/assets/Assets.as"
-			   output="${FLEX_HOME}/frameworks/projects/framework/assets/Assets.swf"
-			   >
-			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<library-path/>
+               output="${FLEX_HOME}/frameworks/projects/framework/assets/Assets.swf"
+               >
+            <jvmarg line="${compc.jvm.args}"/>
+            <target-player>${playerglobal.version}</target-player>
+            <library-path/>
             <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
                 <include name="${playerglobal.version}/playerglobal.swc"/>
-			</external-library-path>
-		</mxmlc>
+            </external-library-path>
+        </mxmlc>
     </target>
         
-	<target name="compile" depends="assets-compile,pixelbender-compile" description="Compiles framework.swc">
-		<echo message="Compiling frameworks/libs/framework.swc"/>
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			Link in the classes (and their dependencies) for the MXML tags
-			listed in this project's manifest.xml.
-			Also link the additional classes (and their dependencies)
-			listed in FrameworkClasses.as,
-			because these aren't referenced by the manifest classes.
-			Keep the standard metadata when compiling.
-			Link in accessibility support.
-			Include the appropriate CSS files and assets in the SWC.
-			Don't include any resources in the SWC.
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/framework.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>11.1</target-player>
-			<namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest.xml"/>
-			<namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/mx"/>
-			<include-classes>FrameworkClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="textLayout.swc"/>
-			</external-library-path>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-			</external-library-path>
+    <target name="compile" depends="assets-compile,pixelbender-compile" description="Compiles framework.swc">
+        <echo message="Compiling frameworks/libs/framework.swc"/>
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in FrameworkClasses.as,
+            because these aren't referenced by the manifest classes.
+            Keep the standard metadata when compiling.
+            Link in accessibility support.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/framework.swc">
+            <jvmarg line="${compc.jvm.args}"/>
             <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
-			<load-config filename="framework-config.xml"/>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<include-file name="defaults-3.0.0.css" path="${basedir}/defaults-3.0.0.css"/>
-			<include-file name="Assets.swf" path="${basedir}/assets/Assets.swf"/>
-			<include-file name="assets/CalendarIcon.png" path="${basedir}/assets/CalendarIcon.png"/>
-			<locale/>
-			<accessible>true</accessible>
-			<keep-as3-metadata name="Bindable"/>
-			<keep-as3-metadata name="Managed"/>
-			<keep-as3-metadata name="ChangeEvent"/>
-			<keep-as3-metadata name="NonCommittingChangeEvent"/>
-			<keep-as3-metadata name="Transient"/>
-		</compc>
-	</target>
-	
-	<target name="doc" depends="clean-temp-docs" description="updates framework.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+            <load-config filename="framework-config.xml"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+    
+    <target name="doc" depends="clean-temp-docs" description="updates framework.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
 
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
 
 
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		    <compiler.source-path path-element="${basedir}/src"/>
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
             <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
             <load-config filename="framework-config.xml"/>
-		    <doc-classes class="FrameworkClasses"/>
-		    <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
-		    <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
+            <doc-classes class="FrameworkClasses"/>
+            <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
+            <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
 
-		<!-- updates framework.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/locale/en_US/framework_rb.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-		<copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
-	</target>
+        <!-- updates framework.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/locale/en_US/framework_rb.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+        <copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
+    </target>
 
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-		<delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
-	</target>
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+        <delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
+    </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundle-config.xml b/frameworks/projects/framework/bundle-config.xml
new file mode 100644
index 0000000..8682a8b
--- /dev/null
+++ b/frameworks/projects/framework/bundle-config.xml
@@ -0,0 +1,61 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>SharedResources</bundle>
+        <bundle>collections</bundle>
+        <bundle>controls</bundle>
+        <bundle>core</bundle>
+        <bundle>effects</bundle>
+        <bundle>formatters</bundle>
+        <bundle>logging</bundle>
+        <bundle>modules</bundle>
+        <bundle>skins</bundle>
+        <bundle>states</bundle>
+        <bundle>styles</bundle>
+        <bundle>utils</bundle>
+        <bundle>validators</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/SharedResources.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/SharedResources.properties b/frameworks/projects/framework/bundles/de_CH/SharedResources.properties
new file mode 100644
index 0000000..b2b4f83
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/SharedResources.properties
@@ -0,0 +1,39 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# DayNames Long (DateBase, DateChooser, DateField, CalendarLayout)
+dayNames=Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag
+
+# MonthNames Long (DateBase, DateChooser, DateField, CalendarLayout)
+# appended with monthSymbol
+monthNames=Januar,Februar,März,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember
+
+# Common symbols (DateFormatter, DateValidator, DateField)
+dateFormat=DD.MM.YYYY
+monthSymbol=
+
+# CurrencyFormatter, NumberFormatter, Slider
+decimalSeparatorFrom=.
+decimalSeparatorTo=.
+thousandsSeparatorFrom='
+thousandsSeparatorTo='
+
+# CurrencyFormatter, CurrencyValidator
+alignSymbol=right
+currencySymbol=\ Fr

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/collections.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/collections.properties b/frameworks/projects/framework/bundles/de_CH/collections.properties
new file mode 100644
index 0000000..00a043d
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/collections.properties
@@ -0,0 +1,79 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# Shared
+
+outOfBounds=Angegebener Index '{0}' liegt außerhalb des zulässigen Bereichs.
+invalidIndex=Ungültiger Index: '{0}'.
+
+# ListCollectionView
+
+unknownProperty=Unbekannte Eigenschaft: '{0}'.
+incorrectAddition=Es wird versucht, ein Element hinzuzufügen, das sich bereits in der Ansicht befindet.
+itemNotFound=Suchen nicht möglich, wenn die Ansicht nicht sortiert ist.
+bookmarkNotFound=Das Lesezeichen stammt nicht aus dieser Ansicht.
+
+# ListCollectionViewCursor
+
+invalidInsert=Einfügen nicht möglich, wenn die aktuelle Cursorposition beforeFirst ist.
+invalidRemove=Entfernen nicht möglich, wenn die aktuelle Cursorposition beforeFirst oder afterLast ist.
+bookmarkInvalid=Das Lesezeichen ist nicht mehr gültig.
+invalidCursor=Der Cursor ist nicht mehr gültig.
+
+# NumericDataProvider
+
+addItemError=addItem() ist in dieser Klasse nicht verfügbar.
+addItemAtError=addItemAt() ist in dieser Klasse nicht verfügbar.
+itemUpdatedError=itemUpdated() ist in dieser Klasse nicht verfügbar.
+removeAllError=removeAll() ist in dieser Klasse nicht verfügbar.
+removeItemAtError=removeItemAt() ist in dieser Klasse nicht verfügbar.
+setItemAtError=setItemAt() ist in dieser Klasse nicht verfügbar.
+stepSizeError=stepSize kann nicht auf den Wert „Null“ eingestellt werden.
+
+# OnDemandDataProvider
+
+addItemError=addItem() ist in dieser Klasse nicht verfügbar.
+addItemAtError=addItemAt() ist in dieser Klasse nicht verfügbar.
+itemUpdatedError=itemUpdated() ist in dieser Klasse nicht verfügbar.
+getItemAtError=getItemAt() ist in dieser Klasse nicht verfügbar
+getItemIndexError=getItemIndex() ist in dieser Klasse nicht verfügbar.
+lengthError=length() ist in dieser Klasse nicht verfügbar.
+removeAllError=removeAll() ist in dieser Klasse nicht verfügbar.
+removeItemAtError=removeItemAt() ist in dieser Klasse nicht verfügbar.
+setItemAtError=setItemAt() ist in dieser Klasse nicht verfügbar.
+toArrayError=toArray() ist in dieser Klasse nicht verfügbar.
+
+# Sort
+
+noItems=Es gibt keine zu suchenden Elemente.
+findCondition=Die Suchkriterien müssen alle Sortierfelder bis '{0}' enthalten.
+findRestriction=Die Suchkriterien müssen mindestens einen Sortierfeldwert enthalten.
+unknownMode=Unbekannter Suchmodus.
+nonUnique=Nicht eindeutige Werte in Elementen.
+noComparator=Komparator für '{0}' kann nicht bestimmt werden.
+
+# SortField
+
+noComparatorSortField=Komparator für SortField '{0}' kann nicht bestimmt werden.
+
+# XMLListAdapter
+
+invalidType=Falscher Typ. Muss entweder XML oder eine XMLList mit einem XML-Objekt sein. 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/controls.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/controls.properties b/frameworks/projects/framework/bundles/de_CH/controls.properties
new file mode 100644
index 0000000..b83833f
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/controls.properties
@@ -0,0 +1,113 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# Shared by DateChooser, DateField, CalendarLayout
+dayNamesShortest=S,M,D,M,D,F,S
+
+# Shared by DateChooser, DateField
+firstDayOfWeek=1
+yearSymbol=
+
+# Localizable Strings
+
+
+# Alert
+
+okLabel=OK
+yesLabel=Ja
+noLabel=Nein
+cancelLabel=Abbrechen
+
+# ProgressBar
+
+label=LADEVORGANG LÄUFT: %3%%
+
+
+# Developer RTE Section
+
+
+# ColorPicker
+
+notImplemented='{0}' not implemented yet.
+
+# Loader
+
+notLoadable={0} kann nicht geladen werden.
+
+# NavBar
+
+errWrongType=FEHLER: Der dataProvider von '{0}' muss String, ViewStack, Array oder IList sein.
+errWrongContainer=FEHLER: Der dataProvider von '{0}' darf keine Objekte des Typs flash.display.DisplayObject enthalten.
+
+# components using interaction (Tree)
+
+unknownInput=Unbekannter inputType: '{0}'.
+
+# videoClasses.CuePointManager
+
+wrongTime=Zeit muss eine Zahl sein.
+wrongName=Der Name darf weder undefiniert noch null sein.
+wrongTimeName=Zeit muss eine Zahl sein und/oder der Name darf weder undefiniert noch null sein.
+wrongFormat=Unerwartetes Format für cuePoint-Parameter.
+wrongType=Typ muss eine Zahl sein.
+incorrectType=Typ muss 0, 1 oder 2 sein.
+wrongDisabled=Deaktiviert muss eine Zahl sein.
+wrongNumParams=Ein Zahlenparameter muss eine Zahl sein.
+unexpectedEnd=Unerwartetes Ende des cuePoint-Parameter-Strings.
+cannotDisable=ActionScript Cue-Points können nicht deaktiviert werden.
+undefinedArray=CuePoint.array ist nicht definiert.
+wrongIndex=CuePoint.index muss eine Zahl zwischen -1 und cuePoint.array.length sein.
+undefinedParameter=CuePoint-Parameter ist nicht definiert.
+
+# videoClasses.NCManager
+
+invalidCall=Bei einer http-Verbindung kann keine erneute Verbindung aufgerufen werden.
+
+# videoClasses.SMILManager
+
+rootNotFound=URL: '{0}' Es wurde kein Stammknoten gefunden. Wenn die Datei eine FLV-Datei ist, muss sie die Erweiterung .flv aufweisen.
+rootNotSMIL=URL: '{0}' Stammknoten ist nicht smil: '{1}'.
+missingAttributes=URL: '{0}' Tag '{1}' benötigt die Attribute für ID, Breite und Höhe. Die Werte für die Breite und Höhe müssen Zahlen größer als/gleich 0 sein.
+tagNotFound=URL: '{0}' Mindestens ein Video mit ref-Tag ist erforderlich.
+missingAttributeSrc=URL: '{0}' Attribut 'src' ist im Tag '{1}' erforderlich.
+
+# videoClasses.VideoError
+
+errorMessages=Verbindung zum Server kann nicht hergestellt werden oder keine FLV-Datei auf dem Server gefunden.,Kein entsprechender Cue-Point gefunden.,Ungültiger Cue-Point.,Ungültige Suche.,Ungültiger contentPath.,Ungültiges XML.,Keine übereinstimmende Bitrate; darf kein Standard-FLV sein.,Standard-VideoPlayer kann nicht gelöscht werden.
+
+# videoClasses.VideoPlayer
+
+nullURL=Null-URL an VideoPlayer.load gesendet.
+badArgs=Ungültige Argumente zu _play.
+
+# videoClasses.FPADManager
+
+missingRoot=URL: '{0}' Es wurde kein Stammknoten gefunden. Wenn die URL für eine FLV-Datei gilt, muss diese die Erweiterung .flv aufweisen und darf keine Parameter haben.
+notfpad=URL: '{0}' Stammknoten ist kein fpad.
+missingProxy=URL: '{0}' Für fpad xml ist ein Proxy-Tag erforderlich.
+
+# TextInput, TextArea
+
+unsupportedMode=IMEMode '{0}' wird nicht unterstützt.
+
+# AccImpl
+
+requiredField=Erforderliches Feld

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/core.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/core.properties b/frameworks/projects/framework/bundles/de_CH/core.properties
new file mode 100644
index 0000000..d3ec205
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/core.properties
@@ -0,0 +1,63 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# UITextField
+
+truncationIndicator=...
+
+# Developer RTE Section
+
+# Core
+
+multipleChildSets_ClassAndInstance=Für diese Komponente wurden mehrere Sätze visueller Child-Elemente festgelegt (Komponentendefinition und -instanz).
+multipleChildSets_ClassAndSubclass=Für diese Komponente wurden mehrere Sätze visueller Child-Elemente festgelegt (Basis- und abgeleitete Komponentendefinition).
+
+# EmbeddedFontRegistry
+fontIncompatible=Warnung: Nicht kompatible eingebettete Schriftart „{0}“ für „{1}“ angegeben. Diese Komponente erfordert eine Deklaration der eingebetteten Schriftart mit „embedAsCff={2}“.
+
+# Repeater
+
+notExecuting=Repeater wird nicht ausgeführt.
+
+# UIComponent
+
+stateUndefined=Nicht definierter Zustand '{0}'.
+
+# UIComponent / WindowedApplication
+
+viewSource=Quelle anzeigen
+badFile=Datei existiert nicht.
+
+# Version (FlexVersion)
+
+versionAlreadySet=Kompatibilitätsversion wurde bereits festgelegt.
+versionAlreadyRead=Kompatibilitätsversion wurde bereits gelesen.
+
+# UIFTETextField
+
+badParameter=Parameter „{0}“ muss einer der zulässigen Werte sein.
+nullParameter=Parameter „{0}“ muss nicht null sein.
+badIndex=Der angegebene Index ist außerhalb des Bereichs.
+notImplementedInFTETextField=„{0}“ ist in FTETextField nicht implementiert.
+unsupportedTypeInFTETextField=FTETextField unterstützt das Einstellen des Typs auf "input" nicht.
+
+# Generated code for FlexInit
+remoteClassMemoryLeak=Warnung: Die {0}-Klasse wurde in einem Aufruf von net.registerClassAlias() in {2} verwendet. Dies verursacht ein Leck bei {1}. Um dies zu beheben, definieren Sie {0} in der Anwendung auf oberster Ebene.  

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/effects.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/effects.properties b/frameworks/projects/framework/bundles/de_CH/effects.properties
new file mode 100644
index 0000000..6aa664b
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/effects.properties
@@ -0,0 +1,28 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# EffectManager
+
+incorrectTrigger=Der Zoomeffekt kann nicht von einem moveEffect-Auslöser ausgelöst werden.
+
+# SoundEffect
+
+incorrectSource=Die Quelleigenschaft muss entweder eine Klasse oder ein String sein.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/formatters.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/formatters.properties b/frameworks/projects/framework/bundles/de_CH/formatters.properties
new file mode 100644
index 0000000..78d5f9d
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/formatters.properties
@@ -0,0 +1,53 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# CurrencyFormatter, NumberFormatter
+rounding=none
+useNegativeSignInNumber=true
+useNegativeSignInCurrency=true
+useThousandsSeparator=true
+
+# CurrencyFormatter
+currencyFormatterPrecision=-1
+
+# NumberFormatter
+numberFormatterPrecision=-1
+
+# PhoneFormatter
+areaCode=-1
+areaCodeFormat=(###)
+# formatString
+phoneNumberFormat=(###) ### ## ##
+validPatternChars=+()#- .
+
+# ZipCodeFormatter
+zipCodeFormat=####
+
+# DateBase
+am=vorm.
+pm=nachm.
+dayNamesShort=So,Mo,Di,Mi,Do,Fr,Sa
+# appended with monthSymbol in SharedResources
+monthNamesShort=Jan,Feb,Mrz,Apr,Mai,Jun,Jul,Aug,Sep,Okt,Nov,Dez
+
+# Invalid Format Value Errors
+defaultInvalidValueError=Ungültiger Wert
+defaultInvalidFormatError=Ungültiges Format.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/logging.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/logging.properties b/frameworks/projects/framework/bundles/de_CH/logging.properties
new file mode 100644
index 0000000..9178b2b
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/logging.properties
@@ -0,0 +1,35 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# AbstractTarget
+
+charsInvalid=Fehler bei Filter '{0}': Die folgenden Zeichen sind unzulässig: []~$^&/(){}<>+=_-`!@#%?,:;'".
+charPlacement=Fehler bei Filter '{0}': '*' muss das Zeichen ganz rechts sein.
+
+# Log
+
+invalidTarget=Ungültiges Ziel angegeben.
+invalidLen=Die Länge einer Kategorie muss mindestens ein Zeichen betragen.
+invalidChars=Kategorien dürfen keines der folgenden Zeichen enthalten: []`~,!@#$%*^&()]{}+=|';?><./".
+
+# LogLogger
+
+levelLimit=Protokollierungsstufe kann nicht auf „LogEventLevel.ALL“ gesetzt werden.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/modules.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/modules.properties b/frameworks/projects/framework/bundles/de_CH/modules.properties
new file mode 100644
index 0000000..5d31f86
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/modules.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# ModuleLoader
+
+couldNotCreateModule=Modul „{0}“ konnte nicht erstellt werden.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/skins.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/skins.properties b/frameworks/projects/framework/bundles/de_CH/skins.properties
new file mode 100644
index 0000000..fa26b1c
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/skins.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# RectangularBorder
+
+notLoaded={0} kann nicht geladen werden.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/states.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/states.properties b/frameworks/projects/framework/bundles/de_CH/states.properties
new file mode 100644
index 0000000..36aaa11
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/states.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Developer RTE Section
+
+# AddChild
+
+alreadyParented=Es kann kein untergeordnete Element hinzugefügt werden, das bereits ein übergeordnetes Element hat.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/styles.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/styles.properties b/frameworks/projects/framework/bundles/de_CH/styles.properties
new file mode 100644
index 0000000..d9699bf
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/styles.properties
@@ -0,0 +1,22 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# StyleManagerImpl
+
+unableToLoad=Der Stil kann nicht geladen werden({0}): {1}.


[49/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/el_GR/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/el_GR/metadata.properties b/frameworks/locale/el_GR/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/el_GR/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/en_AU/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/en_AU/metadata.properties b/frameworks/locale/en_AU/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/en_AU/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/en_CA/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/en_CA/metadata.properties b/frameworks/locale/en_CA/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/en_CA/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/en_GB/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/en_GB/metadata.properties b/frameworks/locale/en_GB/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/en_GB/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/locale/pt_PT/metadata.properties
----------------------------------------------------------------------
diff --git a/frameworks/locale/pt_PT/metadata.properties b/frameworks/locale/pt_PT/metadata.properties
new file mode 100644
index 0000000..c62d379
--- /dev/null
+++ b/frameworks/locale/pt_PT/metadata.properties
@@ -0,0 +1,42 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+accessibilityClass.help = Specifies a helper class that implements this component's accessibility behavior.
+alternative.help = Specifies a recommended replacement for this class.
+arrayElementType.help = Specifies the allowed data type for the elements of this Array.
+bindable.help = Indicates that this property or method, or all the properties of this class, are able to be used in databinding expressions.
+defaultProperty.help = Specifies which property of this class can be set in MXML without enclosing its value in a property tag.
+deprecated.help = Marks this property, method, or class as being obsolete and no longer recommended for use.
+embed.help = Embeds an asset file (such as JPEG, PNG, MP3, XML, etc.) into a SWF, and initializes this variable to the corresponding asset class.
+event.help = Declares an event that this class dispatches.
+exclude.help = Omits a specified property, method, style, or event of this class from Flash Builder's code hints and from ASDoc.
+excludeClass.help = Omits this class from Flash Builder's code hints and from ASDoc.
+hostComponent.help = Specifies the SkinnableComponent that will use this Spark skin.
+iconFile.help = Specifies an icon to represent this component in Flash Builder.
+inspectable.help = Specifies how this property appears in Flash Builder's property inspector. Also used to specify the allowed values in MXML for a property of type String.
+managed.help = Indicates that LCDS should monitor all modifications (create/update/delete) to instances of this class. Managed classes are automatically bindable.
+nonCommitingChangeEvent.help = Specifies the event that indicates fine-grained value changes to this property, such as modifications in a TextInput prior to confirmation.
+percentProxy.help = Specifies a percent-based property that corresponds to this property. For example, width="100%" in MXML sets percentWidth to 100 in ActionScript.
+remoteClass.help = Specifies the remote class corresponding to this class for AMF serialization.
+resourceBundle.help = Indicates that this class uses a particular resource bundle, so that the bundle gets compiled into the SWF.
+richTextContent.help = Indicates that all characters should be interpreted literally as text when this property is set using character data in MXML.
+skinPart.help = Indicates that the value of this property is a skin part in this component's skin.
+skinState.help = Declares a view state that this component's skin must support.
+style.help = Declares a CSS style that this component supports.
+swf.help = Specifies information for the SWF header of this ActionScript application.
+transient.help = Indicates that this property should not participate in AMF serialization.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/build.xml b/frameworks/projects/advancedgrids/build.xml
index 1191df8..d9b9718 100644
--- a/frameworks/projects/advancedgrids/build.xml
+++ b/frameworks/projects/advancedgrids/build.xml
@@ -33,24 +33,12 @@
 				<!-- because targets that run before flexTasks.jar gets built would fail. -->
 				<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 				<compc fork="true"
-					output="${FLEX_HOME}/frameworks/locale/@{locale}/advancedgrids_rb.swc"
-					locale="@{locale}">
-					<target-player>${playerglobal.version}</target-player>
+					output="${FLEX_HOME}/frameworks/locale/@{locale}/advancedgrids_rb.swc">
 					<jvmarg line="${compc.jvm.args}"/>
-					<include-resource-bundles bundle="datamanagement"/>
-					<include-resource-bundles bundle="olap"/>
-					<include-namespaces/>
-					<include-classes/>
-					<source-path path-element="${basedir}/bundles/@{locale}"/>
-					<source-path path-element="${FLEX_HOME}/frameworks/projects/advancedgrids/src"/>
-					<include-libraries/>
-					<library-path/>
-					<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-						<include name="${playerglobal.version}/playerglobal.swc"/>
-					</external-library-path>
-					<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-						<include name="framework.swc"/>
-					</external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
 				</compc>
 		</sequential>
 	</macrodef>
@@ -116,6 +104,7 @@
 				<fat-swc locale="de_DE"/>
 			</run.fat.swc>
 		</bundler>
+		<bundler locale="de_CH"/><!-- Swiss German resources -->
 		<bundler locale="es_ES"/><!-- Spanish resources -->
 		<bundler locale="fi_FI"/><!--  Finnish resources-->
 		<bundler locale="fr_FR"><!-- French resources -->
@@ -198,28 +187,11 @@
 			into the file bundles.properties in this directory.
 		-->
 		<compc fork="true"
-			include-classes="AdvancedDataGridClasses"
-			output="${FLEX_HOME}/frameworks/libs/advancedgrids.swc"
-			resource-bundle-list="${basedir}/bundles.properties">
+			output="${FLEX_HOME}/frameworks/libs/advancedgrids.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest_advancedgrids.xml"/>
-			<include-namespaces>library://ns.adobe.com/flex/mx</include-namespaces>
-			<source-path path-element="${basedir}/src"/>
-			<library-path />
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="rpc.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/data_management.css"/>
-			<include-file name="defaults-3.0.0.css" path="${basedir}/data_management-3.0.0.css"/>
-			<locale/>
-            <accessible>true</accessible>
-			<show-deprecation-warnings>false</show-deprecation-warnings>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/bundle-config.xml b/frameworks/projects/advancedgrids/bundle-config.xml
new file mode 100644
index 0000000..0a08cb0
--- /dev/null
+++ b/frameworks/projects/advancedgrids/bundle-config.xml
@@ -0,0 +1,51 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../advancedgrids/src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>datamanagement</bundle>
+        <bundle>olap</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/bundles/de_CH/datamanagement.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/bundles/de_CH/datamanagement.properties b/frameworks/projects/advancedgrids/bundles/de_CH/datamanagement.properties
new file mode 100644
index 0000000..50fc8b2
--- /dev/null
+++ b/frameworks/projects/advancedgrids/bundles/de_CH/datamanagement.properties
@@ -0,0 +1,26 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# Developer RTE Section
+
+repeatColumnsNotAllowed=Jedes Spaltenobjekt kann nur einmal verwendet werden.
+
+# Design View
+
+Branch=Verzweigung {0}
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/bundles/de_CH/olap.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/bundles/de_CH/olap.properties b/frameworks/projects/advancedgrids/bundles/de_CH/olap.properties
new file mode 100644
index 0000000..465d21b
--- /dev/null
+++ b/frameworks/projects/advancedgrids/bundles/de_CH/olap.properties
@@ -0,0 +1,49 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+duplicateHierarchyOnAxes=„{0}“ erscheint auf Achse „{1}“ und auf Achse \n„{2}“.
+
+nullMemberOnAxis=NULL-Member sollte der Achse „{1}“ hinzugefügt werden.
+
+crossJoinSameHierarchyError= „{0}“ in beiden Sätzen gefunden.
+
+multipleHierarchies=Die Dimension enthält mehrere Hierarchien. Eine Hierarchie muss explizit angegeben werden.
+
+noMeasures=Für den Würfel wurden keine Maße angegeben.
+
+unionError=Die Sätze haben nicht dieselbe Dimensionalität. Vereinigung nicht möglich.
+
+invalidAggregator=Ungültiger Aggregatorwert „{0}“. Mögliche Werte sind: SUM, AVG, MIN, MAX und COUNT.
+
+invalidAttributeName=Das Attribut „{0}“ ist für die Dimension nicht verfügbar.
+
+noAttributeForLevel=Kein Attribut für eine Ebene in Hierarchie „{0}“ angegeben.
+
+multipleHierarchiesNotSupported=Mehrere benutzerdefinierte Hierarchien sollen der Dimension „{0}“ hinzugefügt werden. In dieser Version werden nur einzelne benutzerdefinierte Hierarchien unterstützt.
+
+zeroElementsOnAxis=Auf der Achse „{0}“ wurde kein Member gefunden.
+
+finalizingMessage=Wird abgeschlossen... Bitte warten.
+
+progressMessage=Daten der Zeile {0} von {1} werden verarbeitet
+
+dimensionProcessingMessage=Dimension {0} wird verarbeitet
+
+queryError=Abfragefehler
+
+error=Allgemeiner Fehler

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/bundles/pt_PT/datamanagement.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/bundles/pt_PT/datamanagement.properties b/frameworks/projects/advancedgrids/bundles/pt_PT/datamanagement.properties
index 941c634..4a7e911 100644
--- a/frameworks/projects/advancedgrids/bundles/pt_PT/datamanagement.properties
+++ b/frameworks/projects/advancedgrids/bundles/pt_PT/datamanagement.properties
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 # Developer RTE Section
 
 repeatColumnsNotAllowed=O mesmo objecto Column não pode ser usado mais do que uma vez

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/bundles/pt_PT/olap.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/bundles/pt_PT/olap.properties b/frameworks/projects/advancedgrids/bundles/pt_PT/olap.properties
index bab27c4..fd3db99 100644
--- a/frameworks/projects/advancedgrids/bundles/pt_PT/olap.properties
+++ b/frameworks/projects/advancedgrids/bundles/pt_PT/olap.properties
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 duplicateHierarchyOnAxes='[[0]]' aparece no eixo '[[1]]' e no eixo '[[2]]'
 
 nullMemberOnAxis=Foi executada uma tentativa de adição de um membro nulo ao eixo '[[1]]'

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/compile-config.xml b/frameworks/projects/advancedgrids/compile-config.xml
new file mode 100644
index 0000000..19fb7cb
--- /dev/null
+++ b/frameworks/projects/advancedgrids/compile-config.xml
@@ -0,0 +1,69 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/rpc.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest_advancedgrids.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <show-deprecation-warnings>false</show-deprecation-warnings>
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AdvancedDataGridClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>data_management.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-3.0.0.css</name>
+        <path>data_management-3.0.0.css</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>    
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as b/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
index 35ced1d..0809985 100644
--- a/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
+++ b/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as
@@ -16,7 +16,7 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-
+
 package mx.controls
 {
 
@@ -2345,6 +2345,13 @@ public class AdvancedDataGridBaseEx extends AdvancedDataGridBase implements IIME
             updateHeaderSearchList();
         
             createDisplayableColumns();
+            
+            // It is possible that columns became invisible and the hsp is no longer valid.
+            // Force visibleColumns to be recomputed now so if there are lockedColumns and
+            // updateSubContent() is called before updateDisplayList() is called,
+            // visibleColumns will be correct.
+            if (horizontalScrollPosition > visibleHeaderInfos.length)
+                horizontalScrollPosition = visibleHeaderInfos.length - 1;
         }
 
         super.commitProperties();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/.actionScriptProperties b/frameworks/projects/airframework/.actionScriptProperties
index 4afa048..038a98e 100644
--- a/frameworks/projects/airframework/.actionScriptProperties
+++ b/frameworks/projects/airframework/.actionScriptProperties
@@ -1,36 +1,36 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="airframework.as" projectUUID="cb4c3626-654d-486e-9897-bbabbca668dd" version="6">
-  <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -include-file=defaults.css,../defaults.css -include-file=defaults-3.0.0.css,../defaults-3.0.0.css -include-file=Assets.swf,../assets/Assets.swf -include-file=ComputerIcon.swf,../assets/ComputerIcon.swf -include-file=gripper_up.png,../assets/gripper_up.png -include-file=mac_close_down.png,../assets/mac_close_down.png -include-file=mac_close_over.png,../assets/mac_close_over.png -include-file=mac_close_up.png,../assets/mac_close_up.png -include-file=mac_max_dis.png,../assets/mac_max_dis.png -include-file=mac_max_down.png,../assets/mac_max_down.png -include-file=mac_max_over.png,../assets/mac_max_over.png -include-file=mac_max_up.png,../assets/mac_max_up.png -include-file=mac_min_dis.png,../assets/mac_min_dis.png -include-file=mac_min_down.png,../assets/mac_min_down.png -include-file=mac_min_over.png,../assets/mac_min_over.png -include-file=mac_min_up.png,../assets/mac_min_up.png -include-file=win_close_down.png,../as
 sets/win_close_down.png -include-file=win_close_over.png,../assets/win_close_over.png -include-file=win_close_up.png,../assets/win_close_up.png -include-file=win_max_dis.png,../assets/win_max_dis.png -include-file=win_max_down.png,../assets/win_max_down.png -include-file=win_max_over.png,../assets/win_max_over.png -include-file=win_max_up.png,../assets/win_max_up.png -include-file=win_min_dis.png,../assets/win_min_dis.png -include-file=win_min_down.png,../assets/win_min_down.png -include-file=win_min_over.png,../assets/win_min_over.png -include-file=win_min_up.png,../assets/win_min_up.png -include-file=win_restore_down.png,../assets/win_restore_down.png -include-file=win_restore_over.png,../assets/win_restore_over.png -include-file=win_restore_up.png,../assets/win_restore_up.png -namespace=library://ns.adobe.com/flex/mx,../manifest.xml -include-namespaces=library://ns.adobe.com/flex/mx -resource-bundle-list=bundles.properties -minimum-supported-version=3.0.0 -enable-swc-version-filt
 ering=false -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/air/airglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="airframework.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="airframework.as" projectUUID="cb4c3626-654d-486e-9897-bbabbca668dd" version="6">
+  <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -include-file=defaults.css,../defaults.css -include-file=defaults-3.0.0.css,../defaults-3.0.0.css -include-file=Assets.swf,../assets/Assets.swf -include-file=ComputerIcon.swf,../assets/ComputerIcon.swf -include-file=gripper_up.png,../assets/gripper_up.png -include-file=mac_close_down.png,../assets/mac_close_down.png -include-file=mac_close_over.png,../assets/mac_close_over.png -include-file=mac_close_up.png,../assets/mac_close_up.png -include-file=mac_max_dis.png,../assets/mac_max_dis.png -include-file=mac_max_down.png,../assets/mac_max_down.png -include-file=mac_max_over.png,../assets/mac_max_over.png -include-file=mac_max_up.png,../assets/mac_max_up.png -include-file=mac_min_dis.png,../assets/mac_min_dis.png -include-file=mac_min_down.png,../assets/mac_min_down.png -include-file=mac_min_over.png,../assets/mac_min_over.png -include-file=mac_min_up.png,../assets/mac_min_up.png -include-file=win_close_down.png,../as
 sets/win_close_down.png -include-file=win_close_over.png,../assets/win_close_over.png -include-file=win_close_up.png,../assets/win_close_up.png -include-file=win_max_dis.png,../assets/win_max_dis.png -include-file=win_max_down.png,../assets/win_max_down.png -include-file=win_max_over.png,../assets/win_max_over.png -include-file=win_max_up.png,../assets/win_max_up.png -include-file=win_min_dis.png,../assets/win_min_dis.png -include-file=win_min_down.png,../assets/win_min_down.png -include-file=win_min_over.png,../assets/win_min_over.png -include-file=win_min_up.png,../assets/win_min_up.png -include-file=win_restore_down.png,../assets/win_restore_down.png -include-file=win_restore_over.png,../assets/win_restore_over.png -include-file=win_restore_up.png,../assets/win_restore_up.png -namespace=library://ns.adobe.com/flex/mx,../manifest.xml -include-namespaces=library://ns.adobe.com/flex/mx -resource-bundle-list=bundles.properties -minimum-supported-version=3.0.0 -enable-swc-version-filt
 ering=false -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/air/airglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="airframework.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/.flexLibProperties b/frameworks/projects/airframework/.flexLibProperties
index 51c22ba..99fb737 100644
--- a/frameworks/projects/airframework/.flexLibProperties
+++ b/frameworks/projects/airframework/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="AIRFrameworkClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/build.xml b/frameworks/projects/airframework/build.xml
index 7d4603a..4dae004 100644
--- a/frameworks/projects/airframework/build.xml
+++ b/frameworks/projects/airframework/build.xml
@@ -36,33 +36,12 @@
 		<!-- because targets that run before flexTasks.jar gets built would fail. -->
 		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/locale/@{locale}/airframework_rb.swc"
-			   locale="@{locale}">
-			<target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-resource-bundles bundle="SharedResources"/>
-			<include-resource-bundles bundle="aircontrols"/>
-			<include-resource-bundles bundle="collections"/>
-			<include-resource-bundles bundle="containers"/>
-			<include-resource-bundles bundle="controls"/>
-			<include-resource-bundles bundle="core"/>
-			<include-resource-bundles bundle="effects"/>
-			<include-resource-bundles bundle="formatters"/>
-			<include-resource-bundles bundle="skins"/>
-			<include-resource-bundles bundle="styles"/>
-			<include-namespaces/>
-			<include-classes/>
-			<source-path path-element="${basedir}/bundles/@{locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/mx/bundles/@{locale}"/>
-			<include-libraries/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-			</external-library-path>
+			   output="${FLEX_HOME}/frameworks/locale/@{locale}/airframework_rb.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="bundle-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+locale=@{locale}" />
 		</compc>
 		</sequential>
 	</macrodef>	
@@ -124,6 +103,7 @@
 				<fat-swc locale="de_DE"/>
 			</run.fat.swc>
 		</bundler>
+		<bundler locale="de_CH"/><!-- Swiss German resources -->
 		<bundler locale="es_ES"/><!-- Spanish resources -->
 		<bundler locale="fi_FI"/><!--  Finnish resources-->
 		<bundler locale="fr_FR"><!-- French resources -->
@@ -228,56 +208,11 @@
 			into the file bundles.properties in this directory.
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/air/airframework.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-		    <target-player>${playerglobal.version}</target-player>
+			   output="${FLEX_HOME}/frameworks/libs/air/airframework.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest.xml"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/mx"/>
-			<include-classes>AIRFrameworkClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-            <external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<include-file name="defaults-3.0.0.css" path="${basedir}/defaults-3.0.0.css"/>
-			<include-file name="Assets.swf" path="${basedir}/assets/Assets.swf"/>
-			<include-file name="ComputerIcon.swf" path="${basedir}/assets/ComputerIcon.swf"/>
-			<include-file name="gripper_up.png" path="${basedir}//assets/gripper_up.png"/>
-			<include-file name="mac_close_down.png" path="${basedir}/assets/mac_close_down.png"/>
-			<include-file name="mac_close_over.png" path="${basedir}/assets/mac_close_over.png"/>
-			<include-file name="mac_close_up.png" path="${basedir}/assets/mac_close_up.png"/>
-			<include-file name="mac_max_dis.png" path="${basedir}/assets/mac_max_dis.png"/>
-			<include-file name="mac_max_down.png" path="${basedir}/assets/mac_max_down.png"/>
-			<include-file name="mac_max_over.png" path="${basedir}/assets/mac_max_over.png"/>
-			<include-file name="mac_max_up.png" path="${basedir}/assets/mac_max_up.png"/>
-			<include-file name="mac_min_dis.png" path="${basedir}/assets/mac_min_dis.png"/>
-			<include-file name="mac_min_down.png" path="${basedir}/assets/mac_min_down.png"/>
-			<include-file name="mac_min_over.png" path="${basedir}/assets/mac_min_over.png"/>
-			<include-file name="mac_min_up.png" path="${basedir}/assets/mac_min_up.png"/>
-			<include-file name="win_close_down.png" path="${basedir}/assets/win_close_down.png"/>
-			<include-file name="win_close_over.png" path="${basedir}/assets/win_close_over.png"/>
-			<include-file name="win_close_up.png" path="${basedir}/assets/win_close_up.png"/>
-			<include-file name="win_max_dis.png" path="${basedir}/assets/win_max_dis.png"/>
-			<include-file name="win_max_down.png" path="${basedir}/assets/win_max_down.png"/>
-			<include-file name="win_max_over.png" path="${basedir}/assets/win_max_over.png"/>
-			<include-file name="win_max_up.png" path="${basedir}/assets/win_max_up.png"/>
-			<include-file name="win_min_dis.png" path="${basedir}/assets/win_min_dis.png"/>
-			<include-file name="win_min_down.png" path="${basedir}/assets/win_min_down.png"/>
-			<include-file name="win_min_over.png" path="${basedir}/assets/win_min_over.png"/>
-			<include-file name="win_min_up.png" path="${basedir}/assets/win_min_up.png"/>
-			<include-file name="win_restore_down.png" path="${basedir}/assets/win_restore_down.png"/>
-			<include-file name="win_restore_over.png" path="${basedir}/assets/win_restore_over.png"/>
-			<include-file name="win_restore_up.png" path="${basedir}/assets/win_restore_up.png"/>
-			<locale/>
-		        <keep-as3-metadata name="SkinPart"/>
-		        <accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 		</compc>
 	</target>
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/bundle-config.xml b/frameworks/projects/airframework/bundle-config.xml
new file mode 100644
index 0000000..726f0e1
--- /dev/null
+++ b/frameworks/projects/airframework/bundle-config.xml
@@ -0,0 +1,60 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/bundles/${locale}</path-element>
+            <path-element>../mx/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>SharedResources</bundle>
+        <bundle>aircontrols</bundle>
+        <bundle>collections</bundle>
+        <bundle>containers</bundle>
+        <bundle>controls</bundle>
+        <bundle>core</bundle>
+        <bundle>effects</bundle>
+        <bundle>formatters</bundle>
+        <bundle>skins</bundle>
+        <bundle>styles</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/bundles/de_CH/aircontrols.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/bundles/de_CH/aircontrols.properties b/frameworks/projects/airframework/bundles/de_CH/aircontrols.properties
new file mode 100644
index 0000000..f73da49
--- /dev/null
+++ b/frameworks/projects/airframework/bundles/de_CH/aircontrols.properties
@@ -0,0 +1,47 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+computer=Computer
+
+fileSystemList_measuredText=XXXXXXXXXXXXXXXXXXXXXXXXX
+
+fileSystemDataGrid_nameColumnHeader=Name
+fileSystemDataGrid_nameColumnMeasuredText=XXXXXXXXXXXXXXX
+
+fileSystemDataGrid_typeColumnHeader=Typ
+fileSystemDataGrid_typeColumnMeasuredText=XXXX-Datei
+fileSystemDataGrid_typeFolder=Ordner
+fileSystemDataGrid_typeFileWithExtension={0} Datei
+fileSystemDataGrid_typeFileWithoutExtension=Datei
+
+fileSystemDataGrid_sizeColumnHeader=Größe
+fileSystemDataGrid_sizeColumnMeasuredText=0000000000
+fileSystemDataGrid_sizeFolder=-
+fileSystemDataGrid_sizeBytes={0}
+fileSystemDataGrid_sizeKilobytes={0} KB
+
+fileSystemDataGrid_creationDateColumnHeader=Erstellt
+fileSystemDataGrid_creationDateColumnMeasuredText=00.00.0000 00:00
+
+fileSystemDataGrid_modificationDateColumnHeader=Geändert am
+fileSystemDataGrid_modificationDateColumnMeasuredText=00.00.0000 00:00
+
+fileSystemDataGrid_dateFormatString=DD.MM.YYYY HH:NN
+
+fileSystemTree_measuredText=XXXXXXXXXXXXXXXXXXXXXXXXX

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/bundles/pt_PT/aircontrols.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/bundles/pt_PT/aircontrols.properties b/frameworks/projects/airframework/bundles/pt_PT/aircontrols.properties
index db9924c..cb56a38 100644
--- a/frameworks/projects/airframework/bundles/pt_PT/aircontrols.properties
+++ b/frameworks/projects/airframework/bundles/pt_PT/aircontrols.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/compile-config.xml b/frameworks/projects/airframework/compile-config.xml
new file mode 100644
index 0000000..19fbc79
--- /dev/null
+++ b/frameworks/projects/airframework/compile-config.xml
@@ -0,0 +1,185 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AIRFrameworkClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-3.0.0.css</name>
+        <path>defaults-3.0.0.css</path>
+    </include-file>
+    <include-file>
+        <name>Assets.swf</name>
+        <path>assets/Assets.swf</path>
+    </include-file>
+    <include-file>
+        <name>ComputerIcon.swf</name>
+        <path>assets/ComputerIcon.swf</path>
+    </include-file>
+    <include-file>
+        <name>gripper_up.png</name>
+        <path>assets/gripper_up.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_close_down.png</name>
+        <path>assets/mac_close_down.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_close_over.png</name>
+        <path>assets/mac_close_over.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_close_up.png</name>
+        <path>assets/mac_close_up.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_max_dis.png</name>
+        <path>assets/mac_max_dis.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_max_down.png</name>
+        <path>assets/mac_max_down.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_max_over.png</name>
+        <path>assets/mac_max_over.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_max_up.png</name>
+        <path>assets/mac_max_up.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_min_dis.png</name>
+        <path>assets/mac_min_dis.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_min_down.png</name>
+        <path>assets/mac_min_down.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_min_over.png</name>
+        <path>assets/mac_min_over.png</path>
+    </include-file>
+    <include-file>
+        <name>mac_min_up.png</name>
+        <path>assets/mac_min_up.png</path>
+    </include-file>
+    <include-file>
+        <name>win_close_down.png</name>
+        <path>assets/win_close_down.png</path>
+    </include-file>
+    <include-file>
+        <name>win_close_over.png</name>
+        <path>assets/win_close_over.png</path>
+    </include-file>
+    <include-file>
+        <name>win_close_up.png</name>
+        <path>assets/win_close_up.png</path>
+    </include-file>
+    <include-file>
+        <name>win_max_dis.png</name>
+        <path>assets/win_max_dis.png</path>
+    </include-file>
+    <include-file>
+        <name>win_max_down.png</name>
+        <path>assets/win_max_down.png</path>
+    </include-file>
+    <include-file>
+        <name>win_max_over.png</name>
+        <path>assets/win_max_over.png</path>
+    </include-file>
+    <include-file>
+        <name>win_max_up.png</name>
+        <path>assets/win_max_up.png</path>
+    </include-file>
+    <include-file>
+        <name>win_min_dis.png</name>
+        <path>assets/win_min_dis.png</path>
+    </include-file>
+    <include-file>
+        <name>win_min_down.png</name>
+        <path>assets/win_min_down.png</path>
+    </include-file>
+    <include-file>
+        <name>win_min_over.png</name>
+        <path>assets/win_min_over.png</path>
+    </include-file>
+    <include-file>
+        <name>win_min_up.png</name>
+        <path>assets/win_min_up.png</path>
+    </include-file>
+    <include-file>
+        <name>win_restore_down.png</name>
+        <path>assets/win_restore_down.png</path>
+    </include-file>
+    <include-file>
+        <name>win_restore_over.png</name>
+        <path>assets/win_restore_over.png</path>
+    </include-file>
+    <include-file>
+        <name>win_restore_up.png</name>
+        <path>assets/win_restore_up.png</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as b/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as
index 1c84a2c..afad68f 100644
--- a/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as
+++ b/frameworks/projects/airframework/src/mx/controls/FileSystemDataGrid.as
@@ -1605,7 +1605,17 @@ public class FileSystemDataGrid extends DataGrid
         if (!item.exists) // item may have been deleted
             return "";
 
-        return dateFormatter.format(item.creationDate);
+		var s:String;
+		try 
+		{
+	        s = dateFormatter.format(item.creationDate);
+		} 
+		catch (e:Error)
+		{
+			// a bad alias on mac will not have a valid creation date
+			s = "";
+		}
+		return s;
     }
 
     /**
@@ -1617,7 +1627,17 @@ public class FileSystemDataGrid extends DataGrid
         if (!item.exists) // item may have been deleted
             return "";
 
-        return dateFormatter.format(item.modificationDate);
+		var s:String;
+		try
+		{
+        	s = dateFormatter.format(item.modificationDate);
+		} 
+		catch (e:Error)
+		{
+			// a bad alias on mac will not have a valid mod date
+			s = "";
+		}
+		return s;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airspark/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/.actionScriptProperties b/frameworks/projects/airspark/.actionScriptProperties
index 021733b..351e03e 100644
--- a/frameworks/projects/airspark/.actionScriptProperties
+++ b/frameworks/projects/airspark/.actionScriptProperties
@@ -1,37 +1,37 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="airspark.as" projectUUID="e456729a-8257-4f21-9d3e-b510a8b315d6" version="6">
-  <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -include-file=defaults.css,../defaults.css -include-file=gripper_up.png,../assets/gripper_up.png -include-file=mac_close_down.png,../assets/mac_close_down.png -include-file=mac_close_over.png,../assets/mac_close_over.png -include-file=mac_close_up.png,../assets/mac_close_up.png -include-file=mac_max_dis.png,../assets/mac_max_dis.png -include-file=mac_max_down.png,../assets/mac_max_down.png -include-file=mac_max_over.png,../assets/mac_max_over.png -include-file=mac_max_up.png,../assets/mac_max_up.png -include-file=mac_min_dis.png,../assets/mac_min_dis.png -include-file=mac_min_down.png,../assets/mac_min_down.png -include-file=mac_min_over.png,../assets/mac_min_over.png -include-file=mac_min_up.png,../assets/mac_min_up.png -include-file=win_close_down.png,../assets/win_close_down.png -include-file=win_close_over.png,../assets/win_close_over.png -include-file=win_close_up.png,../assets/win_close_up.png -include-file=w
 in_max_dis.png,../assets/win_max_dis.png -include-file=win_max_down.png,../assets/win_max_down.png -include-file=win_max_over.png,../assets/win_max_over.png -include-file=win_max_up.png,../assets/win_max_up.png -include-file=win_min_dis.png,../assets/win_min_dis.png -include-file=win_min_down.png,../assets/win_min_down.png -include-file=win_min_over.png,../assets/win_min_over.png -include-file=win_min_up.png,../assets/win_min_up.png -include-file=win_restore_down.png,../assets/win_restore_down.png -include-file=win_restore_over.png,../assets/win_restore_over.png -include-file=win_restore_up.png,../assets/win_restore_up.png -namespace=library://ns.adobe.com/flex/spark,../manifest.xml -include-namespaces=library://ns.adobe.com/flex/spark -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPl
 ayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/air/airglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/airframework/bin/airframework.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="airspark.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="airspark.as" projectUUID="e456729a-8257-4f21-9d3e-b510a8b315d6" version="6">
+  <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -include-file=defaults.css,../defaults.css -include-file=gripper_up.png,../assets/gripper_up.png -include-file=mac_close_down.png,../assets/mac_close_down.png -include-file=mac_close_over.png,../assets/mac_close_over.png -include-file=mac_close_up.png,../assets/mac_close_up.png -include-file=mac_max_dis.png,../assets/mac_max_dis.png -include-file=mac_max_down.png,../assets/mac_max_down.png -include-file=mac_max_over.png,../assets/mac_max_over.png -include-file=mac_max_up.png,../assets/mac_max_up.png -include-file=mac_min_dis.png,../assets/mac_min_dis.png -include-file=mac_min_down.png,../assets/mac_min_down.png -include-file=mac_min_over.png,../assets/mac_min_over.png -include-file=mac_min_up.png,../assets/mac_min_up.png -include-file=win_close_down.png,../assets/win_close_down.png -include-file=win_close_over.png,../assets/win_close_over.png -include-file=win_close_up.png,../assets/win_close_up.png -include-file=w
 in_max_dis.png,../assets/win_max_dis.png -include-file=win_max_down.png,../assets/win_max_down.png -include-file=win_max_over.png,../assets/win_max_over.png -include-file=win_max_up.png,../assets/win_max_up.png -include-file=win_min_dis.png,../assets/win_min_dis.png -include-file=win_min_down.png,../assets/win_min_down.png -include-file=win_min_over.png,../assets/win_min_over.png -include-file=win_min_up.png,../assets/win_min_up.png -include-file=win_restore_down.png,../assets/win_restore_down.png -include-file=win_restore_over.png,../assets/win_restore_over.png -include-file=win_restore_up.png,../assets/win_restore_up.png -namespace=library://ns.adobe.com/flex/spark,../manifest.xml -include-namespaces=library://ns.adobe.com/flex/spark -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPl
 ayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="true" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/air/airglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/airframework/bin/airframework.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="airspark.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airspark/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/.flexLibProperties b/frameworks/projects/airspark/.flexLibProperties
index d615697..cd30d19 100644
--- a/frameworks/projects/airspark/.flexLibProperties
+++ b/frameworks/projects/airspark/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="AIRSparkClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airspark/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/build.xml b/frameworks/projects/airspark/build.xml
index 4d08c8a..b70c996 100644
--- a/frameworks/projects/airspark/build.xml
+++ b/frameworks/projects/airspark/build.xml
@@ -37,22 +37,12 @@
                 <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
                 
                 <compc fork="true"
-                       output="${FLEX_HOME}/frameworks/locale/@{locale}/airspark_rb.swc"
-                       locale="@{locale}">
-                    <target-player>${playerglobal.version}</target-player>
+                       output="${FLEX_HOME}/frameworks/locale/@{locale}/airspark_rb.swc">
                     <jvmarg line="${compc.jvm.args}"/>
-                    <include-resource-bundles bundle="core"/>
-                    <include-namespaces/>
-                    <include-classes/>
-                    <source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/> 
-                    <include-libraries/>
-                    <library-path/>
-                    <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                        <include name="${playerglobal.version}/playerglobal.swc"/>
-                    </external-library-path>
-                    <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                        <include name="framework.swc"/> 
-                    </external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
                 </compc>
             </sequential>
     </macrodef> 
@@ -196,29 +186,11 @@
             into the file bundles.properties in this directory.
         -->
         <compc fork="true"
-               output="${FLEX_HOME}/frameworks/libs/air/airspark.swc"
-               resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
+               output="${FLEX_HOME}/frameworks/libs/air/airspark.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest.xml"/>
-            <include-namespaces uri="library://ns.adobe.com/flex/spark"/>
-            <include-classes>AIRSparkClasses</include-classes>
-            <source-path path-element="${basedir}/src"/>
-            <library-path/>
-            <external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="air/airframework.swc"/>
-                <include name="framework.swc"/>
-                <include name="mx/mx.swc"/>
-                <include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-            </external-library-path>
-            <include-file name="defaults.css" path="${basedir}/defaults.css"/>
-            <locale/>
-                <keep-as3-metadata name="SkinPart"/>
-                <accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
         </compc>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airspark/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/bundle-config.xml b/frameworks/projects/airspark/bundle-config.xml
new file mode 100644
index 0000000..41d18a1
--- /dev/null
+++ b/frameworks/projects/airspark/bundle-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>../framework/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>core</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>


[30/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-squiggle.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-squiggle.pom.template b/modules/thirdparty/batik/sources/batik-squiggle.pom.template
new file mode 100644
index 0000000..44ab2f8
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-squiggle.pom.template
@@ -0,0 +1,146 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-squiggle</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik SVG browser application</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-gui-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-gvt</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-script</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-swing</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-transcoder</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-xml</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-svg-dom.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-svg-dom.pom.template b/modules/thirdparty/batik/sources/batik-svg-dom.pom.template
new file mode 100644
index 0000000..f04f5d1
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-svg-dom.pom.template
@@ -0,0 +1,121 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-svg-dom</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik SVG DOM implementation</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-anim</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-css</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-parser</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-svggen.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-svggen.pom.template b/modules/thirdparty/batik/sources/batik-svggen.pom.template
new file mode 100644
index 0000000..67fdfa3
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-svggen.pom.template
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-svggen</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik Java2D SVG generator</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-transcoder.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-transcoder.pom.template b/modules/thirdparty/batik/sources/batik-transcoder.pom.template
new file mode 100644
index 0000000..cd8f99a
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-transcoder.pom.template
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-transcoder</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik SVG transcoder classes</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>fop</artifactId>
+      <version>0.94</version>
+      <exclusions>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-svg-dom</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-bridge</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-awt-util</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-gvt</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-transcoder</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-extension</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>batik</groupId>
+          <artifactId>batik-ext</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-gvt</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svggen</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-xml</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-ttf2svg.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-ttf2svg.mf b/modules/thirdparty/batik/sources/batik-ttf2svg.mf
deleted file mode 100644
index d209f28..0000000
--- a/modules/thirdparty/batik/sources/batik-ttf2svg.mf
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.apache.flex.forks.batik.apps.ttf2svg.Main
-Class-Path: lib/batik-svggen.jar \
-            lib/batik-util.jar

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-util.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-util.pom.template b/modules/thirdparty/batik/sources/batik-util.pom.template
new file mode 100644
index 0000000..c3b2145
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-util.pom.template
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-util</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik utility library</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-xml.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-xml.pom.template b/modules/thirdparty/batik/sources/batik-xml.pom.template
new file mode 100644
index 0000000..591f865
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-xml.pom.template
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-xml</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik XML utility library</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik.mf b/modules/thirdparty/batik/sources/batik.mf
index 5dbea69..e901d94 100644
--- a/modules/thirdparty/batik/sources/batik.mf
+++ b/modules/thirdparty/batik/sources/batik.mf
@@ -1,5 +1,5 @@
 Manifest-Version: 1.0
-Main-Class: org.apache.flex.forks.batik.apps.svgbrowser.Main
+Main-Class: org.apache.batik.apps.svgbrowser.Main
 Class-Path: lib/batik-ext.jar \
             lib/batik-dom.jar \
             lib/batik-css.jar \
@@ -9,9 +9,11 @@ Class-Path: lib/batik-ext.jar \
             lib/batik-script.jar \
             lib/batik-bridge.jar \
             lib/batik-swing.jar \
+            lib/batik-anim.jar \
             lib/batik-transcoder.jar \
             lib/batik-gui-util.jar \
             lib/batik-awt-util.jar \
+            lib/batik-codec.jar \
             lib/batik-util.jar \
             lib/batik-root.jar \
             lib/batik-svggen.jar \
@@ -20,6 +22,8 @@ Class-Path: lib/batik-ext.jar \
             batik-rasterizer.jar \
             batik-pp.jar \
             lib/xerces_2_5_0.jar \
+            lib/xalan-2.6.0.jar \
             lib/xml-apis.jar \
+            lib/xml-apis-ext.jar \
             lib/pdf-transcoder.jar \
             lib/js.jar

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/make-squiggle-app.sh.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/make-squiggle-app.sh.template b/modules/thirdparty/batik/sources/make-squiggle-app.sh.template
new file mode 100644
index 0000000..46356a5
--- /dev/null
+++ b/modules/thirdparty/batik/sources/make-squiggle-app.sh.template
@@ -0,0 +1,87 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# make-squiggle-app.sh
+#
+# Creates a Mac OS X application bundle for Squiggle, then opens a Finder
+# window for the current directory so that the user can drag the icon
+# into their desired installation location (probably /Applications).
+#
+# $Id$
+# -----------------------------------------------------------------------------
+
+trap 'echo Error creating application bundle.; exit 1' ERR
+
+cd `dirname "$0"`/..
+
+APP=Squiggle.app
+CON=$APP/Contents
+MAC=$CON/MacOS
+RES=$CON/Resources
+
+[ -e $APP ] && echo $APP already exists: please move it out of the way before running this script. && exit 1
+
+echo Creating $APP in `pwd`...
+
+mkdir $APP $CON $MAC $RES
+
+cat >$CON/Info.plist <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+  <key>CFBundleExecutable</key>
+  <string>Squiggle</string>
+  <key>CFBundleVersion</key>
+  <string>@VERSION@</string>
+  <key>CFBundleShortVersionString</key>
+  <string>@VERSION@</string>
+  <key>CFBundleIconFile</key>
+  <string>Squiggle.icns</string>
+  <key>CFBundleIdentifier</key>
+  <string>org.apache.batik</string>
+  <key>CFBundleInfoDictionaryVersion</key>
+  <string>6.0</string>
+  <key>CFBundleName</key>
+  <string>Squiggle</string>
+  <key>CFBundlePackageType</key>
+  <string>APPL</string>
+  <key>CFBundleSignature</key>
+  <string>????</string>
+  <key>NSHumanReadableCopyright</key>
+  <string>Copyright © @YEAR@ Apache Software Foundation. All Rights Reserved.</string>
+</dict>
+</plist>
+EOF
+
+cat >$MAC/Squiggle <<EOF
+#!/bin/sh
+
+JAVA=/usr/bin/java
+[ -e "$JAVA_HOME/bin/java" ] && JAVA="$JAVA_HOME/bin/java"
+
+"$JAVA" -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar "\`dirname \$0\`/../Resources/batik-squiggle.jar"
+EOF
+chmod a+x $MAC/Squiggle
+
+cp -r *.jar lib extensions $RES/
+mv $RES/lib/Squiggle.icns $RES/
+
+echo Done.
+
+open .

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Makefile
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Makefile b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Makefile
new file mode 100644
index 0000000..f6ad40e
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Makefile
@@ -0,0 +1,21 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+default :
+	$(MAKE) -C ../../../..

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Version.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Version.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Version.java
index 2864fe9..632d9b5 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Version.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/Version.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2003 The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -15,37 +16,88 @@
    limitations under the License.
 
  */
-
 package org.apache.flex.forks.batik;
 
 /**
  * This class defines the Batik version number.
  *
  * @author <a href="mailto:vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: Version.java,v 1.3 2004/09/24 10:56:36 deweese Exp $
+ * @version $Id: Version.java 568875 2007-08-23 08:12:11Z cam $
  */
 public final class Version {
-    public static final String LABEL_DEVELOPMENT_BUILD
-        = "development.build";
-    
+
     /**
-     * @return the Batik version. This is based on the CVS tag.
-     * If this Version is not part of a tagged release, then
-     * the returned value is a constant reflecting a development
-     * build.
+     * Returns the Batik version.
+     * <p>
+     *   This is based on the Implementation-Version attribute in the
+     *   batik-util.jar (which is where this Version class lives) and
+     *   the 'HeadURL' SVN keyword.  The keyword be substituted with
+     *   the URL of this file, which is then inspected to determine if this
+     *   file was compiled from the trunk, a tag (a release version), or a
+     *   branch.  The format of the returned string will be one of the
+     *   following:
+     * </p>
+     * <table>
+     *   <tr>
+     *     <th>Source</th>
+     *     <th>Version string</th>
+     *   </tr>
+     *   <tr>
+     *     <td>Release version</td>
+     *     <td><em>version</em></td>
+     *   </tr>
+     *   <tr>
+     *     <td>Trunk</td>
+     *     <td><em>version</em>+r<em>revision</em></td>
+     *   </tr>
+     *   <tr>
+     *     <td>Branch</td>
+     *     <td><em>version</em>+r<em>revision</em>; <em>branch-name</em></td>
+     *   </tr>
+     *   <tr>
+     *     <td>Unknown</td>
+     *     <td>development version</td>
+     *   </tr>
+     * </table>
+     * <p>
+     *   Prior to release 1.7, the version string would
+     *   be the straight tag (e.g. <code>"batik-1_6"</code>) or the
+     *   string <code>"development.version"</code>.  <em>revision</em> is the
+     *   Subversion working copy's revision number.
+     * </p>
      */
     public static String getVersion() {
-        String tagName = "$Name: batik-1_6 $";
-        if (tagName.startsWith("$Name:")) {
-            tagName = tagName.substring(6, tagName.length()-1);
-        } else {
-            tagName = "";
+        Package pkg = Version.class.getPackage();
+        String version = null;
+        if (pkg != null) {
+            version = pkg.getImplementationVersion();
+        }
+        String headURL = "$HeadURL: https://svn.apache.org/repos/asf/xmlgraphics/batik/tags/batik-1_7/sources/org/apache/batik/Version.java $";
+        String prefix = "$HeadURL: ";
+        String suffix = "/sources/org/apache/batik/Version.java $";
+        if (headURL.startsWith(prefix) && headURL.endsWith(suffix)) {
+            headURL = headURL.substring
+                (prefix.length(), headURL.length() - suffix.length());
+            if (!headURL.endsWith("/trunk")) {
+                int index1 = headURL.lastIndexOf('/');
+                int index2 = headURL.lastIndexOf('/', index1 - 1);
+                String name = headURL.substring(index1 + 1);
+                String type = headURL.substring(index2 + 1, index1);
+                String tagPrefix = "batik-";
+                if (type.equals("tags") && name.startsWith(tagPrefix)) {
+                    // Release, just use the tag name
+                    version = name.substring(tagPrefix.length())
+                                  .replace('_', '.');
+                } else if (type.equals("branches")) {
+                    // SVN branch
+                    version += "; " + name;
+                }
+            }
         }
-        
-        if(tagName.trim().intern().equals("")){
-            tagName = LABEL_DEVELOPMENT_BUILD;
+        if (version == null) {
+            version = "development version";
         }
 
-        return tagName;
+        return version;
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AbstractAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AbstractAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AbstractAnimation.java
new file mode 100644
index 0000000..0a9d9ff
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AbstractAnimation.java
@@ -0,0 +1,210 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+
+// import org.apache.flex.forks.batik.anim.timing.Trace;
+
+/**
+ * An abstract base class for the different types of animation.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AbstractAnimation.java 478283 2006-11-22 18:53:40Z dvholten $
+ */
+public abstract class AbstractAnimation {
+
+    // Constants for calcMode.
+    public static final short CALC_MODE_DISCRETE = 0;
+    public static final short CALC_MODE_LINEAR   = 1;
+    public static final short CALC_MODE_PACED    = 2;
+    public static final short CALC_MODE_SPLINE   = 3;
+
+    /**
+     * The TimedElement that controls the timing of this animation.
+     */
+    protected TimedElement timedElement;
+
+    /**
+     * The AnimatableElement that gives access to underlying values in the
+     * document.
+     */
+    protected AnimatableElement animatableElement;
+
+    /**
+     * The animation that is lower in the sandwich.
+     */
+    protected AbstractAnimation lowerAnimation;
+
+    /**
+     * The animation that is higher in the sandwich.
+     */
+    protected AbstractAnimation higherAnimation;
+
+    /**
+     * Whether this animation needs recomputing.
+     */
+    protected boolean isDirty;
+
+    /**
+     * Whether this animation is active.
+     */
+    protected boolean isActive;
+
+    /**
+     * Whether this animation is frozen.
+     */
+    protected boolean isFrozen;
+
+    /**
+     * The time at which this animation became active.  Used for ensuring the
+     * sandwich order is correct when multiple animations become active
+     * simultaneously.
+     */
+    protected float beginTime;
+
+    /**
+     * The value of this animation.
+     */
+    protected AnimatableValue value;
+
+    /**
+     * The value of this animation composed with any others.
+     */
+    protected AnimatableValue composedValue;
+
+    /**
+     * Whether this animation depends on the underlying value.
+     */
+    protected boolean usesUnderlyingValue;
+
+    /**
+     * Whether this animation is a 'to-animation'.
+     */
+    protected boolean toAnimation;
+
+    /**
+     * Creates a new Animation.
+     */
+    protected AbstractAnimation(TimedElement timedElement,
+                                AnimatableElement animatableElement) {
+        this.timedElement = timedElement;
+        this.animatableElement = animatableElement;
+    }
+
+    /**
+     * Returns the TimedElement for this animation.
+     */
+    public TimedElement getTimedElement() {
+        return timedElement;
+    }
+
+    /**
+     * Returns the value of this animation, or null if it isn't active.
+     */
+    public AnimatableValue getValue() {
+        if (!isActive && !isFrozen) {
+            return null;
+        }
+        return value;
+    }
+
+    /**
+     * Returns the composed value of this animation, or null if it isn't active.
+     */
+    public AnimatableValue getComposedValue() {
+        // Trace.enter(this, "getComposedValue", null); try {
+        // Trace.print("isActive == " + isActive + ", isFrozen == " + isFrozen + ", isDirty == " + isDirty);
+        if (!isActive && !isFrozen) {
+            return null;
+        }
+        if (isDirty) {
+            // Trace.print("willReplace() == " + willReplace());
+            // Trace.print("value == " + value);
+            AnimatableValue lowerValue = null;
+            if (!willReplace()) {
+                // Trace.print("lowerAnimation == " + lowerAnimation);
+                if (lowerAnimation == null) {
+                    lowerValue = animatableElement.getUnderlyingValue();
+                    usesUnderlyingValue = true;
+                } else {
+                    lowerValue = lowerAnimation.getComposedValue();
+                    usesUnderlyingValue = false;
+                }
+                // Trace.print("lowerValue == " + lowerValue);
+            }
+            composedValue =
+                value.interpolate(composedValue, null, 0f, lowerValue, 1);
+            // Trace.print("composedValue == " + composedValue);
+            isDirty = false;
+        }
+        return composedValue;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns a string representation of this animation.
+     */
+    public String toString() {
+        return timedElement.toString();
+    }
+
+    /**
+     * Returns whether this animation depends on the underlying value.
+     */
+    public boolean usesUnderlyingValue() {
+        return usesUnderlyingValue || toAnimation;
+    }
+
+    /**
+     * Returns whether this animation will replace values on animations
+     * lower in the sandwich.
+     */
+    protected boolean willReplace() {
+        return true;
+    }
+
+    /**
+     * Marks this animation and any animation that depends on it
+     * as dirty.
+     */
+    protected void markDirty() {
+        isDirty = true;
+        if (higherAnimation != null
+                && !higherAnimation.willReplace()
+                && !higherAnimation.isDirty) {
+            higherAnimation.markDirty();
+        }
+    }
+
+    /**
+     * Called when the element is sampled for its "last" value.
+     */
+    protected void sampledLastValue(int repeatIteration) {
+    }
+
+    /**
+     * Called when the element is sampled at the given time.  This updates
+     * the {@link #value} of the animation if active.
+     */
+    protected abstract void sampledAt(float simpleTime, float simpleDur,
+                                      int repeatIteration);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationEngine.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationEngine.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationEngine.java
new file mode 100644
index 0000000..78e0834
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationEngine.java
@@ -0,0 +1,698 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.flex.forks.batik.anim.timing.TimedDocumentRoot;
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.timing.TimegraphListener;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.dom.anim.AnimationTargetListener;
+import org.apache.flex.forks.batik.util.DoublyIndexedTable;
+
+import org.w3c.dom.Document;
+
+/**
+ * An abstract base class for managing animation in a document.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimationEngine.java 592621 2007-11-07 05:58:12Z cam $
+ */
+public abstract class AnimationEngine {
+
+    // Constants to identify the type of animation.
+    public static final short ANIM_TYPE_XML   = 0;
+    public static final short ANIM_TYPE_CSS   = 1;
+    public static final short ANIM_TYPE_OTHER = 2;
+
+    /**
+     * The document this AnimationEngine is managing animation for.
+     */
+    protected Document document;
+
+    /**
+     * The root time container for the document.
+     */
+    protected TimedDocumentRoot timedDocumentRoot;
+
+    /**
+     * The time at which the document was paused, or 0 if the document is not
+     * paused.
+     */
+    protected long pauseTime;
+
+    /**
+     * Map of AnimationTargets to TargetInfo objects.
+     */
+    protected HashMap targets = new HashMap();
+
+    /**
+     * Map of AbstractAnimations to AnimationInfo objects.
+     */
+    protected HashMap animations = new HashMap();
+
+    /**
+     * The listener object for animation target base value changes.
+     */
+    protected Listener targetListener = new Listener();
+
+    /**
+     * Creates a new AnimationEngine for the given document.
+     */
+    public AnimationEngine(Document doc) {
+        this.document = doc;
+        timedDocumentRoot = createDocumentRoot();
+    }
+
+    /**
+     * Disposes this animation engine.
+     */
+    public void dispose() {
+        // Remove any target listeners that are registered.
+        Iterator i = targets.entrySet().iterator();
+        while (i.hasNext()) {
+            Map.Entry e = (Map.Entry) i.next();
+            AnimationTarget target = (AnimationTarget) e.getKey();
+            TargetInfo info = (TargetInfo) e.getValue();
+
+            Iterator j = info.xmlAnimations.iterator();
+            while (j.hasNext()) {
+                DoublyIndexedTable.Entry e2 =
+                    (DoublyIndexedTable.Entry) j.next();
+                String namespaceURI = (String) e2.getKey1();
+                String localName = (String) e2.getKey2();
+                Sandwich sandwich = (Sandwich) e2.getValue();
+                if (sandwich.listenerRegistered) {
+                    target.removeTargetListener(namespaceURI, localName, false,
+                                                targetListener);
+                }
+            }
+
+            j = info.cssAnimations.entrySet().iterator();
+            while (j.hasNext()) {
+                Map.Entry e2 = (Map.Entry) j.next();
+                String propertyName = (String) e2.getKey();
+                Sandwich sandwich = (Sandwich) e2.getValue();
+                if (sandwich.listenerRegistered) {
+                    target.removeTargetListener(null, propertyName, true,
+                                                targetListener);
+                }
+            }
+        }
+    }
+
+    /**
+     * Pauses the animations.
+     */
+    public void pause() {
+        if (pauseTime == 0) {
+            pauseTime = System.currentTimeMillis();
+        }
+    }
+
+    /**
+     * Unpauses the animations.
+     */
+    public void unpause() {
+        if (pauseTime != 0) {
+            Calendar begin = timedDocumentRoot.getDocumentBeginTime();
+            int dt = (int) (System.currentTimeMillis() - pauseTime);
+            begin.add(Calendar.MILLISECOND, dt);
+            pauseTime = 0;
+        }
+    }
+
+    /**
+     * Returns whether animations are currently paused.
+     */
+    public boolean isPaused() {
+        return pauseTime != 0;
+    }
+
+    /**
+     * Returns the current document time.
+     */
+    public float getCurrentTime() {
+        return timedDocumentRoot.getCurrentTime();
+    }
+
+    /**
+     * Sets the current document time.
+     */
+    public float setCurrentTime(float t) {
+        boolean p = pauseTime != 0;
+        unpause();
+        Calendar begin = timedDocumentRoot.getDocumentBeginTime();
+        float now =
+            timedDocumentRoot.convertEpochTime(System.currentTimeMillis());
+        begin.add(Calendar.MILLISECOND, (int) ((now - t) * 1000));
+        if (p) {
+            pause();
+        }
+        return tick(t, true);
+    }
+
+    /**
+     * Adds an animation to the document.
+     * @param target the target element of the animation
+     * @param type the type of animation (must be one of the
+     *             <code>ANIM_TYPE_*</code> constants defined in this class
+     * @param ns the namespace URI of the attribute being animated, if
+     *           <code>type == </code>{@link #ANIM_TYPE_XML}
+     * @param an the attribute name if <code>type == </code>{@link
+     *           #ANIM_TYPE_XML}, the property name if <code>type == </code>
+     *           {@link #ANIM_TYPE_CSS}, and the animation type otherwise
+     * @param anim the animation
+     */
+    public void addAnimation(AnimationTarget target, short type, String ns,
+                             String an, AbstractAnimation anim) {
+        // org.apache.flex.forks.batik.anim.timing.Trace.enter(this, "addAnimation", new Object[] { target, new Short[type], ns, an, anim } ); try {
+        timedDocumentRoot.addChild(anim.getTimedElement());
+
+        AnimationInfo animInfo = getAnimationInfo(anim);
+        animInfo.type = type;
+        animInfo.attributeNamespaceURI = ns;
+        animInfo.attributeLocalName = an;
+        animInfo.target = target;
+        animations.put(anim, animInfo);
+
+        Sandwich sandwich = getSandwich(target, type, ns, an);
+        if (sandwich.animation == null) {
+            anim.lowerAnimation = null;
+            anim.higherAnimation = null;
+        } else {
+            sandwich.animation.higherAnimation = anim;
+            anim.lowerAnimation = sandwich.animation;
+            anim.higherAnimation = null;
+        }
+        sandwich.animation = anim;
+        if (anim.lowerAnimation == null) {
+            sandwich.lowestAnimation = anim;
+        }
+        // } finally { org.apache.flex.forks.batik.anim.timing.Trace.exit(); }
+    }
+
+    /**
+     * Removes an animation from the document.
+     */
+    public void removeAnimation(AbstractAnimation anim) {
+        // org.apache.flex.forks.batik.anim.timing.Trace.enter(this, "removeAnimation", new Object[] { anim } ); try {
+        timedDocumentRoot.removeChild(anim.getTimedElement());
+        AbstractAnimation nextHigher = anim.higherAnimation;
+        if (nextHigher != null) {
+            nextHigher.markDirty();
+        }
+        moveToBottom(anim);
+        if (anim.higherAnimation != null) {
+            anim.higherAnimation.lowerAnimation = null;
+        }
+        AnimationInfo animInfo = getAnimationInfo(anim);
+        Sandwich sandwich = getSandwich(animInfo.target, animInfo.type,
+                                        animInfo.attributeNamespaceURI,
+                                        animInfo.attributeLocalName);
+        if (sandwich.animation == anim) {
+            sandwich.animation = null;
+            sandwich.lowestAnimation = null;
+            sandwich.shouldUpdate = true;
+        }
+        // } finally { org.apache.flex.forks.batik.anim.timing.Trace.exit(); }
+    }
+
+    /**
+     * Returns the Sandwich for the given animation type/attribute.
+     */
+    protected Sandwich getSandwich(AnimationTarget target, short type,
+                                   String ns, String an) {
+        TargetInfo info = getTargetInfo(target);
+        Sandwich sandwich;
+        if (type == ANIM_TYPE_XML) {
+            sandwich = (Sandwich) info.xmlAnimations.get(ns, an);
+            if (sandwich == null) {
+                sandwich = new Sandwich();
+                info.xmlAnimations.put(ns, an, sandwich);
+            }
+        } else if (type == ANIM_TYPE_CSS) {
+            sandwich = (Sandwich) info.cssAnimations.get(an);
+            if (sandwich == null) {
+                sandwich = new Sandwich();
+                info.cssAnimations.put(an, sandwich);
+            }
+        } else {
+            sandwich = (Sandwich) info.otherAnimations.get(an);
+            if (sandwich == null) {
+                sandwich = new Sandwich();
+                info.otherAnimations.put(an, sandwich);
+            }
+        }
+        return sandwich;
+    }
+
+    /**
+     * Returns the TargetInfo for the given AnimationTarget.
+     */
+    protected TargetInfo getTargetInfo(AnimationTarget target) {
+        TargetInfo info = (TargetInfo) targets.get(target);
+        if (info == null) {
+            info = new TargetInfo();
+            targets.put(target, info);
+        }
+        return info;
+    }
+
+    /**
+     * Returns the AnimationInfo for the given AbstractAnimation.
+     */
+    protected AnimationInfo getAnimationInfo(AbstractAnimation anim) {
+        AnimationInfo info = (AnimationInfo) animations.get(anim);
+        if (info == null) {
+            info = new AnimationInfo();
+            animations.put(anim, info);
+        }
+        return info;
+    }
+
+    protected static final Map.Entry[] MAP_ENTRY_ARRAY = new Map.Entry[0];
+
+    /**
+     * Updates the animations in the document to the given document time.
+     * @param time the document time to sample at
+     * @param hyperlinking whether the document should be seeked to the given
+     *                     time, as with hyperlinking
+     */
+    protected float tick(float time, boolean hyperlinking) {
+        float waitTime = timedDocumentRoot.seekTo(time, hyperlinking);
+        Map.Entry[] targetEntries =
+            (Map.Entry[]) targets.entrySet().toArray(MAP_ENTRY_ARRAY);
+        for (int i = 0; i < targetEntries.length; i++) {
+            Map.Entry e = targetEntries[i];
+            AnimationTarget target = (AnimationTarget) e.getKey();
+            TargetInfo info = (TargetInfo) e.getValue();
+
+            // Update the XML animations.
+            Iterator j = info.xmlAnimations.iterator();
+            while (j.hasNext()) {
+                DoublyIndexedTable.Entry e2 =
+                    (DoublyIndexedTable.Entry) j.next();
+                String namespaceURI = (String) e2.getKey1();
+                String localName = (String) e2.getKey2();
+                Sandwich sandwich = (Sandwich) e2.getValue();
+                if (sandwich.shouldUpdate ||
+                        sandwich.animation != null
+                            && sandwich.animation.isDirty) {
+                    AnimatableValue av = null;
+                    boolean usesUnderlying = false;
+                    AbstractAnimation anim = sandwich.animation;
+                    if (anim != null) {
+                        av = anim.getComposedValue();
+                        usesUnderlying =
+                            sandwich.lowestAnimation.usesUnderlyingValue();
+                        anim.isDirty = false;
+                    }
+                    if (usesUnderlying && !sandwich.listenerRegistered) {
+                        target.addTargetListener(namespaceURI, localName, false,
+                                                 targetListener);
+                        sandwich.listenerRegistered = true;
+                    } else if (!usesUnderlying && sandwich.listenerRegistered) {
+                        target.removeTargetListener(namespaceURI, localName,
+                                                    false, targetListener);
+                        sandwich.listenerRegistered = false;
+                    }
+                    target.updateAttributeValue(namespaceURI, localName, av);
+                    sandwich.shouldUpdate = false;
+                }
+            }
+
+            // Update the CSS animations.
+            j = info.cssAnimations.entrySet().iterator();
+            while (j.hasNext()) {
+                Map.Entry e2 = (Map.Entry) j.next();
+                String propertyName = (String) e2.getKey();
+                Sandwich sandwich = (Sandwich) e2.getValue();
+                if (sandwich.shouldUpdate ||
+                        sandwich.animation != null
+                            && sandwich.animation.isDirty) {
+                    AnimatableValue av = null;
+                    boolean usesUnderlying = false;
+                    AbstractAnimation anim = sandwich.animation;
+                    if (anim != null) {
+                        av = anim.getComposedValue();
+                        usesUnderlying =
+                            sandwich.lowestAnimation.usesUnderlyingValue();
+                        anim.isDirty = false;
+                    }
+                    if (usesUnderlying && !sandwich.listenerRegistered) {
+                        target.addTargetListener(null, propertyName, true,
+                                                 targetListener);
+                        sandwich.listenerRegistered = true;
+                    } else if (!usesUnderlying && sandwich.listenerRegistered) {
+                        target.removeTargetListener(null, propertyName, true,
+                                                    targetListener);
+                        sandwich.listenerRegistered = false;
+                    }
+                    if (usesUnderlying) {
+                        target.updatePropertyValue(propertyName, null);
+                    }
+                    if (!(usesUnderlying && av == null)) {
+                        target.updatePropertyValue(propertyName, av);
+                    }
+                    sandwich.shouldUpdate = false;
+                }
+            }
+
+            // Update the other animations.
+            j = info.otherAnimations.entrySet().iterator();
+            while (j.hasNext()) {
+                Map.Entry e2 = (Map.Entry) j.next();
+                String type = (String) e2.getKey();
+                Sandwich sandwich = (Sandwich) e2.getValue();
+                if (sandwich.shouldUpdate || sandwich.animation.isDirty) {
+                    AnimatableValue av = null;
+                    AbstractAnimation anim = sandwich.animation;
+                    if (anim != null) {
+                        av = sandwich.animation.getComposedValue();
+                        anim.isDirty = false;
+                    }
+                    target.updateOtherValue(type, av);
+                    sandwich.shouldUpdate = false;
+                }
+            }
+        }
+        return waitTime;
+    }
+
+    /**
+     * Invoked to indicate an animation became active at the specified time.
+     *
+     * @param anim the animation
+     * @param begin the time the element became active, in document simple time
+     */
+    public void toActive(AbstractAnimation anim, float begin) {
+        moveToTop(anim);
+        anim.isActive = true;
+        anim.beginTime = begin;
+        anim.isFrozen = false;
+        // Move the animation down, in case it began at the same time as another
+        // animation in the sandwich and it's earlier in document order.
+        pushDown(anim);
+        anim.markDirty();
+    }
+
+    /**
+     * Moves the animation down the sandwich such that it is in the right
+     * position according to begin time and document order.
+     */
+    protected void pushDown(AbstractAnimation anim) {
+        TimedElement e = anim.getTimedElement();
+        AbstractAnimation top = null;
+        boolean moved = false;
+        while (anim.lowerAnimation != null
+                && (anim.lowerAnimation.isActive
+                    || anim.lowerAnimation.isFrozen)
+                && (anim.lowerAnimation.beginTime > anim.beginTime
+                    || anim.lowerAnimation.beginTime == anim.beginTime
+                        && e.isBefore(anim.lowerAnimation.getTimedElement()))) {
+            AbstractAnimation higher = anim.higherAnimation;
+            AbstractAnimation lower = anim.lowerAnimation;
+            AbstractAnimation lowerLower = lower.lowerAnimation;
+            if (higher != null) {
+                higher.lowerAnimation = lower;
+            }
+            if (lowerLower != null) {
+                lowerLower.higherAnimation = anim;
+            }
+            lower.lowerAnimation = anim;
+            lower.higherAnimation = higher;
+            anim.lowerAnimation = lowerLower;
+            anim.higherAnimation = lower;
+            if (!moved) {
+                top = lower;
+                moved = true;
+            }
+        }
+        if (moved) {
+            AnimationInfo animInfo = getAnimationInfo(anim);
+            Sandwich sandwich = getSandwich(animInfo.target, animInfo.type,
+                                            animInfo.attributeNamespaceURI,
+                                            animInfo.attributeLocalName);
+            if (sandwich.animation == anim) {
+                sandwich.animation = top;
+            }
+            if (anim.lowerAnimation == null) {
+                sandwich.lowestAnimation = anim;
+            }
+        }
+    }
+
+    /**
+     * Invoked to indicate that this timed element became inactive.
+     *
+     * @param anim the animation
+     * @param isFrozen whether the element is frozen or not
+     */
+    public void toInactive(AbstractAnimation anim, boolean isFrozen) {
+        anim.isActive = false;
+        anim.isFrozen = isFrozen;
+        anim.beginTime = Float.NEGATIVE_INFINITY;
+        anim.markDirty();
+        if (!isFrozen) {
+            anim.value = null;
+            moveToBottom(anim);
+        } else {
+            pushDown(anim);
+        }
+    }
+
+    /**
+     * Invoked to indicate that this timed element has had its fill removed.
+     */
+    public void removeFill(AbstractAnimation anim) {
+        anim.isActive = false;
+        anim.isFrozen = false;
+        anim.value = null;
+        anim.markDirty();
+        moveToBottom(anim);
+    }
+
+    /**
+     * Moves the given animation to the top of the sandwich.
+     */
+    protected void moveToTop(AbstractAnimation anim) {
+        AnimationInfo animInfo = getAnimationInfo(anim);
+        Sandwich sandwich = getSandwich(animInfo.target, animInfo.type,
+                                        animInfo.attributeNamespaceURI,
+                                        animInfo.attributeLocalName);
+        sandwich.shouldUpdate = true;
+        if (anim.higherAnimation == null) {
+            return;
+        }
+        if (anim.lowerAnimation == null) {
+            sandwich.lowestAnimation = anim.higherAnimation;
+        } else {
+            anim.lowerAnimation.higherAnimation = anim.higherAnimation;
+        }
+        anim.higherAnimation.lowerAnimation = anim.lowerAnimation;
+        if (sandwich.animation != null) {
+            sandwich.animation.higherAnimation = anim;
+        }
+        anim.lowerAnimation = sandwich.animation;
+        anim.higherAnimation = null;
+        sandwich.animation = anim;
+    }
+
+    /**
+     * Moves the given animation to the bottom of the sandwich.
+     */
+    protected void moveToBottom(AbstractAnimation anim) {
+        if (anim.lowerAnimation == null) {
+            return;
+        }
+        AnimationInfo animInfo = getAnimationInfo(anim);
+        Sandwich sandwich = getSandwich(animInfo.target, animInfo.type,
+                                        animInfo.attributeNamespaceURI,
+                                        animInfo.attributeLocalName);
+        AbstractAnimation nextLower = anim.lowerAnimation;
+        nextLower.markDirty();
+        anim.lowerAnimation.higherAnimation = anim.higherAnimation;
+        if (anim.higherAnimation != null) {
+            anim.higherAnimation.lowerAnimation = anim.lowerAnimation;
+        } else {
+            sandwich.animation = nextLower;
+            sandwich.shouldUpdate = true;
+        }
+        sandwich.lowestAnimation.lowerAnimation = anim;
+        anim.higherAnimation = sandwich.lowestAnimation;
+        anim.lowerAnimation = null;
+        sandwich.lowestAnimation = anim;
+        if (sandwich.animation.isDirty) {
+            sandwich.shouldUpdate = true;
+        }
+    }
+
+    /**
+     * Adds a {@link TimegraphListener} to the document.
+     */
+    public void addTimegraphListener(TimegraphListener l) {
+        timedDocumentRoot.addTimegraphListener(l);
+    }
+
+    /**
+     * Removes a {@link TimegraphListener} from the document.
+     */
+    public void removeTimegraphListener(TimegraphListener l) {
+        timedDocumentRoot.removeTimegraphListener(l);
+    }
+
+    /**
+     * Invoked to indicate that this timed element has been sampled at the given
+     * time.
+     *
+     * @param anim the animation
+     * @param simpleTime the sample time in local simple time
+     * @param simpleDur the simple duration of the element
+     * @param repeatIteration the repeat iteration during which the element was
+     *                        sampled
+     */
+    public void sampledAt(AbstractAnimation anim, float simpleTime,
+                          float simpleDur, int repeatIteration) {
+        anim.sampledAt(simpleTime, simpleDur, repeatIteration);
+    }
+
+    /**
+     * Invoked to indicate that this timed element has been sampled at the end
+     * of its active time, at an integer multiple of the simple duration. This
+     * is the "last" value that will be used for filling, which cannot be
+     * sampled normally.
+     */
+    public void sampledLastValue(AbstractAnimation anim, int repeatIteration) {
+        anim.sampledLastValue(repeatIteration);
+    }
+
+    /**
+     * Creates a new returns a new TimedDocumentRoot object for the document.
+     */
+    protected abstract TimedDocumentRoot createDocumentRoot();
+
+    /**
+     * Listener class for changes to base values on a target element.
+     */
+    protected class Listener implements AnimationTargetListener {
+
+        /**
+         * Invoked to indicate that base value of the specified attribute
+         * or property has changed.
+         */
+        public void baseValueChanged(AnimationTarget t, String ns, String ln,
+                                     boolean isCSS) {
+            short type = isCSS ? ANIM_TYPE_CSS : ANIM_TYPE_XML;
+            Sandwich sandwich = getSandwich(t, type, ns, ln);
+            sandwich.shouldUpdate = true;
+            AbstractAnimation anim = sandwich.animation;
+            while (anim.lowerAnimation != null) {
+                anim = anim.lowerAnimation;
+            }
+            anim.markDirty();
+        }
+    }
+
+    /**
+     * Class to hold XML and CSS animations for a target element.
+     */
+    protected static class TargetInfo {
+
+        /**
+         * Map of XML attribute names to the corresponding {@link Sandwich}
+         * objects.
+         */
+        public DoublyIndexedTable xmlAnimations = new DoublyIndexedTable();
+
+        /**
+         * Map of CSS attribute names to the corresponding {@link Sandwich}
+         * objects.
+         */
+        public HashMap cssAnimations = new HashMap();
+
+        /**
+         * Map of other animation types to the corresponding {@link Sandwich}
+         * objects.
+         */
+        public HashMap otherAnimations = new HashMap();
+    }
+
+    /**
+     * Class to hold an animation sandwich for a particular attribute.
+     */
+    protected static class Sandwich {
+
+        /**
+         * The top-most animation in the sandwich.
+         */
+        public AbstractAnimation animation;
+
+        /**
+         * The bottom-most animation in the sandwich.
+         */
+        public AbstractAnimation lowestAnimation;
+
+        /**
+         * Whether the animation needs to have its value copied into the
+         * document.
+         */
+        public boolean shouldUpdate;
+
+        /**
+         * Whether an {@link AnimationTargetListener} has been registered to
+         * listen for changes to the base value.
+         */
+        public boolean listenerRegistered;
+    }
+
+    /**
+     * Class to hold target information of an animation.
+     */
+    protected static class AnimationInfo {
+
+        /**
+         * The target of the animation.
+         */
+        public AnimationTarget target;
+
+        /**
+         * The type of animation.  Must be one of the <code>ANIM_TYPE_*</code>
+         * constants defined in {@link AnimationEngine}.
+         */
+        public short type;
+
+        /**
+         * The namespace URI of the attribute to animate, if this is an XML
+         * attribute animation.
+         */
+        public String attributeNamespaceURI;
+
+        /**
+         * The local name of the attribute or the name of the CSS property to
+         * animate.
+         */
+        public String attributeLocalName;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationException.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationException.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationException.java
new file mode 100644
index 0000000..9c8150e
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/AnimationException.java
@@ -0,0 +1,90 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+  
+       http://www.apache.org/licenses/LICENSE-2.0
+  
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+
+/**
+ * An exception class for SMIL animation exceptions.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimationException.java 475954 2006-11-16 22:34:04Z cam $
+ */
+public class AnimationException extends RuntimeException {
+
+    /**
+     * The timed element on which the error occurred.
+     */
+    protected TimedElement e;
+
+    /**
+     * The error code.
+     */
+    protected String code;
+
+    /**
+     * The parameters to use for the error message.
+     */
+    protected Object[] params;
+
+    /**
+     * The message.
+     */
+    protected String message;
+
+    /**
+     * Creates a new AnimationException.
+     * @param e the animation element on which the error occurred
+     * @param code the error code
+     * @param params the parameters to use for the error message
+     */
+    public AnimationException(TimedElement e, String code, Object[] params) {
+        this.e = e;
+        this.code = code;
+        this.params = params;
+    }
+
+    /**
+     * Returns the timed element that caused this animation exception.
+     */
+    public TimedElement getElement() {
+        return e;
+    }
+
+    /**
+     * Returns the error code.
+     */
+    public String getCode() {
+        return code;
+    }
+
+    /**
+     * Returns the error message parameters.
+     */
+    public Object[] getParams() {
+        return params;
+    }
+
+    /**
+     * Returns the error message according to the error code and parameters.
+     */
+    public String getMessage() {
+        return TimedElement.formatMessage(code, params);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/ColorAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/ColorAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/ColorAnimation.java
new file mode 100644
index 0000000..bcbc537
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/ColorAnimation.java
@@ -0,0 +1,50 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+
+/**
+ * An animation class for 'animateColor' animations.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: ColorAnimation.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class ColorAnimation extends SimpleAnimation {
+
+    /**
+     * Creates a new ColorAnimation.
+     */
+    public ColorAnimation(TimedElement timedElement,
+                          AnimatableElement animatableElement,
+                          int calcMode,
+                          float[] keyTimes,
+                          float[] keySplines,
+                          boolean additive,
+                          boolean cumulative,
+                          AnimatableValue[] values,
+                          AnimatableValue from,
+                          AnimatableValue to,
+                          AnimatableValue by) {
+        super(timedElement, animatableElement, calcMode, keyTimes, keySplines,
+              additive, cumulative, values, from, to, by);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/InterpolatingAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/InterpolatingAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/InterpolatingAnimation.java
new file mode 100644
index 0000000..a0c3e82
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/InterpolatingAnimation.java
@@ -0,0 +1,167 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+import org.apache.flex.forks.batik.ext.awt.geom.Cubic;
+import org.apache.flex.forks.batik.util.SMILConstants;
+
+/**
+ * An abstract animation class for those animations that interpolate
+ * values.  Specifically, this is for animations that have the 'calcMode',
+ * 'keyTimes', 'keySplines', 'additive' and 'cumulative' attributes.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: InterpolatingAnimation.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class InterpolatingAnimation extends AbstractAnimation {
+
+    /**
+     * The interpolation mode of this animator.  This should take one
+     * of the CALC_MODE_* constants defined in {@link AbstractAnimation}.
+     */
+    protected int calcMode;
+
+    /**
+     * Time values to control the pacing of the animation.
+     */
+    protected float[] keyTimes;
+
+    /**
+     * Bezier control points that control the pacing of the animation.
+     */
+    protected float[] keySplines;
+
+    /**
+     * Cubics built from the bezier control points in {@link #keySplines}.
+     */
+    protected Cubic[] keySplineCubics;
+    
+    /**
+     * Whether this animation adds to ones below it in the animation sandwich
+     * or replaces them.
+     */
+    protected boolean additive;
+
+    /**
+     * Whether this animation accumulates from previous iterations.
+     */
+    protected boolean cumulative;
+
+    /**
+     * Creates a new InterpolatingAnimation.
+     */
+    public InterpolatingAnimation(TimedElement timedElement,
+                                  AnimatableElement animatableElement,
+                                  int calcMode,
+                                  float[] keyTimes,
+                                  float[] keySplines,
+                                  boolean additive,
+                                  boolean cumulative) {
+        super(timedElement, animatableElement);
+        this.calcMode = calcMode;
+        this.keyTimes = keyTimes;
+        this.keySplines = keySplines;
+        this.additive = additive;
+        this.cumulative = cumulative;
+
+        if (calcMode == CALC_MODE_SPLINE) {
+            if (keySplines == null || keySplines.length % 4 != 0) {
+                throw timedElement.createException
+                    ("attribute.malformed",
+                     new Object[] { null,
+                                    SMILConstants.SMIL_KEY_SPLINES_ATTRIBUTE });
+            }
+            keySplineCubics = new Cubic[keySplines.length / 4];
+            for (int i = 0; i < keySplines.length / 4; i++) {
+                keySplineCubics[i] = new Cubic(0, 0,
+                                               keySplines[i * 4],
+                                               keySplines[i * 4 + 1],
+                                               keySplines[i * 4 + 2],
+                                               keySplines[i * 4 + 3],
+                                               1, 1);
+            }
+        }
+
+        if (keyTimes != null) {
+            boolean invalidKeyTimes = false;
+            if ((calcMode == CALC_MODE_LINEAR || calcMode == CALC_MODE_SPLINE
+                        || calcMode == CALC_MODE_PACED)
+                    && (keyTimes.length < 2
+                        || keyTimes[0] != 0
+                        || keyTimes[keyTimes.length - 1] != 1)
+                    || calcMode == CALC_MODE_DISCRETE
+                        && (keyTimes.length == 0 || keyTimes[0] != 0)) {
+                invalidKeyTimes = true;
+            }
+            if (!invalidKeyTimes) {
+                for (int i = 1; i < keyTimes.length; i++) {
+                    if (keyTimes[i] < 0 || keyTimes[1] > 1
+                            || keyTimes[i] < keyTimes[i - 1]) {
+                        invalidKeyTimes = true;
+                        break;
+                    }
+                }
+            }
+            if (invalidKeyTimes) {
+                throw timedElement.createException
+                    ("attribute.malformed",
+                     new Object[] { null,
+                                    SMILConstants.SMIL_KEY_TIMES_ATTRIBUTE });
+            }
+        }
+    }
+
+    /**
+     * Returns whether this animation will replace values on animations
+     * lower in the sandwich.
+     */
+    protected boolean willReplace() {
+        return !additive;
+    }
+
+    /**
+     * Called when the element is sampled for its "last" value.
+     */
+    protected void sampledLastValue(int repeatIteration) {
+        sampledAtUnitTime(1f, repeatIteration);
+    }
+
+    /**
+     * Called when the element is sampled at the given time.
+     */
+    protected void sampledAt(float simpleTime, float simpleDur,
+                             int repeatIteration) {
+        float unitTime;
+        if (simpleDur == TimedElement.INDEFINITE) {
+            unitTime = 0;
+        } else {
+            unitTime = simpleTime / simpleDur;
+        }
+        sampledAtUnitTime(unitTime, repeatIteration);
+    }
+
+    /**
+     * Called when the element is sampled at the given unit time.  This updates
+     * the {@link #value} of the animation if active.
+     */
+    protected abstract void sampledAtUnitTime(float unitTime,
+                                              int repeatIteration);
+}


[38/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/ko_KR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/ko_KR/textLayout.properties b/frameworks/projects/textLayout/bundles/ko_KR/textLayout.properties
new file mode 100644
index 0000000..fe7583b
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/ko_KR/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=리소스 {0}에 대한 문자열이 없습니다.
+
+# Core errors
+
+invalidFlowElementConstruct=잘못된 FlowElement 하위 클래스를 생성하려고 했습니다.
+invalidSplitAtPosition=splitAtPosition에 대한 매개 변수가 잘못되었습니다.
+badMXMLChildrenArgument=유형 {0}의 잘못된 요소가 mxmlChildren으로 전달되었습니다.
+badReplaceChildrenIndex=FlowGroupElement.replaceChildren에 대한 인덱스가 범위를 벗어났습니다.
+invalidChildType=NewElement의 유형이 상위 항목이 될 수 는 유형이 아닙니다.
+badRemoveChild=제거할 하위 항목이 없습니다.
+invalidSplitAtIndex=splitAtIndex에 대한 매개 변수가 잘못되었습니다.
+badShallowCopyRange=shallowCopy에서 범위가 잘못되었습니다.
+badSurrogatePairCopy=SpanElement.shallowCopy에서 서로게이트 쌍을 절반만 복사
+invalidReplaceTextPositions=잘못된 위치가 SpanElement.replaceText로 전달되었습니다.
+invalidSurrogatePairSplit=서로게이트 쌍이 잘못 분할되었습니다.
+badPropertyValue=속성 {0} 값 {1}이(가) 범위를 벗어났습니다.
+
+# Selection/editing
+
+illegalOperation={0} 작업을 잘못 실행하려고 했습니다.
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=범위 내 예기치 못한 요소 {0}이(가) 있습니다.
+unexpectedNamespace=예기치 못한 네임스페이스 {0}이(가) 있습니다.
+unknownElement=알 수 없는 요소 {0}입니다.
+unknownAttribute=요소 {1}에는 특성 {0}이(가) 허용되지 않습니다.
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=태그 {0}의 형식이 잘못되었습니다.
+malformedMarkup=마크업 {0}의 형식이 잘못되었습니다.
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=파싱할 TextFlow가 없습니다.
+expectedExactlyOneTextLayoutFormat={0}	에 한 개 또한 오직 한 개의 TextLayoutFormat이 필요합니다.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/nb_NO/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/nb_NO/textLayout.properties b/frameworks/projects/textLayout/bundles/nb_NO/textLayout.properties
new file mode 100644
index 0000000..6ed6039
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/nb_NO/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Ingen streng for ressursen {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Forsøk på å lage ugyldig FlowElement-underklasse
+invalidSplitAtPosition=Ugyldig parameter til splitAtPosition
+badMXMLChildrenArgument=Ugyldig element av typen {0} sendt til mxmlChildren
+badReplaceChildrenIndex=Indeks utenfor område til FlowGroupElement.replaceChildren
+invalidChildType=NewElement er ikke en type som dette kan være en overordnet for
+badRemoveChild=Finner ikke underordnet som skal fjernes
+invalidSplitAtIndex=Ugyldig parameter til splitAtIndex
+badShallowCopyRange=Ugyldig område i shallowCopy
+badSurrogatePairCopy=Kopierer bare halvparten av et surrogatpar i SpanElement.shallowCopy
+invalidReplaceTextPositions=Ugyldige plasseringer sendt til SpanElement.replaceText
+invalidSurrogatePairSplit=Ugyldig deling av surrogatpar
+badPropertyValue=Egenskap {0} verdi {1} er utenfor område
+
+# Selection/editing
+
+illegalOperation=Ulovlig forsøk på å kjøre operasjonen {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Uventet element {0} i span
+unexpectedNamespace=Uventet navneområde {0}
+unknownElement=Ukjent element {0}
+unknownAttribute=Attributtet {0} er ikke tillatt i elementet {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Feilformatert kode {0}
+malformedMarkup=Feilformatert koding {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Ingen TextFlow å analysere
+expectedExactlyOneTextLayoutFormat=Forventet én og bare én TextLayoutFormat i {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/nl_NL/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/nl_NL/textLayout.properties b/frameworks/projects/textLayout/bundles/nl_NL/textLayout.properties
new file mode 100644
index 0000000..b4b87da
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/nl_NL/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Geen tekenreeks voor resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Poging tot samenstellen van ongeldige FlowElement-subklasse
+invalidSplitAtPosition=Ongeldige parameter naar splitAtPosition
+badMXMLChildrenArgument=Ongeldig element van type {0} doorgegeven aan mxmlChildren
+badReplaceChildrenIndex=Index naar FlowGroupElement.replaceChildren buiten bereik
+invalidChildType=NewElement niet van een type dat dit als bovenliggend element kan hebben
+badRemoveChild=Te verwijderen onderliggend element niet gevonden
+invalidSplitAtIndex=Ongeldige parameter naar splitAtIndex
+badShallowCopyRange=Ongeldig bereik in shallowCopy
+badSurrogatePairCopy=Alleen de helft van een vervangend paar in SpanElement.shallowCopy wordt gekopieerd
+invalidReplaceTextPositions=Ongeldige posities doorgegeven aan SpanElement.replaceText
+invalidSurrogatePairSplit=Ongeldige splitsing van een vervangend paar
+badPropertyValue=Waarde {1} van eigenschap {0} valt buiten bereik
+
+# Selection/editing
+
+illegalOperation=Ongeldige poging om {0}-bewerking uit te voeren
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Onverwacht element {0} binnen een span
+unexpectedNamespace=Onverwachte naamruimte {0}
+unknownElement=Onbekend element {0}
+unknownAttribute=Kenmerk {0] niet toegestaan in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Onjuist ingedeelde code {0}
+malformedMarkup=Onjuist ingedeelde markering {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Er is geen TextFlow om te parseren
+expectedExactlyOneTextLayoutFormat=Er werd slechts één, en niet meer dan één, TextLayoutFormat in {0}	 verwacht

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/pt_BR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/pt_BR/textLayout.properties b/frameworks/projects/textLayout/bundles/pt_BR/textLayout.properties
new file mode 100644
index 0000000..caa602d
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/pt_BR/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Nenhuma string para o recurso {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Tentativa de construção de uma subclasse FlowElement inválida
+invalidSplitAtPosition=Parâmetro inválido para splitAtPosition
+badMXMLChildrenArgument=Elemento incorreto do tipo {0} passado para mxmlChildren
+badReplaceChildrenIndex=Índice fora de intervalo para FlowGroupElement.replaceChildren
+invalidChildType=NewElement não é de um tipo do qual este possa ser pai
+badRemoveChild=O filho a ser removido não foi encontrado
+invalidSplitAtIndex=Parâmetro inválido para splitAtIndex
+badShallowCopyRange=Intervalo incorreto em shallowCopy
+badSurrogatePairCopy=Copiando somente metade de um par substituto em SpanElement.shallowCopy
+invalidReplaceTextPositions=Posições inválidas passadas para SpanElement.replaceText
+invalidSurrogatePairSplit=Divisão inválida de um par substituto
+badPropertyValue=O valor {1) da propriedade {0} está fora de intervalo
+
+# Selection/editing
+
+illegalOperation=Tentativa ilegal de executar a operação {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Elemento inesperado {0} dentro de uma expansão
+unexpectedNamespace=Namespace inesperado {0}
+unknownElement=Elemento desconhecido {0}
+unknownAttribute=Atributo {0} não permitido no elemento {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Marca mal formada {0}
+malformedMarkup=Marcação mal formada {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Nenhum TextFlow para analisar
+expectedExactlyOneTextLayoutFormat=Era esperado um e somente um TextLayoutFormat em {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/pt_PT/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/pt_PT/textLayout.properties b/frameworks/projects/textLayout/bundles/pt_PT/textLayout.properties
new file mode 100644
index 0000000..ae8478d
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/pt_PT/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Náo existe nenhuma string para o recurso [[0]]
+
+# Core errors
+
+invalidFlowElementConstruct=Tentativa inválida de construção da subclasse FlowElement
+invalidSplitAtPosition=Parâmetro inválido para splitAtPosition
+badMXMLChildrenArgument=Elemento do tipo [[0]] errado passsado ao mxmlChildren
+badReplaceChildrenIndex=Index para FlowGroupElement.replaceChildren está fora do alcance
+invalidChildType=NewElement não é de um tipo de que este possa ser pai
+badRemoveChild=Child para remover não encontrada
+invalidSplitAtIndex=Parâmetro inválido para splitAtIndex
+badShallowCopyRange=Intervalo errado em shallowCopy
+badSurrogatePairCopy=A copiar somente metade de um par substituto em SpanElement.shallowCopy
+invalidReplaceTextPositions=Posições inválidas passadas a SpanElement.replaceText
+invalidSurrogatePairSplit=Divisão inválida de um par subsituto
+badPropertyValue=Propriedade [[0]] valor [[1]] está for do alcance
+
+# Selection/editing
+
+illegalOperation=Tentativa ilegal de executar a operação [[0]]
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Elemento [[0]] inesperado dentro de um span
+unexpectedNamespace=Namespace [[0]] inesperado
+unknownElement=Elemento [[0]] desconhecido
+unknownAttribute=Atributo [[0]] não é permtido no elemento [[1]]
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Tag [[0]] malformada
+malformedMarkup=Markup [[0]] malformado
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Não existe nenhum TextFlow para analisar
+expectedExactlyOneTextLayoutFormat=Esperado um, e só um, TextLayoutFormat em [[0]]	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/ru_RU/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/ru_RU/textLayout.properties b/frameworks/projects/textLayout/bundles/ru_RU/textLayout.properties
new file mode 100644
index 0000000..c699f32
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/ru_RU/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Отсутствует строка для ресурса {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Выполнена попытка создания недопустимого подкласса FlowElement
+invalidSplitAtPosition=Недействительный параметр для splitAtPosition
+badMXMLChildrenArgument=Недопустимый элемент типа {0} передан в mxmlChildren
+badReplaceChildrenIndex=Индекс для FlowGroupElement.replaceChildren находится за пределами допустимого диапазона
+invalidChildType=NewElement не является возможным нижестоящим типом для данного элемента
+badRemoveChild=Не найден нижестоящий элемент для удаления
+invalidSplitAtIndex=Недействительный параметр для splitAtIndex
+badShallowCopyRange=Недопустимый диапазон в shallowCopy
+badSurrogatePairCopy=Выполняется копирование только половины суррогатной пары в SpanElement.shallowCopy
+invalidReplaceTextPositions=Недействительные позиции переданы в SpanElement.replaceText
+invalidSurrogatePairSplit=Недействительное разделение суррогатной пары
+badPropertyValue=Указанное для свойства {0} значение {1} находится за пределами допустимого диапазона
+
+# Selection/editing
+
+illegalOperation=Недопустимая попытка выполнения операции {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Непредвиденный элемент {0} в диапазоне
+unexpectedNamespace=Непредвиденное пространство имен {0}
+unknownElement=Неизвестный элемент {0}
+unknownAttribute=Атрибут {0} не разрешен для элемента {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Недопустимый тег {0}
+malformedMarkup=Недопустимая разметка {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Отсутствует TextFlow для анализа
+expectedExactlyOneTextLayoutFormat=Ожидался только один TextLayoutFormat в {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/sv_SE/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/sv_SE/textLayout.properties b/frameworks/projects/textLayout/bundles/sv_SE/textLayout.properties
new file mode 100644
index 0000000..4e841aa
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/sv_SE/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Sträng saknas för resurs {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Försök att konstruera ogiltig FlowElement-underklass
+invalidSplitAtPosition=Ogiltig parameter till splitAtPosition
+badMXMLChildrenArgument=Felaktigt element av typen {0} skickades till mxmlChildren
+badReplaceChildrenIndex=Index utanför intervallet: FlowGroupElement.replaceChildren
+invalidChildType=Typen som NewElement tillhör innebär att detta inte kan vara överordnat
+badRemoveChild=Underordnad som ska tas bort hittades inte
+invalidSplitAtIndex=Ogiltig parameter till splitAtIndex
+badShallowCopyRange=Felaktigt intervall i shallowCopy
+badSurrogatePairCopy=Endast hälften av surrogatparet i SpanElement.shallowCopy kopieras
+invalidReplaceTextPositions=Ogiltiga positioner skickades till SpanElement.replaceText
+invalidSurrogatePairSplit=Ogiltig delning av surrogatpar
+badPropertyValue=Egenskapen {0} och värde {1} är utanför intervallet
+
+# Selection/editing
+
+illegalOperation=Ogiltigt försök att köra åtgärden {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Oväntat element {0} inom intervall
+unexpectedNamespace=Oväntat namnutrymme {0}
+unknownElement=Okänt element: {0}
+unknownAttribute=Attributet {0} är inte tillåtet i element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Felaktig tagg {0}
+malformedMarkup=Felaktig markering {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Det finns inget TextFlow som kan tolkas
+expectedExactlyOneTextLayoutFormat=Endast en TextLayoutFormat förväntades i {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/zh_CN/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/zh_CN/textLayout.properties b/frameworks/projects/textLayout/bundles/zh_CN/textLayout.properties
new file mode 100644
index 0000000..5898d55
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/zh_CN/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=资源 {0} 没有字符串
+
+# Core errors
+
+invalidFlowElementConstruct=尝试构造无效 FlowElement 子类
+invalidSplitAtPosition=splitAtPosition 的参数无效
+badMXMLChildrenArgument=传递给 mxmlChildren 的类型 {0} 的元素错误
+badReplaceChildrenIndex=FlowGroupElement.replaceChildren 的索引超出范围
+invalidChildType=NewElement 不属于此项可作为其父代的类型
+badRemoveChild=找不到要删除的子代
+invalidSplitAtIndex=splitAtIndex 的参数无效
+badShallowCopyRange=shallowCopy 的范围错误
+badSurrogatePairCopy=仅复制了 SpanElement.shallowCopy 中代理对的一半
+invalidReplaceTextPositions=传递给 SpanElement.replaceText 的位置无效
+invalidSurrogatePairSplit=分割代理对无效
+badPropertyValue=属性 {0} 值 {1} 超出范围
+
+# Selection/editing
+
+illegalOperation=尝试执行 {0} 操作非法
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=跨距中有意外元素 {0}
+unexpectedNamespace=意外命名空间 {0}
+unknownElement=未知元素 {0}
+unknownAttribute=元素 {1} 中不允许有属性 {0}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=标签 {0} 格式不正确
+malformedMarkup=标记 {0} 格式不正确
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=没有要分析的 TextFlow
+expectedExactlyOneTextLayoutFormat={0}	 中应有且仅有一个 TextLayoutFormat

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/zh_TW/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/zh_TW/textLayout.properties b/frameworks/projects/textLayout/bundles/zh_TW/textLayout.properties
new file mode 100644
index 0000000..ed0fe19
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/zh_TW/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=資源 {0} 沒有字串
+
+# Core errors
+
+invalidFlowElementConstruct=嘗試建構無效的 FlowElement 子類別
+invalidSplitAtPosition=splitAtPosition 的參數無效
+badMXMLChildrenArgument=傳遞到 mxmlChildren 的類型 {0} 的元素錯誤
+badReplaceChildrenIndex=FlowGroupElement.replaceChildren 索引超出範圍
+invalidChildType=NewElement 不屬於此項目可做為其父項的類型
+badRemoveChild=找不到要移除的子項 
+invalidSplitAtIndex=splitAtIndex 的參數無效
+badShallowCopyRange=shallowCopy 的範圍錯誤
+badSurrogatePairCopy=SpanElement.shallowCopy 的替代配對只複製一半
+invalidReplaceTextPositions=傳遞到 SpanElement.replaceText 的位置無效
+invalidSurrogatePairSplit=替代配對分割無效
+badPropertyValue=屬性 {0} 值 {1} 超出範圍
+
+# Selection/editing
+
+illegalOperation=執行 {0} 作業的嘗試不合法
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=跨距內有非預期的元素 {0}
+unexpectedNamespace=非預期的命名空間 {0}
+unknownElement=不明元素 {0}
+unknownAttribute=元素 {1} 中不允許有屬性 {0}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=格式錯誤的標籤 {0}
+malformedMarkup=格式錯誤的標記 {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=沒有 TextFlow 可剖析
+expectedExactlyOneTextLayoutFormat={0}	 應該有一個且只有一個 TextLayoutFormat

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/compile-config.xml b/frameworks/projects/textLayout/compile-config.xml
new file mode 100644
index 0000000..edd670f
--- /dev/null
+++ b/frameworks/projects/textLayout/compile-config.xml
@@ -0,0 +1,67 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+    <compiler>
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>IMXMLObject</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flashx/textLayout</uri>
+                <manifest>${source.dir}/manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>${source.dir}/src</path-element>
+        </source-path>
+        
+        <show-actionscript-warnings>false</show-actionscript-warnings>
+    </compiler>
+   
+    <compute-digest>true</compute-digest>
+    
+    <include-classes>
+        <class>flashx.textLayout.CoreClasses</class>
+        <class>flashx.textLayout.EditClasses</class>
+        <class>flashx.textLayout.ConversionClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>manifest.xml</name>
+        <path>${source.dir}/manifest.xml</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flashx/textLayout</uri>
+    </include-namespaces>  
+
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+            
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool/build.xml b/frameworks/projects/tool/build.xml
index 719dc62..7bdb178 100644
--- a/frameworks/projects/tool/build.xml
+++ b/frameworks/projects/tool/build.xml
@@ -60,28 +60,9 @@
         <compc fork="true"
                output="${FLEX_HOME}/frameworks/libs/automation/tool.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <target-player>${playerglobal.version}</target-player>
-            <include-classes>ToolClasses</include-classes>
-            <source-path path-element="${basedir}/src"/>
-            <source-path path-element="${FLEX_HOME}/frameworks/projects/automation/src"/>
-            <source-path path-element="${FLEX_HOME}/frameworks/projects/automation_spark/src"/>
-            <library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="automation/automation_agent.swc"/>
-                <include name="framework.swc"/>
-                <include name="mx/mx.swc"/>
-                <include name="advancedgrids.swc"/>
-                <include name="charts.swc"/>
-                <include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-                <include name="automation/automation_dmv.swc"/>
-                <include name="datavisualization.swc"/>
-            </external-library-path>
-            <locale/>
-            <accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
         </compc>
     </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool/compile-config.xml b/frameworks/projects/tool/compile-config.xml
new file mode 100644
index 0000000..2a13816
--- /dev/null
+++ b/frameworks/projects/tool/compile-config.xml
@@ -0,0 +1,54 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/advancedgrids.swc</path-element>
+            <path-element>../../libs/charts.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/automation_dmv.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../automation/src</path-element>
+            <path-element>../automation_spark/src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>ToolClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool_air/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool_air/build.xml b/frameworks/projects/tool_air/build.xml
index a934993..4a83dbc 100644
--- a/frameworks/projects/tool_air/build.xml
+++ b/frameworks/projects/tool_air/build.xml
@@ -64,33 +64,11 @@
 		-->
 	
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/automation/tool_air.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/automation/tool_air.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>ToolAIRClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/automation/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/automation_air/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/automation_spark/src"/>
-			
-			<library-path/>
-            <external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="advancedgrids.swc"/>
-				<include name="charts.swc"/>
-				<include name="spark.swc"/>
-				<include name="textLayout.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/automation_dmv.swc"/>
-				<include name="datavisualization.swc"/>
-            </external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 		</compc>
 	</target>
 	
@@ -102,25 +80,12 @@
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 		<compc fork="true"
-			output="${FLEX_HOME}/frameworks/locale/${locale}/tool_air_rb.swc"
-			locale="${locale}">
-          
-            <target-player>11</target-player>
+			output="${FLEX_HOME}/frameworks/locale/${locale}/tool_air_rb.swc">          
 			<jvmarg line="${compc.jvm.args}"/>
- 			
-			<include-resource-bundles bundle="tool_air"/>
-			
-			<include-namespaces/>
-			<include-classes/>
-			
-			<source-path path-element="${basedir}/bundles/${locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/src"/>
-			
-			<include-libraries/>
-			<library-path/>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="player/${local.playerglobal.version}/playerglobal.swc"/>
-			</external-library-path>
+            <load-config filename="bundle-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+locale=${locale}" />
 		</compc>
 	</target>
 	
@@ -137,6 +102,9 @@
             <param name="locale" value="de_DE"/>
         </antcall>
         <antcall target="tool_air_bundles">
+            <param name="locale" value="de_CH"/>
+        </antcall>
+        <antcall target="tool_air_bundles">
             <param name="locale" value="en_US"/>
         </antcall>
         <antcall target="tool_air_bundles">
@@ -193,6 +161,9 @@
             <param name="locale" value="de_DE"/>
         </antcall>
         <antcall target="tool_air_bundles-clean">
+            <param name="locale" value="de_CH"/>
+        </antcall>
+        <antcall target="tool_air_bundles-clean">
             <param name="locale" value="en_US"/>
         </antcall>
         <antcall target="tool_air_bundles-clean">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool_air/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool_air/bundle-config.xml b/frameworks/projects/tool_air/bundle-config.xml
new file mode 100644
index 0000000..0556072
--- /dev/null
+++ b/frameworks/projects/tool_air/bundle-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>tool_air</bundle>
+    </include-resource-bundles>
+        
+    <target-player>11</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool_air/bundles/de_CH/tool_air.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool_air/bundles/de_CH/tool_air.properties b/frameworks/projects/tool_air/bundles/de_CH/tool_air.properties
new file mode 100644
index 0000000..25e37f0
--- /dev/null
+++ b/frameworks/projects/tool_air/bundles/de_CH/tool_air.properties
@@ -0,0 +1,31 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# Developer RTE Section
+
+# QTP_air messages
+
+noConnectionToQTP=Die Anwendung ist mit der \u201eAutomation\u201c-Bibliothek f\u00fcr AIR verkn\u00fcpft. Es konnte jedoch keine Verbindung zu QTP hergestellt werden.
+noConnectionToQTP_Recommendation=Vergewissern Sie sich, dass QTP ge\u00f6ffnet und das AIR-Plug-in aktiviert ist, bevor Sie die Anwendung starten.
+
+securityError =Sicherheitsfehler beim Herstellen der Verbindung zu QTP.
+airHelperClassNotFound=Die Anwendung ist mit der \u201eAutomation\u201c-Bibliothek f\u00fcr AIR verkn\u00fcpft. Damit die AIR-Automatisierung funktioniert, sollte jedoch die Bibliothek \u201eautomation_air\u201c verwendet werden. Es wird ausdr\u00fccklich empfohlen, dass Sie diese Bibliothek hinzuf\u00fcgen, bevor Sie fortfahren.
+propertyCannotBeEvaluated =Die Eigenschaft(en) \u201e{0}\u201c konnte(n) nicht ausgewertet werden.
+qtpConnectionAttempt=Verbindung zu QTP wird hergestellt. Dieser Vorgang kann einige Sekunden dauern.
+qtpConnectionFailed=Die Verbindung zu QTP konnte nicht hergestellt werden. Entweder wurde QTP nicht gestartet oder es werden mehrere Anwendungen mit aktivierter Automatisierung ausgef\u00fchrt. Schlie\u00dfen Sie alle Instanzen der Anwendung, starten Sie QTP erneut und starten Sie die Anwendung erneut.
+qtpConnectionSuccess=Die Verbindung zu QTP wurde hergestellt 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/tool_air/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/tool_air/compile-config.xml b/frameworks/projects/tool_air/compile-config.xml
new file mode 100644
index 0000000..4b9fe71
--- /dev/null
+++ b/frameworks/projects/tool_air/compile-config.xml
@@ -0,0 +1,57 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/advancedgrids.swc</path-element>
+            <path-element>../../libs/charts.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/automation_dmv.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../automation/src</path-element>
+            <path-element>../automation_air/src</path-element>
+            <path-element>../automation_spark/src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>ToolAIRClasses</class>
+    </include-classes>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/wireframe/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/wireframe/.actionScriptProperties b/frameworks/projects/wireframe/.actionScriptProperties
index 22cc7d1..a743c0e 100644
--- a/frameworks/projects/wireframe/.actionScriptProperties
+++ b/frameworks/projects/wireframe/.actionScriptProperties
@@ -1,38 +1,38 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="wireframe.as" projectUUID="a5cf1b73-b911-4eb1-abc6-e7144be2f4cb" version="6">
-  <compiler additionalCompilerArguments="-include-file=defaults.css,../defaults.css -resource-bundle-list=bundles.properties -library-path= -locale=en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/osmf.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="wireframe.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="wireframe.as" projectUUID="a5cf1b73-b911-4eb1-abc6-e7144be2f4cb" version="6">
+  <compiler additionalCompilerArguments="-include-file=defaults.css,../defaults.css -resource-bundle-list=bundles.properties -library-path= -locale=en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/osmf.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="wireframe.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/wireframe/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/wireframe/.flexLibProperties b/frameworks/projects/wireframe/.flexLibProperties
index 560e815..4e9fbd8 100644
--- a/frameworks/projects/wireframe/.flexLibProperties
+++ b/frameworks/projects/wireframe/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="WireframeClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/wireframe/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/wireframe/build.xml b/frameworks/projects/wireframe/build.xml
index 94220b5..490f6b2 100644
--- a/frameworks/projects/wireframe/build.xml
+++ b/frameworks/projects/wireframe/build.xml
@@ -21,113 +21,97 @@
 
 <project name="wireframe" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
-	
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
+    
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-
-	<target name="main" depends="clean,compile" description="Clean build of wireframe.swc"/>
-
-	<target name="clean">
-		<delete failonerror="false">
-			<fileset file="${basedir}/bundles.properties"/>
-			<fileset dir="${FLEX_HOME}/frameworks/themes/Wireframe">
-				<include name="wireframe.swc"/>
-				<include name="wireframe.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-
-	<target name="compile" description="Compiles wireframe.swc">
-		<echo message="Compiling frameworks/themes/Wireframe/wireframe.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			This project builds a theme SWC containing skin classes.
-			It has no MXML tags and therefore no manifest.
-			Link in the classes (and their dependencies)
-			listed in WireframeClasses.as.
-			Compile against framework.swc, but don't link it into wireframe.swc.
-			Link in accessibility support.
-			Include various CSS and asset files in the SWC.
-			Don't put any resources into the SWC. (The classes don't require any.)
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-			(This should be an empty list.)
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/themes/Wireframe/wireframe.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-classes>WireframeClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
+    <property file="${FLEX_HOME}/build.properties"/>
+
+    <target name="main" depends="clean,compile" description="Clean build of wireframe.swc"/>
+
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset file="${basedir}/bundles.properties"/>
+            <fileset dir="${FLEX_HOME}/frameworks/themes/Wireframe">
+                <include name="wireframe.swc"/>
+                <include name="wireframe.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+
+    <target name="compile" description="Compiles wireframe.swc">
+        <echo message="Compiling frameworks/themes/Wireframe/wireframe.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            This project builds a theme SWC containing skin classes.
+            It has no MXML tags and therefore no manifest.
+            Link in the classes (and their dependencies)
+            listed in WireframeClasses.as.
+            Compile against framework.swc, but don't link it into wireframe.swc.
+            Link in accessibility support.
+            Include various CSS and asset files in the SWC.
+            Don't put any resources into the SWC. (The classes don't require any.)
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+            (This should be an empty list.)
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/themes/Wireframe/wireframe.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+
+    <target name="doc" depends="clean-temp-docs" description="updates wireframe.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="WireframeClasses"/>
             <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
                 <include name="${playerglobal.version}/playerglobal.swc"/>
-			</external-library-path>
+            </external-library-path>
             <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="spark.swc"/>
-				<include name="airspark.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<include-file name="assets/Tree_folderClosedIcon.png" path="${basedir}/assets/Tree_folderClosedIcon.png"/>
-			<include-file name="assets/Tree_folderOpenIcon.png" path="${basedir}/assets/Tree_folderOpenIcon.png"/>
-			<locale/>
-			<accessible>true</accessible>
-		</compc>
-	</target>
-
-	<target name="doc" depends="clean-temp-docs" description="updates wireframe.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-			<compiler.source-path path-element="${basedir}/src"/>
-			<doc-classes class="WireframeClasses"/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
+                <include name="framework.swc" />
+                <include name="mx/mx.swc"/>
+                <include name="spark.swc" />
             </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc" />
-				<include name="mx/mx.swc"/>
-				<include name="spark.swc" />
-			</external-library-path>
-			<jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates wireframe.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/themes/Wireframe/wireframe.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-	</target>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates wireframe.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/themes/Wireframe/wireframe.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+    </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/wireframe/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/wireframe/compile-config.xml b/frameworks/projects/wireframe/compile-config.xml
new file mode 100644
index 0000000..36f1536
--- /dev/null
+++ b/frameworks/projects/wireframe/compile-config.xml
@@ -0,0 +1,64 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/air/airspark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>WireframeClasses</class>
+    </include-classes>
+
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>assets/Tree_folderClosedIcon.png</name>
+        <path>assets/Tree_folderClosedIcon.png</path>
+    </include-file>
+    <include-file>
+        <name>assets/Tree_folderOpenIcon.png</name>
+        <path>assets/Tree_folderOpenIcon.png</path>
+    </include-file>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/spark-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/spark-manifest.xml b/frameworks/spark-manifest.xml
index f0db73b..30727db 100644
--- a/frameworks/spark-manifest.xml
+++ b/frameworks/spark-manifest.xml
@@ -45,6 +45,7 @@
     <component id="BlurFilter" class="spark.filters.BlurFilter"/>
     <component id="BorderContainer" class="spark.components.BorderContainer"/>
     <component id="Bounce" class="spark.effects.easing.Bounce"/>
+    <component id="BusyIndicator" class="spark.components.BusyIndicator"/>
     <component id="Button" class="spark.components.Button"/>
     <component id="ButtonBar" class="spark.components.ButtonBar"/>
     <component id="ButtonBarButton" class="spark.components.ButtonBarButton"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/tests/basicTests/BasicTests-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/BasicTests-config.xml b/frameworks/tests/basicTests/BasicTests-config.xml
index b5d9417..5c9f671 100644
--- a/frameworks/tests/basicTests/BasicTests-config.xml
+++ b/frameworks/tests/basicTests/BasicTests-config.xml
@@ -93,8 +93,10 @@
         <symbol>spark.scripts.NumberValidatorTestScript</symbol>
 	<symbol>spark.scripts.SortTestScript</symbol>
     <!--
+        From mustella.swc
     -->
         <symbol>ExitWhenDone</symbol>
+        <symbol>SetShowRTE</symbol>
         <symbol>SendFormattedResultsToLog</symbol>
     </includes>
 </flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/tests/basicTests/basicLoader.as
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/basicLoader.as b/frameworks/tests/basicTests/basicLoader.as
index 0bd15f5..4753219 100644
--- a/frameworks/tests/basicTests/basicLoader.as
+++ b/frameworks/tests/basicTests/basicLoader.as
@@ -33,8 +33,8 @@ public class basicLoader extends MovieClip
 		super();
 		
 		text = new TextField();
-		text.width = stage.stageWidth;
-		text.height = stage.stageHeight;
+		text.width = 176;
+		text.height = 81;
 		
 		var tf:TextFormat;
 		tf = new TextFormat;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/tests/basicTests/halo/scripts/SWFLoaderTestScript.mxml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/halo/scripts/SWFLoaderTestScript.mxml b/frameworks/tests/basicTests/halo/scripts/SWFLoaderTestScript.mxml
index 5bf73e3..7b1787e 100644
--- a/frameworks/tests/basicTests/halo/scripts/SWFLoaderTestScript.mxml
+++ b/frameworks/tests/basicTests/halo/scripts/SWFLoaderTestScript.mxml
@@ -51,7 +51,7 @@
 		</TestCase>
 		<TestCase testID="SWFLoaderTest1">
 			<body>
-				<AssertPixelValue target="haloSWFLoaderTests.testLoader" x="10" y="10" value="0x0066CC" />
+				<AssertPixelValue target="haloSWFLoaderTests.testLoader" x="10" y="10" value="0xFF9933" />
 			</body>
 		</TestCase>
 	</testCases>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/themes/AeonGraphical/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/themes/AeonGraphical/build.xml b/frameworks/themes/AeonGraphical/build.xml
index a053e92..f0d42ef 100644
--- a/frameworks/themes/AeonGraphical/build.xml
+++ b/frameworks/themes/AeonGraphical/build.xml
@@ -22,12 +22,15 @@
 
     <property name="FLEX_HOME" location="${basedir}/../../.."/>
     
-    <!-- Required for OSX 10.6 / Snow Leopard Performance -->
-    <condition property="local.d32" value="-d32" >
+    <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
+    <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
+    <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
+    <condition property="local.d32" value="-d32">
         <and>
+            <os family="windows"/>
             <equals arg1="${sun.arch.data.model}" arg2="64"/>
             <equals arg1="${os.arch}" arg2="x86_64"/>
-                <os family="mac"/>
+            <equals arg1="${ant.java.version}" arg2="1.6"/>
         </and>
     </condition>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/ide/constructFlexForIDE.sh
----------------------------------------------------------------------
diff --git a/ide/constructFlexForIDE.sh b/ide/constructFlexForIDE.sh
index b7ec896..f4e3680 100755
--- a/ide/constructFlexForIDE.sh
+++ b/ide/constructFlexForIDE.sh
@@ -70,7 +70,7 @@ copyFileOrDirectory()
     fi
 
     if [ -d "${ADOBE_FLEX_SDK_DIR}/$f" ] ; then
-        rsync --archive --ignore-existing "${ADOBE_FLEX_SDK_DIR}/$f" "${dir}"
+        rsync --archive --ignore-existing --force "${ADOBE_FLEX_SDK_DIR}/$f" "${dir}"
     fi
 }
 
@@ -102,6 +102,15 @@ then
     exit 1;
 fi
 
+# FlashBuilder requires the frameworks/rsls directory.
+
+if [ ! -d "${IDE_SDK_DIR}/frameworks/rsls" ]
+then
+    echo ${IDE_SDK_DIR} does not appear to be a Apache Flex distribution with rsls.
+    echo If this is a source distribution of Apache Flex you must first build the rsls.
+    exit 1;
+fi
+
 if [ "$2" = "" ]
 then
     #  Look for installed FlashBuilder versions 4.5, 4.6 and 4.7.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/ide/flashbuilder/build.xml
----------------------------------------------------------------------
diff --git a/ide/flashbuilder/build.xml b/ide/flashbuilder/build.xml
index 106eb20..2fe4410 100644
--- a/ide/flashbuilder/build.xml
+++ b/ide/flashbuilder/build.xml
@@ -36,20 +36,22 @@
     <property name="air.dir" value="${env.AIR_HOME}"/>
     <property name="debugger" value="${env.FLASHPLAYER_DEBUGGER}"/>
     
-    <target name="main" depends="create-config-files,expand-config-tokens" 
-        description="Create framework config files in format expected by Adobe FlashBuilder"/>
-
     <target name="clean">
         <delete dir="${basedir}/config" failonerror="false" />
+        <delete file="${basedir}/FlashBuilderProjectFiles.zip" failonerror="false" />
     </target>
     
+    <target name="main" depends="expand-config-tokens" 
+        description="Create framework config files in format expected by Adobe FlashBuilder"/>
+
     <!-- For testing.  Run this to integrate this SDK (in-place) with playerglobal.swc and
          AIR, and modify the framework config files to be the format FB expects.  Only
          the AIR kit for the platform specified by AIR_HOME will be incorporated.
+         FlashBuilder also expects frameworks/rsls to exist.
          
          There is no clean for this operation.
     -->
-    <target name="make-sdk" depends="install-config,install-playerglobal,install-air"
+    <target name="make-sdk" depends="check-rsls,install-config,install-playerglobal,install-air"
         description="Converts this SDK into the layout FlashBuilder expects."/>
     
     <target name="create-config-files" 
@@ -63,7 +65,7 @@
         </copy>
     </target>
 
-    <target name="expand-config-tokens" description="Expand {airHome} and {playerglobalHome} tokens">        
+    <target name="expand-config-tokens" depends="create-config-files" description="Expand {airHome} and {playerglobalHome} tokens">        
         <echo message="expanding {airHome} and {playerglobalHome} tokens"/>
         <fix-config-file-for-flashbuilder file="${basedir}/config/air-config.xml" />
         <fix-config-file-for-flashbuilder file="${basedir}/config/airmobile-config.xml" />
@@ -102,8 +104,14 @@
                 </replace>
         </sequential>
     </macrodef>	
+
+    <target name="check-rsls">
+        <available file="${frameworks.dir}/rsls" type="dir" property="rsls.dir.exists"/>
+        <fail message="The ${frameworks.dir}/rsls directory must be created. Use the frameworks-rsls ant target in ${FLEX_HOME}." 
+            unless="rsls.dir.exists"/>
+    </target>
     
-    <target name="install-config">
+    <target name="install-config" depends="expand-config-tokens">
         <copy todir="${frameworks.dir}" verbose="true">
             <fileset dir="${basedir}/config"/> 
         </copy>
@@ -123,4 +131,13 @@
         <chmod dir="${basedir}" perm="755" includes="bin/*, **/*.bat, **/*.sh" />
     </target>
 
+    <target name="zip-project-files">
+        <zip destfile="${basedir}/FlashBuilderProjectFiles.zip">
+            <zipfileset dir="${FLEX_HOME}" prefix="${release.version}">
+                <include name="**/.*"/>
+                <exclude name="mustella/**/.*"/>
+                <exclude name="temp/**/.*"/>
+            </zipfileset> 
+        </zip>    
+    </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/ide/flashbuilder/makeApacheFlexForFlashBuilder.bat
----------------------------------------------------------------------
diff --git a/ide/flashbuilder/makeApacheFlexForFlashBuilder.bat b/ide/flashbuilder/makeApacheFlexForFlashBuilder.bat
index 7830520..472685f 100755
--- a/ide/flashbuilder/makeApacheFlexForFlashBuilder.bat
+++ b/ide/flashbuilder/makeApacheFlexForFlashBuilder.bat
@@ -21,8 +21,8 @@ REM ############################################################################
 
 REM    This script should be used to create an Apache Flex SDK that has the
 REM    directory structure that the Adobe Flash Builder IDE expects.  If this is a
-REM    source package, you must build the binaries first.  See the README at the root
-REM    for instructions.
+REM    source package, you must build the binaries and the RSLs first.  See the README at 
+REM    the root for instructions.
 REM
 REM    This script assumes that it is in the ide/flashbuilder directory of the Apache Flex SDK
 REM    The files from this SDK will be copied to the new directory structure.
@@ -45,7 +45,7 @@ REM
 REM     Adobe AIR SDK Version 3.1
 REM
 set ADOBE_AIR_SDK_WIN_FILE=AdobeAIRSDK.zip
-set ADOBE_AIR_SDK_WIN_URL=http://airdownload.adobe.com/air/win/download/3.1/%ADOBE_AIR_SDK_WIN_FILE%
+set ADOBE_AIR_SDK_WIN_URL=http://airdownload.adobe.com/air/win/download/3.4/%ADOBE_AIR_SDK_WIN_FILE%
 
 REM
 REM     Adobe Flash Player Version 11.1
@@ -61,11 +61,19 @@ REM
 REM     Quick check to see if there are binaries.
 REM
 :checkJar
-if exist "%APACHE_FLEX_BIN_DISTRO_DIR%\lib\mxmlc.jar" goto gotDir
+if exist "%APACHE_FLEX_BIN_DISTRO_DIR%\lib\mxmlc.jar" goto gotRSLs
 echo You must build the binaries for this SDK first.  See the README at the root.
 goto :eof
 
 REM
+REM     Quick check to see if there are binaries.
+REM
+:gotRSLs
+if exist "%APACHE_FLEX_BIN_DISTRO_DIR%\frameworks\rsls" goto gotDir
+echo You must build the RSLs for this SDK first.  See the README at the root.
+goto :eof
+
+REM
 REM     Set FLEX_HOME to the fully qualified path to %1.
 REM     Make sure the directory for the Apache Flex SDK exists.
 REM

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/ide/flashbuilder/makeApacheFlexForFlashBuilder.sh
----------------------------------------------------------------------
diff --git a/ide/flashbuilder/makeApacheFlexForFlashBuilder.sh b/ide/flashbuilder/makeApacheFlexForFlashBuilder.sh
index 27c9c09..c303400 100755
--- a/ide/flashbuilder/makeApacheFlexForFlashBuilder.sh
+++ b/ide/flashbuilder/makeApacheFlexForFlashBuilder.sh
@@ -21,8 +21,8 @@
 
 # This script should be used to create an Apache Flex SDK that has the
 # directory structure that the Adobe Flash Builder IDE expects.  If this is a
-# source package, you must build the binaries first.  See the README at the root
-# for instructions.
+# source package, you must build the binaries and the RSLs first.  See the README at the 
+# root for instructions.
 #
 # The Adobe AIR SDK and the Adobe Flash Player playerglobal.swc are integrated
 # into the new directory structure.  The paths in the framework configuration files are 
@@ -38,7 +38,7 @@
 APACHE_FLEX_BIN_DIR="$( cd $( dirname -- "$0" ) > /dev/null ; pwd )"/../..
 
 # Adobe AIR SDK Version 3.1
-ADOBE_AIR_SDK_MAC_URL=http://airdownload.adobe.com/air/mac/download/3.1/AdobeAIRSDK.tbz2
+ADOBE_AIR_SDK_MAC_URL=http://airdownload.adobe.com/air/mac/download/3.4/AdobeAIRSDK.tbz2
 
 # Adobe Flash Player Version 11.1
 ADOBE_FLASHPLAYER_GLOBALPLAYER_SWC_URL=http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc
@@ -60,6 +60,13 @@ then
     exit 1;
 fi
 
+# quick check to see if the RSLs are there
+if [ ! -d "${APACHE_FLEX_BIN_DIR}/frameworks/rsls" ]
+then
+    echo You must build the RSLs for this SDK first.  See the README at the root.
+    exit 1;
+fi
+
 # make sure the directory for the Apache Flex SDK exists
 mkdir -p "$FLEX_HOME"
 
@@ -103,4 +110,4 @@ cp -p -v "$FLEX_HOME"/ide/flashbuilder/config/*-config.xml "$FLEX_HOME/framework
 rm -rf "$tempDir"
 
 # remove the stagging directory for downloaded software
-rm -rf "$FLEX_HOME/in"
\ No newline at end of file
+rm -rf "$FLEX_HOME/in"

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/jenkins.xml
----------------------------------------------------------------------
diff --git a/jenkins.xml b/jenkins.xml
index d59cfa9..a4ebcf8 100644
--- a/jenkins.xml
+++ b/jenkins.xml
@@ -44,7 +44,7 @@
         <echo message="Be patient.  This takes a few minutes..." />
         <mkdir dir="${FLEX_HOME}/air"/>
         <mkdir dir="${FLEX_HOME}/temp"/>
-        <get src="http://airdownload.adobe.com/air/win/download/3.1/AdobeAIRSDK.zip" 
+        <get src="http://airdownload.adobe.com/air/win/download/3.4/AdobeAIRSDK.zip" 
             dest="${FLEX_HOME}/temp/AIR Integration Kit.zip" 
             verbose="false"/>
         <unzip dest="${FLEX_HOME}/air/AIR Integration Kit" src="${FLEX_HOME}/temp/AIR Integration Kit.zip" />
@@ -106,7 +106,7 @@
 	
     <target name="playerglobal11.3-download" if="target11.3">
     	<mkdir dir="${basedir}/lib/player/${playerglobal.version}"/>
-        <get src="http://labsdownload.adobe.com/pub/labs/flashplatformruntimes/flashplayer11-3/flashplayer11-3_p3_playerglobal_050412.swc" 
+        <get src="http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/playerglobal11_3.swc" 
             dest="${basedir}/lib/player/${playerglobal.version}/playerglobal.swc" 
             verbose="false"/>
     </target>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/build.xml
----------------------------------------------------------------------
diff --git a/modules/build.xml b/modules/build.xml
index bfb4894..931dec4 100644
--- a/modules/build.xml
+++ b/modules/build.xml
@@ -83,11 +83,9 @@
 		<ant dir="${basedir}/antTasks" target="clean"/>
         <ant dir="${basedir}/asc/build/java" target="clean"/>
         <ant dir="${basedir}/thirdparty/xerces-patch" target="clean"/>
-        <delete file="${FLEX_LIB}/asc.jar"/>
-        <!--delete dir="${FLEX_LIB}/*.jar" failonerror="false"/-->
         <delete includeemptydirs="true" failonerror="false">
             <fileset dir="${FLEX_LIB}">
-                <exclude name="**/*" />
+                <include name="*" />
             </fileset>
         </delete>
 	</target>
@@ -160,19 +158,15 @@
     </target>
 	
 	<target name="batik" description="Build batik-all-flex.jar">
-
-		<echo message="This target should be run with Java 1.4.2_14. It doesn't work with Java 1.5."/>
-		
         <ant antfile="${basedir}/downloads.xml" target="batik-jars" dir="${basedir}"/>
 		<ant dir="${basedir}/thirdparty/batik" target="batik-all-flex-jar">
 	        <property name="deprecation" value="off"/>
+	        <property name="sun-codecs.disabled" value="true"/>
 	    </ant>
 	</target>
 
 	<target name="batik-clean">
-	    <mkdir dir="${basedir}/thirdparty/batik/lib"/>
 		<ant dir="${basedir}/thirdparty/batik" target="batik-all-flex-clean"/>
-	    <delete dir="${basedir}/thirdparty/batik/lib"/>
 	</target>
 	
     <target name="velocity" description="Build velocity-dep-1.4-flex.jar">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/build.xml
----------------------------------------------------------------------
diff --git a/modules/compiler/build.xml b/modules/compiler/build.xml
index 45f889b..c45a89f 100644
--- a/modules/compiler/build.xml
+++ b/modules/compiler/build.xml
@@ -58,7 +58,7 @@
 	<!-- Including Adobe proprietary font and license code.  -->
 	<property name="mxmlc.mpl_excludes.classpath" value="${opt.dir}/afe.jar ${opt.dir}/aglj40.jar ${opt.dir}/rideau.jar ${opt.dir}/flex-fontkit.jar "/>
     <property name="mxmlc.adobe.classpath" value="${mxmlc.mpl_excludes.classpath} asc.jar ${ext.dir}/xml-apis.jar batik-all-flex.jar velocity-dep-1.4-flex.jar ${ext.dir}/commons-collections.jar ${ext.dir}/commons-discovery.jar ${ext.dir}/commons-logging.jar swfutils.jar fxgutils.jar ${opt.dir}/flex-messaging-common.jar ${localized.mxmlc.jars} ${ext.dir}/xalan.jar"/>
-    <property name="mxmlc.classpath" value="${mxmlc.adobe.classpath} ${env.property.dir}"/>
+    <property name="mxmlc.classpath" value="${mxmlc.adobe.classpath} ${ext.dir}/xml-apis-ext.jar ${env.property.dir}"/>
     
 	<property name="compc.main" value="flex2.tools.Compc"/>
     <property name="compc.classpath" value="mxmlc.jar ${mxmlc.classpath}"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/Descriptor.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/Descriptor.java b/modules/compiler/src/java/flash/css/Descriptor.java
index db08ff6..f7016c1 100644
--- a/modules/compiler/src/java/flash/css/Descriptor.java
+++ b/modules/compiler/src/java/flash/css/Descriptor.java
@@ -23,7 +23,7 @@ import flash.util.Trace;
 import flex2.compiler.util.CompilerMessage.CompilerError;
 import flex2.compiler.util.ThreadLocalToolkit;
 import org.apache.flex.forks.batik.css.parser.CSSLexicalUnit;
-import org.w3c.flex.forks.css.sac.LexicalUnit;
+import org.w3c.css.sac.LexicalUnit;
 
 /**
  * This class represents a descriptor/property within a CSS rule

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/FontFaceRule.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/FontFaceRule.java b/modules/compiler/src/java/flash/css/FontFaceRule.java
index 72eef2ae..6980d5a 100644
--- a/modules/compiler/src/java/flash/css/FontFaceRule.java
+++ b/modules/compiler/src/java/flash/css/FontFaceRule.java
@@ -26,8 +26,8 @@ import flex2.compiler.util.MimeMappings;
 import flex2.compiler.util.ThreadLocalToolkit;
 import flash.fonts.FontFace;
 import flash.util.Trace;
-import org.w3c.flex.forks.css.sac.CSSException;
-import org.w3c.flex.forks.css.sac.LexicalUnit;
+import org.w3c.css.sac.CSSException;
+import org.w3c.css.sac.LexicalUnit;
 
 import java.util.*;
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/StyleDeclaration.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/StyleDeclaration.java b/modules/compiler/src/java/flash/css/StyleDeclaration.java
index 367f2ca..25358f9 100644
--- a/modules/compiler/src/java/flash/css/StyleDeclaration.java
+++ b/modules/compiler/src/java/flash/css/StyleDeclaration.java
@@ -19,7 +19,7 @@
 
 package flash.css;
 
-import org.w3c.flex.forks.css.sac.LexicalUnit;
+import org.w3c.css.sac.LexicalUnit;
 
 import java.util.ArrayList;
 import java.util.HashMap;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/StyleDocumentHandler.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/StyleDocumentHandler.java b/modules/compiler/src/java/flash/css/StyleDocumentHandler.java
index ad89357..50c9f00 100644
--- a/modules/compiler/src/java/flash/css/StyleDocumentHandler.java
+++ b/modules/compiler/src/java/flash/css/StyleDocumentHandler.java
@@ -23,7 +23,7 @@ import org.apache.flex.forks.batik.css.parser.CSSLexicalUnit;
 import org.apache.flex.forks.batik.css.parser.DefaultConditionalSelector;
 import org.apache.flex.forks.batik.css.parser.DefaultDescendantSelector;
 import org.apache.flex.forks.batik.css.parser.DefaultElementSelector;
-import org.w3c.flex.forks.css.sac.*;
+import org.w3c.css.sac.*;
 
 /**
  * An implementation of DocumentHandler, which creates rules, hands

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/compiler/src/java/flash/css/StyleParser.java
----------------------------------------------------------------------
diff --git a/modules/compiler/src/java/flash/css/StyleParser.java b/modules/compiler/src/java/flash/css/StyleParser.java
index e59ac41..9556b18 100644
--- a/modules/compiler/src/java/flash/css/StyleParser.java
+++ b/modules/compiler/src/java/flash/css/StyleParser.java
@@ -37,10 +37,10 @@ import flex2.compiler.util.CompilerMessage;
 import flex2.compiler.util.ThreadLocalToolkit;
 
 import org.apache.flex.forks.batik.css.parser.Parser;
-import org.w3c.flex.forks.css.sac.CSSException;
-import org.w3c.flex.forks.css.sac.CSSParseException;
-import org.w3c.flex.forks.css.sac.ErrorHandler;
-import org.w3c.flex.forks.css.sac.InputSource;
+import org.w3c.css.sac.CSSException;
+import org.w3c.css.sac.CSSParseException;
+import org.w3c.css.sac.ErrorHandler;
+import org.w3c.css.sac.InputSource;
 
 /**
  * The class is a wrapper around the Batik CSS Parser.  It uses a


[47/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_flashflexkit/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_flashflexkit/build.xml b/frameworks/projects/automation_flashflexkit/build.xml
index 072552b..de506c3 100644
--- a/frameworks/projects/automation_flashflexkit/build.xml
+++ b/frameworks/projects/automation_flashflexkit/build.xml
@@ -68,26 +68,9 @@
 		<compc fork="true"
 			   output="${FLEX_HOME}/frameworks/libs/automation/automation_flashflexkit.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationFlashFlexKitClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="rpc.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/automation.swc"/>
-				<include name="automation/tool.swc"/>
-				<include name="automation/tool_air.swc"/>
-			</external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/projects/flash-integration/libs">
-			    <include name="flash-integration.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 </project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_flashflexkit/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_flashflexkit/compile-config.xml b/frameworks/projects/automation_flashflexkit/compile-config.xml
new file mode 100644
index 0000000..8e74bce
--- /dev/null
+++ b/frameworks/projects/automation_flashflexkit/compile-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/rpc.swc</path-element>
+            <path-element>../../libs/flash-integration.swc</path-element>
+            <path-element>../../libs/automation/automation.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/tool.swc</path-element>
+            <path-element>../../libs/automation/tool_air.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationFlashFlexKitClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_spark/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_spark/build.xml b/frameworks/projects/automation_spark/build.xml
index a44041e..0253a3c 100644
--- a/frameworks/projects/automation_spark/build.xml
+++ b/frameworks/projects/automation_spark/build.xml
@@ -51,28 +51,9 @@
 		<compc fork="true"
 			   output="${FLEX_HOME}/frameworks/libs/automation/automation_spark.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest_automation_spark.xml"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationSparkClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-				<include name="rpc.swc"/>
-				<include name="osmf.swc"/>
-				<include name="automation/automation.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/tool.swc"/>
-				<include name="automation/tool_air.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_spark/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_spark/compile-config.xml b/frameworks/projects/automation_spark/compile-config.xml
new file mode 100644
index 0000000..2ff262c
--- /dev/null
+++ b/frameworks/projects/automation_spark/compile-config.xml
@@ -0,0 +1,60 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/rpc.swc</path-element>
+            <path-element>../../libs/automation/automation.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/tool.swc</path-element>
+            <path-element>../../libs/automation/tool_air.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest_automation_spark.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationSparkClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/build.xml b/frameworks/projects/charts/build.xml
index 7c2a023..882d0d0 100644
--- a/frameworks/projects/charts/build.xml
+++ b/frameworks/projects/charts/build.xml
@@ -34,27 +34,16 @@
                 <!-- because targets that run before flexTasks.jar gets built would fail. -->
                 <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
                 <compc fork="true"
-                    output="${FLEX_HOME}/frameworks/locale/@{locale}/charts_rb.swc"
-                    locale="@{locale}">
+                    output="${FLEX_HOME}/frameworks/locale/@{locale}/charts_rb.swc">
                     <!--
                         NOTE: we are continuing to build against player 9 so that airframework.swc
                               can externally link against framework.swc, since air is player 9.
                     -->
-                    <target-player>10.1</target-player>
                     <jvmarg line="${compc.jvm.args}"/>
-                    <include-resource-bundles bundle="charts"/>
-                    <include-namespaces/>
-                    <include-classes/>
-                    <source-path path-element="${basedir}/bundles/@{locale}"/>
-                    <source-path path-element="${FLEX_HOME}/frameworks/projects/charts/src"/>
-                    <include-libraries/>
-                    <library-path/>
-                    <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                        <include name="${playerglobal.version}/playerglobal.swc"/>
-                    </external-library-path>
-                    <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                        <include name="framework.swc"/>
-                    </external-library-path>
+                    <load-config filename="bundle-config.xml" />
+                    <arg value="+playerglobal.version=${playerglobal.version}" />
+                    <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                    <arg value="+locale=@{locale}" />
                 </compc>
         </sequential>
     </macrodef> 
@@ -120,6 +109,7 @@
                 <fat-swc locale="de_DE"/>
             </run.fat.swc>
         </bundler>
+        <bundler locale="de_CH"/><!-- Swiss German resources -->
         <bundler locale="es_ES"/><!-- Spanish resources -->
         <bundler locale="fi_FI"/><!--  Finnish resources-->
         <bundler locale="fr_FR"><!-- French resources -->
@@ -202,29 +192,11 @@
             into the file bundles.properties in this directory.
         -->
         <compc fork="true"
-            include-classes="ChartsClasses"
-            output="${FLEX_HOME}/frameworks/libs/charts.swc"
-            resource-bundle-list="${basedir}/bundles.properties">
+            output="${FLEX_HOME}/frameworks/libs/charts.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest_charts.xml"/>
-            <include-namespaces>library://ns.adobe.com/flex/mx</include-namespaces>
-            <source-path path-element="${basedir}/src"/>
-            <library-path />
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-                <include name="rpc.swc"/>
-                <include name="textLayout.swc"/>
-            </external-library-path>
-            <include-file name="defaults.css" path="${basedir}/charts.css"/>
-            <include-file name="defaults-4.1.0.css" path="${basedir}/charts-4.X.0.css"/>
-            <include-file name="defaults-4.0.0.css" path="${basedir}/charts-4.X.0.css"/>
-            <include-file name="defaults-3.0.0.css" path="${basedir}/charts-3.0.0.css"/>
-            <locale/>
-            <accessible>true</accessible>
-            <show-deprecation-warnings>false</show-deprecation-warnings>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
         </compc>
     </target>
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/bundle-config.xml b/frameworks/projects/charts/bundle-config.xml
new file mode 100644
index 0000000..e46de6f
--- /dev/null
+++ b/frameworks/projects/charts/bundle-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>charts</bundle>
+    </include-resource-bundles>
+        
+    <target-player>10.1</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/bundles/de_CH/charts.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/bundles/de_CH/charts.properties b/frameworks/projects/charts/bundles/de_CH/charts.properties
new file mode 100644
index 0000000..be1c689
--- /dev/null
+++ b/frameworks/projects/charts/bundles/de_CH/charts.properties
@@ -0,0 +1,25 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# Developer RTE Section
+
+open=Eröffnung
+close=Schluss
+high=Höchst
+low=Tiefst
+noAxisSet=Die Eigenschaftsachse ist nicht für AxisRenderer festgelegt

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/bundles/pt_PT/charts.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/bundles/pt_PT/charts.properties b/frameworks/projects/charts/bundles/pt_PT/charts.properties
index 6e4c9ab..468d279 100644
--- a/frameworks/projects/charts/bundles/pt_PT/charts.properties
+++ b/frameworks/projects/charts/bundles/pt_PT/charts.properties
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 # Developer RTE Section
 
 open=abrir

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/compile-config.xml b/frameworks/projects/charts/compile-config.xml
new file mode 100644
index 0000000..81b22d3
--- /dev/null
+++ b/frameworks/projects/charts/compile-config.xml
@@ -0,0 +1,72 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/rpc.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest_charts.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <show-deprecation-warnings>false</show-deprecation-warnings>
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>ChartsClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>charts.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-4.1.0.css</name>
+        <path>charts-4.X.0.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-4.0.0.css</name>
+        <path>charts-4.X.0.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-3.0.0.css</name>
+        <path>charts-3.0.0.css</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>
+        
+    <resource-bundle-list>bundles.properties</resource-bundle-list>    
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/AreaChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/AreaChart.as b/frameworks/projects/charts/src/mx/charts/AreaChart.as
index ab17940..421ea95 100644
--- a/frameworks/projects/charts/src/mx/charts/AreaChart.as
+++ b/frameworks/projects/charts/src/mx/charts/AreaChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -117,7 +118,7 @@ public class AreaChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 
     //--------------------------------------------------------------------------
     //
@@ -258,10 +259,10 @@ public class AreaChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/AxisRenderer.as b/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
index ba24046..1f67d4f 100644
--- a/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
+++ b/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
@@ -30,6 +30,7 @@ import flash.geom.Rectangle;
 import flash.system.ApplicationDomain;
 import flash.text.TextFormat;
 import flash.utils.getQualifiedClassName;
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.AxisBase;
 import mx.charts.chartClasses.AxisLabelSet;
@@ -427,7 +428,7 @@ public class AxisRenderer extends DualStyleObject implements IAxisRenderer
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     //--------------------------------------------------------------------------
     //
@@ -1152,10 +1153,10 @@ public class AxisRenderer extends DualStyleObject implements IAxisRenderer
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/BarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/BarChart.as b/frameworks/projects/charts/src/mx/charts/BarChart.as
index 7fbba41..f4a7ba1 100644
--- a/frameworks/projects/charts/src/mx/charts/BarChart.as
+++ b/frameworks/projects/charts/src/mx/charts/BarChart.as
@@ -23,6 +23,7 @@ package mx.charts
 import flash.display.DisplayObject;
 import flash.filters.DropShadowFilter;
 import flash.system.ApplicationDomain;
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.CartesianTransform;
@@ -202,7 +203,7 @@ public class BarChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     /**
      *  @private
@@ -344,10 +345,10 @@ public class BarChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/BubbleChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/BubbleChart.as b/frameworks/projects/charts/src/mx/charts/BubbleChart.as
index 3ba0744..bbb606a 100644
--- a/frameworks/projects/charts/src/mx/charts/BubbleChart.as
+++ b/frameworks/projects/charts/src/mx/charts/BubbleChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -158,7 +159,7 @@ public class BubbleChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     //--------------------------------------------------------------------------
     //
@@ -243,10 +244,10 @@ public class BubbleChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/CandlestickChart.as b/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
index 4e81f15..1af209b 100644
--- a/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
+++ b/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -174,7 +175,7 @@ public class CandlestickChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
     
     /**
      *  @private
@@ -250,10 +251,10 @@ public class CandlestickChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/ColumnChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/ColumnChart.as b/frameworks/projects/charts/src/mx/charts/ColumnChart.as
index 60600b1..816fbe0 100644
--- a/frameworks/projects/charts/src/mx/charts/ColumnChart.as
+++ b/frameworks/projects/charts/src/mx/charts/ColumnChart.as
@@ -23,6 +23,7 @@ package mx.charts
 import flash.display.DisplayObject;
 import flash.filters.DropShadowFilter;
 import flash.system.ApplicationDomain;
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.CartesianTransform;
@@ -207,7 +208,7 @@ public class ColumnChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     
     /**
@@ -454,10 +455,10 @@ public class ColumnChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/GridLines.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/GridLines.as b/frameworks/projects/charts/src/mx/charts/GridLines.as
index 62cde81..341c926 100644
--- a/frameworks/projects/charts/src/mx/charts/GridLines.as
+++ b/frameworks/projects/charts/src/mx/charts/GridLines.as
@@ -22,6 +22,7 @@ package mx.charts
 
 import flash.display.Graphics;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.ChartElement;
@@ -339,7 +340,7 @@ public class GridLines extends ChartElement
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 
 	//--------------------------------------------------------------------------
 	//
@@ -378,10 +379,10 @@ public class GridLines extends ChartElement
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/HLOCChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/HLOCChart.as b/frameworks/projects/charts/src/mx/charts/HLOCChart.as
index c8c319e..91b7a27 100644
--- a/frameworks/projects/charts/src/mx/charts/HLOCChart.as
+++ b/frameworks/projects/charts/src/mx/charts/HLOCChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -170,7 +171,7 @@ public class HLOCChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
     
     /**
      *  @private
@@ -251,10 +252,10 @@ public class HLOCChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/Legend.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/Legend.as b/frameworks/projects/charts/src/mx/charts/Legend.as
index 2596a49..90816b9 100644
--- a/frameworks/projects/charts/src/mx/charts/Legend.as
+++ b/frameworks/projects/charts/src/mx/charts/Legend.as
@@ -1081,11 +1081,6 @@ package mx.charts
         /**
          *  @private
          */
-        private var _moduleFactoryInitialized:Boolean = false;
-        
-        /**
-         *  @private
-         */
         private var _preferredMajorAxisLength:Number;
         
         /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/LegendItem.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/LegendItem.as b/frameworks/projects/charts/src/mx/charts/LegendItem.as
index fb5aee9..b7c212d 100644
--- a/frameworks/projects/charts/src/mx/charts/LegendItem.as
+++ b/frameworks/projects/charts/src/mx/charts/LegendItem.as
@@ -23,6 +23,8 @@ package mx.charts
 import flash.display.DisplayObject;
 import flash.events.MouseEvent;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
+
 import mx.charts.chartClasses.IChartElement;
 import mx.charts.renderers.BoxItemRenderer;
 import mx.charts.styles.HaloDefaults;
@@ -194,7 +196,7 @@ public class LegendItem extends UIComponent
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 	
 	/**
 	 *  @private
@@ -409,10 +411,10 @@ public class LegendItem extends UIComponent
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 	}
 	
 	/**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/LineChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/LineChart.as b/frameworks/projects/charts/src/mx/charts/LineChart.as
index 87281fc..0b9ade8 100644
--- a/frameworks/projects/charts/src/mx/charts/LineChart.as
+++ b/frameworks/projects/charts/src/mx/charts/LineChart.as
@@ -21,6 +21,7 @@ package mx.charts
 {
 
 import flash.filters.DropShadowFilter;
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -114,7 +115,7 @@ public class LineChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     //--------------------------------------------------------------------------
     //
@@ -198,10 +199,10 @@ public class LineChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/PieChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/PieChart.as b/frameworks/projects/charts/src/mx/charts/PieChart.as
index 931f101..41c5c9d 100644
--- a/frameworks/projects/charts/src/mx/charts/PieChart.as
+++ b/frameworks/projects/charts/src/mx/charts/PieChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.DataTip;
 import mx.charts.chartClasses.DataTransform;
@@ -142,7 +143,7 @@ public class PieChart extends PolarChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
 
     
     /**
@@ -210,10 +211,10 @@ public class PieChart extends PolarChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/PlotChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/PlotChart.as b/frameworks/projects/charts/src/mx/charts/PlotChart.as
index 30a2bc4..f872900 100644
--- a/frameworks/projects/charts/src/mx/charts/PlotChart.as
+++ b/frameworks/projects/charts/src/mx/charts/PlotChart.as
@@ -19,6 +19,7 @@
 
 package mx.charts
 {
+import flash.utils.Dictionary;
 
 import mx.charts.chartClasses.CartesianChart;
 import mx.charts.chartClasses.DataTip;
@@ -110,7 +111,7 @@ public class PlotChart extends CartesianChart
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     //--------------------------------------------------------------------------
     //
@@ -180,10 +181,10 @@ public class PlotChart extends CartesianChart
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as b/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
index 4c82baf..af9e587 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
@@ -26,6 +26,7 @@ import flash.events.KeyboardEvent;
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.ui.Keyboard;
+import flash.utils.Dictionary;
 
 import mx.charts.AxisRenderer;
 import mx.charts.ChartItem;
@@ -236,7 +237,7 @@ public class CartesianChart extends ChartBase
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     /**
      *  @private
@@ -823,10 +824,10 @@ public class CartesianChart extends ChartBase
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         
         // our style settings

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as b/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
index ec4e9f5..d5932ce 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
@@ -650,7 +650,7 @@ public class ChartBase extends UIComponent implements IFocusManagerComponent
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     /**
      *  @private
@@ -1892,10 +1892,10 @@ public class ChartBase extends UIComponent implements IFocusManagerComponent
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         
         // our style settings

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as b/frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as
index 24698dc..f170a5b 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/DataTip.as
@@ -25,6 +25,8 @@ import flash.display.Graphics;
 import flash.geom.Rectangle;
 import flash.text.TextFieldAutoSize;
 import flash.text.TextFormat;
+import flash.utils.Dictionary;
+
 import mx.charts.HitData;
 import mx.charts.styles.HaloDefaults;
 import mx.core.IDataRenderer;
@@ -251,7 +253,7 @@ public class DataTip extends UIComponent implements IDataRenderer
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 	
     /**
      *  @private.
@@ -344,10 +346,10 @@ public class DataTip extends UIComponent implements IDataRenderer
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 	}
 	
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as b/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
index 3ebbd40..df60f38 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
@@ -25,6 +25,7 @@ import flash.events.KeyboardEvent;
 import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.ui.Keyboard;
+import flash.utils.Dictionary;
 
 import mx.charts.ChartItem;
 import mx.charts.LinearAxis;
@@ -102,7 +103,7 @@ public class PolarChart extends ChartBase
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
     
     /**
      *  @private
@@ -230,10 +231,10 @@ public class PolarChart extends ChartBase
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as b/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
index 2843908..6fbc951 100644
--- a/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
@@ -294,7 +294,7 @@ public class AreaSeries extends Series implements IStackable2
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 	
     /**
      *  @private
@@ -895,10 +895,10 @@ public class AreaSeries extends Series implements IStackable2
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/BarSeries.as b/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
index 20e7d52..a19b40b 100644
--- a/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
@@ -303,7 +303,7 @@ public class BarSeries extends Series implements IStackable2, IBar
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     
     /**
@@ -1083,10 +1083,10 @@ public class BarSeries extends Series implements IStackable2, IBar
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as b/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
index fc4c956..c84bece 100644
--- a/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
@@ -24,6 +24,7 @@ import flash.display.DisplayObject;
 import flash.display.Graphics;
 import flash.geom.Point;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
 
 import mx.charts.BubbleChart;
 import mx.charts.DateTimeAxis;
@@ -210,7 +211,7 @@ public class BubbleSeries extends Series
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false; 
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
 	
 	/**
 	 *  @private
@@ -723,10 +724,10 @@ public class BubbleSeries extends Series
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as b/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
index 7dbdbe4..8d1f13b 100644
--- a/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
@@ -19,6 +19,7 @@
 
 package mx.charts.series
 {
+import flash.utils.Dictionary;
 
 import mx.charts.HitData;
 import mx.charts.chartClasses.CartesianTransform;
@@ -175,7 +176,7 @@ public class CandlestickSeries extends HLOCSeriesBase
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
 
     /**
      * @private
@@ -311,10 +312,10 @@ public class CandlestickSeries extends HLOCSeriesBase
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as b/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
index 03e3366..fd37e69 100644
--- a/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
@@ -303,7 +303,7 @@ public class ColumnSeries extends Series implements IColumn,IStackable2
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
     
     /**
      *  @private
@@ -1071,10 +1071,10 @@ public class ColumnSeries extends Series implements IColumn,IStackable2
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as b/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
index 3dca5b8..31804d2 100644
--- a/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
@@ -19,6 +19,7 @@
 
 package mx.charts.series
 {
+import flash.utils.Dictionary;
 
 import mx.charts.HitData;
 import mx.charts.chartClasses.HLOCSeriesBase;
@@ -177,7 +178,7 @@ public class HLOCSeries extends HLOCSeriesBase
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false;
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 	
 	//--------------------------------------------------------------------------
 	//
@@ -214,10 +215,10 @@ public class HLOCSeries extends HLOCSeriesBase
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/LineSeries.as b/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
index bdcb4da..f68b5b2 100644
--- a/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
@@ -24,6 +24,7 @@ import flash.display.DisplayObject;
 import flash.display.Graphics;
 import flash.geom.Point;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
 
 import mx.charts.DateTimeAxis;
 import mx.charts.HitData;
@@ -299,7 +300,7 @@ public class LineSeries extends Series
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false;
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true);
 
     
     /**
@@ -907,10 +908,10 @@ public class LineSeries extends Series
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/PieSeries.as b/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
index 369ba61..30198f7 100644
--- a/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
@@ -28,6 +28,7 @@ import flash.geom.Point;
 import flash.geom.Rectangle;
 import flash.text.TextFieldAutoSize;
 import flash.text.TextFormat;
+import flash.utils.Dictionary;
 
 import mx.charts.HitData;
 import mx.charts.chartClasses.DataDescription;
@@ -370,7 +371,7 @@ public class PieSeries extends Series
 	/**
 	 *  @private
 	 */
-	private var _moduleFactoryInitialized:Boolean = false; 
+	private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
 	
     /**
      *  @private
@@ -1203,10 +1204,10 @@ public class PieSeries extends Series
 	{
 		super.moduleFactory = factory;
 		
-		if (_moduleFactoryInitialized)
+		if (_moduleFactoryInitialized[factory])
 			return;
 		
-		_moduleFactoryInitialized = true;
+		_moduleFactoryInitialized[factory] = true;
 		
 		// our style settings
 		initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as b/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
index 60a0b57..cec1303 100644
--- a/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
@@ -24,6 +24,7 @@ import flash.display.DisplayObject;
 import flash.display.Graphics;
 import flash.geom.Point;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
 
 import mx.charts.DateTimeAxis;
 import mx.charts.HitData;
@@ -215,7 +216,7 @@ public class PlotSeries extends Series
     /**
      *  @private
      */
-    private var _moduleFactoryInitialized:Boolean = false; 
+    private static var _moduleFactoryInitialized:Dictionary = new Dictionary(true); 
     
     /**
      *  @private
@@ -656,10 +657,10 @@ public class PlotSeries extends Series
     {
         super.moduleFactory = factory;
         
-        if (_moduleFactoryInitialized)
+        if (_moduleFactoryInitialized[factory])
             return;
         
-        _moduleFactoryInitialized = true;
+        _moduleFactoryInitialized[factory] = true;
         
         // our style settings
         initStyles();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/core/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/core/.actionScriptProperties b/frameworks/projects/core/.actionScriptProperties
index db746c7..d7632b1 100644
--- a/frameworks/projects/core/.actionScriptProperties
+++ b/frameworks/projects/core/.actionScriptProperties
@@ -1,35 +1,35 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="core.as" projectUUID="5580cc92-7a74-4070-8f3a-f764df2cda9a" version="6">
-  <compiler additionalCompilerArguments="-source-path+=../../framework/src -load-config+=../../framework/framework-config.xml -keep-as3-metadata name=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="core.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
-
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="core.as" projectUUID="5580cc92-7a74-4070-8f3a-f764df2cda9a" version="6">
+  <compiler additionalCompilerArguments="-source-path+=../../framework/src -load-config+=../../framework/framework-config.xml -keep-as3-metadata name=Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient -resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="core.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/core/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/core/.flexLibProperties b/frameworks/projects/core/.flexLibProperties
index 4e4496f..a035ba9 100644
--- a/frameworks/projects/core/.flexLibProperties
+++ b/frameworks/projects/core/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="CoreClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/core/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/core/build.xml b/frameworks/projects/core/build.xml
index c2a8021..36d7cd1 100644
--- a/frameworks/projects/core/build.xml
+++ b/frameworks/projects/core/build.xml
@@ -62,28 +62,10 @@
 			(This should be an empty list.)
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/core.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-classes>CoreClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/src"/>
-            <load-config filename="${FLEX_HOME}/frameworks/projects/framework/framework-config.xml"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
-			<keep-as3-metadata name="Bindable"/>
-			<keep-as3-metadata name="Managed"/>
-			<keep-as3-metadata name="ChangeEvent"/>
-			<keep-as3-metadata name="NonCommittingChangeEvent"/>
-			<keep-as3-metadata name="Transient"/>
+			   output="${FLEX_HOME}/frameworks/libs/core.swc">
+			<load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/core/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/core/compile-config.xml b/frameworks/projects/core/compile-config.xml
new file mode 100644
index 0000000..c2b1ce5
--- /dev/null
+++ b/frameworks/projects/core/compile-config.xml
@@ -0,0 +1,53 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+		<accessible>true</accessible>
+               
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+                
+        <locale/>
+        
+        <library-path/>
+                
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../framework/src</path-element>
+        </source-path>
+        
+        <keep-as3-metadata name="Bindable"/>
+        <keep-as3-metadata name="Managed"/>
+        <keep-as3-metadata name="ChangeEvent"/>
+        <keep-as3-metadata name="NonCommittingChangeEvent"/>
+        <keep-as3-metadata name="Transient"/>
+    </compiler>
+    
+    <include-classes>
+        <class>CoreClasses</class>
+    </include-classes>
+        
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/build.xml b/frameworks/projects/experimental/build.xml
index 8c7fd6e..db605db 100644
--- a/frameworks/projects/experimental/build.xml
+++ b/frameworks/projects/experimental/build.xml
@@ -36,23 +36,12 @@
 			<!-- because targets that run before flexTasks.jar gets built would fail. -->
 			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/experimental_rb.swc"
-				   locale="@{locale}">
+				   output="${FLEX_HOME}/frameworks/locale/@{locale}/experimental_rb.swc">
 				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="empty"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/experimental/src"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-					<include name="${playerglobal.version}/playerglobal.swc"/>
-				</external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-	                <include name="framework.swc"/>
-				</external-library-path>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
 			</compc>
 		</sequential>
 	</macrodef>	
@@ -149,28 +138,11 @@
 			into the file bundles.properties in this directory.
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/experimental.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/experimental.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<namespace uri="http://flex.apache.org/experimental/ns" manifest="${basedir}/manifest.xml"/>
-			<include-classes>ExperimentalClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                  <include />
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<locale/>
-			<accessible>true</accessible>
-			<keep-as3-metadata name="Bindable"/>
-			<keep-as3-metadata name="Managed"/>
-			<keep-as3-metadata name="ChangeEvent"/>
-			<keep-as3-metadata name="NonCommittingChangeEvent"/>
-			<keep-as3-metadata name="Transient"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundle-config.xml b/frameworks/projects/experimental/bundle-config.xml
new file mode 100644
index 0000000..4d646a9
--- /dev/null
+++ b/frameworks/projects/experimental/bundle-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>experimental</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/de_CH/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/de_CH/experimental.properties b/frameworks/projects/experimental/bundles/de_CH/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/de_CH/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/de_DE/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/de_DE/experimental.properties b/frameworks/projects/experimental/bundles/de_DE/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/de_DE/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/en_AU/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/en_AU/experimental.properties b/frameworks/projects/experimental/bundles/en_AU/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/en_AU/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/en_CA/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/en_CA/experimental.properties b/frameworks/projects/experimental/bundles/en_CA/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/en_CA/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/en_GB/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/en_GB/experimental.properties b/frameworks/projects/experimental/bundles/en_GB/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/en_GB/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/en_US/empty.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/en_US/empty.properties b/frameworks/projects/experimental/bundles/en_US/empty.properties
deleted file mode 100644
index 29940f7..0000000
--- a/frameworks/projects/experimental/bundles/en_US/empty.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/en_US/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/en_US/experimental.properties b/frameworks/projects/experimental/bundles/en_US/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/en_US/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/es_ES/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/es_ES/experimental.properties b/frameworks/projects/experimental/bundles/es_ES/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/es_ES/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/fi_FI/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/fi_FI/experimental.properties b/frameworks/projects/experimental/bundles/fi_FI/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/fi_FI/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/fr_AR/experimental.properties b/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/experimental/bundles/it_IT/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/it_IT/experimental.properties b/frameworks/projects/experimental/bundles/it_IT/experimental.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/experimental/bundles/it_IT/experimental.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################


[58/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Merge Apache Flex 4.10 into trunk

Posted by jm...@apache.org.
Merge Apache Flex 4.10 into trunk


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/1a4946a9
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/1a4946a9
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/1a4946a9

Branch: refs/heads/release4.11.0
Commit: 1a4946a90099d312c9a3468c34927569542367e4
Parents: 202d09c 97bedf7
Author: Justin Mclean <jm...@apache.org>
Authored: Sat Jul 27 12:20:15 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Sat Jul 27 12:20:15 2013 +1000

----------------------------------------------------------------------
 .gitignore                                      |  120 +
 KEYS                                            |   57 +
 NOTICE                                          |    2 +-
 README                                          |  260 +-
 RELEASE_NOTES                                   |  376 ++-
 SVN-TEST.txt                                    |   11 +-
 asdoc/build.xml                                 |   31 +-
 bin/aasdoc.bat                                  |   66 +-
 bin/acompc.bat                                  |   66 +-
 bin/amxmlc.bat                                  |   66 +-
 bin/asdoc.bat                                   |   48 +-
 bin/compc.bat                                   |   50 +-
 bin/copylocale.bat                              |   36 +-
 bin/digest.bat                                  |   36 +-
 bin/fcsh.bat                                    |   36 +-
 bin/fdb.bat                                     |   36 +-
 bin/fontswf.bat                                 |   48 +-
 bin/mxmlc.bat                                   |   50 +-
 bin/optimizer.bat                               |   36 +-
 bin/swcdepends.bat                              |   36 +-
 bin/swfdump.bat                                 |   36 +-
 build.properties                                |   13 +-
 build.xml                                       |  158 +-
 build/build_release.sh                          |   15 +-
 flex-sdk-description.xml                        |   25 +
 frameworks/build.xml                            |   47 +-
 frameworks/build_framework.xml                  |   10 +-
 frameworks/experimental-manifest.xml            |   29 +-
 frameworks/flex-config.xml                      |    4 +-
 frameworks/locale/fr_CH/metadata.properties     |   42 +
 frameworks/projects/advancedgrids/build.xml     |    1 +
 .../bundles/en_GB/datamanagement.properties     |    0
 .../advancedgrids/bundles/en_GB/olap.properties |    0
 .../bundles/fr_CH/datamanagement.properties     |   26 +
 .../advancedgrids/bundles/fr_CH/olap.properties |   49 +
 .../advancedgrids/bundles/pt_PT/olap.properties |    2 +-
 .../projects/advancedgrids/compile-config.xml   |    1 -
 .../src/mx/controls/AdvancedDataGrid.as         |  163 +-
 .../src/mx/controls/AdvancedDataGridBaseEx.as   |  192 +-
 .../AdvancedDataGridBase.as                     |    1 -
 .../AdvancedDataGridColumn.as                   |    6 +-
 .../AdvancedDataGridItemRenderer.as             |   20 +-
 .../mx/controls/listClasses/AdvancedListBase.as |   52 +-
 .../advancedgrids/src/mx/core/Version.as        |    2 +-
 frameworks/projects/airframework/build.xml      |    1 +
 .../bundles/en_GB/aircontrols.properties        |    0
 .../bundles/fr_CH/aircontrols.properties        |   47 +
 .../airframework/src/mx/core/Version.as         |    2 +-
 .../src/mx/core/WindowedApplication.as          |    2 +-
 frameworks/projects/airspark/build.xml          |    1 +
 .../airspark/bundles/da_DK/empty.properties     |   18 +
 .../airspark/bundles/de_CH/empty.properties     |   18 +
 .../airspark/bundles/de_DE/empty.properties     |   18 +
 .../airspark/bundles/el_GR/empty.properties     |   18 +
 .../airspark/bundles/en_AU/empty.properties     |   18 +
 .../airspark/bundles/en_CA/empty.properties     |   18 +
 .../airspark/bundles/en_GB/empty.properties     |   18 +
 .../airspark/bundles/es_ES/empty.properties     |   18 +
 .../airspark/bundles/fi_FI/empty.properties     |   18 +
 .../airspark/bundles/fr_CH/empty.properties     |   18 +
 .../airspark/bundles/fr_FR/empty.properties     |   18 +
 .../airspark/bundles/it_IT/empty.properties     |   18 +
 .../airspark/bundles/ja_JP/empty.properties     |   18 +
 .../airspark/bundles/ko_KR/empty.properties     |   18 +
 .../airspark/bundles/nb_NO/empty.properties     |   18 +
 .../airspark/bundles/nl_NL/empty.properties     |   18 +
 .../airspark/bundles/pt_BR/empty.properties     |   18 +
 .../airspark/bundles/pt_PT/empty.properties     |   18 +
 .../airspark/bundles/ru_RU/empty.properties     |   18 +
 .../airspark/bundles/sv_SE/empty.properties     |   18 +
 .../airspark/bundles/zh_CN/empty.properties     |   18 +
 .../airspark/bundles/zh_TW/empty.properties     |   18 +
 frameworks/projects/airspark/manifest.xml       |    2 +-
 .../airspark/src/spark/components/Window.as     |    3 +-
 .../src/spark/components/WindowedApplication.as |    4 +-
 .../spark/components/windowClasses/TitleBar.as  |    4 +-
 .../projects/airspark/src/spark/core/Version.as |    2 +-
 frameworks/projects/apache/build.xml            |   51 +-
 .../apache/bundles/da_DK/apache.properties      |   18 +
 .../apache/bundles/de_DE/apache.properties      |    6 +
 .../apache/bundles/el_GR/apache.properties      |   24 +
 .../apache/bundles/fi_FI/apache.properties      |    6 +
 .../apache/bundles/fr_CH/apache.properties      |   24 +
 .../apache/bundles/fr_FR/apache.properties      |   24 +
 .../apache/bundles/ja_JP/apache.properties      |    6 +
 .../apache/bundles/nl_NL/apache.properties      |    6 +
 .../apache/bundles/pt_BR/apache.properties      |    6 +
 .../apache/bundles/pt_PT/apache.properties      |    6 +
 .../apache/bundles/ru_RU/apache.properties      |    6 +
 frameworks/projects/apache/manifest.xml         |    6 +-
 frameworks/projects/apache/src/core/Version.as  |    2 +-
 .../apache/src/mx/collections/ArrayList.as      |  808 -----
 .../src/mx/collections/VectorCollection.as      |   97 -
 .../apache/src/mx/collections/VectorList.as     |  652 ----
 .../org/apache/flex/collections/ArrayList.as    |  810 +++++
 .../apache/flex/collections/VectorCollection.as |  108 +
 .../org/apache/flex/collections/VectorList.as   |  658 ++++
 .../src/AuthoringSupportClasses.as              |    4 +-
 frameworks/projects/automation/build.xml        |    1 +
 .../bundles/en_AU/automation.properties         |    0
 .../bundles/en_CA/automation.properties         |    0
 .../bundles/en_GB/automation.properties         |    0
 .../bundles/fr_CH/automation.properties         |   24 +
 .../projects/automation/src/mx/core/Version.as  |    2 +-
 frameworks/projects/automation_agent/build.xml  |    3 +
 .../bundles/fr_CH/automation_agent.properties   |   73 +
 .../automation_agent/src/mx/core/Version.as     |    2 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   18 +
 .../bundles/en_AU/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |   18 +
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../automation_air/src/mx/core/Version.as       |    2 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   18 +
 .../bundles/en_AU/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |   18 +
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../automation_dmv/src/mx/core/Version.as       |    2 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   18 +
 .../bundles/en_AU/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |   18 +
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../src/mx/core/Version.as                      |    2 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   18 +
 .../bundles/en_AU/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |   18 +
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../automation_spark/compile-config.xml         |    1 +
 .../automation_spark/src/mx/core/Version.as     |    2 +-
 .../automation_spark/src/spark/core/Version.as  |    2 +-
 frameworks/projects/charts/build.xml            |    1 +
 .../charts/bundles/en_GB/charts.properties      |    0
 .../charts/bundles/fr_CH/charts.properties      |   25 +
 .../projects/charts/src/mx/core/Version.as      |    2 +-
 frameworks/projects/core/build.xml              |    4 +-
 frameworks/projects/core/compile-config.xml     |   10 +-
 .../experimental/assets/dividers/HDivider.png   |  Bin 0 -> 942 bytes
 .../assets/dividers/HDividerCursor.png          |  Bin 0 -> 1069 bytes
 .../experimental/assets/dividers/VDivider.png   |  Bin 0 -> 93 bytes
 .../assets/dividers/VDividerCursor.png          |  Bin 0 -> 214 bytes
 frameworks/projects/experimental/build.xml      |   84 +-
 .../projects/experimental/bundle-config.xml     |    3 +
 .../experimental/bundles/da_DK/alert.properties |   23 +
 .../bundles/da_DK/dividers.properties           |   23 +
 .../bundles/da_DK/experimental.properties       |   18 +
 .../experimental/bundles/de_CH/alert.properties |   23 +
 .../bundles/de_CH/dividers.properties           |   23 +
 .../experimental/bundles/de_DE/alert.properties |   23 +
 .../bundles/de_DE/dividers.properties           |   23 +
 .../experimental/bundles/el_GR/alert.properties |   23 +
 .../bundles/el_GR/dividers.properties           |   23 +
 .../bundles/el_GR/experimental.properties       |   18 +
 .../experimental/bundles/en_AU/alert.properties |   23 +
 .../bundles/en_AU/dividers.properties           |   23 +
 .../experimental/bundles/en_CA/alert.properties |   23 +
 .../bundles/en_CA/dividers.properties           |   23 +
 .../experimental/bundles/en_GB/alert.properties |   23 +
 .../bundles/en_GB/dividers.properties           |   23 +
 .../experimental/bundles/en_US/alert.properties |   23 +
 .../bundles/en_US/dividers.properties           |   23 +
 .../experimental/bundles/es_ES/alert.properties |   23 +
 .../bundles/es_ES/dividers.properties           |   23 +
 .../experimental/bundles/fi_FI/alert.properties |   23 +
 .../bundles/fi_FI/dividers.properties           |   23 +
 .../experimental/bundles/fr_CH/alert.properties |   23 +
 .../bundles/fr_CH/dividers.properties           |   23 +
 .../bundles/fr_CH/experimental.properties       |   18 +
 .../experimental/bundles/fr_FR/alert.properties |   23 +
 .../bundles/fr_FR/dividers.properties           |   23 +
 .../bundles/fr_FR/experimental.properties       |   18 +
 .../experimental/bundles/it_IT/alert.properties |   23 +
 .../bundles/it_IT/dividers.properties           |   23 +
 .../experimental/bundles/ja_JP/alert.properties |   23 +
 .../bundles/ja_JP/dividers.properties           |   23 +
 .../experimental/bundles/ko_KR/alert.properties |   23 +
 .../bundles/ko_KR/dividers.properties           |   23 +
 .../experimental/bundles/nb_NO/alert.properties |   23 +
 .../bundles/nb_NO/dividers.properties           |   23 +
 .../experimental/bundles/nl_NL/alert.properties |   23 +
 .../bundles/nl_NL/dividers.properties           |   23 +
 .../experimental/bundles/pt_BR/alert.properties |   23 +
 .../bundles/pt_BR/dividers.properties           |   23 +
 .../experimental/bundles/pt_PT/alert.properties |   23 +
 .../bundles/pt_PT/dividers.properties           |   23 +
 .../experimental/bundles/ru_RU/alert.properties |   23 +
 .../bundles/ru_RU/dividers.properties           |   23 +
 .../experimental/bundles/sv_SE/alert.properties |   23 +
 .../bundles/sv_SE/dividers.properties           |   23 +
 .../experimental/bundles/zh_CN/alert.properties |   23 +
 .../bundles/zh_CN/dividers.properties           |   23 +
 .../experimental/bundles/zh_TW/alert.properties |   23 +
 .../bundles/zh_TW/dividers.properties           |   23 +
 .../projects/experimental/compile-config.xml    |   32 +-
 frameworks/projects/experimental/defaults.css   |   75 +-
 frameworks/projects/experimental/manifest.xml   |  105 +-
 .../projects/experimental/spark-manifest.xml    |   49 +
 .../experimental/src/ExperimentalClasses.as     |   49 +-
 .../experimental/src/spark/components/Alert.as  |  806 +++++
 .../src/spark/components/ArrowDirection.as      |   83 +
 .../src/spark/components/BorderDataNavigator.as |  123 +
 .../src/spark/components/CallOut.as             | 1558 +++++++++
 .../src/spark/components/CallOutButton.as       |  359 +++
 .../src/spark/components/CallOutPosition.as     |   93 +
 .../src/spark/components/ColorPicker.as         |  574 ++++
 .../src/spark/components/DataAccordion.as       |  686 ++++
 .../src/spark/components/DataNavigator.as       | 1531 +++++++++
 .../src/spark/components/DataNavigatorGroup.as  |  697 ++++
 .../src/spark/components/InlineScroller.as      |  239 ++
 .../experimental/src/spark/components/Menu.as   |  362 +++
 .../src/spark/components/MenuBar.as             |  134 +
 .../src/spark/components/ProgressBar.as         |  227 ++
 .../itemRenderers/MenuBarItemRenderer.mxml      |   42 +
 .../itemRenderers/MenuCoreItemRenderer.as       |  421 +++
 .../itemRenderers/MenuItemRenderer.mxml         |   67 +
 .../components/listClasses/IListItemRenderer.as |   31 +
 .../supportClasses/CallOutDropDownController.as |   78 +
 .../supportClasses/IDropDownContainer.as        |   28 +
 .../supportClazzes/AnimationTarget.as           |   68 +
 .../src/spark/containers/Accordion.as           |  656 ++++
 .../src/spark/containers/DeferredGroup.as       | 1576 +++++++++
 .../src/spark/containers/DividedGroup.as        |  211 ++
 .../src/spark/containers/Divider.as             |   78 +
 .../src/spark/containers/HDivider.mxml          |   38 +
 .../src/spark/containers/HDividerGroup.as       |  478 +++
 .../src/spark/containers/Navigator.as           | 1531 +++++++++
 .../src/spark/containers/NavigatorGroup.as      |  791 +++++
 .../src/spark/containers/VDivider.mxml          |   38 +
 .../src/spark/containers/VDividerGroup.as       |  479 +++
 .../supportClazzes/DeferredCreationPolicy.as    |  128 +
 .../src/spark/events/ColorChangeEvent.as        |   56 +
 .../experimental/src/spark/events/MenuEvent.as  |   49 +
 .../src/spark/layouts/AccordionLayout.as        | 1442 +++++++++
 .../src/spark/layouts/CarouselLayout.as         | 1757 ++++++++++
 .../src/spark/layouts/CoverflowLayout.as        | 1574 +++++++++
 .../src/spark/layouts/InlineScrollerLayout.as   |  794 +++++
 .../src/spark/layouts/RolodexLayout.as          |  199 ++
 .../src/spark/layouts/StackLayout.as            |  707 ++++
 .../src/spark/layouts/TimeMachineLayout.as      |  872 +++++
 .../AnimationNavigatorLayoutBase.as             |  481 +++
 .../layouts/supportClasses/INavigatorLayout.as  |  108 +
 .../spark/layouts/supportClasses/LayoutAxis.as  |  101 +
 .../supportClasses/NavigatorLayoutBase.as       | 1329 ++++++++
 .../PerspectiveAnimationNavigatorLayoutBase.as  |  383 +++
 .../PerspectiveNavigatorLayoutBase.as           |  223 ++
 .../spark/managers/INavigatorBrowserManager.as  |  120 +
 .../spark/managers/NavigatorBrowserManager.as   |   92 +
 .../managers/NavigatorBrowserManagerImpl.as     |  589 ++++
 .../src/spark/skins/AccordionSkin.mxml          |  139 +
 .../experimental/src/spark/skins/AlertSkin.mxml |  289 ++
 .../spark/skins/ArrowDownToggleButtonSkin.mxml  |  266 ++
 .../spark/skins/ArrowRightToggleButtonSkin.mxml |  267 ++
 .../src/spark/skins/BorderDataNavigatorSkin.as  |  289 ++
 .../src/spark/skins/ColorPickerButtonSkin.mxml  |  187 ++
 .../src/spark/skins/ColorPickerSkin.mxml        |  271 ++
 .../src/spark/skins/DataAccordionSkin.mxml      |  140 +
 .../src/spark/skins/DataNavigatorSkin.mxml      |  132 +
 .../skins/HNoTrackNoThumbScrollBarSkin.mxml     |   90 +
 .../src/spark/skins/InlineScrollerSkin.mxml     |   90 +
 .../src/spark/skins/MenuBarSkin.mxml            |  122 +
 .../experimental/src/spark/skins/MenuSkin.mxml  |  122 +
 .../src/spark/skins/NavigatorSkin.mxml          |  124 +
 .../src/spark/skins/ProgressBarSkin.mxml        |   52 +
 .../src/spark/skins/TabNavigatorSkin.mxml       |  137 +
 .../skins/VNoTrackNoThumbScrollBarSkin.mxml     |   90 +
 .../src/spark/skins/spark/CallOutSkin.mxml      |  209 ++
 .../src/spark/supportClasses/INavigator.as      |   36 +
 .../src/spark/utils/ColorPickerUtil.as          |  133 +
 .../flash-integration/FlexComponentKit.mxi      |    0
 frameworks/projects/flash-integration/build.xml |    5 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |    0
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../mx/containers/examples/assets/Product1.png  |  Bin
 .../mx/controls/examples/assets/Product1.png    |  Bin
 .../mx/controls/examples/assets/Product2.png    |  Bin
 .../mx/controls/examples/assets/Product3.png    |  Bin
 .../mx/controls/examples/assets/Product4.png    |  Bin
 .../mx/controls/examples/assets/Product5.png    |  Bin
 .../mx/effects/examples/assets/LICENSE.txt      |    0
 .../examples/assets/OpenSans-Regular.ttf        |  Bin
 .../mx/effects/examples/assets/Product1.png     |  Bin
 .../examples/assets/SampleImage.jpg             |  Bin
 .../projects/framework/assets/CursorStretch.fxg |    1 -
 frameworks/projects/framework/build.xml         |   27 +-
 .../bundles/da_DK/collections.properties        |    1 +
 .../bundles/de_CH/collections.properties        |    1 +
 .../bundles/de_DE/collections.properties        |    1 +
 .../bundles/el_GR/collections.properties        |    1 +
 .../bundles/en_AU/collections.properties        |    1 +
 .../bundles/en_CA/collections.properties        |    1 +
 .../bundles/en_GB/SharedResources.properties    |    0
 .../bundles/en_GB/collections.properties        |    1 +
 .../framework/bundles/en_GB/controls.properties |    0
 .../framework/bundles/en_GB/core.properties     |    0
 .../framework/bundles/en_GB/effects.properties  |    0
 .../bundles/en_GB/formatters.properties         |    0
 .../framework/bundles/en_GB/logging.properties  |    0
 .../framework/bundles/en_GB/modules.properties  |    0
 .../framework/bundles/en_GB/skins.properties    |    0
 .../framework/bundles/en_GB/states.properties   |    0
 .../framework/bundles/en_GB/styles.properties   |    0
 .../framework/bundles/en_GB/utils.properties    |    0
 .../bundles/en_GB/validators.properties         |    0
 .../bundles/en_US/collections.properties        |    1 +
 .../bundles/es_ES/collections.properties        |    1 +
 .../bundles/fi_FI/collections.properties        |    1 +
 .../bundles/fr_CH/SharedResources.properties    |   39 +
 .../bundles/fr_CH/collections.properties        |   80 +
 .../framework/bundles/fr_CH/controls.properties |  113 +
 .../framework/bundles/fr_CH/core.properties     |   63 +
 .../framework/bundles/fr_CH/effects.properties  |   28 +
 .../bundles/fr_CH/formatters.properties         |   53 +
 .../framework/bundles/fr_CH/logging.properties  |   35 +
 .../framework/bundles/fr_CH/modules.properties  |   24 +
 .../framework/bundles/fr_CH/skins.properties    |   24 +
 .../framework/bundles/fr_CH/states.properties   |   24 +
 .../framework/bundles/fr_CH/styles.properties   |   22 +
 .../framework/bundles/fr_CH/utils.properties    |   22 +
 .../bundles/fr_CH/validators.properties         |  176 +
 .../bundles/fr_FR/collections.properties        |    1 +
 .../bundles/it_IT/collections.properties        |    1 +
 .../bundles/ja_JP/collections.properties        |    1 +
 .../bundles/ko_KR/collections.properties        |    1 +
 .../bundles/nb_NO/collections.properties        |    1 +
 .../bundles/nl_NL/collections.properties        |    1 +
 .../bundles/pt_BR/collections.properties        |    1 +
 .../bundles/pt_PT/collections.properties        |    1 +
 .../bundles/ru_RU/collections.properties        |    1 +
 .../bundles/sv_SE/collections.properties        |    1 +
 .../bundles/zh_CN/collections.properties        |    1 +
 .../bundles/zh_TW/collections.properties        |    1 +
 .../framework/src/mx/collections/ArrayList.as   |    2 +-
 .../src/mx/collections/AsyncListView.as         |   24 +-
 .../framework/src/mx/collections/IList.as       |   16 +-
 .../src/mx/collections/ListCollectionView.as    |  322 +-
 .../framework/src/mx/collections/SortField.as   |    2 +-
 .../src/mx/collections/XMLListAdapter.as        |   20 +-
 .../framework/src/mx/controls/SWFLoader.as      |    9 +-
 .../framework/src/mx/core/DPIClassification.as  |   28 +-
 .../framework/src/mx/core/DesignLayer.as        |    2 +-
 .../framework/src/mx/core/FlexVersion.as        |   18 +-
 .../projects/framework/src/mx/core/IButton.as   |   20 +
 .../framework/src/mx/core/RuntimeDPIProvider.as |    8 +-
 .../framework/src/mx/core/UIComponent.as        |  264 +-
 .../projects/framework/src/mx/core/Version.as   |    2 +-
 .../projects/framework/src/mx/effects/Pause.as  |    2 +-
 .../projects/framework/src/mx/effects/Tween.as  |   35 +-
 .../src/mx/events/ValidationResultEvent.as      |    9 +-
 .../src/mx/formatters/CurrencyFormatter.as      |    9 +-
 .../framework/src/mx/formatters/DateBase.as     |  103 +-
 .../src/mx/formatters/DateFormatter.as          |  175 +-
 .../framework/src/mx/formatters/NumberBase.as   |   18 +-
 .../src/mx/formatters/NumberFormatter.as        |    7 +-
 .../framework/src/mx/managers/FocusManager.as   |   18 +-
 .../src/mx/managers/PopUpManagerImpl.as         |   70 +-
 .../src/mx/managers/ToolTipManagerImpl.as       |    8 +
 .../src/mx/resources/ResourceManagerImpl.as     |    9 +
 .../framework/src/mx/states/AddItems.as         |  190 +-
 .../src/mx/styles/AdvancedStyleClient.as        |    2 +-
 .../framework/src/mx/styles/CSSCondition.as     |   45 +-
 .../framework/src/mx/utils/ArrayUtil.as         |   13 +-
 .../framework/src/mx/utils/DensityUtil.as       |    4 +-
 .../framework/src/mx/utils/ObjectUtil.as        |   35 +-
 .../framework/src/mx/utils/PopUpUtil.as         |    1 +
 .../projects/framework/src/mx/utils/SHA256.as   |   40 +-
 .../framework/src/mx/utils/StringUtil.as        |   11 +
 .../src/mx/validators/DateValidator.as          |  274 +-
 .../src/mx/validators/EmailValidator.as         |   22 +-
 .../src/mx/validators/NumberValidator.as        |   67 +-
 .../spark/components/examples/assets/boxx.jpg   |  Bin
 .../spark/components/examples/assets/boxy.jpg   |  Bin
 .../spark/components/examples/assets/boxz.jpg   |  Bin
 frameworks/projects/mobilecomponents/build.xml  |   27 +-
 .../bundles/da_DK/empty.properties              |   18 +
 .../bundles/de_CH/empty.properties              |   18 +
 .../bundles/de_DE/empty.properties              |   18 +
 .../bundles/el_GR/empty.properties              |   36 +-
 .../bundles/en_AU/empty.properties              |   18 +
 .../bundles/en_CA/empty.properties              |   18 +
 .../bundles/en_GB/empty.properties              |   18 +
 .../bundles/es_ES/empty.properties              |   18 +
 .../bundles/fi_FI/empty.properties              |   18 +
 .../bundles/fr_CH/empty.properties              |   18 +
 .../bundles/fr_FR/empty.properties              |   18 +
 .../bundles/it_IT/empty.properties              |   18 +
 .../bundles/ja_JP/empty.properties              |   18 +
 .../bundles/ko_KR/empty.properties              |   18 +
 .../bundles/nb_NO/empty.properties              |   18 +
 .../bundles/nl_NL/empty.properties              |   18 +
 .../bundles/pt_BR/empty.properties              |   18 +
 .../bundles/pt_PT/empty.properties              |   18 +
 .../bundles/ru_RU/empty.properties              |   18 +
 .../bundles/sv_SE/empty.properties              |   18 +
 .../bundles/zh_CN/empty.properties              |   18 +
 .../bundles/zh_TW/empty.properties              |   18 +
 .../mobilecomponents/compile-configAIR2.xml     |   66 +
 .../src/MobileComponentsClassesAIR2.as          |   39 +
 .../src/spark/components/Callout.as             |    5 +
 .../src/spark/components/DateSpinner.as         |   19 +-
 .../src/spark/components/IconItemRenderer.as    |    5 +
 .../src/spark/components/LabelItemRenderer.as   |    5 +
 .../spark/components/SpinnerListItemRenderer.as |    5 +
 .../src/spark/components/SplitViewNavigator.as  |    2 +-
 .../src/spark/components/TabbedViewNavigator.as |   20 +-
 .../src/spark/components/View.as                |    1 +
 .../supportClasses/StyleableStageText.as        |    6 +-
 .../supportClasses/StyleableTextField.as        |   22 +-
 .../spark/preloaders/SplashScreenImageSource.as |    2 +-
 .../src/spark/transitions/FlipViewTransition.as |    2 +-
 .../spark/transitions/SlideViewTransition.as    |    6 +-
 .../src/spark/transitions/ViewTransitionBase.as |    6 +-
 frameworks/projects/mobiletheme/build.xml       |   28 +-
 .../projects/mobiletheme/compile-config.xml     |   12 +
 .../projects/mobiletheme/compile-configAIR2.xml |   63 +
 frameworks/projects/mobiletheme/defaults.css    |   99 +
 .../mobiletheme/src/MobileThemeClassesAIR2.as   |   73 +
 .../src/spark/skins/mobile/ActionBarSkin.as     |   13 +
 .../skins/mobile/BeveledActionButtonSkin.as     |   21 +
 .../spark/skins/mobile/BeveledBackButtonSkin.as |   19 +
 .../skins/mobile/ButtonBarFirstButtonSkin.as    |   14 +-
 .../skins/mobile/ButtonBarLastButtonSkin.as     |   13 +
 .../skins/mobile/ButtonBarMiddleButtonSkin.as   |   13 +
 .../src/spark/skins/mobile/ButtonSkin.as        |   20 +
 .../spark/skins/mobile/CalloutActionBarSkin.as  |    5 +
 .../src/spark/skins/mobile/CalloutSkin.as       |   18 +
 .../skins/mobile/CalloutViewNavigatorSkin.as    |    8 +
 .../src/spark/skins/mobile/CheckBoxSkin.as      |   25 +
 .../src/spark/skins/mobile/HScrollBarSkin.as    |    7 +
 .../spark/skins/mobile/HScrollBarThumbSkin.as   |    8 +
 .../src/spark/skins/mobile/HSliderThumbSkin.as  |   20 +
 .../src/spark/skins/mobile/HSliderTrackSkin.as  |   13 +
 .../src/spark/skins/mobile/ImageSkin.as         |    6 +
 .../src/spark/skins/mobile/RadioButtonSkin.as   |   25 +-
 .../skins/mobile/SpinnerListContainerSkin.as    |   16 +-
 .../src/spark/skins/mobile/SpinnerListSkin.as   |    3 +-
 .../src/spark/skins/mobile/StageTextAreaSkin.as |    5 +
 .../TabbedViewNavigatorTabBarFirstTabSkin.as    |    9 +
 .../TabbedViewNavigatorTabBarLastTabSkin.as     |    9 +
 .../skins/mobile/TextAreaHScrollBarSkin.as      |    7 +
 .../skins/mobile/TextAreaHScrollBarThumbSkin.as |    9 +
 .../src/spark/skins/mobile/TextAreaSkin.as      |   12 +
 .../skins/mobile/TextAreaVScrollBarSkin.as      |    7 +
 .../skins/mobile/TextAreaVScrollBarThumbSkin.as |   10 +-
 .../src/spark/skins/mobile/TextInputSkin.as     |   12 +
 .../src/spark/skins/mobile/ToggleSwitchSkin.as  |   15 +
 .../skins/mobile/TransparentActionButtonSkin.as |    9 +
 .../mobile/TransparentNavigationButtonSkin.as   |    9 +
 .../src/spark/skins/mobile/VScrollBarSkin.as    |    7 +
 .../spark/skins/mobile/VScrollBarThumbSkin.as   |    9 +
 .../src/spark/skins/mobile/ViewMenuItemSkin.as  |   21 +
 .../src/spark/skins/mobile/ViewMenuSkin.mxml    |    6 +-
 .../supportClasses/ActionBarButtonSkinBase.as   |   13 +
 .../skins/mobile/supportClasses/CalloutArrow.as |    9 +
 .../mobile/supportClasses/HSliderDataTip.as     |   13 +
 .../mobile/supportClasses/StageTextSkinBase.as  |   12 +
 .../TabbedViewNavigatorTabBarTabSkinBase.as     |   13 +
 .../mobile480/assets/ActionBarBackground.fxg    |   98 +
 .../assets/BeveledActionButton_down.fxg         |   52 +
 .../assets/BeveledActionButton_fill.fxg         |   34 +
 .../mobile480/assets/BeveledActionButton_up.fxg |   54 +
 .../mobile480/assets/BeveledBackButton_down.fxg |   52 +
 .../mobile480/assets/BeveledBackButton_fill.fxg |   34 +
 .../mobile480/assets/BeveledBackButton_up.fxg   |   54 +
 .../assets/ButtonBarFirstButton_down.fxg        |   49 +
 .../assets/ButtonBarFirstButton_selected.fxg    |   49 +
 .../assets/ButtonBarFirstButton_up.fxg          |   43 +
 .../assets/ButtonBarLastButton_down.fxg         |   49 +
 .../assets/ButtonBarLastButton_selected.fxg     |   49 +
 .../mobile480/assets/ButtonBarLastButton_up.fxg |   43 +
 .../assets/ButtonBarMiddleButton_down.fxg       |   49 +
 .../assets/ButtonBarMiddleButton_selected.fxg   |   49 +
 .../assets/ButtonBarMiddleButton_up.fxg         |   49 +
 .../skins/mobile480/assets/Button_down.fxg      |   49 +
 .../spark/skins/mobile480/assets/Button_up.fxg  |   28 +
 .../assets/CalloutContentBackground.fxg         |   43 +
 .../skins/mobile480/assets/CheckBox_down.fxg    |   66 +
 .../mobile480/assets/CheckBox_downSymbol.fxg    |   40 +
 .../assets/CheckBox_downSymbolSelected.fxg      |   40 +
 .../skins/mobile480/assets/CheckBox_up.fxg      |   58 +
 .../mobile480/assets/CheckBox_upSymbol.fxg      |   40 +
 .../assets/CheckBox_upSymbolSelected.fxg        |   40 +
 .../mobile480/assets/HSliderThumb_normal.fxg    |   43 +
 .../mobile480/assets/HSliderThumb_pressed.fxg   |   55 +
 .../skins/mobile480/assets/HSliderTrack.fxg     |   43 +
 .../skins/mobile480/assets/ImageInvalid.fxg     |   42 +
 .../skins/mobile480/assets/RadioButton_down.fxg |   48 +
 .../mobile480/assets/RadioButton_downSymbol.fxg |   35 +
 .../assets/RadioButton_downSymbolSelected.fxg   |   35 +
 .../skins/mobile480/assets/RadioButton_up.fxg   |   43 +
 .../mobile480/assets/RadioButton_upSymbol.fxg   |   35 +
 .../assets/RadioButton_upSymbolSelected.fxg     |   35 +
 .../assets/SpinnerListContainerBackground.fxg   |   32 +
 .../SpinnerListContainerSelectionIndicator.fxg  |   67 +
 .../assets/SpinnerListContainerShadow.fxg       |   32 +
 ...edViewNavigatorButtonBarFirstButton_down.fxg |   55 +
 ...ewNavigatorButtonBarFirstButton_selected.fxg |   55 +
 ...bbedViewNavigatorButtonBarFirstButton_up.fxg |   55 +
 ...bedViewNavigatorButtonBarLastButton_down.fxg |   61 +
 ...iewNavigatorButtonBarLastButton_selected.fxg |   61 +
 ...abbedViewNavigatorButtonBarLastButton_up.fxg |   61 +
 .../skins/mobile480/assets/TextInput_border.fxg |   34 +
 .../assets/ToggleSwitch_contentShadow.fxg       |   31 +
 .../assets/TransparentActionButton_down.fxg     |   62 +
 .../assets/TransparentActionButton_up.fxg       |   52 +
 .../assets/TransparentNavigationButton_down.fxg |   62 +
 .../assets/TransparentNavigationButton_up.fxg   |   52 +
 .../mobile480/assets/ViewMenuItem_down.fxg      |   49 +
 .../assets/ViewMenuItem_showsCaret.fxg          |   34 +
 .../skins/mobile480/assets/ViewMenuItem_up.fxg  |   34 +
 frameworks/projects/mx/build.xml                |    1 +
 .../mx/bundles/en_GB/containers.properties      |    0
 .../mx/bundles/fr_CH/containers.properties      |   27 +
 .../projects/mx/src/mx/containers/DividedBox.as |   15 +-
 .../projects/mx/src/mx/containers/ViewStack.as  |   19 +
 .../containers/utilityClasses/CanvasLayout.as   |   84 +-
 .../mx/src/mx/controls/CalendarLayout.as        |  245 +-
 .../projects/mx/src/mx/controls/ComboBox.as     |    4 +-
 .../projects/mx/src/mx/controls/DataGrid.as     |   14 +-
 .../projects/mx/src/mx/controls/DateChooser.as  |   40 +-
 .../projects/mx/src/mx/controls/DateField.as    |  346 +-
 .../projects/mx/src/mx/controls/MenuBar.as      |   42 +-
 .../projects/mx/src/mx/controls/NavBar.as       |   79 +-
 .../mx/src/mx/controls/NumericStepper.as        |   27 +-
 .../projects/mx/src/mx/controls/TextArea.as     |    2 -
 .../controls/dataGridClasses/DataGridColumn.as  |    4 +-
 .../controls/dataGridClasses/DataGridHeader.as  |    2 +-
 .../dataGridClasses/DataGridItemRenderer.as     |    2 +-
 .../mx/src/mx/controls/listClasses/ListBase.as  |    8 +-
 .../mx/src/mx/controls/sliderClasses/Slider.as  |   39 +-
 frameworks/projects/mx/src/mx/core/Container.as |    6 +-
 frameworks/projects/mx/src/mx/core/Version.as   |    2 +-
 .../playerglobal/bundles/da_DK/empty.properties |   18 +
 .../playerglobal/bundles/de_CH/empty.properties |   18 +
 .../playerglobal/bundles/el_GR/empty.properties |   36 +-
 .../playerglobal/bundles/en_GB/empty.properties |    0
 .../playerglobal/bundles/es_ES/empty.properties |   18 +
 .../playerglobal/bundles/fi_FI/empty.properties |   18 +
 .../playerglobal/bundles/fr_CH/empty.properties |   18 +
 .../playerglobal/bundles/it_IT/empty.properties |   18 +
 .../playerglobal/bundles/ko_KR/empty.properties |   18 +
 .../playerglobal/bundles/nb_NO/empty.properties |   18 +
 .../playerglobal/bundles/nl_NL/empty.properties |   18 +
 .../playerglobal/bundles/pt_BR/empty.properties |   18 +
 .../playerglobal/bundles/pt_PT/empty.properties |   18 +
 .../playerglobal/bundles/sv_SE/empty.properties |   18 +
 .../playerglobal/bundles/zh_TW/empty.properties |   18 +
 frameworks/projects/rpc/build.xml               |    3 +-
 .../rpc/bundles/en_GB/messaging.properties      |    0
 .../projects/rpc/bundles/en_GB/rpc.properties   |    0
 .../rpc/bundles/fr_CH/messaging.properties      |  133 +
 .../projects/rpc/bundles/fr_CH/rpc.properties   |  108 +
 frameworks/projects/rpc/compile-config.xml      |    5 -
 frameworks/projects/rpc/src/mx/core/Version.as  |    2 +-
 .../projects/rpc/src/mx/messaging/Channel.as    |    2 +-
 .../mx/messaging/messages/AbstractMessage.as    |    3 +-
 .../rpc/src/mx/rpc/http/HTTPMultiService.as     |    4 +-
 .../rpc/src/mx/rpc/http/SerializationFilter.as  |    2 +-
 .../rpc/src/mx/rpc/xml/SchemaMarshaller.as      |    2 +-
 .../projects/rpc/src/mx/rpc/xml/XMLDecoder.as   |    2 +-
 .../projects/rpc/src/mx/rpc/xml/XMLEncoder.as   |    2 +-
 .../projects/rpc/src/mx/utils/RPCObjectUtil.as  |   92 +-
 .../projects/rpc/src/mx/utils/RPCStringUtil.as  |    9 +
 .../DataGridLockedRowsAndColumnsExample.mxml    |   66 +
 .../spark/components/examples/assets/c2.png     |  Bin
 .../en_US/spark/filters/examples/assets/c2.png  |  Bin
 .../primitives/examples/assets/Icon12x12.gif    |  Bin
 frameworks/projects/spark/build.xml             |   32 +-
 .../spark/bundles/en_GB/components.properties   |    0
 .../spark/bundles/en_GB/layout.properties       |    0
 .../spark/bundles/en_GB/osmf.properties         |    0
 .../spark/bundles/en_GB/sparkEffects.properties |    0
 .../spark/bundles/fr_CH/components.properties   |  100 +
 .../spark/bundles/fr_CH/layout.properties       |   30 +
 .../spark/bundles/fr_CH/osmf.properties         |  109 +
 .../spark/bundles/fr_CH/sparkEffects.properties |   40 +
 frameworks/projects/spark/compile-config.xml    |    4 -
 frameworks/projects/spark/defaults.css          |    2 +
 frameworks/projects/spark/src/SparkClasses.as   |    1 +
 .../dataGridClasses/FTEDataGridItemRenderer.as  |    2 +-
 .../spark/src/mx/core/UIFTETextField.as         |   16 +-
 .../spark/collections/NumericDataProvider.as    |   16 +
 .../spark/collections/OnDemandDataProvider.as   |   16 +
 .../spark/src/spark/collections/SubListView.as  |  410 +++
 .../spark/src/spark/components/Application.as   |   19 +-
 .../spark/src/spark/components/BusyIndicator.as |   10 +-
 .../spark/src/spark/components/ComboBox.as      |   22 +-
 .../spark/src/spark/components/DataGrid.as      | 2260 +++++++++++--
 .../projects/spark/src/spark/components/Form.as |    2 +-
 .../projects/spark/src/spark/components/Grid.as | 1714 ++++++++--
 .../spark/components/GridColumnHeaderGroup.as   |  406 ++-
 .../spark/src/spark/components/Group.as         |   10 +-
 .../projects/spark/src/spark/components/List.as |   25 +-
 .../src/spark/components/NumericStepper.as      |   41 +-
 .../src/spark/components/RadioButtonGroup.as    |   56 +
 .../src/spark/components/RichEditableText.as    |    4 +-
 .../spark/src/spark/components/Scroller.as      |    3 +-
 .../src/spark/components/SkinnableContainer.as  |   31 +
 .../spark/components/SkinnablePopUpContainer.as |    3 +-
 .../spark/src/spark/components/TitleWindow.as   |    8 +
 .../components/gridClasses/DataGridDragProxy.as |  232 ++
 .../components/gridClasses/DataGridEditor.as    |   94 +-
 .../spark/components/gridClasses/GridColumn.as  |   44 +
 .../gridClasses/GridColumnHeaderGroupLayout.as  |  984 ------
 .../gridClasses/GridColumnHeaderView.as         |  123 +
 .../components/gridClasses/GridDimensions.as    |  189 +-
 .../gridClasses/GridDimensionsView.as           |  285 ++
 .../gridClasses/GridDoubleClickMode.as          |  101 +
 .../components/gridClasses/GridHeaderLayout.as  |  219 ++
 .../gridClasses/GridHeaderViewLayout.as         | 1043 ++++++
 .../components/gridClasses/GridItemEditor.as    |   28 +-
 .../GridItemEditorActivationMouseEvent.as       |   88 +
 .../spark/components/gridClasses/GridLayer.as   |    2 +-
 .../spark/components/gridClasses/GridLayout.as  | 2932 +++--------------
 .../components/gridClasses/GridSelection.as     |  197 +-
 .../spark/components/gridClasses/GridView.as    |  162 +
 .../components/gridClasses/GridViewLayout.as    | 3026 ++++++++++++++++++
 .../components/gridClasses/IGridItemEditor.as   |   23 +
 .../components/supportClasses/ButtonBarBase.as  |   96 +-
 .../supportClasses/IDataProviderEnhance.as      |  161 +
 .../spark/components/supportClasses/ListBase.as |  433 ++-
 .../spark/components/supportClasses/Range.as    |    5 +-
 .../components/supportClasses/RegExPatterns.as  |  221 ++
 .../supportClasses/SkinnableComponent.as        |    6 +-
 .../supportClasses/SkinnableTextBase.as         |    3 +-
 .../components/supportClasses/SliderBase.as     |   21 +-
 .../spark/components/supportClasses/TextBase.as |   20 +-
 .../projects/spark/src/spark/core/Version.as    |    2 +-
 .../projects/spark/src/spark/effects/Animate.as |    2 +-
 .../spark/effects/AnimateTransitionShader.as    |    4 +-
 .../src/spark/effects/animation/Animation.as    |    2 +-
 .../effects/supportClasses/AnimateInstance.as   |    8 +-
 .../supportClasses/AnimateTransformInstance.as  |    6 +-
 .../spark/src/spark/events/GridSortEvent.as     |    8 +-
 .../spark/src/spark/filters/ShaderFilter.as     |    4 +-
 .../supportClasses/DateTimeFormatterEx.as       |    8 +-
 .../supportClasses/FormatPattern.as             |    2 +-
 .../spark/src/spark/layouts/ConstraintLayout.as |   14 +-
 .../spark/src/spark/primitives/BitmapImage.as   |    6 +-
 .../spark/src/spark/skins/spark/ButtonSkin.mxml |    2 +-
 .../src/spark/skins/spark/DataGridSkin.mxml     |  101 +-
 .../skins/spark/DefaultGridHeaderRenderer.mxml  |   72 +-
 .../spark/TextFieldGridItemRendererInclude.as   |    2 +-
 .../spark/src/spark/utils/FTETextUtil.as        |    5 +-
 .../src/spark/utils/MultiDPIBitmapSource.as     |   50 +-
 frameworks/projects/spark_dmv/build.xml         |    4 +-
 .../projects/spark_dmv/compile-config.xml       |    5 -
 .../spark_dmv/src/spark/core/Version.as         |    2 +-
 frameworks/projects/sparkskins/build.xml        |    1 -
 .../projects/sparkskins/compile-config.xml      |   10 +
 frameworks/projects/textLayout/build.xml        |   71 +-
 .../bundles/en_GB/textLayout.properties         |    0
 .../bundles/fr_CH/textLayout.properties         |   58 +
 .../projects/textLayout/compile-config.xml      |    6 +-
 .../tool/src/mx/automation/tool/ToolAdapter.as  |    2 +-
 frameworks/projects/tool/src/mx/core/Version.as |    2 +-
 frameworks/projects/tool_air/build.xml          |    3 +
 .../tool_air/bundles/fr_CH/tool_air.properties  |   31 +
 .../projects/tool_air/src/mx/core/Version.as    |    2 +-
 frameworks/projects/wireframe/build.xml         |    1 -
 .../projects/wireframe/compile-config.xml       |   11 +
 .../src/spark/skins/wireframe/DataGridSkin.mxml |   40 +-
 frameworks/spark-manifest.xml                   |   64 +-
 frameworks/tests/basicTests/basicImage.jpg      |  Bin
 .../spark/scripts/DataGridTestScript.mxml       |    2 +-
 .../spark/scripts/TextInputTestScript.mxml      |    2 +-
 .../spark/views/FXG2RuntimeTests.mxml           |    2 +-
 .../spark/views/LayoutDirectionTests.mxml       |    2 +-
 ide/addAIRtoSDK.sh                              |  236 ++
 ide/checkAllPlayerGlobals.sh                    |  122 +
 ide/constructFlexForIDE.bat                     |   11 +-
 ide/constructFlexForIDE.sh                      |   11 +-
 ide/flashbuilder/build.xml                      |   10 +-
 .../makeApacheFlexForFlashBuilder.bat           |  135 -
 .../makeApacheFlexForFlashBuilder.sh            |  113 -
 ide/flashbuilder/makeApacheFlexForIDE.bat       |  135 +
 ide/flashbuilder/makeApacheFlexForIDE.sh        |  113 +
 ide/setFlashPlayerVersion.sh                    |  250 ++
 jenkins.xml                                     |   82 +-
 local-template.properties                       |   62 +
 modules/antTasks/build.xml                      |   18 -
 modules/antTasks/src/flex/ant/CompcTask.java    |    1 +
 .../antTasks/src/flex/ant/HtmlWrapperTask.java  |   10 +-
 modules/antTasks/src/flex/ant/MxmlcTask.java    |    1 +
 modules/antTasks/tests/html-wrapper-build.xml   |   88 +-
 modules/asc/build/java/build.xml                |    9 +-
 modules/asc/build/java/run_il.bat               |    0
 modules/asc/build/java/run_p.bat                |    0
 .../src/java/macromedia/asc/embedding/Main.java |    4 +-
 .../java/macromedia/asc/embedding/SwfMaker.java |    1 +
 .../src/java/macromedia/asc/util/Version.java   |   70 +-
 modules/build.xml                               |    3 +-
 modules/compiler/.classpath                     |   27 +-
 .../src/java/flex2/compiler/CompilerAPI.java    |    2 +-
 .../flex2/compiler/as3/As3Configuration.java    |    4 +-
 .../compiler/common/CompilerConfiguration.java  |   21 +
 .../flex2/compiler/common/Configuration.java    |   12 +
 .../compiler/common/MxmlConfiguration.java      |    5 +-
 .../config/ServicesDependenciesWrapper.java     |    5 +-
 .../java/flex2/compiler/i18n/I18nCompiler.java  |    1 +
 .../flex2/compiler/media/SVGTranscoder.java     |   15 +-
 .../flex2/compiler/mxml/InterfaceCompiler.java  |    1 +
 .../java/flex2/linker/LinkerConfiguration.java  |    1 +
 .../src/java/flex2/linker/SimpleMovie.java      |    7 +-
 .../src/java/flex2/tools/ASDoc_da.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_de.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_en.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_es.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_fi.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_fr.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_it.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_ja.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_ko.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_nb.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_nl.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_pt.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_ru.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_sv.properties    |    2 +-
 .../src/java/flex2/tools/ASDoc_zh_CN.properties |    2 +-
 .../src/java/flex2/tools/ASDoc_zh_TW.properties |    2 +-
 .../src/java/flex2/tools/Compc_da.properties    |    2 +-
 .../src/java/flex2/tools/Compc_de.properties    |    2 +-
 .../src/java/flex2/tools/Compc_en.properties    |    2 +-
 .../src/java/flex2/tools/Compc_es.properties    |    2 +-
 .../src/java/flex2/tools/Compc_fi.properties    |    2 +-
 .../src/java/flex2/tools/Compc_fr.properties    |    2 +-
 .../src/java/flex2/tools/Compc_it.properties    |    2 +-
 .../src/java/flex2/tools/Compc_ja.properties    |    2 +-
 .../src/java/flex2/tools/Compc_ko.properties    |    2 +-
 .../src/java/flex2/tools/Compc_nb.properties    |    2 +-
 .../src/java/flex2/tools/Compc_nl.properties    |    2 +-
 .../src/java/flex2/tools/Compc_pt.properties    |    2 +-
 .../src/java/flex2/tools/Compc_ru.properties    |    2 +-
 .../src/java/flex2/tools/Compc_sv.properties    |    2 +-
 .../src/java/flex2/tools/Compc_zh_CN.properties |    2 +-
 .../src/java/flex2/tools/Compc_zh_TW.properties |    2 +-
 .../java/flex2/tools/DigestTool_da.properties   |    2 +-
 .../java/flex2/tools/DigestTool_de.properties   |    2 +-
 .../java/flex2/tools/DigestTool_en.properties   |    2 +-
 .../java/flex2/tools/DigestTool_es.properties   |    2 +-
 .../java/flex2/tools/DigestTool_fi.properties   |    2 +-
 .../java/flex2/tools/DigestTool_fr.properties   |    2 +-
 .../java/flex2/tools/DigestTool_it.properties   |    2 +-
 .../java/flex2/tools/DigestTool_ja.properties   |    2 +-
 .../java/flex2/tools/DigestTool_ko.properties   |    2 +-
 .../java/flex2/tools/DigestTool_nb.properties   |    2 +-
 .../java/flex2/tools/DigestTool_nl.properties   |    2 +-
 .../java/flex2/tools/DigestTool_pt.properties   |    2 +-
 .../java/flex2/tools/DigestTool_ru.properties   |    2 +-
 .../java/flex2/tools/DigestTool_sv.properties   |    2 +-
 .../flex2/tools/DigestTool_zh_CN.properties     |    2 +-
 .../flex2/tools/DigestTool_zh_TW.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_da.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_de.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_en.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_es.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_fi.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_fr.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_it.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_ja.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_ko.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_nb.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_nl.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_pt.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_ru.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_sv.properties     |    2 +-
 .../src/java/flex2/tools/Fcsh_zh_CN.properties  |    2 +-
 .../src/java/flex2/tools/Fcsh_zh_TW.properties  |    2 +-
 .../src/java/flex2/tools/Mxmlc_da.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_de.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_en.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_es.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_fi.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_fr.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_it.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_ja.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_ko.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_nb.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_nl.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_pt.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_ru.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_sv.properties    |    2 +-
 .../src/java/flex2/tools/Mxmlc_zh_CN.properties |    2 +-
 .../src/java/flex2/tools/Mxmlc_zh_TW.properties |    2 +-
 .../src/java/flex2/tools/VersionInfo.java       |    4 +-
 .../flex/tools/debugger/cli/fdb_da.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_de.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_en.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_es.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_fi.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_fr.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_it.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_ja.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_ko.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_nb.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_nl.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_pt.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_ru.properties   |    2 +-
 .../flex/tools/debugger/cli/fdb_sv.properties   |    2 +-
 .../tools/debugger/cli/fdb_zh_CN.properties     |    2 +-
 .../tools/debugger/cli/fdb_zh_TW.properties     |    2 +-
 modules/downloads.xml                           |    4 +-
 modules/swfutils/src/java/flash/swf/Movie.java  |    6 +
 .../src/java/flash/swf/MovieDecoder.java        |    9 +
 .../src/java/flash/swf/MovieEncoder.java        |    5 +
 .../swfutils/src/java/flash/swf/TagDecoder.java |   12 +
 .../swfutils/src/java/flash/swf/TagEncoder.java |    8 +
 .../src/java/flash/swf/TagEncoderReporter.java  |    7 +
 .../swfutils/src/java/flash/swf/TagHandler.java |    4 +
 .../swfutils/src/java/flash/swf/TagValues.java  |    5 +
 .../java/flash/swf/tags/EnableTelemetry.java    |   59 +
 .../src/java/flash/swf/tools/AbcPrinter.java    |   13 +-
 .../src/java/flash/swf/tools/SwfxParser.java    |   13 +
 .../src/java/flash/swf/tools/SwfxPrinter.java   |    8 +
 .../src/java/flash/swf/types/TagList.java       |    5 +
 modules/thirdparty/batik/build.xml              |    3 +
 mustella/.gitignore                             |   15 +
 mustella/Assets/Fonts/Cousine/Cousine-Bold.ttf  |  Bin
 .../Assets/Fonts/Cousine/Cousine-BoldItalic.ttf |  Bin
 .../Assets/Fonts/Cousine/Cousine-Italic.ttf     |  Bin
 .../Assets/Fonts/Cousine/Cousine-Regular.ttf    |  Bin
 mustella/Assets/Fonts/Cousine/OFL.txt           |    0
 .../Fonts/Lobster_Two/LobsterTwo-Bold.ttf       |  Bin
 .../Fonts/Lobster_Two/LobsterTwo-BoldItalic.ttf |  Bin
 .../Fonts/Lobster_Two/LobsterTwo-Italic.ttf     |  Bin
 .../Fonts/Lobster_Two/LobsterTwo-Regular.ttf    |  Bin
 mustella/Assets/Fonts/Lobster_Two/OFL.txt       |    0
 mustella/Assets/Fonts/MobileFontStyles.css      |   91 +
 mustella/Assets/Fonts/Open_Sans/LICENSE.txt     |    0
 .../Assets/Fonts/Open_Sans/OpenSans-Bold.ttf    |  Bin
 .../Fonts/Open_Sans/OpenSans-BoldItalic.ttf     |  Bin
 .../Assets/Fonts/Open_Sans/OpenSans-Italic.ttf  |  Bin
 .../Assets/Fonts/Open_Sans/OpenSans-Regular.ttf |  Bin
 mustella/Assets/Fonts/PT_Serif/OFL.txt          |    0
 .../Assets/Fonts/PT_Serif/PT_Serif-Web-Bold.ttf |  Bin
 .../Fonts/PT_Serif/PT_Serif-Web-BoldItalic.ttf  |  Bin
 .../Fonts/PT_Serif/PT_Serif-Web-Italic.ttf      |  Bin
 .../Fonts/PT_Serif/PT_Serif-Web-Regular.ttf     |  Bin
 mustella/Assets/Fonts/SILEOT/Licenses.txt       |    0
 mustella/Assets/Fonts/SILEOT/README.txt         |    0
 mustella/Assets/Fonts/SILEOT/SILEOT.ttf         |  Bin
 mustella/Assets/Fonts/myStyles.css              |    8 +-
 mustella/Assets/Images/ButtonImages/play.gif    |  Bin 0 -> 1111 bytes
 .../Images/ButtonImages/status_closed.gif       |  Bin
 .../Assets/Images/ButtonImages/status_open.gif  |  Bin
 mustella/Assets/Images/blank.gif                |  Bin 0 -> 812 bytes
 mustella/Assets/Images/bluerect.jpg             |  Bin
 mustella/Assets/Images/down.jpg                 |  Bin 0 -> 709 bytes
 mustella/Assets/Images/greenrect.jpg            |  Bin
 mustella/Assets/Images/next.jpg                 |  Bin 0 -> 782 bytes
 mustella/Assets/Images/orangerect.jpg           |  Bin
 mustella/Assets/Images/prev.jpg                 |  Bin 0 -> 800 bytes
 mustella/Assets/Images/purplerect.jpg           |  Bin
 mustella/Assets/Images/redrect.gif              |  Bin
 mustella/Assets/Images/redrect.png              |  Bin
 mustella/Assets/Images/smallbluerect.jpg        |  Bin
 mustella/Assets/Images/smallgreenrect.jpg       |  Bin
 mustella/Assets/Images/smallorangerect.jpg      |  Bin
 mustella/Assets/Images/smallpurplerect.jpg      |  Bin
 mustella/Assets/Images/smallyellowrect.jpg      |  Bin
 mustella/Assets/Images/up.jpg                   |  Bin 0 -> 694 bytes
 mustella/Assets/Images/yellowrect.jpg           |  Bin
 .../Assets/Locales/qa_QA/textLayout.properties  |    0
 mustella/README                                 |    7 +-
 mustella/as3/src/mustella/AIR/CompareBitmap.as  |  320 +-
 mustella/as3/src/mustella/CompareBitmap.as      |  740 ++++-
 mustella/as3/src/mustella/ConditionalValue.as   |    2 +-
 mustella/as3/src/mustella/DispatchKeyEvent.as   |  389 ++-
 mustella/as3/src/mustella/FakeSoftKeyboard.as   |  128 +
 mustella/as3/src/mustella/ImageDiffAIR-app.xml  |  153 -
 mustella/as3/src/mustella/ImageDiffAIR.air      |  Bin 469852 -> 0 bytes
 mustella/as3/src/mustella/ImageDiffAIR.mxml     |  509 ---
 mustella/as3/src/mustella/ImageDiffAIR.swf      |  Bin 458146 -> 0 bytes
 .../as3/src/mustella/TargetConfigurations.as    |    4 +-
 mustella/as3/src/mustella/TestCase.as           |    4 +-
 mustella/as3/src/mustella/TestStep.as           |    4 +
 mustella/as3/src/mustella/UnitTester.as         |   20 +
 mustella/as3/src/mustella/Util.as               |    7 +-
 mustella/as3/src/mustella/skins/pauseIcon.png   |  Bin
 mustella/as3/src/mustella/skins/playIcon.png    |  Bin
 mustella/as3/src/mustella/skins/stepIcon.png    |  Bin
 mustella/build.xml                              |   54 +-
 .../java/src/mustella/MobileConfigWriter.java   |    2 +-
 mustella/java/src/utils/MobileUtil.java         |    6 +
 mustella/jenkins.sh                             |  218 ++
 mustella/local-template.properties              |   27 +-
 mustella/mini_run.sh                            |   17 +-
 mustella/properties/mustella1.properties        |    2 +-
 mustella/test_changes.sh                        |   65 +
 mustella/tests/ExcludeListLinux.txt             | 2169 +++++++++++++
 mustella/tests/ExcludeListLinuxAIR.txt          | 2099 ++++++++++++
 mustella/tests/ExcludeListMac.txt               |    0
 mustella/tests/ExcludeListMacAIR.txt            |    0
 .../Properties/DateFormatter_Main_tester.mxml   |    5 +-
 .../Formatters_Properties_Currencies.mxml       |  100 +-
 .../Formatters/SWFs/DateFormatter_Main.mxml     |   34 +-
 .../CN_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../CN_EmailValidator_invalidIPDomainError.png  |  Bin
 .../TW_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../TW_EmailValidator_invalidIPDomainError.png  |  Bin
 .../DA_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../DA_EmailValidator_invalidIPDomainError.png  |  Bin
 .../NL_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../NL_EmailValidator_invalidIPDomainError.png  |  Bin
 .../FI_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../FI_EmailValidator_invalidIPDomainError.png  |  Bin
 .../FR_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../FR_EmailValidator_invalidIPDomainError.png  |  Bin
 .../DE_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../DE_EmailValidator_invalidIPDomainError.png  |  Bin
 .../IT_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../IT_EmailValidator_invalidIPDomainError.png  |  Bin
 .../LangPacks/Japanese/SWFs/LangPackApp.mxml    |    2 +-
 .../JA_DateField_Dropdown_Japanese_Layout.png   |  Bin 4712 -> 4021 bytes
 .../JA_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../JA_EmailValidator_invalidIPDomainError.png  |  Bin
 ...honeNumberValidator_wrongLengthError.png.xml |   86 +
 .../Japanese/tests/dateValidatorTests.mxml      |    1 +
 .../tests/phoneNumberValidatorTests.mxml        |    3 +-
 .../Japanese/tests/runtimeErrorTests.mxml       |    2 +-
 .../KO_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../KO_EmailValidator_invalidIPDomainError.png  |  Bin
 .../NO_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../NO_EmailValidator_invalidIPDomainError.png  |  Bin
 .../PT_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../PT_EmailValidator_invalidIPDomainError.png  |  Bin
 .../RU_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../RU_EmailValidator_invalidIPDomainError.png  |  Bin
 .../ES_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../ES_EmailValidator_invalidIPDomainError.png  |  Bin
 .../SV_EmailValidator_invalidDomainError2.png   |  Bin
 ...ailValidator_invalidDomainError_noPeriod.png |  Bin
 .../SV_EmailValidator_invalidIPDomainError.png  |  Bin
 .../CursorManager/SWFs/Assets/SwfPencil.mxml    |    2 +-
 .../baselines/id_classSelector_basic_style.png  |  Bin 711 -> 717 bytes
 .../baselines/id_classSelector_basic_style2.png |  Bin 711 -> 717 bytes
 .../id_classSelector_basic_style_neg.png        |  Bin 702 -> 706 bytes
 .../id_classSelector_basic_style_neg2.png       |  Bin 702 -> 706 bytes
 .../DateField_GlobalStyle_compileTime.png       |  Bin 385 -> 385 bytes
 .../PerModuleStyles/BasicTests/checkStyles.mxml |    0
 .../SWFs/App_loadsModuleInCurrentDomain.mxml    |    0
 .../PerModuleStyles/SWFs/ModuleManagerApp.mxml  |    0
 .../SWFs/RichEditableTextApp.mxml               |    0
 .../PerModuleStyles/SWFs/SwfLoaderTest.mxml     |    0
 .../PerModuleStyles/SWFs/assets/ModuleApp.mxml  |    0
 .../SWFs/assets/ModuleAppOne.mxml               |    0
 .../SWFs/assets/ModuleAppTwo.mxml               |    0
 .../SWFs/assets/RichEditableTextModule1.mxml    |    0
 .../SWFs/assets/RichEditableTextModule2.mxml    |    0
 .../SWFs/assets/SparkAlphaMain.mxml             |    0
 .../SWFs/assets/SparkImageMain.mxml             |    0
 .../api/checkStyleDeclaration.mxml              |    0
 .../inheritance/checkInheritance.mxml           |    0
 .../PerModuleStyles/merging/checkMerging.mxml   |    0
 .../framework/de_DE/components.properties       |    0
 .../framework/en_US/components.properties       |    0
 .../framework/fr_FR/components.properties       |    0
 .../framework/ja_JP/components.properties       |    0
 .../framework/qa_QA/components.properties       |    0
 .../Methods/RTL_Methods_1Locale_ReadWrite.mxml  |   33 +-
 .../bundles/flex20/enCustomBundle2_Flex20.swc   |  Bin 9663 -> 0 bytes
 .../framework/de_DE/components.properties       |    0
 .../framework/en_US/components.properties       |    0
 .../framework/fr_FR/components.properties       |    0
 .../framework/ja_JP/components.properties       |    0
 .../framework/qa_QA/components.properties       |    0
 .../baselines/MixedLayoutModule000.png          |  Bin 5846 -> 5839 bytes
 .../Constraints/SWFs/EmptyModuleLoader.mxml     |    0
 .../Fonts/SWFs/TLFAppUsingFontFromModule.mxml   |    0
 .../SparkModules/Fonts/SWFs/TLFFontsApp.mxml    |    0
 .../SWFs/assets/TLFEmbedTestFontModule.mxml     |    0
 .../Fonts/SWFs/assets/TLFEmbedTestModule.mxml   |    0
 .../SparkModules/Fonts/tests/switchFonts.mxml   |    0
 .../SparkModules/Fonts/tests/useFonts.mxml      |    0
 .../RSLs/Integration/checkModules.mxml          |    0
 .../tests/SparkModules/RSLs/SWFs/MainApp.mxml   |    0
 .../assets/AnotherDataGridModule-config.xml     |    0
 .../RSLs/SWFs/assets/AnotherDataGridModule.mxml |    0
 .../RSLs/SWFs/assets/ComboModule-config.xml     |    0
 .../RSLs/SWFs/assets/ComboModule.mxml           |    0
 .../RSLs/SWFs/assets/DataGridModule-config.xml  |    0
 .../RSLs/SWFs/assets/DataGridModule.mxml        |    0
 .../SubModules/SWFs/SubModuleTest_basic1.mxml   |    0
 .../SubModules/SWFs/SubModuleTest_basic2.mxml   |    0
 .../SubModules/SWFs/SubModuleTest_basic3.mxml   |    0
 .../SubModules/SWFs/assets/Module1.mxml         |    0
 .../SubModules/SWFs/assets/Module2.mxml         |    0
 .../SubModules/SWFs/assets/Module3.mxml         |    0
 .../SubModules/SWFs/assets/Module4.mxml         |    0
 .../SubModules/SWFs/assets/Module5.mxml         |    0
 .../SubModules/SWFs/assets/Module6.mxml         |    0
 .../SWFs/assets/ModuleLoadSubApp2.mxml          |    0
 .../SWFs/assets/ModuleLoadSubApp3.mxml          |    0
 .../SWFs/assets/SimpleASModuleTest.mxml         |    0
 .../SubModules/SWFs/assets/SimpleModule.as      |    0
 .../SWFs/assets/SimpleModuleWithLabel.mxml      |    0
 .../SWFs/assets/SimpleTitleWindow.mxml          |    0
 .../SubModules/SWFs/assets/SubApp1.mxml         |    0
 .../SubModules/SWFs/assets/SubApp2.mxml         |    0
 .../SubModules/SWFs/assets/SubApp3.mxml         |    0
 .../SubModules/SWFs/assets/SubApp4.mxml         |    0
 .../SWFs/assets/TitleWindowModule.mxml          |    0
 .../IncludeIn/states_includeIn.mxml             |    2 +-
 .../Properties/Validators_Date_Properties.mxml  |    3 +
 .../Validators_Date_Properties_spark.mxml       |   86 +-
 .../Properties/Validators_Email_IPV6.mxml       |    4 +-
 .../Properties/Validators_Email_IPV6_spark.mxml |    4 +-
 .../Properties/Validators_Email_Properties.mxml |   47 +
 .../baselines/invalidHyphensInDomainError1.png  |  Bin 0 -> 5022 bytes
 .../baselines/invalidHyphensInDomainError2.png  |  Bin 0 -> 4951 bytes
 .../baselines/ipv6_invalidIPDomainError_2.png   |  Bin 0 -> 4621 bytes
 .../ipv6_invalidIPDomainError_2_spark.png       |  Bin 0 -> 4746 bytes
 .../ipv6_invalidPeriodsInDomainError.png        |  Bin 0 -> 4655 bytes
 .../ipv6_invalidPeriodsInDomainError_spark.png  |  Bin 0 -> 4993 bytes
 .../apollo/HTML/Events/AIRHTMLEventsTester.mxml |    6 +-
 .../Properties/Window_properties_tester.mxml    |    2 +-
 .../Window_properties_tester_Spark.mxml         |    2 +-
 .../AIR_WindowedApplication_Properties.mxml     |   19 +
 ...IR_WindowedApplication_Properties_Spark.mxml |   19 +
 .../baselines/Spark/showStatusBarFalse@win.png  |  Bin 654 -> 648 bytes
 .../baselines/Spark/showStatusBarTrue@win.png   |  Bin 911 -> 668 bytes
 .../Properties/baselines/Spark/status1@win.png  |  Bin 1033 -> 794 bytes
 .../Properties/baselines/Spark/status2@win.png  |  Bin 736 -> 740 bytes
 .../Properties/baselines/Spark/status3@win.png  |  Bin 834 -> 759 bytes
 .../Properties/baselines/Spark/title1@win.png   |  Bin 1119 -> 1102 bytes
 .../Properties/baselines/Spark/title2@win.png   |  Bin 654 -> 648 bytes
 .../Properties/baselines/Spark/title3@win.png   |  Bin 784 -> 777 bytes
 .../baselines/Spark/titleIcon@win.png           |  Bin 1586 -> 1550 bytes
 .../baselines/showStatusBarFalse@win.png        |  Bin 790 -> 781 bytes
 .../baselines/showStatusBarTrue@win.png         |  Bin 1057 -> 807 bytes
 .../Properties/baselines/status1@win.png        |  Bin 1173 -> 921 bytes
 .../Properties/baselines/status2@win.png        |  Bin 871 -> 869 bytes
 .../Properties/baselines/status3@win.png        |  Bin 968 -> 891 bytes
 .../Properties/baselines/title1@win.png         |  Bin 1238 -> 1223 bytes
 .../Properties/baselines/title2@win.png         |  Bin 790 -> 781 bytes
 .../Properties/baselines/title3@win.png         |  Bin 909 -> 899 bytes
 .../Properties/baselines/titleIcon@win.png      |  Bin 1871 -> 1844 bytes
 .../SWFs/WindowedApp_backgroundStyles_main.mxml |    5 +
 ...Color_backgroundAlpha_setStyle_runtime_2.png |  Bin 2575 -> 2185 bytes
 ...r_backgroundAlpha_setStyle_runtime_2_win.png |  Bin 1759 -> 1984 bytes
 .../Window/SWFs/window_basic_flexchrome.mxml    |   19 +-
 .../Window_integration_basiclayout_1.png        |  Bin 1584 -> 1584 bytes
 .../baselines/height_test4_SparkChrome.png      |  Bin 1111 -> 1109 bytes
 .../baselines/height_test4_SparkChrome_mac.png  |  Bin 1088 -> 1238 bytes
 .../baselines/height_test5_SparkChrome.png      |  Bin 1753 -> 1751 bytes
 .../baselines/height_test5_SparkChrome_mac.png  |  Bin 1750 -> 1895 bytes
 .../baselines/height_test6_SparkChrome.png      |  Bin 1568 -> 1566 bytes
 .../baselines/height_test6_SparkChrome_mac.png  |  Bin 1409 -> 1527 bytes
 .../baselines/height_test7_SparkChrome.png      |  Bin 1587 -> 1584 bytes
 .../baselines/height_test7_SparkChrome_mac.png  |  Bin 1575 -> 1723 bytes
 .../maximizable_true_test4_SparkChrome_mac.png  |  Bin 259 -> 286 bytes
 .../minimizable_false_test4_SparkChrome.png     |  Bin 2144 -> 2520 bytes
 .../minimizable_false_test4_SparkChrome_mac.png |  Bin 2838 -> 2905 bytes
 .../minimizable_true_test4_SparkChrome.png      |  Bin 2475 -> 2981 bytes
 .../minimizable_true_test4_SparkChrome_mac.png  |  Bin 3190 -> 3210 bytes
 .../nochangeable_property_maximizable1.png      |  Bin 2125 -> 2502 bytes
 .../nochangeable_property_maximizable1_mac.png  |  Bin 2690 -> 2761 bytes
 .../nochangeable_property_minimizable1.png      |  Bin 2125 -> 2502 bytes
 .../nochangeable_property_minimizable1_mac.png  |  Bin 2690 -> 2761 bytes
 .../nochangeable_property_resizable1.png        |  Bin 2125 -> 2502 bytes
 .../nochangeable_property_resizable1_mac.png    |  Bin 2690 -> 2761 bytes
 .../nochangeable_property_transparent1.png      |  Bin 2125 -> 2502 bytes
 .../nochangeable_property_transparent1_mac.png  |  Bin 2690 -> 2761 bytes
 .../baselines/nochangeable_property_type1.png   |  Bin 2125 -> 2502 bytes
 .../nochangeable_property_type1_mac.png         |  Bin 2690 -> 2761 bytes
 .../baselines/property_StatusString_test1.png   |  Bin 3398 -> 5333 bytes
 .../property_StatusString_test1_mac.png         |  Bin 6440 -> 5542 bytes
 .../property_showStatusBar_resize1.png          |  Bin 10514 -> 12868 bytes
 .../property_showStatusBar_resize1_mac.png      |  Bin 14460 -> 13115 bytes
 .../property_showStatusBar_resize2.png          |  Bin 3907 -> 5757 bytes
 .../property_showStatusBar_resize2_mac.png      |  Bin 6990 -> 5965 bytes
 .../property_showStatusBar_resize3.png          |  Bin 7413 -> 8817 bytes
 .../property_showStatusBar_resize3_mac.png      |  Bin 9083 -> 9041 bytes
 .../baselines/property_showStatusBar_test0.png  |  Bin 2475 -> 2981 bytes
 .../property_showStatusBar_test0_mac.png        |  Bin 3190 -> 3210 bytes
 .../baselines/property_showStatusBar_test1.png  |  Bin 2868 -> 4260 bytes
 .../property_showStatusBar_test1_mac.png        |  Bin 4641 -> 4483 bytes
 .../baselines/property_showStatusBar_test2.png  |  Bin 2215 -> 2733 bytes
 .../property_showStatusBar_test2_mac.png        |  Bin 2945 -> 2955 bytes
 .../property_showStatusBar_update1.png          |  Bin 7440 -> 9528 bytes
 .../property_showStatusBar_update1_mac.png      |  Bin 11057 -> 9749 bytes
 .../property_showStatusBar_update2.png          |  Bin 7413 -> 8817 bytes
 .../property_showStatusBar_update2_mac.png      |  Bin 9083 -> 9041 bytes
 .../property_title_dbcharacters_mac.png         |  Bin 2135 -> 2268 bytes
 .../showStatusBar_test1_SparkChrome.png         |  Bin 2475 -> 2981 bytes
 .../showStatusBar_test1_SparkChrome_mac.png     |  Bin 3190 -> 3210 bytes
 .../showStatusBar_test2_SparkChrome.png         |  Bin 2215 -> 2733 bytes
 .../showStatusBar_test2_SparkChrome_mac.png     |  Bin 2945 -> 2955 bytes
 .../showStatusBar_test3_SparkChrome.png         |  Bin 2215 -> 2733 bytes
 .../showStatusBar_test3_SparkChrome_mac.png     |  Bin 2945 -> 2955 bytes
 .../showStatusBar_test4_SparkChrome.png         |  Bin 2475 -> 2981 bytes
 .../showStatusBar_test4_SparkChrome_mac.png     |  Bin 3190 -> 3210 bytes
 .../showStatusBar_test5_SparkChrome.png         |  Bin 2215 -> 2733 bytes
 .../showStatusBar_test5_SparkChrome_mac.png     |  Bin 2945 -> 2955 bytes
 .../showStatusBar_test6_SparkChrome.png         |  Bin 2841 -> 3362 bytes
 .../showStatusBar_test6_SparkChrome_mac.png     |  Bin 3556 -> 3598 bytes
 .../showStatusBar_test7_SparkChrome.png         |  Bin 2702 -> 3211 bytes
 .../showStatusBar_test7_SparkChrome_mac.png     |  Bin 3417 -> 3446 bytes
 .../showStatusBar_test8_SparkChrome.png         |  Bin 2475 -> 2981 bytes
 .../showStatusBar_test8_SparkChrome_mac.png     |  Bin 3190 -> 3210 bytes
 .../showStatusBar_test9_SparkChrome.png         |  Bin 2215 -> 2733 bytes
 .../showStatusBar_test9_SparkChrome_mac.png     |  Bin 2945 -> 2955 bytes
 .../baselines/status_test1_SparkChrome.png      |  Bin 1045 -> 2290 bytes
 .../baselines/status_test1_SparkChrome_mac.png  |  Bin 2580 -> 2290 bytes
 .../baselines/status_test1_systemChrome.png     |  Bin 1351 -> 1294 bytes
 .../properties/baselines/titleBar_test1.png     |  Bin 496 -> 725 bytes
 .../properties/baselines/titleBar_test1_mac.png |  Bin 986 -> 945 bytes
 .../properties/baselines/titleIcon_test1.png    |  Bin 616 -> 964 bytes
 .../baselines/titleIcon_test1_mac.png           |  Bin 1121 -> 1182 bytes
 .../properties/baselines/titleIcon_test2.png    |  Bin 616 -> 964 bytes
 .../baselines/titleIcon_test2_mac.png           |  Bin 1121 -> 1182 bytes
 .../properties/baselines/titleIcon_test3.png    |  Bin 616 -> 964 bytes
 .../baselines/titleIcon_test3_mac.png           |  Bin 1121 -> 1182 bytes
 .../properties/baselines/titleIcon_test4.png    |  Bin 2741 -> 3093 bytes
 .../baselines/titleIcon_test4_mac.png           |  Bin 3625 -> 3394 bytes
 .../properties/baselines/titleIcon_test5.png    |  Bin 2741 -> 3093 bytes
 .../baselines/titleIcon_test5_mac.png           |  Bin 3625 -> 3394 bytes
 .../properties/baselines/titleIcon_test61.png   |  Bin 2536 -> 2903 bytes
 .../baselines/titleIcon_test61_mac.png          |  Bin 3312 -> 3252 bytes
 .../properties/baselines/titleIcon_test62.png   |  Bin 2741 -> 3093 bytes
 .../baselines/titleIcon_test62_mac.png          |  Bin 3625 -> 3394 bytes
 .../properties/baselines/titleIcon_test7.png    |  Bin 3364 -> 4708 bytes
 .../baselines/titleIcon_test7_mac.png           |  Bin 5980 -> 4959 bytes
 .../properties/baselines/titleIcon_test8.png    |  Bin 3364 -> 4708 bytes
 .../baselines/titleIcon_test8_mac.png           |  Bin 5980 -> 4959 bytes
 .../properties/baselines/title_mxml_test1.png   |  Bin 2684 -> 3855 bytes
 .../baselines/title_mxml_test1_mac.png          |  Bin 4342 -> 4068 bytes
 .../properties/baselines/title_mxml_test2.png   |  Bin 2751 -> 4181 bytes
 .../baselines/title_mxml_test2_mac.png          |  Bin 5952 -> 4406 bytes
 .../Window/properties/baselines/title_test5.png |  Bin 2258 -> 2304 bytes
 .../properties/baselines/title_test5_mac.png    |  Bin 2514 -> 2576 bytes
 .../Window/properties/baselines/title_test6.png |  Bin 2898 -> 4076 bytes
 .../properties/baselines/title_test6_mac.png    |  Bin 4656 -> 4274 bytes
 .../Window/properties/baselines/title_test7.png |  Bin 3035 -> 4216 bytes
 .../properties/baselines/title_test7_mac.png    |  Bin 5134 -> 4404 bytes
 .../baselines/width_test4_flexChrome.png        |  Bin 2187 -> 2684 bytes
 .../baselines/width_test4_flexChrome_mac.png    |  Bin 2878 -> 2897 bytes
 .../baselines/width_test5_flexChrome.png        |  Bin 2362 -> 2873 bytes
 .../baselines/width_test5_flexChrome_mac.png    |  Bin 3081 -> 3108 bytes
 .../baselines/width_test6_flexChrome.png        |  Bin 2211 -> 2710 bytes
 .../baselines/width_test6_flexChrome_mac.png    |  Bin 2909 -> 2931 bytes
 .../baselines/width_test7_flexChrome.png        |  Bin 2223 -> 2722 bytes
 .../baselines/width_test7_flexChrome_mac.png    |  Bin 2929 -> 2950 bytes
 .../baselines/titleBar_test1_SparkChrome.png    |  Bin 848 -> 847 bytes
 .../titleBar_test1_SparkChrome_mac.png          |  Bin 813 -> 950 bytes
 .../baselines/titleBar_test2_SparkChrome.png    |  Bin 980 -> 980 bytes
 .../titleBar_test2_SparkChrome_mac.png          |  Bin 964 -> 1107 bytes
 .../styles/baselines/skinClass1_test1.png       |  Bin 452 -> 451 bytes
 .../styles/baselines/skinClass1_test2.png       |  Bin 1466 -> 1462 bytes
 .../styles/baselines/skinClass1_test2_mac.png   |  Bin 1445 -> 1610 bytes
 .../styles/baselines/skinClass1_test3.png       |  Bin 1423 -> 1410 bytes
 .../styles/baselines/skinClass1_test3_mac.png   |  Bin 1405 -> 1552 bytes
 .../Window/styles/baselines/skinClass_test2.png |  Bin 1466 -> 1462 bytes
 .../styles/baselines/skinClass_test2_mac.png    |  Bin 1445 -> 1610 bytes
 .../Window/styles/baselines/skinClass_test3.png |  Bin 1423 -> 1410 bytes
 .../styles/baselines/skinClass_test3_mac.png    |  Bin 1405 -> 1552 bytes
 .../Window/styles/baselines/skinClass_test5.png |  Bin 1466 -> 1462 bytes
 .../styles/baselines/skinClass_test5_mac.png    |  Bin 1445 -> 1610 bytes
 .../SWFs/assets/SkinTest1.mxml                  |    0
 .../SWFs/assets/SkinWithScroller.mxml           |    0
 .../SWFs/assets/SkinWithStates.mxml             |    0
 .../WindowedApplication/SWFs/wa_app1_closed.xml |    0
 .../baselines/localization_test1_win.png        |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin 1954 -> 1907 bytes
 ...height_test4_windowedApplicationSkin_win.png |  Bin 848 -> 761 bytes
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...1_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...2_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...8_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...9_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...3_SparkChromeWindowedApplicationSkin_win.png |  Bin
 .../properties/baselines/titleBar_test1_win.png |  Bin
 .../baselines/titleIcon_test1_win.png           |  Bin
 .../baselines/titleIcon_test2_win.png           |  Bin
 .../baselines/titleIcon_test3_win.png           |  Bin
 .../baselines/titleIcon_test4_win.png           |  Bin
 .../baselines/titleIcon_test5_win.png           |  Bin
 .../baselines/titleIcon_test7_win.png           |  Bin
 .../baselines/title_mxml_test1_win.png          |  Bin
 .../baselines/title_mxml_test2_win.png          |  Bin
 .../properties/baselines/title_test1_win.png    |  Bin
 .../properties/baselines/title_test2_win.png    |  Bin
 .../properties/baselines/title_test3_win.png    |  Bin
 .../properties/baselines/title_test5_win.png    |  Bin
 .../properties/baselines/title_test6_win.png    |  Bin
 .../properties/baselines/title_test7_win.png    |  Bin
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin
 .../properties/wa_properties_height_tests.mxml  |    2 +-
 .../wa_properties_minmaxheightwidth_tests.mxml  |    2 +-
 ...ies_width_minmaxsize_systemchrome_tests.mxml |    2 +-
 ...0_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...1_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...2_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...3_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...4_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...5_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...6_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...7_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...8_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...a_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...b_SparkChromeWindowedApplicationSkin_win.png |  Bin
 ...c_SparkChromeWindowedApplicationSkin_win.png |  Bin
 .../styles/baselines/skinClass_test2_win.png    |  Bin
 .../styles/baselines/skinClass_test3_win.png    |  Bin
 .../styles/baselines/skinClass_test4.png        |  Bin
 .../styles/baselines/skinClass_test5_mac.png    |  Bin
 .../styles/baselines/skinClass_test5_win.png    |  Bin
 .../Methods/ArrayCollection_Methods.mxml        |   17 +-
 .../SWFs/ArrayCollectionMain.mxml               |   26 +-
 .../Alert/Properties/Alert_Properties.mxml      |    3 +-
 .../Properties/Alert_Properties_Spark.mxml      |    1 +
 .../Alert_layoutDirection_direction_rtl.png     |  Bin 2692 -> 2707 bytes
 .../Alert_layoutDirection_direction_rtl.png.xml |   48 +
 ...lert_layoutDirection_direction_rtl_spark.png |  Bin 3433 -> 3435 bytes
 ..._layoutDirection_direction_rtl_spark.png.xml |   60 +
 ...tDirection_direction_rtl_spark_wireframe.png |  Bin 2192 -> 2191 bytes
 ...ection_direction_rtl_spark_wireframe.png.xml |   58 +
 ...utDirection_direction_rtl_with_alertIcon.png |  Bin 6490 -> 6498 bytes
 ...rection_direction_rtl_with_alertIcon.png.xml |   49 +
 ...ction_direction_rtl_with_alertIcon_spark.png |  Bin 7161 -> 7161 bytes
 ...n_direction_rtl_with_alertIcon_spark.png.xml |   61 +
 ...ction_rtl_with_alertIcon_spark_wireframe.png |  Bin 5940 -> 5941 bytes
 ...n_rtl_with_alertIcon_spark_wireframe.png.xml |  108 +
 .../Alert/Styles/baselines/letterSpacing.png    |  Bin 2737 -> 2736 bytes
 .../Alert/Versioning/MP_Alert_Tests.mxml        |    2 +-
 .../AreaSeries_axisAtSeriesLevel.png.xml        |  211 ++
 ...reaSeries_axisRenderer_withPlacement.png.xml |  275 ++
 ...AreaSeries_multipleAxes_disabledDays.png.xml |  174 +
 .../AreaSeries_sameAxis_diffRenderers.png       |  Bin 15945 -> 16098 bytes
 .../AreaSeries_sameAxis_diffRenderers.png.xml   |  267 ++
 .../Charts/Area/SWFs/MultipleAxesUtils.as       |    2 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...arSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 .../BarSeries_ChangeMinAndMax_DateTimeAxis.png  |  Bin
 .../BarSeries_ChangeMinAndMax_LinearAxis.png    |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../Baselines/BarSeries_axisAtSeriesLevel.png   |  Bin
 .../BarSeries_axisRenderer_withPlacement.png    |  Bin
 .../BarSeries_filterData_filterDataValues.png   |  Bin
 .../Properties/Baselines/BarSeries_legend.png   |  Bin
 .../BarSeries_multipleAxes_disabledDays.png     |  Bin
 .../BarSeries_sameAxis_diffRenderers.png        |  Bin
 .../BarSeries_sameRenderer_withDiffAxis.png     |  Bin
 .../BarSeries_selectionMode_Multiple.png        |  Bin
 .../Baselines/BarSeries_selectionMode_None.png  |  Bin
 .../BarSeries_selectionMode_Single.png          |  Bin
 ...BarSeries_valid_horizontal_vertical_axis.png |  Bin
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...leSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 ...ubbleSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 .../BubbleSeries_ChangeMinAndMax_LinearAxis.png |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../BubbleSeries_axisAtSeriesLevel.png          |  Bin
 .../BubbleSeries_axisAtSeriesLevel.png.xml      |  216 ++
 .../BubbleSeries_axisRenderer_withPlacement.png |  Bin
 ...bleSeries_axisRenderer_withPlacement.png.xml |  280 ++
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 ...BubbleSeries_filterData_filterDataValues.png |  Bin
 ...leSeries_filterData_filterDataValues.png.xml |  127 +
 .../Baselines/BubbleSeries_legend.png           |  Bin
 .../BubbleSeries_multipleAxes_disabledDays.png  |  Bin
 ...bbleSeries_multipleAxes_disabledDays.png.xml |  141 +
 .../BubbleSeries_sameAxis_diffRenderers.png     |  Bin 18941 -> 19026 bytes
 .../BubbleSeries_sameAxis_diffRenderers.png.xml |  272 ++
 .../BubbleSeries_sameRenderer_withDiffAxis.png  |  Bin
 .../BubbleSeries_selectionMode_Multiple.png     |  Bin
 .../BubbleSeries_selectionMode_None.png         |  Bin
 .../BubbleSeries_selectionMode_Single.png       |  Bin
 ...bleSeries_valid_horizontal_vertical_axis.png |  Bin
 .../Bubble/Properties/BubbleProperties.mxml     |    3 +-
 .../Charts/Bubble/SWFs/MultipleAxesUtils.as     |    2 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...ckSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 ...stickSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 ...lestickSeries_ChangeMinAndMax_LinearAxis.png |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../CandlestickSeries_axisAtSeriesLevel.png     |  Bin
 .../CandlestickSeries_axisAtSeriesLevel.png.xml |  216 ++
 ...lestickSeries_axisRenderer_withPlacement.png |  Bin
 ...ickSeries_axisRenderer_withPlacement.png.xml |  280 ++
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 ...estickSeries_filterData_filterDataValues.png |  Bin
 .../Baselines/CandlestickSeries_legend.png      |  Bin
 ...dlestickSeries_multipleAxes_disabledDays.png |  Bin
 ...tickSeries_multipleAxes_disabledDays.png.xml |  133 +
 ...CandlestickSeries_sameAxis_diffRenderers.png |  Bin 14433 -> 14741 bytes
 ...lestickSeries_sameAxis_diffRenderers.png.xml |  272 ++
 ...dlestickSeries_sameRenderer_withDiffAxis.png |  Bin
 ...CandlestickSeries_selectionMode_Multiple.png |  Bin
 .../CandlestickSeries_selectionMode_None.png    |  Bin
 .../CandlestickSeries_selectionMode_Single.png  |  Bin
 ...ickSeries_valid_horizontal_vertical_axis.png |  Bin
 .../Charts/Candle/SWFs/MultipleAxesUtils.as     |    2 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...mnSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 ...olumnSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 .../ColumnSeries_ChangeMinAndMax_LinearAxis.png |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../ColumnSeries_axisAtSeriesLevel.png          |  Bin
 .../ColumnSeries_axisAtSeriesLevel.png.xml      |  235 ++
 .../ColumnSeries_axisRenderer_withPlacement.png |  Bin
 ...umnSeries_axisRenderer_withPlacement.png.xml |  299 ++
 ...ColumnSeries_filterData_filterDataValues.png |  Bin
 ...mnSeries_filterData_filterDataValues.png.xml |  142 +
 .../Baselines/ColumnSeries_legend.png           |  Bin
 .../ColumnSeries_multipleAxes_disabledDays.png  |  Bin
 ...lumnSeries_multipleAxes_disabledDays.png.xml |  196 ++
 .../ColumnSeries_sameAxis_diffRenderers.png     |  Bin 23511 -> 23194 bytes
 .../ColumnSeries_sameAxis_diffRenderers.png.xml |  291 ++
 .../ColumnSeries_sameRenderer_withDiffAxis.png  |  Bin
 .../ColumnSeries_selectionMode_Multiple.png     |  Bin
 .../ColumnSeries_selectionMode_None.png         |  Bin
 .../ColumnSeries_selectionMode_Single.png       |  Bin
 ...umnSeries_valid_horizontal_vertical_axis.png |  Bin
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 .../Charts/Column/SWFs/MultipleAxesUtils.as     |    2 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...OCSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 .../HLOCSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 .../HLOCSeries_ChangeMinAndMax_LinearAxis.png   |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../Baselines/HLOCSeries_axisAtSeriesLevel.png  |  Bin
 .../HLOCSeries_axisAtSeriesLevel.png.xml        |  216 ++
 .../HLOCSeries_axisRenderer_withPlacement.png   |  Bin
 ...LOCSeries_axisRenderer_withPlacement.png.xml |  280 ++
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 .../HLOCSeries_filterData_filterDataValues.png  |  Bin
 .../Properties/Baselines/HLOCSeries_legend.png  |  Bin
 .../HLOCSeries_multipleAxes_disabledDays.png    |  Bin
 ...HLOCSeries_multipleAxes_disabledDays.png.xml |  133 +
 .../HLOCSeries_sameAxis_diffRenderers.png       |  Bin 14602 -> 14869 bytes
 .../HLOCSeries_sameAxis_diffRenderers.png.xml   |  272 ++
 .../HLOCSeries_sameRenderer_withDiffAxis.png    |  Bin
 .../HLOCSeries_selectionMode_Multiple.png       |  Bin
 .../Baselines/HLOCSeries_selectionMode_None.png |  Bin
 .../HLOCSeries_selectionMode_Single.png         |  Bin
 ...LOCSeries_valid_horizontal_vertical_axis.png |  Bin
 .../Charts/HLOC/SWFs/MultipleAxesUtils.as       |    2 +
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 .../LineSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 .../LineSeries_ChangeMinAndMax_LinearAxis.png   |  Bin
 ...ineSeries_ChangeMinAndMax_LinearAxis.png.xml |  143 +
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../Baselines/LineSeries_axisAtSeriesLevel.png  |  Bin
 .../LineSeries_axisAtSeriesLevel.png.xml        |  241 ++
 .../LineSeries_axisRenderer_withPlacement.png   |  Bin
 ...ineSeries_axisRenderer_withPlacement.png.xml |  311 ++
 ...neSeries_change_Dataprovider_AtAxisLevel.png |  Bin
 ...Series_change_Dataprovider_AtSeriesLevel.png |  Bin
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 .../LineSeries_filterData_filterDataValues.png  |  Bin
 ...neSeries_filterData_filterDataValues.png.xml |  140 +
 .../Properties/Baselines/LineSeries_legend.png  |  Bin
 .../LineSeries_multipleAxes_disabledDays.png    |  Bin
 ...LineSeries_multipleAxes_disabledDays.png.xml |  193 ++
 .../LineSeries_sameAxis_diffRenderers.png       |  Bin 21710 -> 22049 bytes
 .../LineSeries_sameAxis_diffRenderers.png.xml   |  303 ++
 .../LineSeries_sameRenderer_withDiffAxis.png    |  Bin
 .../LineSeries_selectionMode_Multiple.png       |  Bin 15385 -> 15384 bytes
 .../Baselines/LineSeries_selectionMode_None.png |  Bin
 .../LineSeries_selectionMode_Single.png         |  Bin 15240 -> 15235 bytes
 ...ineSeries_valid_horizontal_vertical_axis.png |  Bin
 .../Charts/Line/SWFs/MultipleAxesUtils.as       |    2 +
 ...ieSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 .../Properties/Baselines/PieSeries_legend.png   |  Bin
 .../PieSeries_selectionMode_Multiple.png        |  Bin 36302 -> 36306 bytes
 .../Baselines/PieSeries_selectionMode_None.png  |  Bin 36283 -> 36287 bytes
 .../PieSeries_selectionMode_Single.png          |  Bin 36239 -> 36243 bytes
 ...ieSeries_totalValueSet_circle_annotation.png |  Bin
 ...PieSeries_totalValueSet_curve_annotation.png |  Bin
 ...eSeries_totalValueSet_ellipse_annotation.png |  Bin
 .../PieSeries_totalValueSet_line_annotation.png |  Bin
 .../PieSeries_totalValueSet_rect_annotation.png |  Bin
 ...ies_totalValueSet_roundedRect_annotation.png |  Bin
 ..._Series_change_Dataprovider_Series_Level.png |  Bin
 .../Pie_Series_renderDirection_clockwise.png    |  Bin
 ..._Series_renderDirection_counterClockwise.png |  Bin
 ...s_Canvas_MultipleAxes_AxisSet_Background.png |  Bin
 ...otSeries_ChangeDataProvider_AtChartLevel.png |  Bin
 .../PlotSeries_ChangeMinAndMax_DateTimeAxis.png |  Bin
 .../PlotSeries_ChangeMinAndMax_LinearAxis.png   |  Bin
 ...s_MultipleCanvas_MultipleAxes_Annotation.png |  Bin
 .../Baselines/PlotSeries_axisAtSeriesLevel.png  |  Bin 20917 -> 20914 bytes
 .../PlotSeries_axisAtSeriesLevel.png.xml        |  238 ++
 .../PlotSeries_axisRenderer_withPlacement.png   |  Bin
 ...lotSeries_axisRenderer_withPlacement.png.xml |  308 ++
 ..._change_Dataprovider_SeriesAndAxis_Level.png |  Bin
 .../PlotSeries_filterData_filterDataValues.png  |  Bin
 .../Properties/Baselines/PlotSeries_legend.png  |  Bin
 .../PlotSeries_multipleAxes_disabledDays.png    |  Bin
 ...PlotSeries_multipleAxes_disabledDays.png.xml |  187 ++
 .../PlotSeries_sameAxis_diffRenderers.png       |  Bin 19362 -> 19820 bytes
 .../PlotSeries_sameAxis_diffRenderers.png.xml   |  300 ++
 .../PlotSeries_sameRenderer_withDiffAxis.png    |  Bin
 .../PlotSeries_selectionMode_Multiple.png       |  Bin
 .../Baselines/PlotSeries_selectionMode_None.png |  Bin
 .../PlotSeries_selectionMode_Single.png         |  Bin
 ...lotSeries_valid_horizontal_vertical_axis.png |  Bin
 .../Charts/Plot/SWFs/MultipleAxesUtils.as       |   21 +-
 .../Styles/ComboBoxStylesMirroring.mxml         |    2 +-
 ...kedColumnCount_config1_increaseAtRuntime.png |  Bin
 ...ockedColumnCount_config2_clearSeparators.png |  Bin
 ...kedColumnCount_config2_decreaseAtRuntime.png |  Bin
 ...lockedColumnCount_config2_drawSeparators.png |  Bin
 ...kedColumnCount_config2_increaseAtRuntime.png |  Bin
 ...t_config2_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config2_moveUnlockedColumnToLockedArea.png |  Bin
 ...ount_config2_rearrangeLockedColumns_0to1.png |  Bin
 ...ount_config2_rearrangeLockedColumns_1to0.png |  Bin
 ...unt_config2_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config2_rearrangeUnlockedColumns2to0.png |  Bin
 ...lumnCount_config2_resizableColumns_false.png |  Bin
 ...olumnCount_config2_resizableColumns_true.png |  Bin
 ...ount_config2_resizeLockedColumns_between.png |  Bin
 ...g2_resizeLockedColumns_boundary_moveLeft.png |  Bin
 ...2_resizeLockedColumns_boundary_moveRight.png |  Bin
 ...t_config2_resizeUnlockedColumns_boundary.png |  Bin
 ...ockedColumnCount_config2_scrollDownAndUp.png |  Bin
 ...lockedColumnCount_config2_scrollDownFull.png |  Bin
 .../lockedColumnCount_config2_scrollDownOne.png |  Bin
 ...nt_config2_sortLockedColumn_0_decreasing.png |  Bin
 ...nt_config2_sortLockedColumn_0_increasing.png |  Bin
 ...nt_config2_sortLockedColumn_1_decreasing.png |  Bin
 ...nt_config2_sortLockedColumn_1_increasing.png |  Bin
 ...nt_config2_sortUnlockedColumn_decreasing.png |  Bin
 ...nt_config2_sortUnlockedColumn_increasing.png |  Bin
 ...fig3_columnsAreLocked_scrollRightAndLeft.png |  Bin
 ...config3_columnsAreLocked_scrollRightFull.png |  Bin
 ..._config3_columnsAreLocked_scrollRightOne.png |  Bin
 ...kedColumnCount_config3_decreaseAtRuntime.png |  Bin
 ...kedColumnCount_config3_increaseAtRuntime.png |  Bin
 ...t_config3_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config3_moveUnlockedColumnToLockedArea.png |  Bin
 ...ount_config3_rearrangeLockedColumns_0to1.png |  Bin
 ...ount_config3_rearrangeLockedColumns_1to0.png |  Bin
 ...unt_config3_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config3_rearrangeUnlockedColumns2to0.png |  Bin
 ...ount_config3_resizeLockedColumns_between.png |  Bin
 ...g3_resizeLockedColumns_boundary_moveLeft.png |  Bin
 ...3_resizeLockedColumns_boundary_moveRight.png |  Bin
 ...fig3_resizeUnlockedColumns_larger_scroll.png |  Bin
 ...nt_config3_resizeUnlockedColumns_smaller.png |  Bin
 ...ig3_resizeUnlockedColumns_smaller_scroll.png |  Bin
 ...ockedColumnCount_config3_scrollDownAndUp.png |  Bin
 ...lockedColumnCount_config3_scrollDownFull.png |  Bin
 .../lockedColumnCount_config3_scrollDownOne.png |  Bin
 ...fig4_columnsAreLocked_scrollRightAndLeft.png |  Bin
 ...config4_columnsAreLocked_scrollRightFull.png |  Bin
 ..._config4_columnsAreLocked_scrollRightOne.png |  Bin
 ...kedColumnCount_config4_decreaseAtRuntime.png |  Bin
 ...kedColumnCount_config4_increaseAtRuntime.png |  Bin
 ...t_config4_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config4_moveUnlockedColumnToLockedArea.png |  Bin
 ...ount_config4_rearrangeLockedColumns_0to1.png |  Bin
 ...ount_config4_rearrangeLockedColumns_1to0.png |  Bin
 ...unt_config4_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config4_rearrangeUnlockedColumns2to0.png |  Bin
 ...ount_config4_resizeLockedColumns_between.png |  Bin
 ...g4_resizeLockedColumns_boundary_moveLeft.png |  Bin
 ...4_resizeLockedColumns_boundary_moveRight.png |  Bin
 ...unt_config4_resizeUnlockedColumns_larger.png |  Bin
 ...fig4_resizeUnlockedColumns_larger_scroll.png |  Bin
 ...nt_config4_resizeUnlockedColumns_smaller.png |  Bin
 ...ig4_resizeUnlockedColumns_smaller_scroll.png |  Bin
 ...ockedColumnCount_config4_scrollDownAndUp.png |  Bin
 ...lockedColumnCount_config4_scrollDownFull.png |  Bin
 .../lockedColumnCount_config4_scrollDownOne.png |  Bin
 ...t_config5_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config5_moveUnlockedColumnToLockedArea.png |  Bin
 ...ount_config5_rearrangeLockedColumns_0to1.png |  Bin
 ...ount_config5_rearrangeLockedColumns_1to0.png |  Bin
 ...unt_config5_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config5_rearrangeUnlockedColumns2to0.png |  Bin
 ...ount_config5_resizeLockedColumns_between.png |  Bin
 ...g5_resizeLockedColumns_boundary_moveLeft.png |  Bin
 ...5_resizeLockedColumns_boundary_moveRight.png |  Bin
 ...ockedColumnCount_config5_scrollDownAndUp.png |  Bin
 ...lockedColumnCount_config5_scrollDownFull.png |  Bin
 .../lockedColumnCount_config5_scrollDownOne.png |  Bin
 ...fig6_columnsAreLocked_scrollRightAndLeft.png |  Bin
 ..._config6_columnsAreLocked_scrollRightOne.png |  Bin
 ...t_config6_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config6_moveUnlockedColumnToLockedArea.png |  Bin
 ...unt_config6_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config6_rearrangeUnlockedColumns2to0.png |  Bin
 ...g6_resizeLockedColumns_boundary_moveLeft.png |  Bin
 ...6_resizeLockedColumns_boundary_moveRight.png |  Bin
 ..._dragDropInLockedColumnArea_dropComplete.png |  Bin
 ...g8_dragDropInLockedColumnArea_inProgress.png |  Bin
 ...agDropInLockedColumnArea_inProgress_halo.png |  Bin
 ...ragDropInUnlockedColumnArea_dropComplete.png |  Bin
 ..._dragDropInUnlockedColumnArea_inProgress.png |  Bin
 ...DropInUnlockedColumnArea_inProgress_halo.png |  Bin
 ...t_config8_dragDropLockedToUnlockedColumn.png |  Bin
 ...nfig8_dragDropUnlockedToLockedColumnArea.png |  Bin
 ...Count_config9_dragDropInLockedColumnArea.png |  Bin
 ...unt_config9_dragDropInUnlockedColumnArea.png |  Bin
 ...t_config9_dragDropLockedToUnlockedColumn.png |  Bin
 ...nfig9_dragDropUnlockedToLockedColumnArea.png |  Bin
 ...kedColumnCount_config1_increaseAtRuntime.png |  Bin
 ...kedColumnCount_config2_decreaseAtRuntime.png |  Bin
 ...lockedColumnCount_config2_drawSeparators.png |  Bin
 ...kedColumnCount_config2_increaseAtRuntime.png |  Bin
 ...t_config2_moveLockedColumnToUnlockedArea.png |  Bin
 ...t_config2_moveUnlockedColumnToLockedArea.png |  Bin
 ...ount_config2_rearrangeLockedColumns_0to1.png |  Bin
 ...ount_config2_rearrangeLockedColumns_1to0.png |  Bin
 ...unt_config2_rearrangeUnlockedColumns0to2.png |  Bin
 ...unt_config2_rearrangeUnlockedColumns2to0.png |  Bin
 ...lumnCount_config2_resizableColumns_false.png |  Bin
 ...olumnCount_config2_resizableColumns_true.png |  Bin
 ...t_config2_resizeUnlockedColumns_boundary.png |  Bin
 ...ockedColumnCount_config2_scrollDownAndUp.png |  Bin
 ...lockedColumnCount_config2_scrollDownFull.png |  Bin
 .../lockedColumnCount_config2_scrollDownOne.png |  Bin
 ...nt_config2_sortLockedColumn_0_decreasing.png |  Bin
 ...nt_config2_sortLockedColumn_0_increasing.png |  Bin
 ...nt_config2_sortLockedColumn_1_decreasing.png |  Bin
 ...nt_config2_sortLockedColumn_1_increasing.png |  Bin
 ...nt_config2_sortUnlockedColumn_decreasing.png |  Bin
 ...nt_config2_sortUnlockedColumn_increasing.png |  Bin
 .../DateField/Methods/DateField_Formats.mxml    |  603 ++++
 .../DateField/Methods/baselines/dfClose.png     |  Bin 3908 -> 3890 bytes
 .../Methods/baselines/dfClose_spark.png         |  Bin 4136 -> 4135 bytes
 .../DateField/Methods/baselines/dfOpen.png      |  Bin 8906 -> 8892 bytes
 .../Methods/baselines/dfOpen_spark.png          |  Bin 8644 -> 8649 bytes
 ...Field_Styles_Mirroring_rtl_customIcon2_1.png |  Bin 626 -> 629 bytes
 ...Field_Styles_Mirroring_rtl_customIcon2_2.png |  Bin 618 -> 613 bytes
 ...Field_Styles_Mirroring_rtl_customIcons_1.png |  Bin 9091 -> 9091 bytes
 ...Field_Styles_Mirroring_rtl_customIcons_2.png |  Bin 9160 -> 9160 bytes
 ...Field_Styles_Mirroring_rtl_dateChooser_1.png |  Bin 696 -> 698 bytes
 ...Field_Styles_Mirroring_rtl_dateChooser_2.png |  Bin 6844 -> 6852 bytes
 ...DateField_Styles_Mirroring_rtl_default_1.png |  Bin 327 -> 328 bytes
 ...DateField_Styles_Mirroring_rtl_default_2.png |  Bin 331 -> 331 bytes
 ...d_Styles_Mirroring_rtl_parentContainer_1.png |  Bin 692 -> 693 bytes
 ...d_Styles_Mirroring_rtl_parentContainer_2.png |  Bin 696 -> 698 bytes
 .../Styles/baselines/baseColor_spark_1.png      |  Bin 713 -> 715 bytes
 .../Styles/baselines/borderColor_mxml.png       |  Bin 378 -> 376 bytes
 .../baselines/borderColor_mxml_styleName.png    |  Bin 381 -> 379 bytes
 .../contentBackgroundColor_spark_1.png          |  Bin 653 -> 655 bytes
 .../Styles/baselines/fillColorsAlpha_pound.png  |  Bin 774 -> 760 bytes
 .../Styles/baselines/fillColorsAlpha_solid.png  |  Bin 774 -> 760 bytes
 .../DateField/Styles/baselines/focusAlpha_1.png |  Bin 774 -> 760 bytes
 .../Styles/baselines/focusAlpha_1_spark.png     |  Bin 709 -> 709 bytes
 .../Styles/baselines/focusRoundedforners_bl.png |  Bin 774 -> 760 bytes
 .../baselines/focusRoundedforners_bl_spark.png  |  Bin 709 -> 709 bytes
 .../Styles/baselines/focusRoundedforners_br.png |  Bin 774 -> 760 bytes
 .../baselines/focusRoundedforners_br_spark.png  |  Bin 709 -> 709 bytes
 .../Styles/baselines/focusRoundedforners_tl.png |  Bin 774 -> 760 bytes
 .../baselines/focusRoundedforners_tl_spark.png  |  Bin 709 -> 709 bytes
 .../Styles/baselines/focusRoundedforners_tr.png |  Bin 774 -> 760 bytes
 .../baselines/focusRoundedforners_tr_spark.png  |  Bin 709 -> 709 bytes
 .../baselines/fontAntiAliasType_normal.png      |  Bin 774 -> 760 bytes
 .../fontAntiAliasType_normal_spark.png          |  Bin 709 -> 709 bytes
 .../Styles/baselines/fontFamily_Georgia.png     |  Bin 727 -> 726 bytes
 .../baselines/fontFamily_Georgia_spark.png      |  Bin 736 -> 737 bytes
 .../Styles/baselines/fontFamily_arial.png       |  Bin 793 -> 787 bytes
 .../Styles/baselines/fontFamily_arial_spark.png |  Bin 789 -> 793 bytes
 .../Styles/baselines/fontSharpness_0.png        |  Bin 1839 -> 1836 bytes
 .../Styles/baselines/fontSharpness_0_spark.png  |  Bin 1742 -> 1723 bytes
 .../Styles/baselines/fontSharpness_400.png      |  Bin 1839 -> 1836 bytes
 .../baselines/fontSharpness_400_spark.png       |  Bin 1742 -> 1723 bytes
 .../Styles/baselines/fontStyle_italics.png      |  Bin 776 -> 762 bytes
 .../baselines/fontStyle_italics_spark.png       |  Bin 760 -> 766 bytes
 .../baselines/fontStyle_normal_DateField.png    |  Bin 774 -> 760 bytes
 .../fontStyle_normal_DateField_spark.png        |  Bin 709 -> 709 bytes
 .../Styles/baselines/fontThickness_10.png       |  Bin 774 -> 760 bytes
 .../Styles/baselines/fontThickness_10_spark.png |  Bin 709 -> 709 bytes
 .../Styles/baselines/fontThickness_200.png      |  Bin 774 -> 760 bytes
 .../baselines/fontThickness_200_spark.png       |  Bin 709 -> 709 bytes
 .../baselines/fontWeight_bold_DateField.png     |  Bin 820 -> 807 bytes
 .../fontWeight_bold_DateField_spark.png         |  Bin 823 -> 825 bytes
 .../baselines/fontWeight_normal_DateField.png   |  Bin 774 -> 760 bytes
 .../fontWeight_normal_DateField_spark.png       |  Bin 709 -> 709 bytes
 .../properties/DateField_Properties.mxml        |    6 +-
 .../properties/DateField_Properties_spark.mxml  |    7 +-
 .../baselines/DateField_DayNames1.png           |  Bin 8598 -> 8585 bytes
 .../baselines/DateField_DayNames1_spark.png     |  Bin 9047 -> 9028 bytes
 .../baselines/DateField_DayNames2.png           |  Bin 8598 -> 8585 bytes
 .../baselines/DateField_DayNames2_spark.png     |  Bin 9047 -> 9028 bytes
 .../DateField_Property_MonthNames1.png          |  Bin 8084 -> 8061 bytes
 .../DateField_Property_MonthNames1_spark.png    |  Bin 8342 -> 8345 bytes
 .../DateField_Property_MonthNames2.png          |  Bin 8125 -> 8103 bytes
 .../DateField_Property_MonthNames2_spark.png    |  Bin 8377 -> 8381 bytes
 .../baselines/DateField_Property_ToolTip_2.png  |  Bin 1355 -> 1329 bytes
 .../DateField_Property_ToolTip_2_spark.png      |  Bin 1372 -> 1394 bytes
 .../baselines/DateField_Property_ToolTip_3.png  |  Bin 1334 -> 1330 bytes
 .../DateField_Property_ToolTip_3_spark.png      |  Bin 1450 -> 1453 bytes
 .../baselines/DateField_Property_ToolTip_4.png  |  Bin 1297 -> 1262 bytes
 .../DateField_Property_ToolTip_4_spark.png      |  Bin 1395 -> 1392 bytes
 .../baselines/DateField_Property_ToolTip_5.png  |  Bin 1355 -> 1329 bytes
 .../DateField_Property_ToolTip_5_spark.png      |  Bin 1372 -> 1394 bytes
 .../DateField_Property_disabledRanges1.png      |  Bin 8988 -> 8973 bytes
 ...DateField_Property_disabledRanges1_spark.png |  Bin 8758 -> 8760 bytes
 .../DateField_Property_disabledRanges2.png      |  Bin 8988 -> 8973 bytes
 ...DateField_Property_disabledRanges2_spark.png |  Bin 8758 -> 8760 bytes
 .../DateField_Property_displayedMonth1.png      |  Bin 8544 -> 8545 bytes
 ...DateField_Property_displayedMonth1_spark.png |  Bin 8232 -> 8231 bytes
 .../DateField_Property_displayedMonth2.png      |  Bin 8289 -> 8289 bytes
 ...DateField_Property_displayedMonth2_spark.png |  Bin 7984 -> 7986 bytes
 .../DateField_Property_displayedYear1.png       |  Bin 8289 -> 8289 bytes
 .../DateField_Property_displayedYear1_spark.png |  Bin 7984 -> 7986 bytes
 .../DateField_Property_displayedYear2.png       |  Bin 8289 -> 8289 bytes
 .../DateField_Property_displayedYear2_spark.png |  Bin 7984 -> 7986 bytes
 .../DateField_Property_firstDayOfWeek1.png      |  Bin 8927 -> 8912 bytes
 ...DateField_Property_firstDayOfWeek1_spark.png |  Bin 8706 -> 8706 bytes
 .../DateField_Property_firstDayOfWeek2.png      |  Bin 9027 -> 9011 bytes
 ...DateField_Property_firstDayOfWeek2_spark.png |  Bin 8742 -> 8738 bytes
 .../baselines/DateField_Property_height2.png    |  Bin 1061 -> 1041 bytes
 .../DateField_Property_height2_spark.png        |  Bin 1051 -> 1059 bytes
 .../DateField_Property_height_MXML.png          |  Bin 1061 -> 1041 bytes
 .../DateField_Property_height_MXML_spark.png    |  Bin 1051 -> 1059 bytes
 .../DateField_Property_height_Small.png         |  Bin 821 -> 803 bytes
 .../DateField_Property_height_Small_spark.png   |  Bin 772 -> 774 bytes
 .../DateField_Property_percentHeight2.png       |  Bin 1158 -> 1133 bytes
 .../DateField_Property_percentHeight2_spark.png |  Bin 1160 -> 1166 bytes
 .../DateField_Property_percentHeight_MXML.png   |  Bin 1158 -> 1133 bytes
 ...eField_Property_percentHeight_MXML_spark.png |  Bin 1160 -> 1166 bytes
 .../DateField_Property_percentHeight_Small.png  |  Bin 999 -> 979 bytes
 ...Field_Property_percentHeight_Small_spark.png |  Bin 982 -> 987 bytes
 .../baselines/DateField_Property_scaleX1.png    |  Bin 9325 -> 9334 bytes
 .../DateField_Property_scaleX1_spark.png        |  Bin 9172 -> 9175 bytes
 .../baselines/DateField_Property_scaleX2.png    |  Bin 9568 -> 9676 bytes
 .../DateField_Property_scaleX2_spark.png        |  Bin 9370 -> 9347 bytes
 .../baselines/DateField_Property_scaleY1.png    |  Bin 11060 -> 11053 bytes
 .../DateField_Property_scaleY1_spark.png        |  Bin 10672 -> 10669 bytes
 .../baselines/DateField_Property_scaleY2.png    |  Bin 9822 -> 9819 bytes
 .../DateField_Property_scaleY2_spark.png        |  Bin 9717 -> 9715 bytes
 .../DateField_Property_selectedDate1.png        |  Bin 8906 -> 8892 bytes
 .../DateField_Property_selectedDate1_spark.png  |  Bin 8644 -> 8649 bytes
 .../DateField_Property_selectedDate2.png        |  Bin 8906 -> 8892 bytes
 .../DateField_Property_selectedDate2_spark.png  |  Bin 8644 -> 8649 bytes
 .../baselines/DateField_Property_showToday1.png |  Bin 8906 -> 8892 bytes
 .../DateField_Property_showToday1_spark.png     |  Bin 8644 -> 8649 bytes
 .../baselines/DateField_Property_showToday2.png |  Bin 8906 -> 8892 bytes
 .../DateField_Property_showToday2_spark.png     |  Bin 8644 -> 8649 bytes
 .../baselines/DateField_Property_x1.png         |  Bin 9054 -> 9017 bytes
 .../baselines/DateField_Property_x1_spark.png   |  Bin 8737 -> 8766 bytes
 .../baselines/DateField_Property_x2.png         |  Bin 8873 -> 8854 bytes
 .../baselines/DateField_Property_x2_spark.png   |  Bin 8649 -> 8649 bytes
 .../baselines/DateField_Property_y1.png         |  Bin 9522 -> 9511 bytes
 .../baselines/DateField_Property_y1_spark.png   |  Bin 8875 -> 8872 bytes
 .../baselines/DateField_Property_y2.png         |  Bin 9200 -> 9196 bytes
 .../baselines/DateField_Property_y2_spark.png   |  Bin 7643 -> 7639 bytes
 .../baselines/DateField_disabledDays1.png       |  Bin 9294 -> 9279 bytes
 .../baselines/DateField_disabledDays1_spark.png |  Bin 9326 -> 9329 bytes
 .../baselines/DateField_disabledDays2.png       |  Bin 9239 -> 9225 bytes
 .../baselines/DateField_disabledDays2_spark.png |  Bin 9207 -> 9209 bytes
 .../DateField_yearNavigationEnabled1.png        |  Bin 8785 -> 8772 bytes
 .../DateField_yearNavigationEnabled1_spark.png  |  Bin 8738 -> 8738 bytes
 .../DateField_yearNavigationEnabled2.png        |  Bin 8785 -> 8772 bytes
 .../DateField_yearNavigationEnabled2_spark.png  |  Bin 8738 -> 8738 bytes
 .../swfs/DateField_Mirroring_Basic.mxml         |    8 +-
 .../DateField/swfs/components/myCustomDF.mxml   |    2 +-
 .../LinkButton/swfs/LinkButton_spark_main.mxml  |    2 +-
 .../List/Styles/ListStyleListBaseTester.mxml    |    9 +
 .../Styles/ListStyleListBaseTester_spark.mxml   |    9 +
 .../ListStyleScrollControlBaseTester_spark.mxml |    2 +-
 .../Baselines/OLAPDatGrid_ColumnAxis.png        |  Bin 0 -> 10726 bytes
 .../Baselines/OLAPDatGrid_ColumnAxis_All.png    |  Bin 0 -> 10726 bytes
 .../Baselines/OLAPDatGrid_RowAxis.png           |  Bin 0 -> 8663 bytes
 .../Baselines/OLAPDatGrid_RowAxis_All.png       |  Bin 0 -> 8663 bytes
 .../CheckInSuite/OLAPDatGrid_CheckInSuite.mxml  |   88 +
 .../OLAPDataGrid/SWFs/CustomAvarage.as          |   72 +
 .../components/OLAPDataGrid/SWFs/CustomODG.mxml |  143 +
 .../OLAPDataGrid/SWFs/CustomOlapDataGrid.mxml   |   92 +
 .../components/OLAPDataGrid/SWFs/DataIntro.as   |   83 +
 .../components/OLAPDataGrid/SWFs/ODGMain.mxml   |   59 +
 .../containers/tabnavigator/SWFs/TNComp3.mxml   |    0
 .../containers/tabnavigator/SWFs/TNComp4.mxml   |    2 +-
 .../Properties/CallOutButton_Basic.mxml         |  564 ++++
 .../baselines/calloutbutton_afterAfter.png      |  Bin 0 -> 38183 bytes
 .../baselines/calloutbutton_afterAuto.png       |  Bin 0 -> 37281 bytes
 .../baselines/calloutbutton_afterBefore.png     |  Bin 0 -> 38316 bytes
 .../baselines/calloutbutton_afterEnd.png        |  Bin 0 -> 37535 bytes
 .../baselines/calloutbutton_afterMiddle.png     |  Bin 0 -> 37718 bytes
 .../baselines/calloutbutton_afterStart.png      |  Bin 0 -> 37075 bytes
 .../baselines/calloutbutton_autoAfter.png       |  Bin 0 -> 37907 bytes
 .../baselines/calloutbutton_autoAuto.png        |  Bin 0 -> 38777 bytes
 .../baselines/calloutbutton_autoBefore.png      |  Bin 0 -> 39023 bytes
 .../baselines/calloutbutton_autoEnd.png         |  Bin 0 -> 37898 bytes
 .../baselines/calloutbutton_autoMiddle.png      |  Bin 0 -> 38129 bytes
 .../baselines/calloutbutton_autoStart.png       |  Bin 0 -> 37190 bytes
 .../baselines/calloutbutton_beforeAfter.png     |  Bin 0 -> 38714 bytes
 .../baselines/calloutbutton_beforeAuto.png      |  Bin 0 -> 38615 bytes
 .../baselines/calloutbutton_beforeBefore.png    |  Bin 0 -> 40057 bytes
 .../baselines/calloutbutton_beforeEnd.png       |  Bin 0 -> 38917 bytes
 .../baselines/calloutbutton_beforeMiddle.png    |  Bin 0 -> 38824 bytes
 .../baselines/calloutbutton_beforeStart.png     |  Bin 0 -> 38029 bytes
 .../baselines/calloutbutton_click.png           |  Bin 0 -> 37180 bytes
 .../baselines/calloutbutton_endAfter.png        |  Bin 0 -> 38438 bytes
 .../baselines/calloutbutton_endAuto.png         |  Bin 0 -> 39112 bytes
 .../baselines/calloutbutton_endBefore.png       |  Bin 0 -> 39516 bytes
 .../baselines/calloutbutton_endEnd.png          |  Bin 0 -> 38635 bytes
 .../baselines/calloutbutton_endMiddle.png       |  Bin 0 -> 38287 bytes
 .../baselines/calloutbutton_endStart.png        |  Bin 0 -> 37973 bytes
 .../baselines/calloutbutton_middleAfter.png     |  Bin 0 -> 39127 bytes
 .../baselines/calloutbutton_middleAuto.png      |  Bin 0 -> 39812 bytes
 .../baselines/calloutbutton_middleBefore.png    |  Bin 0 -> 40387 bytes
 .../baselines/calloutbutton_middleEnd.png       |  Bin 0 -> 40878 bytes
 .../baselines/calloutbutton_middleMiddle.png    |  Bin 0 -> 39428 bytes
 .../baselines/calloutbutton_middleStart.png     |  Bin 0 -> 39245 bytes
 .../Properties/baselines/calloutbutton_over.png |  Bin 0 -> 36768 bytes
 .../baselines/calloutbutton_startAfter.png      |  Bin 0 -> 39727 bytes
 .../baselines/calloutbutton_startAuto.png       |  Bin 0 -> 40486 bytes
 .../baselines/calloutbutton_startBefore.png     |  Bin 0 -> 40440 bytes
 .../baselines/calloutbutton_startEnd.png        |  Bin 0 -> 39778 bytes
 .../baselines/calloutbutton_startMiddle.png     |  Bin 0 -> 39370 bytes
 .../baselines/calloutbutton_startStart.png      |  Bin 0 -> 38791 bytes
 .../CallOutButton/SWFs/CallOutButton_Main.mxml  |  269 ++
 .../CallOutButton/SWFs/assets/help.png          |  Bin 0 -> 3081 bytes
 .../FCK/integration/FCK_Integration_main.mxml   |   12 +-
 .../baselines/FCK_integration_skin_down.png.xml |  468 +++
 .../baselines/FCK_integration_skin_over.png.xml |  468 +++
 .../baselines/FCK_integration_skin_up.png.xml   |  468 +++
 ...order_Properties_borderStroke_RGS4_1.png.xml |  429 +++
 ...order_Properties_borderStroke_RGS4_2.png.xml |  429 +++
 .../Border/Properties/Border_Properties.mxml    |    4 +-
 .../FxButton_Style_baseColor_disabled.png.xml   |  184 ++
 .../baselines/button_icon_as_childTag.png       |  Bin 1772 -> 2166 bytes
 .../baselines/button_icon_chromeColor_down.png  |  Bin 981 -> 1375 bytes
 .../baselines/button_icon_chromeColor_up.png    |  Bin 1097 -> 1477 bytes
 .../button_icon_with_chromeColor_disabled.png   |  Bin 860 -> 661 bytes
 ...ton_icon_with_label_chromeColor_disabled.png |  Bin 1305 -> 1108 bytes
 .../button_icon_with_label_chromeColor_down.png |  Bin 1342 -> 1743 bytes
 .../button_icon_with_label_chromeColor_up.png   |  Bin 1600 -> 1976 bytes
 .../Button/swfs/Flex4_Button_main.mxml          |    7 +-
 .../containerIntegration_panel_test5.png        |  Bin
 .../containerIntegration_popup_test6.png        |  Bin
 .../Events/DataGrid_Events_basic01.mxml         |   33 +-
 .../Baselines/complex_dataField_sort_test.png   |  Bin 16460 -> 16422 bytes
 .../Baselines/dataFormatter_test.png            |  Bin 15828 -> 15788 bytes
 .../Baselines/invalidateCell_dataIconChange.png |  Bin 23309 -> 23338 bytes
 .../Baselines/invalidateCell_rendererChange.png |  Bin 23147 -> 23176 bytes
 ...mRendererFunction_differentRenderer_test.png |  Bin 18344 -> 18303 bytes
 ..._differentRenderer_test_checkBoxRenderer.png |  Bin 18640 -> 18600 bytes
 ..._differentRenderer_test_dropListRenderer.png |  Bin 18548 -> 18506 bytes
 ...ion_differentRenderer_test_labelRenderer.png |  Bin 7952 -> 7909 bytes
 .../Baselines/itemRenderer_update_test.png      |  Bin 18344 -> 18303 bytes
 ...temRenderer_update_test_checkBoxRenderer.png |  Bin 18422 -> 18382 bytes
 ...temRenderer_update_test_dropListRenderer.png |  Bin 18344 -> 18303 bytes
 .../itemRenderer_update_test_labelRenderer.png  |  Bin 8035 -> 7992 bytes
 .../Baselines/labelFunction_test.png            |  Bin 23214 -> 23170 bytes
 .../Baselines/requestedRCs_Neg1_test001.png     |  Bin 11786 -> 11458 bytes
 .../sparkSort_arrayList_test001_firstName.png   |  Bin 11281 -> 11233 bytes
 .../sparkSort_arrayList_test001_lastName.png    |  Bin 11708 -> 11660 bytes
 .../typicalItem_setter_noData_test001.png       |  Bin 219 -> 219 bytes
 ..._setter_smallWidth_test001_notypicalItem.png |  Bin 11786 -> 11458 bytes
 ...ypicalItem_winOver_RequestRCNeg1_test001.png |  Bin 10384 -> 8945 bytes
 ...Over_RequestRCNeg1_test002_noTypicalItem.png |  Bin 11786 -> 11458 bytes
 .../typicalItem_winOver_RequestRC_test001.png   |  Bin 2199 -> 2267 bytes
 .../Interaction/DataGrid_keys_basic03.mxml      | 1255 ++++----
 .../CHG_invisibleColumn_test001_c1invisible.png |  Bin 3261 -> 3207 bytes
 .../CHG_invisibleColumn_test001_c1visible.png   |  Bin 5889 -> 5887 bytes
 .../CHG_invisibleColumn_test002_c1invisible.png |  Bin 5093 -> 3735 bytes
 ..._LRC_changeLockedRowCountRunTime_vScroll.png |  Bin 0 -> 8380 bytes
 ...id_Properties_LRC_customLockedSeparators.png |  Bin 0 -> 9107 bytes
 .../DataGrid_Properties_LRC_defaultGet.png      |  Bin 0 -> 8240 bytes
 ...es_LRC_keyboardSelectAll_fromTopGridView.png |  Bin 0 -> 8734 bytes
 ...id_Properties_LRC_lockedPropertyStates_1.png |  Bin 0 -> 8047 bytes
 ...id_Properties_LRC_lockedPropertyStates_2.png |  Bin 0 -> 8047 bytes
 ...id_Properties_LRC_lockedPropertyStates_3.png |  Bin 0 -> 8047 bytes
 ...C_lockedPropertyStates_dataChangeRuntime.png |  Bin 0 -> 8390 bytes
 ...ckedPropertyStates_lockedChangeRuntime_1.png |  Bin 0 -> 8237 bytes
 ...ckedPropertyStates_lockedChangeRuntime_2.png |  Bin 0 -> 8237 bytes
 ...ckedPropertyStates_lockedChangeRuntime_3.png |  Bin 0 -> 8237 bytes
 .../DataGrid_Properties_LRC_mirroringBasic.png  |  Bin 0 -> 8334 bytes
 ...ies_LRC_singleLockedRowSelection_vScroll.png |  Bin 0 -> 9311 bytes
 ...erties_LRC_topGridViewLockedCellTextEdit.png |  Bin 0 -> 9025 bytes
 .../DataGrid_Properties_col1VisibleFalse_1.png  |  Bin 14903 -> 13328 bytes
 ...DataGrid_Properties_col1col2VisibleFalse.png |  Bin 13291 -> 10848 bytes
 ..._Properties_customSkin_selectionLayerTop.png |  Bin 7138 -> 6865 bytes
 ...erties_default_typItem_columnsAtRuntime1.png |  Bin 2148 -> 2104 bytes
 .../DataGrid_Properties_gridIR_default.png      |  Bin 6031 -> 5689 bytes
 .../DataGrid_Properties_gridIR_typItem.png      |  Bin 7827 -> 7490 bytes
 .../DataGrid_Properties_preInit_misc.png        |  Bin 4825 -> 4585 bytes
 .../DataGrid_Properties_preInit_misc2.png       |  Bin 4825 -> 4585 bytes
 ...aGrid_Properties_preInit_setSelectedCell.png |  Bin 5037 -> 4787 bytes
 ...Grid_Properties_preInit_setSelectedCells.png |  Bin 5684 -> 5443 bytes
 ...Grid_Properties_preInit_setSelectedIndex.png |  Bin 5425 -> 5186 bytes
 ...id_Properties_preInit_setSelectedIndices.png |  Bin 5589 -> 5308 bytes
 .../DataGrid_Properties_stateColumn_1.png       |  Bin 13967 -> 13932 bytes
 ...ies_typicalItem_changedAtRuntimeExpWidth.png |  Bin 15997 -> 16027 bytes
 ...Properties_typicalItem_reqRowCol_default.png |  Bin 4689 -> 4623 bytes
 .../Editable_focusIn_multiline_test.png         |  Bin 4990 -> 0 bytes
 .../Editable_focusIn_multiline_test_1.png       |  Bin 0 -> 4988 bytes
 .../Editable_focusIn_multiline_test_2.png       |  Bin 0 -> 4983 bytes
 .../Editable_multiline_true_explicit_test.png   |  Bin 19218 -> 19269 bytes
 .../Editable_startEditMode_Tabbing.png          |  Bin 13397 -> 13557 bytes
 .../Baselines/Editable_style_test_green.png     |  Bin 10995 -> 11043 bytes
 .../Baselines/Editable_style_test_red.png       |  Bin 11276 -> 11321 bytes
 .../Editable_variableRowHeight_large.png        |  Bin 2513 -> 2521 bytes
 .../Editable_variableRowHeight_small.png        |  Bin 708 -> 719 bytes
 .../Baselines/Mirroring_rtl_editor_test1.png    |  Bin 16787 -> 16885 bytes
 .../Properties_dataProvider_XMLLC01.png         |  Bin 25463 -> 25413 bytes
 .../Properties_dataProvider_XMLLC04.png         |  Bin 25603 -> 25559 bytes
 .../Properties_dataProvider_XMLLC05.png         |  Bin 26446 -> 26396 bytes
 .../Properties_dataProvider_XMLLC06.png         |  Bin 26699 -> 26651 bytes
 ...ties_dataProvider_XMLLC07_afterColumnChg.png |  Bin 26306 -> 26260 bytes
 .../Properties_dataProvider_XMLLC10.png         |  Bin 27164 -> 27124 bytes
 .../Properties_dataProvider_XMLLC11.png         |  Bin 25481 -> 25434 bytes
 .../Properties_dataProvider_XMLLC12.png         |  Bin 25481 -> 25434 bytes
 .../Properties_dataProvider_XMLLC13.png         |  Bin 25706 -> 25660 bytes
 .../Properties_dataProvider_XMLLC14.png         |  Bin 25706 -> 25660 bytes
 .../Sort_Columns_test001_ascending.png          |  Bin 13143 -> 13095 bytes
 .../Sort_Columns_test001_descending.png         |  Bin 13081 -> 13032 bytes
 .../Baselines/Sort_Columns_test002_replace.png  |  Bin 13330 -> 13265 bytes
 .../Baselines/Sort_Columns_test002_update.png   |  Bin 12710 -> 12646 bytes
 .../Baselines/Sort_dataProvider_test001.png     |  Bin 21795 -> 21834 bytes
 .../Sort_dataProvider_test001_reverse.png       |  Bin 21646 -> 21687 bytes
 .../Sort_onColumns_test001_ascending.png        |  Bin 17895 -> 17923 bytes
 .../Sort_onColumns_test001_descending.png       |  Bin 17483 -> 17512 bytes
 .../Sort_sortByColumns_sortInvalidUpdated.png   |  Bin 29918 -> 29957 bytes
 .../Sort_sortByColumns_sortUpdated.png          |  Bin 29790 -> 29896 bytes
 .../Baselines/Sort_sortIndicator_test001.png    |  Bin 2672 -> 2739 bytes
 .../Baselines/Sort_sortIndicator_test001_2.png  |  Bin 2972 -> 3155 bytes
 .../column_withRenderer_test001_lastPage.png    |  Bin 25123 -> 25117 bytes
 .../column_withRenderer_test001_page1.png       |  Bin 25123 -> 25117 bytes
 .../Baselines/dataProvider_nodata_test5.png     |  Bin 10459 -> 7371 bytes
 .../dataProvider_scrollbar_test1_scrollBar.png  |  Bin 16974 -> 16926 bytes
 .../dataProvider_scrollbar_test3_scrollBar.png  |  Bin 22805 -> 22751 bytes
 .../key_navigation_on_ComboBoxEditor_index2.png |  Bin 4382 -> 4382 bytes
 .../key_navigation_on_ComboBoxEditor_index3.png |  Bin 4663 -> 4662 bytes
 .../Baselines/key_tabbing_navigation.png        |  Bin 4241 -> 4233 bytes
 .../DataGrid_Properties_colResize.mxml          |  212 +-
 .../DataGrid_Properties_editable.mxml           |  398 +--
 .../DataGrid_Properties_lockedRC.mxml           |  229 +-
 .../DataGrid_Properties_sortable.mxml           |  244 +-
 .../Properties/DataGrid_Properties_visible.mxml |   38 +-
 .../DataGrid_dataProvider_test002.mxml          |   33 +-
 .../DataGrid/SWFs/DataGrid_LockedRC.mxml        |   16 +-
 .../DataGrid/SWFs/DataGrid_basic_001.mxml       |   16 +-
 .../DataGrid/SWFs/DataGrid_itemEditor.compile   |    1 +
 .../DataGrid/SWFs/DataGrid_itemEditor.mxml      |    2 +-
 .../skins/CustomDataGridLargeGridLinesSkin.mxml |  130 +-
 .../CustomDataGridLiveScrollingFalseSkin.mxml   |  132 +-
 .../skins/CustomDataGridNoGridLinesSkin.mxml    |  134 +-
 .../skins/CustomDataGridselLyrTopSkin.mxml      |  132 +-
 .../components/DataGrid_Custom_lockedRC.mxml    |    9 +-
 .../SWFs/components/DataGrid_editable_size.mxml |    4 +-
 .../rowBackground_AlternatingRowColor_test.png  |  Bin 9824 -> 9753 bytes
 ...Background_addRemoveRow_test_addFirstRow.png |  Bin 8556 -> 8473 bytes
 ...kground_addRemoveRow_test_removeFirstRow.png |  Bin 6590 -> 6513 bytes
 .../Baselines/rowBackground_getsetter_test.png  |  Bin 8188 -> 8112 bytes
 .../Baselines/rowBackground_property_test.png   |  Bin 8054 -> 7976 bytes
 .../rowBackground_skin_rowChange_test.png       |  Bin 5260 -> 5206 bytes
 ...rowBackground_skin_rowChange_test_addRow.png |  Bin 8752 -> 8677 bytes
 .../Baselines/rowBackground_skin_test.png       |  Bin 7886 -> 7826 bytes
 .../Baselines/rowBackground_update_test.png     |  Bin 9146 -> 9130 bytes
 .../style_borderAlpha_test001_zero.png          |  Bin 14323 -> 14291 bytes
 .../style_borderAlpha_test002_half.png          |  Bin 14375 -> 14357 bytes
 .../style_borderVisible_test001_hide.png        |  Bin 14341 -> 14309 bytes
 .../style_direction_locale_IR_test001.png       |  Bin 12779 -> 12740 bytes
 .../style_direction_locale_IR_test002.png       |  Bin 12988 -> 12911 bytes
 .../Styles/Baselines/style_others_test.png      |  Bin 7109 -> 7057 bytes
 .../Baselines/style_symbolColor_editor.png      |  Bin 1043 -> 1052 bytes
 .../Baselines/style_textAlign_test_start.png    |  Bin 7117 -> 7064 bytes
 .../DataGrid/Styles/DataGrid_Styles_basic.mxml  |   13 +-
 ...tField_integration_mxColorPicker_tester.mxml |   40 +-
 .../Integration/baselines/FTE_mxColorPicker.png |  Bin 2995 -> 3302 bytes
 .../baselines/FTE_mxColorPicker_color_red.png   |  Bin 2917 -> 3299 bytes
 .../FTE_mxColorPicker_color_red_truncating.png  |  Bin 2917 -> 3299 bytes
 .../baselines/FTE_mxColorPicker_disabled.png    |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_disabledColor_green.png   |  Bin 2995 -> 3302 bytes
 .../baselines/FTE_mxColorPicker_fontSize.png    |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_fontStyle_italic.png      |  Bin 2779 -> 3105 bytes
 .../baselines/FTE_mxColorPicker_fontWeight.png  |  Bin 3046 -> 3361 bytes
 .../FTE_mxColorPicker_kerning_false.png         |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_kerning_true.png          |  Bin 2995 -> 3302 bytes
 .../baselines/FTE_mxColorPicker_leading.png     |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_letterSpacing.png         |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_textAlign_center.png      |  Bin 2999 -> 3313 bytes
 .../FTE_mxColorPicker_textAlign_end.png         |  Bin 3005 -> 3312 bytes
 .../FTE_mxColorPicker_textAlign_end2.png        |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_textAlign_left.png        |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_textAlign_right.png       |  Bin 3005 -> 3312 bytes
 .../FTE_mxColorPicker_textAlign_start.png       |  Bin 2995 -> 3302 bytes
 .../FTE_mxColorPicker_textAlign_start2.png      |  Bin 3005 -> 3312 bytes
 .../baselines/FTE_mxColorPicker_textIndent.png  |  Bin 2996 -> 3306 bytes
 .../Integration/baselines/FTE_mxDateField.png   |  Bin 1243 -> 1244 bytes
 .../baselines/FTE_mxDateField_color_red.png     |  Bin 1152 -> 1151 bytes
 .../baselines/FTE_mxDateField_fontSize.png      |  Bin 1811 -> 1807 bytes
 .../FTE_mxDateField_fontStyle_italic.png        |  Bin 1216 -> 1213 bytes
 .../baselines/FTE_mxDateField_fontWeight.png    |  Bin 1298 -> 1302 bytes
 .../baselines/FTE_mxDateField_fontWeight2.png   |  Bin 1243 -> 1244 bytes
 .../baselines/FTE_mxDateField_kerning_false.png |  Bin 1243 -> 1244 bytes
 .../baselines/FTE_mxDateField_kerning_true.png  |  Bin 1243 -> 1244 bytes
 .../baselines/FTE_mxDateField_leading.png       |  Bin 1243 -> 1244 bytes
 .../baselines/FTE_mxDateField_letterSpacing.png |  Bin 1285 -> 1290 bytes
 .../Grid/SWFs/components/customGrid.mxml        |   13 +-
 .../SWFs/components/customGrid_TypItem.mxml     |   11 +
 .../customGrid_TypItem_ReqRowCol.mxml           |   11 +
 ..._Scale_stretch_smoothingQuality_high.png.xml |   95 +
 .../Integration/Label_Integration_tester1.mxml  |    0
 .../Integration/Label_Integration_tester2.mxml  |    0
 .../Integration/Label_Integration_tester3.mxml  |    0
 .../Label/Integration/Label_module_tester1.mxml |    0
 .../RichText_Integration_tester1.mxml           |    0
 .../RichText_Integration_tester2.mxml           |    0
 .../RichText_Integration_tester3.mxml           |    0
 .../change_label_in_ControlBar_test1.png        |  Bin
 .../baselines/change_label_in_Form_test1.png    |  Bin
 .../baselines/change_label_in_HBox_test1.png    |  Bin
 .../change_richText_in_ControlBar_test1.png     |  Bin
 .../baselines/change_richText_in_Form_test1.png |  Bin
 .../baselines/change_richText_in_HBox_test1.png |  Bin
 .../create_label_in_ControlBar_test1.png        |  Bin
 .../baselines/create_label_in_Form_test1.png    |  Bin
 .../create_richText_in_ControlBar_test1.png     |  Bin
 .../baselines/create_richText_in_Form_test1.png |  Bin
 .../create_richText_in_Popup_test3.png          |  Bin
 .../baselines/label_in_ControlBar_test1.png     |  Bin
 .../baselines/label_in_Form_test1.png           |  Bin
 .../baselines/label_in_HBox_test1.png           |  Bin
 .../baselines/label_in_mxApp_test1.png          |  Bin
 .../baselines/richText_in_ControlBar_test1.png  |  Bin
 .../baselines/richText_in_Form_test1.png        |  Bin
 .../baselines/richText_in_HBox_test1.png        |  Bin
 .../baselines/richText_in_mxApp_test1.png       |  Bin
 .../baselines/set_richText_in_Popup_test1.png   |  Bin
 .../update_richText_in_Popup_test2.png          |  Bin
 .../Properties/Label_Properties_tester1.mxml    |    0
 .../Properties/Label_RichText_tester1.mxml      |    0
 .../Properties/Label_properties_tester2.mxml    |    0
 .../baselines/Label_height_positive.png         |  Bin
 .../Properties/baselines/Label_height_zero.png  |  Bin
 .../Properties/baselines/Label_multiLine.png    |  Bin
 .../baselines/Label_multiLine_truncation-1.png  |  Bin
 ...Label_multiLine_truncation-1_defaultSize.png |  Bin
 .../baselines/Label_multiLine_truncation1.png   |  Bin
 .../Label_multiLine_truncation1_defaultSize.png |  Bin
 .../baselines/Label_multiLine_truncation2.png   |  Bin
 .../Label_multiLine_truncation2_defaultSize.png |  Bin
 .../Label_multiLine_truncation_default.png      |  Bin
 ...multiLine_truncation_default_defaultSize.png |  Bin
 .../Properties/baselines/Label_singleLine.png   |  Bin
 .../baselines/Label_singleLine_truncation-1.png |  Bin
 ...abel_singleLine_truncation-1_defaultSize.png |  Bin
 .../baselines/Label_singleLine_truncation1.png  |  Bin
 ...Label_singleLine_truncation1_defaultSize.png |  Bin
 .../baselines/Label_singleLine_truncation2.png  |  Bin
 ...Label_singleLine_truncation2_defaultSize.png |  Bin
 .../Label_singleLine_truncation_default.png     |  Bin
 ...ingleLine_truncation_default_defaultSize.png |  Bin
 .../baselines/Label_styleName_bigRed_post.png   |  Bin
 .../baselines/Label_styleName_bigRed_pre.png    |  Bin
 .../baselines/Label_width_positive.png          |  Bin
 .../Properties/baselines/Label_width_zero.png   |  Bin
 .../Properties/baselines/Label_x_negative.png   |  Bin
 .../Properties/baselines/Label_x_positive.png   |  Bin
 .../Label/Properties/baselines/Label_x_zero.png |  Bin
 .../Properties/baselines/Label_y_negative.png   |  Bin
 .../Properties/baselines/Label_y_positive.png   |  Bin
 .../Label/Properties/baselines/Label_y_zero.png |  Bin
 .../baselines/baseline2_property_Label.png      |  Bin
 .../baselines/baseline_property_Label.png       |  Bin
 .../baselines/bottom_25_property_Label.png      |  Bin
 .../baselines/height_18_property_Label.png      |  Bin
 .../baselines/height_26_property_Label.png      |  Bin
 .../baselines/height_30_property_Label.png      |  Bin
 .../baselines/height_50_property_Label.png      |  Bin
 .../horizontalCenter_property_Label.png         |  Bin
 .../baselines/left_50_property_Label.png        |  Bin
 .../baselines/maxHeight_10_property_Label.png   |  Bin
 .../maxHeight_26point5_property_Label.png       |  Bin
 .../baselines/maxHeight_50_property_Label.png   |  Bin
 .../baselines/maxWidth_15_property_Label.png    |  Bin
 .../baselines/maxWidth_24_property_Label.png    |  Bin
 .../maxWidth_26point5_property_Label.png        |  Bin
 .../baselines/minHeight_25_property_Label.png   |  Bin
 .../minHeight_26point5_property_Label.png       |  Bin
 .../baselines/minHeight_50_property_Label.png   |  Bin
 .../baselines/minWidth_100_property_Label.png   |  Bin
 .../minWidth_26point5_property_Label.png        |  Bin
 .../baselines/minWidth_50_property_Label.png    |  Bin
 .../percentHeight_100_property_Label.png        |  Bin
 .../percentHeight_26point5_property_Label.png   |  Bin
 .../percentHeight_60_property_Label.png         |  Bin
 .../percentWidth_100_property_Label.png         |  Bin
 .../percentWidth_26point5_property_Label.png    |  Bin
 .../percentWidth_50_property_Label.png          |  Bin
 .../baselines/position_constraints_Label.png    |  Bin
 .../baselines/right_50_property_Label.png       |  Bin
 .../baselines/scaleX_2_property_Label.png       |  Bin
 .../baselines/scaleX_3_property_Label.png       |  Bin
 .../scaleX_point565_property_Label.png          |  Bin
 .../baselines/scaleY_2_property_Label.png       |  Bin
 .../baselines/scaleY_3_property_Label.png       |  Bin
 .../scaleY_point565_property_Label.png          |  Bin
 .../text_ellipsis_long_property_Label.png       |  Bin
 .../Label/Properties/baselines/text_german.png  |  Bin
 .../Label/Properties/baselines/text_long.png    |  Bin
 .../baselines/text_long_property_Label.png      |  Bin
 .../baselines/text_property_Label.png           |  Bin
 .../baselines/top_25_property_Label.png         |  Bin
 .../baselines/verticalCenter_property_Label.png |  Bin
 .../visible_default_property_of_Label.png       |  Bin
 .../visible_false_property_of_Label.png         |  Bin
 .../visible_true_property_of_Label.png          |  Bin
 .../baselines/width_100_property_Label.png      |  Bin
 .../baselines/width_35_property_Label.png       |  Bin
 .../baselines/width_50_property_Label.png       |  Bin
 .../baselines/x_100_property_Label.png          |  Bin
 .../baselines/x_50_property_Label.png           |  Bin
 .../baselines/x_neg5point6_property_Label.png   |  Bin
 .../baselines/y_50_property_Label.png           |  Bin
 .../baselines/y_56_property_Label.png           |  Bin
 .../baselines/y_neg5point6_property_Label.png   |  Bin
 .../Label/Properties/data/ListDataAS.as         |    0
 .../components/Label/Properties/data/MyLabel.as |    0
 .../Label/SWFs/Label_Styles_basic.mxml          |    0
 .../components/Label/SWFs/Label_basic0.mxml     |    0
 .../components/Label/SWFs/Label_basic1.mxml     |    0
 .../components/Label/SWFs/Label_basic2.mxml     |    0
 .../components/Label/SWFs/Label_basic3.mxml     |    0
 .../components/Label/SWFs/Label_basic4.mxml     |    0
 .../components/Label/SWFs/Label_effect1.mxml    |    0
 .../components/Label/SWFs/Label_module1.mxml    |    0
 .../components/Label/SWFs/RichText_basic2.mxml  |    0
 .../components/Label/SWFs/assets/LabelSkin.mxml |    0
 .../components/Label/SWFs/assets/Olifant.png    |  Bin
 .../Label/SWFs/assets/testmodule.mxml           |    0
 .../Label/SWFs/comps/BitmapGraphicBasic.mxml    |    0
 .../components/Label/SWFs/comps/LabelBasic.mxml |    0
 .../Label/SWFs/comps/RichTextBasic.mxml         |    0
 .../Label/SWFs/comps/RichTextBasic2.mxml        |    0
 .../Label/SWFs/comps/TestTitleWindow.mxml       |    0
 .../Label/Styles/Label_GlobalStyles.mxml        |    0
 .../Label/Styles/Label_Styles_tester.mxml       |    0
 .../Label/Styles/Label_Styles_tester2.mxml      |    0
 ..._Label_RichText_alignmentBaseline_ascent.png |  Bin
 ...Label_RichText_alignmentBaseline_default.png |  Bin
 ...Label_RichText_alignmentBaseline_descent.png |  Bin
 ...Text_alignmentBaseline_ideographicBottom.png |  Bin
 ...Text_alignmentBaseline_ideographicCenter.png |  Bin
 ...ichText_alignmentBaseline_ideographicTop.png |  Bin
 ...e_Label_RichText_alignmentBaseline_roman.png |  Bin
 ...are_Label_RichText_baselineShift_default.png |  Bin
 ...mpare_Label_RichText_baselineShift_pos10.png |  Bin
 ...pare_Label_RichText_breakOpportunity_all.png |  Bin
 ...pare_Label_RichText_breakOpportunity_any.png |  Bin
 ..._Label_RichText_breakOpportunity_default.png |  Bin
 ...ompare_Label_RichText_cffHinting_default.png |  Bin
 .../Compare_Label_RichText_color_default.png    |  Bin
 ...Compare_Label_RichText_digitCase_default.png |  Bin
 ...ompare_Label_RichText_digitWidth_default.png |  Bin
 ...Compare_Label_RichText_direction_default.png |  Bin
 .../Compare_Label_RichText_direction_rtl.png    |  Bin
 ...e_Label_RichText_dominantBaseline_ascent.png |  Bin
 ..._Label_RichText_dominantBaseline_default.png |  Bin
 ...RichText_dominantBaseline_ideographicTop.png |  Bin
 ...ompare_Label_RichText_fontFamily_default.png |  Bin
 ...ompare_Label_RichText_fontLookup_default.png |  Bin
 .../Compare_Label_RichText_fontSize_default.png |  Bin
 ...bel_RichText_justificationRule_eastAsian.png |  Bin
 ...chText_justificationStyle_pushInKinsoku1.png |  Bin
 .../Compare_Label_RichText_kerning_auto.png     |  Bin
 .../Compare_Label_RichText_kerning_default.png  |  Bin
 .../Compare_Label_RichText_kerning_off.png      |  Bin
 ...are_Label_RichText_ligatureLevel_default.png |  Bin
 ...Compare_Label_RichText_lineBreak_default.png |  Bin
 ...ompare_Label_RichText_lineBreak_explicit.png |  Bin
 .../Compare_Label_RichText_lineHeight_40.png    |  Bin
 ...ompare_Label_RichText_lineHeight_default.png |  Bin
 .../Compare_Label_RichText_lineThrough_true.png |  Bin
 .../Compare_Label_RichText_paddingBottom_20.png |  Bin
 ...mpare_Label_RichText_paddingLeft_default.png |  Bin
 .../Compare_Label_RichText_paddingRight_20.png  |  Bin
 .../Compare_Label_RichText_paddingTop_70.png    |  Bin
 ...pare_Label_RichText_verticalAlign_bottom.png |  Bin
 ...are_Label_RichText_verticalAlign_justify.png |  Bin
 .../Label_DescendantClassSelector_halo.png      |  Bin
 .../Label_DescendantClassSelector_spark.png     |  Bin
 .../baselines/Label_DescendantSelector.png      |  Bin
 .../Label/Styles/baselines/Label_IDSelector.png |  Bin
 .../Label_alignmentBaseline_ascent.png          |  Bin
 .../Label_alignmentBaseline_default.png         |  Bin
 .../Label_alignmentBaseline_descent.png         |  Bin
 ...abel_alignmentBaseline_ideographicBottom.png |  Bin
 ...abel_alignmentBaseline_ideographicCenter.png |  Bin
 .../Label_alignmentBaseline_ideographicTop.png  |  Bin
 .../baselines/Label_alignmentBaseline_roman.png |  Bin
 ...el_alignmentBaseline_useDominantBaseline.png |  Bin
 .../baselines/Label_baselineShift_default.png   |  Bin
 .../baselines/Label_baselineShift_neg10.png     |  Bin
 .../baselines/Label_baselineShift_pos10.png     |  Bin
 .../baselines/Label_baselineShift_subscript.png |  Bin
 .../Label_baselineShift_superscript.png         |  Bin
 .../baselines/Label_cffHinting_default.png      |  Bin
 .../Label_cffHinting_horizontalStem.png         |  Bin
 .../Styles/baselines/Label_cffHinting_none.png  |  Bin
 .../Styles/baselines/Label_color_default.png    |  Bin
 .../Styles/baselines/Label_color_pound.png      |  Bin
 .../Label/Styles/baselines/Label_color_red.png  |  Bin
 .../baselines/Label_digitCase_default.png       |  Bin
 .../baselines/Label_digitCase_default2.png      |  Bin
 .../Styles/baselines/Label_digitCase_lining.png |  Bin
 .../baselines/Label_digitCase_oldStyle.png      |  Bin
 .../baselines/Label_digitWidth_default.png      |  Bin
 .../baselines/Label_digitWidth_default2.png     |  Bin
 .../baselines/Label_digitWidth_proportional.png |  Bin
 .../baselines/Label_digitWidth_tabular.png      |  Bin
 .../baselines/Label_direction_default.png       |  Bin
 .../Styles/baselines/Label_direction_ltr.png    |  Bin
 .../Styles/baselines/Label_direction_rtl.png    |  Bin
 .../baselines/Label_dominantBaseline_ascent.png |  Bin
 .../Label_dominantBaseline_default.png          |  Bin
 .../Label_dominantBaseline_descent.png          |  Bin
 ...Label_dominantBaseline_ideographicBottom.png |  Bin
 ...Label_dominantBaseline_ideographicCenter.png |  Bin
 .../Label_dominantBaseline_ideographicTop.png   |  Bin
 .../baselines/Label_dominantBaseline_roman.png  |  Bin
 .../baselines/Label_fontFamily_default.png      |  Bin
 .../baselines/Label_fontLookup_default.png      |  Bin
 .../Styles/baselines/Label_fontSize_10.png      |  Bin
 .../Styles/baselines/Label_fontSize_20.png      |  Bin
 .../Styles/baselines/Label_fontSize_decimal.png |  Bin
 .../Styles/baselines/Label_fontSize_default.png |  Bin
 .../baselines/Label_fontStyle_default.png       |  Bin
 .../Styles/baselines/Label_fontStyle_italic.png |  Bin
 .../Styles/baselines/Label_fontStyle_normal.png |  Bin
 .../baselines/Label_fontWeight_default.png      |  Bin
 .../baselines/Label_fontWeight_italic.png       |  Bin
 .../baselines/Label_fontWeight_normal.png       |  Bin
 .../Label_justificationRule_default.png         |  Bin
 .../Label_justificationRule_eastAsian.png       |  Bin
 .../baselines/Label_justificationRule_space.png |  Bin
 .../Label_justificationStyle_default.png        |  Bin
 ...ficationStyle_prioritizeLeastAdjustment1.png |  Bin
 ...ficationStyle_prioritizeLeastAdjustment2.png |  Bin
 .../Label_justificationStyle_pushInKinsoku1.png |  Bin
 .../Label_justificationStyle_pushInKinsoku2.png |  Bin
 .../Label_justificationStyle_pushOutOnly1.png   |  Bin
 .../Label_justificationStyle_pushOutOnly2.png   |  Bin
 .../Styles/baselines/Label_kerning_auto.png     |  Bin
 .../Styles/baselines/Label_kerning_default.png  |  Bin
 .../Styles/baselines/Label_kerning_off.png      |  Bin
 .../Label/Styles/baselines/Label_kerning_on.png |  Bin
 .../baselines/Label_ligatureLevel_common.png    |  Bin
 .../baselines/Label_ligatureLevel_default.png   |  Bin
 .../baselines/Label_ligatureLevel_exotic.png    |  Bin
 .../baselines/Label_ligatureLevel_minimum.png   |  Bin
 .../baselines/Label_ligatureLevel_none.png      |  Bin
 .../baselines/Label_ligatureLevel_uncommon.png  |  Bin
 .../baselines/Label_lineBreak_default.png       |  Bin
 .../baselines/Label_lineBreak_explicit.png      |  Bin
 .../baselines/Label_lineBreak_explicit_150.png  |  Bin
 .../Label_lineBreak_explicit_150_multi.png      |  Bin
 .../Styles/baselines/Label_lineBreak_toFit.png  |  Bin
 .../baselines/Label_lineBreak_toFit_150.png     |  Bin
 .../Label_lineBreak_toFit_150_multi.png         |  Bin
 .../Styles/baselines/Label_lineHeight_10.png    |  Bin
 .../baselines/Label_lineHeight_100pct.png       |  Bin
 .../Styles/baselines/Label_lineHeight_20.png    |  Bin
 .../baselines/Label_lineHeight_200pct.png       |  Bin
 .../Styles/baselines/Label_lineHeight_40.png    |  Bin
 .../Styles/baselines/Label_lineHeight_50pct.png |  Bin
 .../baselines/Label_lineHeight_default.png      |  Bin
 .../Styles/baselines/Label_lineHeight_null.png  |  Bin
 .../baselines/Label_lineThrough_default.png     |  Bin
 .../baselines/Label_lineThrough_false.png       |  Bin
 .../Styles/baselines/Label_lineThrough_null.png |  Bin
 .../Styles/baselines/Label_lineThrough_true.png |  Bin
 .../Styles/baselines/Label_locale_default.png   |  Bin
 .../Styles/baselines/Label_paddingBottom_20.png |  Bin
 .../Styles/baselines/Label_paddingBottom_70.png |  Bin
 .../Styles/baselines/Label_paddingBottom_72.png |  Bin
 .../baselines/Label_paddingBottom_default.png   |  Bin
 .../baselines/Label_paddingBottom_null.png      |  Bin
 .../Label_paddingBottom_vertAlignJustify_50.png |  Bin
 .../Label_paddingBottom_vertAlignJustify_70.png |  Bin
 .../Label_paddingBottom_vertAlignJustify_72.png |  Bin
 .../Styles/baselines/Label_paddingLeft_20.png   |  Bin
 .../Styles/baselines/Label_paddingLeft_50.png   |  Bin
 .../Styles/baselines/Label_paddingLeft_55.png   |  Bin
 .../baselines/Label_paddingLeft_default.png     |  Bin
 .../Styles/baselines/Label_paddingLeft_null.png |  Bin
 .../Styles/baselines/Label_paddingRight_20.png  |  Bin
 .../Styles/baselines/Label_paddingRight_50.png  |  Bin
 .../Styles/baselines/Label_paddingRight_55.png  |  Bin
 .../baselines/Label_paddingRight_default.png    |  Bin
 .../baselines/Label_paddingRight_null.png       |  Bin
 .../Styles/baselines/Label_paddingTop_20.png    |  Bin
 .../Styles/baselines/Label_paddingTop_70.png    |  Bin
 .../Styles/baselines/Label_paddingTop_72.png    |  Bin
 .../baselines/Label_paddingTop_default.png      |  Bin
 .../Styles/baselines/Label_paddingTop_null.png  |  Bin
 .../Label_paddingTop_vertAlignJustify_50.png    |  Bin
 .../Label_paddingTop_vertAlignJustify_70.png    |  Bin
 .../Label_paddingTop_vertAlignJustify_72.png    |  Bin
 .../baselines/Label_renderingMode_cff.png       |  Bin
 .../baselines/Label_renderingMode_default.png   |  Bin
 .../baselines/Label_renderingMode_normal.png    |  Bin
 .../baselines/Label_textAlignLast_center.png    |  Bin
 .../baselines/Label_textAlignLast_default.png   |  Bin
 .../baselines/Label_textAlignLast_end.png       |  Bin
 .../baselines/Label_textAlignLast_justify.png   |  Bin
 .../baselines/Label_textAlignLast_left.png      |  Bin
 .../baselines/Label_textAlignLast_right.png     |  Bin
 .../baselines/Label_textAlignLast_start.png     |  Bin
 .../Styles/baselines/Label_textAlign_center.png |  Bin
 .../baselines/Label_textAlign_default.png       |  Bin
 .../Styles/baselines/Label_textAlign_end.png    |  Bin
 .../baselines/Label_textAlign_justify.png       |  Bin
 .../Styles/baselines/Label_textAlign_left.png   |  Bin
 .../Styles/baselines/Label_textAlign_right.png  |  Bin
 .../Styles/baselines/Label_textAlign_start.png  |  Bin
 .../Styles/baselines/Label_textAlpha_0.png      |  Bin
 .../Styles/baselines/Label_textAlpha_05.png     |  Bin
 .../baselines/Label_textAlpha_default.png       |  Bin
 .../baselines/Label_textDecoration_default.png  |  Bin
 .../baselines/Label_textDecoration_none.png     |  Bin
 .../Label_textDecoration_underline.png          |  Bin
 .../baselines/Label_textIndent_default.png      |  Bin
 .../Label_textIndent_negWithDirection.png       |  Bin
 .../Label_textIndent_negWithMargin.png          |  Bin
 .../Styles/baselines/Label_textIndent_pos.png   |  Bin
 .../Label_textIndent_posWithDirection.png       |  Bin
 .../baselines/Label_textJustify_distribute.png  |  Bin
 .../baselines/Label_textJustify_interWord.png   |  Bin
 .../Label_text_multiLine_truncation-1.png       |  Bin
 ..._text_multiLine_truncation-1_defaultSize.png |  Bin
 .../Label_text_multiLine_truncation1.png        |  Bin
 ...l_text_multiLine_truncation1_defaultSize.png |  Bin
 .../Label_text_multiLine_truncation2.png        |  Bin
 ...l_text_multiLine_truncation2_defaultSize.png |  Bin
 .../Label_text_multiLine_truncation_default.png |  Bin
 ...multiLine_truncation_default_defaultSize.png |  Bin
 .../Label_text_singleLine_truncation-1.png      |  Bin
 ...text_singleLine_truncation-1_defaultSize.png |  Bin
 .../Label_text_singleLine_truncation1.png       |  Bin
 ..._text_singleLine_truncation1_defaultSize.png |  Bin
 .../Label_text_singleLine_truncation2.png       |  Bin
 ..._text_singleLine_truncation2_defaultSize.png |  Bin
 ...Label_text_singleLine_truncation_default.png |  Bin
 ...ingleLine_truncation_default_defaultSize.png |  Bin
 .../baselines/Label_trackingLeft_default.png    |  Bin
 .../Styles/baselines/Label_trackingLeft_neg.png |  Bin
 .../Label_trackingLeft_neg_percent.png          |  Bin
 .../Styles/baselines/Label_trackingLeft_pos.png |  Bin
 .../Label_trackingLeft_pos_percent.png          |  Bin
 .../baselines/Label_trackingRight_default.png   |  Bin
 .../baselines/Label_trackingRight_neg.png       |  Bin
 .../Label_trackingRight_neg_percent.png         |  Bin
 .../baselines/Label_trackingRight_pos.png       |  Bin
 .../Label_trackingRight_pos_percent.png         |  Bin
 .../Label/Styles/baselines/Label_tracking_0.png |  Bin
 .../Styles/baselines/Label_tracking_default.png |  Bin
 .../Styles/baselines/Label_tracking_neg.png     |  Bin
 .../Styles/baselines/Label_tracking_pos.png     |  Bin
 .../baselines/Label_typographicCase_caps.png    |  Bin
 .../Label_typographicCase_capsAndSmallCaps.png  |  Bin
 .../baselines/Label_typographicCase_default.png |  Bin
 .../Label_typographicCase_default2.png          |  Bin
 .../Label_typographicCase_lowercase.png         |  Bin
 .../Label_typographicCase_smallCaps.png         |  Bin
 .../baselines/Label_typographicCase_title.png   |  Bin
 .../Label_typographicCase_uppercase.png         |  Bin
 .../baselines/Label_verticalAlign_bottom.png    |  Bin
 .../baselines/Label_verticalAlign_default.png   |  Bin
 .../baselines/Label_verticalAlign_justify.png   |  Bin
 .../baselines/Label_verticalAlign_middle.png    |  Bin
 .../baselines/Label_verticalAlign_top.png       |  Bin
 .../Label_whiteSpaceCollapse_default.png        |  Bin
 .../RichText_alignmentBaseline_ascent.png       |  Bin
 .../RichText_alignmentBaseline_default.png      |  Bin
 .../RichText_alignmentBaseline_descent.png      |  Bin
 ...Text_alignmentBaseline_ideographicBottom.png |  Bin
 ...Text_alignmentBaseline_ideographicCenter.png |  Bin
 ...ichText_alignmentBaseline_ideographicTop.png |  Bin
 .../RichText_alignmentBaseline_roman.png        |  Bin
 ...xt_alignmentBaseline_useDominantBaseline.png |  Bin
 .../RichText_baselineShift_default.png          |  Bin
 .../baselines/RichText_baselineShift_neg10.png  |  Bin
 .../baselines/RichText_baselineShift_pos10.png  |  Bin
 .../RichText_baselineShift_subscript.png        |  Bin
 .../RichText_baselineShift_subscript_2.png      |  Bin
 .../RichText_baselineShift_subscript_3.png      |  Bin
 .../RichText_baselineShift_superscript.png      |  Bin
 .../RichText_blockProgression_default.png       |  Bin
 .../baselines/RichText_blockProgression_rl.png  |  Bin
 .../RichText_blockProgression_rl_2.png          |  Bin
 .../baselines/RichText_blockProgression_tb.png  |  Bin
 .../baselines/RichText_breakOpportunity_all.png |  Bin
 .../RichText_breakOpportunity_all_2.png         |  Bin
 .../RichText_breakOpportunity_all_3.png         |  Bin
 .../baselines/RichText_breakOpportunity_any.png |  Bin
 .../RichText_breakOpportunity_auto.png          |  Bin
 .../RichText_breakOpportunity_default.png       |  Bin
 .../RichText_breakOpportunity_none.png          |  Bin
 .../baselines/RichText_cffHinting_default.png   |  Bin
 .../RichText_cffHinting_horizontalStem.png      |  Bin
 .../baselines/RichText_cffHinting_none.png      |  Bin
 .../Styles/baselines/RichText_color_default.png |  Bin
 .../Styles/baselines/RichText_color_pound.png   |  Bin
 .../Styles/baselines/RichText_color_red.png     |  Bin
 .../Styles/baselines/RichText_columnCount_2.png |  Bin
 .../baselines/RichText_columnCount_2b.png       |  Bin
 .../RichText_columnCount_blockProgression.png   |  Bin
 .../RichText_columnCount_blockProgression2.png  |  Bin
 .../Styles/baselines/RichText_columnGap_10.png  |  Bin
 .../Styles/baselines/RichText_columnGap_40.png  |  Bin
 .../RichText_columnGap_blockProgression.png     |  Bin
 .../baselines/RichText_columnWidth_60.png       |  Bin
 .../RichText_columnWidth_blockProgression.png   |  Bin
 .../baselines/RichText_digitCase_default.png    |  Bin
 .../baselines/RichText_digitCase_default2.png   |  Bin
 .../baselines/RichText_digitCase_lining.png     |  Bin
 .../baselines/RichText_digitCase_oldStyle.png   |  Bin
 .../baselines/RichText_digitWidth_default.png   |  Bin
 .../baselines/RichText_digitWidth_default2.png  |  Bin
 .../RichText_digitWidth_proportional.png        |  Bin
 .../baselines/RichText_digitWidth_tabular.png   |  Bin
 .../baselines/RichText_direction_default.png    |  Bin
 .../Styles/baselines/RichText_direction_ltr.png |  Bin
 .../Styles/baselines/RichText_direction_rtl.png |  Bin
 .../RichText_dominantBaseline_ascent.png        |  Bin
 .../RichText_dominantBaseline_default.png       |  Bin
 .../RichText_dominantBaseline_descent.png       |  Bin
 ...hText_dominantBaseline_ideographicBottom.png |  Bin
 ...hText_dominantBaseline_ideographicCenter.png |  Bin
 ...RichText_dominantBaseline_ideographicTop.png |  Bin
 .../RichText_dominantBaseline_roman.png         |  Bin
 .../baselines/RichText_fontFamily_arial.png     |  Bin
 .../baselines/RichText_fontFamily_default.png   |  Bin
 .../baselines/RichText_fontLookup_default.png   |  Bin
 .../Styles/baselines/RichText_fontSize_10.png   |  Bin
 .../Styles/baselines/RichText_fontSize_20.png   |  Bin
 .../baselines/RichText_fontSize_decimal.png     |  Bin
 .../baselines/RichText_fontSize_default.png     |  Bin
 .../baselines/RichText_fontStyle_default.png    |  Bin
 .../baselines/RichText_fontStyle_italic.png     |  Bin
 .../baselines/RichText_fontStyle_italic_2.png   |  Bin
 .../baselines/RichText_fontStyle_italic_3.png   |  Bin
 .../baselines/RichText_fontStyle_normal.png     |  Bin
 .../baselines/RichText_fontWeight_bold.png      |  Bin
 .../baselines/RichText_fontWeight_bold_2.png    |  Bin
 .../baselines/RichText_fontWeight_bold_3.png    |  Bin
 .../baselines/RichText_fontWeight_default.png   |  Bin
 .../baselines/RichText_fontWeight_italic.png    |  Bin
 .../baselines/RichText_fontWeight_normal.png    |  Bin
 .../RichText_justificationRule_default.png      |  Bin
 .../RichText_justificationRule_eastAsian.png    |  Bin
 .../RichText_justificationRule_space.png        |  Bin
 .../RichText_justificationStyle_default.png     |  Bin
 ...ficationStyle_prioritizeLeastAdjustment1.png |  Bin
 ...ficationStyle_prioritizeLeastAdjustment2.png |  Bin
 ...chText_justificationStyle_pushInKinsoku1.png |  Bin
 ...chText_justificationStyle_pushInKinsoku2.png |  Bin
 ...RichText_justificationStyle_pushOutOnly1.png |  Bin
 ...RichText_justificationStyle_pushOutOnly2.png |  Bin
 .../Styles/baselines/RichText_kerning_auto.png  |  Bin
 .../baselines/RichText_kerning_default.png      |  Bin
 .../Styles/baselines/RichText_kerning_off.png   |  Bin
 .../Styles/baselines/RichText_kerning_on.png    |  Bin
 .../baselines/RichText_leadingBasis_ascent.png  |  Bin
 .../baselines/RichText_leadingBasis_auto.png    |  Bin
 .../baselines/RichText_leadingBasis_descent.png |  Bin
 .../baselines/RichText_leadingBasis_roman.png   |  Bin
 .../RichText_leadingDirection_auto.png          |  Bin
 .../RichText_leadingDirection_default.png       |  Bin
 .../RichText_leadingDirection_down.png          |  Bin
 .../baselines/RichText_leadingDirection_up.png  |  Bin
 .../baselines/RichText_ligatureLevel_common.png |  Bin
 .../RichText_ligatureLevel_default.png          |  Bin
 .../baselines/RichText_ligatureLevel_exotic.png |  Bin
 .../RichText_ligatureLevel_minimum.png          |  Bin
 .../baselines/RichText_ligatureLevel_none.png   |  Bin
 .../RichText_ligatureLevel_uncommon.png         |  Bin
 .../baselines/RichText_lineBreak_default.png    |  Bin
 .../baselines/RichText_lineBreak_explicit.png   |  Bin
 .../RichText_lineBreak_explicit_150.png         |  Bin
 .../RichText_lineBreak_explicit_150_multi.png   |  Bin
 .../baselines/RichText_lineBreak_toFit.png      |  Bin
 .../baselines/RichText_lineBreak_toFit_150.png  |  Bin
 .../RichText_lineBreak_toFit_150_multi.png      |  Bin
 .../Styles/baselines/RichText_lineHeight_10.png |  Bin
 .../baselines/RichText_lineHeight_100pct.png    |  Bin
 .../Styles/baselines/RichText_lineHeight_20.png |  Bin
 .../baselines/RichText_lineHeight_200pct.png    |  Bin
 .../Styles/baselines/RichText_lineHeight_40.png |  Bin
 .../baselines/RichText_lineHeight_50pct.png     |  Bin
 .../baselines/RichText_lineHeight_default.png   |  Bin
 .../baselines/RichText_lineHeight_null.png      |  Bin
 .../baselines/RichText_lineThrough_default.png  |  Bin
 .../baselines/RichText_lineThrough_false.png    |  Bin
 .../baselines/RichText_lineThrough_null.png     |  Bin
 .../baselines/RichText_lineThrough_true.png     |  Bin
 .../baselines/RichText_locale_default.png       |  Bin
 .../baselines/RichText_marginBottom_20.png      |  Bin
 .../baselines/RichText_marginBottom_default.png |  Bin
 .../Styles/baselines/RichText_marginLeft_20.png |  Bin
 .../baselines/RichText_marginLeft_default.png   |  Bin
 .../baselines/RichText_marginRight_20.png       |  Bin
 .../baselines/RichText_marginRight_default.png  |  Bin
 .../Styles/baselines/RichText_marginTop_20.png  |  Bin
 .../baselines/RichText_marginTop_default.png    |  Bin
 .../baselines/RichText_paddingBottom_20.png     |  Bin
 .../baselines/RichText_paddingBottom_70.png     |  Bin
 .../baselines/RichText_paddingBottom_72.png     |  Bin
 .../RichText_paddingBottom_default.png          |  Bin
 .../baselines/RichText_paddingBottom_null.png   |  Bin
 ...chText_paddingBottom_vertAlignJustify_50.png |  Bin
 ...chText_paddingBottom_vertAlignJustify_70.png |  Bin
 ...chText_paddingBottom_vertAlignJustify_72.png |  Bin
 .../baselines/RichText_paddingLeft_20.png       |  Bin
 .../baselines/RichText_paddingLeft_50.png       |  Bin
 .../baselines/RichText_paddingLeft_55.png       |  Bin
 .../baselines/RichText_paddingLeft_default.png  |  Bin
 .../baselines/RichText_paddingLeft_null.png     |  Bin
 .../baselines/RichText_paddingRight_20.png      |  Bin
 .../baselines/RichText_paddingRight_50.png      |  Bin
 .../baselines/RichText_paddingRight_55.png      |  Bin
 .../baselines/RichText_paddingRight_default.png |  Bin
 .../baselines/RichText_paddingRight_null.png    |  Bin
 .../Styles/baselines/RichText_paddingTop_20.png |  Bin
 .../Styles/baselines/RichText_paddingTop_70.png |  Bin
 .../Styles/baselines/RichText_paddingTop_72.png |  Bin
 .../baselines/RichText_paddingTop_default.png   |  Bin
 .../baselines/RichText_paddingTop_null.png      |  Bin
 .../RichText_paddingTop_vertAlignJustify_50.png |  Bin
 .../RichText_paddingTop_vertAlignJustify_70.png |  Bin
 .../RichText_paddingTop_vertAlignJustify_72.png |  Bin
 .../baselines/RichText_renderingMode_cff.png    |  Bin
 .../RichText_renderingMode_default.png          |  Bin
 .../baselines/RichText_renderingMode_normal.png |  Bin
 .../baselines/RichText_textAlignLast_center.png |  Bin
 .../RichText_textAlignLast_default.png          |  Bin
 .../baselines/RichText_textAlignLast_end.png    |  Bin
 .../RichText_textAlignLast_justify.png          |  Bin
 .../baselines/RichText_textAlignLast_left.png   |  Bin
 .../baselines/RichText_textAlignLast_right.png  |  Bin
 .../baselines/RichText_textAlignLast_start.png  |  Bin
 .../baselines/RichText_textAlign_center.png     |  Bin
 .../baselines/RichText_textAlign_default.png    |  Bin
 .../Styles/baselines/RichText_textAlign_end.png |  Bin
 .../baselines/RichText_textAlign_justify.png    |  Bin
 .../baselines/RichText_textAlign_left.png       |  Bin
 .../baselines/RichText_textAlign_right.png      |  Bin
 .../baselines/RichText_textAlign_start.png      |  Bin
 .../Styles/baselines/RichText_textAlpha_0.png   |  Bin
 .../Styles/baselines/RichText_textAlpha_05.png  |  Bin
 .../baselines/RichText_textAlpha_default.png    |  Bin
 .../RichText_textDecoration_default.png         |  Bin
 .../baselines/RichText_textDecoration_none.png  |  Bin
 .../RichText_textDecoration_underline.png       |  Bin
 .../baselines/RichText_textIndent_default.png   |  Bin
 .../RichText_textIndent_negWithDirection.png    |  Bin
 .../RichText_textIndent_negWithMargin.png       |  Bin
 .../baselines/RichText_textIndent_pos.png       |  Bin
 .../RichText_textIndent_posWithDirection.png    |  Bin
 .../RichText_textJustify_distribute.png         |  Bin
 .../RichText_textJustify_interWord.png          |  Bin
 .../baselines/RichText_textRotation_auto.png    |  Bin
 .../baselines/RichText_textRotation_default.png |  Bin
 .../baselines/RichText_textRotation_rotate0.png |  Bin
 .../RichText_textRotation_rotate180.png         |  Bin
 .../RichText_textRotation_rotate270.png         |  Bin
 .../RichText_textRotation_rotate90.png          |  Bin
 .../baselines/RichText_text_backGroundColor.png |  Bin
 .../RichText_text_multiLine_truncation-1.png    |  Bin
 ..._text_multiLine_truncation-1_defaultSize.png |  Bin
 .../RichText_text_multiLine_truncation1.png     |  Bin
 ...t_text_multiLine_truncation1_defaultSize.png |  Bin
 .../RichText_text_multiLine_truncation2.png     |  Bin
 ...t_text_multiLine_truncation2_defaultSize.png |  Bin
 ...chText_text_multiLine_truncation_default.png |  Bin
 ...multiLine_truncation_default_defaultSize.png |  Bin
 .../RichText_text_singleLine_truncation-1.png   |  Bin
 ...text_singleLine_truncation-1_defaultSize.png |  Bin
 .../RichText_text_singleLine_truncation1.png    |  Bin
 ..._text_singleLine_truncation1_defaultSize.png |  Bin
 .../RichText_text_singleLine_truncation2.png    |  Bin
 ..._text_singleLine_truncation2_defaultSize.png |  Bin
 ...hText_text_singleLine_truncation_default.png |  Bin
 ...ingleLine_truncation_default_defaultSize.png |  Bin
 .../baselines/RichText_trackingLeft_default.png |  Bin
 .../baselines/RichText_trackingLeft_neg.png     |  Bin
 .../RichText_trackingLeft_neg_percent.png       |  Bin
 .../baselines/RichText_trackingLeft_pos.png     |  Bin
 .../RichText_trackingLeft_pos_percent.png       |  Bin
 .../RichText_trackingRight_default.png          |  Bin
 .../baselines/RichText_trackingRight_neg.png    |  Bin
 .../RichText_trackingRight_neg_percent.png      |  Bin
 .../baselines/RichText_trackingRight_pos.png    |  Bin
 .../RichText_trackingRight_pos_percent.png      |  Bin
 .../Styles/baselines/RichText_tracking_0.png    |  Bin
 .../baselines/RichText_tracking_default.png     |  Bin
 .../Styles/baselines/RichText_tracking_neg.png  |  Bin
 .../Styles/baselines/RichText_tracking_pos.png  |  Bin
 .../baselines/RichText_typographicCase_caps.png |  Bin
 ...ichText_typographicCase_capsAndSmallCaps.png |  Bin
 .../RichText_typographicCase_default.png        |  Bin
 .../RichText_typographicCase_default2.png       |  Bin
 .../RichText_typographicCase_lowercase.png      |  Bin
 .../RichText_typographicCase_smallCaps.png      |  Bin
 .../RichText_typographicCase_title.png          |  Bin
 .../RichText_typographicCase_uppercase.png      |  Bin
 .../baselines/RichText_verticalAlign_bottom.png |  Bin
 .../RichText_verticalAlign_default.png          |  Bin
 .../RichText_verticalAlign_justify.png          |  Bin
 .../baselines/RichText_verticalAlign_middle.png |  Bin
 .../baselines/RichText_verticalAlign_top.png    |  Bin
 .../RichText_whiteSpaceCollapse_default.png     |  Bin
 .../events/ItemRendRETLabel_event_tester.mxml   |   24 +-
 .../List/events/ItemRendRET_event_tester.mxml   |   24 +-
 .../List/events/list_events_tester.mxml         |   30 +-
 .../gumbo/components/List/swfs/ListBasic.mxml   |    4 +
 .../components/List/swfs/ListEvents_Main.mxml   |   36 +-
 .../MXDGIR_Integration_newDateFieldIR.png       |  Bin 8499 -> 8329 bytes
 .../baselines/MXDGIR_Integration_newRangeIR.png |  Bin 14687 -> 14014 bytes
 .../Events/NumericStepper_Events.mxml           |   37 +
 .../Properties/NumericStepper_Properties.mxml   |   36 +
 .../Styles/NumericStepper_Styles_Mirroring.mxml |    7 +-
 ...tainer_method_setItemIndex_component.png.xml |  101 +
 ..._setItemIndex_component_graphics_0_1.png.xml |  102 +
 ..._setItemIndex_component_graphics_2_0.png.xml |  102 +
 .../TabBar/Properties/TabBar_properties.mxml    |    4 +-
 .../Methods/TextArea_Methods_tester.mxml        |    3 +-
 .../Properties/TitleWindow_Properties.mxml      |    4 +-
 ...oggleButton_Style_baseColor_disabled.png.xml |   67 +
 ...icon_with_label_chromeColor_disabled.png.xml |   61 +
 .../swfs/Flex4_ToggleButton_main.mxml           |    8 +-
 .../viewport/DataGroup_viewport_main.mxml       |   40 +-
 ...viewport_scrollPosition_gradient_0_0.png.xml |   16 +
 ...port_scrollPosition_gradient_200_200.png.xml |   16 +
 ...port_scrollPosition_gradient_200_450.png.xml |   16 +
 ..._scrollPosition_gradient_200_minus50.png.xml |   16 +
 ...port_scrollPosition_gradient_450_200.png.xml |   16 +
 ...port_scrollPosition_gradient_450_450.png.xml |   16 +
 ..._scrollPosition_gradient_450_minus50.png.xml |   16 +
 ..._scrollPosition_gradient_minus50_200.png.xml |   16 +
 ..._scrollPosition_gradient_minus50_450.png.xml |   16 +
 ...ollPosition_gradient_minus50_minus50.png.xml |   16 +
 .../core/DesignLayer/swfs/comps/CustomList.mxml |    0
 .../swfs/comps/IntegrationGroup.mxml            |    0
 .../DesignLayer/swfs/comps/MethodsGroup.mxml    |    0
 .../DesignLayer/swfs/comps/PropertiesGroup.mxml |    0
 .../Group_property_blendMode_disabled.png.xml   |   39 +
 .../Group/viewport/Group_viewport_main.mxml     |   40 +-
 ...viewport_scrollPosition_gradient_0_0.png.xml |   18 +
 ...port_scrollPosition_gradient_200_200.png.xml |   18 +
 ...port_scrollPosition_gradient_200_450.png.xml |   18 +
 ..._scrollPosition_gradient_200_minus50.png.xml |   18 +
 ...port_scrollPosition_gradient_450_200.png.xml |   18 +
 ...port_scrollPosition_gradient_450_450.png.xml |   18 +
 ..._scrollPosition_gradient_450_minus50.png.xml |   18 +
 ..._scrollPosition_gradient_minus50_200.png.xml |   18 +
 ..._scrollPosition_gradient_minus50_450.png.xml |   18 +
 ...ollPosition_gradient_minus50_minus50.png.xml |   18 +
 ..._offsets_rotation_scale_transform_e1.png.xml |   31 +
 .../TileList/baselines/dateFieldRenderer.png    |  Bin 732 -> 733 bytes
 .../TileList/baselines/dateFieldRenderer.png    |  Bin 708 -> 710 bytes
 ...MediaQueries_Integration_ClassSelectors.mxml |    1 +
 ...PISpecified_ClassSelector@android_240ppi.png |  Bin 4184 -> 4359 bytes
 ...DPISpecified_TypeSelector@android_240ppi.png |  Bin 5418 -> 5034 bytes
 .../ClassSelector_160dpi@android_240ppi.png     |  Bin 2271 -> 2094 bytes
 ...tor_160dpi_NoDefaultStyle@android_240ppi.png |  Bin 2235 -> 2045 bytes
 ...Selector_160dpi_OR_320dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 .../ClassSelector_240dpi@android_240ppi.png     |  Bin 2610 -> 2364 bytes
 .../ClassSelector_320dpi@android_240ppi.png     |  Bin 2271 -> 2094 bytes
 ...assSelector_Android160dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...assSelector_Android240dpi@android_240ppi.png |  Bin 2755 -> 2483 bytes
 ...assSelector_Android320dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 .../ClassSelector_Android@android_240ppi.png    |  Bin 2519 -> 2202 bytes
 ...Reference_DPIBasedQueries@android_240ppi.png |  Bin 2512 -> 2688 bytes
 ...pecifiedAfterQuery_240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...lassSelector_IPHONE160dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...ONE160dpi_OR_IPHONE320dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...lassSelector_IPHONE320dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 .../ClassSelector_IPHONE@android_240ppi.png     |  Bin 2271 -> 2094 bytes
 .../ClassSelector_InvalidDPI@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...ssSelector_InvalidFeature@android_240ppi.png |  Bin 2271 -> 2094 bytes
 .../ClassSelector_InvalidOS@android_240ppi.png  |  Bin 2271 -> 2094 bytes
 ...sSelector_LowercaseIPHONE@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...sSelector_MediaAll_240dpi@android_240ppi.png |  Bin 2610 -> 2364 bytes
 ...ector_MediaAll_NoFeatures@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...or_MediaOnlyScreen_240dpi@android_240ppi.png |  Bin 2610 -> 2364 bytes
 ...lector_MediaScreen_240dpi@android_240ppi.png |  Bin 2610 -> 2364 bytes
 ...or_MediaScreen_NoFeatures@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...ector_MediaUnknown_240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 .../ClassSelector_MissingDPI@android_240ppi.png |  Bin 2303 -> 2082 bytes
 .../ClassSelector_MissingOS@android_240ppi.png  |  Bin 2572 -> 2242 bytes
 ...sSelector_MultipleQueries@android_240ppi.png |  Bin 2755 -> 2483 bytes
 ...ltipleQueriesEvaluateTrue@android_240ppi.png |  Bin 2572 -> 2242 bytes
 ...lector_NOT_InvalidFeature@android_240ppi.png |  Bin 2303 -> 2082 bytes
 ...ector_NOT_MediaAll_240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...r_NOT_MediaAll_NoFeatures@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...iaScreen_160dpi_OR_320dpi@android_240ppi.png |  Bin 2581 -> 2387 bytes
 ...or_NOT_MediaScreen_240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...MediaScreen_Android240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...ONE160dpi_OR_IPHONE320dpi@android_240ppi.png |  Bin 2765 -> 2500 bytes
 ...OT_MediaScreen_NoFeatures@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...r_NOT_MediaUnknown_240dpi@android_240ppi.png |  Bin 2610 -> 2364 bytes
 ...sSelector_NoQuotesAndroid@android_240ppi.png |  Bin 2519 -> 2202 bytes
 .../ClassSelector_QNX160dpi@android_240ppi.png  |  Bin 2271 -> 2094 bytes
 .../ClassSelector_QNX@android_240ppi.png        |  Bin 2271 -> 2094 bytes
 ...sSelector_QuotesAroundDPI@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...ppercaseAND_Android240dpi@android_240ppi.png |  Bin 2755 -> 2483 bytes
 ...Selector_UppercaseAndroid@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...ercaseFeatureName_Android@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...ercaseMediaScreen_Android@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...UppercaseMediaTag_Android@android_240ppi.png |  Bin 2519 -> 2202 bytes
 ...ercaseNOT_MediaAll_240dpi@android_240ppi.png |  Bin 2271 -> 2094 bytes
 ...LY_MediaOnlyScreen_240dpi@android_240ppi.png |  Bin 2610 -> 2364 bytes
 ...lStylesheet_ClassSelector@android_240ppi.png |  Bin 3763 -> 3657 bytes
 ...alStylesheet_TypeSelector@android_240ppi.png |  Bin 3786 -> 3538 bytes
 ...TypeSelector_ButtonStyles@android_240ppi.png |  Bin 2610 -> 2364 bytes
 .../TypeSelector_Descendent@android_240ppi.png  |  Bin 3745 -> 2940 bytes
 .../TypeSelector_States@android_240ppi.png      |  Bin 1448 -> 1449 bytes
 .../swfs/ApplicationDPISpecifiedApp.mxml        |    1 +
 .../CSSMediaQueries/swfs/ClassSelectorApp.mxml  |    1 +
 .../swfs/ExternalStylesheetApp.mxml             |    1 +
 .../swfs/TypeSelectorApp-app.xml                |    2 +-
 .../CSSMediaQueries/swfs/TypeSelectorApp.mxml   |   36 +
 .../MediaQueryExternalStylesheet.css            |   50 +
 .../views/MultipleQueriesEvaluateTrue_View.mxml |   31 +-
 .../swfs/views/MultipleQueries_View.mxml        |   38 +-
 .../swfs/views/Query_Android240dpi_View.mxml    |    9 +
 .../swfs/views/Query_Android_View.mxml          |    7 +
 ...uery_NOT_MediaScreen_Android240dpi_View.mxml |   21 +-
 .../swfs/views/Query_NoQuotesAndroid_View.mxml  |    7 +
 .../Query_UppercaseAND_Android240dpi_View.mxml  |    9 +
 .../swfs/views/Query_UppercaseAndroid_View.mxml |    7 +
 ...Query_UppercaseFeatureName_Android_View.mxml |    7 +
 ...Query_UppercaseMediaScreen_Android_View.mxml |    7 +
 .../Query_UppercaseMediaTag_Android_View.mxml   |    7 +
 .../integration/ImageScaling_tester.mxml        |   96 +-
 ...ImageScaling_bitmapImage_embedded@240ppi.png |  Bin 0 -> 679 bytes
 ...ageScaling_bitmapImage_referenced@240ppi.png |  Bin 0 -> 679 bytes
 .../ImageScaling_button_embedded@240ppi.png     |  Bin 0 -> 679 bytes
 .../ImageScaling_button_referenced@240ppi.png   |  Bin 0 -> 679 bytes
 ...onItemRenderer_decorator_embedded@240ppi.png |  Bin 0 -> 825 bytes
 ...conItemRenderer_iconPlaceholder_embedded.png |  Bin 828 -> 828 bytes
 ...geScaling_iconItemRenderer_icon_embedded.png |  Bin 830 -> 857 bytes
 ...Scaling_iconItemRenderer_icon_referenced.png |  Bin 830 -> 830 bytes
 .../ImageScaling_image_embedded@240ppi.png      |  Bin 0 -> 679 bytes
 .../ImageScaling_image_referenced@240ppi.png    |  Bin 0 -> 679 bytes
 ...ling_tabbedViewNavigator_embedded@240ppi.png |  Bin 0 -> 994 bytes
 ...ng_tabbedViewNavigator_referenced@240ppi.png |  Bin 0 -> 994 bytes
 .../swfs/ViewNavigatorApplication480dpi.mxml    |   29 +
 .../ViewNavigatorApplication480dpiHomeView.mxml |   27 +
 .../tests/applicationDPI_160.mxml               |    9 +-
 .../tests/applicationDPI_240.mxml               |    9 +-
 .../tests/applicationDPI_320.mxml               |    8 +-
 .../tests/applicationDPI_480.mxml               |  117 +
 .../tests/applicationDPI_none.mxml              |    2 +
 .../Check_bitmap_480@android_240ppi.png         |  Bin 0 -> 264 bytes
 .../DynamicSplashScreen_1@android_240ppi.png    |  Bin 134215 -> 5099 bytes
 ...DynamicSplashScreen_1@android_240ppi.png.xml |   24 +
 ...DynamicSplashScreen_NoSrc@android_240ppi.png |  Bin 7921 -> 3788 bytes
 .../swfs/DynamicSplashScreen.mxml               |    1 +
 ...App_actionContent_default@android_240ppi.png |  Bin 2723 -> 2387 bytes
 ..._actionContent_useDefault@android_240ppi.png |  Bin 2723 -> 2387 bytes
 ...ionContent_useViewContent@android_240ppi.png |  Bin 3607 -> 3018 bytes
 ...actionLayout_basic_noView@android_240ppi.png |  Bin 3505 -> 3188 bytes
 ...ionLayout_basic_withView2@android_240ppi.png |  Bin 3321 -> 2985 bytes
 ...ionLayout_basic_withView3@android_240ppi.png |  Bin 3436 -> 3408 bytes
 ...tionLayout_basic_withView@android_240ppi.png |  Bin 3505 -> 3188 bytes
 ...nLayout_horizontal_noView@android_240ppi.png |  Bin 3165 -> 2823 bytes
 ...yout_horizontal_withView2@android_240ppi.png |  Bin 3505 -> 3188 bytes
 ...yout_horizontal_withView3@android_240ppi.png |  Bin 3436 -> 3406 bytes
 ...ayout_horizontal_withView@android_240ppi.png |  Bin 3165 -> 2823 bytes
 ..._actionLayout_tile_noView@android_240ppi.png |  Bin 3505 -> 3188 bytes
 ...tionLayout_tile_withView2@android_240ppi.png |  Bin 3165 -> 2823 bytes
 ...tionLayout_tile_withView3@android_240ppi.png |  Bin 3436 -> 3408 bytes
 ...ctionLayout_tile_withView@android_240ppi.png |  Bin 3505 -> 3188 bytes
 ...ionLayout_vertical_noView@android_240ppi.png |  Bin 3321 -> 2985 bytes
 ...Layout_vertical_withView2@android_240ppi.png |  Bin 3165 -> 2823 bytes
 ...Layout_vertical_withView3@android_240ppi.png |  Bin 2442 -> 2408 bytes
 ...nLayout_vertical_withView@android_240ppi.png |  Bin 3321 -> 2985 bytes
 ...leApp_navContent_withView@android_240ppi.png |  Bin 2744 -> 2402 bytes
 ...pp_navLayout_basic_noView@android_240ppi.png |  Bin 3521 -> 3206 bytes
 ...navLayout_basic_withView2@android_240ppi.png |  Bin 3312 -> 3006 bytes
 ...navLayout_basic_withView3@android_240ppi.png |  Bin 3509 -> 3443 bytes
 ..._navLayout_basic_withView@android_240ppi.png |  Bin 3521 -> 3206 bytes
 ...vLayout_horizontal_noView@android_240ppi.png |  Bin 3179 -> 2841 bytes
 ...yout_horizontal_withView2@android_240ppi.png |  Bin 3521 -> 3206 bytes
 ...yout_horizontal_withView3@android_240ppi.png |  Bin 3494 -> 3446 bytes
 ...ayout_horizontal_withView@android_240ppi.png |  Bin 3179 -> 2841 bytes
 ...Layout_navContent_default@android_240ppi.png |  Bin 2744 -> 2402 bytes
 ...App_navLayout_tile_noView@android_240ppi.png |  Bin 3521 -> 3206 bytes
 ..._navLayout_tile_withView2@android_240ppi.png |  Bin 3179 -> 2841 bytes
 ..._navLayout_tile_withView3@android_240ppi.png |  Bin 3509 -> 3443 bytes
 ...p_navLayout_tile_withView@android_240ppi.png |  Bin 3521 -> 3206 bytes
 ...navLayout_vertical_noView@android_240ppi.png |  Bin 3312 -> 3006 bytes
 ...Layout_vertical_withView2@android_240ppi.png |  Bin 3179 -> 2841 bytes
 ...Layout_vertical_withView3@android_240ppi.png |  Bin 2460 -> 2416 bytes
 ...vLayout_vertical_withView@android_240ppi.png |  Bin 3312 -> 3006 bytes
 ...eApp_noView_title_default@android_240ppi.png |  Bin 2148 -> 1805 bytes
 .../mobileApp_set_title@android_240ppi.png      |  Bin 2136 -> 1867 bytes
 ...App_titleContent_withView@android_240ppi.png |  Bin 3152 -> 2969 bytes
 ..._titleLayout_basic_noView@android_240ppi.png |  Bin 3250 -> 3056 bytes
 ...tleLayout_basic_withView2@android_240ppi.png |  Bin 3713 -> 3597 bytes
 ...tleLayout_basic_withView3@android_240ppi.png |  Bin 5369 -> 5100 bytes
 ...itleLayout_basic_withView@android_240ppi.png |  Bin 3580 -> 3452 bytes
 ...eLayout_horizontal_noView@android_240ppi.png |  Bin 3576 -> 3443 bytes
 ...yout_horizontal_withView2@android_240ppi.png |  Bin 4032 -> 3927 bytes
 ...yout_horizontal_withView3@android_240ppi.png |  Bin 3791 -> 3628 bytes
 ...ayout_horizontal_withView@android_240ppi.png |  Bin 3576 -> 3443 bytes
 ...p_titleLayout_tile_noView@android_240ppi.png |  Bin 4032 -> 3927 bytes
 ...itleLayout_tile_withView2@android_240ppi.png |  Bin 3576 -> 3443 bytes
 ...itleLayout_tile_withView3@android_240ppi.png |  Bin 5369 -> 5100 bytes
 ...titleLayout_tile_withView@android_240ppi.png |  Bin 4032 -> 3927 bytes
 ...yout_titleContent_default@android_240ppi.png |  Bin 3152 -> 2969 bytes
 ...tleLayout_vertical_noView@android_240ppi.png |  Bin 3713 -> 3597 bytes
 ...Layout_vertical_withView2@android_240ppi.png |  Bin 3576 -> 3443 bytes
 ...Layout_vertical_withView3@android_240ppi.png |  Bin 3324 -> 3162 bytes
 ...eLayout_vertical_withView@android_240ppi.png |  Bin 3713 -> 3597 bytes
 ...p_title_activeViewNoTitle@android_240ppi.png |  Bin 2148 -> 1805 bytes
 ...title_activeViewWithTitle@android_240ppi.png |  Bin 3615 -> 3018 bytes
 ...title_multipleActiveViews@android_240ppi.png |  Bin 2148 -> 1805 bytes
 .../mobileApplication_navContent_tester.mxml    |    3 +-
 .../swfs/MobileApplicationBackKeyOverride.mxml  |    1 +
 .../MobileApplicationFirstViewFirstData.mxml    |    1 +
 .../swfs/MobileApplicationFirstViewMxml.mxml    |    1 +
 .../swfs/MobileApplicationKeyboardTest.mxml     |    3 +-
 .../swfs/MobileApplicationNoView.mxml           |    1 +
 ...obileApplicationNoViewWithActionContent.mxml |    1 +
 .../MobileApplicationNoViewWithNavContent.mxml  |    2 +-
 ...MobileApplicationNoViewWithTitleContent.mxml |    1 +
 .../swfs/MobileApplicationOrientation.mxml      |    1 +
 .../swfs/MobileApplicationOverrideMenuKey.mxml  |    1 +
 ...bileApplicationPersistenceCacheDisabled.mxml |    1 +
 ...obileApplicationPersistenceCacheEnabled.mxml |    1 +
 .../swfs/MobileApplicationWithCustomSkin.mxml   |    1 +
 .../swfs/MobileApplicationWithViews.mxml        |    1 +
 .../swfs/SkinnablePopUpContainerApp.mxml        |    1 +
 .../tests/SpucProperties.mxml                   |    4 +-
 .../tests/baselines/focus@android_240ppi.png    |  Bin 1531 -> 1253 bytes
 .../tests/baselines/focus@win_160ppi.png        |  Bin
 .../tests/baselines/focus@win_320ppi.png        |  Bin
 .../tests/baselines/isModal@android_240ppi.png  |  Bin 19798 -> 19286 bytes
 .../tests/baselines/isModal@win_160ppi.png      |  Bin
 .../tests/baselines/isModal@win_320ppi.png      |  Bin
 .../.actionScriptProperties                     |    0
 .../mobile/SkinnablePopupContainerSK/.project   |    0
 .../SPUC_KeyboardEffects_Callout.mxml           |   34 +-
 .../SPUC_KeyboardEffects_CalloutButton.mxml     |   39 +-
 ...SPUC_KeyboardEffects_CalloutButton_List.mxml |   20 +-
 .../SPUC_KeyboardEffects_SPUC_Move.mxml         |   29 +-
 .../SPUC_KeyboardEffects_SPUC_Resize.mxml       |   18 +-
 .../swfs/SkinnablePopUpContainerSKEffects.mxml  |    2 +
 .../swfs/views/CalloutMove.mxml                 |    0
 .../swfs/views/SpucMove.mxml                    |    0
 .../integration/SoftKeyboard_Integration.mxml   |    8 +-
 .../mobile/SoftKeyboard/swfs/SKStageText.mxml   |    3 +
 .../SoftKeyboard/swfs/SoftKeyboard-app.xml      |  238 --
 .../mobile/SoftKeyboard/swfs/SoftKeyboard.mxml  |    3 +
 .../mobile/SoftKeyboard/swfs/SoftKeyboard.xml   |  238 ++
 .../SplitViewNavigator_tabbedApp.mxml           |    1 +
 .../baselines/Callout_skin@android_240ppi.png   |  Bin 7878 -> 7581 bytes
 .../Change_skin_at_runtime@android_240ppi.png   |  Bin 5326 -> 5032 bytes
 .../PopUp_change_view@android_240ppi.png        |  Bin 3062 -> 2639 bytes
 .../baselines/PopUp_open@android_240ppi.png     |  Bin 2911 -> 2550 bytes
 .../baselines/Skin_test_1@android_240ppi.png    |  Bin 5275 -> 4928 bytes
 .../TabbedApp_callout_open@android_240ppi.png   |  Bin 4241 -> 3947 bytes
 .../layout/SplitViewNavigator_layout.mxml       |    1 +
 ...asicLayout_all_navigators@android_240ppi.png |  Bin 5634 -> 4445 bytes
 .../BasicLayout_callout_open@android_240ppi.png |  Bin 5263 -> 4081 bytes
 ...aintLayout_all_navigators@android_240ppi.png |  Bin 5729 -> 4475 bytes
 ...traintLayout_callout_open@android_240ppi.png |  Bin 5476 -> 4267 bytes
 ...ntalLayout_all_navigators@android_240ppi.png |  Bin 4018 -> 3284 bytes
 ...zontalLayout_callout_open@android_240ppi.png |  Bin 3464 -> 2769 bytes
 ...TileLayout_all_navigators@android_240ppi.png |  Bin 7181 -> 5477 bytes
 .../TileLayout_callout_open@android_240ppi.png  |  Bin 4965 -> 3788 bytes
 ...icalLayout_all_navigators@android_240ppi.png |  Bin 7343 -> 5688 bytes
 ...rticalLayout_callout_open@android_240ppi.png |  Bin 5038 -> 3894 bytes
 ...llout_multiple_navigators@android_240ppi.png |  Bin 4241 -> 3947 bytes
 ...orInCallout_one_navigator@android_240ppi.png |  Bin 3716 -> 3363 bytes
 ...irstViewNavigator_visible@android_240ppi.png |  Bin 5912 -> 7022 bytes
 ...condViewNavigator_visible@android_240ppi.png |  Bin 2457 -> 3786 bytes
 .../SplitViewNavigator/swfs/BugRegress1.mxml    |    1 +
 .../SplitViewNavigator/swfs/PersistenceApp.mxml |    1 +
 .../SplitViewNavigator/swfs/SPUCSkinApp.mxml    |    1 +
 .../swfs/SplitViewNavigatorMain.mxml            |   16 +-
 .../SplitViewNavigator/swfs/TabbedApp.mxml      |    1 +
 ...displayAsPassword_nominal@android_240ppi.png |  Bin 735 -> 2940 bytes
 ..._TextArea_enabled_nominal@android_240ppi.png |  Bin 3470 -> 1475 bytes
 ...Input_fontSize_nominal_36@android_240ppi.png |  Bin 972 -> 1262 bytes
 .../tests/mobile/StageText/swfs/StageText.mxml  |   86 +
 .../mobile/StageText/swfs/StageText160dpi.mxml  |    1 +
 .../mobile/StageText/swfs/StageTextViewNav.mxml |    1 +
 .../tabbedViewNavApp_defaultSkin_tester.mxml    |    4 +-
 ...ndViewNavigatorActivateEventInTabbedApp.mxml |    1 +
 .../ViewAndViewNavigatorCancelNavigation.mxml   |    1 +
 .../swfs/ViewAndViewNavigatorColoredTabBar.mxml |    1 +
 ...dViewNavigatorCreateActionBarEffectsApp.mxml |    1 +
 ...wAndViewNavigatorCreateTabBarEffectsApp.mxml |    1 +
 ...NavigatorCustomSkinMovedActionAndTabBar.mxml |    1 +
 ...ViewNavigatorCustomSkinNoActionOrTabBar.mxml |    1 +
 .../swfs/ViewAndViewNavigatorIconClass.mxml     |    1 +
 .../swfs/ViewAndViewNavigatorMain.mxml          |    1 +
 .../swfs/ViewAndViewNavigatorMainTabbed.mxml    |   10 +-
 .../ViewAndViewNavigatorNoContentGroup.mxml     |    1 +
 .../swfs/ViewAndViewNavigatorNoView.mxml        |    1 +
 .../ViewAndViewNavigatorSessionCaching.mxml     |    1 +
 .../swfs/ViewAndViewNavigatorSingleSection.mxml |    1 +
 .../swfs/ViewAndViewNavigatorStates.mxml        |    1 +
 .../swfs/ViewAndViewNavigatorTabbedOverlay.mxml |    1 +
 .../swfs/ViewAndViewNavigatorTabbedStates.mxml  |    1 +
 ...ViewAndViewNavigatorTabbedViewNavigator.mxml |    1 +
 .../swfs/ViewAndViewNavigatorTransitions.mxml   |    1 +
 .../ViewAndViewNavigator/swfs/globalTabbed.as   |    4 +-
 .../swfs/views/StateTestHome.mxml               |    2 +-
 .../ViewAndViewNavigator_orientationTabbed.mxml |   43 +-
 .../lookAtDefaultColoredTab@android_240ppi.png  |  Bin 3018 -> 2466 bytes
 .../lookAtDefaultSelectedTab@android_240ppi.png |  Bin 2918 -> 2600 bytes
 ...okAtExplicitlySelectedTab@android_240ppi.png |  Bin 2920 -> 2603 bytes
 .../lookAtTabsWithImages@android_240ppi.png     |  Bin 6335 -> 6867 bytes
 ...dActionBarInLandscapeLeft@android_240ppi.png |  Bin 0 -> 2493 bytes
 ...nBarInLandscapeLeftTabbed@android_240ppi.png |  Bin 0 -> 2085 bytes
 ...ActionBarInLandscapeRight@android_240ppi.png |  Bin 0 -> 2493 bytes
 ...BarInLandscapeRightTabbed@android_240ppi.png |  Bin 0 -> 2085 bytes
 ...finedActionBarOverlayLeft@android_240ppi.png |  Bin 0 -> 2522 bytes
 ...ctionBarOverlayLeftTabbed@android_240ppi.png |  Bin 0 -> 2093 bytes
 ...inedActionBarOverlayRight@android_240ppi.png |  Bin 0 -> 2522 bytes
 ...tionBarOverlayRightTabbed@android_240ppi.png |  Bin 0 -> 2093 bytes
 ...rientationInLandscapeLeft@android_240ppi.png |  Bin 0 -> 2585 bytes
 ...ientationInLandscapeRight@android_240ppi.png |  Bin 0 -> 2585 bytes
 ...rientationInLandscapeLeft@android_240ppi.png |  Bin 0 -> 2585 bytes
 ...ientationInLandscapeRight@android_240ppi.png |  Bin 0 -> 2585 bytes
 ...inedTabBarInLandscapeLeft@android_240ppi.png |  Bin 0 -> 4128 bytes
 ...nedTabBarInLandscapeRight@android_240ppi.png |  Bin 0 -> 4128 bytes
 ...sDefinedTabBarOverlayLeft@android_240ppi.png |  Bin 0 -> 4075 bytes
 ...DefinedTabBarOverlayRight@android_240ppi.png |  Bin 0 -> 4075 bytes
 ...dActionBarInLandscapeLeft@android_240ppi.png |  Bin 0 -> 1546 bytes
 ...nBarInLandscapeLeftTabbed@android_240ppi.png |  Bin 0 -> 1190 bytes
 ...ActionBarInLandscapeRight@android_240ppi.png |  Bin 0 -> 1546 bytes
 ...BarInLandscapeRightTabbed@android_240ppi.png |  Bin 0 -> 1190 bytes
 ...finedActionBarOverlayLeft@android_240ppi.png |  Bin 0 -> 2957 bytes
 ...ctionBarOverlayLeftTabbed@android_240ppi.png |  Bin 0 -> 2181 bytes
 ...inedActionBarOverlayRight@android_240ppi.png |  Bin 0 -> 2957 bytes
 ...tionBarOverlayRightTabbed@android_240ppi.png |  Bin 0 -> 2181 bytes
 ...rientationInLandscapeLeft@android_240ppi.png |  Bin 0 -> 1827 bytes
 ...ientationInLandscapeRight@android_240ppi.png |  Bin 0 -> 1827 bytes
 ...inedTabBarInLandscapeLeft@android_240ppi.png |  Bin 0 -> 4128 bytes
 ...nedTabBarInLandscapeRight@android_240ppi.png |  Bin 0 -> 4128 bytes
 ...nDefinedTabBarOverlayLeft@android_240ppi.png |  Bin 0 -> 4075 bytes
 ...DefinedTabBarOverlayRight@android_240ppi.png |  Bin 0 -> 4075 bytes
 .../overlayControlsActionBar@android_240ppi.png |  Bin 1617 -> 1419 bytes
 .../overlayControlsTabBar@android_240ppi.png    |  Bin 2833 -> 2525 bytes
 .../baselines/selectedIndex@android_240ppi.png  |  Bin 2920 -> 3767 bytes
 .../stateProperties@android_240ppi.png          |  Bin 2888 -> 2541 bytes
 ...nBar_States_ActionContent@android_240ppi.png |  Bin 2169 -> 1539 bytes
 ...tes_ActionLayout_Vertical@android_240ppi.png |  Bin 9115 -> 6968 bytes
 ...es_Content_ActionContent1@android_240ppi.png |  Bin 2292 -> 1637 bytes
 ...es_Content_ActionContent2@android_240ppi.png |  Bin 2449 -> 1714 bytes
 ...ontent_NavigationContent1@android_240ppi.png |  Bin 1594 -> 1339 bytes
 ...ontent_NavigationContent2@android_240ppi.png |  Bin 1776 -> 1416 bytes
 ...Bar_States_Content_Title1@android_240ppi.png |  Bin 1451 -> 1111 bytes
 ...Bar_States_Content_Title2@android_240ppi.png |  Bin 1662 -> 1207 bytes
 ...tes_Content_TitleContent1@android_240ppi.png |  Bin 2245 -> 1631 bytes
 ...tes_Content_TitleContent2@android_240ppi.png |  Bin 2405 -> 1712 bytes
 ..._States_NavigationContent@android_240ppi.png |  Bin 1500 -> 1221 bytes
 ...tionContent_ActionContent@android_240ppi.png |  Bin 2897 -> 2107 bytes
 ...s_NavigationContent_Title@android_240ppi.png |  Bin 2349 -> 1744 bytes
 ...ationContent_TitleContent@android_240ppi.png |  Bin 3392 -> 2440 bytes
 ...itleContent_ActionContent@android_240ppi.png |  Bin 4809 -> 3287 bytes
 ...ntent_Title_ActionContent@android_240ppi.png |  Bin 3695 -> 2589 bytes
 ...NavigationLayout_Vertical@android_240ppi.png |  Bin 8172 -> 6589 bytes
 .../ActionBar_States_Title@android_240ppi.png   |  Bin 1321 -> 1001 bytes
 ...onBar_States_TitleContent@android_240ppi.png |  Bin 2164 -> 1559 bytes
 ...itleContent_ActionContent@android_240ppi.png |  Bin 4060 -> 2728 bytes
 ...ates_TitleLayout_Vertical@android_240ppi.png |  Bin 8259 -> 6530 bytes
 ...tates_Title_ActionContent@android_240ppi.png |  Bin 2962 -> 2033 bytes
 .../ActionBar_ViewNavigator_Properties.mxml     |  173 +-
 ...tionContent_1ElementArray@android_240ppi.png |  Bin 1993 -> 1553 bytes
 ...tionContent_2ElementArray@android_240ppi.png |  Bin 2690 -> 1991 bytes
 ...tionContent_8ElementArray@android_240ppi.png |  Bin 5258 -> 3878 bytes
 ..._ActionLayout_BasicLayout@android_240ppi.png |  Bin 2943 -> 2232 bytes
 ...r_ActionLayout_TileLayout@android_240ppi.png |  Bin 6457 -> 4904 bytes
 ...tionLayout_VerticalLayout@android_240ppi.png |  Bin 5980 -> 4492 bytes
 ...on_actionContent_ManyEArr@android_240ppi.png |  Bin 4907 -> 3875 bytes
 ...ion_actionContent_OneEArr@android_240ppi.png |  Bin 3205 -> 2379 bytes
 ...ion_actionContent_TwoEArr@android_240ppi.png |  Bin 4385 -> 3075 bytes
 ..._actionLayout_basicLayout@android_240ppi.png |  Bin 5133 -> 3864 bytes
 ...tion_actionLayout_default@android_240ppi.png |  Bin 4385 -> 3075 bytes
 ...n_actionLayout_tileLayout@android_240ppi.png |  Bin 8297 -> 6814 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 4869 -> 3658 bytes
 ...avigationContent_ManyEArr@android_240ppi.png |  Bin 6329 -> 4844 bytes
 ...navigationContent_OneEArr@android_240ppi.png |  Bin 3200 -> 2377 bytes
 ...navigationContent_TwoEArr@android_240ppi.png |  Bin 4383 -> 3084 bytes
 ...igationLayout_basicLayout@android_240ppi.png |  Bin 5148 -> 3867 bytes
 ..._navigationLayout_default@android_240ppi.png |  Bin 4383 -> 3084 bytes
 ...vigationLayout_tileLayout@android_240ppi.png |  Bin 8282 -> 6782 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 4886 -> 3653 bytes
 ...ion_titleContent_ManyEArr@android_240ppi.png |  Bin 6906 -> 5417 bytes
 ...tion_titleContent_OneEArr@android_240ppi.png |  Bin 3827 -> 3081 bytes
 ...tion_titleContent_TwoEArr@android_240ppi.png |  Bin 5022 -> 3775 bytes
 ...n_titleLayout_basicLayout@android_240ppi.png |  Bin 5435 -> 4242 bytes
 ...ation_titleLayout_default@android_240ppi.png |  Bin 5022 -> 3775 bytes
 ...on_titleLayout_tileLayout@android_240ppi.png |  Bin 8839 -> 7492 bytes
 ...itleLayout_verticalLayout@android_240ppi.png |  Bin 5508 -> 4383 bytes
 ...Application_title_runtime@android_240ppi.png |  Bin 2257 -> 1945 bytes
 ...cation_title_runtime_null@android_240ppi.png |  Bin 2257 -> 1945 bytes
 ...tionContent_1ElementArray@android_240ppi.png |  Bin 1995 -> 1546 bytes
 ...tionContent_2ElementArray@android_240ppi.png |  Bin 2696 -> 1984 bytes
 ...tionContent_8ElementArray@android_240ppi.png |  Bin 5276 -> 3940 bytes
 ...igationLayout_BasicLayout@android_240ppi.png |  Bin 2939 -> 2218 bytes
 ...vigationLayout_TileLayout@android_240ppi.png |  Bin 6521 -> 4987 bytes
 ...tionLayout_VerticalLayout@android_240ppi.png |  Bin 6014 -> 4451 bytes
 ...itleContent_1ElementArray@android_240ppi.png |  Bin 2401 -> 2018 bytes
 ...itleContent_2ElementArray@android_240ppi.png |  Bin 3148 -> 2500 bytes
 ...itleContent_8ElementArray@android_240ppi.png |  Bin 6082 -> 4759 bytes
 ...r_TitleLayout_BasicLayout@android_240ppi.png |  Bin 3046 -> 2456 bytes
 ...ar_TitleLayout_TileLayout@android_240ppi.png |  Bin 6868 -> 5458 bytes
 ...yout_TitleContent_Padding@android_240ppi.png |  Bin 3474 -> 2820 bytes
 ...TitleLayout_Title_Padding@android_240ppi.png |  Bin 2954 -> 2258 bytes
 ...itleLayout_VerticalLayout@android_240ppi.png |  Bin 5933 -> 4508 bytes
 ...tionBar_Title_Combination@android_240ppi.png |  Bin 3379 -> 1964 bytes
 ...ActionBar_Title_OneLetter@android_240ppi.png |  Bin 784 -> 675 bytes
 .../ActionBar_Title_Runtime@android_240ppi.png  |  Bin 3572 -> 2548 bytes
 ...or_actionContent_EmptyArr@android_240ppi.png |  Bin 1823 -> 1349 bytes
 ...Bar_ViewNavigator_actionContent_ManyEArr.png |  Bin 2031 -> 2626 bytes
 ...or_actionContent_ManyEArr@android_240ppi.png |  Bin 4907 -> 3875 bytes
 ...tor_actionContent_OneEArr@android_240ppi.png |  Bin 4185 -> 2911 bytes
 ...igator_actionContent_null@android_240ppi.png |  Bin 1823 -> 1349 bytes
 ...tor_actionContent_twoEArr@android_240ppi.png |  Bin 5341 -> 3599 bytes
 ..._actionLayout_basicLayout@android_240ppi.png |  Bin 5341 -> 3599 bytes
 ...ator_actionLayout_default@android_240ppi.png |  Bin 5341 -> 3599 bytes
 ...ionLayout_default_padding@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...r_actionLayout_tileLayout@android_240ppi.png |  Bin 3963 -> 2853 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 4967 -> 3501 bytes
 ...wNavigator_default_height@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...ewNavigator_default_width@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...Navigator_height_decrease@android_240ppi.png |  Bin 3065 -> 2820 bytes
 ...Navigator_height_increase@android_240ppi.png |  Bin 759 -> 1522 bytes
 ...avigationContent_EmptyArr@android_240ppi.png |  Bin 1823 -> 1349 bytes
 ...avigationContent_ImageArr@android_240ppi.png |  Bin 3064 -> 3752 bytes
 ...avigationContent_ManyEArr@android_240ppi.png |  Bin 6329 -> 4844 bytes
 ...vigationContent_MobileArr@android_240ppi.png |  Bin 1068 -> 1710 bytes
 ...navigationContent_OneEArr@android_240ppi.png |  Bin 4184 -> 2912 bytes
 ...navigationContent_TwoEArr@android_240ppi.png |  Bin 4383 -> 3610 bytes
 ...avigationContent_graphArr@android_240ppi.png |  Bin 763 -> 1516 bytes
 ...or_navigationContent_null@android_240ppi.png |  Bin 1823 -> 1349 bytes
 ...igationLayout_basicLayout@android_240ppi.png |  Bin 4383 -> 3610 bytes
 ..._navigationLayout_basicLayout@ios_320ppi.png |  Bin 7016 -> 6767 bytes
 ..._navigationLayout_default@android_240ppi.png |  Bin 5349 -> 3610 bytes
 ...ator_navigationLayout_default@ios_320ppi.png |  Bin 7016 -> 6767 bytes
 ...ionLayout_default_padding@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...igationLayout_default_padding@ios_320ppi.png |  Bin 2343 -> 2157 bytes
 ...vigationLayout_tileLayout@android_240ppi.png |  Bin 4039 -> 2911 bytes
 ...tionLayout_verticalLayout@android_240ppi.png |  Bin 4886 -> 3511 bytes
 ...tor_titleContent_ManyEArr@android_240ppi.png |  Bin 6906 -> 5417 bytes
 ...ator_titleContent_OneEArr@android_240ppi.png |  Bin 3827 -> 3081 bytes
 ...ator_titleContent_TwoEArr@android_240ppi.png |  Bin 5022 -> 3775 bytes
 ...vigator_titleLayout_basic@android_240ppi.png |  Bin 5435 -> 4242 bytes
 ...gator_titleLayout_default@android_240ppi.png |  Bin 5441 -> 4215 bytes
 ...or_titleLayout_default_VerticalAlignment.png |  Bin 545 -> 2157 bytes
 ...default_VerticalAlignment@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...out_default_VerticalAlignment@ios_320ppi.png |  Bin 2343 -> 2157 bytes
 ...r_titleLayout_default_gap@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...gator_titleLayout_default_gap@ios_320ppi.png |  Bin 2343 -> 2157 bytes
 ...tleLayout_default_padding@android_240ppi.png |  Bin 591 -> 1349 bytes
 ...avigator_titleLayout_tile@android_240ppi.png |  Bin 5435 -> 4242 bytes
 ...yout_titleContent_padding@android_240ppi.png |  Bin 5441 -> 4215 bytes
 ...titleLayout_title_padding@android_240ppi.png |  Bin 1597 -> 1274 bytes
 ...ator_titleLayout_vertical@android_240ppi.png |  Bin 4408 -> 3378 bytes
 ..._ViewNavigator_title_data@android_240ppi.png |  Bin 3070 -> 2237 bytes
 ..._ViewNavigator_title_long@android_240ppi.png |  Bin 6968 -> 4965 bytes
 ...Navigator_title_oneLetter@android_240ppi.png |  Bin 1065 -> 901 bytes
 ...ewNavigator_title_runtime@android_240ppi.png |  Bin 1823 -> 1827 bytes
 ...r_ViewNavigator_title_runtime@ios_320ppi.png |  Bin 2785 -> 2598 bytes
 ...igator_title_specialchars@android_240ppi.png |  Bin 6876 -> 3495 bytes
 ...Bar_ViewNavigator_visible@android_240ppi.png |  Bin 3827 -> 3081 bytes
 .../ActionBar_MobileApplication_styles.mxml     |   10 +-
 .../ActionBar/styles/ActionBar_Styles.mxml      |    6 +-
 .../styles/ActionBar_ViewNavigator_styles.mxml  |    8 +-
 .../ActionBar_AccentColor@android_240ppi.png    |  Bin 1929 -> 1528 bytes
 .../baselines/ActionBar_CSS@android_240ppi.png  |  Bin 3673 -> 2550 bytes
 ...ActionBar_Color_WithTitle@android_240ppi.png |  Bin 3695 -> 2589 bytes
 ...ar_Color_WithTitleContent@android_240ppi.png |  Bin 3637 -> 2797 bytes
 .../ActionBar_FocusColor@android_240ppi.png     |  Bin 994 -> 1020 bytes
 ...ionBar_FontSize_WithTitle@android_240ppi.png |  Bin 2814 -> 2225 bytes
 ...FontSize_WithTitleContent@android_240ppi.png |  Bin 2412 -> 1926 bytes
 ...cation_backgroundAlpha_03@android_240ppi.png |  Bin 1477 -> 1159 bytes
 ...cation_backgroundAlpha_05@android_240ppi.png |  Bin 1526 -> 1211 bytes
 ...ication_backgroundAlpha_0@android_240ppi.png |  Bin 1083 -> 684 bytes
 ...ication_backgroundAlpha_1@android_240ppi.png |  Bin 1490 -> 1197 bytes
 ...Application_default_style@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...efault_titleDisplay_style@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...leApplication_fontSize_10@android_240ppi.png |  Bin 2595 -> 2142 bytes
 ...leApplication_fontSize_35@android_240ppi.png |  Bin 5869 -> 4598 bytes
 ...plication_fontWeight_bold@android_240ppi.png |  Bin 7935 -> 6106 bytes
 ...ication_fontWeight_normal@android_240ppi.png |  Bin 7938 -> 6139 bytes
 ...cation_style_change_color@android_240ppi.png |  Bin 3283 -> 3542 bytes
 ...change_fontFamily_Georgia@android_240ppi.png |  Bin 1949 -> 1449 bytes
 ...ion_style_change_fontSize@android_240ppi.png |  Bin 3188 -> 3046 bytes
 ...n_style_change_fontWeight@android_240ppi.png |  Bin 3204 -> 3022 bytes
 ...tion_style_change_leading@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_letterSpacing-5@android_240ppi.png |  Bin 1322 -> 1141 bytes
 ...yle_change_letterSpacing5@android_240ppi.png |  Bin 1612 -> 1272 bytes
 ...nge_letterSpacing_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...e_change_textAlign_center@android_240ppi.png |  Bin 1613 -> 1258 bytes
 ...yle_change_textAlign_left@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_textAlign_right@android_240ppi.png |  Bin 1613 -> 1252 bytes
 ...ge_textDecoration_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...hange_textDecoration_none@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 1624 -> 1285 bytes
 ...yle_change_textIndent_100@android_240ppi.png |  Bin 1616 -> 1279 bytes
 ...change_textIndent_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_textShadowColor@android_240ppi.png |  Bin 1661 -> 1309 bytes
 ...ication_titleAlign_center@android_240ppi.png |  Bin 1614 -> 1277 bytes
 ...cation_titleAlign_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...plication_titleAlign_left@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...lication_titleAlign_right@android_240ppi.png |  Bin 1613 -> 1252 bytes
 ...ionBar_Styles_Application@android_240ppi.png |  Bin 1321 -> 1001 bytes
 ...ActionBar_TextShadowAlpha@android_240ppi.png |  Bin 2545 -> 1797 bytes
 ...ActionBar_TextShadowColor@android_240ppi.png |  Bin 3350 -> 2441 bytes
 ...tionBar_TitleAlign_Center@android_240ppi.png |  Bin 1414 -> 1081 bytes
 ...ionBar_TitleAlign_Default@android_240ppi.png |  Bin 1410 -> 1074 bytes
 ...ctionBar_TitleAlign_Right@android_240ppi.png |  Bin 1407 -> 1067 bytes
 ...ionBar_TitleDisplay_Color@android_240ppi.png |  Bin 3397 -> 2470 bytes
 ...r_TitleDisplay_FontFamily@android_240ppi.png |  Bin 3882 -> 2511 bytes
 ...Bar_TitleDisplay_FontSize@android_240ppi.png |  Bin 2600 -> 1902 bytes
 ...r_TitleDisplay_FontWeight@android_240ppi.png |  Bin 3422 -> 2295 bytes
 ...nBar_TitleDisplay_Leading@android_240ppi.png |  Bin 3268 -> 2352 bytes
 ...itleDisplay_LetterSpacing@android_240ppi.png |  Bin 3362 -> 2448 bytes
 ...ar_TitleDisplay_TextAlign@android_240ppi.png |  Bin 3382 -> 2376 bytes
 ...tleDisplay_TextDecoration@android_240ppi.png |  Bin 3263 -> 2370 bytes
 ...isplay_TextDecoration@android_240ppi.png.xml |  395 +++
 ...r_TitleDisplay_TextIndent@android_240ppi.png |  Bin 3315 -> 2408 bytes
 ...leDisplay_TextShadowColor@android_240ppi.png |  Bin 3350 -> 2441 bytes
 ...ViewNavigator_chromeColor@android_240ppi.png |  Bin 1334 -> 1120 bytes
 ...ewNavigator_default_style@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...change_fontFamily_Georgia@android_240ppi.png |  Bin 1949 -> 1449 bytes
 ...r_style_change_fontWeight@android_240ppi.png |  Bin 3204 -> 1478 bytes
 ...ator_style_change_leading@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_letterSpacing-5@android_240ppi.png |  Bin 1322 -> 1141 bytes
 ...yle_change_letterSpacing5@android_240ppi.png |  Bin 1612 -> 1272 bytes
 ...nge_letterSpacing_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...e_change_textAlign_center@android_240ppi.png |  Bin 1613 -> 1258 bytes
 ...yle_change_textAlign_left@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_textAlign_right@android_240ppi.png |  Bin 1613 -> 1252 bytes
 ...ge_textDecoration_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...hange_textDecoration_none@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 1624 -> 1285 bytes
 ...yle_change_textIndent_100@android_240ppi.png |  Bin 1616 -> 1279 bytes
 ...change_textIndent_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_textShadowColor@android_240ppi.png |  Bin 1640 -> 1306 bytes
 ..._change_titleAlign_center@android_240ppi.png |  Bin 1614 -> 1277 bytes
 ...change_titleAlign_default@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...le_change_titleAlign_left@android_240ppi.png |  Bin 1610 -> 1269 bytes
 ...e_change_titleAlign_right@android_240ppi.png |  Bin 1613 -> 1252 bytes
 .../components/ActionBar/swfs/ActionBar.mxml    |   31 +
 .../components/ActionBar/swfs/ActionBarCSS.mxml |    1 +
 .../ActionBar/swfs/ActionBarGlobalStyles.mxml   |    1 +
 .../ActionBar/swfs/ActionBarMCSS.mxml           |    5 +-
 .../ActionBar/swfs/ActionBarMain.mxml           |    1 +
 .../ActionBar/swfs/ActionBarMain2.mxml          |    2 +-
 .../ActionBar/swfs/ActionBarMainStyle.mxml      |    1 +
 .../ActionBar/swfs/ActionBarMainStyle2.mxml     |   30 +
 .../ActionBar/swfs/ActionBarTest.mxml           |    1 +
 .../ActionBar/swfs/ActionBarViewMain.mxml       |    1 +
 .../swfs/ActionBarViewNavigatorStyleTest.mxml   |   31 +-
 .../baselines/BI_SDK_29330@320ppi.png           |  Bin 1423 -> 1414 bytes
 ...Mobile_Button_events_move@android_240ppi.png |  Bin 3383 -> 2572 bytes
 .../Mobile_Button_events_move@win_320ppi.png    |  Bin 1764 -> 2370 bytes
 ..._integration_default_btn1@android_240ppi.png |  Bin 1723 -> 1431 bytes
 ...Icon_integration_default_btn1@win_320ppi.png |  Bin 972 -> 1184 bytes
 ..._integration_default_btn5@android_240ppi.png |  Bin 1948 -> 1591 bytes
 ...Icon_integration_default_btn5@win_320ppi.png |  Bin 1585 -> 1889 bytes
 ..._integration_default_btn6@android_240ppi.png |  Bin 1166 -> 1168 bytes
 ...n_integration_noIcon_btn6@android_240ppi.png |  Bin 2289 -> 1622 bytes
 ..._Icon_integration_noIcon_btn6@win_320ppi.png |  Bin 1296 -> 1755 bytes
 ...n_integration_state1_btn1@android_240ppi.png |  Bin 3758 -> 3101 bytes
 ..._Icon_integration_state1_btn1@win_320ppi.png |  Bin 1654 -> 2352 bytes
 ...n_integration_state1_btn3@android_240ppi.png |  Bin 1940 -> 1589 bytes
 ..._Icon_integration_state1_btn3@win_320ppi.png |  Bin 1577 -> 1880 bytes
 ...n_integration_state1_btn4@android_240ppi.png |  Bin 1530 -> 1291 bytes
 ..._Icon_integration_state1_btn4@win_320ppi.png |  Bin 1238 -> 1537 bytes
 ...n_integration_state1_btn5@android_240ppi.png |  Bin 1898 -> 1532 bytes
 ..._Icon_integration_state1_btn5@win_320ppi.png |  Bin 1539 -> 1747 bytes
 ...n_integration_state1_btn6@android_240ppi.png |  Bin 3194 -> 2398 bytes
 ..._Icon_integration_state1_btn6@win_320ppi.png |  Bin 1709 -> 2367 bytes
 ...ation_default_state_label@android_240ppi.png |  Bin 2375 -> 1724 bytes
 ...tegration_default_state_label@win_320ppi.png |  Bin 1279 -> 1830 bytes
 ...rom_includeIn_state_label@android_240ppi.png |  Bin 2447 -> 1862 bytes
 ...udeFrom_includeIn_state_label@win_320ppi.png |  Bin 1303 -> 1895 bytes
 ...ration_state1_state_click@android_240ppi.png |  Bin 1994 -> 1646 bytes
 ...ntegration_state1_state_click@win_320ppi.png |  Bin 1259 -> 1732 bytes
 ...1_state_label_chromeColor@android_240ppi.png |  Bin 2189 -> 1682 bytes
 ...tate1_state_label_chromeColor@win_320ppi.png |  Bin 1313 -> 1788 bytes
 ...ration_state2_state_click@android_240ppi.png |  Bin 2142 -> 1707 bytes
 ...ntegration_state2_state_click@win_320ppi.png |  Bin 1309 -> 1806 bytes
 ...2_state_label_chromeColor@android_240ppi.png |  Bin 2310 -> 1744 bytes
 ...tate2_state_label_chromeColor@win_320ppi.png |  Bin 1363 -> 1867 bytes
 ...tton_Change_label_runtime@android_240ppi.png |  Bin 5218 -> 3640 bytes
 ...e_Button_Change_label_runtime@win_320ppi.png |  Bin 2225 -> 3669 bytes
 ...n_Changing_label_property@android_240ppi.png |  Bin 6476 -> 3183 bytes
 ...utton_Changing_label_property@win_320ppi.png |  Bin 2453 -> 4168 bytes
 ...xWidth_property_10_to_100@android_240ppi.png |  Bin 838 -> 1376 bytes
 ...g_maxWidth_property_10_to_100@win_320ppi.png |  Bin 898 -> 910 bytes
 ...ng_height_less_than_label@android_240ppi.png |  Bin 544 -> 542 bytes
 ..._Checking_height_property@android_240ppi.png |  Bin 2208 -> 1654 bytes
 ...tton_Checking_height_property@win_320ppi.png |  Bin 1076 -> 1465 bytes
 ...n_Checking_label_property@android_240ppi.png |  Bin 2282 -> 1733 bytes
 ...utton_Checking_label_property@win_320ppi.png |  Bin 1261 -> 1698 bytes
 ...ton_Checking_neg5point6_x@android_240ppi.png |  Bin 3609 -> 2704 bytes
 ..._Button_Checking_neg5point6_x@win_320ppi.png |  Bin 1775 -> 2628 bytes
 ...ton_Checking_neg5point6_y@android_240ppi.png |  Bin 3588 -> 2651 bytes
 ..._Button_Checking_neg5point6_y@win_320ppi.png |  Bin 1709 -> 2608 bytes
 ..._percentHeight_property_0@android_240ppi.png |  Bin 3749 -> 2606 bytes
 ...king_percentHeight_property_0@win_320ppi.png |  Bin 1773 -> 2528 bytes
 ...ercentHeight_property_100@android_240ppi.png |  Bin 3862 -> 2695 bytes
 ...ng_percentHeight_property_100@win_320ppi.png |  Bin 1775 -> 2484 bytes
 ..._percentHeight_property_1@android_240ppi.png |  Bin 3749 -> 2606 bytes
 ...king_percentHeight_property_1@win_320ppi.png |  Bin 1773 -> 2528 bytes
 ...percentHeight_property_50@android_240ppi.png |  Bin 3829 -> 2679 bytes
 ...ing_percentHeight_property_50@win_320ppi.png |  Bin 1777 -> 2536 bytes
 ...ercentHeight_property_100@android_240ppi.png |  Bin 863 -> 783 bytes
 ...g_percentWidth_property_0@android_240ppi.png |  Bin 1470 -> 1332 bytes
 ...cking_percentWidth_property_0@win_320ppi.png |  Bin 1274 -> 1444 bytes
 ...percentWidth_property_100@android_240ppi.png |  Bin 3742 -> 2599 bytes
 ...ing_percentWidth_property_100@win_320ppi.png |  Bin 1791 -> 2518 bytes
 ...g_percentWidth_property_1@android_240ppi.png |  Bin 1470 -> 1332 bytes
 ...cking_percentWidth_property_1@win_320ppi.png |  Bin 1274 -> 1444 bytes
 ..._percentWidth_property_50@android_240ppi.png |  Bin 2406 -> 2038 bytes
 ...king_percentWidth_property_50@win_320ppi.png |  Bin 1407 -> 1742 bytes
 ...hecking_scaleX_2_property@android_240ppi.png |  Bin 4086 -> 3063 bytes
 ...on_Checking_scaleX_2_property@win_320ppi.png |  Bin 5636 -> 5104 bytes
 ..._scaleX_point565_property@android_240ppi.png |  Bin 2455 -> 1885 bytes
 ...king_scaleX_point565_property@win_320ppi.png |  Bin 3073 -> 3070 bytes
 ...ng_scaleX_point5_property@android_240ppi.png |  Bin 2106 -> 1801 bytes
 ...ecking_scaleX_point5_property@win_320ppi.png |  Bin 2742 -> 2763 bytes
 ...hecking_scaleY_2_property@android_240ppi.png |  Bin 4538 -> 3821 bytes
 ...on_Checking_scaleY_2_property@win_320ppi.png |  Bin 6207 -> 6351 bytes
 ..._scaleY_point565_property@android_240ppi.png |  Bin 2094 -> 1737 bytes
 ...king_scaleY_point565_property@win_320ppi.png |  Bin 2851 -> 2459 bytes
 ...ng_scaleY_point5_property@android_240ppi.png |  Bin 1696 -> 1552 bytes
 ...ecking_scaleY_point5_property@win_320ppi.png |  Bin 2335 -> 2289 bytes
 ...ecking_styleName_property@android_240ppi.png |  Bin 4501 -> 3211 bytes
 ...n_Checking_styleName_property@win_320ppi.png |  Bin 1946 -> 3008 bytes
 ...ng_visible_false_property@android_240ppi.png |  Bin 6786 -> 4809 bytes
 ...ecking_visible_false_property@win_320ppi.png |  Bin 3227 -> 4597 bytes
 ...le_true_property_visually@android_240ppi.png |  Bin 2282 -> 1733 bytes
 ...isible_true_property_visually@win_320ppi.png |  Bin 1261 -> 1698 bytes
 ...Button_Checking_width_100@android_240ppi.png |  Bin 1675 -> 1369 bytes
 ...ile_Button_Checking_width_100@win_320ppi.png |  Bin 956 -> 1078 bytes
 ..._Button_Checking_width_50@android_240ppi.png |  Bin 1021 -> 933 bytes
 ...bile_Button_Checking_width_50@win_320ppi.png |  Bin 796 -> 819 bytes
 ...bile_Button_Checking_x_50@android_240ppi.png |  Bin 3509 -> 2739 bytes
 .../Mobile_Button_Checking_x_50@win_320ppi.png  |  Bin 1627 -> 2477 bytes
 ...bile_Button_Checking_y_56@android_240ppi.png |  Bin 3632 -> 2816 bytes
 .../Mobile_Button_Checking_y_56@win_320ppi.png  |  Bin 1855 -> 2704 bytes
 ...ile_Button_alpha_property@android_240ppi.png |  Bin 2078 -> 1715 bytes
 .../Mobile_Button_alpha_property@win_320ppi.png |  Bin 1420 -> 1884 bytes
 ...ner_scaleX_scaleY_point33@android_240ppi.png |  Bin 1208 -> 1039 bytes
 ...ntainer_scaleX_scaleY_point33@win_320ppi.png |  Bin 1374 -> 1703 bytes
 ...le_Button_emphasized_true@android_240ppi.png |  Bin 2112 -> 1776 bytes
 ...Mobile_Button_emphasized_true@win_320ppi.png |  Bin 1337 -> 1877 bytes
 ...on_enabled_false_property@android_240ppi.png |  Bin 1852 -> 1699 bytes
 ...Button_enabled_false_property@win_320ppi.png |  Bin 1235 -> 1625 bytes
 ...e_Button_height_width_300@android_240ppi.png |  Bin 3191 -> 2796 bytes
 ...obile_Button_height_width_300@win_320ppi.png |  Bin 2348 -> 2862 bytes
 ...ile_Button_icon_alpha_0.5@android_240ppi.png |  Bin 3172 -> 2765 bytes
 .../Mobile_Button_icon_alpha_0.5@win_320ppi.png |  Bin 2172 -> 2903 bytes
 ...obile_Button_icon_alpha_0@android_240ppi.png |  Bin 219 -> 222 bytes
 ...e_Button_icon_as_childTag@android_240ppi.png |  Bin 5161 -> 4113 bytes
 ...obile_Button_icon_as_childTag@win_320ppi.png |  Bin 3430 -> 4382 bytes
 ...utton_icon_down_alpha_0.5@android_240ppi.png |  Bin 3325 -> 2875 bytes
 ...le_Button_icon_down_alpha_0.5@win_320ppi.png |  Bin 2376 -> 3099 bytes
 ...tton_icon_emphasized_true@android_240ppi.png |  Bin 3717 -> 2799 bytes
 ...e_Button_icon_emphasized_true@win_320ppi.png |  Bin 2200 -> 3108 bytes
 ...tton_icon_height_increase@android_240ppi.png |  Bin 2486 -> 1936 bytes
 ...e_Button_icon_height_increase@win_320ppi.png |  Bin 1674 -> 2090 bytes
 ...icon_label_change_runtime@android_240ppi.png |  Bin 4929 -> 3374 bytes
 ...ton_icon_label_change_runtime@win_320ppi.png |  Bin 2417 -> 3418 bytes
 ...utton_icon_width_increase@android_240ppi.png |  Bin 2449 -> 1924 bytes
 ...le_Button_icon_width_increase@win_320ppi.png |  Bin 1706 -> 2123 bytes
 ..._icon_with_label_scaleX_2@android_240ppi.png |  Bin 2936 -> 2422 bytes
 ...tton_icon_with_label_scaleX_2@win_320ppi.png |  Bin 4109 -> 4049 bytes
 ..._with_label_scaleX_point5@android_240ppi.png |  Bin 1656 -> 1486 bytes
 ...icon_with_label_scaleX_point5@win_320ppi.png |  Bin 2230 -> 2261 bytes
 ...bel_scaleX_scaleY_1point5@android_240ppi.png |  Bin 3498 -> 2893 bytes
 ...h_label_scaleX_scaleY_1point5@win_320ppi.png |  Bin 4622 -> 4614 bytes
 ..._icon_with_label_scaleY_2@android_240ppi.png |  Bin 3329 -> 2832 bytes
 ...tton_icon_with_label_scaleY_2@win_320ppi.png |  Bin 4589 -> 4540 bytes
 ..._with_label_scaleY_point5@android_240ppi.png |  Bin 1410 -> 1154 bytes
 ...icon_with_label_scaleY_point5@win_320ppi.png |  Bin 2041 -> 1988 bytes
 ..._with_label_visible_false@android_240ppi.png |  Bin 2125 -> 1820 bytes
 ...icon_with_label_visible_false@win_320ppi.png |  Bin 1496 -> 1850 bytes
 ...Button_rotationX_property@android_240ppi.png |  Bin 5200 -> 3937 bytes
 ...ile_Button_rotationX_property@win_320ppi.png |  Bin 4139 -> 4655 bytes
 ...Button_rotationY_property@android_240ppi.png |  Bin 6069 -> 4825 bytes
 ...ile_Button_rotationY_property@win_320ppi.png |  Bin 5067 -> 5488 bytes
 ...Button_rotationZ_property@android_240ppi.png |  Bin 4919 -> 4374 bytes
 ...ile_Button_rotationZ_property@win_320ppi.png |  Bin 5786 -> 5636 bytes
 ..._Button_rotation_property@android_240ppi.png |  Bin 4919 -> 4374 bytes
 ...bile_Button_rotation_property@win_320ppi.png |  Bin 5786 -> 5636 bytes
 ...le_Button_scaleZ_property@android_240ppi.png |  Bin 3789 -> 2616 bytes
 ...Mobile_Button_scaleZ_property@win_320ppi.png |  Bin 2795 -> 3370 bytes
 ...ghlighting_false_property@android_240ppi.png |  Bin 2767 -> 1733 bytes
 ...kyHighlighting_false_property@win_320ppi.png |  Bin 1261 -> 2388 bytes
 ...ighlighting_true_property@android_240ppi.png |  Bin 2767 -> 2194 bytes
 ...ckyHighlighting_true_property@win_320ppi.png |  Bin 1928 -> 2388 bytes
 ...icon_add_after_long_label@android_240ppi.png |  Bin 6397 -> 4314 bytes
 ...ton_icon_add_after_long_label@win_320ppi.png |  Bin 2946 -> 4544 bytes
 ...con_add_after_short_label@android_240ppi.png |  Bin 2396 -> 1882 bytes
 ...on_icon_add_after_short_label@win_320ppi.png |  Bin 1667 -> 2124 bytes
 ...utton_icon_mxml_component@android_240ppi.png |  Bin 1181 -> 1182 bytes
 .../mobile_button_icon_swf@android_240ppi.png   |  Bin 667 -> 2135 bytes
 .../mobile_button_icon_swf@win_320ppi.png       |  Bin 2258 -> 793 bytes
 ...on_with_label_button_down@android_240ppi.png |  Bin 2760 -> 2237 bytes
 ...n_icon_with_label_button_down@win_320ppi.png |  Bin 2267 -> 2690 bytes
 ...n_with_label_change_value@android_240ppi.png |  Bin 2409 -> 1882 bytes
 ..._icon_with_label_change_value@win_320ppi.png |  Bin 1495 -> 1988 bytes
 ...ton_icon_with_label_clear@android_240ppi.png |  Bin 2192 -> 1568 bytes
 ..._button_icon_with_label_clear@win_320ppi.png |  Bin 1222 -> 1675 bytes
 ..._icon_with_label_disabled@android_240ppi.png |  Bin 2004 -> 1755 bytes
 ...tton_icon_with_label_disabled@win_320ppi.png |  Bin 1583 -> 1953 bytes
 ...h_long_label_change_value@android_240ppi.png |  Bin 5083 -> 3836 bytes
 ..._with_long_label_change_value@win_320ppi.png |  Bin 2712 -> 3895 bytes
 .../properties/button_icon_properties.mxml      |    6 +-
 .../Button/properties/button_properties.mxml    |   10 +-
 ...ession_height_measurement@android_240ppi.png |  Bin 2285 -> 1887 bytes
 ...regression_height_measurement@win_320ppi.png |  Bin 1353 -> 1690 bytes
 ...ion_measuredText_rounding@android_240ppi.png |  Bin 2446 -> 1894 bytes
 ...ression_measuredText_rounding@win_320ppi.png |  Bin 1338 -> 1914 bytes
 ...n_style_css_iconPlacement@android_240ppi.png |  Bin 2302 -> 1831 bytes
 ...utton_style_css_iconPlacement@win_320ppi.png |  Bin 1496 -> 1961 bytes
 ..._css_style_disabled_state@android_240ppi.png |  Bin 2338 -> 1920 bytes
 ...tyle_css_style_disabled_state@win_320ppi.png |  Bin 1381 -> 1889 bytes
 ...e_down_state_first_button@android_240ppi.png |  Bin 3240 -> 2627 bytes
 ...style_down_state_first_button@win_320ppi.png |  Bin 1895 -> 2298 bytes
 ...tyle_upState_first_button@android_240ppi.png |  Bin 2842 -> 2006 bytes
 ...ss_style_upState_first_button@win_320ppi.png |  Bin 1267 -> 1729 bytes
 ...le_up_state_second_button@android_240ppi.png |  Bin 3505 -> 2417 bytes
 ..._style_up_state_second_button@win_320ppi.png |  Bin 1700 -> 2740 bytes
 ...tyles_accentColor_default@android_240ppi.png |  Bin 2959 -> 2384 bytes
 ...on_styles_accentColor_default@win_320ppi.png |  Bin 1634 -> 2424 bytes
 ...yles_accentColor_disabled@android_240ppi.png |  Bin 2065 -> 1970 bytes
 ...n_styles_accentColor_disabled@win_320ppi.png |  Bin 1426 -> 2015 bytes
 ...tyles_accentColor_pressed@android_240ppi.png |  Bin 2753 -> 2399 bytes
 ...on_styles_accentColor_pressed@win_320ppi.png |  Bin 2179 -> 2760 bytes
 ...tyles_accentColor_setInAS@android_240ppi.png |  Bin 2096 -> 1794 bytes
 ...on_styles_accentColor_setInAS@win_320ppi.png |  Bin 1341 -> 1892 bytes
 ...e_Button_styles_bottom_10@android_240ppi.png |  Bin 3084 -> 2316 bytes
 ...obile_Button_styles_bottom_10@win_320ppi.png |  Bin 1583 -> 2275 bytes
 ..._Button_styles_color_blue@android_240ppi.png |  Bin 3018 -> 2015 bytes
 ...bile_Button_styles_color_blue@win_320ppi.png |  Bin 1492 -> 2191 bytes
 ...styles_color_red_setStyle@android_240ppi.png |  Bin 3020 -> 2030 bytes
 ...ton_styles_color_red_setStyle@win_320ppi.png |  Bin 1492 -> 2187 bytes
 ...les_color_styleName_green@android_240ppi.png |  Bin 3024 -> 2027 bytes
 ..._styles_color_styleName_green@win_320ppi.png |  Bin 1494 -> 1994 bytes
 ...n_styles_default_baseline@android_240ppi.png |  Bin 3216 -> 2462 bytes
 ...utton_styles_default_baseline@win_320ppi.png |  Bin 1757 -> 2459 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 2352 -> 1908 bytes
 ...es_disabled_textShadowAlpha_0@win_320ppi.png |  Bin 1365 -> 1947 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3301 -> 2716 bytes
 ...abled_textShadowAlpha_1point5@win_320ppi.png |  Bin 1717 -> 2611 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3362 -> 2841 bytes
 ...yles_disabled_textShadowColor@win_320ppi.png |  Bin 1731 -> 2869 bytes
 ...es_down_textShadowAlpha_0@android_240ppi.png |  Bin 3850 -> 2661 bytes
 ...styles_down_textShadowAlpha_0@win_320ppi.png |  Bin 2166 -> 2872 bytes
 ...n_textShadowAlpha_1point5@android_240ppi.png |  Bin 4274 -> 3163 bytes
 ..._down_textShadowAlpha_1point5@win_320ppi.png |  Bin 2369 -> 3352 bytes
 ...yles_down_textShadowColor@android_240ppi.png |  Bin 4396 -> 3209 bytes
 ...n_styles_down_textShadowColor@win_320ppi.png |  Bin 2376 -> 3632 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3883 -> 3067 bytes
 ...ShadowColor_textShadowAlpha_2@win_320ppi.png |  Bin 2342 -> 3331 bytes
 ...utton_styles_focusAlpha_0@android_240ppi.png |  Bin 3624 -> 2886 bytes
 ...le_Button_styles_focusAlpha_0@win_320ppi.png |  Bin 2290 -> 2990 bytes
 ...styles_focusAlpha_1point5@android_240ppi.png |  Bin 4049 -> 3334 bytes
 ...ton_styles_focusAlpha_1point5@win_320ppi.png |  Bin 2869 -> 3574 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 4039 -> 3281 bytes
 ..._styles_focusBlendMode_invert@win_320ppi.png |  Bin 2870 -> 3554 bytes
 ...s_focusBlendMode_subtract@android_240ppi.png |  Bin 4076 -> 3375 bytes
 ...tyles_focusBlendMode_subtract@win_320ppi.png |  Bin 2951 -> 3639 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 4054 -> 3341 bytes
 ...ton_styles_focusColor_default@win_320ppi.png |  Bin 2871 -> 3577 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 4077 -> 3365 bytes
 ...n_styles_focusColor_set_in_AS@win_320ppi.png |  Bin 2941 -> 3631 bytes
 ...n_styles_focusThickness_0@android_240ppi.png |  Bin 3632 -> 2903 bytes
 ...utton_styles_focusThickness_0@win_320ppi.png |  Bin 2301 -> 2999 bytes
 ...n_styles_focusThickness_4@android_240ppi.png |  Bin 4146 -> 3431 bytes
 ...utton_styles_focusThickness_4@win_320ppi.png |  Bin 3009 -> 3721 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 4054 -> 3341 bytes
 ...a_thickness_blendmode_default@win_320ppi.png |  Bin 2871 -> 3577 bytes
 ..._thickness_blendmode_mxml@android_240ppi.png |  Bin 4152 -> 3434 bytes
 ...lpha_thickness_blendmode_mxml@win_320ppi.png |  Bin 3014 -> 3711 bytes
 ...les_fontFamily_CourierNew@android_240ppi.png |  Bin 3451 -> 2247 bytes
 ..._styles_fontFamily_CourierNew@win_320ppi.png |  Bin 1568 -> 2311 bytes
 ...amily_CourierNew_setStyle@android_240ppi.png |  Bin 3451 -> 2247 bytes
 ...ontFamily_CourierNew_setStyle@win_320ppi.png |  Bin 1568 -> 2311 bytes
 ...yles_fontSetting_disabled@android_240ppi.png |  Bin 2760 -> 2493 bytes
 ...n_styles_fontSetting_disabled@win_320ppi.png |  Bin 1428 -> 1867 bytes
 ...yles_fontSetting_selected@android_240ppi.png |  Bin 4025 -> 3072 bytes
 ...n_styles_fontSetting_selected@win_320ppi.png |  Bin 2093 -> 2603 bytes
 ...Button_styles_fontSize_18@android_240ppi.png |  Bin 2418 -> 2010 bytes
 ...ile_Button_styles_fontSize_18@win_320ppi.png |  Bin 1232 -> 1632 bytes
 ...yles_fontSize_18_setStyle@android_240ppi.png |  Bin 2418 -> 2010 bytes
 ...n_styles_fontSize_18_setStyle@win_320ppi.png |  Bin 1232 -> 1632 bytes
 ...e_Button_styles_fontStyle@android_240ppi.png |  Bin 3083 -> 2237 bytes
 ...obile_Button_styles_fontStyle@win_320ppi.png |  Bin 1509 -> 2387 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 2499 -> 2093 bytes
 ...ton_styles_fontStyle_disabled@win_320ppi.png |  Bin 1486 -> 2260 bytes
 ...on_styles_fontWeight_bold@android_240ppi.png |  Bin 3337 -> 2284 bytes
 ...Button_styles_fontWeight_bold@win_320ppi.png |  Bin 1552 -> 2238 bytes
 ..._fontWeight_bold_setStyle@android_240ppi.png |  Bin 3337 -> 2284 bytes
 ...yles_fontWeight_bold_setStyle@win_320ppi.png |  Bin 1552 -> 2238 bytes
 ...ton_styles_font_styleName@android_240ppi.png |  Bin 2883 -> 1938 bytes
 ..._Button_styles_font_styleName@win_320ppi.png |  Bin 1260 -> 1695 bytes
 ...Button_styles_kerning_off@android_240ppi.png |  Bin 2175 -> 1597 bytes
 ...ile_Button_styles_kerning_off@win_320ppi.png |  Bin 1296 -> 1701 bytes
 ..._Button_styles_kerning_on@android_240ppi.png |  Bin 2175 -> 1597 bytes
 ...bile_Button_styles_kerning_on@win_320ppi.png |  Bin 1296 -> 1701 bytes
 ...leading_change_at_runtime@android_240ppi.png |  Bin 3238 -> 2385 bytes
 ...les_leading_change_at_runtime@win_320ppi.png |  Bin 1584 -> 2293 bytes
 ...on_styles_leading_default@android_240ppi.png |  Bin 3238 -> 2385 bytes
 ...Button_styles_leading_default@win_320ppi.png |  Bin 1584 -> 2293 bytes
 ...ile_Button_styles_left_10@android_240ppi.png |  Bin 3082 -> 2342 bytes
 .../Mobile_Button_styles_left_10@win_320ppi.png |  Bin 1600 -> 2297 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 4768 -> 3301 bytes
 ...tterSpacing_change_at_runtime@win_320ppi.png |  Bin 2130 -> 3163 bytes
 ...tyles_lineThrough_default@android_240ppi.png |  Bin 3821 -> 2780 bytes
 ...on_styles_lineThrough_default@win_320ppi.png |  Bin 1792 -> 2700 bytes
 ...on_styles_over_customSkin@android_240ppi.png |  Bin 1875 -> 1859 bytes
 ...Button_styles_over_customSkin@win_320ppi.png |  Bin 617 -> 844 bytes
 ...le_Button_styles_right_25@android_240ppi.png |  Bin 3139 -> 2390 bytes
 ...Mobile_Button_styles_right_25@win_320ppi.png |  Bin 1651 -> 2354 bytes
 ...utton_styles_set_baseline@android_240ppi.png |  Bin 3061 -> 2316 bytes
 ...le_Button_styles_set_baseline@win_320ppi.png |  Bin 1447 -> 2167 bytes
 ...yles_set_horizontalCenter@android_240ppi.png |  Bin 3114 -> 2384 bytes
 ...n_styles_set_horizontalCenter@win_320ppi.png |  Bin 1647 -> 2343 bytes
 ...yles_set_verticalCenter_5@android_240ppi.png |  Bin 3078 -> 2316 bytes
 ...n_styles_set_verticalCenter_5@win_320ppi.png |  Bin 1582 -> 2274 bytes
 ..._skin_disabled_long_label@android_240ppi.png |  Bin 6433 -> 5368 bytes
 ...yles_skin_disabled_long_label@win_320ppi.png |  Bin 2811 -> 4375 bytes
 ...ed_long_label_chromeColor@android_240ppi.png |  Bin 7619 -> 6650 bytes
 ...sabled_long_label_chromeColor@win_320ppi.png |  Bin 2950 -> 4630 bytes
 ...skin_disabled_short_label@android_240ppi.png |  Bin 2504 -> 2062 bytes
 ...les_skin_disabled_short_label@win_320ppi.png |  Bin 1188 -> 1582 bytes
 ...d_short_label_chromeColor@android_240ppi.png |  Bin 3020 -> 2501 bytes
 ...abled_short_label_chromeColor@win_320ppi.png |  Bin 1267 -> 1740 bytes
 ...es_skin_normal_long_label@android_240ppi.png |  Bin 8235 -> 5424 bytes
 ...styles_skin_normal_long_label@win_320ppi.png |  Bin 2589 -> 4205 bytes
 ...al_long_label_chromeColor@android_240ppi.png |  Bin 7954 -> 5380 bytes
 ...normal_long_label_chromeColor@win_320ppi.png |  Bin 2607 -> 4197 bytes
 ...s_skin_normal_short_label@android_240ppi.png |  Bin 3105 -> 2075 bytes
 ...tyles_skin_normal_short_label@win_320ppi.png |  Bin 1128 -> 1562 bytes
 ...l_short_label_chromeColor@android_240ppi.png |  Bin 3049 -> 2080 bytes
 ...ormal_short_label_chromeColor@win_320ppi.png |  Bin 1142 -> 1573 bytes
 ..._skin_selected_long_label@android_240ppi.png |  Bin 9296 -> 6211 bytes
 ...yles_skin_selected_long_label@win_320ppi.png |  Bin 3575 -> 5682 bytes
 ...ed_long_label_chromeColor@android_240ppi.png |  Bin 8518 -> 6252 bytes
 ...lected_long_label_chromeColor@win_320ppi.png |  Bin 3874 -> 6137 bytes
 ...skin_selected_short_label@android_240ppi.png |  Bin 3747 -> 2648 bytes
 ...les_skin_selected_short_label@win_320ppi.png |  Bin 1811 -> 2454 bytes
 ...d_short_label_chromeColor@android_240ppi.png |  Bin 3438 -> 2584 bytes
 ...ected_short_label_chromeColor@win_320ppi.png |  Bin 2031 -> 2741 bytes
 ...es_textDecoration_default@android_240ppi.png |  Bin 8186 -> 5657 bytes
 ...styles_textDecoration_default@win_320ppi.png |  Bin 3144 -> 5258 bytes
 ..._textDecoration_underline@android_240ppi.png |  Bin 5815 -> 3833 bytes
 ...yles_textDecoration_underline@win_320ppi.png |  Bin 2304 -> 3813 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 3205 -> 2107 bytes
 ...tton_styles_textShadowAlpha_0@win_320ppi.png |  Bin 1482 -> 2132 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 3699 -> 2586 bytes
 ...tyles_textShadowAlpha_1point5@win_320ppi.png |  Bin 1683 -> 2593 bytes
 ...on_styles_textShadowColor@android_240ppi.png |  Bin 3868 -> 2703 bytes
 ...Button_styles_textShadowColor@win_320ppi.png |  Bin 1687 -> 2865 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3377 -> 2560 bytes
 ...ShadowColor_textShadowAlpha_2@win_320ppi.png |  Bin 1645 -> 2592 bytes
 ...bile_Button_styles_top_10@android_240ppi.png |  Bin 3063 -> 2316 bytes
 .../Mobile_Button_styles_top_10@win_320ppi.png  |  Bin 1582 -> 2275 bytes
 ...tton_iconPlacement_bottom@android_240ppi.png |  Bin 2330 -> 1872 bytes
 ...e_button_iconPlacement_bottom@win_320ppi.png |  Bin 1636 -> 2117 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 1994 -> 1792 bytes
 ...acement_bottom_explicitHeight@win_320ppi.png |  Bin 1558 -> 2053 bytes
 ...ement_bottom_label_noIcon@android_240ppi.png |  Bin 1499 -> 1267 bytes
 ...Placement_bottom_label_noIcon@win_320ppi.png |  Bin 1056 -> 1483 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 4089 -> 3184 bytes
 ...iconPlacement_bottom_to_right@win_320ppi.png |  Bin 2242 -> 3036 bytes
 ..._iconPlacement_clearStyle@android_240ppi.png |  Bin 2254 -> 1797 bytes
 ...tton_iconPlacement_clearStyle@win_320ppi.png |  Bin 1611 -> 2030 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 2535 -> 1955 bytes
 ...iconPlacement_css_selectionID@win_320ppi.png |  Bin 1649 -> 2005 bytes
 ...onPlacement_css_styleName@android_240ppi.png |  Bin 4443 -> 3066 bytes
 ...n_iconPlacement_css_styleName@win_320ppi.png |  Bin 2282 -> 3220 bytes
 ...ton_iconPlacement_default@android_240ppi.png |  Bin 2254 -> 1797 bytes
 ..._button_iconPlacement_default@win_320ppi.png |  Bin 1611 -> 2030 bytes
 ...tton_iconPlacement_inline@android_240ppi.png |  Bin 1878 -> 1591 bytes
 ...e_button_iconPlacement_inline@win_320ppi.png |  Bin 1265 -> 1585 bytes
 ...button_iconPlacement_left@android_240ppi.png |  Bin 2254 -> 1797 bytes
 ...ile_button_iconPlacement_left@win_320ppi.png |  Bin 1611 -> 2030 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 2076 -> 1823 bytes
 ...Placement_left_explicitHeight@win_320ppi.png |  Bin 1714 -> 2134 bytes
 ...acement_left_label_noIcon@android_240ppi.png |  Bin 1499 -> 1267 bytes
 ...onPlacement_left_label_noIcon@win_320ppi.png |  Bin 1056 -> 1483 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 2839 -> 2189 bytes
 ...ton_iconPlacement_left_to_top@win_320ppi.png |  Bin 1893 -> 2344 bytes
 ...utton_iconPlacement_right@android_240ppi.png |  Bin 2244 -> 1789 bytes
 ...le_button_iconPlacement_right@win_320ppi.png |  Bin 1598 -> 2026 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2109 -> 1859 bytes
 ...lacement_right_explicitHeight@win_320ppi.png |  Bin 1740 -> 2170 bytes
 ...cement_right_label_noIcon@android_240ppi.png |  Bin 1499 -> 1267 bytes
 ...nPlacement_right_label_noIcon@win_320ppi.png |  Bin 1056 -> 1483 bytes
 ...on_iconPlacement_setStyle@android_240ppi.png |  Bin 2330 -> 1872 bytes
 ...button_iconPlacement_setStyle@win_320ppi.png |  Bin 1636 -> 2117 bytes
 ..._button_iconPlacement_top@android_240ppi.png |  Bin 2183 -> 1713 bytes
 ...bile_button_iconPlacement_top@win_320ppi.png |  Bin 1607 -> 1939 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 2008 -> 1718 bytes
 ...nPlacement_top_explicitHeight@win_320ppi.png |  Bin 1589 -> 1942 bytes
 ...lacement_top_label_noIcon@android_240ppi.png |  Bin 1499 -> 1267 bytes
 ...conPlacement_top_label_noIcon@win_320ppi.png |  Bin 1056 -> 1483 bytes
 ...button_icon_css_styleName@android_240ppi.png |  Bin 3368 -> 2734 bytes
 ...ile_button_icon_css_styleName@win_320ppi.png |  Bin 2117 -> 2799 bytes
 ...tton_icon_custom_downSkin@android_240ppi.png |  Bin 2783 -> 2296 bytes
 ...e_button_icon_custom_downSkin@win_320ppi.png |  Bin 2179 -> 2592 bytes
 ...button_icon_custom_upSkin@android_240ppi.png |  Bin 3025 -> 2593 bytes
 ...ile_button_icon_custom_upSkin@win_320ppi.png |  Bin 2411 -> 2912 bytes
 ...icon_iconPlacement_bottom@android_240ppi.png |  Bin 2330 -> 1872 bytes
 ...ton_icon_iconPlacement_bottom@win_320ppi.png |  Bin 1636 -> 2117 bytes
 ...n_icon_iconPlacement_left@android_240ppi.png |  Bin 2254 -> 1797 bytes
 ...utton_icon_iconPlacement_left@win_320ppi.png |  Bin 1611 -> 2030 bytes
 ..._icon_iconPlacement_right@android_240ppi.png |  Bin 2244 -> 1789 bytes
 ...tton_icon_iconPlacement_right@win_320ppi.png |  Bin 1598 -> 2026 bytes
 ...on_icon_iconPlacement_top@android_240ppi.png |  Bin 2183 -> 1713 bytes
 ...button_icon_iconPlacement_top@win_320ppi.png |  Bin 1607 -> 1939 bytes
 ...abel_chromeColor_disabled@android_240ppi.png |  Bin 2535 -> 2258 bytes
 ...th_label_chromeColor_disabled@win_320ppi.png |  Bin 2015 -> 2513 bytes
 ...th_label_chromeColor_down@android_240ppi.png |  Bin 4052 -> 3613 bytes
 ...n_with_label_chromeColor_down@win_320ppi.png |  Bin 3652 -> 4108 bytes
 ...with_label_chromeColor_up@android_240ppi.png |  Bin 3716 -> 3240 bytes
 ...con_with_label_chromeColor_up@win_320ppi.png |  Bin 2975 -> 3429 bytes
 ...ton_icon_with_label_color@android_240ppi.png |  Bin 3116 -> 2420 bytes
 ..._button_icon_with_label_color@win_320ppi.png |  Bin 1883 -> 2616 bytes
 ...el_decrease_letterSpacing@android_240ppi.png |  Bin 4880 -> 3400 bytes
 ..._label_decrease_letterSpacing@win_320ppi.png |  Bin 2423 -> 3367 bytes
 ...con_with_label_fontFamily@android_240ppi.png |  Bin 2836 -> 2409 bytes
 ...on_icon_with_label_fontFamily@win_320ppi.png |  Bin 3612 -> 3878 bytes
 ...ith_label_fontFamily_down@android_240ppi.png |  Bin 3290 -> 2894 bytes
 ...on_with_label_fontFamily_down@win_320ppi.png |  Bin 4228 -> 4440 bytes
 ..._icon_with_label_fontSize@android_240ppi.png |  Bin 3205 -> 2468 bytes
 ...tton_icon_with_label_fontSize@win_320ppi.png |  Bin 1775 -> 2337 bytes
 ..._with_label_fontSize_down@android_240ppi.png |  Bin 3781 -> 2960 bytes
 ...icon_with_label_fontSize_down@win_320ppi.png |  Bin 2435 -> 3021 bytes
 ...icon_with_label_fontStyle@android_240ppi.png |  Bin 3448 -> 2560 bytes
 ...ton_icon_with_label_fontStyle@win_320ppi.png |  Bin 1973 -> 2871 bytes
 ...ith_label_fontStyle_dowwn@android_240ppi.png |  Bin 3959 -> 3030 bytes
 ...on_with_label_fontStyle_dowwn@win_320ppi.png |  Bin 2633 -> 3608 bytes
 ...con_with_label_fontWeight@android_240ppi.png |  Bin 3072 -> 2274 bytes
 ...on_icon_with_label_fontWeight@win_320ppi.png |  Bin 1878 -> 2604 bytes
 ...ith_label_fontWeight_down@android_240ppi.png |  Bin 3642 -> 2736 bytes
 ...on_with_label_fontWeight_down@win_320ppi.png |  Bin 2552 -> 3338 bytes
 ...el_increase_letterSpacing@android_240ppi.png |  Bin 5070 -> 3623 bytes
 ..._label_increase_letterSpacing@win_320ppi.png |  Bin 2608 -> 3587 bytes
 ...with_label_textDecoration@android_240ppi.png |  Bin 3109 -> 2494 bytes
 ...con_with_label_textDecoration@win_320ppi.png |  Bin 1996 -> 2691 bytes
 ...label_textDecoration_down@android_240ppi.png |  Bin 4439 -> 3519 bytes
 ...ith_label_textDecoration_down@win_320ppi.png |  Bin 2978 -> 3929 bytes
 .../Button/styles/button_icon_styles.mxml       |   14 +-
 .../components/Button/styles/button_styles.mxml |   18 +-
 .../Button/swfs/MobileButtonAppDPI160.mxml      |    1 +
 .../Button/swfs/MobileButtonMain.mxml           |   30 +
 .../Button/swfs/MobileButtonMain2.mxml          |    1 +
 .../Button/swfs/MobileButtonMainCSSStyle.mxml   |    1 +
 .../Button/swfs/MobileButtonRegression.mxml     |    1 +
 .../swfs/iconButtonIntegrationTester.mxml       |    1 +
 .../Button/swfs/iconButtonTester.mxml           |    1 +
 ...inerIntegration_box_test1@android_240ppi.png |  Bin 4245 -> 3470 bytes
 ...ontainerIntegration_box_test1@win_320ppi.png |  Bin 2463 -> 3165 bytes
 ...inerIntegration_box_test2@android_240ppi.png |  Bin 1850 -> 1767 bytes
 ...ontainerIntegration_box_test2@win_320ppi.png |  Bin 1884 -> 1895 bytes
 ...erIntegration_panel_test5@android_240ppi.png |  Bin 2293 -> 2114 bytes
 ...tainerIntegration_panel_test5@win_320ppi.png |  Bin 2540 -> 2629 bytes
 ...erIntegration_popup_test6@android_240ppi.png |  Bin 1767 -> 1610 bytes
 ...tainerIntegration_popup_test6@win_320ppi.png |  Bin 1991 -> 2005 bytes
 ...Bar_keyDownHandler_test10@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...ttonBar_keyDownHandler_test10@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...Bar_keyDownHandler_test11@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...ttonBar_keyDownHandler_test11@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...Bar_keyDownHandler_test12@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...ttonBar_keyDownHandler_test12@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...nBar_keyDownHandler_test1@android_240ppi.png |  Bin 3774 -> 3030 bytes
 ...uttonBar_keyDownHandler_test1@win_320ppi.png |  Bin 2413 -> 3126 bytes
 ...nBar_keyDownHandler_test2@android_240ppi.png |  Bin 3774 -> 3030 bytes
 ...uttonBar_keyDownHandler_test2@win_320ppi.png |  Bin 2413 -> 3126 bytes
 ...nBar_keyDownHandler_test3@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...uttonBar_keyDownHandler_test3@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...nBar_keyDownHandler_test4@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...uttonBar_keyDownHandler_test4@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...nBar_keyDownHandler_test5@android_240ppi.png |  Bin 3774 -> 3030 bytes
 ...uttonBar_keyDownHandler_test5@win_320ppi.png |  Bin 2413 -> 3126 bytes
 ...nBar_keyDownHandler_test6@android_240ppi.png |  Bin 3774 -> 3030 bytes
 ...uttonBar_keyDownHandler_test6@win_320ppi.png |  Bin 2413 -> 3126 bytes
 ...nBar_keyDownHandler_test7@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...uttonBar_keyDownHandler_test7@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...nBar_keyDownHandler_test8@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...uttonBar_keyDownHandler_test8@win_320ppi.png |  Bin 2431 -> 3141 bytes
 ...nBar_keyDownHandler_test9@android_240ppi.png |  Bin 3781 -> 3030 bytes
 ...uttonBar_keyDownHandler_test9@win_320ppi.png |  Bin 2431 -> 3141 bytes
 .../customSkinSanityCheck@android_240ppi.png    |  Bin 3408 -> 3452 bytes
 ...temRendererFunction_test3@android_240ppi.png |  Bin 1112 -> 1102 bytes
 .../ButtonBar_icon_fxg@android_240ppi.png       |  Bin 3614 -> 2859 bytes
 .../baselines/ButtonBar_icon_fxg@win_320ppi.png |  Bin 2465 -> 3152 bytes
 .../ButtonBar_icon_test10@android_240ppi.png    |  Bin 8056 -> 5693 bytes
 .../ButtonBar_icon_test10@win_320ppi.png        |  Bin 4553 -> 5594 bytes
 .../ButtonBar_icon_test11@android_240ppi.png    |  Bin 5674 -> 4126 bytes
 .../ButtonBar_icon_test11@win_320ppi.png        |  Bin 3174 -> 4137 bytes
 .../ButtonBar_icon_test12@android_240ppi.png    |  Bin 5545 -> 4010 bytes
 .../ButtonBar_icon_test12@win_320ppi.png        |  Bin 3158 -> 4084 bytes
 .../ButtonBar_icon_test13@android_240ppi.png    |  Bin 5758 -> 4204 bytes
 .../ButtonBar_icon_test13@win_320ppi.png        |  Bin 3332 -> 4113 bytes
 .../ButtonBar_icon_test14@android_240ppi.png    |  Bin 6247 -> 4017 bytes
 .../ButtonBar_icon_test14@win_320ppi.png        |  Bin 3001 -> 4014 bytes
 .../ButtonBar_icon_test15@android_240ppi.png    |  Bin 7417 -> 5383 bytes
 .../ButtonBar_icon_test15@win_320ppi.png        |  Bin 3861 -> 4976 bytes
 .../ButtonBar_icon_test16@android_240ppi.png    |  Bin 7352 -> 5214 bytes
 .../ButtonBar_icon_test16@win_320ppi.png        |  Bin 3827 -> 4927 bytes
 .../ButtonBar_icon_test17@android_240ppi.png    |  Bin 7583 -> 5574 bytes
 .../ButtonBar_icon_test17@win_320ppi.png        |  Bin 4030 -> 5138 bytes
 .../ButtonBar_icon_test18@android_240ppi.png    |  Bin 9244 -> 6364 bytes
 .../ButtonBar_icon_test18@win_320ppi.png        |  Bin 4571 -> 6073 bytes
 .../ButtonBar_icon_test19@android_240ppi.png    |  Bin 9094 -> 6434 bytes
 .../ButtonBar_icon_test19@win_320ppi.png        |  Bin 4549 -> 5993 bytes
 .../ButtonBar_icon_test1@android_240ppi.png     |  Bin 7555 -> 5302 bytes
 .../ButtonBar_icon_test1@win_320ppi.png         |  Bin 4097 -> 5123 bytes
 .../ButtonBar_icon_test20@android_240ppi.png    |  Bin 8732 -> 6177 bytes
 .../ButtonBar_icon_test20@win_320ppi.png        |  Bin 4445 -> 5799 bytes
 .../ButtonBar_icon_test21@android_240ppi.png    |  Bin 7555 -> 5302 bytes
 .../ButtonBar_icon_test21@win_320ppi.png        |  Bin 4098 -> 5123 bytes
 .../ButtonBar_icon_test22@android_240ppi.png    |  Bin 7417 -> 5383 bytes
 .../ButtonBar_icon_test22@win_320ppi.png        |  Bin 3851 -> 4976 bytes
 .../ButtonBar_icon_test23@android_240ppi.png    |  Bin 6247 -> 4017 bytes
 .../ButtonBar_icon_test23@win_320ppi.png        |  Bin 3001 -> 4014 bytes
 .../ButtonBar_icon_test24@android_240ppi.png    |  Bin 7001 -> 6654 bytes
 .../ButtonBar_icon_test24@win_320ppi.png        |  Bin 5139 -> 6053 bytes
 .../ButtonBar_icon_test25@android_240ppi.png    |  Bin 7301 -> 5019 bytes
 .../ButtonBar_icon_test25@win_320ppi.png        |  Bin 4160 -> 5017 bytes
 .../ButtonBar_icon_test26@android_240ppi.png    |  Bin 7589 -> 5321 bytes
 .../ButtonBar_icon_test26@win_320ppi.png        |  Bin 4120 -> 5136 bytes
 .../ButtonBar_icon_test27@android_240ppi.png    |  Bin 7426 -> 5132 bytes
 .../ButtonBar_icon_test27@win_320ppi.png        |  Bin 4095 -> 5166 bytes
 .../ButtonBar_icon_test28@android_240ppi.png    |  Bin 7555 -> 5302 bytes
 .../ButtonBar_icon_test28@win_320ppi.png        |  Bin 4097 -> 5123 bytes
 .../ButtonBar_icon_test29@android_240ppi.png    |  Bin 2396 -> 5300 bytes
 .../ButtonBar_icon_test29@win_320ppi.png        |  Bin 2888 -> 2882 bytes
 .../ButtonBar_icon_test2@android_240ppi.png     |  Bin 9897 -> 7943 bytes
 .../ButtonBar_icon_test2@win_320ppi.png         |  Bin 6152 -> 7261 bytes
 .../ButtonBar_icon_test3@android_240ppi.png     |  Bin 9879 -> 7969 bytes
 .../ButtonBar_icon_test3@win_320ppi.png         |  Bin 6176 -> 7249 bytes
 .../ButtonBar_icon_test4@android_240ppi.png     |  Bin 9909 -> 7934 bytes
 .../ButtonBar_icon_test4@win_320ppi.png         |  Bin 6149 -> 7283 bytes
 .../ButtonBar_icon_test5@android_240ppi.png     |  Bin 9897 -> 7943 bytes
 .../ButtonBar_icon_test5@win_320ppi.png         |  Bin 6152 -> 7261 bytes
 .../ButtonBar_icon_test6@android_240ppi.png     |  Bin 7761 -> 5448 bytes
 .../ButtonBar_icon_test6@win_320ppi.png         |  Bin 3729 -> 4550 bytes
 .../ButtonBar_icon_test7@android_240ppi.png     |  Bin 917 -> 849 bytes
 .../ButtonBar_icon_test7@win_320ppi.png         |  Bin 944 -> 953 bytes
 .../ButtonBar_icon_test8@android_240ppi.png     |  Bin 7943 -> 5690 bytes
 .../ButtonBar_icon_test8@win_320ppi.png         |  Bin 4527 -> 5651 bytes
 .../ButtonBar_icon_test9@android_240ppi.png     |  Bin 7931 -> 5665 bytes
 .../ButtonBar_icon_test9@win_320ppi.png         |  Bin 4506 -> 5553 bytes
 .../baselines/enabled_test2@android_240ppi.png  |  Bin 1473 -> 1571 bytes
 .../baselines/enabled_test2@win_320ppi.png      |  Bin 1331 -> 1564 bytes
 .../selectedItem_sanityTest@android_240ppi.png  |  Bin 4677 -> 3688 bytes
 .../selectedItem_sanityTest@win_320ppi.png      |  Bin 3276 -> 4168 bytes
 ...tonBar_Style_baseColor_as@android_240ppi.png |  Bin 1463 -> 1129 bytes
 .../ButtonBar_Style_baseColor_as@win_320ppi.png |  Bin 1205 -> 1524 bytes
 ..._Style_baseColor_disabled@android_240ppi.png |  Bin 1482 -> 1297 bytes
 ...nBar_Style_baseColor_disabled@win_320ppi.png |  Bin 1242 -> 1568 bytes
 ...Style_baseColor_mouseOver@android_240ppi.png |  Bin 1981 -> 1679 bytes
 ...Bar_Style_baseColor_mouseOver@win_320ppi.png |  Bin 1718 -> 2080 bytes
 ...nBar_Style_baseColor_mxml@android_240ppi.png |  Bin 1463 -> 1129 bytes
 ...uttonBar_Style_baseColor_mxml@win_320ppi.png |  Bin 1205 -> 1524 bytes
 .../ButtonBar_Style_color_as@android_240ppi.png |  Bin 1512 -> 1234 bytes
 .../ButtonBar_Style_color_as@win_320ppi.png     |  Bin 1087 -> 1417 bytes
 ...nBar_Style_color_disabled@android_240ppi.png |  Bin 1218 -> 1038 bytes
 ...uttonBar_Style_color_disabled@win_320ppi.png |  Bin 866 -> 1147 bytes
 ...uttonBar_Style_color_mxml@android_240ppi.png |  Bin 1512 -> 1234 bytes
 .../ButtonBar_Style_color_mxml@win_320ppi.png   |  Bin 1087 -> 1417 bytes
 ...Bar_Style_focusColor_mxml@android_240ppi.png |  Bin 1527 -> 1188 bytes
 ...ttonBar_Style_focusColor_mxml@win_320ppi.png |  Bin 1087 -> 1401 bytes
 .../color_as_css_test1@android_240ppi.png       |  Bin 2944 -> 2812 bytes
 .../baselines/color_as_css_test1@win_320ppi.png |  Bin 2182 -> 2760 bytes
 .../baselines/color_as_test1@android_240ppi.png |  Bin 2944 -> 2812 bytes
 .../baselines/color_as_test1@win_320ppi.png     |  Bin 2182 -> 2760 bytes
 .../color_mxml_test1@android_240ppi.png         |  Bin 2944 -> 2803 bytes
 .../baselines/color_mxml_test1@win_320ppi.png   |  Bin 2182 -> 2760 bytes
 .../fontFamily_as_css_test1@win_320ppi.png      |  Bin 3504 -> 3625 bytes
 .../fontFamily_as_test1@android_240ppi.png      |  Bin 3066 -> 2689 bytes
 .../fontFamily_as_test1@win_320ppi.png          |  Bin 4318 -> 4114 bytes
 .../fontFamily_mxml_test1@android_240ppi.png    |  Bin 3058 -> 2678 bytes
 .../fontFamily_mxml_test1@win_320ppi.png        |  Bin 3485 -> 3527 bytes
 .../fontSize_as_css_test1@android_240ppi.png    |  Bin 1688 -> 1503 bytes
 .../fontSize_as_css_test1@win_320ppi.png        |  Bin 1642 -> 1804 bytes
 .../fontSize_as_css_test2@android_240ppi.png    |  Bin 2963 -> 2684 bytes
 .../fontSize_as_css_test2@win_320ppi.png        |  Bin 2000 -> 2426 bytes
 .../fontSize_as_test1@android_240ppi.png        |  Bin 1688 -> 1503 bytes
 .../baselines/fontSize_as_test1@win_320ppi.png  |  Bin 1642 -> 1804 bytes
 .../fontSize_as_test2@android_240ppi.png        |  Bin 2963 -> 2684 bytes
 .../baselines/fontSize_as_test2@win_320ppi.png  |  Bin 2000 -> 2426 bytes
 .../fontSize_mxml_test1@android_240ppi.png      |  Bin 1688 -> 1502 bytes
 .../fontSize_mxml_test1@win_320ppi.png          |  Bin 1642 -> 1804 bytes
 .../fontSize_mxml_test2@android_240ppi.png      |  Bin 2963 -> 2666 bytes
 .../fontSize_mxml_test2@win_320ppi.png          |  Bin 2000 -> 2426 bytes
 .../fontWeight_as_css_test1@android_240ppi.png  |  Bin 2963 -> 2684 bytes
 .../fontWeight_as_css_test1@win_320ppi.png      |  Bin 2183 -> 2735 bytes
 .../fontWeight_as_css_test2@android_240ppi.png  |  Bin 3053 -> 2530 bytes
 .../fontWeight_as_css_test2@win_320ppi.png      |  Bin 2145 -> 2685 bytes
 .../fontWeight_as_test1@android_240ppi.png      |  Bin 2963 -> 2684 bytes
 .../fontWeight_as_test1@win_320ppi.png          |  Bin 2183 -> 2735 bytes
 .../fontWeight_as_test2@android_240ppi.png      |  Bin 3053 -> 2530 bytes
 .../fontWeight_as_test2@win_320ppi.png          |  Bin 2145 -> 2685 bytes
 .../fontWeight_mxml_test1@android_240ppi.png    |  Bin 2963 -> 2666 bytes
 .../fontWeight_mxml_test1@win_320ppi.png        |  Bin 2183 -> 2735 bytes
 .../fontWeight_mxml_test2@android_240ppi.png    |  Bin 3053 -> 2514 bytes
 .../fontWeight_mxml_test2@win_320ppi.png        |  Bin 2145 -> 2685 bytes
 .../kerning_as_css_test1@android_240ppi.png     |  Bin 2750 -> 3123 bytes
 .../kerning_as_css_test1@win_320ppi.png         |  Bin 1489 -> 2004 bytes
 .../kerning_as_css_test2@android_240ppi.png     |  Bin 2750 -> 3123 bytes
 .../kerning_as_css_test2@win_320ppi.png         |  Bin 1489 -> 2004 bytes
 .../kerning_as_css_test3@android_240ppi.png     |  Bin 2750 -> 3123 bytes
 .../kerning_as_css_test3@win_320ppi.png         |  Bin 1489 -> 2004 bytes
 .../kerning_as_test1@android_240ppi.png         |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_as_test1@win_320ppi.png   |  Bin 1482 -> 2004 bytes
 .../kerning_as_test2@android_240ppi.png         |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_as_test2@win_320ppi.png   |  Bin 1482 -> 2004 bytes
 .../kerning_as_test3@android_240ppi.png         |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_as_test3@win_320ppi.png   |  Bin 1482 -> 2004 bytes
 .../kerning_mxml_test1@android_240ppi.png       |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_mxml_test1@win_320ppi.png |  Bin 1489 -> 2007 bytes
 .../kerning_mxml_test2@android_240ppi.png       |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_mxml_test2@win_320ppi.png |  Bin 1486 -> 2006 bytes
 .../kerning_mxml_test3@android_240ppi.png       |  Bin 2750 -> 3123 bytes
 .../baselines/kerning_mxml_test3@win_320ppi.png |  Bin 1486 -> 2006 bytes
 .../lineThrough_as_css_test1@android_240ppi.png |  Bin 2963 -> 2684 bytes
 .../lineThrough_as_css_test1@win_320ppi.png     |  Bin 2183 -> 2735 bytes
 .../lineThrough_as_css_test2@android_240ppi.png |  Bin 2963 -> 2684 bytes
 .../lineThrough_as_css_test2@win_320ppi.png     |  Bin 2183 -> 2735 bytes
 .../lineThrough_as_test1@android_240ppi.png     |  Bin 2963 -> 2684 bytes
 .../lineThrough_as_test1@win_320ppi.png         |  Bin 2183 -> 2735 bytes
 .../lineThrough_as_test2@android_240ppi.png     |  Bin 2963 -> 2684 bytes
 .../lineThrough_as_test2@win_320ppi.png         |  Bin 2183 -> 2735 bytes
 .../lineThrough_mxml_test1@android_240ppi.png   |  Bin 2963 -> 2666 bytes
 .../lineThrough_mxml_test1@win_320ppi.png       |  Bin 2183 -> 2735 bytes
 .../lineThrough_mxml_test2@android_240ppi.png   |  Bin 2963 -> 2666 bytes
 .../lineThrough_mxml_test2@win_320ppi.png       |  Bin 2183 -> 2735 bytes
 .../baselines/tblr_as_test1@android_240ppi.png  |  Bin 3014 -> 2736 bytes
 .../baselines/tblr_as_test1@win_320ppi.png      |  Bin 2235 -> 2797 bytes
 .../baselines/tblr_as_test2@android_240ppi.png  |  Bin 3037 -> 2756 bytes
 .../baselines/tblr_as_test2@win_320ppi.png      |  Bin 2259 -> 2814 bytes
 .../baselines/tblr_as_test3@android_240ppi.png  |  Bin 3043 -> 2764 bytes
 .../baselines/tblr_as_test3@win_320ppi.png      |  Bin 2264 -> 2824 bytes
 ...xtDecoration_as_css_test1@android_240ppi.png |  Bin 2979 -> 2728 bytes
 ...coration_as_css_test1@android_240ppi.png.xml | 1966 ++++++++++++
 .../textDecoration_as_css_test1@win_320ppi.png  |  Bin 2196 -> 2753 bytes
 ...xtDecoration_as_css_test2@android_240ppi.png |  Bin 2963 -> 2684 bytes
 .../textDecoration_as_css_test2@win_320ppi.png  |  Bin 2183 -> 2735 bytes
 .../textDecoration_as_test1@android_240ppi.png  |  Bin 2979 -> 2728 bytes
 ...xtDecoration_as_test1@android_240ppi.png.xml | 1966 ++++++++++++
 .../textDecoration_as_test1@win_320ppi.png      |  Bin 2196 -> 2753 bytes
 .../textDecoration_as_test2@android_240ppi.png  |  Bin 2963 -> 2684 bytes
 .../textDecoration_as_test2@win_320ppi.png      |  Bin 2183 -> 2735 bytes
 ...textDecoration_mxml_test1@android_240ppi.png |  Bin 2979 -> 2713 bytes
 ...Decoration_mxml_test1@android_240ppi.png.xml | 1935 +++++++++++
 .../textDecoration_mxml_test1@win_320ppi.png    |  Bin 2196 -> 2753 bytes
 ...textDecoration_mxml_test2@android_240ppi.png |  Bin 2963 -> 2679 bytes
 .../textDecoration_mxml_test2@win_320ppi.png    |  Bin 2183 -> 2735 bytes
 .../baselines/vhc_as_test1@android_240ppi.png   |  Bin 3061 -> 2798 bytes
 .../baselines/vhc_as_test1@win_320ppi.png       |  Bin 2260 -> 2822 bytes
 .../baselines/vhc_as_test2@android_240ppi.png   |  Bin 3081 -> 2805 bytes
 .../baselines/vhc_as_test2@win_320ppi.png       |  Bin 2302 -> 2864 bytes
 .../ButtonBar/swfs/ButtonBarApp1.mxml           |   59 +-
 .../ButtonBar/swfs/ButtonBarApp2.mxml           |   31 +-
 .../ButtonBar/swfs/ButtonBarApp3.mxml           |   74 +-
 .../ButtonBar/swfs/ButtonBarIconMain.mxml       |   39 +-
 .../CalloutButton_MultiDpiIcon@win_160ppi.png   |  Bin
 .../CalloutButton_MultiDpiIcon@win_320ppi.png   |  Bin
 ...outButton_Callout_AccentColor@win_160ppi.png |  Bin
 ...outButton_Callout_AccentColor@win_320ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha03@win_160ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha03@win_320ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha05@win_160ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha05@win_320ppi.png |  Bin
 ...alloutButton_Callout_BGAlpha0@win_160ppi.png |  Bin
 ...alloutButton_Callout_BGAlpha0@win_320ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha10@win_160ppi.png |  Bin
 ...lloutButton_Callout_BGAlpha10@win_320ppi.png |  Bin
 ...CalloutButton_Callout_BGColor@win_160ppi.png |  Bin
 ...CalloutButton_Callout_BGColor@win_320ppi.png |  Bin
 ...utton_Callout_BGColor_Default@win_160ppi.png |  Bin
 ...utton_Callout_BGColor_Default@win_320ppi.png |  Bin
 ...outButton_Callout_ChromeColor@win_160ppi.png |  Bin
 ...outButton_Callout_ChromeColor@win_320ppi.png |  Bin
 .../CalloutButton_Callout_Color@win_160ppi.png  |  Bin
 .../CalloutButton_Callout_Color@win_320ppi.png  |  Bin
 ...tton_Callout_ContentBGAlpha03@win_160ppi.png |  Bin
 ...tton_Callout_ContentBGAlpha03@win_320ppi.png |  Bin
 ...tton_Callout_ContentBGAlpha05@win_160ppi.png |  Bin
 ...tton_Callout_ContentBGAlpha05@win_320ppi.png |  Bin
 ...tton_Callout_ContentBGAlpha07@win_160ppi.png |  Bin
 ...tton_Callout_ContentBGAlpha07@win_320ppi.png |  Bin
 ...utton_Callout_ContentBGAlpha0@win_160ppi.png |  Bin
 ...utton_Callout_ContentBGAlpha0@win_320ppi.png |  Bin
 ...Button_Callout_ContentBGAlpha@win_160ppi.png |  Bin
 ...Button_Callout_ContentBGAlpha@win_320ppi.png |  Bin
 ...ut_ContentBGAppearanceDefault@win_160ppi.png |  Bin
 ...ut_ContentBGAppearanceDefault@win_320ppi.png |  Bin
 ...llout_ContentBGAppearanceFlat@win_160ppi.png |  Bin
 ...llout_ContentBGAppearanceFlat@win_320ppi.png |  Bin
 ...llout_ContentBGAppearanceNone@win_160ppi.png |  Bin
 ...llout_ContentBGAppearanceNone@win_320ppi.png |  Bin
 ...Button_Callout_ContentBGColor@win_160ppi.png |  Bin
 ...Button_Callout_ContentBGColor@win_320ppi.png |  Bin
 ...tton_Callout_ContentBGDefault@win_160ppi.png |  Bin
 ...tton_Callout_ContentBGDefault@win_320ppi.png |  Bin
 ...loutButton_Callout_FocusColor@win_160ppi.png |  Bin
 ...loutButton_Callout_FocusColor@win_320ppi.png |  Bin
 ...loutButton_Callout_FontFamily@win_160ppi.png |  Bin
 ...loutButton_Callout_FontFamily@win_320ppi.png |  Bin
 ...alloutButton_Callout_FontSize@win_160ppi.png |  Bin
 ...alloutButton_Callout_FontSize@win_320ppi.png |  Bin
 ...loutButton_Callout_FontWeight@win_160ppi.png |  Bin
 ...loutButton_Callout_FontWeight@win_320ppi.png |  Bin
 ...tton_StyleNonInheritace_Owner@win_160ppi.png |  Bin
 ...tton_StyleNonInheritace_Owner@win_320ppi.png |  Bin
 .../baselines/Callout_CSSTest@win_160ppi.png    |  Bin
 .../baselines/Callout_CSSTest@win_320ppi.png    |  Bin
 .../Callout_Skins_Arrows@win_160ppi.png         |  Bin
 .../Callout_Skins_Arrows@win_320ppi.png         |  Bin
 .../Callout_Skins_Border@win_160ppi.png         |  Bin
 .../Callout_Skins_Border@win_320ppi.png         |  Bin
 .../Callout_Skins_CornerRadius@win_160ppi.png   |  Bin
 .../Callout_Skins_CornerRadius@win_320ppi.png   |  Bin
 .../Callout_Skins_Default@win_160ppi.png        |  Bin
 .../Callout_Skins_Default@win_320ppi.png        |  Bin
 .../Callout_Skins_DropShadow@win_160ppi.png     |  Bin
 .../Callout_Skins_DropShadow@win_320ppi.png     |  Bin
 ...kBox_clearStyle_textStyle@android_240ppi.png |  Bin 3697 -> 2470 bytes
 ...CheckBox_clearStyle_textStyle@win_320ppi.png |  Bin 2373 -> 2827 bytes
 ..._clearStyle_iconPlacement@android_240ppi.png |  Bin 3697 -> 2470 bytes
 ...thod_clearStyle_iconPlacement@win_320ppi.png |  Bin 2373 -> 2827 bytes
 ...Mobile_CheckBox_alpha_0.5@android_240ppi.png |  Bin 2465 -> 2163 bytes
 .../Mobile_CheckBox_alpha_0.5@win_320ppi.png    |  Bin 1888 -> 2509 bytes
 .../Mobile_CheckBox_alpha_0@android_240ppi.png  |  Bin 182 -> 184 bytes
 ...e_CheckBox_down_alpha_0.5@android_240ppi.png |  Bin 2748 -> 2430 bytes
 ...obile_CheckBox_down_alpha_0.5@win_320ppi.png |  Bin 2161 -> 2771 bytes
 ...le_CheckBox_enabled_false@android_240ppi.png |  Bin 2754 -> 2520 bytes
 ...Mobile_CheckBox_enabled_false@win_320ppi.png |  Bin 2613 -> 3029 bytes
 ...Box_enabled_false_clicked@android_240ppi.png |  Bin 2754 -> 2520 bytes
 ...heckBox_enabled_false_clicked@win_320ppi.png |  Bin 2613 -> 3029 bytes
 ...bled_false_runtime_change@android_240ppi.png |  Bin 3527 -> 3224 bytes
 ..._enabled_false_runtime_change@win_320ppi.png |  Bin 3009 -> 3618 bytes
 ...e_CheckBox_height_default@android_240ppi.png |  Bin 1148 -> 1139 bytes
 ..._CheckBox_height_increase@android_240ppi.png |  Bin 3845 -> 2687 bytes
 ...bile_CheckBox_height_increase@win_320ppi.png |  Bin 2494 -> 2889 bytes
 ...bile_CheckBox_icon_inline@android_240ppi.png |  Bin 1832 -> 1570 bytes
 .../Mobile_CheckBox_icon_inline@win_320ppi.png  |  Bin 1822 -> 1921 bytes
 ...on_scaleX_scaleY_0point33@android_240ppi.png |  Bin 1236 -> 802 bytes
 ...x_icon_scaleX_scaleY_0point33@win_320ppi.png |  Bin 778 -> 951 bytes
 ...con_scaleX_scaleY_0point5@android_240ppi.png |  Bin 1830 -> 1267 bytes
 ...ox_icon_scaleX_scaleY_0point5@win_320ppi.png |  Bin 1147 -> 1462 bytes
 ...con_scaleX_scaleY_1point5@android_240ppi.png |  Bin 5753 -> 4328 bytes
 ...ox_icon_scaleX_scaleY_1point5@win_320ppi.png |  Bin 3972 -> 5056 bytes
 ...time_iconPlacement_bottom@android_240ppi.png |  Bin 4547 -> 3182 bytes
 ..._runtime_iconPlacement_bottom@win_320ppi.png |  Bin 2813 -> 3392 bytes
 ...untime_iconPlacement_left@android_240ppi.png |  Bin 4413 -> 3066 bytes
 ...ge_runtime_iconPlacement_left@win_320ppi.png |  Bin 2631 -> 3222 bytes
 ...ntime_iconPlacement_right@android_240ppi.png |  Bin 4408 -> 3058 bytes
 ...e_runtime_iconPlacement_right@win_320ppi.png |  Bin 2614 -> 3208 bytes
 ...runtime_iconPlacement_top@android_240ppi.png |  Bin 4576 -> 3226 bytes
 ...nge_runtime_iconPlacement_top@win_320ppi.png |  Bin 2844 -> 3425 bytes
 ...heckBox_label_databinding@android_240ppi.png |  Bin 3666 -> 2597 bytes
 ...le_CheckBox_label_databinding@win_320ppi.png |  Bin 2399 -> 2792 bytes
 ..._long_iconPlacement_right@android_240ppi.png |  Bin 5645 -> 3658 bytes
 ...abel_long_iconPlacement_right@win_320ppi.png |  Bin 3067 -> 4135 bytes
 ...l_short_iconPlacement_top@android_240ppi.png |  Bin 2079 -> 1654 bytes
 ...label_short_iconPlacement_top@win_320ppi.png |  Bin 1800 -> 2028 bytes
 ...ckBox_percentHeight_0_100@android_240ppi.png |  Bin 6870 -> 5087 bytes
 ..._CheckBox_percentHeight_0_100@win_320ppi.png |  Bin 4771 -> 5546 bytes
 ...ckBox_percentHeight_100_0@android_240ppi.png |  Bin 6868 -> 5093 bytes
 ..._CheckBox_percentHeight_100_0@win_320ppi.png |  Bin 4771 -> 5547 bytes
 ...CheckBox_percentHeight_50@android_240ppi.png |  Bin 6870 -> 5100 bytes
 ...ile_CheckBox_percentHeight_50@win_320ppi.png |  Bin 4773 -> 5548 bytes
 ...0_change_container_height@android_240ppi.png |  Bin 7563 -> 5687 bytes
 ...ht_50_change_container_height@win_320ppi.png |  Bin 5360 -> 6195 bytes
 ...eckBox_percentWidth_0_100@android_240ppi.png |  Bin 2967 -> 2299 bytes
 ...e_CheckBox_percentWidth_0_100@win_320ppi.png |  Bin 2457 -> 2723 bytes
 ...eckBox_percentWidth_100_0@android_240ppi.png |  Bin 4611 -> 2817 bytes
 ...e_CheckBox_percentWidth_100_0@win_320ppi.png |  Bin 3174 -> 3659 bytes
 ..._CheckBox_percentWidth_50@android_240ppi.png |  Bin 4389 -> 2945 bytes
 ...bile_CheckBox_percentWidth_50@win_320ppi.png |  Bin 2678 -> 3043 bytes
 ...50_change_container_width@android_240ppi.png |  Bin 3541 -> 2597 bytes
 ...dth_50_change_container_width@win_320ppi.png |  Bin 2339 -> 2513 bytes
 ...kBox_selected_databinding@android_240ppi.png |  Bin 3748 -> 2791 bytes
 ...CheckBox_selected_databinding@win_320ppi.png |  Bin 2675 -> 3093 bytes
 ...set_selected_actionscript@android_240ppi.png |  Bin 2909 -> 2117 bytes
 ...Box_set_selected_actionscript@win_320ppi.png |  Bin 2335 -> 2628 bytes
 ...t_selected_false_disabled@android_240ppi.png |  Bin 1776 -> 1628 bytes
 ...x_set_selected_false_disabled@win_320ppi.png |  Bin 1592 -> 1885 bytes
 ...t_selected_false_on_click@android_240ppi.png |  Bin 3221 -> 2335 bytes
 ...x_set_selected_false_on_click@win_320ppi.png |  Bin 2296 -> 2656 bytes
 ...et_selected_true_disabled@android_240ppi.png |  Bin 1991 -> 1828 bytes
 ...ox_set_selected_true_disabled@win_320ppi.png |  Bin 1814 -> 2121 bytes
 ...et_selected_true_on_click@android_240ppi.png |  Bin 3390 -> 2464 bytes
 ...ox_set_selected_true_on_click@win_320ppi.png |  Bin 2554 -> 2915 bytes
 ...le_CheckBox_set_styleName@android_240ppi.png |  Bin 2340 -> 2059 bytes
 ...Mobile_CheckBox_set_styleName@win_320ppi.png |  Bin 2150 -> 2451 bytes
 ..._stickyHighlighting_false@android_240ppi.png |  Bin 3119 -> 2200 bytes
 ...kBox_stickyHighlighting_false@win_320ppi.png |  Bin 2197 -> 2584 bytes
 ...x_stickyHighlighting_true@android_240ppi.png |  Bin 3276 -> 2357 bytes
 ...ckBox_stickyHighlighting_true@win_320ppi.png |  Bin 2326 -> 2716 bytes
 ...CheckBox_styleName_inline@android_240ppi.png |  Bin 2340 -> 2059 bytes
 ...ile_CheckBox_styleName_inline@win_320ppi.png |  Bin 2150 -> 2451 bytes
 ...le_CheckBox_visible_false@android_240ppi.png |  Bin 14801 -> 10782 bytes
 ...Mobile_CheckBox_visible_false@win_320ppi.png |  Bin 10005 -> 11612 bytes
 .../Mobile_CheckBox_x@android_240ppi.png        |  Bin 2593 -> 2057 bytes
 .../baselines/Mobile_CheckBox_x@win_320ppi.png  |  Bin 2233 -> 2454 bytes
 .../Mobile_CheckBox_y@android_240ppi.png        |  Bin 2512 -> 1982 bytes
 .../baselines/Mobile_CheckBox_y@win_320ppi.png  |  Bin 2150 -> 2337 bytes
 ...meColor_down_and_selected@android_240ppi.png |  Bin 3814 -> 2844 bytes
 ...chromeColor_down_and_selected@win_320ppi.png |  Bin 2836 -> 3251 bytes
 ...hromeColor_skinState_down@android_240ppi.png |  Bin 3832 -> 2833 bytes
 ...ox_chromeColor_skinState_down@win_320ppi.png |  Bin 2881 -> 3305 bytes
 ..._chromeColor_skinState_up@android_240ppi.png |  Bin 3672 -> 2653 bytes
 ...kBox_chromeColor_skinState_up@win_320ppi.png |  Bin 2726 -> 3142 bytes
 ...olColor_down_and_selected@android_240ppi.png |  Bin 3879 -> 2897 bytes
 ...symbolColor_down_and_selected@win_320ppi.png |  Bin 2859 -> 3280 bytes
 ...heckBox_down_and_selected@android_240ppi.png |  Bin 3626 -> 2627 bytes
 ...le_CheckBox_down_and_selected@win_320ppi.png |  Bin 2538 -> 2946 bytes
 ...e_CheckBox_skinState_down@android_240ppi.png |  Bin 3587 -> 2559 bytes
 ...obile_CheckBox_skinState_down@win_320ppi.png |  Bin 2586 -> 2997 bytes
 ...ile_CheckBox_skinState_up@android_240ppi.png |  Bin 3401 -> 2361 bytes
 .../Mobile_CheckBox_skinState_up@win_320ppi.png |  Bin 2362 -> 2775 bytes
 ...romeColor_up_and_selected@android_240ppi.png |  Bin 3721 -> 2718 bytes
 ...x_chromeColor_up_and_selected@win_320ppi.png |  Bin 2892 -> 3309 bytes
 ..._checkBox_up_and_selected@android_240ppi.png |  Bin 3529 -> 2498 bytes
 ...bile_checkBox_up_and_selected@win_320ppi.png |  Bin 2605 -> 3023 bytes
 ..._checkbox_styles_baseline@android_240ppi.png |  Bin 3793 -> 2528 bytes
 ...bile_checkbox_styles_baseline@win_320ppi.png |  Bin 2312 -> 2720 bytes
 ...le_checkbox_styles_bottom@android_240ppi.png |  Bin 3792 -> 2529 bytes
 ...Mobile_checkbox_styles_bottom@win_320ppi.png |  Bin 2514 -> 2923 bytes
 ...eckbox_styles_chromeColor@android_240ppi.png |  Bin 4038 -> 2819 bytes
 ...e_checkbox_styles_chromeColor@win_320ppi.png |  Bin 2896 -> 3315 bytes
 ...yles_chromeColor_disabled@android_240ppi.png |  Bin 3262 -> 2881 bytes
 ...x_styles_chromeColor_disabled@win_320ppi.png |  Bin 3073 -> 3511 bytes
 ...meColor_selected_disabled@android_240ppi.png |  Bin 3308 -> 2923 bytes
 ...chromeColor_selected_disabled@win_320ppi.png |  Bin 3121 -> 3554 bytes
 ...ile_checkbox_styles_color@android_240ppi.png |  Bin 3318 -> 2497 bytes
 .../Mobile_checkbox_styles_color@win_320ppi.png |  Bin 2511 -> 2805 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4085 -> 2840 bytes
 ...rSpacing_iconPlacement_bottom@win_320ppi.png |  Bin 2633 -> 3159 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 4017 -> 2773 bytes
 ...erSpacing_iconPlacement_right@win_320ppi.png |  Bin 2485 -> 3001 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4113 -> 2862 bytes
 ...tterSpacing_iconPlacement_top@win_320ppi.png |  Bin 2656 -> 3185 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 3033 -> 2561 bytes
 ...es_disabled_textShadowAlpha_0@win_320ppi.png |  Bin 2538 -> 3047 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3033 -> 2561 bytes
 ...abled_textShadowAlpha_1point5@win_320ppi.png |  Bin 2538 -> 3047 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3033 -> 2561 bytes
 ...yles_disabled_textShadowColor@win_320ppi.png |  Bin 2538 -> 3047 bytes
 ...ckbox_styles_focusAlpha_0@android_240ppi.png |  Bin 3224 -> 2315 bytes
 ..._checkbox_styles_focusAlpha_0@win_320ppi.png |  Bin 2308 -> 2588 bytes
 ...styles_focusAlpha_1point5@android_240ppi.png |  Bin 3641 -> 2650 bytes
 ...box_styles_focusAlpha_1point5@win_320ppi.png |  Bin 2820 -> 3106 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 3647 -> 2742 bytes
 ..._styles_focusBlendMode_invert@win_320ppi.png |  Bin 2839 -> 3126 bytes
 ...s_focusBlendMode_subtract@android_240ppi.png |  Bin 3597 -> 2635 bytes
 ...tyles_focusBlendMode_subtract@win_320ppi.png |  Bin 2818 -> 3105 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 3602 -> 2699 bytes
 ...box_styles_focusColor_default@win_320ppi.png |  Bin 2798 -> 3088 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 3652 -> 2697 bytes
 ...x_styles_focusColor_set_in_AS@win_320ppi.png |  Bin 2864 -> 3150 bytes
 ...x_styles_focusThickness_0@android_240ppi.png |  Bin 3247 -> 2324 bytes
 ...ckbox_styles_focusThickness_0@win_320ppi.png |  Bin 2319 -> 2607 bytes
 ...x_styles_focusThickness_4@android_240ppi.png |  Bin 3765 -> 2754 bytes
 ...ckbox_styles_focusThickness_4@win_320ppi.png |  Bin 2936 -> 3222 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 3621 -> 2635 bytes
 ...a_thickness_blendmode_default@win_320ppi.png |  Bin 2839 -> 3088 bytes
 ..._thickness_blendmode_mxml@android_240ppi.png |  Bin 1443 -> 1431 bytes
 ...lpha_thickness_blendmode_mxml@win_320ppi.png |  Bin 2004 -> 1999 bytes
 ...heckbox_styles_fontFamily@android_240ppi.png |  Bin 3724 -> 2650 bytes
 ...le_checkbox_styles_fontFamily@win_320ppi.png |  Bin 2507 -> 2860 bytes
 ...tyles_fontFamily_disabled@android_240ppi.png |  Bin 3034 -> 2806 bytes
 ...ox_styles_fontFamily_disabled@win_320ppi.png |  Bin 2746 -> 3108 bytes
 ..._checkbox_styles_fontSize@android_240ppi.png |  Bin 4076 -> 2808 bytes
 ...bile_checkbox_styles_fontSize@win_320ppi.png |  Bin 2425 -> 2783 bytes
 ..._styles_fontSize_disabled@android_240ppi.png |  Bin 3293 -> 2952 bytes
 ...kbox_styles_fontSize_disabled@win_320ppi.png |  Bin 2669 -> 3041 bytes
 ...checkbox_styles_fontStyle@android_240ppi.png |  Bin 4129 -> 2878 bytes
 ...ile_checkbox_styles_fontStyle@win_320ppi.png |  Bin 2578 -> 3196 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 3296 -> 3035 bytes
 ...box_styles_fontStyle_disabled@win_320ppi.png |  Bin 2826 -> 3459 bytes
 ...heckbox_styles_fontWeight@android_240ppi.png |  Bin 3500 -> 2672 bytes
 ...le_checkbox_styles_fontWeight@win_320ppi.png |  Bin 2518 -> 2964 bytes
 ...tyles_fontWeight_disabled@android_240ppi.png |  Bin 2975 -> 2814 bytes
 ...ox_styles_fontWeight_disabled@win_320ppi.png |  Bin 2753 -> 3217 bytes
 ...horizontalCenter_negative@android_240ppi.png |  Bin 3943 -> 2665 bytes
 ...les_horizontalCenter_negative@win_320ppi.png |  Bin 2597 -> 3024 bytes
 ...horizontalCenter_positive@android_240ppi.png |  Bin 3987 -> 2716 bytes
 ...les_horizontalCenter_positive@win_320ppi.png |  Bin 2673 -> 3098 bytes
 ...yles_iconPlacement_bottom@android_240ppi.png |  Bin 3307 -> 2307 bytes
 ...x_styles_iconPlacement_bottom@win_320ppi.png |  Bin 2357 -> 2686 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 1927 -> 1636 bytes
 ...acement_bottom_explicitHeight@win_320ppi.png |  Bin 1739 -> 2010 bytes
 ...Placement_bottom_setLabel@android_240ppi.png |  Bin 3307 -> 2307 bytes
 ...iconPlacement_bottom_setLabel@win_320ppi.png |  Bin 2357 -> 2686 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 3460 -> 2465 bytes
 ...iconPlacement_bottom_to_right@win_320ppi.png |  Bin 2345 -> 2729 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 3559 -> 2543 bytes
 ...iconPlacement_css_selectionID@win_320ppi.png |  Bin 2372 -> 2851 bytes
 ...les_iconPlacement_default@android_240ppi.png |  Bin 3509 -> 2279 bytes
 ..._styles_iconPlacement_default@win_320ppi.png |  Bin 2296 -> 2693 bytes
 ...yles_iconPlacement_inline@android_240ppi.png |  Bin 1832 -> 1570 bytes
 ...x_styles_iconPlacement_inline@win_320ppi.png |  Bin 1822 -> 1921 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 2037 -> 1746 bytes
 ...Placement_left_explicitHeight@win_320ppi.png |  Bin 1852 -> 2142 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 2823 -> 2011 bytes
 ...les_iconPlacement_left_to_top@win_320ppi.png |  Bin 2100 -> 2373 bytes
 ...tyles_iconPlacement_right@android_240ppi.png |  Bin 3311 -> 2356 bytes
 ...ox_styles_iconPlacement_right@win_320ppi.png |  Bin 2266 -> 2650 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2038 -> 1743 bytes
 ...lacement_right_explicitHeight@win_320ppi.png |  Bin 1852 -> 2146 bytes
 ...nPlacement_right_setLabel@android_240ppi.png |  Bin 3311 -> 2356 bytes
 ..._iconPlacement_right_setLabel@win_320ppi.png |  Bin 2266 -> 2650 bytes
 ...s_iconPlacement_styleName@android_240ppi.png |  Bin 3572 -> 2553 bytes
 ...tyles_iconPlacement_styleName@win_320ppi.png |  Bin 2419 -> 2803 bytes
 ..._styles_iconPlacement_top@android_240ppi.png |  Bin 3058 -> 2188 bytes
 ...kbox_styles_iconPlacement_top@win_320ppi.png |  Bin 2157 -> 2475 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 1916 -> 1633 bytes
 ...nPlacement_top_explicitHeight@win_320ppi.png |  Bin 1742 -> 2009 bytes
 ...conPlacement_top_setLabel@android_240ppi.png |  Bin 3058 -> 2188 bytes
 ...es_iconPlacement_top_setLabel@win_320ppi.png |  Bin 2157 -> 2475 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4321 -> 3052 bytes
 ...rSpacing_iconPlacement_bottom@win_320ppi.png |  Bin 2819 -> 3349 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 4172 -> 2905 bytes
 ...erSpacing_iconPlacement_right@win_320ppi.png |  Bin 2610 -> 3135 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4357 -> 3080 bytes
 ...tterSpacing_iconPlacement_top@win_320ppi.png |  Bin 2845 -> 3378 bytes
 ...e_checkbox_styles_kerning@android_240ppi.png |  Bin 2590 -> 1987 bytes
 ...obile_checkbox_styles_kerning@win_320ppi.png |  Bin 2177 -> 2334 bytes
 ...x_styles_kerning_disabled@android_240ppi.png |  Bin 2291 -> 2118 bytes
 ...ckbox_styles_kerning_disabled@win_320ppi.png |  Bin 2424 -> 2581 bytes
 ...heckbox_styles_leading_10@android_240ppi.png |  Bin 3316 -> 2312 bytes
 ...le_checkbox_styles_leading_10@win_320ppi.png |  Bin 2241 -> 2577 bytes
 ...ox_styles_leading_default@android_240ppi.png |  Bin 3316 -> 2312 bytes
 ...eckbox_styles_leading_default@win_320ppi.png |  Bin 2241 -> 2577 bytes
 ...bile_checkbox_styles_left@android_240ppi.png |  Bin 3840 -> 2577 bytes
 .../Mobile_checkbox_styles_left@win_320ppi.png  |  Bin 2560 -> 2970 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 4182 -> 2900 bytes
 ...tterSpacing_change_at_runtime@win_320ppi.png |  Bin 2619 -> 3141 bytes
 ...ile_checkbox_styles_right@android_240ppi.png |  Bin 1332 -> 1322 bytes
 ...eckbox_styles_symbolColor@android_240ppi.png |  Bin 3905 -> 2684 bytes
 ...e_checkbox_styles_symbolColor@win_320ppi.png |  Bin 2776 -> 3196 bytes
 ...es_symbolColor_deselected@android_240ppi.png |  Bin 3720 -> 2716 bytes
 ...styles_symbolColor_deselected@win_320ppi.png |  Bin 2593 -> 3034 bytes
 ...olor_deselected_toDefault@android_240ppi.png |  Bin 3647 -> 2630 bytes
 ...bolColor_deselected_toDefault@win_320ppi.png |  Bin 2511 -> 2952 bytes
 ...yles_symbolColor_disabled@android_240ppi.png |  Bin 3181 -> 2803 bytes
 ...x_styles_symbolColor_disabled@win_320ppi.png |  Bin 2843 -> 3275 bytes
 ...Color_disabled_deselected@android_240ppi.png |  Bin 3048 -> 2803 bytes
 ...mbolColor_disabled_deselected@win_320ppi.png |  Bin 2777 -> 3233 bytes
 ...bled_deselected_toDefault@android_240ppi.png |  Bin 3018 -> 2774 bytes
 ...disabled_deselected_toDefault@win_320ppi.png |  Bin 2756 -> 3197 bytes
 ...lColor_disabled_toDefault@android_240ppi.png |  Bin 3172 -> 2792 bytes
 ...ymbolColor_disabled_toDefault@win_320ppi.png |  Bin 2832 -> 3262 bytes
 ...les_symbolColor_toDefault@android_240ppi.png |  Bin 3925 -> 2663 bytes
 ..._styles_symbolColor_toDefault@win_320ppi.png |  Bin 2762 -> 3182 bytes
 ...box_styles_textDecoration@android_240ppi.png |  Bin 3796 -> 2530 bytes
 ...heckbox_styles_textDecoration@win_320ppi.png |  Bin 2527 -> 2928 bytes
 ...s_textDecoration_disabled@android_240ppi.png |  Bin 3064 -> 2679 bytes
 ...tyles_textDecoration_disabled@win_320ppi.png |  Bin 2761 -> 3183 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 3611 -> 2421 bytes
 ...kbox_styles_textShadowAlpha_0@win_320ppi.png |  Bin 2303 -> 2790 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 3611 -> 2421 bytes
 ...tyles_textShadowAlpha_1point5@win_320ppi.png |  Bin 2303 -> 2790 bytes
 ...ox_styles_textShadowColor@android_240ppi.png |  Bin 3611 -> 2421 bytes
 ...eckbox_styles_textShadowColor@win_320ppi.png |  Bin 2303 -> 2790 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 3611 -> 2421 bytes
 ...ShadowColor_textShadowAlpha_2@win_320ppi.png |  Bin 2303 -> 2790 bytes
 ...obile_checkbox_styles_top@android_240ppi.png |  Bin 3790 -> 2527 bytes
 .../Mobile_checkbox_styles_top@win_320ppi.png   |  Bin 2516 -> 2925 bytes
 ...s_verticalCenter_negative@android_240ppi.png |  Bin 3793 -> 2529 bytes
 ...tyles_verticalCenter_negative@win_320ppi.png |  Bin 2516 -> 2925 bytes
 ...s_verticalCenter_positive@android_240ppi.png |  Bin 3793 -> 2529 bytes
 ...tyles_verticalCenter_positive@win_320ppi.png |  Bin 2514 -> 2923 bytes
 .../CheckBox/styles/checkbox_styles.mxml        |   12 +-
 .../CheckBox/swfs/MobileCheckBoxMain.mxml       |   31 +
 .../globalization/DS_zh_CN_tester.mxml          |   71 +-
 .../DS_zh_CN_DATEandTime_3@android_240ppi.png   |  Bin 16510 -> 14633 bytes
 .../DS_zh_CN_DATEandTime_3@win_320ppi.png       |  Bin 10087 -> 14870 bytes
 .../DS_zh_CN_normal_DATE_1@android_240ppi.png   |  Bin 15310 -> 13469 bytes
 .../DS_zh_CN_normal_DATE_1@win_320ppi.png       |  Bin 9708 -> 13537 bytes
 .../DS_zh_CN_normal_TIME_2@android_240ppi.png   |  Bin 13045 -> 11664 bytes
 .../DS_zh_CN_normal_TIME_2@win_320ppi.png       |  Bin 6025 -> 7749 bytes
 ...h_CN_selectedDate_mouse_7@android_240ppi.png |  Bin 15391 -> 13785 bytes
 ...DS_zh_CN_selectedDate_mouse_7@win_320ppi.png |  Bin 9598 -> 13331 bytes
 ...h_CN_selectedDate_mouse_8@android_240ppi.png |  Bin 12655 -> 11313 bytes
 ...DS_zh_CN_selectedDate_mouse_8@win_320ppi.png |  Bin 6070 -> 7954 bytes
 ...h_CN_selectedDate_mouse_9@android_240ppi.png |  Bin 15754 -> 14610 bytes
 ...DS_zh_CN_selectedDate_mouse_9@win_320ppi.png |  Bin 10106 -> 14495 bytes
 ...ctedDate_mouse_invalid_10@android_240ppi.png |  Bin 15469 -> 13988 bytes
 ...selectedDate_mouse_invalid_10@win_320ppi.png |  Bin 9731 -> 13814 bytes
 ...ctedDate_mouse_invalid_11@android_240ppi.png |  Bin 12636 -> 11473 bytes
 ...selectedDate_mouse_invalid_11@win_320ppi.png |  Bin 5959 -> 7618 bytes
 ...ctedDate_mouse_invalid_12@android_240ppi.png |  Bin 15221 -> 14152 bytes
 ...selectedDate_mouse_invalid_12@win_320ppi.png |  Bin 9921 -> 14183 bytes
 .../integration/DS_layout_size_tester.mxml      |   43 +
 .../integration/DS_nestedScroll_tester.mxml     |   10 +
 ...0_DS_layout_Size_Time_200@android_240ppi.png |  Bin 7798 -> 6627 bytes
 .../10_DS_layout_Size_Time_200@win_320ppi.png   |  Bin 4366 -> 5493 bytes
 ...1_DS_layout_Size_DATE_200@android_240ppi.png |  Bin 8213 -> 7132 bytes
 .../11_DS_layout_Size_DATE_200@win_320ppi.png   |  Bin 3307 -> 5259 bytes
 ...ut_Size_DATE_AND_TIME_200@android_240ppi.png |  Bin 8255 -> 7470 bytes
 ...ize_DATE_AND_TIME_200@android_240ppi.png.xml |  589 ++++
 ...layout_Size_DATE_AND_TIME_200@win_320ppi.png |  Bin 3375 -> 5445 bytes
 .../13_DS_layout_Size_Time@android_240ppi.png   |  Bin 9309 -> 8664 bytes
 .../13_DS_layout_Size_Time@win_320ppi.png       |  Bin 7288 -> 9593 bytes
 ...out_Size_DATE_100_percent@android_240ppi.png |  Bin 15183 -> 13483 bytes
 ..._layout_Size_DATE_100_percent@win_320ppi.png |  Bin 9597 -> 13855 bytes
 ...DATE_AND_TIME_100_percent@android_240ppi.png |  Bin 16990 -> 15236 bytes
 ..._AND_TIME_100_percent@android_240ppi.png.xml |  589 ++++
 ...ize_DATE_AND_TIME_100_percent@win_320ppi.png |  Bin 10888 -> 15872 bytes
 ...yout_Size_Time_20_percent@android_240ppi.png |  Bin 1052 -> 1001 bytes
 ...S_layout_Size_Time_20_percent@win_320ppi.png |  Bin 1060 -> 1246 bytes
 ...yout_Size_DATE_20_percent@android_240ppi.png |  Bin 1615 -> 1502 bytes
 ...S_layout_Size_DATE_20_percent@win_320ppi.png |  Bin 1306 -> 1663 bytes
 ..._DATE_AND_TIME_20_percent@android_240ppi.png |  Bin 1280 -> 1199 bytes
 ...E_AND_TIME_20_percent@android_240ppi.png.xml |  369 +++
 ...Size_DATE_AND_TIME_20_percent@win_320ppi.png |  Bin 1252 -> 1401 bytes
 ...1_DS_layout_Size_Time_100@android_240ppi.png |  Bin 2705 -> 2561 bytes
 .../1_DS_layout_Size_Time_100@win_320ppi.png    |  Bin 1756 -> 1999 bytes
 ...ut_Size_DATE_AND_TIME_100@android_240ppi.png |  Bin 2186 -> 2017 bytes
 ...ize_DATE_AND_TIME_100@android_240ppi.png.xml |  589 ++++
 ...layout_Size_DATE_AND_TIME_100@win_320ppi.png |  Bin 1132 -> 1253 bytes
 ...3_DS_layout_Size_DATE_100@android_240ppi.png |  Bin 2670 -> 2443 bytes
 .../3_DS_layout_Size_DATE_100@win_320ppi.png    |  Bin 1332 -> 1760 bytes
 ...4_DS_layout_Size_Time_250@android_240ppi.png |  Bin 10365 -> 8842 bytes
 .../4_DS_layout_Size_Time_250@win_320ppi.png    |  Bin 5687 -> 7272 bytes
 ...5_DS_layout_Size_DATE_250@android_240ppi.png |  Bin 13043 -> 11003 bytes
 .../5_DS_layout_Size_DATE_250@win_320ppi.png    |  Bin 5652 -> 7844 bytes
 ...ut_Size_DATE_AND_TIME_250@android_240ppi.png |  Bin 13091 -> 11811 bytes
 ...layout_Size_DATE_AND_TIME_250@win_320ppi.png |  Bin 5686 -> 7950 bytes
 ...7_DS_layout_Size_Time_500@android_240ppi.png |  Bin 16530 -> 14360 bytes
 .../7_DS_layout_Size_Time_500@win_320ppi.png    |  Bin 12982 -> 15691 bytes
 ...8_DS_layout_Size_DATE_500@android_240ppi.png |  Bin 26197 -> 22083 bytes
 .../8_DS_layout_Size_DATE_500@win_320ppi.png    |  Bin 12533 -> 18011 bytes
 ...ut_Size_DATE_AND_TIME_500@android_240ppi.png |  Bin 27228 -> 25340 bytes
 ...ize_DATE_AND_TIME_500@android_240ppi.png.xml |  589 ++++
 ...layout_Size_DATE_AND_TIME_500@win_320ppi.png |  Bin 12638 -> 18799 bytes
 ...Spinner_nestedScrolling_1@android_240ppi.png |  Bin 22573 -> 20659 bytes
 ...DateSpinner_nestedScrolling_1@win_320ppi.png |  Bin 14980 -> 20041 bytes
 .../DS_properties_displayMode_tester.mxml       |   98 +-
 .../DS_properties_invalidDate_tester.mxml       |   33 +
 ...roperties_minDate_maxDate_inline_tester.mxml |   37 +
 .../DS_properties_minDate_maxDate_tester.mxml   |   63 +
 ...DATETIME_dragToMaxDate_16@android_240ppi.png |  Bin 13255 -> 12677 bytes
 ...ine_DATETIME_dragToMaxDate_16@win_320ppi.png |  Bin 10030 -> 13943 bytes
 ...DATETIME_dragToMinDate_15@android_240ppi.png |  Bin 13415 -> 12911 bytes
 ...ine_DATETIME_dragToMinDate_15@win_320ppi.png |  Bin 10098 -> 13872 bytes
 ...ine_DATE_dragToMaxDate_14@android_240ppi.png |  Bin 11315 -> 10530 bytes
 ..._inline_DATE_dragToMaxDate_14@win_320ppi.png |  Bin 8376 -> 11503 bytes
 ...ine_DATE_dragToMinDate_13@android_240ppi.png |  Bin 11626 -> 10775 bytes
 ..._inline_DATE_dragToMinDate_13@win_320ppi.png |  Bin 8507 -> 11756 bytes
 ...h_auto_adjust_toMaxDay_18@android_240ppi.png |  Bin 11315 -> 10530 bytes
 ...month_auto_adjust_toMaxDay_18@win_320ppi.png |  Bin 8376 -> 11503 bytes
 ...h_auto_adjust_toMinDay_19@android_240ppi.png |  Bin 11626 -> 10775 bytes
 ...month_auto_adjust_toMinDay_19@win_320ppi.png |  Bin 8507 -> 11756 bytes
 ...ATE_not_draggable_year_17@android_240ppi.png |  Bin 11043 -> 10299 bytes
 ...ne_DATE_not_draggable_year_17@win_320ppi.png |  Bin 8354 -> 11486 bytes
 .../DS_minuteStepSize3@android_240ppi.png       |  Bin 8466 -> 8294 bytes
 .../baselines/DS_minuteStepSize3@win_320ppi.png |  Bin 7120 -> 9135 bytes
 .../DS_minuteStepSize4@android_240ppi.png       |  Bin 16268 -> 14935 bytes
 .../DS_minuteStepSize4@android_240ppi.png.xml   |  589 ++++
 .../baselines/DS_minuteStepSize4@win_320ppi.png |  Bin 10755 -> 15496 bytes
 .../baselines/DS_mode_date@android_240ppi.png   |  Bin 15368 -> 13613 bytes
 .../baselines/DS_mode_date@win_320ppi.png       |  Bin 9628 -> 14067 bytes
 .../DS_mode_date_time@android_240ppi.png        |  Bin 16523 -> 15778 bytes
 .../DS_mode_date_time@android_240ppi.png.xml    |  585 ++++
 .../baselines/DS_mode_date_time@win_320ppi.png  |  Bin 11034 -> 15807 bytes
 ..._mode_date_time_12hour_en@android_240ppi.png |  Bin 16523 -> 15778 bytes
 ...e_date_time_12hour_en@android_240ppi.png.xml |  585 ++++
 .../DS_mode_date_time_12hour_en@win_320ppi.png  |  Bin 11034 -> 15807 bytes
 .../DS_mode_date_time_am@android_240ppi.png     |  Bin 14846 -> 13587 bytes
 .../DS_mode_date_time_am@android_240ppi.png.xml |  585 ++++
 .../DS_mode_date_time_am@win_320ppi.png         |  Bin 10445 -> 14499 bytes
 ...ode_date_time_overMaxDate@android_240ppi.png |  Bin 12563 -> 11802 bytes
 ...DS_mode_date_time_overMaxDate@win_320ppi.png |  Bin 9611 -> 12726 bytes
 ...ate_time_overMaxDate_Date@android_240ppi.png |  Bin 13103 -> 12529 bytes
 ...de_date_time_overMaxDate_Date@win_320ppi.png |  Bin 9957 -> 13669 bytes
 ...ode_date_time_overMinDate@android_240ppi.png |  Bin 12726 -> 11961 bytes
 ...DS_mode_date_time_overMinDate@win_320ppi.png |  Bin 9652 -> 13087 bytes
 ...ate_time_overMinDate_Date@android_240ppi.png |  Bin 12966 -> 12339 bytes
 ...de_date_time_overMinDate_Date@win_320ppi.png |  Bin 9862 -> 13583 bytes
 .../DS_mode_date_time_pm@android_240ppi.png     |  Bin 16392 -> 15649 bytes
 .../DS_mode_date_time_pm@android_240ppi.png.xml |  585 ++++
 .../DS_mode_date_time_pm@win_320ppi.png         |  Bin 11003 -> 15808 bytes
 ...date_time_today_highlight@android_240ppi.png |  Bin 16995 -> 15430 bytes
 ..._time_today_highlight@android_240ppi.png.xml |  585 ++++
 ...ode_date_time_today_highlight@win_320ppi.png |  Bin 10987 -> 15971 bytes
 ...mode_date_today_highlight@android_240ppi.png |  Bin 15218 -> 13522 bytes
 .../DS_mode_date_today_highlight@win_320ppi.png |  Bin 9691 -> 13955 bytes
 .../baselines/DS_mode_time@android_240ppi.png   |  Bin 8798 -> 8379 bytes
 .../baselines/DS_mode_time@win_320ppi.png       |  Bin 7195 -> 9372 bytes
 .../DS_mode_time_am@android_240ppi.png          |  Bin 8893 -> 8527 bytes
 .../baselines/DS_mode_time_am@win_320ppi.png    |  Bin 7270 -> 9576 bytes
 .../DS_mode_time_pm@android_240ppi.png          |  Bin 8640 -> 8369 bytes
 .../baselines/DS_mode_time_pm@win_320ppi.png    |  Bin 7126 -> 9354 bytes
 ...mode_time_today_highlight@android_240ppi.png |  Bin 9350 -> 8709 bytes
 .../DS_mode_time_today_highlight@win_320ppi.png |  Bin 7384 -> 9685 bytes
 ...pinner_invalidDate_test10@android_240ppi.png |  Bin 14166 -> 13148 bytes
 ...ateSpinner_invalidDate_test10@win_320ppi.png |  Bin 9337 -> 13537 bytes
 ...pinner_invalidDate_test11@android_240ppi.png |  Bin 14166 -> 13148 bytes
 ...ateSpinner_invalidDate_test11@win_320ppi.png |  Bin 9337 -> 13537 bytes
 ...pinner_invalidDate_test12@android_240ppi.png |  Bin 13096 -> 12216 bytes
 ...ateSpinner_invalidDate_test12@win_320ppi.png |  Bin 9041 -> 12734 bytes
 ...pinner_invalidDate_test13@android_240ppi.png |  Bin 15522 -> 14486 bytes
 ...ateSpinner_invalidDate_test13@win_320ppi.png |  Bin 10716 -> 15389 bytes
 ...pinner_invalidDate_test14@android_240ppi.png |  Bin 15381 -> 14202 bytes
 ...ateSpinner_invalidDate_test14@win_320ppi.png |  Bin 9743 -> 14406 bytes
 ...pinner_invalidDate_test15@android_240ppi.png |  Bin 15390 -> 14204 bytes
 ...ateSpinner_invalidDate_test15@win_320ppi.png |  Bin 9777 -> 14403 bytes
 ...pinner_invalidDate_test16@android_240ppi.png |  Bin 15523 -> 14252 bytes
 ...ateSpinner_invalidDate_test16@win_320ppi.png |  Bin 9764 -> 14431 bytes
 ...pinner_invalidDate_test17@android_240ppi.png |  Bin 14983 -> 14034 bytes
 ...ateSpinner_invalidDate_test17@win_320ppi.png |  Bin 10608 -> 14992 bytes
 ...pinner_invalidDate_test18@android_240ppi.png |  Bin 13219 -> 12490 bytes
 ...ateSpinner_invalidDate_test18@win_320ppi.png |  Bin 9091 -> 12817 bytes
 ...pinner_invalidDate_test19@android_240ppi.png |  Bin 13471 -> 12468 bytes
 ...ateSpinner_invalidDate_test19@win_320ppi.png |  Bin 9199 -> 13141 bytes
 ...Spinner_invalidDate_test1@android_240ppi.png |  Bin 13856 -> 12926 bytes
 ...DateSpinner_invalidDate_test1@win_320ppi.png |  Bin 9255 -> 13028 bytes
 ...pinner_invalidDate_test20@android_240ppi.png |  Bin 13085 -> 12238 bytes
 ...ateSpinner_invalidDate_test20@win_320ppi.png |  Bin 8968 -> 12933 bytes
 ...pinner_invalidDate_test21@android_240ppi.png |  Bin 12026 -> 11222 bytes
 ...ateSpinner_invalidDate_test21@win_320ppi.png |  Bin 8545 -> 11818 bytes
 ...Spinner_invalidDate_test2@android_240ppi.png |  Bin 13856 -> 12926 bytes
 ...DateSpinner_invalidDate_test2@win_320ppi.png |  Bin 9255 -> 13028 bytes
 ...Spinner_invalidDate_test3@android_240ppi.png |  Bin 14963 -> 13624 bytes
 ...DateSpinner_invalidDate_test3@win_320ppi.png |  Bin 9471 -> 13536 bytes
 ...Spinner_invalidDate_test4@android_240ppi.png |  Bin 15826 -> 14442 bytes
 ...DateSpinner_invalidDate_test4@win_320ppi.png |  Bin 9740 -> 14189 bytes
 ...Spinner_invalidDate_test5@android_240ppi.png |  Bin 14653 -> 13624 bytes
 ...DateSpinner_invalidDate_test5@win_320ppi.png |  Bin 10420 -> 14456 bytes
 ...Spinner_invalidDate_test6@android_240ppi.png |  Bin 15238 -> 14160 bytes
 ...DateSpinner_invalidDate_test6@win_320ppi.png |  Bin 9724 -> 14281 bytes
 ...Spinner_invalidDate_test7@android_240ppi.png |  Bin 15238 -> 14160 bytes
 ...DateSpinner_invalidDate_test7@win_320ppi.png |  Bin 9724 -> 14281 bytes
 ...Spinner_invalidDate_test8@android_240ppi.png |  Bin 14169 -> 13148 bytes
 ...DateSpinner_invalidDate_test8@win_320ppi.png |  Bin 9377 -> 13402 bytes
 ...Spinner_invalidDate_test9@android_240ppi.png |  Bin 14974 -> 14205 bytes
 ...DateSpinner_invalidDate_test9@win_320ppi.png |  Bin 10600 -> 15075 bytes
 ...te_DATETIME_small_range_7@android_240ppi.png |  Bin 11870 -> 11256 bytes
 ...axDate_DATETIME_small_range_7@win_320ppi.png |  Bin 9378 -> 12495 bytes
 ...axDate_DATE_small_range_6@android_240ppi.png |  Bin 12103 -> 11494 bytes
 ...te_maxDate_DATE_small_range_6@win_320ppi.png |  Bin 8673 -> 12125 bytes
 ...h_hour_minute_DATETIME_15@android_240ppi.png |  Bin 12706 -> 11872 bytes
 ..._with_hour_minute_DATETIME_15@win_320ppi.png |  Bin 9589 -> 13016 bytes
 ..._with_hour_minute_DATE_16@android_240ppi.png |  Bin 11472 -> 10816 bytes
 ...Date_with_hour_minute_DATE_16@win_320ppi.png |  Bin 8716 -> 12123 bytes
 ..._only_maxDate_DATETIME_14@android_240ppi.png |  Bin 13343 -> 12691 bytes
 ...y_maxDate_DATETIME_14@android_240ppi.png.xml |  469 +++
 ...Date_only_maxDate_DATETIME_14@win_320ppi.png |  Bin 9859 -> 13666 bytes
 ...xDate_DATE_testInvalid_12@android_240ppi.png |  Bin 14436 -> 13317 bytes
 ...y_maxDate_DATE_testInvalid_12@win_320ppi.png |  Bin 9387 -> 13635 bytes
 ..._hour_DATE_testInvalid_17@android_240ppi.png |  Bin 13355 -> 12329 bytes
 ...with_hour_DATE_testInvalid_17@win_320ppi.png |  Bin 9197 -> 13171 bytes
 ...ectedDate_mouse_invalid_7@android_240ppi.png |  Bin 15464 -> 14342 bytes
 ..._selectedDate_mouse_invalid_7@win_320ppi.png |  Bin 9874 -> 14424 bytes
 ...ectedDate_mouse_invalid_8@android_240ppi.png |  Bin 9297 -> 8506 bytes
 ..._selectedDate_mouse_invalid_8@win_320ppi.png |  Bin 7371 -> 9602 bytes
 ...ectedDate_mouse_invalid_9@android_240ppi.png |  Bin 15149 -> 13713 bytes
 ..._selectedDate_mouse_invalid_9@win_320ppi.png |  Bin 10630 -> 14764 bytes
 ...DateSpinner_states_full_1@android_240ppi.png |  Bin 9363 -> 8547 bytes
 .../DateSpinner_states_full_1@win_320ppi.png    |  Bin 7215 -> 9311 bytes
 .../styles/DS_local_style_tester.mxml           |   20 +-
 ...r_custom_skin_style_test6@android_240ppi.png |  Bin 16321 -> 14013 bytes
 ...inner_custom_skin_style_test6@win_320ppi.png |  Bin 10063 -> 14420 bytes
 ...pinner_visual_style_test4@android_240ppi.png |  Bin 8399 -> 7181 bytes
 ...ateSpinner_visual_style_test4@win_320ppi.png |  Bin 6115 -> 7834 bytes
 ...pinner_visual_style_test5@android_240ppi.png |  Bin 14343 -> 16000 bytes
 ...ateSpinner_visual_style_test5@win_320ppi.png |  Bin 9869 -> 13831 bytes
 .../DateSpinner/swfs/DateSpinnerMain.mxml       |    5 +-
 .../DateSpinner/swfs/assets/splashScreen.png    |  Bin 89351 -> 0 bytes
 .../DateSpinner/swfs/views/DisplayModeView.mxml |    4 +-
 .../DateSpinner/swfs/views/EventView.mxml       |    4 +-
 .../DateSpinner/swfs/views/InvalidDateView.mxml |    4 +-
 .../DateSpinner/swfs/views/Layout_size.mxml     |    2 +-
 .../swfs/views/MinDateMaxDateInlineView.mxml    |    2 +
 .../swfs/views/MinDateMaxDateView.mxml          |    4 +-
 .../swfs/views/NestedScrollingView.mxml         |    2 +-
 .../swfs/views/SelectedDateView.mxml            |    2 +-
 .../DateSpinner/swfs/views/VisualStyleView.mxml |   12 +-
 .../DateSpinner/swfs/views/zh_CNView.mxml       |   12 +-
 ...der_Mirroring_rtl_dataTip@android_240ppi.png |  Bin 1621 -> 1443 bytes
 ...HSlider_Mirroring_rtl_dataTip@win_320ppi.png |  Bin 1950 -> 1988 bytes
 .../components/HSlider/swfs/HSliderS.mxml       |    1 +
 .../Image/properties/Image_properties.mxml      |   24 +-
 ...llModescale_ScaleModezoom@android_240ppi.png |  Bin 0 -> 1478 bytes
 ...e_FillModescale_ScaleModezoom@win_320ppi.png |  Bin 0 -> 1818 bytes
 .../Image_enabled_test1@android_240ppi.png      |  Bin 0 -> 561 bytes
 .../Image_enabled_test1@win_320ppi.png          |  Bin 0 -> 709 bytes
 .../Image_enabled_test2@android_240ppi.png      |  Bin 0 -> 561 bytes
 .../Image_enabled_test2@win_320ppi.png          |  Bin 0 -> 709 bytes
 .../Image_heightwidth_test1@android_240ppi.png  |  Bin 0 -> 590 bytes
 .../Image_heightwidth_test1@win_320ppi.png      |  Bin 0 -> 831 bytes
 .../Image_heightwidth_test2@android_240ppi.png  |  Bin 0 -> 1187 bytes
 .../Image_heightwidth_test2@win_320ppi.png      |  Bin 0 -> 1209 bytes
 .../Image_heightwidth_test3@android_240ppi.png  |  Bin 0 -> 1946 bytes
 .../Image_heightwidth_test3@win_320ppi.png      |  Bin 0 -> 2300 bytes
 .../Image_heightwidth_test4@android_240ppi.png  |  Bin 0 -> 1588 bytes
 .../Image_heightwidth_test4@win_320ppi.png      |  Bin 0 -> 1623 bytes
 .../Image_source_test1@android_240ppi.png       |  Bin 0 -> 590 bytes
 .../baselines/Image_source_test1@win_320ppi.png |  Bin 0 -> 831 bytes
 .../Image_source_test4@android_240ppi.png       |  Bin 0 -> 590 bytes
 .../baselines/Image_source_test4@win_320ppi.png |  Bin 0 -> 831 bytes
 .../Image_source_test5@android_240ppi.png       |  Bin 0 -> 590 bytes
 .../baselines/Image_source_test5@win_320ppi.png |  Bin 0 -> 831 bytes
 .../mobile/components/Image/swfs/ImageApp1.mxml |    1 +
 .../components/Image/swfs/assets/greenrect.jpg  |  Bin
 .../components/Image/swfs/assets/redrect.png    |  Bin 0 -> 1475 bytes
 .../Image/swfs/assets/smallgreenrect.jpg        |  Bin
 .../Image/swfs/assets/smallorangerect.gif       |  Bin 0 -> 821 bytes
 .../Label/Styles/Label_GlobalStyles.mxml        |    0
 .../Label/Styles/Label_Styles_tester.mxml       |    8 +-
 ...RichText_alignmentBaseline_ascent@240ppi.png |  Bin 5373 -> 5272 bytes
 ...RichText_alignmentBaseline_ascent@320ppi.png |  Bin 7778 -> 7846 bytes
 ...ichText_alignmentBaseline_default@240ppi.png |  Bin 5374 -> 5272 bytes
 ...ichText_alignmentBaseline_default@320ppi.png |  Bin 7838 -> 7866 bytes
 ...ichText_alignmentBaseline_descent@240ppi.png |  Bin 5375 -> 5272 bytes
 ...ichText_alignmentBaseline_descent@320ppi.png |  Bin 7838 -> 7865 bytes
 ...ignmentBaseline_ideographicBottom@240ppi.png |  Bin 5375 -> 5272 bytes
 ...ignmentBaseline_ideographicBottom@320ppi.png |  Bin 7838 -> 7865 bytes
 ...ignmentBaseline_ideographicCenter@240ppi.png |  Bin 5369 -> 5272 bytes
 ...ignmentBaseline_ideographicCenter@320ppi.png |  Bin 7839 -> 7865 bytes
 ..._alignmentBaseline_ideographicTop@240ppi.png |  Bin 5373 -> 5272 bytes
 ..._alignmentBaseline_ideographicTop@320ppi.png |  Bin 7594 -> 7846 bytes
 ..._RichText_alignmentBaseline_roman@240ppi.png |  Bin 5374 -> 5272 bytes
 ..._RichText_alignmentBaseline_roman@320ppi.png |  Bin 7838 -> 7866 bytes
 ...el_RichText_baselineShift_default@240ppi.png |  Bin 5374 -> 5272 bytes
 ...el_RichText_baselineShift_default@320ppi.png |  Bin 7838 -> 7866 bytes
 ...abel_RichText_baselineShift_pos10@240ppi.png |  Bin 5374 -> 5272 bytes
 ...abel_RichText_baselineShift_pos10@320ppi.png |  Bin 7839 -> 7866 bytes
 ...pare_Label_RichText_color_default@240ppi.png |  Bin 5510 -> 5452 bytes
 ...pare_Label_RichText_color_default@320ppi.png |  Bin 7718 -> 8175 bytes
 .../Compare_Label_RichText_color_red@240ppi.png |  Bin 5600 -> 5484 bytes
 .../Compare_Label_RichText_color_red@320ppi.png |  Bin 8119 -> 8266 bytes
 ..._Label_RichText_digitCase_default@240ppi.png |  Bin 1384 -> 1390 bytes
 ..._Label_RichText_digitCase_default@320ppi.png |  Bin 1218 -> 1384 bytes
 ...e_Label_RichText_digitCase_lining@320ppi.png |  Bin 1218 -> 1384 bytes
 ...Label_RichText_digitCase_oldStyle@320ppi.png |  Bin 1069 -> 1384 bytes
 ...Label_RichText_digitWidth_default@320ppi.png |  Bin 907 -> 1030 bytes
 ..._RichText_digitWidth_proportional@320ppi.png |  Bin 928 -> 1030 bytes
 ...Label_RichText_digitWidth_tabular@320ppi.png |  Bin 907 -> 1030 bytes
 ..._Label_RichText_direction_default@240ppi.png |  Bin 5374 -> 5272 bytes
 ..._Label_RichText_direction_default@320ppi.png |  Bin 7838 -> 7866 bytes
 ...pare_Label_RichText_direction_rtl@240ppi.png |  Bin 5344 -> 5268 bytes
 ...pare_Label_RichText_direction_rtl@320ppi.png |  Bin 7787 -> 7800 bytes
 ...Compare_Label_RichText_fontSize_8@240ppi.png |  Bin 1570 -> 1484 bytes
 ...Compare_Label_RichText_fontSize_8@320ppi.png |  Bin 1429 -> 1570 bytes
 ...e_Label_RichText_fontStyle_italic@320ppi.png |  Bin 10010 -> 8993 bytes
 ...hText_justificationRule_eastAsian@240ppi.png |  Bin 4855 -> 4534 bytes
 ...t_justificationRule_eastAsian@win_320ppi.png |  Bin 3415 -> 2369 bytes
 ..._RichText_justificationRule_space@240ppi.png |  Bin 4869 -> 4546 bytes
 ...hText_justificationRule_space@win_320ppi.png |  Bin 3422 -> 2381 bytes
 ...Compare_Label_RichText_kerning_on@320ppi.png |  Bin 1860 -> 1595 bytes
 ...pare_Label_RichText_lineHeight_40@240ppi.png |  Bin 5892 -> 5647 bytes
 ...pare_Label_RichText_lineHeight_40@320ppi.png |  Bin 7775 -> 8324 bytes
 ...e_Label_RichText_lineThrough_true@240ppi.png |  Bin 5569 -> 5347 bytes
 ...e_Label_RichText_lineThrough_true@320ppi.png |  Bin 7187 -> 7925 bytes
 ...e_Label_RichText_paddingBottom_30@240ppi.png |  Bin 410 -> 389 bytes
 ...e_Label_RichText_paddingBottom_30@320ppi.png |  Bin 677 -> 446 bytes
 ...abel_RichText_paddingLeft_default@240ppi.png |  Bin 5472 -> 5283 bytes
 ...abel_RichText_paddingLeft_default@320ppi.png |  Bin 7448 -> 7927 bytes
 ...re_Label_RichText_paddingRight_30@240ppi.png |  Bin 2042 -> 2344 bytes
 ...re_Label_RichText_paddingRight_30@320ppi.png |  Bin 2877 -> 1659 bytes
 ...pare_Label_RichText_paddingTop_70@240ppi.png |  Bin 650 -> 614 bytes
 ...pare_Label_RichText_paddingTop_70@320ppi.png |  Bin 985 -> 710 bytes
 ...bel_RichText_verticalAlign_bottom@240ppi.png |  Bin 2271 -> 2437 bytes
 ...bel_RichText_verticalAlign_bottom@320ppi.png |  Bin 3080 -> 3030 bytes
 ...el_RichText_verticalAlign_justify@240ppi.png |  Bin 2399 -> 2437 bytes
 ...el_RichText_verticalAlign_justify@320ppi.png |  Bin 3080 -> 3030 bytes
 ...bel_DescendantClassSelector_spark@240ppi.png |  Bin 4565 -> 4537 bytes
 ...bel_DescendantClassSelector_spark@320ppi.png |  Bin 4395 -> 4565 bytes
 .../Label_DescendantSelector@240ppi.png         |  Bin 4425 -> 5247 bytes
 .../Label_DescendantSelector@win_320ppi.png     |  Bin 3316 -> 2895 bytes
 .../baselines/Label_IDSelector@240ppi.png       |  Bin 2608 -> 3152 bytes
 .../baselines/Label_IDSelector@win_320ppi.png   |  Bin 1196 -> 1104 bytes
 .../baselines/Label_TypeIDSelector@240ppi.png   |  Bin 3795 -> 4308 bytes
 .../Label_TypeIDSelector@win_320ppi.png         |  Bin 1789 -> 1630 bytes
 ...bel_truncation_lineBreak_explicit@240ppi.png |  Bin 2003 -> 2038 bytes
 ...bel_truncation_lineBreak_explicit@320ppi.png |  Bin 2527 -> 2152 bytes
 .../Label_truncation_lineBreak_tofit@240ppi.png |  Bin 4254 -> 3760 bytes
 .../Label_truncation_lineBreak_tofit@320ppi.png |  Bin 4911 -> 4226 bytes
 .../properties/Label_Properties_tester1.mxml    |    6 +-
 .../properties/Label_Properties_tester2.mxml    |    2 +-
 .../baselines/Label_baseline_10@240ppi.png      |  Bin 790 -> 918 bytes
 .../baselines/Label_baseline_10@320ppi.png      |  Bin 378 -> 489 bytes
 .../baselines/Label_baseline_50@240ppi.png      |  Bin 1023 -> 1227 bytes
 .../baselines/Label_baseline_50@320ppi.png      |  Bin 485 -> 634 bytes
 .../baselines/Label_baseline_neg5@240ppi.png    |  Bin 2483 -> 3088 bytes
 .../baselines/Label_baseline_neg5@320ppi.png    |  Bin 713 -> 1010 bytes
 .../baselines/Label_bottom_40_Label@240ppi.png  |  Bin 973 -> 1178 bytes
 .../baselines/Label_bottom_40_Label@320ppi.png  |  Bin 423 -> 555 bytes
 .../baselines/Label_height_10@240ppi.png        |  Bin 197 -> 196 bytes
 .../baselines/Label_height_10@win_320ppi.png    |  Bin 177 -> 134 bytes
 .../baselines/Label_height_50@240ppi.png        |  Bin 1966 -> 2789 bytes
 .../baselines/Label_height_50@win_320ppi.png    |  Bin 1403 -> 961 bytes
 .../Label_horizontalCenter_Label_0@240ppi.png   |  Bin 261 -> 263 bytes
 .../Label_horizontalCenter_Label_0@320ppi.png   |  Bin 228 -> 240 bytes
 .../Label_horizontalCenter_Label_40@240ppi.png  |  Bin 260 -> 262 bytes
 .../Label_horizontalCenter_Label_40@320ppi.png  |  Bin 230 -> 239 bytes
 .../baselines/Label_left_50_Label@240ppi.png    |  Bin 655 -> 647 bytes
 .../baselines/Label_left_50_Label@320ppi.png    |  Bin 347 -> 447 bytes
 .../baselines/Label_maxHeight_10@240ppi.png     |  Bin 311 -> 339 bytes
 .../baselines/Label_maxHeight_10@win_320ppi.png |  Bin 233 -> 165 bytes
 .../Label_maxHeight_26point5@240ppi.png         |  Bin 548 -> 656 bytes
 .../Label_maxHeight_26point5@win_320ppi.png     |  Bin 509 -> 378 bytes
 .../baselines/Label_maxHeight_50@240ppi.png     |  Bin 2298 -> 3148 bytes
 .../baselines/Label_maxHeight_50@win_320ppi.png |  Bin 1624 -> 1066 bytes
 .../baselines/Label_maxWidth_24@240ppi.png      |  Bin 1445 -> 1805 bytes
 .../baselines/Label_maxWidth_24@win_320ppi.png  |  Bin 559 -> 366 bytes
 .../Label_maxWidth_26point5@240ppi.png          |  Bin 1491 -> 1922 bytes
 .../Label_maxWidth_26point5@win_320ppi.png      |  Bin 559 -> 366 bytes
 .../baselines/Label_maxWidth_50@240ppi.png      |  Bin 1466 -> 1953 bytes
 .../baselines/Label_maxWidth_50@win_320ppi.png  |  Bin 1634 -> 1064 bytes
 .../baselines/Label_minHeight_5@240ppi.png      |  Bin 196 -> 133 bytes
 .../baselines/Label_minHeight_5@win_320ppi.png  |  Bin 174 -> 133 bytes
 .../baselines/Label_multiLine@240ppi.png        |  Bin 4415 -> 5009 bytes
 .../baselines/Label_multiLine@320ppi.png        |  Bin 1607 -> 2417 bytes
 ...bel_multiLine_maxDisplayedLines-1@240ppi.png |  Bin 2622 -> 1501 bytes
 ...multiLine_maxDisplayedLines-1@win_320ppi.png |  Bin 1051 -> 724 bytes
 ...abel_multiLine_maxDisplayedLines1@240ppi.png |  Bin 1060 -> 934 bytes
 ..._multiLine_maxDisplayedLines1@win_320ppi.png |  Bin 826 -> 493 bytes
 ...abel_multiLine_maxDisplayedLines2@240ppi.png |  Bin 2068 -> 1582 bytes
 ..._multiLine_maxDisplayedLines2@win_320ppi.png |  Bin 1278 -> 792 bytes
 ...ltiLine_maxDisplayedLines_default@240ppi.png |  Bin 2858 -> 2058 bytes
 ...ine_maxDisplayedLines_default@win_320ppi.png |  Bin 1054 -> 722 bytes
 .../baselines/Label_right_40_Label@240ppi.png   |  Bin 261 -> 263 bytes
 .../baselines/Label_right_40_Label@320ppi.png   |  Bin 226 -> 239 bytes
 .../baselines/Label_scaleX_3@240ppi.png         |  Bin 1642 -> 2041 bytes
 .../baselines/Label_scaleX_3@win_320ppi.png     |  Bin 2461 -> 1265 bytes
 .../baselines/Label_scaleX_point5@240ppi.png    |  Bin 477 -> 522 bytes
 .../Label_scaleX_point5@win_320ppi.png          |  Bin 472 -> 357 bytes
 .../baselines/Label_scaleY_3@240ppi.png         |  Bin 4333 -> 6593 bytes
 .../baselines/Label_scaleY_3@win_320ppi.png     |  Bin 2879 -> 2467 bytes
 .../baselines/Label_scaleY_point5@240ppi.png    |  Bin 1358 -> 1807 bytes
 .../baselines/Label_scaleY_point5@320ppi.png    |  Bin 392 -> 576 bytes
 .../baselines/Label_singleLine@240ppi.png       |  Bin 3919 -> 4954 bytes
 .../baselines/Label_singleLine@win_320ppi.png   |  Bin 2874 -> 2151 bytes
 ...el_singleLine_maxDisplayedLines-1@240ppi.png |  Bin 2948 -> 1501 bytes
 ...ingleLine_maxDisplayedLines-1@win_320ppi.png |  Bin 1051 -> 724 bytes
 ...bel_singleLine_maxDisplayedLines1@240ppi.png |  Bin 1060 -> 934 bytes
 ...singleLine_maxDisplayedLines1@win_320ppi.png |  Bin 826 -> 493 bytes
 ...bel_singleLine_maxDisplayedLines2@240ppi.png |  Bin 2186 -> 1582 bytes
 ...singleLine_maxDisplayedLines2@win_320ppi.png |  Bin 1278 -> 792 bytes
 ...gleLine_maxDisplayedLines_default@240ppi.png |  Bin 2866 -> 2058 bytes
 ...ine_maxDisplayedLines_default@win_320ppi.png |  Bin 1054 -> 722 bytes
 .../baselines/Label_styleName_bigRed@240ppi.png |  Bin 3436 -> 4091 bytes
 .../Label_styleName_bigRed@win_320ppi.png       |  Bin 1564 -> 1506 bytes
 .../baselines/Label_top_25_Label@240ppi.png     |  Bin 848 -> 1101 bytes
 .../baselines/Label_top_25_Label@320ppi.png     |  Bin 454 -> 620 bytes
 .../Label_verticalCenter_Label_0@240ppi.png     |  Bin 1811 -> 2456 bytes
 .../Label_verticalCenter_Label_0@320ppi.png     |  Bin 997 -> 1328 bytes
 .../Label_verticalCenter_Label_20@240ppi.png    |  Bin 1664 -> 2272 bytes
 .../Label_verticalCenter_Label_20@320ppi.png    |  Bin 1019 -> 1287 bytes
 .../Label_visible_false_of_Label@240ppi.png     |  Bin 115 -> 119 bytes
 .../Label_visible_true_of_Label@240ppi.png      |  Bin 766 -> 1097 bytes
 .../Label_visible_true_of_Label@320ppi.png      |  Bin 417 -> 576 bytes
 .../baselines/Label_width_50@240ppi.png         |  Bin 1444 -> 1838 bytes
 .../baselines/Label_width_50@320ppi.png         |  Bin 534 -> 803 bytes
 .../baselines/Label_x_40_Label@240ppi.png       |  Bin 209 -> 148 bytes
 .../baselines/Label_x_40_Label@320ppi.png       |  Bin 150 -> 163 bytes
 .../Label_x_neg5point6_Label@240ppi.png         |  Bin 564 -> 683 bytes
 .../Label_x_neg5point6_Label@320ppi.png         |  Bin 256 -> 349 bytes
 .../baselines/Label_y_40_Label@240ppi.png       |  Bin 725 -> 888 bytes
 .../baselines/Label_y_40_Label@320ppi.png       |  Bin 375 -> 537 bytes
 .../Label_y_neg5point6_Label@240ppi.png         |  Bin 489 -> 634 bytes
 .../Label_y_neg5point6_Label@320ppi.png         |  Bin 232 -> 304 bytes
 .../mobile/components/Label/swfs/Label1.mxml    |   34 +-
 .../mobile/components/Label/swfs/Label2.mxml    |    2 +-
 .../Label/swfs/components/LabelBasic.mxml       |    0
 .../Label/swfs/components/LabelPlainView.mxml   |    0
 .../Label/swfs/components/LabelStylesView1.mxml |    0
 .../List/integration/ItemSnapping_HGroup.mxml   |    0
 .../integration/ItemSnapping_Integration.mxml   |    0
 .../ItemSnapping_ListHorizontal.mxml            |    0
 .../integration/ItemSnapping_ListResize.mxml    |    8 +-
 .../List/integration/ItemSnapping_ListTile.mxml |    0
 .../integration/ItemSnapping_ListVertical.mxml  |    0
 .../integration/ItemSnapping_Orientation.mxml   |    0
 .../ItemSnapping_PagingAndSnapping.mxml         |    0
 .../ItemSnapping_PagingHorizontal.mxml          |    0
 .../ItemSnapping_PagingListFullScreen.mxml      |    0
 .../ItemSnapping_PagingListHorizontal.mxml      |    0
 .../ItemSnapping_PagingListTile.mxml            |    0
 .../ItemSnapping_PagingListVertical.mxml        |    0
 .../integration/ItemSnapping_PagingVGroup.mxml  |    0
 .../integration/ItemSnapping_TileGroup.mxml     |    0
 .../List/integration/ItemSnapping_VGroup.mxml   |    0
 .../List/integration/List_Integration.mxml      |    2 +-
 .../integration/List_Integration_button.mxml    |    8 +-
 .../integration/List_Integration_iconIR.mxml    |  130 +-
 .../integration/List_Integration_labelIR.mxml   |   29 +-
 .../integration/List_Integration_nested.mxml    |   38 +-
 .../List_Integration_iconIR_color@android.png   |  Bin 16330 -> 4256 bytes
 ...ist_Integration_iconIR_color@android.png.xml |  124 +
 ...List_Integration_iconIR_function@android.png |  Bin 14226 -> 10908 bytes
 ...ntegration_iconIR_function_field@android.png |  Bin 14226 -> 10908 bytes
 ...tegration_iconIR_horizontalGap_0@android.png |  Bin 21244 -> 2802 bytes
 ...egration_iconIR_horizontalGap_20@android.png |  Bin 21262 -> 2811 bytes
 ...gration_iconIR_iconContentLoader@android.png |  Bin 18190 -> 1399 bytes
 ...gration_iconIR_iconFillMode_clip@android.png |  Bin 9538 -> 1720 bytes
 ..._iconIR_iconFillMode_clip_scroll@android.png |  Bin 10380 -> 1492 bytes
 ...ation_iconIR_iconFillMode_repeat@android.png |  Bin 29608 -> 2093 bytes
 ...conIR_iconFillMode_repeat_scroll@android.png |  Bin 29608 -> 2093 bytes
 ...ration_iconIR_iconFillMode_scale@android.png |  Bin 28804 -> 9369 bytes
 ...iconIR_iconFillMode_scale_scroll@android.png |  Bin 21366 -> 3014 bytes
 ...tegration_iconIR_iconPlaceholder@android.png |  Bin 2392 -> 2822 bytes
 ...ation_iconIR_iconPlaceholder@android.png.xml |  101 +
 ...n_iconIR_iconScaleMode_letterBox@android.png |  Bin 19054 -> 1924 bytes
 ...R_iconScaleMode_letterBox_scroll@android.png |  Bin 20324 -> 1695 bytes
 .../List_Integration_iconIR_padding@android.png |  Bin 30294 -> 9654 bytes
 ...R_verticalAlign_bottom_largeIcon@android.png |  Bin 21217 -> 2807 bytes
 ...R_verticalAlign_bottom_smallIcon@android.png |  Bin 3535 -> 2162 bytes
 ...onIR_verticalAlign_top_largeIcon@android.png |  Bin 21219 -> 2807 bytes
 ...onIR_verticalAlign_top_smallIcon@android.png |  Bin 3543 -> 2162 bytes
 ...Integration_iconIR_verticalGap_0@android.png |  Bin 21199 -> 2806 bytes
 ...ntegration_iconIR_verticalGap_20@android.png |  Bin 21280 -> 2860 bytes
 .../List_Integration_iconIR_visual@android.png  |  Bin 16516 -> 4264 bytes
 ...st_Integration_iconIR_visual@android.png.xml |  124 +
 ...List_Integration_labelIR_addItem@android.png |  Bin 1539 -> 1377 bytes
 ...List_Integration_labelIR_padding@android.png |  Bin 2893 -> 2215 bytes
 ...ion_labelIR_verticalAlign_bottom@android.png |  Bin 2926 -> 2323 bytes
 ...ration_labelIR_verticalAlign_top@android.png |  Bin 2926 -> 2323 bytes
 .../List_Integration_labelIR_visual@android.png |  Bin 2320 -> 1804 bytes
 ...egration_labelIR_visual_subclass@android.png |  Bin 2264 -> 1761 bytes
 .../components/List/swfs/ItemSnapping.mxml      |    1 +
 .../tests/mobile/components/List/swfs/List.mxml |   19 +-
 .../ExpandingItemRendererSnapping.mxml          |    0
 ...tton_clearStyle_textStyle@android_240ppi.png |  Bin 4239 -> 3054 bytes
 ...ioButton_clearStyle_textStyle@win_320ppi.png |  Bin 3530 -> 4004 bytes
 ..._clearStyle_iconPlacement@android_240ppi.png |  Bin 4239 -> 3054 bytes
 ...thod_clearStyle_iconPlacement@win_320ppi.png |  Bin 3530 -> 4004 bytes
 ...ile_RadioButton_alpha_0.5@android_240ppi.png |  Bin 3054 -> 2955 bytes
 .../Mobile_RadioButton_alpha_0.5@win_320ppi.png |  Bin 3189 -> 3750 bytes
 ...obile_RadioButton_alpha_0@android_240ppi.png |  Bin 193 -> 195 bytes
 ..._change_groupName_runtime@android_240ppi.png |  Bin 21535 -> 15724 bytes
 ...tton_change_groupName_runtime@win_320ppi.png |  Bin 17666 -> 19821 bytes
 ...adioButton_down_alpha_0.5@android_240ppi.png |  Bin 3384 -> 3270 bytes
 ...le_RadioButton_down_alpha_0.5@win_320ppi.png |  Bin 3170 -> 3732 bytes
 ...RadioButton_enabled_false@android_240ppi.png |  Bin 3147 -> 2922 bytes
 ...ile_RadioButton_enabled_false@win_320ppi.png |  Bin 3558 -> 3986 bytes
 ...ton_enabled_false_clicked@android_240ppi.png |  Bin 3147 -> 2922 bytes
 ...oButton_enabled_false_clicked@win_320ppi.png |  Bin 3558 -> 3986 bytes
 ...bled_false_runtime_change@android_240ppi.png |  Bin 3930 -> 3637 bytes
 ..._enabled_false_runtime_change@win_320ppi.png |  Bin 3992 -> 4600 bytes
 ...utton_group_enabled_false@android_240ppi.png |  Bin 6391 -> 5740 bytes
 ...dioButton_group_enabled_false@win_320ppi.png |  Bin 6522 -> 7205 bytes
 ...abled_true_runtime_change@android_240ppi.png |  Bin 8372 -> 6112 bytes
 ...p_enabled_true_runtime_change@win_320ppi.png |  Bin 7082 -> 7745 bytes
 ...adioButton_height_default@android_240ppi.png |  Bin 1693 -> 1724 bytes
 ...dioButton_height_increase@android_240ppi.png |  Bin 4404 -> 3282 bytes
 ...e_RadioButton_height_increase@win_320ppi.png |  Bin 3679 -> 4099 bytes
 ...e_RadioButton_icon_inline@android_240ppi.png |  Bin 2217 -> 1996 bytes
 ...obile_RadioButton_icon_inline@win_320ppi.png |  Bin 2771 -> 2869 bytes
 ...on_scaleX_scaleY_0point33@android_240ppi.png |  Bin 1259 -> 833 bytes
 ...n_icon_scaleX_scaleY_0point33@win_320ppi.png |  Bin 910 -> 1068 bytes
 ...con_scaleX_scaleY_0point5@android_240ppi.png |  Bin 1899 -> 1344 bytes
 ...on_icon_scaleX_scaleY_0point5@win_320ppi.png |  Bin 1332 -> 1646 bytes
 ...con_scaleX_scaleY_1point5@android_240ppi.png |  Bin 6615 -> 5219 bytes
 ...on_icon_scaleX_scaleY_1point5@win_320ppi.png |  Bin 6072 -> 7167 bytes
 ...time_iconPlacement_bottom@android_240ppi.png |  Bin 5053 -> 3737 bytes
 ..._runtime_iconPlacement_bottom@win_320ppi.png |  Bin 3945 -> 4560 bytes
 ...untime_iconPlacement_left@android_240ppi.png |  Bin 4986 -> 3690 bytes
 ...ge_runtime_iconPlacement_left@win_320ppi.png |  Bin 3839 -> 4466 bytes
 ...ntime_iconPlacement_right@android_240ppi.png |  Bin 4967 -> 3691 bytes
 ...e_runtime_iconPlacement_right@win_320ppi.png |  Bin 3818 -> 4431 bytes
 ...runtime_iconPlacement_top@android_240ppi.png |  Bin 5080 -> 3780 bytes
 ...nge_runtime_iconPlacement_top@win_320ppi.png |  Bin 3972 -> 4588 bytes
 ...oButton_label_databinding@android_240ppi.png |  Bin 4062 -> 3031 bytes
 ...RadioButton_label_databinding@win_320ppi.png |  Bin 3440 -> 3824 bytes
 ..._long_iconPlacement_right@android_240ppi.png |  Bin 6217 -> 4276 bytes
 ...abel_long_iconPlacement_right@win_320ppi.png |  Bin 4250 -> 5351 bytes
 ...l_short_iconPlacement_top@android_240ppi.png |  Bin 2635 -> 2262 bytes
 ...label_short_iconPlacement_top@win_320ppi.png |  Bin 2921 -> 3159 bytes
 ...utton_percentHeight_0_100@android_240ppi.png |  Bin 8306 -> 6056 bytes
 ...dioButton_percentHeight_0_100@win_320ppi.png |  Bin 6981 -> 7650 bytes
 ...utton_percentHeight_100_0@android_240ppi.png |  Bin 8304 -> 6061 bytes
 ...dioButton_percentHeight_100_0@win_320ppi.png |  Bin 6979 -> 7646 bytes
 ...ioButton_percentHeight_50@android_240ppi.png |  Bin 8306 -> 6044 bytes
 ..._RadioButton_percentHeight_50@win_320ppi.png |  Bin 6981 -> 7650 bytes
 ...0_change_container_height@android_240ppi.png |  Bin 9006 -> 6676 bytes
 ...ht_50_change_container_height@win_320ppi.png |  Bin 7701 -> 8388 bytes
 ...Button_percentWidth_0_100@android_240ppi.png |  Bin 4036 -> 3338 bytes
 ...adioButton_percentWidth_0_100@win_320ppi.png |  Bin 3846 -> 4101 bytes
 ...Button_percentWidth_100_0@android_240ppi.png |  Bin 5568 -> 3868 bytes
 ...adioButton_percentWidth_100_0@win_320ppi.png |  Bin 4995 -> 5483 bytes
 ...dioButton_percentWidth_50@android_240ppi.png |  Bin 5038 -> 3424 bytes
 ...e_RadioButton_percentWidth_50@win_320ppi.png |  Bin 4010 -> 4383 bytes
 ...50_change_container_width@android_240ppi.png |  Bin 4150 -> 3041 bytes
 ...dth_50_change_container_width@win_320ppi.png |  Bin 3645 -> 3833 bytes
 ...tton_selected_databinding@android_240ppi.png |  Bin 4064 -> 3183 bytes
 ...ioButton_selected_databinding@win_320ppi.png |  Bin 3547 -> 3995 bytes
 ...RadioButton_set_groupName@android_240ppi.png |  Bin 21462 -> 15681 bytes
 ...ile_RadioButton_set_groupName@win_320ppi.png |  Bin 17569 -> 19734 bytes
 ...set_selected_actionscript@android_240ppi.png |  Bin 3199 -> 2438 bytes
 ...ton_set_selected_actionscript@win_320ppi.png |  Bin 3149 -> 3429 bytes
 ...t_selected_false_disabled@android_240ppi.png |  Bin 2333 -> 2205 bytes
 ...n_set_selected_false_disabled@win_320ppi.png |  Bin 2753 -> 3048 bytes
 ...et_selected_true_disabled@android_240ppi.png |  Bin 2465 -> 2338 bytes
 ...on_set_selected_true_disabled@win_320ppi.png |  Bin 2924 -> 3219 bytes
 ...et_selected_true_on_click@android_240ppi.png |  Bin 3668 -> 2800 bytes
 ...on_set_selected_true_on_click@win_320ppi.png |  Bin 3405 -> 3786 bytes
 ...RadioButton_set_styleName@android_240ppi.png |  Bin 2721 -> 2480 bytes
 ...ile_RadioButton_set_styleName@win_320ppi.png |  Bin 3117 -> 3433 bytes
 ..._stickyHighlighting_false@android_240ppi.png |  Bin 3504 -> 2597 bytes
 ...tton_stickyHighlighting_false@win_320ppi.png |  Bin 3172 -> 3568 bytes
 ...n_stickyHighlighting_true@android_240ppi.png |  Bin 3831 -> 2877 bytes
 ...utton_stickyHighlighting_true@win_320ppi.png |  Bin 3127 -> 3526 bytes
 ...ioButton_styleName_inline@android_240ppi.png |  Bin 2721 -> 2480 bytes
 ..._RadioButton_styleName_inline@win_320ppi.png |  Bin 3117 -> 3433 bytes
 ...RadioButton_visible_false@android_240ppi.png |  Bin 16943 -> 12511 bytes
 ...ile_RadioButton_visible_false@win_320ppi.png |  Bin 14238 -> 15762 bytes
 .../Mobile_RadioButton_x@android_240ppi.png     |  Bin 3110 -> 2626 bytes
 .../Mobile_RadioButton_x@win_320ppi.png         |  Bin 3303 -> 3552 bytes
 .../Mobile_RadioButton_y@android_240ppi.png     |  Bin 3033 -> 2559 bytes
 .../Mobile_RadioButton_y@win_320ppi.png         |  Bin 3270 -> 3474 bytes
 ...meColor_down_and_selected@android_240ppi.png |  Bin 4679 -> 3739 bytes
 ...chromeColor_down_and_selected@win_320ppi.png |  Bin 3948 -> 4372 bytes
 ...hromeColor_skinState_down@android_240ppi.png |  Bin 4689 -> 3725 bytes
 ...on_chromeColor_skinState_down@win_320ppi.png |  Bin 3978 -> 4405 bytes
 ..._chromeColor_skinState_up@android_240ppi.png |  Bin 3989 -> 3051 bytes
 ...tton_chromeColor_skinState_up@win_320ppi.png |  Bin 3740 -> 4160 bytes
 ...olColor_down_and_selected@android_240ppi.png |  Bin 4704 -> 3751 bytes
 ...symbolColor_down_and_selected@win_320ppi.png |  Bin 3946 -> 4372 bytes
 ...romeColor_up_and_selected@android_240ppi.png |  Bin 3995 -> 3060 bytes
 ...n_chromeColor_up_and_selected@win_320ppi.png |  Bin 3781 -> 4200 bytes
 ...oButton_down_and_selected@android_240ppi.png |  Bin 4476 -> 3452 bytes
 ...RadioButton_down_and_selected@win_320ppi.png |  Bin 3683 -> 4108 bytes
 ...adioButton_skinState_down@android_240ppi.png |  Bin 4412 -> 3362 bytes
 ...le_RadioButton_skinState_down@win_320ppi.png |  Bin 3601 -> 4041 bytes
 ..._RadioButton_skinState_up@android_240ppi.png |  Bin 3936 -> 2956 bytes
 ...bile_RadioButton_skinState_up@win_320ppi.png |  Bin 3520 -> 3945 bytes
 ...dioButton_up_and_selected@android_240ppi.png |  Bin 3960 -> 2984 bytes
 ...e_RadioButton_up_and_selected@win_320ppi.png |  Bin 3603 -> 4021 bytes
 ...dioButton_styles_baseline@android_240ppi.png |  Bin 4355 -> 3126 bytes
 ...e_RadioButton_styles_baseline@win_320ppi.png |  Bin 3411 -> 3849 bytes
 ...RadioButton_styles_bottom@android_240ppi.png |  Bin 4354 -> 3126 bytes
 ...ile_RadioButton_styles_bottom@win_320ppi.png |  Bin 3703 -> 4139 bytes
 ...Button_styles_chromeColor@android_240ppi.png |  Bin 4353 -> 3151 bytes
 ...adioButton_styles_chromeColor@win_320ppi.png |  Bin 3720 -> 4139 bytes
 ...yles_chromeColor_disabled@android_240ppi.png |  Bin 3553 -> 3175 bytes
 ...n_styles_chromeColor_disabled@win_320ppi.png |  Bin 3895 -> 4313 bytes
 ...meColor_selected_disabled@android_240ppi.png |  Bin 3579 -> 3198 bytes
 ...chromeColor_selected_disabled@win_320ppi.png |  Bin 3918 -> 4335 bytes
 ..._RadioButton_styles_color@android_240ppi.png |  Bin 4368 -> 3127 bytes
 ...bile_RadioButton_styles_color@win_320ppi.png |  Bin 3680 -> 4097 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4571 -> 3382 bytes
 ...rSpacing_iconPlacement_bottom@win_320ppi.png |  Bin 3735 -> 4274 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 4570 -> 3378 bytes
 ...erSpacing_iconPlacement_right@win_320ppi.png |  Bin 3657 -> 4192 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4607 -> 3411 bytes
 ...tterSpacing_iconPlacement_top@win_320ppi.png |  Bin 3763 -> 4303 bytes
 ...isabled_textShadowAlpha_0@android_240ppi.png |  Bin 3424 -> 2979 bytes
 ...es_disabled_textShadowAlpha_0@win_320ppi.png |  Bin 3518 -> 4031 bytes
 ...d_textShadowAlpha_1point5@android_240ppi.png |  Bin 3424 -> 2979 bytes
 ...abled_textShadowAlpha_1point5@win_320ppi.png |  Bin 3518 -> 4031 bytes
 ..._disabled_textShadowColor@android_240ppi.png |  Bin 3424 -> 2979 bytes
 ...yles_disabled_textShadowColor@win_320ppi.png |  Bin 3518 -> 4031 bytes
 ...utton_styles_focusAlpha_0@android_240ppi.png |  Bin 3773 -> 2899 bytes
 ...dioButton_styles_focusAlpha_0@win_320ppi.png |  Bin 3499 -> 3811 bytes
 ...les_focusBlendMode_invert@android_240ppi.png |  Bin 4852 -> 3989 bytes
 ...focusBlendMode_invert@android_240ppi.png.xml |  167 +
 ..._styles_focusBlendMode_invert@win_320ppi.png |  Bin 4742 -> 5039 bytes
 ...styles_focusColor_default@android_240ppi.png |  Bin 4850 -> 3956 bytes
 ...ton_styles_focusColor_default@win_320ppi.png |  Bin 4709 -> 5017 bytes
 ...yles_focusColor_set_in_AS@android_240ppi.png |  Bin 4904 -> 4050 bytes
 ..._focusColor_set_in_AS@android_240ppi.png.xml |  167 +
 ...n_styles_focusColor_set_in_AS@win_320ppi.png |  Bin 4780 -> 5084 bytes
 ...n_styles_focusThickness_0@android_240ppi.png |  Bin 3794 -> 2904 bytes
 ...utton_styles_focusThickness_0@win_320ppi.png |  Bin 3504 -> 3811 bytes
 ...ickness_blendmode_default@android_240ppi.png |  Bin 4849 -> 3956 bytes
 ...ess_blendmode_default@android_240ppi.png.xml |  167 +
 ...a_thickness_blendmode_default@win_320ppi.png |  Bin 4711 -> 5017 bytes
 ...oButton_styles_fontFamily@android_240ppi.png |  Bin 4260 -> 3256 bytes
 ...RadioButton_styles_fontFamily@win_320ppi.png |  Bin 3697 -> 4053 bytes
 ...tyles_fontFamily_disabled@android_240ppi.png |  Bin 3460 -> 3236 bytes
 ...on_styles_fontFamily_disabled@win_320ppi.png |  Bin 3768 -> 4131 bytes
 ...dioButton_styles_fontSize@android_240ppi.png |  Bin 4633 -> 3426 bytes
 ...e_RadioButton_styles_fontSize@win_320ppi.png |  Bin 3595 -> 3970 bytes
 ..._styles_fontSize_disabled@android_240ppi.png |  Bin 3727 -> 3389 bytes
 ...tton_styles_fontSize_disabled@win_320ppi.png |  Bin 3665 -> 4040 bytes
 ...ioButton_styles_fontStyle@android_240ppi.png |  Bin 4685 -> 3485 bytes
 ..._RadioButton_styles_fontStyle@win_320ppi.png |  Bin 3753 -> 4375 bytes
 ...styles_fontStyle_disabled@android_240ppi.png |  Bin 3714 -> 3461 bytes
 ...ton_styles_fontStyle_disabled@win_320ppi.png |  Bin 3825 -> 4455 bytes
 ...oButton_styles_fontWeight@android_240ppi.png |  Bin 4036 -> 3288 bytes
 ...RadioButton_styles_fontWeight@win_320ppi.png |  Bin 3692 -> 4138 bytes
 ...tyles_fontWeight_disabled@android_240ppi.png |  Bin 3398 -> 3262 bytes
 ...on_styles_fontWeight_disabled@win_320ppi.png |  Bin 3757 -> 4214 bytes
 ...horizontalCenter_negative@android_240ppi.png |  Bin 4529 -> 3286 bytes
 ...les_horizontalCenter_negative@win_320ppi.png |  Bin 3846 -> 4290 bytes
 ...horizontalCenter_positive@android_240ppi.png |  Bin 4508 -> 3273 bytes
 ...les_horizontalCenter_positive@win_320ppi.png |  Bin 3822 -> 4260 bytes
 ...yles_iconPlacement_bottom@android_240ppi.png |  Bin 3846 -> 2901 bytes
 ...n_styles_iconPlacement_bottom@win_320ppi.png |  Bin 3431 -> 3782 bytes
 ...ent_bottom_explicitHeight@android_240ppi.png |  Bin 2481 -> 2245 bytes
 ...acement_bottom_explicitHeight@win_320ppi.png |  Bin 2849 -> 3127 bytes
 ...Placement_bottom_setLabel@android_240ppi.png |  Bin 3846 -> 2901 bytes
 ...iconPlacement_bottom_setLabel@win_320ppi.png |  Bin 3431 -> 3782 bytes
 ...Placement_bottom_to_right@android_240ppi.png |  Bin 4001 -> 3078 bytes
 ...iconPlacement_bottom_to_right@win_320ppi.png |  Bin 3490 -> 3898 bytes
 ...Placement_css_selectionID@android_240ppi.png |  Bin 3959 -> 2996 bytes
 ...iconPlacement_css_selectionID@win_320ppi.png |  Bin 3408 -> 3894 bytes
 ...les_iconPlacement_default@android_240ppi.png |  Bin 4059 -> 2867 bytes
 ..._styles_iconPlacement_default@win_320ppi.png |  Bin 3449 -> 3876 bytes
 ...yles_iconPlacement_inline@android_240ppi.png |  Bin 2217 -> 1996 bytes
 ...n_styles_iconPlacement_inline@win_320ppi.png |  Bin 2771 -> 2869 bytes
 ...ement_left_explicitHeight@android_240ppi.png |  Bin 2546 -> 2316 bytes
 ...Placement_left_explicitHeight@win_320ppi.png |  Bin 2958 -> 3267 bytes
 ...iconPlacement_left_to_top@android_240ppi.png |  Bin 3366 -> 2613 bytes
 ...les_iconPlacement_left_to_top@win_320ppi.png |  Bin 3206 -> 3502 bytes
 ...tyles_iconPlacement_right@android_240ppi.png |  Bin 3846 -> 2954 bytes
 ...on_styles_iconPlacement_right@win_320ppi.png |  Bin 3401 -> 3821 bytes
 ...ment_right_explicitHeight@android_240ppi.png |  Bin 2569 -> 2343 bytes
 ...lacement_right_explicitHeight@win_320ppi.png |  Bin 2943 -> 3250 bytes
 ...nPlacement_right_setLabel@android_240ppi.png |  Bin 3846 -> 2954 bytes
 ..._iconPlacement_right_setLabel@win_320ppi.png |  Bin 3401 -> 3821 bytes
 ...s_iconPlacement_styleName@android_240ppi.png |  Bin 4107 -> 3104 bytes
 ...tyles_iconPlacement_styleName@win_320ppi.png |  Bin 3497 -> 3909 bytes
 ..._styles_iconPlacement_top@android_240ppi.png |  Bin 3601 -> 2785 bytes
 ...tton_styles_iconPlacement_top@win_320ppi.png |  Bin 3275 -> 3616 bytes
 ...cement_top_explicitHeight@android_240ppi.png |  Bin 2470 -> 2238 bytes
 ...nPlacement_top_explicitHeight@win_320ppi.png |  Bin 2847 -> 3127 bytes
 ...conPlacement_top_setLabel@android_240ppi.png |  Bin 3601 -> 2785 bytes
 ...es_iconPlacement_top_setLabel@win_320ppi.png |  Bin 3275 -> 3616 bytes
 ...cing_iconPlacement_bottom@android_240ppi.png |  Bin 4817 -> 3597 bytes
 ...rSpacing_iconPlacement_bottom@win_320ppi.png |  Bin 3970 -> 4521 bytes
 ...acing_iconPlacement_right@android_240ppi.png |  Bin 4728 -> 3516 bytes
 ...erSpacing_iconPlacement_right@win_320ppi.png |  Bin 3817 -> 4368 bytes
 ...Spacing_iconPlacement_top@android_240ppi.png |  Bin 4854 -> 3630 bytes
 ...tterSpacing_iconPlacement_top@win_320ppi.png |  Bin 3994 -> 4552 bytes
 ...adioButton_styles_kerning@android_240ppi.png |  Bin 3122 -> 2566 bytes
 ...le_RadioButton_styles_kerning@win_320ppi.png |  Bin 3329 -> 3498 bytes
 ...n_styles_kerning_disabled@android_240ppi.png |  Bin 2724 -> 2536 bytes
 ...utton_styles_kerning_disabled@win_320ppi.png |  Bin 3386 -> 3557 bytes
 ...oButton_styles_leading_10@android_240ppi.png |  Bin 3856 -> 2907 bytes
 ...RadioButton_styles_leading_10@win_320ppi.png |  Bin 3394 -> 3762 bytes
 ...on_styles_leading_default@android_240ppi.png |  Bin 3856 -> 2907 bytes
 ...Button_styles_leading_default@win_320ppi.png |  Bin 3394 -> 3762 bytes
 ...e_RadioButton_styles_left@android_240ppi.png |  Bin 4378 -> 3158 bytes
 ...obile_RadioButton_styles_left@win_320ppi.png |  Bin 3712 -> 4141 bytes
 ...Spacing_change_at_runtime@android_240ppi.png |  Bin 4754 -> 3520 bytes
 ...tterSpacing_change_at_runtime@win_320ppi.png |  Bin 3836 -> 4396 bytes
 ..._RadioButton_styles_right@android_240ppi.png |  Bin 1880 -> 1910 bytes
 ...Button_styles_symbolColor@android_240ppi.png |  Bin 4391 -> 3190 bytes
 ...adioButton_styles_symbolColor@win_320ppi.png |  Bin 3841 -> 4269 bytes
 ...es_symbolColor_deselected@android_240ppi.png |  Bin 4385 -> 3171 bytes
 ...styles_symbolColor_deselected@win_320ppi.png |  Bin 3791 -> 4226 bytes
 ...Color_deselected_disabled@android_240ppi.png |  Bin 3543 -> 3168 bytes
 ...mbolColor_deselected_disabled@win_320ppi.png |  Bin 3878 -> 4301 bytes
 ...lected_disabled_toDefault@android_240ppi.png |  Bin 3482 -> 3111 bytes
 ...deselected_disabled_toDefault@win_320ppi.png |  Bin 3775 -> 4199 bytes
 ...olor_deselected_toDefault@android_240ppi.png |  Bin 4356 -> 3130 bytes
 ...bolColor_deselected_toDefault@win_320ppi.png |  Bin 3702 -> 4139 bytes
 ...yles_symbolColor_disabled@android_240ppi.png |  Bin 3568 -> 3191 bytes
 ...n_styles_symbolColor_disabled@win_320ppi.png |  Bin 3905 -> 4327 bytes
 ...lColor_disabled_toDefault@android_240ppi.png |  Bin 3545 -> 3169 bytes
 ...ymbolColor_disabled_toDefault@win_320ppi.png |  Bin 3866 -> 4287 bytes
 ...les_symbolColor_toDefault@android_240ppi.png |  Bin 4382 -> 3163 bytes
 ..._styles_symbolColor_toDefault@win_320ppi.png |  Bin 3784 -> 4221 bytes
 ...ton_styles_textDecoration@android_240ppi.png |  Bin 4353 -> 3137 bytes
 ...oButton_styles_textDecoration@win_320ppi.png |  Bin 3695 -> 4110 bytes
 ...s_textDecoration_disabled@android_240ppi.png |  Bin 3501 -> 3112 bytes
 ...tyles_textDecoration_disabled@win_320ppi.png |  Bin 3762 -> 4183 bytes
 ..._styles_textShadowAlpha_0@android_240ppi.png |  Bin 4118 -> 2996 bytes
 ...tton_styles_textShadowAlpha_0@win_320ppi.png |  Bin 3448 -> 3957 bytes
 ...s_textShadowAlpha_1point5@android_240ppi.png |  Bin 4118 -> 2996 bytes
 ...tyles_textShadowAlpha_1point5@win_320ppi.png |  Bin 3448 -> 3957 bytes
 ...on_styles_textShadowColor@android_240ppi.png |  Bin 4118 -> 2996 bytes
 ...Button_styles_textShadowColor@win_320ppi.png |  Bin 3448 -> 3957 bytes
 ...owColor_textShadowAlpha_2@android_240ppi.png |  Bin 4118 -> 2996 bytes
 ...ShadowColor_textShadowAlpha_2@win_320ppi.png |  Bin 3448 -> 3957 bytes
 ...le_RadioButton_styles_top@android_240ppi.png |  Bin 4356 -> 3127 bytes
 ...Mobile_RadioButton_styles_top@win_320ppi.png |  Bin 3702 -> 4140 bytes
 ...s_verticalCenter_negative@android_240ppi.png |  Bin 4356 -> 3127 bytes
 ...tyles_verticalCenter_negative@win_320ppi.png |  Bin 3703 -> 4140 bytes
 ...s_verticalCenter_positive@android_240ppi.png |  Bin 4354 -> 3127 bytes
 ...tyles_verticalCenter_positive@win_320ppi.png |  Bin 3701 -> 4139 bytes
 .../RadioButton/styles/radiobutton_styles.mxml  |   12 +-
 .../RadioButton/swfs/MobileRadioButtonMain.mxml |   30 +
 ...t_integration_causeUnwrap@android_240ppi.png |  Bin 5286 -> 4920 bytes
 ...rList_integration_causeUnwrap@win_320ppi.png |  Bin 3965 -> 5169 bytes
 ...ist_integration_causeWrap@android_240ppi.png |  Bin 6577 -> 5997 bytes
 ...nerList_integration_causeWrap@win_320ppi.png |  Bin 4431 -> 6219 bytes
 ...st_integration_customSkin@android_240ppi.png |  Bin 4966 -> 4603 bytes
 ...erList_integration_customSkin@win_320ppi.png |  Bin 3455 -> 4096 bytes
 ...tegration_drag_large_down@android_240ppi.png |  Bin 4106 -> 3950 bytes
 ...t_integration_drag_large_down@win_320ppi.png |  Bin 3540 -> 4333 bytes
 ...on_drag_large_down_noWrap@android_240ppi.png |  Bin 4106 -> 3950 bytes
 ...ration_drag_large_down_noWrap@win_320ppi.png |  Bin 3540 -> 4333 bytes
 ...integration_drag_large_up@android_240ppi.png |  Bin 5309 -> 5237 bytes
 ...ist_integration_drag_large_up@win_320ppi.png |  Bin 3884 -> 5270 bytes
 ...tion_drag_large_up_noWrap@android_240ppi.png |  Bin 3344 -> 3327 bytes
 ...egration_drag_large_up_noWrap@win_320ppi.png |  Bin 3265 -> 3714 bytes
 ...tegration_drag_small_down@android_240ppi.png |  Bin 4452 -> 4264 bytes
 ...t_integration_drag_small_down@win_320ppi.png |  Bin 3574 -> 4410 bytes
 ...integration_drag_small_up@android_240ppi.png |  Bin 4907 -> 4918 bytes
 ...ist_integration_drag_small_up@win_320ppi.png |  Bin 3754 -> 4815 bytes
 ..._integration_explicitSize@android_240ppi.png |  Bin 1372 -> 1215 bytes
 ...List_integration_explicitSize@win_320ppi.png |  Bin 730 -> 971 bytes
 ...on_explicitSize_container@android_240ppi.png |  Bin 4962 -> 4814 bytes
 ...ration_explicitSize_container@win_320ppi.png |  Bin 4124 -> 4741 bytes
 ...st_integration_iconIR@android_240ppi.png.xml |  116 +
 ...pinnerList_integration_iconIR@win_320ppi.png |  Bin 15140 -> 5798 bytes
 ...erList_integration_states@android_240ppi.png |  Bin 7813 -> 8021 bytes
 ...pinnerList_integration_states@win_320ppi.png |  Bin 6948 -> 8518 bytes
 ..._integration_styles_color@android_240ppi.png |  Bin 11037 -> 10354 bytes
 ...List_integration_styles_color@win_320ppi.png |  Bin 8848 -> 11234 bytes
 ...tegration_styles_fontSize@android_240ppi.png |  Bin 14547 -> 13751 bytes
 ...t_integration_styles_fontSize@win_320ppi.png |  Bin 9832 -> 13109 bytes
 ...gration_styles_fontWeight@android_240ppi.png |  Bin 10011 -> 9777 bytes
 ...integration_styles_fontWeight@win_320ppi.png |  Bin 8529 -> 10794 bytes
 ...n_styles_textAlign_center@android_240ppi.png |  Bin 9488 -> 9459 bytes
 ...ation_styles_textAlign_center@win_320ppi.png |  Bin 8285 -> 10239 bytes
 ...on_styles_textAlign_right@android_240ppi.png |  Bin 9475 -> 9482 bytes
 ...ration_styles_textAlign_right@win_320ppi.png |  Bin 8299 -> 10233 bytes
 ...egration_width_nonVirtual@android_240ppi.png |  Bin 10270 -> 9154 bytes
 ..._integration_width_nonVirtual@win_320ppi.png |  Bin 5668 -> 8942 bytes
 ...integration_width_virtual@android_240ppi.png |  Bin 5093 -> 5045 bytes
 ...ist_integration_width_virtual@win_320ppi.png |  Bin 3663 -> 5152 bytes
 .../SpinnerList/swfs/SpinnerList.mxml           |    3 +-
 .../Methods/TextArea_Methods_tester.mxml        |    5 +-
 .../TextArea_selectAll_test1@320ppi.png         |  Bin 6311 -> 6361 bytes
 .../TextArea_selectRange_test1@320ppi.png       |  Bin 6244 -> 6213 bytes
 .../TextArea_selectRange_test2@320ppi.png       |  Bin 6244 -> 6213 bytes
 .../TextArea_selectRange_test3@240ppi.png       |  Bin 4403 -> 4452 bytes
 .../TextArea_selectRange_test3@320ppi.png       |  Bin 6227 -> 6194 bytes
 .../TextArea_selectRange_test4@320ppi.png       |  Bin 6448 -> 6426 bytes
 .../TextArea_selectRange_test5@320ppi.png       |  Bin 6448 -> 6426 bytes
 .../TextArea_selectRange_test6@320ppi.png       |  Bin 6533 -> 6560 bytes
 .../TextArea_selectRange_test7@320ppi.png       |  Bin 6479 -> 6448 bytes
 .../baselines/TextArea_basic_prompt@320ppi.png  |  Bin 2151 -> 2133 bytes
 .../baselines/TextArea_clipping@320ppi.png      |  Bin 4685 -> 4544 bytes
 .../TextArea_htmlText_basicTest@320ppi.png      |  Bin 7265 -> 7237 bytes
 .../TextArea_prompt_disappears@320ppi.png       |  Bin 2129 -> 2143 bytes
 ...ea_prompt_returns_on_text_removal@320ppi.png |  Bin 2151 -> 2133 bytes
 .../baselines/TextArea_color_test1@320ppi.png   |  Bin 1269 -> 1290 bytes
 .../baselines/TextArea_color_test2@320ppi.png   |  Bin 1286 -> 1328 bytes
 .../baselines/TextArea_color_test3@320ppi.png   |  Bin 1269 -> 1290 bytes
 .../baselines/TextArea_color_test4@320ppi.png   |  Bin 1253 -> 1284 bytes
 .../baselines/TextArea_color_test5@320ppi.png   |  Bin 1286 -> 1328 bytes
 ...Area_contentBackgroundColor_test1@320ppi.png |  Bin 1269 -> 1290 bytes
 ...Area_contentBackgroundColor_test2@320ppi.png |  Bin 1238 -> 1264 bytes
 ...Area_contentBackgroundColor_test3@320ppi.png |  Bin 1269 -> 1290 bytes
 ...Area_contentBackgroundColor_test4@320ppi.png |  Bin 1312 -> 1342 bytes
 .../TextArea_fontFamily_test1@320ppi.png        |  Bin 1710 -> 1677 bytes
 .../TextArea_fontSize_test1@320ppi.png          |  Bin 1235 -> 1237 bytes
 .../TextArea_fontSize_test2@320ppi.png          |  Bin 1712 -> 1693 bytes
 .../TextArea_fontSize_test3@320ppi.png          |  Bin 3181 -> 3082 bytes
 .../TextArea_fontSize_test4@320ppi.png          |  Bin 1712 -> 1693 bytes
 .../TextArea_fontWeight_test1@320ppi.png        |  Bin 2486 -> 2466 bytes
 .../TextArea_fontWeight_test2@320ppi.png        |  Bin 2435 -> 2475 bytes
 .../baselines/TextArea_leading_test1@320ppi.png |  Bin 14632 -> 13244 bytes
 .../baselines/TextArea_leading_test2@320ppi.png |  Bin 16587 -> 16064 bytes
 .../baselines/TextArea_leading_test3@320ppi.png |  Bin 17450 -> 16723 bytes
 .../TextArea_letterSpacing_test1@320ppi.png     |  Bin 9110 -> 8473 bytes
 .../TextArea_letterSpacing_test2@320ppi.png     |  Bin 16719 -> 16145 bytes
 .../TextArea_letterSpacing_test3@320ppi.png     |  Bin 4193 -> 4126 bytes
 .../TextArea_textAlign_test1@320ppi.png         |  Bin 16952 -> 16423 bytes
 .../TextArea_textAlign_test2@320ppi.png         |  Bin 16898 -> 16531 bytes
 .../TextArea_textAlign_test3@320ppi.png         |  Bin 16832 -> 16386 bytes
 .../TextArea_textAlign_test4@320ppi.png         |  Bin 16713 -> 16562 bytes
 .../TextArea_textAlign_test5@320ppi.png         |  Bin 16952 -> 16423 bytes
 .../TextArea_textAlign_test6@320ppi.png         |  Bin 16832 -> 16386 bytes
 .../TextArea_textDecoration_test1@320ppi.png    |  Bin 16719 -> 16145 bytes
 ...TextArea_textDecoration_test2@240ppi.png.xml |   86 +
 .../TextArea_textDecoration_test2@320ppi.png    |  Bin 16771 -> 16229 bytes
 .../TextArea_textIndent_test1@320ppi.png        |  Bin 16719 -> 16145 bytes
 .../TextArea_textIndent_test2@320ppi.png        |  Bin 16719 -> 16145 bytes
 .../TextArea_textIndent_test3@320ppi.png        |  Bin 16718 -> 16145 bytes
 .../TextArea_textIndent_test4@320ppi.png        |  Bin 16743 -> 16171 bytes
 .../baselines/TextInput_states_test1@320ppi.png |  Bin 11072 -> 11019 bytes
 .../baselines/TextInput_states_test2@320ppi.png |  Bin 11024 -> 10933 bytes
 .../baselines/TextInput_states_test3@320ppi.png |  Bin 11072 -> 11019 bytes
 .../TextInput_selectAll_test1@320ppi.png        |  Bin 2978 -> 3193 bytes
 .../TextInput_selectRange_test1@320ppi.png      |  Bin 2929 -> 3037 bytes
 .../TextInput_selectRange_test3@240ppi.png      |  Bin 2295 -> 2256 bytes
 .../TextInput_selectRange_test3@320ppi.png      |  Bin 2936 -> 3027 bytes
 .../TextInput_selectRange_test4@320ppi.png      |  Bin 3123 -> 3236 bytes
 .../TextInput_selectRange_test5@320ppi.png      |  Bin 3123 -> 3236 bytes
 .../TextInput_selectRange_test6@320ppi.png      |  Bin 2978 -> 3193 bytes
 .../TextInput_selectRange_test7@320ppi.png      |  Bin 3156 -> 3283 bytes
 .../TextInput_truncateToFit_test1@320ppi.png    |  Bin 2191 -> 2206 bytes
 .../TextInput_truncateToFit_test7@320ppi.png    |  Bin 2492 -> 2473 bytes
 .../TextInput_truncateToFit_test8@320ppi.png    |  Bin 2492 -> 2473 bytes
 .../TextInput_truncateToFit_test9@320ppi.png    |  Bin 2492 -> 2473 bytes
 .../Properties/TextInput_properties_tester.mxml |    2 +-
 .../TextInput_alpha_property_01@320ppi.png      |  Bin 2047 -> 2017 bytes
 .../baselines/TextInput_basic_prompt@320ppi.png |  Bin 2001 -> 2050 bytes
 ...TextInput_displayAsPassword_test2@320ppi.png |  Bin 1277 -> 1863 bytes
 ...TextInput_displayAsPassword_test3@320ppi.png |  Bin 1277 -> 1863 bytes
 .../TextInput_height_property_10@320ppi.png     |  Bin 1194 -> 1296 bytes
 .../TextInput_height_property_40@320ppi.png     |  Bin 2254 -> 2230 bytes
 ...tInput_percentHeight_property_150@320ppi.png |  Bin 3533 -> 3463 bytes
 ...xtInput_percentHeight_property_50@320ppi.png |  Bin 2922 -> 2883 bytes
 ...xtInput_percentWidth_property_150@320ppi.png |  Bin 2213 -> 2203 bytes
 ...extInput_percentWidth_property_50@320ppi.png |  Bin 1644 -> 1674 bytes
 .../TextInput_prompt_disappears@320ppi.png      |  Bin 2024 -> 2350 bytes
 ...ut_prompt_returns_on_text_removal@320ppi.png |  Bin 2073 -> 2346 bytes
 .../TextInput_rotation_property_90@320ppi.png   |  Bin 2560 -> 2567 bytes
 .../TextInput_scaleX_property_2@320ppi.png      |  Bin 1858 -> 1893 bytes
 .../TextInput_text_property@320ppi.png          |  Bin 2337 -> 2308 bytes
 .../TextInput_text_property_japanese@240ppi.png |  Bin 4110 -> 2436 bytes
 .../TextInput_text_property_japanese@320ppi.png |  Bin 1824 -> 2466 bytes
 .../TextInput_width_property_200@320ppi.png     |  Bin 1588 -> 1629 bytes
 .../TextInput_width_property_40@320ppi.png      |  Bin 1031 -> 1051 bytes
 .../TextInput_width_property_default@320ppi.png |  Bin 1844 -> 1863 bytes
 .../TextInput_x_property_negative@320ppi.png    |  Bin 2704 -> 2706 bytes
 .../TextInput_x_property_positive@320ppi.png    |  Bin 2604 -> 2614 bytes
 .../TextInput_y_property_negative@320ppi.png    |  Bin 2593 -> 2601 bytes
 .../TextInput_y_property_positive@320ppi.png    |  Bin 2577 -> 2580 bytes
 .../components/TextInput/SWFs/TextInput1.mxml   |    5 +
 .../components/TextInput/SWFs/TextInput2.mxml   |   10 +
 .../SWFs/components/TextInputComp6.mxml         |    5 -
 .../Styles/TextInput_styles_tester.mxml         |    3 +-
 .../baselines/TextInput_color_test1@320ppi.png  |  Bin 1264 -> 1274 bytes
 .../baselines/TextInput_color_test2@320ppi.png  |  Bin 1280 -> 1307 bytes
 .../baselines/TextInput_color_test3@320ppi.png  |  Bin 1264 -> 1274 bytes
 .../baselines/TextInput_color_test4@320ppi.png  |  Bin 1245 -> 1263 bytes
 .../baselines/TextInput_color_test5@320ppi.png  |  Bin 1280 -> 1307 bytes
 ...nput_contentBackgroundColor_test1@320ppi.png |  Bin 1264 -> 1274 bytes
 ...nput_contentBackgroundColor_test2@320ppi.png |  Bin 1232 -> 1250 bytes
 ...nput_contentBackgroundColor_test3@320ppi.png |  Bin 1264 -> 1274 bytes
 ...nput_contentBackgroundColor_test4@320ppi.png |  Bin 1307 -> 1324 bytes
 .../TextInput_fontFamily_test1@320ppi.png       |  Bin 1545 -> 1527 bytes
 .../TextInput_fontFamily_test2@240ppi.png       |  Bin 8843 -> 6277 bytes
 .../TextInput_fontFamily_test2@320ppi.png       |  Bin 6192 -> 7750 bytes
 .../TextInput_fontSize_test1@320ppi.png         |  Bin 1076 -> 1078 bytes
 .../TextInput_fontSize_test2@320ppi.png         |  Bin 1555 -> 1535 bytes
 .../TextInput_fontSize_test3@320ppi.png         |  Bin 3093 -> 3048 bytes
 .../TextInput_fontSize_test4@320ppi.png         |  Bin 1555 -> 1535 bytes
 .../TextInput_fontWeight_test1@320ppi.png       |  Bin 2475 -> 2439 bytes
 .../TextInput_fontWeight_test2@320ppi.png       |  Bin 2394 -> 2462 bytes
 .../TextInput_letterSpacing_test1@320ppi.png    |  Bin 2099 -> 2021 bytes
 .../TextInput_letterSpacing_test2@320ppi.png    |  Bin 2475 -> 2439 bytes
 .../TextInput_letterSpacing_test3@320ppi.png    |  Bin 2523 -> 2498 bytes
 .../TextInput_textAlign_test1@320ppi.png        |  Bin 2475 -> 2439 bytes
 .../TextInput_textAlign_test2@320ppi.png        |  Bin 2475 -> 2436 bytes
 .../TextInput_textAlign_test3@320ppi.png        |  Bin 2503 -> 2434 bytes
 .../TextInput_textAlign_test4@320ppi.png        |  Bin 2475 -> 2439 bytes
 .../TextInput_textAlign_test5@320ppi.png        |  Bin 2503 -> 2434 bytes
 .../TextInput_textAlign_test6@320ppi.png        |  Bin 4428 -> 4573 bytes
 .../TextInput_textDecoration_test1@320ppi.png   |  Bin 2475 -> 2439 bytes
 .../TextInput_textDecoration_test2@240ppi.png   |  Bin 1641 -> 1453 bytes
 ...extInput_textDecoration_test2@240ppi.png.xml |  125 +
 .../TextInput_textDecoration_test2@320ppi.png   |  Bin 2490 -> 2455 bytes
 .../TextInput_textIndent_test1@320ppi.png       |  Bin 2470 -> 2433 bytes
 .../TextInput_textIndent_test2@320ppi.png       |  Bin 2475 -> 2439 bytes
 .../TextInput_textIndent_test3@320ppi.png       |  Bin 2478 -> 2440 bytes
 .../TextInput_textIndent_test4@320ppi.png       |  Bin 2493 -> 2461 bytes
 .../custom_skin_French_label@android_240ppi.png |  Bin 5028 -> 4097 bytes
 .../custom_skin_French_label@win_320ppi.png     |  Bin 3911 -> 4612 bytes
 ...stom_skin_French_selected@android_240ppi.png |  Bin 5777 -> 4892 bytes
 .../custom_skin_French_selected@win_320ppi.png  |  Bin 4417 -> 5210 bytes
 ...ustom_skin_Japanese_label@android_240ppi.png |  Bin 5605 -> 1970 bytes
 .../custom_skin_Japanese_label@win_320ppi.png   |  Bin 4008 -> 4791 bytes
 ...om_skin_Japanese_selected@android_240ppi.png |  Bin 6451 -> 2242 bytes
 ...custom_skin_Japanese_selected@win_320ppi.png |  Bin 4513 -> 5557 bytes
 .../custom_skin_styles@android_240ppi.png       |  Bin 4256 -> 4299 bytes
 .../baselines/custom_skin_styles@win_320ppi.png |  Bin 3106 -> 3662 bytes
 ...stom_skin_styles_selected@android_240ppi.png |  Bin 3537 -> 3258 bytes
 .../custom_skin_styles_selected@win_320ppi.png  |  Bin 2809 -> 3195 bytes
 .../baselines/enabled_false@win_320ppi.png      |  Bin 2817 -> 2836 bytes
 .../baselines/enabled_true@win_320ppi.png       |  Bin 3429 -> 3438 bytes
 ...percentWidth_percentHeight_AS@win_320ppi.png |  Bin 3594 -> 3597 bytes
 ...rcentWidth_percentHeight_MXML@win_320ppi.png |  Bin 3288 -> 3251 bytes
 .../baselines/scaleX_scaleY_AS@win_320ppi.png   |  Bin 5309 -> 5356 bytes
 .../baselines/scaleX_scaleY_MXML@win_320ppi.png |  Bin 7367 -> 7142 bytes
 .../baselines/width_height_AS@win_320ppi.png    |  Bin 3304 -> 3306 bytes
 .../baselines/width_height_MXML@win_320ppi.png  |  Bin 3427 -> 3531 bytes
 .../ToggleSwitch/styles/ToggleSwitch_CSS.mxml   |    8 +-
 .../styles/ToggleSwitch_styles.mxml             |    8 +-
 .../CSS_accentColor_AS@android_240ppi.png       |  Bin 3492 -> 3270 bytes
 .../baselines/CSS_accentColor_AS@win_320ppi.png |  Bin 3729 -> 4104 bytes
 ..._accentColor_typeselector@android_240ppi.png |  Bin 3505 -> 3278 bytes
 .../CSS_accentColor_typeselector@win_320ppi.png |  Bin 3693 -> 4038 bytes
 .../CSS_chromeColor_AS@android_240ppi.png       |  Bin 3166 -> 2928 bytes
 .../baselines/CSS_chromeColor_AS@win_320ppi.png |  Bin 3484 -> 3739 bytes
 .../CSS_chromeColor_default@android_240ppi.png  |  Bin 3088 -> 2889 bytes
 .../CSS_chromeColor_default@win_320ppi.png      |  Bin 3487 -> 3728 bytes
 .../baselines/CSS_color_AS@android_240ppi.png   |  Bin 2966 -> 2854 bytes
 .../baselines/CSS_color_AS@win_320ppi.png       |  Bin 3476 -> 3652 bytes
 .../CSS_color_default@android_240ppi.png        |  Bin 3088 -> 2889 bytes
 .../baselines/CSS_color_default@win_320ppi.png  |  Bin 3487 -> 3728 bytes
 .../CSS_color_disabled@android_240ppi.png       |  Bin 2530 -> 2415 bytes
 .../baselines/CSS_color_disabled@win_320ppi.png |  Bin 3007 -> 3184 bytes
 .../CSS_fontFamily_AS@android_240ppi.png        |  Bin 3269 -> 3205 bytes
 .../baselines/CSS_fontFamily_AS@win_320ppi.png  |  Bin 3486 -> 3711 bytes
 .../CSS_fontFamily_default@android_240ppi.png   |  Bin 3088 -> 2889 bytes
 .../CSS_fontFamily_default@win_320ppi.png       |  Bin 3487 -> 3728 bytes
 .../CSS_fontSize_AS@android_240ppi.png          |  Bin 2823 -> 2605 bytes
 .../baselines/CSS_fontSize_AS@win_320ppi.png    |  Bin 3222 -> 3352 bytes
 .../CSS_fontSize_default@android_240ppi.png     |  Bin 2530 -> 2415 bytes
 .../CSS_fontSize_default@win_320ppi.png         |  Bin 3007 -> 3184 bytes
 .../CSS_fontStyle_AS@android_240ppi.png         |  Bin 3239 -> 3155 bytes
 .../baselines/CSS_fontStyle_AS@win_320ppi.png   |  Bin 3484 -> 3824 bytes
 .../CSS_fontStyle_default@android_240ppi.png    |  Bin 3088 -> 2889 bytes
 .../CSS_fontStyle_default@win_320ppi.png        |  Bin 3487 -> 3728 bytes
 .../CSS_fontWeight_AS@android_240ppi.png        |  Bin 3083 -> 2997 bytes
 .../baselines/CSS_fontWeight_AS@win_320ppi.png  |  Bin 3472 -> 3775 bytes
 .../CSS_fontWeight_default@android_240ppi.png   |  Bin 3088 -> 2889 bytes
 .../CSS_fontWeight_default@win_320ppi.png       |  Bin 3487 -> 3728 bytes
 .../CSS_lineHeight_AS@android_240ppi.png        |  Bin 3088 -> 2889 bytes
 .../baselines/CSS_lineHeight_AS@win_320ppi.png  |  Bin 3487 -> 3728 bytes
 .../CSS_lineHeight_default@android_240ppi.png   |  Bin 3088 -> 2889 bytes
 .../CSS_lineHeight_default@win_320ppi.png       |  Bin 3487 -> 3728 bytes
 .../CSS_lineThrough_AS@android_240ppi.png       |  Bin 3088 -> 2889 bytes
 .../baselines/CSS_lineThrough_AS@win_320ppi.png |  Bin 3487 -> 3728 bytes
 .../CSS_lineThrough_default@android_240ppi.png  |  Bin 3088 -> 2889 bytes
 .../CSS_lineThrough_default@win_320ppi.png      |  Bin 3487 -> 3728 bytes
 .../CSS_set_in_MXML@android_240ppi.png          |  Bin 3747 -> 3818 bytes
 .../baselines/CSS_set_in_MXML@win_320ppi.png    |  Bin 3604 -> 3975 bytes
 .../CSS_textAlign_AS@android_240ppi.png         |  Bin 3088 -> 2889 bytes
 .../baselines/CSS_textAlign_AS@win_320ppi.png   |  Bin 3487 -> 3728 bytes
 .../CSS_textAlign_default@android_240ppi.png    |  Bin 3088 -> 2889 bytes
 .../CSS_textAlign_default@win_320ppi.png        |  Bin 3487 -> 3728 bytes
 .../CSS_textAlpha_AS@android_240ppi.png         |  Bin 3088 -> 2889 bytes
 .../baselines/CSS_textAlpha_AS@win_320ppi.png   |  Bin 3487 -> 3728 bytes
 .../CSS_textAlpha_default@android_240ppi.png    |  Bin 3088 -> 2889 bytes
 .../CSS_textAlpha_default@win_320ppi.png        |  Bin 3487 -> 3728 bytes
 .../CSS_textDecoration_AS@android_240ppi.png    |  Bin 3101 -> 2905 bytes
 .../CSS_textDecoration_AS@win_320ppi.png        |  Bin 3499 -> 3741 bytes
 ...SS_textDecoration_default@android_240ppi.png |  Bin 3088 -> 2889 bytes
 .../CSS_textDecoration_default@win_320ppi.png   |  Bin 3487 -> 3728 bytes
 ...advancedselector_selected@android_240ppi.png |  Bin 3290 -> 3109 bytes
 ...CSS_advancedselector_selected@win_320ppi.png |  Bin 3498 -> 3802 bytes
 ...vancedselector_unselected@android_240ppi.png |  Bin 2846 -> 2606 bytes
 ...S_advancedselector_unselected@win_320ppi.png |  Bin 2968 -> 3281 bytes
 ...SS_classselector_selected@android_240ppi.png |  Bin 3332 -> 3078 bytes
 ...cedCSS_classselector_selected@win_320ppi.png |  Bin 3445 -> 3859 bytes
 ..._classselector_unselected@android_240ppi.png |  Bin 2895 -> 2634 bytes
 ...dCSS_classselector_unselected@win_320ppi.png |  Bin 3106 -> 3383 bytes
 ...CSS_typeselector_selected@android_240ppi.png |  Bin 3286 -> 3055 bytes
 ...ncedCSS_typeselector_selected@win_320ppi.png |  Bin 3486 -> 3910 bytes
 ...S_typeselector_unselected@android_240ppi.png |  Bin 2859 -> 2576 bytes
 ...edCSS_typeselector_unselected@win_320ppi.png |  Bin 2960 -> 3222 bytes
 .../styles_accentColor_AS@android_240ppi.png    |  Bin 3330 -> 3092 bytes
 .../styles_accentColor_AS@win_320ppi.png        |  Bin 3544 -> 3898 bytes
 ...tyles_accentColor_default@android_240ppi.png |  Bin 3299 -> 3065 bytes
 .../styles_accentColor_default@win_320ppi.png   |  Bin 3491 -> 3837 bytes
 ...styles_baseColor_disabled@android_240ppi.png |  Bin 2268 -> 2049 bytes
 .../styles_baseColor_disabled@win_320ppi.png    |  Bin 2525 -> 2607 bytes
 ...tyles_baseColor_mouseOver@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_baseColor_mouseOver@win_320ppi.png   |  Bin 2955 -> 3144 bytes
 .../styles_chromeColor_AS@android_240ppi.png    |  Bin 3288 -> 3060 bytes
 .../styles_chromeColor_AS@win_320ppi.png        |  Bin 3666 -> 3930 bytes
 ...tyles_chromeColor_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_chromeColor_default@win_320ppi.png   |  Bin 2955 -> 3144 bytes
 .../styles_color_AS@android_240ppi.png          |  Bin 2784 -> 2611 bytes
 .../baselines/styles_color_AS@win_320ppi.png    |  Bin 2965 -> 3234 bytes
 .../styles_color_default@android_240ppi.png     |  Bin 2772 -> 2480 bytes
 .../styles_color_default@win_320ppi.png         |  Bin 2955 -> 3144 bytes
 .../styles_color_disabled@android_240ppi.png    |  Bin 2285 -> 2160 bytes
 .../styles_color_disabled@win_320ppi.png        |  Bin 2530 -> 2733 bytes
 .../styles_fontFamily_AS@android_240ppi.png     |  Bin 2887 -> 2707 bytes
 .../styles_fontFamily_AS@win_320ppi.png         |  Bin 2948 -> 3132 bytes
 ...styles_fontFamily_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_fontFamily_default@win_320ppi.png    |  Bin 2955 -> 3144 bytes
 .../styles_fontSize_AS@android_240ppi.png       |  Bin 2470 -> 2222 bytes
 .../baselines/styles_fontSize_AS@win_320ppi.png |  Bin 2721 -> 2832 bytes
 .../styles_fontSize_default@android_240ppi.png  |  Bin 2772 -> 2480 bytes
 .../styles_fontSize_default@win_320ppi.png      |  Bin 2955 -> 3144 bytes
 .../styles_fontStyle_AS@android_240ppi.png      |  Bin 2858 -> 2638 bytes
 .../styles_fontStyle_AS@win_320ppi.png          |  Bin 2961 -> 3236 bytes
 .../styles_fontStyle_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_fontStyle_default@win_320ppi.png     |  Bin 2955 -> 3144 bytes
 .../styles_fontWeight_AS@android_240ppi.png     |  Bin 2736 -> 2558 bytes
 .../styles_fontWeight_AS@win_320ppi.png         |  Bin 2945 -> 3181 bytes
 ...styles_fontWeight_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_fontWeight_default@win_320ppi.png    |  Bin 2955 -> 3144 bytes
 .../styles_lineHeight_AS@android_240ppi.png     |  Bin 2772 -> 2480 bytes
 .../styles_lineHeight_AS@win_320ppi.png         |  Bin 2955 -> 3144 bytes
 ...styles_lineHeight_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_lineHeight_default@win_320ppi.png    |  Bin 2955 -> 3144 bytes
 .../styles_lineThrough_AS@android_240ppi.png    |  Bin 2772 -> 2480 bytes
 .../styles_lineThrough_AS@win_320ppi.png        |  Bin 2955 -> 3144 bytes
 ...tyles_lineThrough_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_lineThrough_default@win_320ppi.png   |  Bin 2955 -> 3144 bytes
 .../styles_set_in_MXML@android_240ppi.png       |  Bin 3727 -> 3808 bytes
 .../baselines/styles_set_in_MXML@win_320ppi.png |  Bin 3613 -> 4046 bytes
 .../styles_textAlign_AS@android_240ppi.png      |  Bin 2772 -> 2480 bytes
 .../styles_textAlign_AS@win_320ppi.png          |  Bin 2955 -> 3144 bytes
 .../styles_textAlign_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_textAlign_default@win_320ppi.png     |  Bin 2955 -> 3144 bytes
 .../styles_textAlpha_AS@android_240ppi.png      |  Bin 2772 -> 2480 bytes
 .../styles_textAlpha_AS@win_320ppi.png          |  Bin 2955 -> 3144 bytes
 .../styles_textAlpha_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 .../styles_textAlpha_default@win_320ppi.png     |  Bin 2955 -> 3144 bytes
 .../styles_textDecoration_AS@android_240ppi.png |  Bin 2782 -> 2493 bytes
 .../styles_textDecoration_AS@win_320ppi.png     |  Bin 2965 -> 3154 bytes
 ...es_textDecoration_default@android_240ppi.png |  Bin 2772 -> 2480 bytes
 ...styles_textDecoration_default@win_320ppi.png |  Bin 2955 -> 3144 bytes
 .../ToggleSwitch/swfs/ToggleSwitchEvents.mxml   |   16 +-
 .../ToggleSwitch/swfs/ToggleSwitchMain.mxml     |   16 +-
 .../ToggleSwitch/swfs/ToggleSwitchStates.mxml   |    1 +
 .../ToggleSwitch/swfs/ToggleSwitchStyles1.mxml  |   35 +-
 .../ToggleSwitch/swfs/ToggleSwitchStyles2.mxml  |   30 +
 .../ToggleSwitch/swfs/ToggleSwitchStyles3.mxml  |    1 +
 .../ToggleSwitch/swfs/comps/StylesRoot.mxml     |    2 +-
 ...inSevenItemsMenuPortrait1@android_240ppi.png |  Bin 4190 -> 3519 bytes
 ...omSkinSevenItemsMenuPortrait1@win_320ppi.png |  Bin 2970 -> 3443 bytes
 ...inSevenItemsMenuPortrait2@android_240ppi.png |  Bin 5503 -> 4947 bytes
 ...omSkinSevenItemsMenuPortrait2@win_320ppi.png |  Bin 4186 -> 4883 bytes
 .../FiveItemsMenuPortrait1@android_240ppi.png   |  Bin 16289 -> 14594 bytes
 .../FiveItemsMenuPortrait1@win_320ppi.png       |  Bin 12490 -> 13865 bytes
 .../FiveItemsMenuPortrait2@android_240ppi.png   |  Bin 17074 -> 15374 bytes
 .../FiveItemsMenuPortrait2@win_320ppi.png       |  Bin 13141 -> 14570 bytes
 .../FiveItemsMenuPortrait3@android_240ppi.png   |  Bin 16554 -> 14936 bytes
 .../FiveItemsMenuPortrait3@win_320ppi.png       |  Bin 12811 -> 14204 bytes
 .../FiveItemsMenuPortrait4@android_240ppi.png   |  Bin 3542 -> 3456 bytes
 .../FiveItemsMenuPortrait4@win_320ppi.png       |  Bin 2910 -> 3221 bytes
 .../FiveItemsMenuPortrait5@android_240ppi.png   |  Bin 18134 -> 16455 bytes
 .../FiveItemsMenuPortrait5@win_320ppi.png       |  Bin 14203 -> 15722 bytes
 .../FiveItemsMenuPortrait6@android_240ppi.png   |  Bin 16289 -> 14594 bytes
 .../FiveItemsMenuPortrait6@win_320ppi.png       |  Bin 12490 -> 13865 bytes
 .../FiveItemsMenuPortrait7@android_240ppi.png   |  Bin 16554 -> 14936 bytes
 .../FiveItemsMenuPortrait7@win_320ppi.png       |  Bin 12811 -> 14204 bytes
 .../FiveItemsMenuPortrait8@android_240ppi.png   |  Bin 16977 -> 15241 bytes
 .../FiveItemsMenuPortrait8@win_320ppi.png       |  Bin 13031 -> 14423 bytes
 .../FiveItemsMenuPortrait9@android_240ppi.png   |  Bin 17074 -> 15374 bytes
 .../FiveItemsMenuPortrait9@win_320ppi.png       |  Bin 13141 -> 14570 bytes
 .../FourItemsMenuPortrait1@android_240ppi.png   |  Bin 8936 -> 7151 bytes
 .../FourItemsMenuPortrait1@win_320ppi.png       |  Bin 8376 -> 6294 bytes
 .../FourItemsMenuPortrait2@android_240ppi.png   |  Bin 7063 -> 5521 bytes
 .../FourItemsMenuPortrait2@win_320ppi.png       |  Bin 7044 -> 4709 bytes
 .../FourItemsMenuPortrait3@android_240ppi.png   |  Bin 7063 -> 5521 bytes
 .../FourItemsMenuPortrait3@win_320ppi.png       |  Bin 7044 -> 4709 bytes
 .../FourItemsMenuPortrait4@android_240ppi.png   |  Bin 7063 -> 5521 bytes
 .../FourItemsMenuPortrait4@win_320ppi.png       |  Bin 7044 -> 4709 bytes
 .../FourItemsMenuPortrait5@android_240ppi.png   |  Bin 9012 -> 7186 bytes
 .../FourItemsMenuPortrait5@win_320ppi.png       |  Bin 8512 -> 6483 bytes
 .../FourItemsMenuPortrait6@android_240ppi.png   |  Bin 7063 -> 5521 bytes
 .../FourItemsMenuPortrait6@win_320ppi.png       |  Bin 7044 -> 4709 bytes
 .../FourItemsMenuPortrait7@android_240ppi.png   |  Bin 7063 -> 5521 bytes
 .../FourItemsMenuPortrait7@win_320ppi.png       |  Bin 7044 -> 4709 bytes
 .../FourItemsMenuPortrait8@android_240ppi.png   |  Bin 9378 -> 6711 bytes
 .../FourItemsMenuPortrait8@win_320ppi.png       |  Bin 7430 -> 5727 bytes
 .../FourItemsMenuPortrait9@android_240ppi.png   |  Bin 9378 -> 6711 bytes
 .../FourItemsMenuPortrait9@win_320ppi.png       |  Bin 7430 -> 5727 bytes
 .../SevenItemsMenuPortrait1@android_240ppi.png  |  Bin 4024 -> 3297 bytes
 .../SevenItemsMenuPortrait1@win_320ppi.png      |  Bin 2700 -> 3136 bytes
 .../SevenItemsMenuPortrait3@android_240ppi.png  |  Bin 21369 -> 18361 bytes
 .../SixItemsMenuPortrait10@android_240ppi.png   |  Bin 21411 -> 17622 bytes
 .../SixItemsMenuPortrait10@win_320ppi.png       |  Bin 14461 -> 17110 bytes
 .../SixItemsMenuPortrait1@android_240ppi.png    |  Bin 21853 -> 17948 bytes
 .../SixItemsMenuPortrait1@win_320ppi.png        |  Bin 14457 -> 17233 bytes
 .../SixItemsMenuPortrait2@android_240ppi.png    |  Bin 21411 -> 17622 bytes
 .../SixItemsMenuPortrait2@win_320ppi.png        |  Bin 14461 -> 17110 bytes
 .../SixItemsMenuPortrait3@android_240ppi.png    |  Bin 20356 -> 16828 bytes
 .../SixItemsMenuPortrait3@win_320ppi.png        |  Bin 13892 -> 16387 bytes
 .../SixItemsMenuPortrait4@android_240ppi.png    |  Bin 3082 -> 2700 bytes
 .../SixItemsMenuPortrait4@win_320ppi.png        |  Bin 1951 -> 2515 bytes
 .../SixItemsMenuPortrait5@android_240ppi.png    |  Bin 22687 -> 19237 bytes
 .../SixItemsMenuPortrait5@win_320ppi.png        |  Bin 15442 -> 18449 bytes
 .../SixItemsMenuPortrait6@android_240ppi.png    |  Bin 21853 -> 17948 bytes
 .../SixItemsMenuPortrait6@win_320ppi.png        |  Bin 14457 -> 17233 bytes
 .../SixItemsMenuPortrait7@android_240ppi.png    |  Bin 20356 -> 16828 bytes
 .../SixItemsMenuPortrait7@win_320ppi.png        |  Bin 13892 -> 16387 bytes
 .../SixItemsMenuPortrait8@android_240ppi.png    |  Bin 21498 -> 17765 bytes
 .../SixItemsMenuPortrait8@win_320ppi.png        |  Bin 14441 -> 17142 bytes
 .../SixItemsMenuPortrait9@android_240ppi.png    |  Bin 21411 -> 17622 bytes
 .../SixItemsMenuPortrait9@win_320ppi.png        |  Bin 14461 -> 17110 bytes
 ...ThreeButtonsMenuPortrait1@android_240ppi.png |  Bin 9121 -> 7652 bytes
 .../ThreeButtonsMenuPortrait1@win_320ppi.png    |  Bin 6353 -> 7426 bytes
 ...ThreeButtonsMenuPortrait2@android_240ppi.png |  Bin 7383 -> 5799 bytes
 .../ThreeButtonsMenuPortrait2@win_320ppi.png    |  Bin 4739 -> 5681 bytes
 ...ThreeButtonsMenuPortrait3@android_240ppi.png |  Bin 7383 -> 5799 bytes
 .../ThreeButtonsMenuPortrait3@win_320ppi.png    |  Bin 4739 -> 5681 bytes
 ...ThreeButtonsMenuPortrait4@android_240ppi.png |  Bin 7383 -> 5799 bytes
 .../ThreeButtonsMenuPortrait4@win_320ppi.png    |  Bin 4739 -> 5681 bytes
 ...ThreeButtonsMenuPortrait6@android_240ppi.png |  Bin 7534 -> 5956 bytes
 .../ThreeButtonsMenuPortrait6@win_320ppi.png    |  Bin 4705 -> 5721 bytes
 ...ThreeButtonsMenuPortrait7@android_240ppi.png |  Bin 7954 -> 6396 bytes
 .../ThreeButtonsMenuPortrait7@win_320ppi.png    |  Bin 5185 -> 6170 bytes
 ...ThreeButtonsMenuPortrait8@android_240ppi.png |  Bin 7724 -> 6163 bytes
 .../ThreeButtonsMenuPortrait8@win_320ppi.png    |  Bin 4950 -> 5952 bytes
 ...ThreeButtonsMenuPortrait9@android_240ppi.png |  Bin 7954 -> 6396 bytes
 .../ThreeButtonsMenuPortrait9@win_320ppi.png    |  Bin 5185 -> 6170 bytes
 .../ViewMenu240Scale@android_240ppi.png         |  Bin 9744 -> 8323 bytes
 .../baselines/ViewMenu240Scale@win_320ppi.png   |  Bin 5998 -> 7082 bytes
 ...neViewMenuButtonPortrait1@android_240ppi.png |  Bin 2611 -> 2754 bytes
 .../OneViewMenuButtonPortrait1@win_320ppi.png   |  Bin 2388 -> 2615 bytes
 ...neViewMenuButtonPortrait2@android_240ppi.png |  Bin 2611 -> 2754 bytes
 .../OneViewMenuButtonPortrait2@win_320ppi.png   |  Bin 2388 -> 2615 bytes
 ...neViewMenuButtonPortrait3@android_240ppi.png |  Bin 2611 -> 2754 bytes
 .../OneViewMenuButtonPortrait3@win_320ppi.png   |  Bin 2388 -> 2615 bytes
 ...neViewMenuButtonPortrait5@android_240ppi.png |  Bin 4185 -> 4428 bytes
 .../OneViewMenuButtonPortrait5@win_320ppi.png   |  Bin 3915 -> 4247 bytes
 ...neViewMenuButtonPortrait6@android_240ppi.png |  Bin 3126 -> 3230 bytes
 .../OneViewMenuButtonPortrait6@win_320ppi.png   |  Bin 2808 -> 3059 bytes
 .../TwoButtonsMenuPortrait10@android_240ppi.png |  Bin 5261 -> 5483 bytes
 .../TwoButtonsMenuPortrait10@win_320ppi.png     |  Bin 4548 -> 5142 bytes
 .../TwoButtonsMenuPortrait11@android_240ppi.png |  Bin 5261 -> 5483 bytes
 .../TwoButtonsMenuPortrait11@win_320ppi.png     |  Bin 4548 -> 5142 bytes
 .../TwoButtonsMenuPortrait12@android_240ppi.png |  Bin 5471 -> 5713 bytes
 .../TwoButtonsMenuPortrait12@win_320ppi.png     |  Bin 4800 -> 5436 bytes
 .../TwoButtonsMenuPortrait13@android_240ppi.png |  Bin 5477 -> 5551 bytes
 .../TwoButtonsMenuPortrait13@win_320ppi.png     |  Bin 4791 -> 5274 bytes
 .../TwoButtonsMenuPortrait14@android_240ppi.png |  Bin 5477 -> 5551 bytes
 .../TwoButtonsMenuPortrait14@win_320ppi.png     |  Bin 4791 -> 5274 bytes
 .../TwoButtonsMenuPortrait1@android_240ppi.png  |  Bin 5477 -> 5551 bytes
 .../TwoButtonsMenuPortrait1@win_320ppi.png      |  Bin 4791 -> 5274 bytes
 .../TwoButtonsMenuPortrait2@android_240ppi.png  |  Bin 5477 -> 5551 bytes
 .../TwoButtonsMenuPortrait2@win_320ppi.png      |  Bin 4791 -> 5274 bytes
 .../TwoButtonsMenuPortrait3@android_240ppi.png  |  Bin 5477 -> 5551 bytes
 .../TwoButtonsMenuPortrait3@win_320ppi.png      |  Bin 4791 -> 5274 bytes
 .../TwoButtonsMenuPortrait8@android_240ppi.png  |  Bin 6038 -> 5994 bytes
 .../TwoButtonsMenuPortrait8@win_320ppi.png      |  Bin 5010 -> 5674 bytes
 .../TwoButtonsMenuPortrait9@android_240ppi.png  |  Bin 6022 -> 5971 bytes
 .../TwoButtonsMenuPortrait9@win_320ppi.png      |  Bin 5035 -> 5662 bytes
 .../components/ViewMenu/swfs/ViewMenu.mxml      |    1 +
 .../ViewMenu/swfs/ViewMenuCustom.mxml           |    1 +
 .../ViewMenu/swfs/ViewMenuScale240.mxml         |    1 +
 .../baselines/lookAtASparkButton@android.png    |  Bin 1787 -> 1730 bytes
 .../baselines/lookAtASparkButtonInSparkApp.png  |  Bin 1310 -> 1730 bytes
 ...plitViewTransitionInCallout_integration.mxml |    6 +
 .../tests/mx/effects/Zoom/SWFs/Zoom_Main.mxml   |  119 +
 .../Transition_interruptionBehavior.mxml        |    8 +-
 .../assets/styleTest/ADVStyleTestConstants.as   |   14 +-
 ...nds_blend_darken_radialgradient_fill.png.xml |   16 +
 ...blend_difference_radialgradient_fill.png.xml |   16 +
 ..._blend_hardlight_radialgradient_fill.png.xml |   16 +
 ...ends_blend_layer_radialgradient_fill.png.xml |   16 +
 ...s_blend_multiply_radialgradient_fill.png.xml |   16 +
 ...nds_blend_normal_radialgradient_fill.png.xml |   16 +
 ...s_blend_subtract_radialgradient_fill.png.xml |   16 +
 .../baselines/doc_structure_graphic_def.png.xml |   62 +
 .../baselines/doc_structure_library_def.png.xml |   53 +
 ...near_gradient_linear_gradient_fill_shape.png |  Bin 33618 -> 33618 bytes
 ...adial_gradient_fill_path_focal_point.png.xml |   20 +
 ...ial_gradient_fill_path_interpolation.png.xml |   20 +
 ...ent_radial_gradient_fill_path_matrix.png.xml |   17 +
 ...ent_radial_gradient_fill_path_spread.png.xml |   20 +
 ...nt_radial_gradient_fill_path_spread2.png.xml |   17 +
 ...dial_gradient_fill_shape_focal_point.png.xml |   17 +
 ...al_gradient_fill_shape_interpolation.png.xml |   16 +
 ...nt_radial_gradient_fill_shape_matrix.png.xml |   15 +
 ...nt_radial_gradient_fill_shape_spread.png.xml |   17 +
 .../baselines/filters_bevelfilter3.png.xml      |   17 +
 .../baselines/filters_blurfilter.png.xml        |  114 +
 .../baselines/filters_filters_blend.png.xml     |  249 ++
 .../baselines/filters_filters_group.png.xml     |   40 +
 .../baselines/filters_filters_transform.png.xml |   74 +
 .../baselines/filters_glowfilter3.png.xml       |   19 +
 .../filters_gradientglowfilter3.png.xml         |   17 +
 .../filters_hue_colormatrixfilter4.png.xml      |   25 +
 ...filters_luminance_colormatrixfilter4.png.xml |   24 +
 ...ilters_saturation_colormatrixfilter4.png.xml |   27 +
 .../properties/baselines/mask_clip_mask.png.xml |   87 +
 .../scale9_bitmapgraphic_scale9.png.xml         |   20 +
 ...ale9_shape_bmpgraphic_scalegridgroup.png.xml |   26 +
 .../fxg/properties/baselines/shapes_rect2.png   |  Bin 8908 -> 8944 bytes
 ...ial_gradient_stroke_path_focal_point.png.xml |   23 +
 ...l_gradient_stroke_path_interpolation.png.xml |   20 +
 ...e_radial_gradient_stroke_path_matrix.png.xml |   17 +
 ...e_radial_gradient_stroke_path_spread.png.xml |   23 +
 ...al_gradient_stroke_shape_focal_point.png.xml |   17 +
 ..._gradient_stroke_shape_interpolation.png.xml |   16 +
 ..._radial_gradient_stroke_shape_matrix.png.xml |   15 +
 ..._radial_gradient_stroke_shape_spread.png.xml |   17 +
 .../core/fxg/properties/fxgtemplate_tester.mxml |   48 +-
 .../tests/spark/core/fxg/swfs/fxgtemplate.mxml  |    2 +-
 ...Transform3D_rotationY_act1_alp1_acp1.png.xml |   37 +
 .../test/CatalystMatrixSequences_test.mxml      |    4 +-
 .../BetterAutoCenter/Resize_SpaceInvaders.mxml  |    8 +-
 .../SWFs/DF_StyleManager_Main.mxml              |    4 +-
 ...G_Ellipse_RadialGradientStroke_fillX.png.xml |   27 +
 ...G_Ellipse_RadialGradientStroke_fillY.png.xml |   27 +
 ...Ellipse_RadialGradientStroke_strokeX.png.xml |   27 +
 ...Ellipse_RadialGradientStroke_strokeY.png.xml |   27 +
 ..._Ellipse_RadialGradientStroke_xy_0_0.png.xml |   27 +
 ...Ellipse_RadialGradientStroke_xy_0_20.png.xml |   27 +
 ...Ellipse_RadialGradientStroke_xy_20_0.png.xml |   27 +
 ...RadialGradientStroke_xy_fillRotation.png.xml |   27 +
 ...dialGradientStroke_xy_strokeRotation.png.xml |   27 +
 ...otation_matrix_onRadialGradient_fill.png.xml |   28 +
 ...ation_matrix_onRadialGradient_stroke.png.xml |   28 +
 ...ipse_XY_matrix_onRadialGradient_fill.png.xml |   28 +
 ...se_XY_matrix_onRadialGradient_stroke.png.xml |   28 +
 ...tionRTL_RadialGradientStroke_strokeY.png.xml |   20 +
 ...tionRTL_RadialGradientStroke_xy_0_20.png.xml |   20 +
 .../FXG_Rect_RadialGradientStroke_fillX.png.xml |   32 +
 .../FXG_Rect_RadialGradientStroke_fillY.png.xml |   32 +
 ...XG_Rect_RadialGradientStroke_strokeX.png.xml |   32 +
 ...XG_Rect_RadialGradientStroke_strokeY.png.xml |   32 +
 ...FXG_Rect_RadialGradientStroke_xy_0_0.png.xml |   32 +
 ...XG_Rect_RadialGradientStroke_xy_0_20.png.xml |   32 +
 ...XG_Rect_RadialGradientStroke_xy_20_0.png.xml |   32 +
 ...RadialGradientStroke_xy_fillRotation.png.xml |   32 +
 ...dialGradientStroke_xy_strokeRotation.png.xml |   32 +
 ...otation_matrix_onRadialGradient_fill.png.xml |   33 +
 ...ation_matrix_onRadialGradient_stroke.png.xml |   33 +
 ...Rect_XY_matrix_onRadialGradient_fill.png.xml |   33 +
 ...ct_XY_matrix_onRadialGradient_stroke.png.xml |   33 +
 .../Properties/GVB_source_tester.mxml           |   12 +-
 .../NV_Fallback_actualLocaleIDName_tester.mxml  |    0
 .../Fallback/NV_Fallback_properties_tester.mxml |    0
 .../NV_actualLocaleIDName_tester.mxml           |    0
 .../Properties/NV_allowNegative_tester.mxml     |    0
 .../Properties/NV_decimalSeparator_tester.mxml  |    0
 .../Properties/NV_digitsType_tester.mxml        |    0
 .../Properties/NV_domain_tester.mxml            |    0
 .../Properties/NV_errorMessages_tester.mxml     |    0
 .../Properties/NV_fractionalDigits_tester.mxml  |    0
 .../Properties/NV_groupingSeparator_tester.mxml |    0
 .../Properties/NV_maxValue_tester.mxml          |    0
 .../Properties/NV_minValue_tester.mxml          |    0
 .../NV_negativeNumberFormat_tester.mxml         |    0
 .../Properties/NV_negativeSymbol_tester.mxml    |    0
 .../NV_Fallback_actualLocaleIDName_Main.mxml    |    0
 .../SWFs/NV_Fallback_properties_Main.mxml       |    0
 .../SWFs/NV_actualLocaleIDName_Main.mxml        |    0
 .../SWFs/NV_allowNegative_Main.mxml             |    0
 .../SWFs/NV_decimalSeparator_Main.mxml          |    0
 .../SWFs/NV_digitsType_Main.mxml                |    0
 .../NumberValidator/SWFs/NV_domain_Main.mxml    |    0
 .../SWFs/NV_errorMessages_Main.mxml             |    0
 .../SWFs/NV_fractionalDigits_Main.mxml          |    0
 .../SWFs/NV_groupingSeparator_Main.mxml         |    0
 .../NumberValidator/SWFs/NV_maxValue_Main.mxml  |    0
 .../NumberValidator/SWFs/NV_minValue_Main.mxml  |    0
 .../SWFs/NV_negativeNumberFormat_Main.mxml      |    0
 .../SWFs/NV_negativeSymbol_Main.mxml            |    0
 .../NumberValidator/SWFs/assets/NVConstants.as  |    0
 .../ImageDiffAIR/src/ImageDiffAIR-app.xml       |  250 ++
 .../ImageDiffAIR/src/ImageDiffAIR.mxml          |  598 ++++
 .../src/MustellaDependencyDB-app.xml            |    2 +-
 .../src/MustellaTestChooser-app.xml             |    2 +-
 .../src/MustellaTestChooser.mxml                |   52 +-
 .../src/OneClickMustella-app.xml                |    1 +
 .../OneClickMustella/src/OneClickMustella.mxml  |  133 +-
 .../mustella/oneclick/CommandTerminal.mxml      |  150 +
 .../mustella/oneclick/MustellaDependencyDB.mxml |  280 ++
 .../mustella/oneclick/MustellaTestChooser.mxml  |  255 ++
 .../apacheflex/mustella/oneclick/WebServer.mxml |  145 +
 .../PatchExtractor/src/PatchExtractor-app.xml   |  250 ++
 .../PatchExtractor/src/PatchExtractor.mxml      |  267 ++
 patch_testing_loop.sh                           |   33 +
 run_mustella_on_git_status.sh                   |   35 +
 templates/swfobject/index.template.html         |    4 +-
 test_patch.sh                                   |   57 +
 test_patch_by_email.sh                          |   56 +
 5362 files changed, 99422 insertions(+), 11815 deletions(-)
----------------------------------------------------------------------



[07/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentAdapter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentAdapter.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentAdapter.java
index d09dc2a..508c3a4 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentAdapter.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentAdapter.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -29,32 +30,44 @@ import java.util.Set;
 import org.apache.flex.forks.batik.gvt.event.EventDispatcher;
 import org.apache.flex.forks.batik.gvt.text.Mark;
 import org.apache.flex.forks.batik.util.ParsedURL;
-import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.SVGFeatureStrings;
 import org.apache.flex.forks.batik.util.XMLResourceDescriptor;
+
 import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * An abstract user agent adaptor implementation.  It exists to simply
  * the creation of UserAgent instances.
  *
  * @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
- * @version $Id: UserAgentAdapter.java,v 1.20 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: UserAgentAdapter.java 599691 2007-11-30 03:37:58Z cam $
  */
 public class UserAgentAdapter implements UserAgent {
     protected Set FEATURES   = new HashSet();
     protected Set extensions = new HashSet();
 
-    public UserAgentAdapter() {
+    /**
+     * The BridgeContext to use for error information.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * Sets the BridgeContext to be used for error information.
+     */
+    public void setBridgeContext(BridgeContext ctx) {
+        this.ctx = ctx;
     }
 
+    /**
+     * Adds the standard SVG feature strings to the set of features supported
+     * by this user agent.
+     */
     public void addStdFeatures() {
-        FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_FEATURE);
-        FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_LANG_FEATURE);
-        FEATURES.add(SVGConstants.SVG_ORG_W3C_SVG_STATIC_FEATURE);
+        SVGFeatureStrings.addSupportedFeatureStrings(FEATURES);
     }
 
-
     /**
      * Returns the default size of this user agent (400x400).
      */
@@ -422,5 +435,18 @@ public class UserAgentAdapter implements UserAgent {
         }
     }
 
+    /**
+     * This Implementation simply throws a BridgeException.
+     *
+     * @param e   The &lt;image> element that can't be loaded.
+     * @param url The resolved url that can't be loaded.
+     * @param message As best as can be determined the reason it can't be
+     *                loaded (not available, corrupt, unknown format,...).
+     */
+    public SVGDocument getBrokenLinkDocument(Element e, 
+                                             String url, 
+                                             String message) {
+        throw new BridgeException(ctx, e, ErrorConstants.ERR_URI_IMAGE_BROKEN,
+                                  new Object[] {url, message });
+    }
 }
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentViewport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentViewport.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentViewport.java
index 7ab60b0..37a1fa4 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentViewport.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgentViewport.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * Defines a viewport for a <tt>UserAgent</tt>.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: UserAgentViewport.java,v 1.5 2004/08/18 07:12:37 vhardy Exp $
+ * @version $Id: UserAgentViewport.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class UserAgentViewport implements Viewport {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ViewBox.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ViewBox.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ViewBox.java
index 2c9f0cd..95de140 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ViewBox.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ViewBox.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,22 +21,28 @@ package org.apache.flex.forks.batik.bridge;
 import java.awt.geom.AffineTransform;
 import java.util.StringTokenizer;
 
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedRect;
 import org.apache.flex.forks.batik.parser.AWTTransformProducer;
 import org.apache.flex.forks.batik.parser.FragmentIdentifierHandler;
 import org.apache.flex.forks.batik.parser.FragmentIdentifierParser;
 import org.apache.flex.forks.batik.parser.ParseException;
 import org.apache.flex.forks.batik.parser.PreserveAspectRatioParser;
 import org.apache.flex.forks.batik.util.SVGConstants;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.flex.forks.dom.svg.SVGPreserveAspectRatio;
+import org.w3c.dom.svg.SVGAnimatedPreserveAspectRatio;
+import org.w3c.dom.svg.SVGAnimatedRect;
+import org.w3c.dom.svg.SVGPreserveAspectRatio;
+import org.w3c.dom.svg.SVGRect;
 
 /**
  * This class provides convenient methods to handle viewport.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: ViewBox.java,v 1.13 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: ViewBox.java 579487 2007-09-26 06:40:16Z cam $
  */
 public abstract class ViewBox implements SVGConstants, ErrorConstants {
 
@@ -53,17 +60,19 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
      * @param e the element interested in its view transform
      * @param w the width of the effective viewport
      * @param h The height of the effective viewport
+     * @param ctx The BridgeContext to use for error information
      * @exception BridgeException if an error occured while computing the
      *            preserveAspectRatio transform
      */
     public static AffineTransform getViewTransform(String ref,
                                                    Element e,
                                                    float w,
-                                                   float h) {
+                                                   float h,
+                                                   BridgeContext ctx) {
 
         // no reference has been specified, no extra viewBox is defined
         if (ref == null || ref.length() == 0) {
-            return getPreserveAspectRatioTransform(e, w, h);
+            return getPreserveAspectRatioTransform(e, w, h, ctx);
         }
 
         ViewHandler vh = new ViewHandler();
@@ -77,7 +86,7 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
             attrDefElement = document.getElementById(vh.id);
         }
         if (attrDefElement == null) {
-            throw new BridgeException(e, ERR_URI_MALFORMED,
+            throw new BridgeException(ctx, e, ERR_URI_MALFORMED,
                                       new Object[] {ref});
         }
         // if the referenced element is not a view, the attribute
@@ -94,7 +103,7 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
         } else {
             String viewBoxStr = attrDefElement.getAttributeNS
                 (null, SVG_VIEW_BOX_ATTRIBUTE);
-            vb = parseViewBoxAttribute(attrDefElement, viewBoxStr);
+            vb = parseViewBoxAttribute(attrDefElement, viewBoxStr, ctx);
         }
 
         // 'preserveAspectRatio'
@@ -111,11 +120,11 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
             pp.setPreserveAspectRatioHandler(ph);
             try {
                 pp.parse(aspectRatio);
-            } catch (ParseException ex) {
+            } catch (ParseException pEx ) {
                 throw new BridgeException
-                    (attrDefElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, attrDefElement, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE,
-                                       aspectRatio, ex});
+                                       aspectRatio, pEx });
             }
             align = ph.align;
             meet = ph.meet;
@@ -152,20 +161,38 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
      * Returns the transformation matrix to apply to initalize a viewport or
      * null if the specified viewBox disables the rendering of the element.
      *
+     * @deprecated Replaced by {@link
+     *     #getPreserveAspectRatioTransform(Element,float,float,BridgeContext)},
+     *     which has more accurate error reporting.
      * @param e the element with a viewbox
      * @param w the width of the effective viewport
-     * @param h The height of the effective viewport 
+     * @param h The height of the effective viewport
      */
     public static AffineTransform getPreserveAspectRatioTransform(Element e,
                                                                   float w,
                                                                   float h) {
+        return getPreserveAspectRatioTransform(e, w, h, null);
+    }
+
+    /**
+     * Returns the transformation matrix to apply to initalize a viewport or
+     * null if the specified viewBox disables the rendering of the element.
+     *
+     * @param e the element with a viewbox
+     * @param w the width of the effective viewport
+     * @param h The height of the effective viewport
+     * @param ctx The BridgeContext to use for error information
+     */
+    public static AffineTransform getPreserveAspectRatioTransform
+            (Element e, float w, float h, BridgeContext ctx) {
         String viewBox
             = e.getAttributeNS(null, SVG_VIEW_BOX_ATTRIBUTE);
 
         String aspectRatio
             = e.getAttributeNS(null, SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE);
 
-        return getPreserveAspectRatioTransform(e, viewBox, aspectRatio, w, h);
+        return getPreserveAspectRatioTransform(e, viewBox, aspectRatio, w, h,
+                                               ctx);
     }
 
     /**
@@ -175,20 +202,22 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
      * @param e the element with a viewbox
      * @param viewBox the viewBox definition
      * @param w the width of the effective viewport
-     * @param h The height of the effective viewport 
+     * @param h The height of the effective viewport
+     * @param ctx The BridgeContext to use for error information
      */
     public static
         AffineTransform getPreserveAspectRatioTransform(Element e,
                                                         String viewBox,
                                                         String aspectRatio,
                                                         float w,
-                                                        float h) {
+                                                        float h,
+                                                        BridgeContext ctx) {
 
         // no viewBox specified
         if (viewBox.length() == 0) {
             return new AffineTransform();
         }
-        float[] vb = parseViewBoxAttribute(e, viewBox);
+        float[] vb = parseViewBoxAttribute(e, viewBox, ctx);
 
         // 'preserveAspectRatio' attribute
         PreserveAspectRatioParser p = new PreserveAspectRatioParser();
@@ -196,11 +225,11 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
         p.setPreserveAspectRatioHandler(ph);
         try {
             p.parse(aspectRatio);
-        } catch (ParseException ex) {
+        } catch (ParseException pEx ) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE,
-                                   aspectRatio, ex});
+                                   aspectRatio, pEx });
         }
 
         return getPreserveAspectRatioTransform(vb, ph.align, ph.meet, w, h);
@@ -213,13 +242,15 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
      * @param e the element with a viewbox
      * @param vb the viewBox definition as float
      * @param w the width of the effective viewport
-     * @param h The height of the effective viewport 
+     * @param h The height of the effective viewport
+     * @param ctx The BridgeContext to use for error information
      */
     public static
         AffineTransform getPreserveAspectRatioTransform(Element e,
-							float [] vb,
-							float w,
-							float h) {
+                                                        float[] vb,
+                                                        float w,
+                                                        float h,
+                                                        BridgeContext ctx) {
 
         String aspectRatio
             = e.getAttributeNS(null, SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE);
@@ -230,23 +261,80 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
         p.setPreserveAspectRatioHandler(ph);
         try {
             p.parse(aspectRatio);
-        } catch (ParseException ex) {
+        } catch (ParseException pEx ) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE,
-                                   aspectRatio, ex});
+                                   aspectRatio, pEx });
         }
 
         return getPreserveAspectRatioTransform(vb, ph.align, ph.meet, w, h);
     }
 
     /**
+     * Returns the transformation matrix to apply to initalize a viewport or
+     * null if the specified viewBox disables the rendering of the element.
+     *
+     * @param e the element with a viewbox
+     * @param vb the viewBox definition as float
+     * @param w the width of the effective viewport
+     * @param h The height of the effective viewport
+     * @param aPAR The animated preserveAspectRatio value
+     * @param ctx The BridgeContext to use for error information
+     */
+    public static AffineTransform getPreserveAspectRatioTransform
+            (Element e, float[] vb, float w, float h,
+             SVGAnimatedPreserveAspectRatio aPAR, BridgeContext ctx) {
+
+        // 'preserveAspectRatio' attribute
+        try {
+            SVGPreserveAspectRatio pAR = aPAR.getAnimVal();
+            short align = pAR.getAlign();
+            boolean meet = pAR.getMeetOrSlice() ==
+                SVGPreserveAspectRatio.SVG_MEETORSLICE_MEET;
+            return getPreserveAspectRatioTransform(vb, align, meet, w, h);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
+    }
+
+    /**
+     * Returns the transformation matrix to apply to initialize a viewport or
+     * null if the specified viewBox disables the rendering of the element.
+     *
+     * @param e the element with a viewbox
+     * @param aViewBox the viewBox definition
+     * @param aPAR the preserveAspectRatio definition
+     * @param w the width of the effective viewport
+     * @param h the height of the effective viewport
+     * @param ctx the BridgeContext to use for error information
+     */
+    public static AffineTransform getPreserveAspectRatioTransform
+            (Element e, SVGAnimatedRect aViewBox,
+             SVGAnimatedPreserveAspectRatio aPAR,
+             float w, float h, BridgeContext ctx) {
+
+        if (!((SVGOMAnimatedRect) aViewBox).isSpecified()) {
+            // no viewBox specified
+            return new AffineTransform();
+        }
+        SVGRect viewBox = aViewBox.getAnimVal();
+        float[] vb = new float[] { viewBox.getX(), viewBox.getY(),
+                                   viewBox.getWidth(), viewBox.getHeight() };
+
+        return getPreserveAspectRatioTransform(e, vb, w, h, aPAR, ctx);
+    }
+
+    /**
      * Parses a viewBox attribute.
      *
+     * @param e the element whose viewBox attribute value is being parsed
      * @param value the viewBox
+     * @param ctx the BridgeContext to use for error information
      * @return The 4 viewbox components or null.
      */
-    public static float[] parseViewBoxAttribute(Element e, String value) {
+    public static float[] parseViewBoxAttribute(Element e, String value,
+                                                BridgeContext ctx) {
         if (value.length() == 0) {
             return null;
         }
@@ -258,20 +346,20 @@ public abstract class ViewBox implements SVGConstants, ErrorConstants {
                 vb[i] = Float.parseFloat(st.nextToken());
                 i++;
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {SVG_VIEW_BOX_ATTRIBUTE, value, ex});
+                (ctx, e, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {SVG_VIEW_BOX_ATTRIBUTE, value, nfEx });
         }
         if (i != 4) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_VIEW_BOX_ATTRIBUTE, value});
         }
         // A negative value for <width> or <height> is an error
         if (vb[2] < 0 || vb[3] < 0) {
             throw new BridgeException
-                (e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_VIEW_BOX_ATTRIBUTE, value});
         }
         // A value of zero for width or height disables rendering of the element

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Viewport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Viewport.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Viewport.java
index ec0092d..9a7d1df 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Viewport.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Viewport.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,18 +23,18 @@ package org.apache.flex.forks.batik.bridge;
  * Defines a viewport.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: Viewport.java,v 1.3 2004/10/30 18:38:04 deweese Exp $
+ * @version $Id: Viewport.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public interface Viewport {
 
     /**
      * Returns the width of this viewport.
      */
-    public float getWidth();
+    float getWidth();
 
     /**
      * Returns the height of this viewport.
      */
-    public float getHeight();
+    float getHeight();
 
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/AbstractContentSelector.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/AbstractContentSelector.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/AbstractContentSelector.java
new file mode 100644
index 0000000..f3b0e9c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/AbstractContentSelector.java
@@ -0,0 +1,169 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.HashMap;
+
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A base class for handlers of different XBL content element includes
+ * attribute syntaxes.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AbstractContentSelector.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class AbstractContentSelector {
+
+    /**
+     * The ContentManager object that owns this selector.
+     */
+    protected ContentManager contentManager;
+
+    /**
+     * The XBL content element.
+     */
+    protected XBLOMContentElement contentElement;
+
+    /**
+     * The bound element.
+     */
+    protected Element boundElement;
+
+    /**
+     * Creates a new AbstractContentSelector object.
+     */
+    public AbstractContentSelector(ContentManager cm,
+                                   XBLOMContentElement content,
+                                   Element bound) {
+        contentManager = cm;
+        contentElement = content;
+        boundElement = bound;
+    }
+
+    /**
+     * Returns a list of nodes that were matched by this selector.
+     */
+    public abstract NodeList getSelectedContent();
+
+    /**
+     * Forces this selector to update its selected nodes list.
+     * Returns true if the selected node list needed updating.
+     * This assumes that the previous content elements in this
+     * shadow tree (in document order) have up-to-date selectedContent
+     * lists.
+     */
+    abstract boolean update();
+
+    /**
+     * Returns true if the given node has already been selected
+     * by a content element.
+     */
+    protected boolean isSelected(Node n) {
+        return contentManager.getContentElement(n) != null;
+    }
+
+    /**
+     * Map of selector languages to factories.
+     */
+    protected static HashMap selectorFactories = new HashMap();
+    static {
+        ContentSelectorFactory f1 = new XPathPatternContentSelectorFactory();
+        ContentSelectorFactory f2 = new XPathSubsetContentSelectorFactory();
+        selectorFactories.put(null, f1);
+        selectorFactories.put("XPathPattern", f1);
+        selectorFactories.put("XPathSubset", f2);
+    }
+
+    /**
+     * Creates a new selector object.
+     * @param content The content element using this selector.
+     * @param bound The bound element whose children will be selected.
+     * @param selector The selector string.
+     */
+    public static AbstractContentSelector createSelector
+            (String selectorLanguage,
+             ContentManager cm,
+             XBLOMContentElement content,
+             Element bound,
+             String selector) {
+
+        ContentSelectorFactory f =
+            (ContentSelectorFactory) selectorFactories.get(selectorLanguage);
+        if (f == null) {
+            throw new RuntimeException
+                ("Invalid XBL content selector language '"
+                 + selectorLanguage
+                 + "'");
+        }
+        return f.createSelector(cm, content, bound, selector);
+    }
+
+    /**
+     * An interface for content selector factories.
+     */
+    protected static interface ContentSelectorFactory {
+
+        /**
+         * Creates a new selector object.
+         */
+        AbstractContentSelector createSelector(ContentManager cm,
+                                               XBLOMContentElement content,
+                                               Element bound,
+                                               String selector);
+    }
+
+    /**
+     * A factory for XPathSubsetContentSelector objects.
+     */
+    protected static class XPathSubsetContentSelectorFactory
+            implements ContentSelectorFactory {
+
+        /**
+         * Creates a new XPathSubsetContentSelector object.
+         */
+        public AbstractContentSelector createSelector(ContentManager cm,
+                                                      XBLOMContentElement content,
+                                                      Element bound,
+                                                      String selector) {
+            return new XPathSubsetContentSelector(cm, content, bound, selector);
+        }
+    }
+
+    /**
+     * A factory for XPathPatternContentSelector objects.
+     */
+    protected static class XPathPatternContentSelectorFactory
+            implements ContentSelectorFactory {
+
+        /**
+         * Creates a new XPathPatternContentSelector object.
+         */
+        public AbstractContentSelector createSelector(ContentManager cm,
+                                                      XBLOMContentElement content,
+                                                      Element bound,
+                                                      String selector) {
+            return new XPathPatternContentSelector(cm, content, bound, selector);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindableElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindableElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindableElementBridge.java
new file mode 100644
index 0000000..a297779
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindableElementBridge.java
@@ -0,0 +1,262 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.AbstractGraphicsNodeBridge;
+import org.apache.flex.forks.batik.bridge.Bridge;
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.GVTBuilder;
+import org.apache.flex.forks.batik.bridge.SVGUtilities;
+import org.apache.flex.forks.batik.bridge.ScriptingEnvironment;
+import org.apache.flex.forks.batik.bridge.UpdateManager;
+import org.apache.flex.forks.batik.dom.svg12.BindableElement;
+import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * Bridge class for foreign namespace elements that can be bound with sXBL.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: BindableElementBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class BindableElementBridge
+        extends AbstractGraphicsNodeBridge
+        implements SVG12BridgeUpdateHandler {
+
+    /**
+     * Constructs a new bridge for custom elements.
+     */
+    public BindableElementBridge() {
+    }
+
+    /**
+     * Returns "*" to indicate a default bridge.
+     */
+    public String getNamespaceURI() {
+        return "*";
+    }
+
+    /**
+     * Returns "*" to indicate a default bridge.
+     */
+    public String getLocalName() {
+        return "*";
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new BindableElementBridge();
+    }
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @return a graphics node that represents the specified element
+     */
+    public GraphicsNode createGraphicsNode(BridgeContext ctx, Element e) {
+        // 'requiredFeatures', 'requiredExtensions' and 'systemLanguage'
+        if (!SVGUtilities.matchUserAgent(e, ctx.getUserAgent())) {
+            return null;
+        }
+
+        CompositeGraphicsNode gn = buildCompositeGraphicsNode(ctx, e, null);
+
+        return gn;
+    }
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> from the input element and
+     * populates the input <tt>CompositeGraphicsNode</tt>
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param gn the CompositeGraphicsNode where the use graphical 
+     *        content will be appended. The composite node is emptied
+     *        before appending new content.
+     */
+    public CompositeGraphicsNode
+            buildCompositeGraphicsNode(BridgeContext ctx, 
+                                       Element e,
+                                       CompositeGraphicsNode gn) {
+
+        BindableElement be = (BindableElement) e;
+        Element shadowTree = be.getXblShadowTree();
+
+        UpdateManager um = ctx.getUpdateManager();
+        ScriptingEnvironment se = um == null ? null
+                                             : um.getScriptingEnvironment();
+
+        if (se != null && shadowTree != null) {
+            se.addScriptingListeners(shadowTree);
+        }
+
+        if (gn == null) {
+            gn = new CompositeGraphicsNode();
+            associateSVGContext(ctx, e, gn);
+        } else {
+            int s = gn.size();
+            for (int i = 0; i < s; i++) {
+                gn.remove(0);
+            }
+        }
+
+        GVTBuilder builder = ctx.getGVTBuilder();
+
+        if (shadowTree != null) {
+            GraphicsNode shadowNode = builder.build(ctx, shadowTree);
+            if (shadowNode != null) {
+                gn.add(shadowNode);
+            }
+        } else {
+            for (Node m = e.getFirstChild(); m != null; m = m.getNextSibling()) {
+                if (m.getNodeType() == Node.ELEMENT_NODE) {
+                    GraphicsNode n = builder.build(ctx, (Element) m);
+                    if (n != null) {
+                        gn.add(n);
+                    }
+                }
+            }
+        }
+
+        return gn;
+    }
+
+    public void dispose() {
+        BindableElement be = (BindableElement) e;
+        if (be != null && be.getCSSFirstChild() != null) {
+            disposeTree(be.getCSSFirstChild());
+        }
+
+        super.dispose();
+    }
+
+    /**
+     * Creates the GraphicsNode depending on the GraphicsNodeBridge
+     * implementation.
+     */
+    protected GraphicsNode instantiateGraphicsNode() {
+        return null; // nothing to do, createGraphicsNode is fully overriden
+    }
+
+    /**
+     * Returns false as the custom element is a not container.
+     */
+    public boolean isComposite() {
+        return false;
+    }
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    public void buildGraphicsNode(BridgeContext ctx,
+                                  Element e,
+                                  GraphicsNode node) {
+
+        initializeDynamicSupport(ctx, e, node);
+    }
+
+    // BridgeUpdateHandler implementation //////////////////////////////////
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
+     */
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) {
+        // Only rebuild the graphics tree if this custom element is not bound.
+        BindableElement be = (BindableElement) e;
+        Element shadowTree = be.getXblShadowTree();
+
+        if (shadowTree == null && evt.getTarget() instanceof Element) {
+            handleElementAdded((CompositeGraphicsNode) node, 
+                               e, 
+                               (Element) evt.getTarget());
+        }
+    }
+
+    /**
+     * Invoked when a bindable element's binding has changed.
+     */
+    public void handleBindingEvent(Element bindableElement,
+                                   Element shadowTree) {
+        CompositeGraphicsNode gn = node.getParent();
+        gn.remove(node);
+        disposeTree(e);
+
+        handleElementAdded(gn, e.getParentNode(), e);
+    }
+
+    /**
+     * Invoked when the xblChildNodes property has changed because a
+     * descendant xbl:content element has updated its selected nodes.
+     */
+    public void handleContentSelectionChangedEvent
+            (ContentSelectionChangedEvent csce) {
+    }
+
+    /**
+     * Rebuild the graphics tree.
+     */
+    protected void handleElementAdded(CompositeGraphicsNode gn, 
+                                      Node parent, 
+                                      Element childElt) {
+        // build the graphics node
+        GVTBuilder builder = ctx.getGVTBuilder();
+        GraphicsNode childNode = builder.build(ctx, childElt);
+        if (childNode == null) {
+            return; // the added element is not a graphic element
+        }
+        
+        // Find the index where the GraphicsNode should be added
+        int idx = -1;
+        for(Node ps = childElt.getPreviousSibling(); ps != null;
+            ps = ps.getPreviousSibling()) {
+            if (ps.getNodeType() != Node.ELEMENT_NODE)
+                continue;
+            Element pse = (Element)ps;
+            GraphicsNode psgn = ctx.getGraphicsNode(pse);
+            while ((psgn != null) && (psgn.getParent() != gn)) {
+                // In some cases the GN linked is
+                // a child (in particular for images).
+                psgn = psgn.getParent();
+            }
+            if (psgn == null)
+                continue;
+            idx = gn.indexOf(psgn);
+            if (idx == -1)
+                continue;
+            break;
+        }
+        // insert after prevSibling, if
+        // it was -1 this becomes 0 (first slot)
+        idx++; 
+        gn.add(idx, childNode);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindingListener.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindingListener.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindingListener.java
new file mode 100644
index 0000000..1223311
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/BindingListener.java
@@ -0,0 +1,37 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.EventListener;
+
+import org.w3c.dom.Element;
+
+/**
+ * The interface for listening to binding changes on bindable elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: BindingListener.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public interface BindingListener extends EventListener {
+
+    /**
+     * Invoked when the specified bindable element's binding has changed.
+     */
+    void bindingChanged(Element bindableElement, Element shadowTree);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentManager.java
new file mode 100644
index 0000000..8fb2704
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentManager.java
@@ -0,0 +1,552 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import javax.swing.event.EventListenerList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.xbl.XBLManager;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMShadowTreeElement;
+import org.apache.flex.forks.batik.util.XBLConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * A class to manage all XBL content elements in a shadow tree.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: ContentManager.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class ContentManager {
+
+    /**
+     * The shadow tree whose content elements this object is managing.
+     */
+    protected XBLOMShadowTreeElement shadowTree;
+
+    /**
+     * The bound element that owns the shadow tree.
+     */
+    protected Element boundElement;
+
+    /**
+     * The XBL manager.
+     */
+    protected DefaultXBLManager xblManager;
+
+    /**
+     * Map of content elements to selectors.
+     * [XBLContentElement, AbstractContentSelector]
+     */
+    protected HashMap selectors = new HashMap();
+
+    /**
+     * Map of content elements to a list of nodes that were selected
+     * by that content element.
+     * [XBLContentElement, NodeList]
+     */
+    protected HashMap selectedNodes = new HashMap();
+
+    /**
+     * List of content elements.
+     * [XBLContentElement]
+     */
+    protected LinkedList contentElementList = new LinkedList();
+
+    /**
+     * The recently removed node from the shadow tree.
+     */
+    protected Node removedNode;
+
+    /**
+     * Map of XBLContentElement objects to EventListenerList
+     * objects.
+     */
+    protected HashMap listeners = new HashMap();
+
+    /**
+     * DOMAttrModified listener for content elements.
+     */
+    protected ContentElementDOMAttrModifiedEventListener
+        contentElementDomAttrModifiedEventListener;
+
+    /**
+     * DOMAttrModified listener for bound element children.
+     */
+    protected DOMAttrModifiedEventListener domAttrModifiedEventListener;
+
+    /**
+     * DOMNodeInserted listener for bound element children.
+     */
+    protected DOMNodeInsertedEventListener domNodeInsertedEventListener;
+
+    /**
+     * DOMNodeRemoved listener for bound element children.
+     */
+    protected DOMNodeRemovedEventListener domNodeRemovedEventListener;
+
+    /**
+     * DOMSubtreeModified listener for shadow tree nodes.
+     */
+    protected DOMSubtreeModifiedEventListener domSubtreeModifiedEventListener;
+
+    /**
+     * DOMNodeInserted listener for content elements in the shadow tree.
+     */
+    protected ShadowTreeNodeInsertedListener shadowTreeNodeInsertedListener;
+
+    /**
+     * DOMNodeRemoved listener for content elements in the shadow tree.
+     */
+    protected ShadowTreeNodeRemovedListener shadowTreeNodeRemovedListener;
+
+    /**
+     * DOMSubtreeModified listener for content elements in the shadow tree.
+     */
+    protected ShadowTreeSubtreeModifiedListener
+        shadowTreeSubtreeModifiedListener;
+
+    /**
+     * Creates a new ContentManager object.
+     * @param s the shadow tree element whose content elements this object
+     *          will be managing
+     * @param xm the XBLManager for this document
+     */
+    public ContentManager(XBLOMShadowTreeElement s, XBLManager xm) {
+        shadowTree = s;
+        xblManager = (DefaultXBLManager) xm;
+
+        xblManager.setContentManager(s, this);
+        boundElement = xblManager.getXblBoundElement(s);
+
+        contentElementDomAttrModifiedEventListener =
+            new ContentElementDOMAttrModifiedEventListener();
+
+        XBLEventSupport es = (XBLEventSupport)
+            shadowTree.initializeEventSupport();
+        shadowTreeNodeInsertedListener = new ShadowTreeNodeInsertedListener();
+        shadowTreeNodeRemovedListener = new ShadowTreeNodeRemovedListener();
+        shadowTreeSubtreeModifiedListener
+            = new ShadowTreeSubtreeModifiedListener();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             shadowTreeNodeInsertedListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             shadowTreeNodeRemovedListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMSubtreeModified",
+             shadowTreeSubtreeModifiedListener, true);
+
+        es = (XBLEventSupport)
+            ((AbstractNode) boundElement).initializeEventSupport();
+        domAttrModifiedEventListener = new DOMAttrModifiedEventListener();
+        domNodeInsertedEventListener = new DOMNodeInsertedEventListener();
+        domNodeRemovedEventListener = new DOMNodeRemovedEventListener();
+        domSubtreeModifiedEventListener = new DOMSubtreeModifiedEventListener();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedEventListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedEventListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedEventListener, true);
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMSubtreeModified",
+             domSubtreeModifiedEventListener, false);
+
+        update(true);
+    }
+
+    /**
+     * Disposes this ContentManager.
+     */
+    public void dispose() {
+        xblManager.setContentManager(shadowTree, null);
+
+        Iterator i = selectedNodes.entrySet().iterator();
+        while (i.hasNext()) {
+            Map.Entry e = (Map.Entry) i.next();
+            NodeList nl = (NodeList) e.getValue();
+            for (int j = 0; j < nl.getLength(); j++) {
+                Node n = nl.item(j);
+                xblManager.getRecord(n).contentElement = null;
+            }
+        }
+
+        i = contentElementList.iterator();
+        while (i.hasNext()) {
+            NodeEventTarget n = (NodeEventTarget) i.next();
+            n.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 contentElementDomAttrModifiedEventListener, false);
+        }
+
+        contentElementList.clear();
+        selectedNodes.clear();
+
+        XBLEventSupport es
+            = (XBLEventSupport) ((AbstractNode) boundElement).getEventSupport();
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedEventListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedEventListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedEventListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMSubtreeModified",
+             domSubtreeModifiedEventListener, false);
+    }
+
+    /**
+     * Returns a NodeList of the content that was selected by the
+     * given content element.
+     */
+    public NodeList getSelectedContent(XBLOMContentElement e) {
+        return (NodeList) selectedNodes.get(e);
+    }
+
+    /**
+     * Returns the content element that selected a given node.
+     */
+    protected XBLOMContentElement getContentElement(Node n) {
+        return xblManager.getXblContentElement(n);
+    }
+
+    /**
+     * Adds the specified ContentSelectionChangedListener to the
+     * listener list.
+     */
+    public void addContentSelectionChangedListener
+            (XBLOMContentElement e, ContentSelectionChangedListener l) {
+        EventListenerList ll = (EventListenerList) listeners.get(e);
+        if (ll == null) {
+            ll = new EventListenerList();
+            listeners.put(e, ll);
+        }
+        ll.add(ContentSelectionChangedListener.class, l);
+    }
+
+    /**
+     * Removes the specified ContentSelectionChangedListener from the
+     * listener list.
+     */
+    public void removeContentSelectionChangedListener
+            (XBLOMContentElement e, ContentSelectionChangedListener l) {
+        EventListenerList ll = (EventListenerList) listeners.get(e);
+        if (ll != null) {
+            ll.remove(ContentSelectionChangedListener.class, l);
+        }
+    }
+
+    /**
+     * Dispatches the ContentSelectionChangedEvent to the registered
+     * listeners.
+     */
+    protected void dispatchContentSelectionChangedEvent(XBLOMContentElement e) {
+        xblManager.invalidateChildNodes(e.getXblParentNode());
+
+        ContentSelectionChangedEvent evt =
+            new ContentSelectionChangedEvent(e);
+
+        EventListenerList ll = (EventListenerList) listeners.get(e);
+        if (ll != null) {
+            Object[] ls = ll.getListenerList();
+            for (int i = ls.length - 2; i >= 0; i -= 2) {
+                ContentSelectionChangedListener l =
+                    (ContentSelectionChangedListener) ls[i + 1];
+                l.contentSelectionChanged(evt);
+            }
+        }
+
+        Object[] ls = xblManager.getContentSelectionChangedListeners();
+        for (int i = ls.length - 2; i >= 0; i -= 2) {
+            ContentSelectionChangedListener l =
+                (ContentSelectionChangedListener) ls[i + 1];
+            l.contentSelectionChanged(evt);
+        }
+    }
+
+    /**
+     * Updates all content elements.
+     * @param first Whether this is the first update for this ContentManager.
+     */
+    protected void update(boolean first) {
+        HashSet previouslySelectedNodes = new HashSet();
+        Iterator i = selectedNodes.entrySet().iterator();
+        while (i.hasNext()) {
+            Map.Entry e = (Map.Entry) i.next();
+            NodeList nl = (NodeList) e.getValue();
+            for (int j = 0; j < nl.getLength(); j++) {
+                Node n = nl.item(j);
+                xblManager.getRecord(n).contentElement = null;
+                previouslySelectedNodes.add(n);
+            }
+        }
+
+        i = contentElementList.iterator();
+        while (i.hasNext()) {
+            NodeEventTarget n = (NodeEventTarget) i.next();
+            n.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 contentElementDomAttrModifiedEventListener, false);
+        }
+
+        contentElementList.clear();
+        selectedNodes.clear();
+
+        boolean updated = false;
+        for (Node n = shadowTree.getFirstChild();
+                n != null;
+                n = n.getNextSibling()) {
+            if (update(first, n)) {
+                updated = true;
+            }
+        }
+
+        if (updated) {
+            HashSet newlySelectedNodes = new HashSet();
+            i = selectedNodes.entrySet().iterator();
+            while (i.hasNext()) {
+                Map.Entry e = (Map.Entry) i.next();
+                NodeList nl = (NodeList) e.getValue();
+                for (int j = 0; j < nl.getLength(); j++) {
+                    Node n = nl.item(j);
+                    newlySelectedNodes.add(n);
+                }
+            }
+
+            HashSet removed = new HashSet();
+            removed.addAll(previouslySelectedNodes);
+            removed.removeAll(newlySelectedNodes);
+
+            HashSet added = new HashSet();
+            added.addAll(newlySelectedNodes);
+            added.removeAll(previouslySelectedNodes);
+
+            if (!first) {
+                xblManager.shadowTreeSelectedContentChanged(removed, added);
+            }
+        }
+    }
+
+    protected boolean update(boolean first, Node n) {
+        boolean updated = false;
+        for (Node m = n.getFirstChild(); m != null; m = m.getNextSibling()) {
+            if (update(first, m)) {
+                updated = true;
+            }
+        }
+        if (n instanceof XBLOMContentElement) {
+            contentElementList.add(n);
+            XBLOMContentElement e = (XBLOMContentElement) n;
+            e.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 contentElementDomAttrModifiedEventListener, false, null);
+            AbstractContentSelector s =
+                (AbstractContentSelector) selectors.get(n);
+            boolean changed;
+            if (s == null) {
+                if (e.hasAttributeNS(null,
+                                     XBLConstants.XBL_INCLUDES_ATTRIBUTE)) {
+                    String lang = getContentSelectorLanguage(e);
+                    String selector = e.getAttributeNS
+                        (null, XBLConstants.XBL_INCLUDES_ATTRIBUTE);
+                    s = AbstractContentSelector.createSelector
+                        (lang, this, e, boundElement, selector);
+                } else {
+                    s = new DefaultContentSelector(this, e, boundElement);
+                }
+                selectors.put(n, s);
+                changed = true;
+            } else {
+                changed = s.update();
+            }
+            NodeList selectedContent = s.getSelectedContent();
+            selectedNodes.put(n, selectedContent);
+            for (int i = 0; i < selectedContent.getLength(); i++) {
+                Node m = selectedContent.item(i);
+                xblManager.getRecord(m).contentElement = e;
+            }
+            if (changed) {
+                updated = true;
+                dispatchContentSelectionChangedEvent(e);
+            }
+        }
+        return updated;
+    }
+
+    /**
+     * Returns the selector language to be used for the given
+     * xbl:content element.  This will look at the xbl:content
+     * element and the document element for an attribute
+     * batik:selectorLanguage.
+     */
+    protected String getContentSelectorLanguage(Element e) {
+        String lang = e.getAttributeNS("http://xml.apache.org/batik/ext",
+                                       "selectorLanguage");
+        if (lang.length() != 0) {
+            return lang;
+        }
+        lang = e.getOwnerDocument().getDocumentElement().getAttributeNS
+            ("http://xml.apache.org/batik/ext", "selectorLanguage");
+        if (lang.length() != 0) {
+            return lang;
+        }
+        return null;
+    }
+
+    /**
+     * The DOM EventListener invoked when an attribute is modified,
+     * for content elements.
+     */
+    protected class ContentElementDOMAttrModifiedEventListener
+            implements EventListener {
+        public void handleEvent(Event evt) {
+            MutationEvent me = (MutationEvent) evt;
+            Attr a = (Attr) me.getRelatedNode();
+            Element e = (Element) evt.getTarget();
+            if (e instanceof XBLOMContentElement) {
+                String ans = a.getNamespaceURI();
+                String aln = a.getLocalName();
+                if (aln == null) {
+                    aln = a.getNodeName();
+                }
+                if (ans == null && XBLConstants.XBL_INCLUDES_ATTRIBUTE.equals(aln)
+                        || "http://xml.apache.org/batik/ext".equals(ans)
+                            && "selectorLanguage".equals(aln)) {
+                    selectors.remove(e);
+                    update(false);
+                }
+            }
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when an attribute is modified.
+     */
+    protected class DOMAttrModifiedEventListener implements EventListener {
+        public void handleEvent(Event evt) {
+            if (evt.getTarget() != boundElement) {
+                update(false);
+            }
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when a node is added.
+     */
+    protected class DOMNodeInsertedEventListener implements EventListener {
+        public void handleEvent(Event evt) {
+            update(false);
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when a node is removed.
+     */
+    protected class DOMNodeRemovedEventListener implements EventListener {
+        public void handleEvent(Event evt) {
+            removedNode = (Node) evt.getTarget();
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when a subtree has changed.
+     */
+    protected class DOMSubtreeModifiedEventListener implements EventListener {
+        public void handleEvent(Event evt) {
+            if (removedNode != null) {
+                removedNode = null;
+                update(false);
+            }
+        }
+
+    }
+
+    /**
+     * The DOM EventListener invoked when a node in the shadow tree has been
+     * inserted.
+     */
+    protected class ShadowTreeNodeInsertedListener implements EventListener {
+        public void handleEvent(Event evt) {
+            if (evt.getTarget() instanceof XBLOMContentElement) {
+                update(false);
+            }
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when a node in the shadow tree has been
+     * removed.
+     */
+    protected class ShadowTreeNodeRemovedListener implements EventListener {
+        public void handleEvent(Event evt) {
+            EventTarget target = evt.getTarget();
+            if (target instanceof XBLOMContentElement) {
+                removedNode = (Node) evt.getTarget();
+            }
+        }
+    }
+
+    /**
+     * The DOM EventListener invoked when a subtree of the shadow tree
+     * has changed.
+     */
+    protected class ShadowTreeSubtreeModifiedListener implements EventListener {
+        public void handleEvent(Event evt) {
+            if (removedNode != null) {
+                removedNode = null;
+                update(false);
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedEvent.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedEvent.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedEvent.java
new file mode 100644
index 0000000..c3463bf
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedEvent.java
@@ -0,0 +1,48 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.EventObject;
+
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+
+/**
+ * An event to signify a change to the list of selected nodes for an
+ * xbl;content element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: ContentSelectionChangedEvent.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class ContentSelectionChangedEvent extends EventObject {
+
+    /**
+     * Creates a new ContentSelectionChangedEvent object.
+     * @param c the xbl:content element whose selection is changing
+     */
+    public ContentSelectionChangedEvent(XBLOMContentElement c) {
+        super(c);
+    }
+
+    /**
+     * Returns the xbl:content element where the event originated.
+     */
+    public XBLOMContentElement getContentElement() {
+        return (XBLOMContentElement) source;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedListener.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedListener.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedListener.java
new file mode 100644
index 0000000..25aadd9
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/ContentSelectionChangedListener.java
@@ -0,0 +1,38 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.EventListener;
+
+/**
+ * The interface for listening to changes in selected nodes on an
+ * xbl:content element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: ContentSelectionChangedListener.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public interface ContentSelectionChangedListener extends EventListener {
+
+    /**
+     * Invoked after an xbl:content element has updated its selected
+     * nodes list.
+     * @param csce the ContentSelectionChangedEvent object
+     */
+    void contentSelectionChanged(ContentSelectionChangedEvent csce);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultContentSelector.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultContentSelector.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultContentSelector.java
new file mode 100644
index 0000000..427bb82
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/DefaultContentSelector.java
@@ -0,0 +1,134 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.ArrayList;
+
+import org.apache.flex.forks.batik.dom.svg12.XBLOMContentElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A class to handle content selection when the includes attribute is not
+ * present.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: DefaultContentSelector.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class DefaultContentSelector extends AbstractContentSelector {
+
+    /**
+     * The selected nodes.
+     */
+    protected SelectedNodes selectedContent;
+
+    /**
+     * Creates a new XPathSubsetContentSelector object.
+     */
+    public DefaultContentSelector(ContentManager cm,
+                                  XBLOMContentElement content,
+                                  Element bound) {
+        super(cm, content, bound);
+    }
+
+    /**
+     * Returns a list of nodes that were matched by the given selector
+     * string.
+     */
+    public NodeList getSelectedContent() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+        }
+        return selectedContent;
+    }
+
+    /**
+     * Forces this selector to update its selected nodes list.
+     * Returns true if the selected node list needed updating.
+     * This assumes that the previous content elements in this
+     * shadow tree (in document order) have up-to-date selectedContent
+     * lists.
+     */
+    boolean update() {
+        if (selectedContent == null) {
+            selectedContent = new SelectedNodes();
+            return true;
+        }
+        return selectedContent.update();
+    }
+
+    /**
+     * Implementation of NodeList that contains the nodes that matched
+     * this selector.
+     */
+    protected class SelectedNodes implements NodeList {
+
+        /**
+         * The selected nodes.
+         */
+        protected ArrayList nodes = new ArrayList(10);
+
+        /**
+         * Creates a new SelectedNodes object.
+         */
+        public SelectedNodes() {
+            update();
+        }
+
+        protected boolean update() {
+            ArrayList oldNodes = (ArrayList) nodes.clone();
+            nodes.clear();
+            for (Node n = boundElement.getFirstChild(); n != null; n = n.getNextSibling()) {
+                if (isSelected(n)) {
+                    continue;
+                }
+                nodes.add(n);
+            }
+            int nodesSize = nodes.size();
+            if (oldNodes.size() != nodesSize) {
+                return true;
+            }
+            for (int i = 0; i < nodesSize; i++) {
+                if (oldNodes.get(i) != nodes.get(i)) {
+                    return true;
+                }
+            }
+            return false;
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#item(int)}.
+         */
+        public Node item(int index) {
+            if (index < 0 || index >= nodes.size()) {
+                return null;
+            }
+            return (Node) nodes.get(index);
+        }
+
+        /**
+         * <b>DOM</b>: Implements {@link org.w3c.dom.NodeList#getLength()}.
+         */
+        public int getLength() {
+            return nodes.size();
+        }
+    }
+}


[02/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGPaint.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGPaint.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGPaint.java
index 0bd1748..3f7bb2c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGPaint.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGPaint.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,16 +26,16 @@ import org.apache.flex.forks.batik.util.CSSConstants;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.css.CSSPrimitiveValue;
 import org.w3c.dom.css.CSSValue;
-import org.w3c.flex.forks.dom.svg.SVGPaint;
+import org.w3c.dom.svg.SVGPaint;
 
 /**
  * This class implements the {@link SVGPaint} interface.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMSVGPaint.java,v 1.6 2005/03/15 11:24:35 deweese Exp $
+ * @version $Id: CSSOMSVGPaint.java 476924 2006-11-19 21:13:26Z dvholten $
  */
 public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
-    
+
     /**
      * Creates a new CSSOMSVGPaint.
      */
@@ -54,7 +55,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGColor#getColorType()}.
+     * org.w3c.dom.svg.SVGColor#getColorType()}.
      */
     public short getColorType() {
         throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
@@ -62,7 +63,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGPaint#getPaintType()}.
+     * org.w3c.dom.svg.SVGPaint#getPaintType()}.
      */
     public short getPaintType() {
         Value value = valueProvider.getValue();
@@ -121,7 +122,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
     }
 
     /**
-     * <b>DOM</b>: Implements {@link org.w3c.flex.forks.dom.svg.SVGPaint#getUri()}.
+     * <b>DOM</b>: Implements {@link org.w3c.dom.svg.SVGPaint#getUri()}.
      */
     public String getUri() {
         switch (getPaintType()) {
@@ -138,37 +139,37 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
     }
 
     /**
-     * <b>DOM</b>: Implements {@link org.w3c.flex.forks.dom.svg.SVGPaint#setUri(String)}.
+     * <b>DOM</b>: Implements {@link org.w3c.dom.svg.SVGPaint#setUri(String)}.
      */
     public void setUri(String uri) {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             ((PaintModificationHandler)handler).uriChanged(uri);
-	}
+        }
     }
 
     /**
      * <b>DOM</b>: Implements {@link
-     * org.w3c.flex.forks.dom.svg.SVGPaint#setPaint(short,String,String,String)}.
+     * org.w3c.dom.svg.SVGPaint#setPaint(short,String,String,String)}.
      */
     public void setPaint(short paintType, String uri,
                          String rgbColor, String iccColor) {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             ((PaintModificationHandler)handler).paintChanged
                 (paintType, uri, rgbColor, iccColor);
-	}
+        }
     }
 
     /**
      * To manage the modifications on a SVGPaint value.
      */
     public interface PaintModificationHandler extends ModificationHandler {
-        
+
         /**
          * Called when the URI has been modified.
          */
@@ -196,11 +197,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
          */
         public void redTextChanged(String text) throws DOMException {
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     text + ", " +
                     getValue().getGreen().getCssText() + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                    getValue().getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -216,7 +217,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                     " rgb(" +
                     text + ", " +
                     getValue().item(1).getGreen().getCssText() + ", " +
-                    getValue().item(1).getBlue().getCssText() + ")";
+                    getValue().item(1).getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
@@ -242,11 +243,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
             throws DOMException {
             String text;
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     FloatValue.getCssText(unit, value) + ", " +
                     getValue().getGreen().getCssText() + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                    getValue().getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -262,7 +263,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                     " rgb(" +
                     FloatValue.getCssText(unit, value) + ", " +
                     getValue().item(1).getGreen().getCssText() + ", " +
-                    getValue().item(1).getBlue().getCssText() + ")";
+                    getValue().item(1).getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
@@ -286,11 +287,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
          */
         public void greenTextChanged(String text) throws DOMException {
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     getValue().getRed().getCssText() + ", " +
                     text + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                    getValue().getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -306,7 +307,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                     " rgb(" +
                     getValue().item(1).getRed().getCssText() + ", " +
                     text + ", " +
-                    getValue().item(1).getBlue().getCssText() + ")";
+                    getValue().item(1).getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
@@ -332,11 +333,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
             throws DOMException {
             String text;
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     getValue().getRed().getCssText() + ", " +
                     FloatValue.getCssText(unit, value) + ", " +
-                    getValue().getBlue().getCssText() + ")";
+                    getValue().getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -352,7 +353,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                     " rgb(" +
                     getValue().item(1).getRed().getCssText() + ", " +
                     FloatValue.getCssText(unit, value) + ", " +
-                    getValue().item(1).getBlue().getCssText() + ")";
+                    getValue().item(1).getBlue().getCssText() + ')';
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
@@ -376,11 +377,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
          */
         public void blueTextChanged(String text) throws DOMException {
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     getValue().getRed().getCssText() + ", " +
                     getValue().getGreen().getCssText() + ", " +
-                    text + ")";
+                    text + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -422,11 +423,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
             throws DOMException {
             String text;
             switch (getPaintType()) {
-            case SVG_PAINTTYPE_RGBCOLOR: 
+            case SVG_PAINTTYPE_RGBCOLOR:
                 text = "rgb(" +
                     getValue().getRed().getCssText() + ", " +
                     getValue().getGreen().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ")";
+                    FloatValue.getCssText(unit, value) + ')';
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
@@ -442,7 +443,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                     " rgb(" +
                     getValue().item(1).getRed().getCssText() + ", " +
                     getValue().item(1).getGreen().getCssText() + ", " +
-                    FloatValue.getCssText(unit, value) + ")";
+                    FloatValue.getCssText(unit, value) + ')';
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
@@ -460,7 +461,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
             }
             textChanged(text);
         }
-        
+
         /**
          * Called when the RGBColor text has changed.
          */
@@ -474,11 +475,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR:
-                text = getValue().item(0).getCssText() + " " + text;
+                text = getValue().item(0).getCssText() + ' ' + text;
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
-                text = getValue().item(0).getCssText() + " " + text + " " +
+                text = getValue().item(0).getCssText() + ' ' + text + ' ' +
                     getValue().item(2).getCssText();
                 break;
 
@@ -496,12 +497,12 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
             throws DOMException {
             switch (getPaintType()) {
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
-                textChanged(rgb + " " + icc);
+                textChanged(rgb + ' ' + icc);
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
-                textChanged(getValue().item(0).getCssText() + " " +
-                            rgb + " " + icc);
+                textChanged(getValue().item(0).getCssText() + ' ' +
+                            rgb + ' ' + icc);
                 break;
 
             default:
@@ -525,7 +526,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
-                textChanged(rgb + " " + icc);
+                textChanged(rgb + ' ' + icc);
                 break;
 
             default:
@@ -545,25 +546,25 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 sb.append(cp);
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 sb.append(cp);
                 iccc = (ICCColor)getValue().item(1);
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -584,18 +585,18 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 sb.append(" icc-color(");
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -616,22 +617,22 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 sb.append(" icc-color(");
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -653,37 +654,37 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
                 for (int i = idx; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
                 for (int i = idx; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -705,37 +706,37 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -757,33 +758,33 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < idx; i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
                 for (int i = idx + 1; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -805,29 +806,29 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 ICCColor iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
                 sb = new StringBuffer(getValue().item(0).getCssText());
-                sb.append(" ");
+                sb.append( ' ' );
                 sb.append(getValue().item(1).getCssText());
                 sb.append(" icc-color(");
                 iccc = (ICCColor)getValue().item(1);
                 sb.append(iccc.getColorProfile());
                 for (int i = 0; i < iccc.getLength(); i++) {
-                    sb.append(",");
+                    sb.append( ',' );
                     sb.append(iccc.getColor(i));
                 }
-                sb.append(",");
+                sb.append( ',' );
                 sb.append(f);
-                sb.append(")");
+                sb.append( ')' );
                 textChanged(sb.toString());
                 break;
 
@@ -863,11 +864,11 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 break;
 
             case SVG_PAINTTYPE_RGBCOLOR_ICCCOLOR:
-                textChanged(rgb + " " + icc);
+                textChanged(rgb + ' ' + icc);
                 break;
 
             case SVG_PAINTTYPE_URI:
-                textChanged("url(" + uri + ")");
+                textChanged("url(" + uri + ')' );
                 break;
 
             case SVG_PAINTTYPE_URI_NONE:
@@ -883,7 +884,7 @@ public class CSSOMSVGPaint extends CSSOMSVGColor implements SVGPaint {
                 break;
 
             case SVG_PAINTTYPE_URI_RGBCOLOR_ICCCOLOR:
-                textChanged("url(" + uri + ") " + rgb + " " + icc);
+                textChanged("url(" + uri + ") " + rgb + ' ' + icc);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGStyleDeclaration.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGStyleDeclaration.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGStyleDeclaration.java
index 566eaaa..ade5535 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGStyleDeclaration.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGStyleDeclaration.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.css.CSSValue;
  * This class represents a SVG style declaration.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMSVGStyleDeclaration.java,v 1.6 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMSVGStyleDeclaration.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class CSSOMSVGStyleDeclaration extends CSSOMStyleDeclaration {
     
@@ -171,5 +172,4 @@ public class CSSOMSVGStyleDeclaration extends CSSOMStyleDeclaration {
         }
 
     }
-    
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGViewCSS.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGViewCSS.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGViewCSS.java
index 22f95d1..78f684e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGViewCSS.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMSVGViewCSS.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -27,7 +28,7 @@ import org.w3c.dom.css.CSSStyleDeclaration;
  * of the elements of a SVG document.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMSVGViewCSS.java,v 1.4 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMSVGViewCSS.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class CSSOMSVGViewCSS extends CSSOMViewCSS {
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStoredStyleDeclaration.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStoredStyleDeclaration.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStoredStyleDeclaration.java
new file mode 100644
index 0000000..e97483f
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStoredStyleDeclaration.java
@@ -0,0 +1,115 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.css.dom;
+
+import org.apache.flex.forks.batik.css.engine.CSSEngine;
+import org.apache.flex.forks.batik.css.engine.StyleDeclaration;
+import org.apache.flex.forks.batik.css.engine.StyleDeclarationProvider;
+import org.apache.flex.forks.batik.css.engine.value.Value;
+
+/**
+ * A class for SVG style declarations that store their properties in a
+ * {@link org.apache.flex.forks.batik.css.engine.StyleDeclaration}.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: CSSOMStoredStyleDeclaration.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class CSSOMStoredStyleDeclaration
+    extends CSSOMSVGStyleDeclaration
+    implements CSSOMStyleDeclaration.ValueProvider,
+               CSSOMStyleDeclaration.ModificationHandler,
+               StyleDeclarationProvider {
+
+    /**
+     * The object storing the properties.
+     */
+    protected StyleDeclaration declaration;
+
+    /**
+     * Creates a new CSSOMStoredStyleDeclaration.
+     */
+    public CSSOMStoredStyleDeclaration(CSSEngine eng) {
+        super(null, null, eng);
+        valueProvider = this;
+        setModificationHandler(this);
+    }
+
+    /**
+     * Returns the object storing the properties of this style declaration.
+     */
+    public StyleDeclaration getStyleDeclaration() {
+        return declaration;
+    }
+
+    /**
+     * Sets the object storing the properties of this style declaration.
+     */
+    public void setStyleDeclaration(StyleDeclaration sd) {
+        declaration = sd;
+    }
+
+    // ValueProvider /////////////////////////////////////////////////////////
+
+    /**
+     * Returns the current value associated with this object.
+     */
+    public Value getValue(String name) {
+        int idx = cssEngine.getPropertyIndex(name);
+        for (int i = 0; i < declaration.size(); i++) {
+            if (idx == declaration.getIndex(i)) {
+                return declaration.getValue(i);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Tells whether the given property is important.
+     */
+    public boolean isImportant(String name) {
+        int idx = cssEngine.getPropertyIndex(name);
+        for (int i = 0; i < declaration.size(); i++) {
+            if (idx == declaration.getIndex(i)) {
+                return declaration.getPriority(i);
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Returns the text of the declaration.
+     */
+    public String getText() {
+        return declaration.toString(cssEngine);
+    }
+
+    /**
+     * Returns the length of the declaration.
+     */
+    public int getLength() {
+        return declaration.size();
+    }
+
+    /**
+     * Returns the value at the given.
+     */
+    public String item(int idx) {
+        return cssEngine.getPropertyName(declaration.getIndex(idx));
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStyleDeclaration.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStyleDeclaration.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStyleDeclaration.java
index 768e3d2..0cad0bf 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStyleDeclaration.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMStyleDeclaration.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.css.CSSValue;
  * This class represents a style declaration.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMStyleDeclaration.java,v 1.7 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMStyleDeclaration.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
 
@@ -82,13 +83,13 @@ public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
      * org.w3c.dom.css.CSSStyleDeclaration#setCssText(String)}.
      */
     public void setCssText(String cssText) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             values = null;
             handler.textChanged(cssText);
-	}
+        }
     }
 
     /**
@@ -148,7 +149,7 @@ public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
      * org.w3c.dom.css.CSSStyleDeclaration#setProperty(String,String,String)}.
      */
     public void setProperty(String propertyName, String value, String prio)
-	throws DOMException {
+        throws DOMException {
         if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
@@ -235,7 +236,6 @@ public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
          * Returns the value at the given.
          */
         String item(int idx);
-
     }
 
     /**
@@ -258,7 +258,6 @@ public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
          */
         void propertyChanged(String name, String value, String prio)
             throws DOMException;
-
     }
 
     /**
@@ -307,6 +306,5 @@ public class CSSOMStyleDeclaration implements CSSStyleDeclaration {
         public Value getValue() {
             return CSSOMStyleDeclaration.this.valueProvider.getValue(property);
         }
-
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMValue.java
index 772507d..f09d9d0 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMValue.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMValue.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -35,7 +36,7 @@ import org.w3c.dom.css.Rect;
  * {@link org.w3c.dom.css.CSSValueList} interfaces.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMValue.java,v 1.5 2004/08/18 07:12:47 vhardy Exp $
+ * @version $Id: CSSOMValue.java 504107 2007-02-06 12:32:18Z dvholten $
  */
 public class CSSOMValue
     implements CSSPrimitiveValue,
@@ -43,7 +44,7 @@ public class CSSOMValue
                Counter,
                Rect,
                RGBColor {
-    
+
     /**
      * The associated value.
      */
@@ -120,12 +121,12 @@ public class CSSOMValue
      * org.w3c.dom.css.CSSValue#setCssText(String)}.
      */
     public void setCssText(String cssText) throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             handler.textChanged(cssText);
-	}
+        }
     }
 
     /**
@@ -150,12 +151,12 @@ public class CSSOMValue
      */
     public void setFloatValue(short unitType, float floatValue)
         throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             handler.floatValueChanged(unitType, floatValue);
-	}
+        }
     }
 
     /**
@@ -170,42 +171,42 @@ public class CSSOMValue
      * Converts the actual float value to the given unit type.
      */
     public static float convertFloatValue(short unitType, Value value) {
-	switch (unitType) {
-	case CSSPrimitiveValue.CSS_NUMBER:
-	case CSSPrimitiveValue.CSS_PERCENTAGE:
-	case CSSPrimitiveValue.CSS_EMS:
-	case CSSPrimitiveValue.CSS_EXS:
-	case CSSPrimitiveValue.CSS_DIMENSION:
-	case CSSPrimitiveValue.CSS_PX:
-	    if (value.getPrimitiveType() == unitType) {
-		return value.getFloatValue();
-	    }
-	    break;
-	case CSSPrimitiveValue.CSS_CM:
-	    return toCentimeters(value);
-	case CSSPrimitiveValue.CSS_MM:
-	    return toMillimeters(value);
-	case CSSPrimitiveValue.CSS_IN:
-	    return toInches(value);
-	case CSSPrimitiveValue.CSS_PT:
-	    return toPoints(value);
-	case CSSPrimitiveValue.CSS_PC:
-	    return toPicas(value);
-	case CSSPrimitiveValue.CSS_DEG:
-	    return toDegrees(value);
-	case CSSPrimitiveValue.CSS_RAD:
-	    return toRadians(value);
-	case CSSPrimitiveValue.CSS_GRAD:
-	    return toGradians(value);
-	case CSSPrimitiveValue.CSS_MS:
-	    return toMilliseconds(value);
-	case CSSPrimitiveValue.CSS_S:
-	    return toSeconds(value);
-	case CSSPrimitiveValue.CSS_HZ:
-	    return toHertz(value);
-	case CSSPrimitiveValue.CSS_KHZ:
-	    return tokHertz(value);
-	}
+        switch (unitType) {
+        case CSSPrimitiveValue.CSS_NUMBER:
+        case CSSPrimitiveValue.CSS_PERCENTAGE:
+        case CSSPrimitiveValue.CSS_EMS:
+        case CSSPrimitiveValue.CSS_EXS:
+        case CSSPrimitiveValue.CSS_DIMENSION:
+        case CSSPrimitiveValue.CSS_PX:
+            if (value.getPrimitiveType() == unitType) {
+                return value.getFloatValue();
+            }
+            break;
+        case CSSPrimitiveValue.CSS_CM:
+            return toCentimeters(value);
+        case CSSPrimitiveValue.CSS_MM:
+            return toMillimeters(value);
+        case CSSPrimitiveValue.CSS_IN:
+            return toInches(value);
+        case CSSPrimitiveValue.CSS_PT:
+            return toPoints(value);
+        case CSSPrimitiveValue.CSS_PC:
+            return toPicas(value);
+        case CSSPrimitiveValue.CSS_DEG:
+            return toDegrees(value);
+        case CSSPrimitiveValue.CSS_RAD:
+            return toRadians(value);
+        case CSSPrimitiveValue.CSS_GRAD:
+            return toGradians(value);
+        case CSSPrimitiveValue.CSS_MS:
+            return toMilliseconds(value);
+        case CSSPrimitiveValue.CSS_S:
+            return toSeconds(value);
+        case CSSPrimitiveValue.CSS_HZ:
+            return toHertz(value);
+        case CSSPrimitiveValue.CSS_KHZ:
+            return tokHertz(value);
+        }
         throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
     }
 
@@ -213,204 +214,204 @@ public class CSSOMValue
      * Converts the current value into centimeters.
      */
     protected static float toCentimeters(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_CM:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_MM:
-	    return (value.getFloatValue() / 10);
-	case CSSPrimitiveValue.CSS_IN:
-	    return (value.getFloatValue() * 2.54f);
-	case CSSPrimitiveValue.CSS_PT:
-	    return (value.getFloatValue() * 2.54f / 72);
-	case CSSPrimitiveValue.CSS_PC:
-	    return (value.getFloatValue() * 2.54f / 6);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_CM:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_MM:
+            return (value.getFloatValue() / 10);
+        case CSSPrimitiveValue.CSS_IN:
+            return (value.getFloatValue() * 2.54f);
+        case CSSPrimitiveValue.CSS_PT:
+            return (value.getFloatValue() * 2.54f / 72);
+        case CSSPrimitiveValue.CSS_PC:
+            return (value.getFloatValue() * 2.54f / 6);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into inches.
      */
     protected static float toInches(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_CM:
-	    return (value.getFloatValue() / 2.54f);
-	case CSSPrimitiveValue.CSS_MM:
-	    return (value.getFloatValue() / 25.4f);
-	case CSSPrimitiveValue.CSS_IN:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_PT:
-	    return (value.getFloatValue() / 72);
-	case CSSPrimitiveValue.CSS_PC:
-	    return (value.getFloatValue() / 6);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_CM:
+            return (value.getFloatValue() / 2.54f);
+        case CSSPrimitiveValue.CSS_MM:
+            return (value.getFloatValue() / 25.4f);
+        case CSSPrimitiveValue.CSS_IN:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_PT:
+            return (value.getFloatValue() / 72);
+        case CSSPrimitiveValue.CSS_PC:
+            return (value.getFloatValue() / 6);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into millimeters.
      */
     protected static float toMillimeters(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_CM:
-	    return (value.getFloatValue() * 10);
-	case CSSPrimitiveValue.CSS_MM:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_IN:
-	    return (value.getFloatValue() * 25.4f);
-	case CSSPrimitiveValue.CSS_PT:
-	    return (value.getFloatValue() * 25.4f / 72);
-	case CSSPrimitiveValue.CSS_PC:
-	    return (value.getFloatValue() * 25.4f / 6);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_CM:
+            return (value.getFloatValue() * 10);
+        case CSSPrimitiveValue.CSS_MM:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_IN:
+            return (value.getFloatValue() * 25.4f);
+        case CSSPrimitiveValue.CSS_PT:
+            return (value.getFloatValue() * 25.4f / 72);
+        case CSSPrimitiveValue.CSS_PC:
+            return (value.getFloatValue() * 25.4f / 6);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into points.
      */
     protected static float toPoints(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_CM:
-	    return (value.getFloatValue() * 72 / 2.54f);
-	case CSSPrimitiveValue.CSS_MM:
-	    return (value.getFloatValue() * 72 / 25.4f);
-	case CSSPrimitiveValue.CSS_IN:
-	    return (value.getFloatValue() * 72);
-	case CSSPrimitiveValue.CSS_PT:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_PC:
-	    return (value.getFloatValue() * 12);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_CM:
+            return (value.getFloatValue() * 72 / 2.54f);
+        case CSSPrimitiveValue.CSS_MM:
+            return (value.getFloatValue() * 72 / 25.4f);
+        case CSSPrimitiveValue.CSS_IN:
+            return (value.getFloatValue() * 72);
+        case CSSPrimitiveValue.CSS_PT:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_PC:
+            return (value.getFloatValue() * 12);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into picas.
      */
     protected static float toPicas(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_CM:
-	    return (value.getFloatValue() * 6 / 2.54f);
-	case CSSPrimitiveValue.CSS_MM:
-	    return (value.getFloatValue() * 6 / 25.4f);
-	case CSSPrimitiveValue.CSS_IN:
-	    return (value.getFloatValue() * 6);
-	case CSSPrimitiveValue.CSS_PT:
-	    return (value.getFloatValue() / 12);
-	case CSSPrimitiveValue.CSS_PC:
-	    return value.getFloatValue();
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_CM:
+            return (value.getFloatValue() * 6 / 2.54f);
+        case CSSPrimitiveValue.CSS_MM:
+            return (value.getFloatValue() * 6 / 25.4f);
+        case CSSPrimitiveValue.CSS_IN:
+            return (value.getFloatValue() * 6);
+        case CSSPrimitiveValue.CSS_PT:
+            return (value.getFloatValue() / 12);
+        case CSSPrimitiveValue.CSS_PC:
+            return value.getFloatValue();
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into degrees.
      */
     protected static float toDegrees(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_DEG:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_RAD:
-	    return (float)(value.getFloatValue() * 180 / Math.PI);
-	case CSSPrimitiveValue.CSS_GRAD:
-	    return (value.getFloatValue() * 9 / 5);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_DEG:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_RAD:
+            return (float) Math.toDegrees( value.getFloatValue() );
+        case CSSPrimitiveValue.CSS_GRAD:
+            return (value.getFloatValue() * 9 / 5);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into radians.
      */
     protected static float toRadians(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_DEG:
-	    return (value.getFloatValue() * 5 / 9);
-	case CSSPrimitiveValue.CSS_RAD:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_GRAD:
-	    return (float)(value.getFloatValue() * 100 / Math.PI);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_DEG:
+            return (value.getFloatValue() * 5 / 9);      // todo ??
+        case CSSPrimitiveValue.CSS_RAD:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_GRAD:
+            return (float)(value.getFloatValue() * 100 / Math.PI);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into gradians.
      */
     protected static float toGradians(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_DEG:
-	    return (float)(value.getFloatValue() * Math.PI / 180);
-	case CSSPrimitiveValue.CSS_RAD:
-	    return (float)(value.getFloatValue() * Math.PI / 100);
-	case CSSPrimitiveValue.CSS_GRAD:
-	    return value.getFloatValue();
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_DEG:
+            return (float)(value.getFloatValue() * Math.PI / 180);   // todo ????
+        case CSSPrimitiveValue.CSS_RAD:
+            return (float)(value.getFloatValue() * Math.PI / 100);
+        case CSSPrimitiveValue.CSS_GRAD:
+            return value.getFloatValue();
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into milliseconds.
      */
     protected static float toMilliseconds(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_MS:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_S:
-	    return (value.getFloatValue() * 1000);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_MS:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_S:
+            return (value.getFloatValue() * 1000);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
-	
+
     /**
      * Converts the current value into seconds.
      */
     protected static float toSeconds(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_MS:
-	    return (value.getFloatValue() / 1000);
-	case CSSPrimitiveValue.CSS_S:
-	    return value.getFloatValue();
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_MS:
+            return (value.getFloatValue() / 1000);
+        case CSSPrimitiveValue.CSS_S:
+            return value.getFloatValue();
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
-	
+
     /**
      * Converts the current value into Hertz.
      */
     protected static float toHertz(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_HZ:
-	    return value.getFloatValue();
-	case CSSPrimitiveValue.CSS_KHZ:
-	    return (value.getFloatValue() / 1000);
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_HZ:
+            return value.getFloatValue();
+        case CSSPrimitiveValue.CSS_KHZ:
+            return (value.getFloatValue() / 1000);
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
     /**
      * Converts the current value into kHertz.
      */
     protected static float tokHertz(Value value) {
-	switch (value.getPrimitiveType()) {
-	case CSSPrimitiveValue.CSS_HZ:
-	    return (value.getFloatValue() * 1000);
-	case CSSPrimitiveValue.CSS_KHZ:
-	    return value.getFloatValue();
-	default:
+        switch (value.getPrimitiveType()) {
+        case CSSPrimitiveValue.CSS_HZ:
+            return (value.getFloatValue() * 1000);
+        case CSSPrimitiveValue.CSS_KHZ:
+            return value.getFloatValue();
+        default:
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
-	}
+        }
     }
 
    /**
@@ -419,12 +420,12 @@ public class CSSOMValue
      */
     public void setStringValue(short stringType, String stringValue)
         throws DOMException {
-	if (handler == null) {
+        if (handler == null) {
             throw new DOMException
                 (DOMException.NO_MODIFICATION_ALLOWED_ERR, "");
-	} else {
+        } else {
             handler.stringValueChanged(stringType, stringValue);
-	}
+        }
     }
 
     /**
@@ -480,9 +481,7 @@ public class CSSOMValue
             items = new CSSValue[valueProvider.getValue().getLength()];
         } else if (items.length < len) {
             CSSValue[] nitems = new CSSValue[len];
-            for (int i = 0; i < items.length; i++) {
-                nitems[i] = items[i];
-            }
+            System.arraycopy( items, 0, nitems, 0, items.length );
             items = nitems;
         }
         CSSValue result = items[index];
@@ -531,7 +530,7 @@ public class CSSOMValue
     /**
      * <b>DOM</b>: Implements {@link org.w3c.dom.css.Rect#getRight()}.
      */
-    public CSSPrimitiveValue getRight() { 
+    public CSSPrimitiveValue getRight() {
         valueProvider.getValue().getRight();
         if (rightComponent == null) {
             rightComponent = new RightComponent();
@@ -755,11 +754,12 @@ public class CSSOMValue
          * Called when the left value text has changed.
          */
         public void leftTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
-                getValue().getRight().getCssText() + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                text + ")";
+                val.getTop().getCssText() + ", " +
+                val.getRight().getCssText() + ", " +
+                val.getBottom().getCssText() + ", " +
+                text + ')';
             textChanged(text);
         }
 
@@ -768,11 +768,12 @@ public class CSSOMValue
          */
         public void leftFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
-                getValue().getRight().getCssText() + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                FloatValue.getCssText(unit, value) + ")";
+                val.getTop().getCssText() + ", " +
+                val.getRight().getCssText() + ", " +
+                val.getBottom().getCssText() + ", " +
+                FloatValue.getCssText(unit, value) + ')';
             textChanged(text);
         }
 
@@ -780,11 +781,12 @@ public class CSSOMValue
          * Called when the top value text has changed.
          */
         public void topTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rect(" +
                 text + ", " +
-                getValue().getRight().getCssText() + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getRight().getCssText() + ", " +
+                val.getBottom().getCssText() + ", " +
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -793,11 +795,12 @@ public class CSSOMValue
          */
         public void topFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rect(" +
                 FloatValue.getCssText(unit, value) + ", " +
-                getValue().getRight().getCssText() + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getRight().getCssText() + ", " +
+                val.getBottom().getCssText() + ", " +
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -805,11 +808,12 @@ public class CSSOMValue
          * Called when the right value text has changed.
          */
         public void rightTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
+                val.getTop().getCssText() + ", " +
                 text + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getBottom().getCssText() + ", " +
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -818,11 +822,12 @@ public class CSSOMValue
          */
         public void rightFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
+                val.getTop().getCssText() + ", " +
                 FloatValue.getCssText(unit, value) + ", " +
-                getValue().getBottom().getCssText() + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getBottom().getCssText() + ", " +
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -830,11 +835,12 @@ public class CSSOMValue
          * Called when the bottom value text has changed.
          */
         public void bottomTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
-                getValue().getRight().getCssText() + ", " +
+                val.getTop().getCssText() + ", " +
+                val.getRight().getCssText() + ", " +
                 text + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -843,11 +849,12 @@ public class CSSOMValue
          */
         public void bottomFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rect(" +
-                getValue().getTop().getCssText() + ", " +
-                getValue().getRight().getCssText() + ", " +
+                val.getTop().getCssText() + ", " +
+                val.getRight().getCssText() + ", " +
                 FloatValue.getCssText(unit, value) + ", " +
-                getValue().getLeft().getCssText() + ")";
+                val.getLeft().getCssText() + ')';
             textChanged(text);
         }
 
@@ -855,10 +862,11 @@ public class CSSOMValue
          * Called when the red value text has changed.
          */
         public void redTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rgb(" +
                 text + ", " +
-                getValue().getGreen().getCssText() + ", " +
-                getValue().getBlue().getCssText() + ")";
+                val.getGreen().getCssText() + ", " +
+                val.getBlue().getCssText() + ')';
             textChanged(text);
         }
 
@@ -867,10 +875,11 @@ public class CSSOMValue
          */
         public void redFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rgb(" +
                 FloatValue.getCssText(unit, value) + ", " +
-                getValue().getGreen().getCssText() + ", " +
-                getValue().getBlue().getCssText() + ")";
+                val.getGreen().getCssText() + ", " +
+                val.getBlue().getCssText() + ')';
             textChanged(text);
         }
 
@@ -878,10 +887,11 @@ public class CSSOMValue
          * Called when the green value text has changed.
          */
         public void greenTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rgb(" +
-                getValue().getRed().getCssText() + ", " +
+                val.getRed().getCssText() + ", " +
                 text + ", " +
-                getValue().getBlue().getCssText() + ")";
+                val.getBlue().getCssText() + ')';
             textChanged(text);
         }
 
@@ -890,10 +900,11 @@ public class CSSOMValue
          */
         public void greenFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rgb(" +
-                getValue().getRed().getCssText() + ", " +
+                val.getRed().getCssText() + ", " +
                 FloatValue.getCssText(unit, value) + ", " +
-                getValue().getBlue().getCssText() + ")";
+                val.getBlue().getCssText() + ')';
             textChanged(text);
         }
 
@@ -901,10 +912,11 @@ public class CSSOMValue
          * Called when the blue value text has changed.
          */
         public void blueTextChanged(String text) throws DOMException {
+            final Value val = getValue();
             text = "rgb(" +
-                getValue().getRed().getCssText() + ", " +
-                getValue().getGreen().getCssText() + ", " +
-                text + ")";
+                val.getRed().getCssText() + ", " +
+                val.getGreen().getCssText() + ", " +
+                text + ')';
             textChanged(text);
         }
 
@@ -913,10 +925,11 @@ public class CSSOMValue
          */
         public void blueFloatValueChanged(short unit, float value)
             throws DOMException {
+            final Value val = getValue();
             String text = "rgb(" +
-                getValue().getRed().getCssText() + ", " +
-                getValue().getGreen().getCssText() + ", " +
-                FloatValue.getCssText(unit, value) + ")";
+                val.getRed().getCssText() + ", " +
+                val.getGreen().getCssText() + ", " +
+                FloatValue.getCssText(unit, value) + ')';
             textChanged(text);
         }
 
@@ -925,13 +938,13 @@ public class CSSOMValue
          */
         public void listTextChanged(int idx, String text) throws DOMException {
             ListValue lv = (ListValue)getValue();
-            StringBuffer sb = new StringBuffer();
+            int len = lv.getLength();
+            StringBuffer sb = new StringBuffer( len * 8 );
             for (int i = 0; i < idx; i++) {
                 sb.append(lv.item(i).getCssText());
                 sb.append(lv.getSeparatorChar());
             }
             sb.append(text);
-            int len = lv.getLength();
             for (int i = idx + 1; i < len; i++) {
                 sb.append(lv.getSeparatorChar());
                 sb.append(lv.item(i).getCssText());
@@ -946,13 +959,13 @@ public class CSSOMValue
         public void listFloatValueChanged(int idx, short unit, float value)
             throws DOMException {
             ListValue lv = (ListValue)getValue();
-            StringBuffer sb = new StringBuffer();
+            int len = lv.getLength();
+            StringBuffer sb = new StringBuffer( len * 8 );
             for (int i = 0; i < idx; i++) {
                 sb.append(lv.item(i).getCssText());
                 sb.append(lv.getSeparatorChar());
             }
             sb.append(FloatValue.getCssText(unit, value));
-            int len = lv.getLength();
             for (int i = idx + 1; i < len; i++) {
                 sb.append(lv.getSeparatorChar());
                 sb.append(lv.item(i).getCssText());
@@ -966,13 +979,13 @@ public class CSSOMValue
         public void listStringValueChanged(int idx, short unit, String value)
             throws DOMException {
             ListValue lv = (ListValue)getValue();
-            StringBuffer sb = new StringBuffer();
+            int len = lv.getLength();
+            StringBuffer sb = new StringBuffer( len * 8 );
             for (int i = 0; i < idx; i++) {
                 sb.append(lv.item(i).getCssText());
                 sb.append(lv.getSeparatorChar());
             }
             sb.append(StringValue.getCssText(unit, value));
-            int len = lv.getLength();
             for (int i = idx + 1; i < len; i++) {
                 sb.append(lv.getSeparatorChar());
                 sb.append(lv.item(i).getCssText());
@@ -1030,7 +1043,7 @@ public class CSSOMValue
         public String getStringValue() throws DOMException {
             return valueProvider.getValue().getStringValue();
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSPrimitiveValue#getCounterValue()}.
@@ -1038,7 +1051,7 @@ public class CSSOMValue
         public Counter getCounterValue() throws DOMException {
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSPrimitiveValue#getRectValue()}.
@@ -1064,7 +1077,7 @@ public class CSSOMValue
         public int getLength() {
             throw new DOMException(DOMException.INVALID_ACCESS_ERR, "");
         }
-        
+
         /**
          * <b>DOM</b>: Implements {@link
          * org.w3c.dom.css.CSSValueList#item(int)}.
@@ -1093,7 +1106,7 @@ public class CSSOMValue
      * To represents a left component.
      */
     protected class LeftComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1136,7 +1149,7 @@ public class CSSOMValue
      * To represents a top component.
      */
     protected class TopComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1179,7 +1192,7 @@ public class CSSOMValue
      * To represents a right component.
      */
     protected class RightComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1223,7 +1236,7 @@ public class CSSOMValue
      * To represents a bottom component.
      */
     protected class BottomComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1267,7 +1280,7 @@ public class CSSOMValue
      * To represents a red component.
      */
     protected class RedComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1311,7 +1324,7 @@ public class CSSOMValue
      * To represents a green component.
      */
     protected class GreenComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1354,7 +1367,7 @@ public class CSSOMValue
      * To represents a blue component.
      */
     protected class BlueComponent extends FloatComponent {
-        
+
         /**
          * The returns the actual value of this component.
          */
@@ -1397,7 +1410,7 @@ public class CSSOMValue
      * To represents a List component.
      */
     protected class ListComponent extends AbstractComponent {
-        
+
         /**
          * The index of this component.
          */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMViewCSS.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMViewCSS.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMViewCSS.java
index a0ad842..d33aa1d 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMViewCSS.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/dom/CSSOMViewCSS.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 1999-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -30,7 +31,7 @@ import org.w3c.dom.views.DocumentView;
  * of the elements of a document.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSOMViewCSS.java,v 1.4 2004/10/30 18:38:04 deweese Exp $
+ * @version $Id: CSSOMViewCSS.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class CSSOMViewCSS implements ViewCSS {
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSContext.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSContext.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSContext.java
index f27624c..4460bfc 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSContext.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/css/engine/CSSContext.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,10 +27,10 @@ import org.w3c.dom.Element;
  * informations.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: CSSContext.java,v 1.11 2005/03/27 08:58:31 cam Exp $
+ * @version $Id: CSSContext.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public interface CSSContext {
-    
+
     /**
      * Returns the Value corresponding to the given system color.
      */
@@ -82,30 +83,30 @@ public interface CSSContext {
     /**
      * This method should throw a SecurityException if the resource
      * found at url and referenced from docURL should not be loaded.
-     * 
+     *
      * @param resourceURL url for the resource, as defined in
      *        the resource's xlink:href attribute. If that
      *        attribute was empty, then this parameter should
      *        be null
-     * @param docURL url for the document into which the 
+     * @param docURL url for the document into which the
      *        resource was found.
      */
-    public void 
+    void
         checkLoadExternalResource(ParsedURL resourceURL,
                                   ParsedURL docURL) throws SecurityException;
 
     /**
      * Returns true if the document is dynamic, false otherwise.
      */
-    public boolean isDynamic();
+    boolean isDynamic();
 
     /**
      * Returns true if the document is interactive, false otherwise.
      */
-    public boolean isInteractive();
+    boolean isInteractive();
 
     /**
      * Returns the CSS engine associated with given element.
      */
-    public CSSEngine getCSSEngineForElement(Element e);
+    CSSEngine getCSSEngineForElement(Element e);
 }


[26/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePaintValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePaintValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePaintValue.java
new file mode 100644
index 0000000..5ae846d
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePaintValue.java
@@ -0,0 +1,283 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An SVG paint value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatablePaintValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatablePaintValue extends AnimatableColorValue {
+
+    // Constants for paintType.
+    public static final int PAINT_NONE              = 0;
+    public static final int PAINT_CURRENT_COLOR     = 1;
+    public static final int PAINT_COLOR             = 2;
+    public static final int PAINT_URI               = 3;
+    public static final int PAINT_URI_NONE          = 4;
+    public static final int PAINT_URI_CURRENT_COLOR = 5;
+    public static final int PAINT_URI_COLOR         = 6;
+    public static final int PAINT_INHERIT           = 7;
+
+    /**
+     * The type of paint.
+     */
+    protected int paintType;
+
+    /**
+     * The URI of the referenced paint server.
+     */
+    protected String uri;
+
+    /**
+     * Creates a new, uninitialized AnimatablePaintValue.
+     */
+    protected AnimatablePaintValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue.
+     */
+    protected AnimatablePaintValue(AnimationTarget target, float r, float g,
+                                   float b) {
+        super(target, r, g, b);
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a 'none' value.
+     */
+    public static AnimatablePaintValue createNonePaintValue
+            (AnimationTarget target) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.paintType = PAINT_NONE;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a 'currentColor' value.
+     */
+    public static AnimatablePaintValue createCurrentColorPaintValue
+            (AnimationTarget target) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.paintType = PAINT_CURRENT_COLOR;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a color value.
+     */
+    public static AnimatablePaintValue createColorPaintValue
+            (AnimationTarget target, float r, float g, float b) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target, r, g, b);
+        v.paintType = PAINT_COLOR;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a URI reference.
+     */
+    public static AnimatablePaintValue createURIPaintValue
+            (AnimationTarget target, String uri) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.uri = uri;
+        v.paintType = PAINT_URI;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a URI reference with a
+     * 'none' fallback.
+     */
+    public static AnimatablePaintValue createURINonePaintValue
+            (AnimationTarget target, String uri) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.uri = uri;
+        v.paintType = PAINT_URI_NONE;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a URI reference with a
+     * 'currentColor' fallback.
+     */
+    public static AnimatablePaintValue createURICurrentColorPaintValue
+            (AnimationTarget target, String uri) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.uri = uri;
+        v.paintType = PAINT_URI_CURRENT_COLOR;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a URI reference with a
+     * color fallback.
+     */
+    public static AnimatablePaintValue createURIColorPaintValue
+            (AnimationTarget target, String uri, float r, float g, float b) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target, r, g, b);
+        v.uri = uri;
+        v.paintType = PAINT_URI_COLOR;
+        return v;
+    }
+
+    /**
+     * Creates a new AnimatablePaintValue for a 'inherit' value.
+     */
+    public static AnimatablePaintValue createInheritPaintValue
+            (AnimationTarget target) {
+        AnimatablePaintValue v = new AnimatablePaintValue(target);
+        v.paintType = PAINT_INHERIT;
+        return v;
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatablePaintValue res;
+        if (result == null) {
+            res = new AnimatablePaintValue(target);
+        } else {
+            res = (AnimatablePaintValue) result;
+        }
+
+        if (paintType == PAINT_COLOR) {
+            boolean canInterpolate = true;
+            if (to != null) {
+                AnimatablePaintValue toPaint = (AnimatablePaintValue) to;
+                canInterpolate = toPaint.paintType == PAINT_COLOR;
+            }
+            if (accumulation != null) {
+                AnimatablePaintValue accPaint =
+                    (AnimatablePaintValue) accumulation;
+                canInterpolate =
+                    canInterpolate && accPaint.paintType == PAINT_COLOR;
+            }
+            if (canInterpolate) {
+                res.paintType = PAINT_COLOR;
+                return super.interpolate
+                    (res, to, interpolation, accumulation, multiplier);
+            }
+        }
+
+        int newPaintType;
+        String newURI;
+        float newRed, newGreen, newBlue;
+
+        if (to != null && interpolation >= 0.5) {
+            AnimatablePaintValue toValue = (AnimatablePaintValue) to;
+            newPaintType = toValue.paintType;
+            newURI = toValue.uri;
+            newRed = toValue.red;
+            newGreen = toValue.green;
+            newBlue = toValue.blue;
+        } else {
+            newPaintType = paintType;
+            newURI = uri;
+            newRed = red;
+            newGreen = green;
+            newBlue = blue;
+        }
+
+        if (res.paintType != newPaintType
+                || res.uri == null
+                || !res.uri.equals(newURI)
+                || res.red != newRed
+                || res.green != newGreen
+                || res.blue != newBlue) {
+            res.paintType = newPaintType;
+            res.uri = newURI;
+            res.red = newRed;
+            res.green = newGreen;
+            res.blue = newBlue;
+            res.hasChanged = true;
+        }
+
+        return res;
+    }
+
+    /**
+     * Returns the type of paint this value represents.
+     */
+    public int getPaintType() {
+        return paintType;
+    }
+
+    /**
+     * Returns the paint server URI.
+     */
+    public String getURI() {
+        return uri;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return AnimatablePaintValue.createColorPaintValue(target, 0f, 0f, 0f);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        switch (paintType) {
+            case PAINT_NONE:
+                return "none";
+            case PAINT_CURRENT_COLOR:
+                return "currentColor";
+            case PAINT_COLOR:
+                return super.getCssText();
+            case PAINT_URI:
+                return "url(" + uri + ")";
+            case PAINT_URI_NONE:
+                return "url(" + uri + ") none";
+            case PAINT_URI_CURRENT_COLOR:
+                return "url(" + uri + ") currentColor";
+            case PAINT_URI_COLOR:
+                return "url(" + uri + ") " + super.getCssText();
+            default: // PAINT_INHERIT
+                return "inherit";
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePathDataValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePathDataValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePathDataValue.java
new file mode 100644
index 0000000..5bff18c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePathDataValue.java
@@ -0,0 +1,198 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import java.util.Arrays;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An SVG path value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatablePathDataValue.java 479349 2006-11-26 11:54:23Z cam $
+ */
+public class AnimatablePathDataValue extends AnimatableValue {
+
+    /**
+     * The path commands.  These must be one of the PATHSEG_*
+     * constants defined in {@link org.w3c.dom.svg.SVGPathSeg}.
+     */
+    protected short[] commands;
+
+    /**
+     * The path parameters.  Also includes the booleans.
+     */
+    protected float[] parameters;
+
+    /**
+     * Creates a new, uninitialized AnimatablePathDataValue.
+     */
+    protected AnimatablePathDataValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatablePathDataValue.
+     */
+    public AnimatablePathDataValue(AnimationTarget target, short[] commands,
+                                   float[] parameters) {
+        super(target);
+        this.commands = commands;
+        this.parameters = parameters;
+    }
+    
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatablePathDataValue toValue = (AnimatablePathDataValue) to;
+        AnimatablePathDataValue accValue =
+            (AnimatablePathDataValue) accumulation;
+
+        boolean hasTo = to != null;
+        boolean hasAcc = accumulation != null;
+        boolean canInterpolate = hasTo
+            && toValue.parameters.length == parameters.length
+            && Arrays.equals(toValue.commands, commands);
+        boolean canAccumulate = hasAcc
+            && accValue.parameters.length == parameters.length
+            && Arrays.equals(accValue.commands, commands);
+
+        AnimatablePathDataValue base;
+        if (!canInterpolate && hasTo && interpolation >= 0.5) {
+            base = toValue;
+        } else {
+            base = this;
+        }
+        int cmdCount = base.commands.length;
+        int paramCount = base.parameters.length;
+
+        AnimatablePathDataValue res;
+        if (result == null) {
+            res = new AnimatablePathDataValue(target);
+            res.commands = new short[cmdCount];
+            res.parameters = new float[paramCount];
+            System.arraycopy(base.commands, 0, res.commands, 0, cmdCount);
+        } else {
+            res = (AnimatablePathDataValue) result;
+            if (res.commands == null || res.commands.length != cmdCount) {
+                res.commands = new short[cmdCount];
+                System.arraycopy(base.commands, 0, res.commands, 0, cmdCount);
+                res.hasChanged = true;
+            } else {
+                if (!Arrays.equals(base.commands, res.commands)) {
+                    System.arraycopy(base.commands, 0, res.commands, 0,
+                                     cmdCount);
+                    res.hasChanged = true;
+                }
+            }
+        }
+
+        for (int i = 0; i < paramCount; i++) {
+            float newValue = base.parameters[i];
+            if (canInterpolate) {
+                newValue += interpolation * (toValue.parameters[i] - newValue);
+            }
+            if (canAccumulate) {
+                newValue += multiplier * accValue.parameters[i];
+            }
+            if (res.parameters[i] != newValue) {
+                res.parameters[i] = newValue;
+                res.hasChanged = true;
+            }
+        }
+
+        return res;
+    }
+
+    /**
+     * Returns the array of path data commands.
+     */
+    public short[] getCommands() {
+        return commands;
+    }
+
+    /**
+     * Returns the array of path data parameters.
+     */
+    public float[] getParameters() {
+        return parameters;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        short[] cmds = new short[commands.length];
+        System.arraycopy(commands, 0, cmds, 0, commands.length);
+        float[] params = new float[parameters.length];
+        return new AnimatablePathDataValue(target, cmds, params);
+    }
+
+    /**
+     * The path data commands.
+     */
+    protected static final char[] PATH_COMMANDS = {
+        ' ', 'z', 'M', 'm', 'L', 'l', 'C', 'c', 'Q', 'q', 'A', 'a', 'H', 'h',
+        'V', 'v', 'S', 's', 'T', 't'
+    };
+
+    /**
+     * The number of parameters for each path command.
+     */
+    protected static final int[] PATH_PARAMS = {
+        0, 0, 2, 2, 2, 2, 6, 6, 4, 4, 7, 7, 1, 1, 1, 1, 4, 4, 2, 2
+    };
+
+    /**
+     * Returns a string representation of this object.
+     */
+    public String toStringRep() {
+        StringBuffer sb = new StringBuffer();
+        int k = 0;
+        for (int i = 0; i < commands.length; i++) {
+            sb.append(PATH_COMMANDS[commands[i]]);
+            for (int j = 0; j < PATH_PARAMS[commands[i]]; j++) {
+                sb.append(' ');
+                sb.append(parameters[k++]);
+            }
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePercentageValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePercentageValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePercentageValue.java
new file mode 100644
index 0000000..4974eb5
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePercentageValue.java
@@ -0,0 +1,73 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A percentage value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatablePercentageValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatablePercentageValue extends AnimatableNumberValue {
+
+    /**
+     * Creates a new, uninitialized AnimatablePercentageValue.
+     */
+    protected AnimatablePercentageValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatablePercentageValue.
+     */
+    public AnimatablePercentageValue(AnimationTarget target, float v) {
+        super(target, v);
+    }
+    
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        if (result == null) {
+            result = new AnimatablePercentageValue(target);
+        }
+        return super.interpolate
+            (result, to, interpolation, accumulation, multiplier);
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatablePercentageValue(target, 0);
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return super.getCssText() + "%";
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePointListValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePointListValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePointListValue.java
new file mode 100644
index 0000000..14ed88d
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePointListValue.java
@@ -0,0 +1,83 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An SVG point list value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatablePointListValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatablePointListValue extends AnimatableNumberListValue {
+
+    /**
+     * Creates a new, uninitialized AnimatablePointListValue.
+     */
+    protected AnimatablePointListValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatablePointListValue.
+     */
+    public AnimatablePointListValue(AnimationTarget target, float[] numbers) {
+        super(target, numbers);
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        if (result == null) {
+            result = new AnimatablePointListValue(target);
+        }
+        return super.interpolate
+            (result, to, interpolation, accumulation, multiplier);
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        float[] ns = new float[numbers.length];
+        return new AnimatablePointListValue(target, ns);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePreserveAspectRatioValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePreserveAspectRatioValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePreserveAspectRatioValue.java
new file mode 100644
index 0000000..699f956
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatablePreserveAspectRatioValue.java
@@ -0,0 +1,176 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.util.SVGConstants;
+
+import org.w3c.dom.svg.SVGPreserveAspectRatio;
+
+/**
+ * An SVG preserveAspectRatio value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatablePreserveAspectRatioValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatablePreserveAspectRatioValue extends AnimatableValue {
+    
+    /**
+     * Strings for the 'align' values.
+     */
+    protected static final String[] ALIGN_VALUES = {
+        null,
+        SVGConstants.SVG_NONE_VALUE,
+        SVGConstants.SVG_XMINYMIN_VALUE,
+        SVGConstants.SVG_XMIDYMIN_VALUE,
+        SVGConstants.SVG_XMAXYMIN_VALUE,
+        SVGConstants.SVG_XMINYMID_VALUE,
+        SVGConstants.SVG_XMIDYMID_VALUE,
+        SVGConstants.SVG_XMAXYMID_VALUE,
+        SVGConstants.SVG_XMINYMAX_VALUE,
+        SVGConstants.SVG_XMIDYMAX_VALUE,
+        SVGConstants.SVG_XMAXYMAX_VALUE
+    };
+
+    /**
+     * Strings for the 'meet-or-slice' values.
+     */
+    protected static final String[] MEET_OR_SLICE_VALUES = {
+        null,
+        SVGConstants.SVG_MEET_VALUE,
+        SVGConstants.SVG_SLICE_VALUE
+    };
+
+    /**
+     * The align value.
+     */
+    protected short align;
+
+    /**
+     * The meet-or-slice value.
+     */
+    protected short meetOrSlice;
+
+    /**
+     * Creates a new, uninitialized AnimatablePreserveAspectRatioValue.
+     */
+    protected AnimatablePreserveAspectRatioValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatablePreserveAspectRatioValue.
+     */
+    public AnimatablePreserveAspectRatioValue(AnimationTarget target,
+                                              short align, short meetOrSlice) {
+        super(target);
+        this.align = align;
+        this.meetOrSlice = meetOrSlice;
+    }
+    
+    /**
+     * Performs interpolation to the given value.  Preserve aspect ratio values
+     * cannot be interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatablePreserveAspectRatioValue res;
+        if (result == null) {
+            res = new AnimatablePreserveAspectRatioValue(target);
+        } else {
+            res = (AnimatablePreserveAspectRatioValue) result;
+        }
+
+        short newAlign, newMeetOrSlice;
+        if (to != null && interpolation >= 0.5) {
+            AnimatablePreserveAspectRatioValue toValue =
+                (AnimatablePreserveAspectRatioValue) to;
+            newAlign = toValue.align;
+            newMeetOrSlice = toValue.meetOrSlice;
+        } else {
+            newAlign = align;
+            newMeetOrSlice = meetOrSlice;
+        }
+
+        if (res.align != newAlign || res.meetOrSlice != newMeetOrSlice) {
+            res.align = align;
+            res.meetOrSlice = meetOrSlice;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the align value.
+     */
+    public short getAlign() {
+        return align;
+    }
+
+    /**
+     * Returns the meet-or-slice value.
+     */
+    public short getMeetOrSlice() {
+        return meetOrSlice;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatablePreserveAspectRatioValue
+            (target, SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_NONE,
+             SVGPreserveAspectRatio.SVG_MEETORSLICE_MEET);
+    }
+
+    /**
+     * Returns a string representation of this object.
+     */
+    public String toStringRep() {
+        if (align < 1 || align > 10) {
+            return null;
+        }
+        String value = ALIGN_VALUES[align];
+        if (align == SVGPreserveAspectRatio.SVG_PRESERVEASPECTRATIO_NONE) {
+            return value;
+        }
+        if (meetOrSlice < 1 || meetOrSlice > 2) {
+            return null;
+        }
+        return value + ' ' + MEET_OR_SLICE_VALUES[meetOrSlice];
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableRectValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableRectValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableRectValue.java
new file mode 100644
index 0000000..e181fd3
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableRectValue.java
@@ -0,0 +1,177 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An SVG rect value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableRectValue.java 579487 2007-09-26 06:40:16Z cam $
+ */
+public class AnimatableRectValue extends AnimatableValue {
+
+    /**
+     * The x coordinate.
+     */
+    protected float x;
+
+    /**
+     * The y coordinate.
+     */
+    protected float y;
+
+    /**
+     * The width.
+     */
+    protected float width;
+
+    /**
+     * The height.
+     */
+    protected float height;
+
+    /**
+     * Creates a new, uninitialized AnimatableRectValue.
+     */
+    protected AnimatableRectValue(AnimationTarget target) {
+        super(target);
+    }
+    
+    /**
+     * Creates a new AnimatableRectValue with one number.
+     */
+    public AnimatableRectValue(AnimationTarget target, float x, float y,
+                               float w, float h) {
+        super(target);
+        this.x = x;
+        this.y = y;
+        this.width = w;
+        this.height = h;
+    }
+
+    /**
+     * Performs interpolation to the given value.  Rect values cannot be
+     * interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableRectValue res;
+        if (result == null) {
+            res = new AnimatableRectValue(target);
+        } else {
+            res = (AnimatableRectValue) result;
+        }
+
+        float newX = x, newY = y, newWidth = width, newHeight = height;
+        if (to != null) {
+            AnimatableRectValue toValue = (AnimatableRectValue) to;
+            newX += interpolation * (toValue.x - x);
+            newY += interpolation * (toValue.y - y);
+            newWidth += interpolation * (toValue.width - width);
+            newHeight += interpolation * (toValue.height - height);
+        }
+        if (accumulation != null && multiplier != 0) {
+            AnimatableRectValue accValue = (AnimatableRectValue) accumulation;
+            newX += multiplier * accValue.x;
+            newY += multiplier * accValue.y;
+            newWidth += multiplier * accValue.width;
+            newHeight += multiplier * accValue.height;
+        }
+        if (res.x != newX || res.y != newY
+                || res.width != newWidth || res.height != newHeight) {
+            res.x = newX;
+            res.y = newY;
+            res.width = newWidth;
+            res.height = newHeight;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the x coordinate.
+     */
+    public float getX() {
+        return x;
+    }
+
+    /**
+     * Returns the y coordinate.
+     */
+    public float getY() {
+        return y;
+    }
+
+    /**
+     * Returns the width.
+     */
+    public float getWidth() {
+        return width;
+    }
+
+    /**
+     * Returns the height.
+     */
+    public float getHeight() {
+        return height;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableRectValue(target, 0f, 0f, 0f, 0f);
+    }
+
+    /**
+     * Returns a string representation of this object.
+     */
+    public String toStringRep() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(x);
+        sb.append(',');
+        sb.append(y);
+        sb.append(',');
+        sb.append(width);
+        sb.append(',');
+        sb.append(height);
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableStringValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableStringValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableStringValue.java
new file mode 100644
index 0000000..c5c5070
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableStringValue.java
@@ -0,0 +1,118 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * A string value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableStringValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class AnimatableStringValue extends AnimatableValue {
+
+    /**
+     * The string value.
+     */
+    protected String string;
+    
+    /**
+     * Creates a new, uninitialized AnimatableStringValue.
+     */
+    protected AnimatableStringValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableStringValue.
+     */
+    public AnimatableStringValue(AnimationTarget target, String s) {
+        super(target);
+        string = s;
+    }
+    
+    /**
+     * Performs interpolation to the given value.  String values cannot be
+     * interpolated.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to, float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+        AnimatableStringValue res;
+        if (result == null) {
+            res = new AnimatableStringValue(target);
+        } else {
+            res = (AnimatableStringValue) result;
+        }
+
+        String newString;
+        if (to != null && interpolation >= 0.5) {
+            AnimatableStringValue toValue =
+                (AnimatableStringValue) to;
+            newString = toValue.string;
+        } else {
+            newString = string;
+        }
+
+        if (res.string == null || !res.string.equals(newString)) {
+            res.string = newString;
+            res.hasChanged = true;
+        }
+        return res;
+    }
+
+    /**
+     * Returns the string.
+     */
+    public String getString() {
+        return string;
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return false;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableStringValue(target, "");
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return string;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableTransformListValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableTransformListValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableTransformListValue.java
new file mode 100644
index 0000000..c67cd37
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableTransformListValue.java
@@ -0,0 +1,611 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import java.util.Iterator;
+import java.util.Vector;
+import java.util.List;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGTransform;
+import org.apache.flex.forks.batik.dom.svg.SVGOMTransform;
+
+import org.w3c.dom.svg.SVGMatrix;
+import org.w3c.dom.svg.SVGTransform;
+
+/**
+ * An SVG transform list value in the animation system.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableTransformListValue.java 515307 2007-03-06 21:15:58Z cam $
+ */
+public class AnimatableTransformListValue extends AnimatableValue {
+
+    /**
+     * Identity transform value of type 'skewX'.
+     */
+    protected static SVGOMTransform IDENTITY_SKEWX = new SVGOMTransform();
+
+    /**
+     * Identity transform value of type 'skewY'.
+     */
+    protected static SVGOMTransform IDENTITY_SKEWY = new SVGOMTransform();
+
+    /**
+     * Identity transform value of type 'scale'.
+     */
+    protected static SVGOMTransform IDENTITY_SCALE = new SVGOMTransform();
+
+    /**
+     * Identity transform value of type 'rotate'.
+     */
+    protected static SVGOMTransform IDENTITY_ROTATE = new SVGOMTransform();
+
+    /**
+     * Identity transform value of type 'translate'.
+     */
+    protected static SVGOMTransform IDENTITY_TRANSLATE = new SVGOMTransform();
+
+    static {
+        IDENTITY_SKEWX.setSkewX(0f);
+        IDENTITY_SKEWY.setSkewY(0f);
+        IDENTITY_SCALE.setScale(0f, 0f);
+        IDENTITY_ROTATE.setRotate(0f, 0f, 0f);
+        IDENTITY_TRANSLATE.setTranslate(0f, 0f);
+    }
+
+    /**
+     * List of transforms.
+     */
+    protected Vector transforms;
+
+    /**
+     * Creates a new, uninitialized AnimatableTransformListValue.
+     */
+    protected AnimatableTransformListValue(AnimationTarget target) {
+        super(target);
+    }
+
+    /**
+     * Creates a new AnimatableTransformListValue with a single transform.
+     */
+    public AnimatableTransformListValue(AnimationTarget target,
+                                        AbstractSVGTransform t) {
+        super(target);
+        this.transforms = new Vector();
+        this.transforms.add(t);
+    }
+
+    /**
+     * Creates a new AnimatableTransformListValue with a transform list.
+     */
+    public AnimatableTransformListValue(AnimationTarget target,
+                                        List transforms) {
+        super(target);
+
+        this.transforms = new Vector( transforms );
+
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     */
+    public AnimatableValue interpolate(AnimatableValue result,
+                                       AnimatableValue to,
+                                       float interpolation,
+                                       AnimatableValue accumulation,
+                                       int multiplier) {
+
+        AnimatableTransformListValue toTransformList =
+            (AnimatableTransformListValue) to;
+        AnimatableTransformListValue accTransformList =
+            (AnimatableTransformListValue) accumulation;
+
+        int accSize = accumulation == null ? 0 : accTransformList.transforms.size();
+        int newSize = transforms.size() + accSize * multiplier;
+
+        AnimatableTransformListValue res;
+        if (result == null) {
+            res = new AnimatableTransformListValue(target);
+            res.transforms = new Vector(newSize);
+            res.transforms.setSize(newSize);
+        } else {
+            res = (AnimatableTransformListValue) result;
+            if (res.transforms == null) {
+                res.transforms = new Vector(newSize);
+                res.transforms.setSize(newSize);
+            } else if (res.transforms.size() != newSize) {
+                res.transforms.setSize(newSize);
+            }
+        }
+
+        int index = 0;
+        for (int j = 0; j < multiplier; j++) {
+            for (int i = 0; i < accSize; i++, index++) {
+                res.transforms.setElementAt
+                    (accTransformList.transforms.elementAt(i), index);
+            }
+        }
+        for (int i = 0; i < transforms.size() - 1; i++, index++) {
+            res.transforms.setElementAt(transforms.elementAt(i), index);
+        }
+
+        if (to != null) {
+            AbstractSVGTransform tt =
+                (AbstractSVGTransform) toTransformList.transforms.lastElement();
+            AbstractSVGTransform ft = null;
+            int type;
+            if (transforms.isEmpty()) {
+                // For the case of an additive animation with an underlying
+                // transform list of zero elements.
+                type = tt.getType();
+                switch (type) {
+                    case SVGTransform.SVG_TRANSFORM_SKEWX:
+                        ft = IDENTITY_SKEWX;
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SKEWY:
+                        ft = IDENTITY_SKEWY;
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SCALE:
+                        ft = IDENTITY_SCALE;
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_ROTATE:
+                        ft = IDENTITY_ROTATE;
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                        ft = IDENTITY_TRANSLATE;
+                        break;
+                }
+            } else {
+                ft = (AbstractSVGTransform) transforms.lastElement();
+                type = ft.getType();
+            }
+            if (type == tt.getType()) {
+                AbstractSVGTransform t;
+                if (res.transforms.isEmpty()) {
+                    t = new SVGOMTransform();
+                    res.transforms.add(t);
+                } else {
+                    t = (AbstractSVGTransform) res.transforms.elementAt(index);
+                    if (t == null) {
+                        t = new SVGOMTransform();
+                        res.transforms.setElementAt(t, index);
+                    }
+                }
+                float x, y, r = 0;
+                switch (type) {
+                    case SVGTransform.SVG_TRANSFORM_SKEWX:
+                    case SVGTransform.SVG_TRANSFORM_SKEWY:
+                        r = ft.getAngle();
+                        r += interpolation * (tt.getAngle() - r);
+                        if (type == SVGTransform.SVG_TRANSFORM_SKEWX) {
+                            t.setSkewX(r);
+                        } else if (type == SVGTransform.SVG_TRANSFORM_SKEWY) {
+                            t.setSkewY(r);
+                        }
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SCALE: {
+                        SVGMatrix fm = ft.getMatrix();
+                        SVGMatrix tm = tt.getMatrix();
+                        x = fm.getA();
+                        y = fm.getD();
+                        x += interpolation * (tm.getA() - x);
+                        y += interpolation * (tm.getD() - y);
+                        t.setScale(x, y);
+                        break;
+                    }
+                    case SVGTransform.SVG_TRANSFORM_ROTATE: {
+                        x = ft.getX();
+                        y = ft.getY();
+                        x += interpolation * (tt.getX() - x);
+                        y += interpolation * (tt.getY() - y);
+                        r = ft.getAngle();
+                        r += interpolation * (tt.getAngle() - r);
+                        t.setRotate(r, x, y);
+                        break;
+                    }
+                    case SVGTransform.SVG_TRANSFORM_TRANSLATE: {
+                        SVGMatrix fm = ft.getMatrix();
+                        SVGMatrix tm = tt.getMatrix();
+                        x = fm.getE();
+                        y = fm.getF();
+                        x += interpolation * (tm.getE() - x);
+                        y += interpolation * (tm.getF() - y);
+                        t.setTranslate(x, y);
+                        break;
+                    }
+                }
+            }
+        } else {
+            AbstractSVGTransform ft =
+                (AbstractSVGTransform) transforms.lastElement();
+            AbstractSVGTransform t =
+                (AbstractSVGTransform) res.transforms.elementAt(index);
+            if (t == null) {
+                t = new SVGOMTransform();
+                res.transforms.setElementAt(t, index);
+            }
+            t.assign(ft);
+        }
+
+        // XXX Do better checking for changes.
+        res.hasChanged = true;
+
+        return res;
+    }
+
+    /**
+     * Performs a two-way interpolation between the specified values.
+     * value[12] and to[12] must all be of the same type, either scale or
+     * translation transforms, or all null.
+     */
+    public static AnimatableTransformListValue interpolate
+            (AnimatableTransformListValue res,
+             AnimatableTransformListValue value1,
+             AnimatableTransformListValue value2,
+             AnimatableTransformListValue to1,
+             AnimatableTransformListValue to2,
+             float interpolation1,
+             float interpolation2,
+             AnimatableTransformListValue accumulation,
+             int multiplier) {
+
+        int accSize = accumulation == null ? 0 : accumulation.transforms.size();
+        int newSize = accSize * multiplier + 1;
+
+        if (res == null) {
+            res = new AnimatableTransformListValue(to1.target);
+            res.transforms = new Vector(newSize);
+            res.transforms.setSize(newSize);
+        } else {
+            if (res.transforms == null) {
+                res.transforms = new Vector(newSize);
+                res.transforms.setSize(newSize);
+            } else if (res.transforms.size() != newSize) {
+                res.transforms.setSize(newSize);
+            }
+        }
+
+        int index = 0;
+        for (int j = 0; j < multiplier; j++) {
+            for (int i = 0; i < accSize; i++, index++) {
+                res.transforms.setElementAt
+                    (accumulation.transforms.elementAt(i), index);
+            }
+        }
+
+        AbstractSVGTransform ft1 =
+            (AbstractSVGTransform) value1.transforms.lastElement();
+        AbstractSVGTransform ft2 =
+            (AbstractSVGTransform) value2.transforms.lastElement();
+
+        AbstractSVGTransform t =
+            (AbstractSVGTransform) res.transforms.elementAt(index);
+        if (t == null) {
+            t = new SVGOMTransform();
+            res.transforms.setElementAt(t, index);
+        }
+
+        int type = ft1.getType();
+
+        float x, y;
+        if (type == SVGTransform.SVG_TRANSFORM_SCALE) {
+            x = ft1.getMatrix().getA();
+            y = ft2.getMatrix().getD();
+        } else {
+            x = ft1.getMatrix().getE();
+            y = ft2.getMatrix().getF();
+        }
+
+        if (to1 != null) {
+            AbstractSVGTransform tt1 =
+                (AbstractSVGTransform) to1.transforms.lastElement();
+            AbstractSVGTransform tt2 =
+                (AbstractSVGTransform) to2.transforms.lastElement();
+
+            if (type == SVGTransform.SVG_TRANSFORM_SCALE) {
+                x += interpolation1 * (tt1.getMatrix().getA() - x);
+                y += interpolation2 * (tt2.getMatrix().getD() - y);
+            } else {
+                x += interpolation1 * (tt1.getMatrix().getE() - x);
+                y += interpolation2 * (tt2.getMatrix().getF() - y);
+            }
+        }
+
+        if (type == SVGTransform.SVG_TRANSFORM_SCALE) {
+            t.setScale(x, y);
+        } else {
+            t.setTranslate(x, y);
+        }
+
+        // XXX Do better checking for changes.
+        res.hasChanged = true;
+
+        return res;
+    }
+
+    /**
+     * Performs a three-way interpolation between the specified values.
+     * value[123] and to[123] must all be single rotation transforms,
+     * or all null.
+     */
+    public static AnimatableTransformListValue interpolate
+            (AnimatableTransformListValue res,
+             AnimatableTransformListValue value1,
+             AnimatableTransformListValue value2,
+             AnimatableTransformListValue value3,
+             AnimatableTransformListValue to1,
+             AnimatableTransformListValue to2,
+             AnimatableTransformListValue to3,
+             float interpolation1,
+             float interpolation2,
+             float interpolation3,
+             AnimatableTransformListValue accumulation,
+             int multiplier) {
+
+        int accSize = accumulation == null ? 0 : accumulation.transforms.size();
+        int newSize = accSize * multiplier + 1;
+
+        if (res == null) {
+            res = new AnimatableTransformListValue(to1.target);
+            res.transforms = new Vector(newSize);
+            res.transforms.setSize(newSize);
+        } else {
+            if (res.transforms == null) {
+                res.transforms = new Vector(newSize);
+                res.transforms.setSize(newSize);
+            } else if (res.transforms.size() != newSize) {
+                res.transforms.setSize(newSize);
+            }
+        }
+
+        int index = 0;
+        for (int j = 0; j < multiplier; j++) {
+            for (int i = 0; i < accSize; i++, index++) {
+                res.transforms.setElementAt
+                    (accumulation.transforms.elementAt(i), index);
+            }
+        }
+
+        AbstractSVGTransform ft1 =
+            (AbstractSVGTransform) value1.transforms.lastElement();
+        AbstractSVGTransform ft2 =
+            (AbstractSVGTransform) value2.transforms.lastElement();
+        AbstractSVGTransform ft3 =
+            (AbstractSVGTransform) value3.transforms.lastElement();
+
+        AbstractSVGTransform t =
+            (AbstractSVGTransform) res.transforms.elementAt(index);
+        if (t == null) {
+            t = new SVGOMTransform();
+            res.transforms.setElementAt(t, index);
+        }
+
+        float x, y, r;
+        r = ft1.getAngle();
+        x = ft2.getX();
+        y = ft3.getY();
+
+        if (to1 != null) {
+            AbstractSVGTransform tt1 =
+                (AbstractSVGTransform) to1.transforms.lastElement();
+            AbstractSVGTransform tt2 =
+                (AbstractSVGTransform) to2.transforms.lastElement();
+            AbstractSVGTransform tt3 =
+                (AbstractSVGTransform) to3.transforms.lastElement();
+
+            r += interpolation1 * (tt1.getAngle() - r);
+            x += interpolation2 * (tt2.getX() - x);
+            y += interpolation3 * (tt3.getY() - y);
+        }
+        t.setRotate(r, x, y);
+
+        // XXX Do better checking for changes.
+        res.hasChanged = true;
+
+        return res;
+    }
+
+    /**
+     * Gets the transforms.
+     */
+    public Iterator getTransforms() {
+        return transforms.iterator();
+    }
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public boolean canPace() {
+        return true;
+    }
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public float distanceTo(AnimatableValue other) {
+        AnimatableTransformListValue o = (AnimatableTransformListValue) other;
+        if (transforms.isEmpty() || o.transforms.isEmpty()) {
+            return 0f;
+        }
+        AbstractSVGTransform t1 = (AbstractSVGTransform) transforms.lastElement();
+        AbstractSVGTransform t2 = (AbstractSVGTransform) o.transforms.lastElement();
+        short type1 = t1.getType();
+        if (type1 != t2.getType()) {
+            return 0f;
+        }
+        SVGMatrix m1 = t1.getMatrix();
+        SVGMatrix m2 = t2.getMatrix();
+        switch (type1) {
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                return Math.abs(m1.getE() - m2.getE()) + Math.abs(m1.getF() - m2.getF());
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+                return Math.abs(m1.getA() - m2.getA()) + Math.abs(m1.getD() - m2.getD());
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+            case SVGTransform.SVG_TRANSFORM_SKEWX:
+            case SVGTransform.SVG_TRANSFORM_SKEWY:
+                return Math.abs(t1.getAngle() - t2.getAngle());
+        }
+        return 0f;
+    }
+
+    /**
+     * Returns the distance between this value's first component and the
+     * specified other value's first component.
+     */
+    public float distanceTo1(AnimatableValue other) {
+        AnimatableTransformListValue o = (AnimatableTransformListValue) other;
+        if (transforms.isEmpty() || o.transforms.isEmpty()) {
+            return 0f;
+        }
+        AbstractSVGTransform t1 = (AbstractSVGTransform) transforms.lastElement();
+        AbstractSVGTransform t2 = (AbstractSVGTransform) o.transforms.lastElement();
+        short type1 = t1.getType();
+        if (type1 != t2.getType()) {
+            return 0f;
+        }
+        SVGMatrix m1 = t1.getMatrix();
+        SVGMatrix m2 = t2.getMatrix();
+        switch (type1) {
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                return Math.abs(m1.getE() - m2.getE());
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+                return Math.abs(m1.getA() - m2.getA());
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+            case SVGTransform.SVG_TRANSFORM_SKEWX:
+            case SVGTransform.SVG_TRANSFORM_SKEWY:
+                return Math.abs(t1.getAngle() - t2.getAngle());
+        }
+        return 0f;
+    }
+
+    /**
+     * Returns the distance between this value's second component and the
+     * specified other value's second component.
+     */
+    public float distanceTo2(AnimatableValue other) {
+        AnimatableTransformListValue o = (AnimatableTransformListValue) other;
+        if (transforms.isEmpty() || o.transforms.isEmpty()) {
+            return 0f;
+        }
+        AbstractSVGTransform t1 = (AbstractSVGTransform) transforms.lastElement();
+        AbstractSVGTransform t2 = (AbstractSVGTransform) o.transforms.lastElement();
+        short type1 = t1.getType();
+        if (type1 != t2.getType()) {
+            return 0f;
+        }
+        SVGMatrix m1 = t1.getMatrix();
+        SVGMatrix m2 = t2.getMatrix();
+        switch (type1) {
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                return Math.abs(m1.getF() - m2.getF());
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+                return Math.abs(m1.getD() - m2.getD());
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+                return Math.abs(t1.getX() - t2.getX());
+        }
+        return 0f;
+    }
+
+    /**
+     * Returns the distance between this value's third component and the
+     * specified other value's third component.
+     */
+    public float distanceTo3(AnimatableValue other) {
+        AnimatableTransformListValue o = (AnimatableTransformListValue) other;
+        if (transforms.isEmpty() || o.transforms.isEmpty()) {
+            return 0f;
+        }
+        AbstractSVGTransform t1 = (AbstractSVGTransform) transforms.lastElement();
+        AbstractSVGTransform t2 = (AbstractSVGTransform) o.transforms.lastElement();
+        short type1 = t1.getType();
+        if (type1 != t2.getType()) {
+            return 0f;
+        }
+        if (type1 == SVGTransform.SVG_TRANSFORM_ROTATE) {
+            return Math.abs(t1.getY() - t2.getY());
+        }
+        return 0f;
+    }
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.  This returns an
+     * empty transform list.
+     */
+    public AnimatableValue getZeroValue() {
+        return new AnimatableTransformListValue(target, new Vector(5));
+    }
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String toStringRep() {
+        StringBuffer sb = new StringBuffer();
+        Iterator i = transforms.iterator();
+        while (i.hasNext()) {
+            AbstractSVGTransform t = (AbstractSVGTransform) i.next();
+            if (t == null) {
+                sb.append("null");
+            } else {
+                SVGMatrix m = t.getMatrix();
+                switch (t.getType()) {
+                    case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                        sb.append("translate(");
+                        sb.append(m.getE());
+                        sb.append(',');
+                        sb.append(m.getF());
+                        sb.append(')');
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SCALE:
+                        sb.append("scale(");
+                        sb.append(m.getA());
+                        sb.append(',');
+                        sb.append(m.getD());
+                        sb.append(')');
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SKEWX:
+                        sb.append("skewX(");
+                        sb.append(t.getAngle());
+                        sb.append(')');
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_SKEWY:
+                        sb.append("skewY(");
+                        sb.append(t.getAngle());
+                        sb.append(')');
+                        break;
+                    case SVGTransform.SVG_TRANSFORM_ROTATE:
+                        sb.append("rotate(");
+                        sb.append(t.getAngle());
+                        sb.append(',');
+                        sb.append(t.getX());
+                        sb.append(',');
+                        sb.append(t.getY());
+                        sb.append(')');
+                        break;
+                }
+            }
+            if (i.hasNext()) {
+                sb.append(' ');
+            }
+        }
+        return sb.toString();
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableValue.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableValue.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableValue.java
new file mode 100644
index 0000000..ee2a4c3
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/values/AnimatableValue.java
@@ -0,0 +1,134 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.values;
+
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+
+/**
+ * An abstract class for values in the animation engine.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableValue.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class AnimatableValue {
+
+    /**
+     * A formatting object to get CSS compatible float strings.
+     */
+    protected static DecimalFormat decimalFormat = new DecimalFormat
+        ("0.0###########################################################",
+         new DecimalFormatSymbols(Locale.ENGLISH));
+
+    /**
+     * The target of the animation.
+     */
+    protected AnimationTarget target;
+
+    /**
+     * Whether this value has changed since the last call to
+     * {@link #hasChanged()}.  This must be updated within {@link #interpolate}
+     * in descendant classes.
+     */
+    protected boolean hasChanged = true;
+
+    /**
+     * Creates a new AnimatableValue.
+     */
+    protected AnimatableValue(AnimationTarget target) {
+        this.target = target;
+    }
+
+    /**
+     * Returns a CSS compatible string version of the specified float.
+     */
+    public static String formatNumber(float f) {
+        return decimalFormat.format(f);
+    }
+
+    /**
+     * Performs interpolation to the given value.
+     * @param result the object in which to store the result of the
+     *               interpolation, or null if a new object should be created
+     * @param to the value this value should be interpolated towards, or null
+     *           if no actual interpolation should be performed
+     * @param interpolation the interpolation distance, 0 &lt;= interpolation
+     *                      &lt;= 1
+     * @param accumulation an accumulation to add to the interpolated value 
+     * @param multiplier an amount the accumulation values should be multiplied
+     *                   by before being added to the interpolated value
+     */
+    public abstract AnimatableValue interpolate(AnimatableValue result,
+                                                AnimatableValue to,
+                                                float interpolation,
+                                                AnimatableValue accumulation,
+                                                int multiplier);
+
+    /**
+     * Returns whether two values of this type can have their distance
+     * computed, as needed by paced animation.
+     */
+    public abstract boolean canPace();
+
+    /**
+     * Returns the absolute distance between this value and the specified other
+     * value.
+     */
+    public abstract float distanceTo(AnimatableValue other);
+
+    /**
+     * Returns a zero value of this AnimatableValue's type.
+     */
+    public abstract AnimatableValue getZeroValue();
+
+    /**
+     * Returns the CSS text representation of the value.
+     */
+    public String getCssText() {
+        return null;
+    }
+    
+    /**
+     * Returns whether the value in this AnimatableValue has been modified.
+     */
+    public boolean hasChanged() {
+        boolean ret = hasChanged;
+        hasChanged = false;
+        return ret;
+    }
+
+    /**
+     * Returns a string representation of this object.  This should be
+     * overridden in classes that do not have a CSS representation.
+     */
+    public String toStringRep() {
+        return getCssText();
+    }
+
+    /**
+     * Returns a string representation of this object prefixed with its
+     * class name.
+     */
+    public String toString() {
+        return getClass().getName() + "[" + toStringRep() + "]";
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DefaultSVGConverterController.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DefaultSVGConverterController.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DefaultSVGConverterController.java
deleted file mode 100644
index 4b3f013..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DefaultSVGConverterController.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.io.File;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-
-/**
- * Default controller for the 
- * <tt>SVGConverter</tt> operation.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: DefaultSVGConverterController.java,v 1.5 2004/08/18 07:12:25 vhardy Exp $
- */
-public class DefaultSVGConverterController implements SVGConverterController {
-    /**
-     * Invoked when the rasterizer has computed the 
-     * exact description of what it should do. The controller 
-     * should return true if the transcoding process should 
-     * proceed or false otherwise.
-     *
-     * @param transcoder Transcoder which will be used for the conversion
-     * @param hints set of hints that were set on the transcoder
-     * @param sources list of SVG sources it will convert.
-     * @param dest list of destination file it will use
-     */
-    public boolean proceedWithComputedTask(Transcoder transcoder,
-                                           Map hints,
-                                           Vector sources,
-                                           Vector dest){
-        return true;
-    }
-    
-    /**
-     * Invoked when the rasterizer is about to start transcoding
-     * of a given source.
-     * The controller should return true if the source should be
-     * transcoded and false otherwise.
-     */
-    public boolean proceedWithSourceTranscoding(SVGConverterSource source,
-                                                File dest) {
-        System.out.println("About to transcoder source of type: " + source.getClass().getName());
-        return true;
-    }
-    
-    /**
-     * Invoked when the rasterizer got an error while
-     * transcoding the input source. 
-     * The controller should return true if the transcoding process
-     * should continue on other sources and it should return false
-     * if it should not.
-     *
-     * @param errorCode see the {@link SVGConverter} error code descriptions.
-     */
-    public boolean proceedOnSourceTranscodingFailure(SVGConverterSource source,
-                                                     File dest,
-                                                     String errorCode){
-        return true;
-    }
-
-    /**
-     * Invoked when the rasterizer successfully transcoded
-     * the input source.
-     */
-    public void onSourceTranscodingSuccess(SVGConverterSource source,
-                                           File dest){
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DestinationType.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DestinationType.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DestinationType.java
deleted file mode 100644
index 4561ce8..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/DestinationType.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-import org.apache.flex.forks.batik.transcoder.image.JPEGTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.PNGTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.TIFFTranscoder;
-
-/**
- * Describes the type of destination for an <tt>SVGConverter</tt>
- * operation.
- *
- * @author Henri Ruini
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: DestinationType.java,v 1.6 2005/03/27 08:58:29 cam Exp $
- */
-public final class DestinationType {
-    public static final String PNG_STR  = "image/png";
-    public static final String JPEG_STR = "image/jpeg";
-    public static final String TIFF_STR = "image/tiff";
-    public static final String PDF_STR  = "application/pdf";
-
-    public static final int PNG_CODE  = 0;
-    public static final int JPEG_CODE = 1;
-    public static final int TIFF_CODE = 2;
-    public static final int PDF_CODE  = 3;
-        
-    public static final String PNG_EXTENSION  = ".png";
-    public static final String JPEG_EXTENSION = ".jpg";
-    public static final String TIFF_EXTENSION = ".tif";
-    public static final String PDF_EXTENSION  = ".pdf";
-
-    public static final DestinationType PNG  
-        = new DestinationType(PNG_STR, PNG_CODE, PNG_EXTENSION);
-    public static final DestinationType JPEG 
-        = new DestinationType(JPEG_STR, JPEG_CODE, JPEG_EXTENSION);
-    public static final DestinationType TIFF 
-        = new DestinationType(TIFF_STR, TIFF_CODE, TIFF_EXTENSION);
-    public static final DestinationType PDF  
-        = new DestinationType(PDF_STR, PDF_CODE, PDF_EXTENSION);
-
-    private String type;
-    private int    code;
-    private String extension;
-
-    private DestinationType(String type, int code, String extension){
-        this.type = type;
-        this.code = code;
-        this.extension = extension;
-    }
-    
-    public String getExtension(){
-        return extension;
-    }
-
-    public String toString(){
-        return type;
-    }
-
-    public int toInt(){
-        return code;
-    }
-
-    /**
-     * Returns a transcoder object of the result image type.
-     *
-     * @return Transcoder object or <tt>null</tt> if there isn't a proper transcoder.
-     */
-    protected Transcoder getTranscoder(){
-        switch(code) {
-            case PNG_CODE:
-                return new PNGTranscoder();
-            case JPEG_CODE:
-                return new JPEGTranscoder();
-            case TIFF_CODE:
-                return new TIFFTranscoder();
-            case PDF_CODE:
-                try {
-                    Class pdfClass = Class.forName("org.apache.fop.svg.PDFTranscoder");
-                    return (Transcoder)pdfClass.newInstance();
-                } catch(Exception e) {
-                    return null;
-                }
-            default:
-                return null;
-        }
-
-    }
-
-    /**
-     * Defines valid image types.
-     *
-     * @return Array of valid values as strings.
-     */
-    public DestinationType[] getValues() {
-        return new DestinationType[]{PNG, JPEG, TIFF, PDF};
-    }
-
-    public Object readResolve(){
-        switch(code){
-        case PNG_CODE:
-            return PNG;
-        case JPEG_CODE:
-            return JPEG;
-        case TIFF_CODE:
-            return TIFF;
-        case PDF_CODE:
-            return PDF;
-        default:
-            throw new Error();
-        }
-    }
-}


[09/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextPathElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextPathElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextPathElementBridge.java
index a33c5bd..3e1260f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextPathElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTextPathElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -32,9 +33,9 @@ import org.w3c.dom.Element;
  * Bridge class for the &lt;textPath> element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGTextPathElementBridge.java,v 1.8 2005/03/03 01:19:53 deweese Exp $
+ * @version $Id: SVGTextPathElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
-public class SVGTextPathElementBridge extends AbstractSVGBridge
+public class SVGTextPathElementBridge extends AnimatableGenericSVGBridge
                                       implements ErrorConstants {
 
     /**
@@ -49,6 +50,10 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
         return SVG_TEXT_PATH_TAG;
     }
 
+    public void handleElement(BridgeContext ctx, Element e) {
+        // We don't want to take over from the text content element.
+    }
+
     /**
      * Creates a TextPath object that represents the path along which the text
      * is to be rendered.
@@ -64,13 +69,13 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
         String uri = XLinkSupport.getXLinkHref(textPathElement);
         Element pathElement = ctx.getReferencedElement(textPathElement, uri);
 
-        if ((pathElement == null) || 
+        if ((pathElement == null) ||
             (!SVG_NAMESPACE_URI.equals(pathElement.getNamespaceURI())) ||
             (!pathElement.getLocalName().equals(SVG_PATH_TAG))) {
             // couldn't find the referenced element
             // or the referenced element was not a path
-            throw new BridgeException(textPathElement, ERR_URI_BAD_TARGET,
-                                          new Object[] {uri});
+            throw new BridgeException(ctx, textPathElement, ERR_URI_BAD_TARGET,
+                                      new Object[] {uri});
         }
 
         // construct a shape for the referenced path element
@@ -83,14 +88,15 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
                 PathParser pathParser = new PathParser();
                 pathParser.setPathHandler(app);
                 pathParser.parse(s);
-            } catch (ParseException ex) {
-               throw new BridgeException(pathElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                          new Object[] {SVG_D_ATTRIBUTE});
+            } catch (ParseException pEx ) {
+               throw new BridgeException
+                   (ctx, pathElement, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    new Object[] {SVG_D_ATTRIBUTE});
             } finally {
                 pathShape = app.getShape();
             }
         } else {
-            throw new BridgeException(pathElement, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, pathElement, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {SVG_D_ATTRIBUTE});
         }
 
@@ -98,8 +104,9 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
         // to the path shape
         s = pathElement.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
         if (s.length() != 0) {
-            AffineTransform tr = SVGUtilities.convertTransform(pathElement,
-                                                  SVG_TRANSFORM_ATTRIBUTE, s);
+            AffineTransform tr =
+                SVGUtilities.convertTransform(pathElement,
+                                              SVG_TRANSFORM_ATTRIBUTE, s, ctx);
             pathShape = tr.createTransformedShape(pathShape);
         }
 
@@ -110,7 +117,7 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
         s = textPathElement.getAttributeNS(null, SVG_START_OFFSET_ATTRIBUTE);
         if (s.length() > 0) {
             float startOffset = 0;
-            int percentIndex = s.indexOf("%");
+            int percentIndex = s.indexOf('%');
             if (percentIndex != -1) {
                 // its a percentage of the length of the path
                 float pathLength = textPath.lengthOfPath();
@@ -122,8 +129,9 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
                     startOffsetPercent = -1;
                 }
                 if (startOffsetPercent < 0) {
-                    throw new BridgeException(textPathElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                              new Object[] {SVG_START_OFFSET_ATTRIBUTE, s});
+                    throw new BridgeException
+                        (ctx, textPathElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                         new Object[] {SVG_START_OFFSET_ATTRIBUTE, s});
                 }
                 startOffset = (float)(startOffsetPercent * pathLength/100.0);
 
@@ -137,7 +145,4 @@ public class SVGTextPathElementBridge extends AbstractSVGBridge
 
         return textPath;
     }
-
-
 }
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTitleElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTitleElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTitleElementBridge.java
index aa92f5a..c9e349a 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTitleElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGTitleElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2005  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,14 +18,12 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
-import org.w3c.dom.Element;
-
 /**
  * Bridge class for the &lt;title&gt; element.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGTitleElementBridge.java,v 1.4 2005/02/27 02:08:51 deweese Exp $
+ * @version $Id: SVGTitleElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGTitleElementBridge extends SVGDescriptiveElementBridge {
 
@@ -45,4 +44,3 @@ public class SVGTitleElementBridge extends SVGDescriptiveElementBridge {
      */
     public Bridge getInstance() { return new SVGTitleElementBridge(); }
 }
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUseElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUseElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUseElementBridge.java
index 54f3e54..1837c7c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUseElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUseElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,37 +23,46 @@ import java.awt.RenderingHints;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 
-import org.apache.flex.forks.batik.css.engine.CSSEngine;
-import org.apache.flex.forks.batik.dom.svg.SVGOMCSSImportedElementRoot;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedLength;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
 import org.apache.flex.forks.batik.dom.svg.SVGOMUseElement;
-import org.apache.flex.forks.batik.dom.util.XLinkSupport;
+import org.apache.flex.forks.batik.dom.svg.SVGOMUseShadowRoot;
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
-import org.w3c.dom.events.EventTarget;
-import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGTransformable;
+import org.w3c.dom.svg.SVGUseElement;
 
 /**
  * Bridge class for the &lt;use> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGUseElementBridge.java,v 1.47 2005/03/03 01:19:53 deweese Exp $
+ * @version $Id: SVGUseElementBridge.java 580678 2007-09-30 05:10:20Z cam $
  */
 public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
-    /*
+
+    /**
      * Used to handle mutation of the referenced content. This is
      * only used in dynamic context and only for reference to local
      * content.
      */
     protected ReferencedElementMutationListener l;
 
-    protected BridgeContext subCtx=null;
+    /**
+     * The bridge context for the referenced document.
+     */
+    protected BridgeContext subCtx;
 
     /**
      * Constructs a new bridge for the &lt;use> element.
@@ -86,6 +96,7 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
             return null;
 
         CompositeGraphicsNode gn = buildCompositeGraphicsNode(ctx, e, null);
+        associateSVGContext(ctx, e, gn);
 
         return gn;
     }
@@ -101,41 +112,40 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
      *        before appending new content.
      */
     public CompositeGraphicsNode buildCompositeGraphicsNode
-        (BridgeContext ctx, Element e,
-         CompositeGraphicsNode gn) {
+            (BridgeContext ctx, Element e, CompositeGraphicsNode gn) {
         // get the referenced element
-        String uri = XLinkSupport.getXLinkHref(e);
+        SVGOMUseElement ue = (SVGOMUseElement) e;
+        String uri = ue.getHref().getAnimVal();
         if (uri.length() == 0) {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {"xlink:href"});
         }
 
         Element refElement = ctx.getReferencedElement(e, uri);
 
-        SVGOMDocument document
-            = (SVGOMDocument)e.getOwnerDocument();
-        SVGOMDocument refDocument
-            = (SVGOMDocument)refElement.getOwnerDocument();
+        SVGOMDocument document, refDocument;
+        document    = (SVGOMDocument)e.getOwnerDocument();
+        refDocument = (SVGOMDocument)refElement.getOwnerDocument();
         boolean isLocal = (refDocument == document);
 
         BridgeContext theCtx = ctx;
         subCtx = null;
         if (!isLocal) {
-            CSSEngine eng = refDocument.getCSSEngine();
             subCtx = (BridgeContext)refDocument.getCSSEngine().getCSSContext();
             theCtx = subCtx;
         }
             
         // import or clone the referenced element in current document
-        Element localRefElement = 
-            (Element)document.importNode(refElement, true, true);
+        Element localRefElement;
+        localRefElement = (Element)document.importNode(refElement, true, true);
 
         if (SVG_SYMBOL_TAG.equals(localRefElement.getLocalName())) {
             // The referenced 'symbol' and its contents are deep-cloned into
             // the generated tree, with the exception that the 'symbol'  is
             // replaced by an 'svg'.
-            Element svgElement
-                = document.createElementNS(SVG_NAMESPACE_URI, SVG_SVG_TAG);
+            Element svgElement = document.createElementNS(SVG_NAMESPACE_URI, 
+                                                          SVG_SVG_TAG);
+
             // move the attributes from <symbol> to the <svg> element
             NamedNodeMap attrs = localRefElement.getAttributes();
             int len = attrs.getLength();
@@ -159,37 +169,43 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
             // generated tree. If attributes width and/or height are provided
             // on the 'use' element, then these values will override the
             // corresponding attributes on the 'svg' in the generated tree.
-            String wStr = e.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
-            if (wStr.length() != 0) {
-                localRefElement.setAttributeNS
-                    (null, SVG_WIDTH_ATTRIBUTE, wStr);
-            }
-            String hStr = e.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
-            if (hStr.length() != 0) {
-                localRefElement.setAttributeNS
-                    (null, SVG_HEIGHT_ATTRIBUTE, hStr);
+            try {
+                SVGOMAnimatedLength al = (SVGOMAnimatedLength) ue.getWidth();
+                if (al.isSpecified()) {
+                    localRefElement.setAttributeNS
+                        (null, SVG_WIDTH_ATTRIBUTE,
+                         al.getAnimVal().getValueAsString());
+                }
+                al = (SVGOMAnimatedLength) ue.getHeight();
+                if (al.isSpecified()) {
+                    localRefElement.setAttributeNS
+                        (null, SVG_HEIGHT_ATTRIBUTE,
+                         al.getAnimVal().getValueAsString());
+                }
+            } catch (LiveAttributeException ex) {
+                throw new BridgeException(ctx, ex);
             }
         }
 
         // attach the referenced element to the current document
-        SVGOMCSSImportedElementRoot root;
-        root = new SVGOMCSSImportedElementRoot(document, e, isLocal);
+        SVGOMUseShadowRoot root;
+        root = new SVGOMUseShadowRoot(document, e, isLocal);
         root.appendChild(localRefElement);
 
         if (gn == null) {
             gn = new CompositeGraphicsNode();
+            associateSVGContext(ctx, e, node);
         } else {
             int s = gn.size();
             for (int i=0; i<s; i++)
                 gn.remove(0);
         }
 
-        SVGOMUseElement ue = (SVGOMUseElement)e;
-        Node oldRoot = ue.getCSSImportedElementRoot();
+        Node oldRoot = ue.getCSSFirstChild();
         if (oldRoot != null) {
             disposeTree(oldRoot);
         }
-        ue.setCSSImportedElementRoot(root);
+        ue.setUseShadowTree(root);
 
         Element g = localRefElement;
 
@@ -203,7 +219,7 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
 
         gn.getChildren().add(refNode);
 
-        gn.setTransform(computeTransform(e, ctx));
+        gn.setTransform(computeTransform((SVGTransformable) e, ctx));
 
         // set an affine transform to take into account the (x, y)
         // coordinates of the <use> element
@@ -223,11 +239,19 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
 
         if (l != null) {
             // Remove event listeners
-            EventTarget target = l.target;
-            target.removeEventListener("DOMAttrModified", l, true);
-            target.removeEventListener("DOMNodeInserted", l, true);
-            target.removeEventListener("DOMNodeRemoved", l, true);
-            target.removeEventListener("DOMCharacterDataModified",l, true);
+            NodeEventTarget target = l.target;
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified",
+                 l, true);
             l = null;
         }
 
@@ -238,21 +262,36 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
         if (isLocal && ctx.isDynamic()) {
             l = new ReferencedElementMutationListener();
         
-            EventTarget target = (EventTarget)refElement;
+            NodeEventTarget target = (NodeEventTarget)refElement;
             l.target = target;
             
-            target.addEventListener("DOMAttrModified", l, true);
-            theCtx.storeEventListener(target, "DOMAttrModified", l, true);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 l, true, null);
+            theCtx.storeEventListenerNS
+                (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 l, true);
             
-            target.addEventListener("DOMNodeInserted", l, true);
-            theCtx.storeEventListener(target, "DOMNodeInserted", l, true);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+                 l, true, null);
+            theCtx.storeEventListenerNS
+                (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+                 l, true);
             
-            target.addEventListener("DOMNodeRemoved", l, true);
-            theCtx.storeEventListener(target, "DOMNodeRemoved", l, true);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+                 l, true, null);
+            theCtx.storeEventListenerNS
+                (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+                 l, true);
             
-            target.addEventListener("DOMCharacterDataModified", l, true);
-            theCtx.storeEventListener
-                (target, "DOMCharacterDataModified", l, true);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified",
+                 l, true, null);
+            theCtx.storeEventListenerNS
+                (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified",
+                 l, true);
         }
         
         return gn;
@@ -261,17 +300,25 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
     public void dispose() {
         if (l != null) {
             // Remove event listeners
-            EventTarget target = l.target;
-            target.removeEventListener("DOMAttrModified", l, true);
-            target.removeEventListener("DOMNodeInserted", l, true);
-            target.removeEventListener("DOMNodeRemoved", l, true);
-            target.removeEventListener("DOMCharacterDataModified",l, true);
+            NodeEventTarget target = l.target;
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+                 l, true);
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMCharacterDataModified",
+                 l, true);
             l = null;
         }
 
         SVGOMUseElement ue = (SVGOMUseElement)e;
-        if ((ue != null) && (ue.getCSSImportedElementRoot() != null)) {
-            disposeTree(ue.getCSSImportedElementRoot());
+        if (ue != null && ue.getCSSFirstChild() != null) {
+            disposeTree(ue.getCSSFirstChild());
         }
 
         super.dispose();
@@ -280,39 +327,30 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
     }
 
     /**
-     * Computes the AffineTransform for the node
+     * Returns an {@link AffineTransform} that is the transformation to
+     * be applied to the node.
      */
-    protected AffineTransform computeTransform(Element e, BridgeContext ctx) {
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-
-        // 'x' attribute - default is 0
-        float x = 0;
-        String s = e.getAttributeNS(null, SVG_X_ATTRIBUTE);
-        if (s.length() != 0) {
-            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_X_ATTRIBUTE, uctx);
+    protected AffineTransform computeTransform(SVGTransformable e,
+                                               BridgeContext ctx) {
+        AffineTransform at = super.computeTransform(e, ctx);
+        SVGUseElement ue = (SVGUseElement) e;
+        try {
+            // 'x' attribute - default is 0
+            AbstractSVGAnimatedLength _x =
+                (AbstractSVGAnimatedLength) ue.getX();
+            float x = _x.getCheckedValue();
+
+            // 'y' attribute - default is 0
+            AbstractSVGAnimatedLength _y =
+                (AbstractSVGAnimatedLength) ue.getY();
+            float y = _y.getCheckedValue();
+
+            AffineTransform xy = AffineTransform.getTranslateInstance(x, y);
+            xy.preConcatenate(at);
+            return xy;
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-
-        // 'y' attribute - default is 0
-        float y = 0;
-        s = e.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-        if (s.length() != 0) {
-            y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_Y_ATTRIBUTE, uctx);
-        }
-
-        // set an affine transform to take into account the (x, y)
-        // coordinates of the <use> element
-        s = e.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
-        AffineTransform at = AffineTransform.getTranslateInstance(x, y);
-
-        // 'transform'
-        if (s.length() != 0) {
-            at.preConcatenate
-                (SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s));
-        }
-
-        return at;
      }
 
     /**
@@ -320,7 +358,7 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
      * implementation.
      */
     protected GraphicsNode instantiateGraphicsNode() {
-        return null; // nothing to do, createGraphicsNode is fully overriden
+        return null; // nothing to do, createGraphicsNode is fully overridden
     }
 
     /**
@@ -345,10 +383,14 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
         super.buildGraphicsNode(ctx, e, node);
 
         if (ctx.isInteractive()) {
-            EventTarget target = (EventTarget)e;
+            NodeEventTarget target = (NodeEventTarget)e;
             EventListener l = new CursorMouseOverListener(ctx);
-            target.addEventListener(SVG_EVENT_MOUSEOVER, l, false);
-            ctx.storeEventListener(target, SVG_EVENT_MOUSEOVER, l, false);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 l, false, null);
+            ctx.storeEventListenerNS
+                (target, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 l, false);
         }
     }
 
@@ -382,8 +424,8 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
     /**
      * Used to handle modifications to the referenced content
      */
-    public class ReferencedElementMutationListener implements EventListener {
-        EventTarget target;
+    protected class ReferencedElementMutationListener implements EventListener {
+        protected NodeEventTarget target;
 
         public void handleEvent(Event evt) {
             // We got a mutation in the referenced content. We need to 
@@ -398,25 +440,29 @@ public class SVGUseElementBridge extends AbstractGraphicsNodeBridge {
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        Node evtNode = evt.getRelatedNode();
-
-        if ((evtNode.getNamespaceURI() == null) &&
-            (attrName.equals(SVG_X_ATTRIBUTE) ||
-             attrName.equals(SVG_Y_ATTRIBUTE) ||
-             attrName.equals(SVG_TRANSFORM_ATTRIBUTE))) {
-            node.setTransform(computeTransform(e, ctx));
-            handleGeometryChanged();
-        } else if (((evtNode.getNamespaceURI() == null) && 
-                   (attrName.equals(SVG_WIDTH_ATTRIBUTE) ||
-                    attrName.equals(SVG_HEIGHT_ATTRIBUTE))) ||
-                   (( XLinkSupport.XLINK_NAMESPACE_URI.equals
-                     (evtNode.getNamespaceURI()) ) &&  
-                    SVG_HREF_ATTRIBUTE.equals(evtNode.getLocalName()))) {
-            buildCompositeGraphicsNode(ctx, e, (CompositeGraphicsNode)node);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        try {
+            String ns = alav.getNamespaceURI();
+            String ln = alav.getLocalName();
+            if (ns == null
+                    && (ln.equals(SVG_X_ATTRIBUTE)
+                        || ln.equals(SVG_Y_ATTRIBUTE)
+                        || ln.equals(SVG_TRANSFORM_ATTRIBUTE))) {
+                node.setTransform(computeTransform((SVGTransformable) e, ctx));
+                handleGeometryChanged();
+            } else if (ns == null
+                    && (ln.equals(SVG_WIDTH_ATTRIBUTE)
+                        || ln.equals(SVG_HEIGHT_ATTRIBUTE))
+                    || ns.equals(XLINK_NAMESPACE_URI)
+                        && (ln.equals(XLINK_HREF_ATTRIBUTE))) {
+                buildCompositeGraphicsNode(ctx, e, (CompositeGraphicsNode)node);
+            }
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUtilities.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUtilities.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUtilities.java
index b91aed8..5f24625 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUtilities.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGUtilities.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -27,28 +28,30 @@ import java.util.List;
 import java.util.StringTokenizer;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngine;
-import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.dom.util.XMLSupport;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.parser.AWTTransformProducer;
+import org.apache.flex.forks.batik.parser.ClockHandler;
+import org.apache.flex.forks.batik.parser.ClockParser;
 import org.apache.flex.forks.batik.parser.ParseException;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.apache.flex.forks.batik.util.SVG12Constants;
 import org.apache.flex.forks.batik.util.SVGConstants;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGElement;
-import org.w3c.flex.forks.dom.svg.SVGLangSpace;
-import org.w3c.flex.forks.dom.svg.SVGNumberList;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGElement;
+import org.w3c.dom.svg.SVGLangSpace;
+import org.w3c.dom.svg.SVGNumberList;
 
 /**
  * A collection of utility methods for SVG.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: SVGUtilities.java,v 1.32 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGUtilities.java 594740 2007-11-14 02:55:05Z cam $
  */
 public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
 
@@ -62,19 +65,16 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
     ////////////////////////////////////////////////////////////////////////
 
     /**
-     * Returns the node imported by the given node, or null.
-     */
-    public static Node getImportedChild(Node n) {
-        return CSSEngine.getImportedChild(n);
-    }   
-
-    /**
      * Returns the logical parent element of the given element.
      * The parent element of a used element is the &lt;use> element
      * which reference it.
      */
     public static Element getParentElement(Element elt) {
-        return CSSEngine.getParentElement(elt);
+        Node n = CSSEngine.getCSSParentNode(elt);
+        while (n != null && n.getNodeType() != Node.ELEMENT_NODE) {
+            n = CSSEngine.getCSSParentNode(n);
+        }
+        return (Element) n;
     }
 
     /**
@@ -86,7 +86,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
         if (n == 0) {
             return null;
         }
-        float fl[] = new float[n];
+        float[] fl = new float[n];
         for (int i=0; i < n; i++) {
             fl[i] = l.getItem(i).getValue();
         }
@@ -260,31 +260,27 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             if (uriStr.length() == 0) { // exit if no more xlink:href
                 return "";
             }
-            SVGDocument svgDoc = (SVGDocument)e.getOwnerDocument();
-            String baseURI = ((SVGOMDocument)svgDoc).getURL();
-
+            String baseURI = ((AbstractNode) e).getBaseURI();
             ParsedURL purl = new ParsedURL(baseURI, uriStr);
-            if (!purl.complete()) 
-                throw new BridgeException(e, ERR_URI_MALFORMED,
-                                          new Object[] {uriStr});
 
             Iterator iter = refs.iterator();
             while (iter.hasNext()) {
-                if (purl.equals(iter.next())) 
+                if (purl.equals(iter.next()))
                     throw new BridgeException
-                        (e, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
+                        (ctx, e, ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                          new Object[] {uriStr});
             }
 
             try {
-                URIResolver resolver = new URIResolver(svgDoc, loader);
+                SVGDocument svgDoc = (SVGDocument)e.getOwnerDocument();
+                URIResolver resolver = ctx.createURIResolver(svgDoc, loader);
                 e = resolver.getElement(purl.toString(), e);
                 refs.add(purl);
-            } catch(IOException ex) {
-                throw new BridgeException(e, ERR_URI_IO,
+            } catch(IOException ioEx ) {
+                throw new BridgeException(ctx, e, ioEx, ERR_URI_IO,
                                           new Object[] {uriStr});
-            } catch(SecurityException ex) {
-                throw new BridgeException(e, ERR_URI_UNSECURE,
+            } catch(SecurityException secEx ) {
+                throw new BridgeException(ctx, e, secEx, ERR_URI_UNSECURE,
                                           new Object[] {uriStr});
             }
         }
@@ -326,7 +322,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                 (yStr, yAttr, uctx);
             break;
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException("Invalid unit type");
         }
         return new Point2D.Float(x, y);
     }
@@ -346,12 +342,12 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                                       UnitProcessor.Context uctx) {
         switch (unitsType) {
         case OBJECT_BOUNDING_BOX:
-            return  UnitProcessor.svgOtherLengthToObjectBoundingBox
+            return UnitProcessor.svgOtherLengthToObjectBoundingBox
                 (length, attr, uctx);
         case USER_SPACE_ON_USE:
             return UnitProcessor.svgOtherLengthToUserSpace(length, attr, uctx);
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException("Invalid unit type");
         }
     }
 
@@ -401,7 +397,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             unitsType = OBJECT_BOUNDING_BOX;
         } else {
             unitsType = parseCoordinateSystem
-                (maskElement, SVG_MASK_UNITS_ATTRIBUTE, units);
+                (maskElement, SVG_MASK_UNITS_ATTRIBUTE, units, ctx);
         }
 
         // resolve units in the (referenced) maskedElement's coordinate system
@@ -451,15 +447,17 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
         String wStr = getChainableAttributeNS
             (patternElement, null, SVG_WIDTH_ATTRIBUTE, ctx);
         if (wStr.length() == 0) {
-            throw new BridgeException(patternElement, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_WIDTH_ATTRIBUTE});
+            throw new BridgeException
+                (ctx, patternElement, ERR_ATTRIBUTE_MISSING,
+                 new Object[] {SVG_WIDTH_ATTRIBUTE});
         }
         // 'height' attribute - required
         String hStr = getChainableAttributeNS
             (patternElement, null, SVG_HEIGHT_ATTRIBUTE, ctx);
         if (hStr.length() == 0) {
-            throw new BridgeException(patternElement, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_HEIGHT_ATTRIBUTE});
+            throw new BridgeException
+                (ctx, patternElement, ERR_ATTRIBUTE_MISSING,
+                 new Object[] {SVG_HEIGHT_ATTRIBUTE});
         }
         // 'patternUnits' attribute - default is 'objectBoundingBox'
         short unitsType;
@@ -469,7 +467,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             unitsType = OBJECT_BOUNDING_BOX;
         } else {
             unitsType = parseCoordinateSystem
-                (patternElement, SVG_PATTERN_UNITS_ATTRIBUTE, units);
+                (patternElement, SVG_PATTERN_UNITS_ATTRIBUTE, units, ctx);
         }
 
         // resolve units in the (referenced) paintedElement's coordinate system
@@ -503,21 +501,21 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
         String s = getChainableAttributeNS
             (filterElement, null, SVG_FILTER_RES_ATTRIBUTE, ctx);
         Float [] vals = convertSVGNumberOptionalNumber
-            (filterElement, SVG_FILTER_RES_ATTRIBUTE, s);
+            (filterElement, SVG_FILTER_RES_ATTRIBUTE, s, ctx);
 
         if (filterRes[0] < 0 || filterRes[1] < 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_FILTER_RES_ATTRIBUTE, s});
         }
-        
+
         if (vals[0] == null)
             filterRes[0] = -1;
         else {
             filterRes[0] = vals[0].floatValue();
             if (filterRes[0] < 0)
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {SVG_FILTER_RES_ATTRIBUTE, s});
         }
 
@@ -527,7 +525,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             filterRes[1] = vals[1].floatValue();
             if (filterRes[1] < 0)
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {SVG_FILTER_RES_ATTRIBUTE, s});
         }
         return filterRes;
@@ -538,12 +536,12 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
      * second Number. It always returns an array of two Floats.  If either
      * or both values are not provided the entries are set to null
      */
-    public static Float [] 
-        convertSVGNumberOptionalNumber(Element elem, 
-                                       String attrName,
-                                       String attrValue) {
+    public static Float[] convertSVGNumberOptionalNumber(Element elem,
+                                                         String attrName,
+                                                         String attrValue,
+                                                         BridgeContext ctx) {
 
-        Float [] ret = new Float[2];
+        Float[] ret = new Float[2];
         if (attrValue.length() == 0)
             return ret;
 
@@ -556,13 +554,13 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
 
             if (tokens.hasMoreTokens()) {
                 throw new BridgeException
-                    (elem, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, elem, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {attrName, attrValue});
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (elem, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                 new Object[] {attrName, attrValue, ex});
+                (ctx, elem, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {attrName, attrValue, nfEx });
         }
         return ret;
     }
@@ -615,9 +613,22 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
            unitsType = OBJECT_BOUNDING_BOX;
        } else {
            unitsType = parseCoordinateSystem
-               (filterElement, SVG_FILTER_UNITS_ATTRIBUTE, units);
+               (filterElement, SVG_FILTER_UNITS_ATTRIBUTE, units, ctx);
        }
 
+       // The last paragraph of section 7.11 in SVG 1.1 states that objects
+       // with zero width or height bounding boxes that use filters with
+       // filterUnits="objectBoundingBox" must not use the filter.
+       // TODO: Uncomment this after confirming this is the desired behaviour.
+       /*AbstractGraphicsNodeBridge bridge =
+           (AbstractGraphicsNodeBridge) ctx.getSVGContext(filteredElement);
+       if (unitsType == OBJECT_BOUNDING_BOX && bridge != null) {
+           Rectangle2D bbox = bridge.getBBox();
+           if (bbox != null && bbox.getWidth() == 0 || bbox.getHeight() == 0) {
+               return null;
+           }
+       }*/
+
        // resolve units in the (referenced) filteredElement's
        // coordinate system
        UnitProcessor.Context uctx
@@ -634,19 +645,19 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
        // Account for region padding
        //
        units = getChainableAttributeNS
-           (filterElement, null, 
+           (filterElement, null,
             SVG12Constants.SVG_FILTER_MARGINS_UNITS_ATTRIBUTE, ctx);
        if (units.length() == 0) {
            // Default to user space on use for margins, not objectBoundingBox
            unitsType = USER_SPACE_ON_USE;
        } else {
            unitsType = parseCoordinateSystem
-               (filterElement, 
-                SVG12Constants.SVG_FILTER_MARGINS_UNITS_ATTRIBUTE, units);
+               (filterElement,
+                SVG12Constants.SVG_FILTER_MARGINS_UNITS_ATTRIBUTE, units, ctx);
        }
 
        // 'batik:dx' attribute - default is 0
-       String dxStr = filterElement.getAttributeNS(null, 
+       String dxStr = filterElement.getAttributeNS(null,
                                                    SVG12Constants.SVG_MX_ATRIBUTE);
        if (dxStr.length() == 0) {
            dxStr = SVG12Constants.SVG_FILTER_MX_DEFAULT_VALUE;
@@ -666,7 +677,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
        if (dhStr.length() == 0) {
            dhStr = SVG12Constants.SVG_FILTER_MH_DEFAULT_VALUE;
        }
-       
+
        return extendRegion(dxStr,
                            dyStr,
                            dwStr,
@@ -676,10 +687,10 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                            region,
                            uctx);
    }
-    
+
    /**
     * Returns a rectangle that represents the region extended by the
-    * specified differential coordinates. 
+    * specified differential coordinates.
     *
     * @param dxStr the differential x coordinate of the region
     * @param dyStr the differential y coordinate of the region
@@ -698,7 +709,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                                               GraphicsNode filteredNode,
                                               Rectangle2D region,
                                               UnitProcessor.Context uctx) {
-        
+
         float dx,dy,dw,dh;
         switch (unitsType) {
         case USER_SPACE_ON_USE:
@@ -734,9 +745,9 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             }
             break;
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException("Invalid unit type");
         }
-        
+
         region.setRect(region.getX() + dx,
                        region.getY() + dy,
                        region.getWidth() + dw,
@@ -745,12 +756,65 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
         return region;
     }
 
+
+    public static Rectangle2D
+        getBaseFilterPrimitiveRegion(Element filterPrimitiveElement,
+                                     Element filteredElement,
+                                     GraphicsNode filteredNode,
+                                     Rectangle2D defaultRegion,
+                                     BridgeContext ctx) {
+        String s;
+
+        // resolve units in the (referenced) filteredElement's
+        // coordinate system
+        UnitProcessor.Context uctx;
+        uctx = UnitProcessor.createContext(ctx, filteredElement);
+
+        // 'x' attribute - default is defaultRegion.getX()
+        double x = defaultRegion.getX();
+        s = filterPrimitiveElement.getAttributeNS(null, SVG_X_ATTRIBUTE);
+        if (s.length() != 0) {
+            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
+                (s, SVG_X_ATTRIBUTE, uctx);
+        }
+
+        // 'y' attribute - default is defaultRegion.getY()
+        double y = defaultRegion.getY();
+        s = filterPrimitiveElement.getAttributeNS(null, SVG_Y_ATTRIBUTE);
+        if (s.length() != 0) {
+            y = UnitProcessor.svgVerticalCoordinateToUserSpace
+                (s, SVG_Y_ATTRIBUTE, uctx);
+        }
+
+        // 'width' attribute - default is defaultRegion.getWidth()
+        double w = defaultRegion.getWidth();
+        s = filterPrimitiveElement.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
+        if (s.length() != 0) {
+            w = UnitProcessor.svgHorizontalLengthToUserSpace
+                (s, SVG_WIDTH_ATTRIBUTE, uctx);
+        }
+
+        // 'height' attribute - default is defaultRegion.getHeight()
+        double h = defaultRegion.getHeight();
+        s = filterPrimitiveElement.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
+        if (s.length() != 0) {
+            h = UnitProcessor.svgVerticalLengthToUserSpace
+                (s, SVG_HEIGHT_ATTRIBUTE, uctx);
+        }
+
+        // NOTE: it may be that dx/dy/dw/dh should be applied here
+        //       but since this is mostly aimed at feImage I am
+        //       unsure that it is really needed.
+        return new Rectangle2D.Double(x, y, w, h);
+    }
+
     /**
      * Returns the filter primitive region according to the x, y,
      * width, height, and filterUnits attributes. Processing the
      * element as the top one in the filter chain.
      *
      * @param filterPrimitiveElement the filter primitive element
+     * @param filterElement the filter element
      * @param filteredElement the element referencing the filter
      * @param filteredNode the graphics node to use (objectBoundingBox)
      * @param defaultRegion the default region to filter
@@ -759,6 +823,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
      */
     public static Rectangle2D
         convertFilterPrimitiveRegion(Element filterPrimitiveElement,
+                                     Element filterElement,
                                      Element filteredElement,
                                      GraphicsNode filteredNode,
                                      Rectangle2D defaultRegion,
@@ -766,12 +831,9 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                                      BridgeContext ctx) {
 
         // 'primitiveUnits' - default is userSpaceOnUse
-        Node parentNode = filterPrimitiveElement.getParentNode();
         String units = "";
-        if ((parentNode != null) &&
-            (parentNode.getNodeType() == Node.ELEMENT_NODE)) {
-            Element parent = (Element)parentNode;
-            units = getChainableAttributeNS(parent,
+        if (filterElement != null) {
+            units = getChainableAttributeNS(filterElement,
                                             null,
                                             SVG_PRIMITIVE_UNITS_ATTRIBUTE,
                                             ctx);
@@ -781,24 +843,28 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             unitsType = USER_SPACE_ON_USE;
         } else {
             unitsType = parseCoordinateSystem
-                (filterPrimitiveElement, SVG_FILTER_UNITS_ATTRIBUTE, units);
+                (filterElement, SVG_FILTER_UNITS_ATTRIBUTE, units, ctx);
         }
 
-        // 'x' attribute - default is defaultRegion.getX()
-        String xStr =
-            filterPrimitiveElement.getAttributeNS(null, SVG_X_ATTRIBUTE);
+        String xStr = "", yStr = "", wStr = "", hStr = "";
 
-        // 'y' attribute - default is defaultRegion.getY()
-        String yStr =
-            filterPrimitiveElement.getAttributeNS(null, SVG_Y_ATTRIBUTE);
+        if (filterPrimitiveElement != null) {
+            // 'x' attribute - default is defaultRegion.getX()
+            xStr = filterPrimitiveElement.getAttributeNS(null,
+                                                         SVG_X_ATTRIBUTE);
 
-        // 'width' attribute - default is defaultRegion.getWidth()
-        String wStr =
-            filterPrimitiveElement.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
+            // 'y' attribute - default is defaultRegion.getY()
+            yStr = filterPrimitiveElement.getAttributeNS(null,
+                                                         SVG_Y_ATTRIBUTE);
 
-        // 'height' attribute - default is defaultRegion.getHeight()
-        String hStr =
-            filterPrimitiveElement.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
+            // 'width' attribute - default is defaultRegion.getWidth()
+            wStr = filterPrimitiveElement.getAttributeNS(null,
+                                                         SVG_WIDTH_ATTRIBUTE);
+
+            // 'height' attribute - default is defaultRegion.getHeight()
+            hStr = filterPrimitiveElement.getAttributeNS(null,
+                                                         SVG_HEIGHT_ATTRIBUTE);
+        }
 
         double x = defaultRegion.getX();
         double y = defaultRegion.getY();
@@ -854,21 +920,19 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             }
             break;
         default:
-            throw new Error(); // can't be reached
+            throw new Error("invalid unitsType:" + unitsType); // can't be reached
         }
 
         Rectangle2D region = new Rectangle2D.Double(x, y, w, h);
 
         // Now, extend filter primitive region with dx/dy/dw/dh
         // settings (Batik extension). The dx/dy/dw/dh padding is
-        // *always* in userSpaceOnUse space. 
+        // *always* in userSpaceOnUse space.
 
         units = "";
-        if ((parentNode != null) &&
-            (parentNode.getNodeType() == Node.ELEMENT_NODE)) {
-            Element parent = (Element)parentNode;
+        if (filterElement != null) {
             units = getChainableAttributeNS
-                (parent, null,
+                (filterElement, null,
                  SVG12Constants.SVG_FILTER_PRIMITIVE_MARGINS_UNITS_ATTRIBUTE,
                  ctx);
         }
@@ -877,38 +941,43 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             unitsType = USER_SPACE_ON_USE;
         } else {
             unitsType = parseCoordinateSystem
-                (filterPrimitiveElement, 
-                 SVG12Constants.SVG_FILTER_PRIMITIVE_MARGINS_UNITS_ATTRIBUTE, units);
+                (filterElement,
+                 SVG12Constants.SVG_FILTER_PRIMITIVE_MARGINS_UNITS_ATTRIBUTE,
+                 units, ctx);
         }
 
-        // 'batik:dx' attribute - default is 0
-        String dxStr = filterPrimitiveElement.getAttributeNS
-            (null, SVG12Constants.SVG_MX_ATRIBUTE);
+        String dxStr = "", dyStr = "", dwStr = "", dhStr = "";
+
+        if (filterPrimitiveElement != null) {
+            // 'batik:dx' attribute - default is 0
+            dxStr = filterPrimitiveElement.getAttributeNS
+                (null, SVG12Constants.SVG_MX_ATRIBUTE);
+
+            // 'batik:dy' attribute - default is 0
+            dyStr = filterPrimitiveElement.getAttributeNS
+                (null, SVG12Constants.SVG_MY_ATRIBUTE);
+
+            // 'batik:dw' attribute - default is 0
+            dwStr = filterPrimitiveElement.getAttributeNS
+                (null, SVG12Constants.SVG_MW_ATRIBUTE);
+
+            // 'batik:dh' attribute - default is 0
+            dhStr = filterPrimitiveElement.getAttributeNS
+                (null, SVG12Constants.SVG_MH_ATRIBUTE);
+        }
         if (dxStr.length() == 0) {
             dxStr = SVG12Constants.SVG_FILTER_MX_DEFAULT_VALUE;
         }
-
-        // 'batik:dy' attribute - default is 0
-        String dyStr = filterPrimitiveElement.getAttributeNS
-            (null, SVG12Constants.SVG_MY_ATRIBUTE);
         if (dyStr.length() == 0) {
             dyStr = SVG12Constants.SVG_FILTER_MY_DEFAULT_VALUE;
         }
-
-        // 'batik:dw' attribute - default is 0
-        String dwStr = filterPrimitiveElement.getAttributeNS
-            (null, SVG12Constants.SVG_MW_ATRIBUTE);
         if (dwStr.length() == 0) {
             dwStr = SVG12Constants.SVG_FILTER_MW_DEFAULT_VALUE;
         }
-
-        // 'batik:dh' attribute - default is 0
-        String dhStr = filterPrimitiveElement.getAttributeNS
-            (null, SVG12Constants.SVG_MH_ATRIBUTE);
         if (dhStr.length() == 0) {
             dhStr = SVG12Constants.SVG_FILTER_MH_DEFAULT_VALUE;
         }
-        
+
         region = extendRegion(dxStr,
                               dyStr,
                               dwStr,
@@ -917,12 +986,47 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                               filteredNode,
                               region,
                               uctx);
-        
+
         Rectangle2D.intersect(region, filterRegion, region);
 
         return region;
     }
 
+    /**
+     * Returns the filter primitive region according to the x, y,
+     * width, height, and filterUnits attributes. Processing the
+     * element as the top one in the filter chain.
+     *
+     * @param filterPrimitiveElement the filter primitive element
+     * @param filteredElement the element referencing the filter
+     * @param filteredNode the graphics node to use (objectBoundingBox)
+     * @param defaultRegion the default region to filter
+     * @param filterRegion the filter chain region
+     * @param ctx the bridge context
+     */
+    public static Rectangle2D
+        convertFilterPrimitiveRegion(Element filterPrimitiveElement,
+                                     Element filteredElement,
+                                     GraphicsNode filteredNode,
+                                     Rectangle2D defaultRegion,
+                                     Rectangle2D filterRegion,
+                                     BridgeContext ctx) {
+
+        Node parentNode = filterPrimitiveElement.getParentNode();
+        Element filterElement = null;
+        if (parentNode != null &&
+                parentNode.getNodeType() == Node.ELEMENT_NODE) {
+            filterElement = (Element) parentNode;
+        }
+        return convertFilterPrimitiveRegion(filterPrimitiveElement,
+                                            filterElement,
+                                            filteredElement,
+                                            filteredNode,
+                                            defaultRegion,
+                                            filterRegion,
+                                            ctx);
+    }
+
     /////////////////////////////////////////////////////////////////////////
     // region convenient methods
     /////////////////////////////////////////////////////////////////////////
@@ -943,17 +1047,19 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
      * @param e the element that defines the coordinate system
      * @param attr the attribute which contains the coordinate system
      * @param coordinateSystem the coordinate system to parse
+     * @param ctx the BridgeContext to use for error information
      * @return OBJECT_BOUNDING_BOX | USER_SPACE_ON_USE
      */
     public static short parseCoordinateSystem(Element e,
                                               String attr,
-                                              String coordinateSystem) {
+                                              String coordinateSystem,
+                                              BridgeContext ctx) {
         if (SVG_USER_SPACE_ON_USE_VALUE.equals(coordinateSystem)) {
             return USER_SPACE_ON_USE;
         } else if (SVG_OBJECT_BOUNDING_BOX_VALUE.equals(coordinateSystem)) {
             return OBJECT_BOUNDING_BOX;
         } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                       new Object[] {attr, coordinateSystem});
         }
     }
@@ -965,17 +1071,19 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
      * @param e the element that defines the coordinate system
      * @param attr the attribute which contains the coordinate system
      * @param coordinateSystem the coordinate system to parse
+     * @param ctx the BridgeContext to use for error information
      * @return STROKE_WIDTH | USER_SPACE_ON_USE
      */
     public static short parseMarkerCoordinateSystem(Element e,
                                                     String attr,
-                                                    String coordinateSystem) {
+                                                    String coordinateSystem,
+                                                    BridgeContext ctx) {
         if (SVG_USER_SPACE_ON_USE_VALUE.equals(coordinateSystem)) {
             return USER_SPACE_ON_USE;
         } else if (SVG_STROKE_WIDTH_VALUE.equals(coordinateSystem)) {
             return STROKE_WIDTH;
         } else {
-            throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                       new Object[] {attr, coordinateSystem});
         }
     }
@@ -1033,7 +1141,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                 (hStr, SVG_HEIGHT_ATTRIBUTE, uctx);
             break;
         default:
-            throw new Error(); // can't be reached
+            throw new Error("invalid unitsType:" + unitsType ); // can't be reached
         }
         return new Rectangle2D.Double(x, y, w, h);
     }
@@ -1048,16 +1156,17 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
      * @param e the element that defines the transform
      * @param attr the name of the attribute that represents the transform
      * @param transform the transform to parse
-     *
+     * @param ctx the BridgeContext to use for error information
      */
     public static AffineTransform convertTransform(Element e,
                                                    String attr,
-                                                   String transform) {
+                                                   String transform,
+                                                   BridgeContext ctx) {
         try {
             return AWTTransformProducer.createAffineTransform(transform);
-        } catch (ParseException ex) {
-            throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                      new Object[] {attr, transform, ex});
+        } catch (ParseException pEx) {
+            throw new BridgeException(ctx, e, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                                      new Object[] {attr, transform, pEx });
         }
     }
 
@@ -1094,7 +1203,7 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
                                            GraphicsNode node) {
 
         Rectangle2D bounds = node.getGeometryBounds();
-        if(bounds != null){
+        if (bounds != null) {
             return new Rectangle2D.Double
                 (bounds.getX() + r.getX()*bounds.getWidth(),
                  bounds.getY() + r.getY()*bounds.getHeight(),
@@ -1104,4 +1213,40 @@ public abstract class SVGUtilities implements SVGConstants, ErrorConstants {
             return new Rectangle2D.Double();
         }
     }
+
+    /**
+     * Returns the value of the 'snapshotTime' attribute on the specified
+     * element as a float, or <code>0f</code> if the attribute is missing
+     * or given as <code>"none"</code>.
+     *
+     * @param e the element from which to retrieve the 'snapshotTime' attribute
+     * @param ctx the BridgeContext to use for error information
+     */
+    public static float convertSnapshotTime(Element e, BridgeContext ctx) {
+        if (!e.hasAttributeNS(null, SVG_SNAPSHOT_TIME_ATTRIBUTE)) {
+            return 0f;
+        }
+        String t = e.getAttributeNS(null, SVG_SNAPSHOT_TIME_ATTRIBUTE);
+        if (t.equals(SVG_NONE_VALUE)) {
+            return 0f;
+        }
+
+        class Handler implements ClockHandler {
+            float time;
+            public void clockValue(float t) {
+                time = t;
+            }
+        }
+        ClockParser p = new ClockParser(false);
+        Handler h = new Handler();
+        p.setClockHandler(h);
+        try {
+            p.parse(t);
+        } catch (ParseException pEx ) {
+            throw new BridgeException
+                (null, e, pEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] { SVG_SNAPSHOT_TIME_ATTRIBUTE, t, pEx });
+        }
+        return h.time;
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGVKernElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGVKernElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGVKernElementBridge.java
index 44bbfad..534f524 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGVKernElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGVKernElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * Bridge class for the &lt;vkern> element.
  *
  * @author <a href="mailto:dean.jackson@cmis.csiro.au">Dean Jackson</a>
- * @version $Id: SVGVKernElementBridge.java,v 1.3 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: SVGVKernElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGVKernElementBridge extends SVGKernElementBridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptSecurity.java
index 7b68d18..ef3c349 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ package org.apache.flex.forks.batik.bridge;
  * settings for scripts.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: ScriptSecurity.java,v 1.4 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: ScriptSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface ScriptSecurity {
     /**


[53/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Updated svn:externale to point to non incubator path

Posted by jm...@apache.org.
Updated svn:externale to point to non incubator path

git-svn-id: https://svn.apache.org/repos/asf/flex/sdk/trunk@1429443 13f79535-47bb-0310-9956-ffa450edef68


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/384c17c3
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/384c17c3
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/384c17c3

Branch: refs/heads/release4.11.0
Commit: 384c17c372bc4d2a0bfca2e4ab0da8774b7894e0
Parents: f5aaef8
Author: Justin Mclean <jm...@apache.org>
Authored: Sun Jan 6 00:12:26 2013 +0000
Committer: Justin Mclean <jm...@apache.org>
Committed: Sun Jan 6 00:12:26 2013 +0000

----------------------------------------------------------------------

----------------------------------------------------------------------



[48/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/airspark/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/airspark/compile-config.xml b/frameworks/projects/airspark/compile-config.xml
new file mode 100644
index 0000000..a003e1a
--- /dev/null
+++ b/frameworks/projects/airspark/compile-config.xml
@@ -0,0 +1,71 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/air/airframework.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AIRSparkClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/spark</uri>
+    </include-namespaces>  
+        
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/build.xml b/frameworks/projects/apache/build.xml
index dc69ce5..378d105 100644
--- a/frameworks/projects/apache/build.xml
+++ b/frameworks/projects/apache/build.xml
@@ -36,23 +36,12 @@
 			<!-- because targets that run before flexTasks.jar gets built would fail. -->
 			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/apache_rb.swc"
-				   locale="@{locale}">
+				   output="${FLEX_HOME}/frameworks/locale/@{locale}/apache_rb.swc">
 				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="apache"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/apache/src"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-					<include name="${playerglobal.version}/playerglobal.swc"/>
-				</external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-	                <include name="framework.swc"/>
-				</external-library-path>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
 			</compc>
 		</sequential>
 	</macrodef>	
@@ -108,6 +97,8 @@
 		<bundler locale="en_AU"/><!-- Australian resources -->
 		<bundler locale="en_GB"/><!-- United Kingdom resources -->
 		<bundler locale="en_CA"/><!-- Canadian resources -->
+		<bundler locale="de_CH"/><!-- Swiss German resources -->
+		<bundler locale="es_ES"/><!-- Spanish resources -->
 	</target>
 	
 	<target name="clean" depends="bundles-clean">
@@ -152,28 +143,11 @@
 			into the file bundles.properties in this directory.
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/apache.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/apache.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<namespace uri="http://flex.apache.org/ns" manifest="${basedir}/manifest.xml"/>
-			<include-classes>ApacheClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                  <include name="mx.swc"/>
-			</external-library-path>
-			<include-file name="defaults.css" path="${basedir}/defaults.css"/>
-			<locale/>
-			<accessible>true</accessible>
-			<keep-as3-metadata name="Bindable"/>
-			<keep-as3-metadata name="Managed"/>
-			<keep-as3-metadata name="ChangeEvent"/>
-			<keep-as3-metadata name="NonCommittingChangeEvent"/>
-			<keep-as3-metadata name="Transient"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundle-config.xml b/frameworks/projects/apache/bundle-config.xml
new file mode 100644
index 0000000..fe63add
--- /dev/null
+++ b/frameworks/projects/apache/bundle-config.xml
@@ -0,0 +1,50 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>apache</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/de_CH/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/de_CH/apache.properties b/frameworks/projects/apache/bundles/de_CH/apache.properties
new file mode 100644
index 0000000..fcae95a
--- /dev/null
+++ b/frameworks/projects/apache/bundles/de_CH/apache.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+#PostCodeValidator
+invalidCharPostcodeError=Die Postleitzahl enthält ungültige Zeichen.
+wrongLengthPostcodeError=Die Postleitzahl hat eine ungültige Länge.
+wrongFormatPostcodeError=Die Postleitzahl hat ein falsches Format.
+incorrectFormatPostcodeError=Der Postleitzahl Format String ist ungültig.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/de_DE/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/de_DE/apache.properties b/frameworks/projects/apache/bundles/de_DE/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/de_DE/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/es_ES/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/es_ES/apache.properties b/frameworks/projects/apache/bundles/es_ES/apache.properties
new file mode 100644
index 0000000..4ded827
--- /dev/null
+++ b/frameworks/projects/apache/bundles/es_ES/apache.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+#PostCodeValidator
+invalidCharPostcodeError=El código postal contiene caractéres inválidos.
+wrongLengthPostcodeError=La logitud del código postal es incorrecta.
+wrongFormatPostcodeError=El formato del código postal es incorrecto.
+incorrectFormatPostcodeError=El formato de la cadena del código postal es incorrecto.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/fi_FI/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/fi_FI/apache.properties b/frameworks/projects/apache/bundles/fi_FI/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/fi_FI/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/fr_AR/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/fr_AR/apache.properties b/frameworks/projects/apache/bundles/fr_AR/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/fr_AR/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/it_IT/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/it_IT/apache.properties b/frameworks/projects/apache/bundles/it_IT/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/it_IT/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/ja_JP/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/ja_JP/apache.properties b/frameworks/projects/apache/bundles/ja_JP/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/ja_JP/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/ko_KR/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/ko_KR/apache.properties b/frameworks/projects/apache/bundles/ko_KR/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/ko_KR/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/nb_NO/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/nb_NO/apache.properties b/frameworks/projects/apache/bundles/nb_NO/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/nb_NO/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/nl_NL/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/nl_NL/apache.properties b/frameworks/projects/apache/bundles/nl_NL/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/nl_NL/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/pt_BR/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/pt_BR/apache.properties b/frameworks/projects/apache/bundles/pt_BR/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/pt_BR/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/pt_PT/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/pt_PT/apache.properties b/frameworks/projects/apache/bundles/pt_PT/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/pt_PT/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/ru_RU/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/ru_RU/apache.properties b/frameworks/projects/apache/bundles/ru_RU/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/ru_RU/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/sv_SE/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/sv_SE/apache.properties b/frameworks/projects/apache/bundles/sv_SE/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/sv_SE/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/zh_CN/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/zh_CN/apache.properties b/frameworks/projects/apache/bundles/zh_CN/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/zh_CN/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/bundles/zh_TW/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/zh_TW/apache.properties b/frameworks/projects/apache/bundles/zh_TW/apache.properties
new file mode 100644
index 0000000..29940f7
--- /dev/null
+++ b/frameworks/projects/apache/bundles/zh_TW/apache.properties
@@ -0,0 +1,18 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/compile-config.xml b/frameworks/projects/apache/compile-config.xml
new file mode 100644
index 0000000..d4ae106
--- /dev/null
+++ b/frameworks/projects/apache/compile-config.xml
@@ -0,0 +1,72 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>http://flex.apache.org/ns</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+
+	<include-namespaces>
+		 <uri>http://flex.apache.org/ns</uri>
+	</include-namespaces>
+
+    <include-classes>
+        <class>ApacheClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/apache/src/org/apache/flex/validators/PostCodeValidator.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/src/org/apache/flex/validators/PostCodeValidator.as b/frameworks/projects/apache/src/org/apache/flex/validators/PostCodeValidator.as
index de9a918..6c99b20 100644
--- a/frameworks/projects/apache/src/org/apache/flex/validators/PostCodeValidator.as
+++ b/frameworks/projects/apache/src/org/apache/flex/validators/PostCodeValidator.as
@@ -1,4 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////
 //
 //  Licensed to the Apache Software Foundation (ASF) under one or more
 //  contributor license agreements.  See the NOTICE file distributed with
@@ -906,6 +906,7 @@ public class PostCodeValidator extends Validator
         switch (region)
         {
             case "AU":
+			case "CH":
             case "DK":
             case "NO":
                 formats = [ "NNNN" ];
@@ -921,6 +922,8 @@ public class PostCodeValidator extends Validator
                 formats = [ "ANA NAN" ];
                 break;
             case "ES":
+            	formats = [ "NNNNN" ];
+                break;
             case "FI":
             case "FR":
             case "IT":

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/authoringsupport/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/authoringsupport/.actionScriptProperties b/frameworks/projects/authoringsupport/.actionScriptProperties
index c26a5ae..a295195 100644
--- a/frameworks/projects/authoringsupport/.actionScriptProperties
+++ b/frameworks/projects/authoringsupport/.actionScriptProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties mainApplicationPath="authoringsupport.as" version="6">
   <compiler additionalCompilerArguments="-library-path= --locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/authoringsupport/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/authoringsupport/.flexLibProperties b/frameworks/projects/authoringsupport/.flexLibProperties
index 7e88c33..44fca1f 100644
--- a/frameworks/projects/authoringsupport/.flexLibProperties
+++ b/frameworks/projects/authoringsupport/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="true" version="3">
   <includeClasses/>
   <includeResources/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/authoringsupport/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/authoringsupport/build.xml b/frameworks/projects/authoringsupport/build.xml
index fc2c31c..a945145 100644
--- a/frameworks/projects/authoringsupport/build.xml
+++ b/frameworks/projects/authoringsupport/build.xml
@@ -59,20 +59,11 @@
 			(This should be an empty list.)
 		-->
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/authoringsupport.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/authoringsupport.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<include-classes>AuthoringSupportClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-            <include-file name="manifest.xml" path="${basedir}/manifest.xml"/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/authoringsupport/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/authoringsupport/compile-config.xml b/frameworks/projects/authoringsupport/compile-config.xml
new file mode 100644
index 0000000..dde3859
--- /dev/null
+++ b/frameworks/projects/authoringsupport/compile-config.xml
@@ -0,0 +1,48 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+                
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AuthoringSupportClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>manifest.xml</name>
+        <path>manifest.xml</path>
+    </include-file>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>    
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/build.xml b/frameworks/projects/automation/build.xml
index 55444c9..39cb30e 100644
--- a/frameworks/projects/automation/build.xml
+++ b/frameworks/projects/automation/build.xml
@@ -33,24 +33,12 @@
 			<!-- because targets that run before flexTasks.jar gets built would fail. -->
 			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/automation_rb.swc"
-				   locale="@{locale}">
+				   output="${FLEX_HOME}/frameworks/locale/@{locale}/automation_rb.swc">
 				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="automation"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/>
-				<include-libraries/>
-				<library-path/>
-                <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                    <include name="${playerglobal.version}/playerglobal.swc"/>
-                </external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-					<include name="framework.swc"/>
-					<include name="mx/mx.swc"/>
-				</external-library-path>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
 			</compc>
 		</sequential>
 	</macrodef>	
@@ -113,6 +101,7 @@
 				<fat-swc locale="de_DE"/>
 			</run.fat.swc>
 		</bundler>
+		<bundler locale="de_CH"/><!-- Swiss German resources -->
 		<bundler locale="es_ES"/><!-- Spanish resources -->
 		<bundler locale="fi_FI"/><!--  Finnish resources-->
 		<bundler locale="fr_FR"><!-- French resources -->
@@ -166,25 +155,11 @@
 		-->
 	
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/automation/automation.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/automation/automation.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="tool.swc"/>
-				<include name="tool_air.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 		
@@ -207,9 +182,9 @@
 
 		<!-- Call asdoc to generate dita xml files -->
 		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		     <compiler.source-path path-element="${basedir}/src"/>
-			 <doc-classes>AutomationClasses</doc-classes>
-			
+		    <compiler.source-path path-element="${basedir}/src"/>
+			<doc-classes>AutomationClasses</doc-classes>
+			<external-library-path dir="${FLEX_HOME}/frameworks/libs/automation/automation_agent.swc"/>
 		    <namespace uri="http://www.adobe.com/2006/automation_mxml" manifest="${basedir}/manifest_automation.xml"/>
 		    <jvmarg line="${asdoc.jvm.args}"/>
 		</asdoc>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/bundle-config.xml b/frameworks/projects/automation/bundle-config.xml
new file mode 100644
index 0000000..2e077d9
--- /dev/null
+++ b/frameworks/projects/automation/bundle-config.xml
@@ -0,0 +1,51 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>automation</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation/bundles/de_CH/automation.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/bundles/de_CH/automation.properties b/frameworks/projects/automation/bundles/de_CH/automation.properties
new file mode 100644
index 0000000..0a2ef7e
--- /dev/null
+++ b/frameworks/projects/automation/bundles/de_CH/automation.properties
@@ -0,0 +1,24 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# Developer RTE Section
+
+# TextFieldAutomationHelper
+
+notReplayable=KeyboardEvent mit Tastencode „{0}“ kann nicht wiedergegeben werden.
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation/bundles/pt_PT/automation.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/bundles/pt_PT/automation.properties b/frameworks/projects/automation/bundles/pt_PT/automation.properties
index 069a981..4beed5b 100644
--- a/frameworks/projects/automation/bundles/pt_PT/automation.properties
+++ b/frameworks/projects/automation/bundles/pt_PT/automation.properties
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 # Developer RTE Section
 
 # TextFieldAutomationHelper

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation/compile-config.xml b/frameworks/projects/automation/compile-config.xml
new file mode 100644
index 0000000..092051c
--- /dev/null
+++ b/frameworks/projects/automation/compile-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationClasses</class>
+    </include-classes>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_agent/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_agent/build.xml b/frameworks/projects/automation_agent/build.xml
index d7f346b..991405c 100644
--- a/frameworks/projects/automation_agent/build.xml
+++ b/frameworks/projects/automation_agent/build.xml
@@ -61,23 +61,11 @@
         -->
         
         <compc fork="true"
-               output="${FLEX_HOME}/frameworks/libs/automation/automation_agent.swc"
-        	   resource-bundle-list="${basedir}/bundles.properties">
+               output="${FLEX_HOME}/frameworks/libs/automation/automation_agent.swc">
             <jvmarg line="${compc.jvm.args}"/>
-            <target-player>${playerglobal.version}</target-player>
-            <include-classes>AutomationAgentClasses</include-classes>
-            <source-path path-element="${basedir}/src"/>
-            <source-path path-element="${FLEX_HOME}/frameworks/projects/automation/src"/>
-            <library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-                <include name="mx/mx.swc"/>
-            </external-library-path>
-            <locale/>
-            <accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
         </compc>
     </target>
 
@@ -89,29 +77,12 @@
 	    <mkdir dir="${FLEX_HOME}/frameworks/locale/${locale}"/>
 
 		<compc fork="true"
-			output="${FLEX_HOME}/frameworks/locale/${locale}/automation_agent_rb.swc"
-			locale="${locale}">
-          
-            <target-player>11</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
- 			<include-resource-bundles bundle="automation_agent"/>
-			<include-resource-bundles bundle="containers"/>
-			<include-resource-bundles bundle="controls"/>
-			<include-resource-bundles bundle="core"/>
-			<include-resource-bundles bundle="effects"/>
-			<include-resource-bundles bundle="skins"/>
-			<include-resource-bundles bundle="styles"/>
-			<include-namespaces/>
-			<include-classes/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/${locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/mx/bundles/${locale}"/>
-			<source-path path-element="${basedir}/bundles/${locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/src"/>
-			<include-libraries/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
+			output="${FLEX_HOME}/frameworks/locale/${locale}/automation_agent_rb.swc"> 
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="bundle-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+locale=${locale}" />         
 		</compc>
 	</target>
 	
@@ -121,7 +92,6 @@
     </target>
     	
 	<target name="bundles" depends="bundles_en_US">
-	    <echo message="IN bundles"/>
             <antcall target="automation_agent_bundles">
                 <param name="locale" value="da_DK"/>
             </antcall>
@@ -129,6 +99,9 @@
                 <param name="locale" value="de_DE"/>
             </antcall>
             <antcall target="automation_agent_bundles">
+                <param name="locale" value="de_CH"/>
+            </antcall>
+            <antcall target="automation_agent_bundles">
                 <param name="locale" value="es_ES"/>
             </antcall>
             <antcall target="automation_agent_bundles">
@@ -176,7 +149,6 @@
 	</target>
 	
 	<target name="bundles-clean">
-	    <echo message="IN bundles clean"/>
         <antcall target="automation_agent_bundles-clean">
             <param name="locale" value="da_DK"/>
         </antcall>
@@ -184,6 +156,9 @@
             <param name="locale" value="de_DE"/>
         </antcall>
         <antcall target="automation_agent_bundles-clean">
+            <param name="locale" value="de_CH"/>
+        </antcall>
+        <antcall target="automation_agent_bundles-clean">
             <param name="locale" value="en_US"/>
         </antcall>
         <antcall target="automation_agent_bundles-clean">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_agent/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_agent/bundle-config.xml b/frameworks/projects/automation_agent/bundle-config.xml
new file mode 100644
index 0000000..0298c0c
--- /dev/null
+++ b/frameworks/projects/automation_agent/bundle-config.xml
@@ -0,0 +1,57 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+            <path-element>../framework/src</path-element>
+            <path-element>../framework/bundles/${locale}</path-element>
+            <path-element>../mx/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>automation_agent</bundle>
+        <bundle>containers</bundle>
+        <bundle>controls</bundle>
+        <bundle>core</bundle>
+        <bundle>effects</bundle>
+        <bundle>skins</bundle>
+        <bundle>styles</bundle>
+    </include-resource-bundles>
+        
+    <target-player>11</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_agent/bundles/de_CH/automation_agent.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_agent/bundles/de_CH/automation_agent.properties b/frameworks/projects/automation_agent/bundles/de_CH/automation_agent.properties
new file mode 100644
index 0000000..d891b97
--- /dev/null
+++ b/frameworks/projects/automation_agent/bundles/de_CH/automation_agent.properties
@@ -0,0 +1,73 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+# Developer RTE Section
+
+# AutomationManager
+
+notVisible=\u201e{0}\u201c ist nicht sichtbar.
+unsupportedValues=\u201e{0}\u201c unterst\u00fctzt nicht allAutomationValues.
+unsupportedReplay=\u201e{0}\u201c unterst\u00fctzt die Wiedergabe nicht.
+rootApplication=Der Stamm der reproduzierbaren ID [\u201e{0}\u201c] wird als Anwendung erwartet.
+notResolved=Untergeordnetes Element f\u00fcr das Element \u201e{0}\u201c:\u201e{1}\u201c im \u00fcbergeordneten Element \u201e{2}\u201c kann nicht aufgel\u00f6st werden.
+resolvedTo=\u201e{0}\u201c wurde in \u201e{1}\u201c aufgel\u00f6st.
+idResolved=\u201e{0}\u201c ID wurde vorzeitig aufgel\u00f6st.
+idNotResolved=Die ID \u201e{0}\u201c konnte nicht aufgel\u00f6st werden.
+nullReturned=\u201eNull child\u201c zur\u00fcckgegeben bei \u201e{0}\u201c von \u201e{1}\u201c mit \u201e{2}\u201c untergeordneten Elementen.
+matchesMsg=\u201e{0}\u201c \u00dcbereinstimmungen f\u00fcr das Kriterium {\u201e{1}\u201c}.
+notDefined=Die Eigenschaft \u201e{0}\u201c ist in \u201e{1}\u201c nicht definiert.
+classNotFound=Die Automatisierungsklasse \u201e{0}\u201c wurde nicht gefunden.
+methodNotFound=Die Automatisierungsmethode \u201e{0}\u201c f\u00fcr die Klasse \u201e{1}\u201c wurde nicht gefunden.
+missingArgument=Argumentwert fehlt: \u201e{0}\u201c.
+
+# TextFieldAutomationHelper
+
+notReplayable=KeyboardEvent mit Tastencode \u201e{0}\u201c kann nicht wiedergegeben werden.
+
+# codec/AssetPropertyCodec
+
+notSettable=Sie k\u00f6nnen kein Element festlegen.
+
+# codec/DefaultPropertyCodec
+
+precisionLoss=M\u00f6glicher Genauigkeitsverlust beim Konvertieren der Eigenschaft \u201e{0}\u201c.
+
+# codec/ListDataObjectCodec
+
+notSupported=Die Festlegung von selectedItem wird nicht unterst\u00fctzt.
+
+# qtp/QTPAdapter
+
+invisible=Nicht sichtbar.
+notActiveX=Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden. Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro unterst\u00fctzt nur Microsoft I\nnternet Explorer.\n
+notWindows=Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden. Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro wird von \u201e{0}\u201c nicht unterst\u00fctzt.
+noExternalInterface=Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden. ExternalInterface ist auf diesem Player nicht verf\u00fcgbar.
+noPlayerID=Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden. Auf der HTML-Seite wurde keine Player-ID angegeben.
+invalidPlayerID=Das Adobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden. Ung\u00fcltige Player-ID \u201e{0}\u201c.
+unableToLoadPluginGeneric=Das Addobe Flex 4 Plug-in f\u00fcr HP Quick Test Pro konnte nicht geladen werden: \u201e{0}\u201c.
+notSynchronized=Es wird gewartet, bis der vorherige Vorgang abgeschlossen ist.
+
+# qtp/QTPEnvironment
+
+autClassNotFound=AutomationClass f\u00fcr \u201e{0}\u201c \u201e{1}\u201c wurde nicht gefunden.
+
+
+
+# Licence handler messages 
+recordLimitReached=Es ist keine Lizenz vorhanden. Mit der Testversion ist nur eine begrenzte Anzahl von Datens\u00e4tzen zul\u00e4ssig.
+replayLimitReached=Es ist keine Lizenz vorhanden. Mit der Testversion ist nur eine begrenzte Anzahl von Wiedergaben zul\u00e4ssig.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_agent/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_agent/compile-config.xml b/frameworks/projects/automation_agent/compile-config.xml
new file mode 100644
index 0000000..969de24
--- /dev/null
+++ b/frameworks/projects/automation_agent/compile-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../automation/src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationAgentClasses</class>
+    </include-classes>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_air/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_air/build.xml b/frameworks/projects/automation_air/build.xml
index 0629abf..acd3c01 100644
--- a/frameworks/projects/automation_air/build.xml
+++ b/frameworks/projects/automation_air/build.xml
@@ -47,29 +47,11 @@
 		-->
 	
 		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/automation/automation_air.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
+			   output="${FLEX_HOME}/frameworks/libs/automation/automation_air.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationAirClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/automation/src"/>
-			<library-path/>
-            <external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-                <include name="mx/mx.swc"/>
-		        <include name="textLayout.swc"/>
-				<include name="air/airframework.swc"/>
-				<include name="automation/automation/automation.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/tool.swc"/>
-				<include name="automation/tool_air.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 		</compc>
 	</target>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_air/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_air/compile-config.xml b/frameworks/projects/automation_air/compile-config.xml
new file mode 100644
index 0000000..c1584c9
--- /dev/null
+++ b/frameworks/projects/automation_air/compile-config.xml
@@ -0,0 +1,55 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/air/airframework.swc</path-element>
+            <path-element>../../libs/automation/automation.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/tool.swc</path-element>
+            <path-element>../../libs/automation/tool_air.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../automation/src</path-element>
+        </source-path>
+
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationAirClasses</class>
+    </include-classes>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_airspark/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_airspark/build.xml b/frameworks/projects/automation_airspark/build.xml
index 7cdf6ad..e85ea94 100644
--- a/frameworks/projects/automation_airspark/build.xml
+++ b/frameworks/projects/automation_airspark/build.xml
@@ -33,20 +33,11 @@
 
 			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/automation_airspark_rb.swc"
-				   locale="@{locale}">
+				   output="${FLEX_HOME}/frameworks/locale/@{locale}/automation_airspark_rb.swc">
 				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerversion.global}</target-player>
-				
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-					<include name="framework.swc"/>
-   					<include name="mx/mx.swc"/>
-				</external-library-path>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+locale=@{locale}" />
 			</compc>
 		</sequential>
 	</macrodef>	
@@ -125,29 +116,9 @@
 			   output="${FLEX_HOME}/frameworks/libs/automation/automation_airspark.swc"
 			   resource-bundle-list="${basedir}/bundles.properties">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationAirSparkClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-			<external-library-path dir="${env.AIR_HOME}/frameworks/libs/air">
-                <include name="airglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-		        <include name="mx/mx.swc"/>
-				<include name="spark.swc"/>
-                <include name="textLayout.swc"/>
-				<include name="air/airframework.swc"/>
-				<include name="air/airspark.swc"/>
-				<include name="automation/automation.swc"/>
-				<include name="automation/automation_spark.swc"/>
-				<include name="automation/automation_air.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/tool.swc"/>
-				<include name="automation/tool_air.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
 		</compc>
 	</target>
 			

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_airspark/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_airspark/bundle-config.xml b/frameworks/projects/automation_airspark/bundle-config.xml
new file mode 100644
index 0000000..6675191
--- /dev/null
+++ b/frameworks/projects/automation_airspark/bundle-config.xml
@@ -0,0 +1,45 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_airspark/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_airspark/compile-config.xml b/frameworks/projects/automation_airspark/compile-config.xml
new file mode 100644
index 0000000..8849961
--- /dev/null
+++ b/frameworks/projects/automation_airspark/compile-config.xml
@@ -0,0 +1,56 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/air/airframework.swc</path-element>
+            <path-element>../../libs/air/airspark.swc</path-element>
+            <path-element>../../libs/automation/automation.swc</path-element>
+            <path-element>../../libs/automation/automation_spark.swc</path-element>
+            <path-element>../../libs/automation/automation_air.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+            <path-element>../../libs/automation/tool.swc</path-element>
+            <path-element>../../libs/automation/tool_air.swc</path-element>
+        </external-library-path>
+
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationAirSparkClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_dmv/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_dmv/build.xml b/frameworks/projects/automation_dmv/build.xml
index 00d5fdd..e5b8ab6 100644
--- a/frameworks/projects/automation_dmv/build.xml
+++ b/frameworks/projects/automation_dmv/build.xml
@@ -52,28 +52,9 @@
 		<compc fork="true"
 			   output="${FLEX_HOME}/frameworks/libs/automation/automation_dmv.swc">
 			<jvmarg line="${compc.jvm.args}"/>
-			<target-player>${playerglobal.version}</target-player>
-			<include-classes>AutomationDMVClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/automation/src"/>
-			<library-path/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-            <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="textLayout.swc"/>
-				<include name="rpc.swc"/>
-				<include name="charts.swc"/>
-				<include name="advancedgrids.swc"/>
-				<include name="automation/automation_agent.swc"/>
-				<include name="automation/tool.swc"/>
-				<include name="automation/tool_air.swc"/>
-				</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
-			<show-deprecation-warnings>false</show-deprecation-warnings>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
 		</compc>
 	</target>
 		

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/automation_dmv/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/automation_dmv/compile-config.xml b/frameworks/projects/automation_dmv/compile-config.xml
new file mode 100644
index 0000000..c142708
--- /dev/null
+++ b/frameworks/projects/automation_dmv/compile-config.xml
@@ -0,0 +1,53 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+            <path-element>../../libs/rpc.swc</path-element>
+            <path-element>../../libs/charts.swc</path-element>
+            <path-element>../../libs/advancedgrids.swc</path-element>
+            <path-element>../../libs/automation/automation_agent.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+            <path-element>../automation/src</path-element>
+        </source-path>
+        
+        <show-deprecation-warnings>false</show-deprecation-warnings>
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>AutomationDMVClasses</class>
+    </include-classes>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>


[22/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/LocalHistory.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/LocalHistory.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/LocalHistory.java
deleted file mode 100644
index 92b6033..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/LocalHistory.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.ButtonGroup;
-import javax.swing.JMenu;
-import javax.swing.JMenuBar;
-import javax.swing.JMenuItem;
-import javax.swing.JRadioButtonMenuItem;
-
-/**
- * This class represents an history of the files visited by a single
- * browser frame.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: LocalHistory.java,v 1.12 2004/08/18 07:12:27 vhardy Exp $
- */
-public class LocalHistory {
-    /**
-     * The frame to manage.
-     */
-    protected JSVGViewerFrame svgFrame;    
-
-    /**
-     * The menu which contains the history.
-     */
-    protected JMenu menu;
-
-    /**
-     * The index of the first history item in this menu.
-     */
-    protected int index;
-
-    /**
-     * The visited URIs.
-     */
-    protected List visitedURIs = new ArrayList();
-
-    /**
-     * The index of the current URI.
-     */
-    protected int currentURI = -1;
-
-    /**
-     * The button group for the menu items.
-     */
-    protected ButtonGroup group = new ButtonGroup();
-
-    /**
-     * The action listener.
-     */
-    protected ActionListener actionListener = new RadioListener();
-
-    /**
-     * The current state.
-     */
-    protected int state;
-
-    // States
-    protected final static int STABLE_STATE = 0;
-    protected final static int BACK_PENDING_STATE = 1;
-    protected final static int FORWARD_PENDING_STATE = 2;
-    protected final static int RELOAD_PENDING_STATE = 3;
-
-    /**
-     * Creates a new local history.
-     * @param mb The menubar used to display the history. It must
-     *        contains one '@@@' item used as marker to place the
-     *        history items.
-     * @param svgFrame The frame to manage.
-     */
-    public LocalHistory(JMenuBar mb, JSVGViewerFrame svgFrame) {
-        this.svgFrame = svgFrame;
-
-        // Find the marker.
-        int mc = mb.getMenuCount();
-        for (int i = 0; i < mc; i++) {
-            JMenu m = mb.getMenu(i);
-            int ic = m.getItemCount();
-            for (int j = 0; j < ic; j++) {
-                JMenuItem mi = m.getItem(j);
-                if (mi != null) {
-                    String s = mi.getText();
-                    if ("@@@".equals(s)) {
-                        menu = m;
-                        index = j;
-                        m.remove(j);
-                        return;
-                    }
-                }
-            }
-        }
-        throw new IllegalArgumentException("No '@@@' marker found");
-    }
-
-    /**
-     * Goes back of one position in the history.
-     * Assumes that <tt>canGoBack()</tt> is true.
-     */
-    public void back() {
-        update();
-        state = BACK_PENDING_STATE;
-        currentURI -= 2;
-        svgFrame.showSVGDocument((String)visitedURIs.get(currentURI + 1));
-    }
-
-    /**
-     * Whether it is possible to go back.
-     */
-    public boolean canGoBack() {
-        return currentURI > 0;
-    }
-
-    /**
-     * Goes forward of one position in the history.
-     * Assumes that <tt>canGoForward()</tt> is true.
-     */
-    public void forward() {
-        update();
-        state = FORWARD_PENDING_STATE;
-        svgFrame.showSVGDocument((String)visitedURIs.get(currentURI + 1));
-    }
-
-    /**
-     * Whether it is possible to go forward.
-     */
-    public boolean canGoForward() {
-        return currentURI < visitedURIs.size() - 1;
-    }
-
-    /**
-     * Reloads the current document.
-     */
-    public void reload() {
-        update();
-        state = RELOAD_PENDING_STATE;
-        currentURI--;
-        svgFrame.showSVGDocument((String)visitedURIs.get(currentURI + 1));
-    }
-
-    /**
-     * Updates the history.
-     * @param uri The URI of the document just loaded.
-     */
-    public void update(String uri) {
-        if (currentURI < -1) {
-            throw new InternalError();
-        }
-        state = STABLE_STATE;
-        if (++currentURI < visitedURIs.size()) {
-            if (!visitedURIs.get(currentURI).equals(uri)) {
-                int len = menu.getItemCount();
-                for (int i = len - 1; i >= index + currentURI + 1; i--) {
-                    JMenuItem mi = menu.getItem(i);
-                    group.remove(mi);
-                    menu.remove(i);
-                }
-                visitedURIs = visitedURIs.subList(0, currentURI + 1);
-            }
-            JMenuItem mi = menu.getItem(index + currentURI);
-            group.remove(mi);
-            menu.remove(index + currentURI);
-            visitedURIs.set(currentURI, uri);
-        } else {
-            if (visitedURIs.size() >= 15) {
-                visitedURIs.remove(0);
-                JMenuItem mi = menu.getItem(index);
-                group.remove(mi);
-                menu.remove(index);
-                currentURI--;
-            }
-            visitedURIs.add(uri);
-        }
-
-        // Computes the button text.
-        String text = uri;
-        int i = uri.lastIndexOf("/");
-        if (i == -1) {
-            i = uri.lastIndexOf("\\");
-            if (i != -1) {
-                text = uri.substring(i + 1);
-            }
-        } else {
-            text = uri.substring(i + 1);
-        }
-
-        JMenuItem mi = new JRadioButtonMenuItem(text);
-        mi.setActionCommand(uri);
-        mi.addActionListener(actionListener);
-        group.add(mi);
-        mi.setSelected(true);
-        menu.insert(mi, index + currentURI);
-    }
-
-    /**
-     * Updates the state of this history.
-     */
-    protected void update() {
-        switch (state) {
-        case BACK_PENDING_STATE:
-            currentURI += 2;
-            break;
-        case RELOAD_PENDING_STATE:
-            currentURI++;
-        case FORWARD_PENDING_STATE:
-        case STABLE_STATE:
-        }
-    }
-
-    /**
-     * To listen to the radio buttons.
-     */
-    protected class RadioListener implements ActionListener {
-        public RadioListener() {}
-	public void actionPerformed(ActionEvent e) {
-	    String uri = e.getActionCommand();
-            currentURI = getItemIndex((JMenuItem)e.getSource()) - 1;
-	    svgFrame.showSVGDocument(uri);
-	}
-        public int getItemIndex(JMenuItem item) {
-            int ic = menu.getItemCount();
-            for (int i = index; i < ic; i++) {
-                if (menu.getItem(i) == item) {
-                    return i - index;
-                }
-            }
-            throw new InternalError();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Main.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Main.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Main.java
deleted file mode 100644
index eecc1ab..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/Main.java
+++ /dev/null
@@ -1,872 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.Dimension;
-import java.awt.event.ActionEvent;
-import java.awt.Font;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.InputStreamReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.net.Authenticator;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.ResourceBundle;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.ImageIcon;
-import javax.swing.JOptionPane;
-import javax.swing.JProgressBar;
-import javax.swing.UIManager;
-import javax.swing.plaf.FontUIResource;
-
-import org.apache.flex.forks.batik.swing.JSVGCanvas;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererAdapter;
-import org.apache.flex.forks.batik.swing.gvt.GVTTreeRendererEvent;
-import org.apache.flex.forks.batik.swing.svg.GVTTreeBuilderAdapter;
-import org.apache.flex.forks.batik.swing.svg.GVTTreeBuilderEvent;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderAdapter;
-import org.apache.flex.forks.batik.swing.svg.SVGDocumentLoaderEvent;
-import org.apache.flex.forks.batik.util.ApplicationSecurityEnforcer;
-import org.apache.flex.forks.batik.util.ParsedURL;
-import org.apache.flex.forks.batik.util.SVGConstants;
-import org.apache.flex.forks.batik.util.XMLResourceDescriptor;
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-
-/**
- * This class contains the main method of an SVG viewer.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: Main.java,v 1.53 2005/03/29 10:48:02 deweese Exp $
- */
-public class Main implements Application {
-    /**
-     * Extension used in addition to the scriptType value
-     * to read from the PreferenceManager whether or not the
-     * scriptType can be loaded.
-     */
-    public static final String UNKNOWN_SCRIPT_TYPE_LOAD_KEY_EXTENSION 
-        = ".load";
-
-    /**
-     * User home property
-     */
-    public static final String PROPERTY_USER_HOME = "user.home";
-
-    /**
-     * System property for specifying an additional policy file.
-     */
-    public static final String PROPERTY_JAVA_SECURITY_POLICY 
-        = "java.security.policy";
-
-    /**
-     * Batik configuration sub-directory
-     */
-    public static final String BATIK_CONFIGURATION_SUBDIRECTORY = ".batik";
-
-    /**
-     * Name of the Squiggle configuration file
-     */
-    public static final String SQUIGGLE_CONFIGURATION_FILE = "preferences.xml";
-
-    /**
-     * Name of the Squiggle policy file
-     */
-    public static final String SQUIGGLE_POLICY_FILE = "__svgbrowser.policy";
-
-    /**
-     * Entry for granting network access to scripts
-     */
-    public static final String POLICY_GRANT_SCRIPT_NETWORK_ACCESS
-        = "grant {\n  permission java.net.SocketPermission \"*\", \"listen, connect, resolve, accept\";\n};\n\n";
-
-    /**
-     * Entry for granting file system access to scripts
-     */
-    public static final String POLICY_GRANT_SCRIPT_FILE_ACCESS
-        = "grant {\n  permission java.io.FilePermission \"<<ALL FILES>>\", \"read\";\n};\n\n";
-
-    /**
-     * Entry for the list of recently visited URI
-     */
-    public static final String PREFERENCE_KEY_VISITED_URI_LIST
-        = "preference.key.visited.uri.list";
-
-    /**
-     * Entry for the maximum number of last visited URIs
-     */
-    public static final String PREFERENCE_KEY_VISITED_URI_LIST_LENGTH
-        = "preference.key.visited.uri.list.length";
-
-    /**
-     * List of separators between URI values in the preference
-     * file
-     */
-    public static final String URI_SEPARATOR = " ";
-
-    /**
-     * Default font-family value. 
-     */
-    public static final String DEFAULT_DEFAULT_FONT_FAMILY 
-        = "Arial, Helvetica, sans-serif";
-
-    /**
-     * SVG initialization file, used to trigger loading of most of
-     * the Batik classes
-     */
-    public static final String SVG_INITIALIZATION = "resources/init.svg";
-
-    /**
-     * Stores the initialization file URI
-     */
-    protected String svgInitializationURI;
-
-    /**
-     * Creates a viewer frame and shows it..
-     * @param args The command-line arguments.
-     */
-    public static void main(String[] args) {
-        new Main(args);
-    }
-
-    /**
-     * The gui resources file name
-     */
-    public final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.Main";
-
-    /**
-     * URL for Squiggle's security policy file
-     */
-    public static final String SQUIGGLE_SECURITY_POLICY
-        = "org/apache/batik/apps/svgbrowser/resources/svgbrowser.policy"; 
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager resources;
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        resources = new ResourceManager(bundle);
-    }
-
-    /**
-     * The frame's icon.
-     */
-    protected static ImageIcon frameIcon = new ImageIcon
-        (Main.class.getResource(resources.getString("Frame.icon")));
-
-    /**
-     * The preference manager.
-     */
-    protected XMLPreferenceManager preferenceManager;
-
-    /**
-     * Maximum number of recently visited URIs
-     */
-    public static final int MAX_VISITED_URIS = 10;
-
-    /**
-     * The array of last visited URIs
-     */
-    protected Vector lastVisited = new Vector();
-
-    /**
-     * The actual allowed maximum number of last visited URIs
-     */
-    protected int maxVisitedURIs = MAX_VISITED_URIS;
-
-    /**
-     * The arguments.
-     */
-    protected String[] arguments;
-
-    /**
-     * Controls whether the application can override the 
-     * system security policy property. This is done when there
-     * was no initial security policy specified when the application
-     * stated, in which case Batik will use that property.
-     */
-    protected boolean overrideSecurityPolicy = false;
-
-    /**
-     * Script security enforcement is delegated to the 
-     * security utility 
-     */
-    protected ApplicationSecurityEnforcer securityEnforcer;
-
-    /**
-     * The option handlers.
-     */
-    protected Map handlers = new HashMap();
-    {
-        handlers.put("-font-size", new FontSizeHandler());
-    }
-
-    /**
-     * The viewer frames.
-     */
-    protected List viewerFrames = new LinkedList();
-
-    /**
-     * The preference dialog.
-     */
-    protected PreferenceDialog preferenceDialog;
-
-    /**
-     * Creates a new application.
-     * @param args The command-line arguments.
-     */
-    public Main(String[] args) {
-        arguments = args;
-
-        //
-        // Preferences
-        //
-        Map defaults = new HashMap(11);
-
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_LANGUAGES,
-                     Locale.getDefault().getLanguage());
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_SHOW_RENDERING,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_AUTO_ADJUST_WINDOW,
-                     Boolean.TRUE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_SELECTION_XOR_MODE,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING,
-                     Boolean.TRUE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_SHOW_DEBUG_TRACE,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_PROXY_HOST,
-                     "");
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_PROXY_PORT,
-                     "");
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_CSS_MEDIA,
-                     "screen");
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_DEFAULT_FONT_FAMILY,
-                     DEFAULT_DEFAULT_FONT_FAMILY);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_IS_XML_PARSER_VALIDATING,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING,
-                     Boolean.TRUE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_GRANT_SCRIPT_FILE_ACCESS,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_GRANT_SCRIPT_NETWORK_ACCESS,
-                     Boolean.FALSE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_LOAD_JAVA,
-                     Boolean.TRUE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_LOAD_ECMASCRIPT,
-                     Boolean.TRUE);
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_ALLOWED_SCRIPT_ORIGIN,
-                     new Integer(ResourceOrigin.DOCUMENT));
-        defaults.put(PreferenceDialog.PREFERENCE_KEY_ALLOWED_EXTERNAL_RESOURCE_ORIGIN,
-                     new Integer(ResourceOrigin.ANY));
-        defaults.put(PREFERENCE_KEY_VISITED_URI_LIST,
-                     "");
-        defaults.put(PREFERENCE_KEY_VISITED_URI_LIST_LENGTH,
-                     new Integer(MAX_VISITED_URIS));
-	
-        securityEnforcer 
-            = new ApplicationSecurityEnforcer(this.getClass(),
-                                              SQUIGGLE_SECURITY_POLICY);
-
-        try {
-            preferenceManager = new XMLPreferenceManager(SQUIGGLE_CONFIGURATION_FILE,
-                                                         defaults);
-            String dir = System.getProperty(PROPERTY_USER_HOME);
-            File f = new File(dir, BATIK_CONFIGURATION_SUBDIRECTORY);
-            f.mkdir();
-            XMLPreferenceManager.setPreferenceDirectory(f.getCanonicalPath());
-            preferenceManager.load();
-            setPreferences();
-            initializeLastVisited();
-            Authenticator.setDefault(new JAuthenticator());
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        //
-        // Initialization
-        //
-        final AboutDialog initDialog = new AboutDialog();
-        final JProgressBar pb = new JProgressBar(0, 3);
-        initDialog.getContentPane().add("South", pb);
-
-        // Work around pack() bug on some platforms
-        Dimension ss = initDialog.getToolkit().getScreenSize();
-        Dimension ds = initDialog.getPreferredSize();
-
-        initDialog.setLocation((ss.width  - ds.width) / 2,
-                               (ss.height - ds.height) / 2);
-
-        initDialog.setSize(ds);
-        initDialog.setVisible(true);
-
-        final JSVGViewerFrame v = new JSVGViewerFrame(this);
-        JSVGCanvas c = v.getJSVGCanvas();
-        c.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() {
-            public void documentLoadingStarted(SVGDocumentLoaderEvent e) {
-                pb.setValue(1);
-            }
-            public void documentLoadingCompleted(SVGDocumentLoaderEvent e) {
-                pb.setValue(2);
-            }
-        });
-        c.addGVTTreeBuilderListener(new GVTTreeBuilderAdapter() {
-            public void gvtBuildCompleted(GVTTreeBuilderEvent e) {
-                pb.setValue(3);
-            }
-        });
-        c.addGVTTreeRendererListener(new GVTTreeRendererAdapter() {
-            public void gvtRenderingCompleted(GVTTreeRendererEvent e) {
-                initDialog.dispose();
-                v.dispose();
-                System.gc();
-                run();
-            }
-        });
-
-        c.setSize(100, 100);
-        svgInitializationURI = Main.class.getResource(SVG_INITIALIZATION).toString();
-        c.loadSVGDocument(svgInitializationURI);
-    }
-
-    /**
-     * Installs a custom policy file in the '.batik' directory. This is initialized 
-     * with the content of the policy file coming with the distribution
-     */
-    public void installCustomPolicyFile() throws IOException {
-        String securityPolicyProperty 
-            = System.getProperty(PROPERTY_JAVA_SECURITY_POLICY);
-
-        if (overrideSecurityPolicy
-            ||
-            securityPolicyProperty == null
-            ||
-            "".equals(securityPolicyProperty)) {
-            // Access default policy file
-            ParsedURL policyURL = new ParsedURL(securityEnforcer.getPolicyURL());
-            
-            // Override the user policy 
-            String dir = System.getProperty(PROPERTY_USER_HOME);
-            File batikConfigDir = new File(dir, BATIK_CONFIGURATION_SUBDIRECTORY);
-            File policyFile = new File(batikConfigDir, SQUIGGLE_POLICY_FILE);
-            
-            // Copy original policy file into local policy file
-            Reader r = new BufferedReader(new InputStreamReader(policyURL.openStream()));
-            Writer w = new FileWriter(policyFile);
-            
-            char[] buf = new char[1024];
-            int n = 0;
-            while ( (n=r.read(buf, 0, buf.length)) != -1 ) {
-                w.write(buf, 0, n);
-            }
-            
-            r.close();
-            
-            // Now, append additional grants depending on the security
-            // settings
-            boolean grantScriptNetworkAccess 
-                = preferenceManager.getBoolean
-                (PreferenceDialog.PREFERENCE_KEY_GRANT_SCRIPT_NETWORK_ACCESS);
-            boolean grantScriptFileAccess
-                = preferenceManager.getBoolean
-                (PreferenceDialog.PREFERENCE_KEY_GRANT_SCRIPT_FILE_ACCESS);
-            
-            if (grantScriptNetworkAccess) {
-                w.write(POLICY_GRANT_SCRIPT_NETWORK_ACCESS);
-            }
-            
-            if (grantScriptFileAccess) {
-                w.write(POLICY_GRANT_SCRIPT_FILE_ACCESS);
-            }
-            
-            w.close();
-            
-            // We now use the JAVA_SECURITY_POLICY property, so 
-            // we allow override on subsequent calls.
-            overrideSecurityPolicy = true;
-            
-            System.setProperty(PROPERTY_JAVA_SECURITY_POLICY,
-                               policyFile.toURL().toString());
-            
-        }
-    }
-
-    /**
-     * Runs the application.
-     */
-    public void run() {
-        try {
-            int i = 0;
-
-            for (; i < arguments.length; i++) {
-                OptionHandler oh = (OptionHandler)handlers.get(arguments[i]);
-                if (oh == null) {
-                    break;
-                }
-                i = oh.handleOption(i);
-            }
-
-            JSVGViewerFrame frame = createAndShowJSVGViewerFrame();
-            while (i < arguments.length) {
-                if (arguments[i].length() == 0) {
-                    i++;
-                    continue;
-                }
-
-                File file = new File(arguments[i]);
-                String uri = null;
-
-                try{
-                    if (file.canRead()) {
-                        uri = file.toURL().toString();
-                    }
-                }catch(SecurityException se){
-                    // Cannot access files. 
-                }
-                
-                if(uri == null){
-                    uri = arguments[i];
-                    ParsedURL purl = null;
-                    purl = new ParsedURL(arguments[i]);
-
-                    if (!purl.complete())
-                        // This is not a valid uri
-                        uri = null;
-                }
-
-                if (uri != null) {
-                    if (frame == null)
-                        frame = createAndShowJSVGViewerFrame();
-
-                    frame.showSVGDocument(uri);
-                    frame = null;
-                } else {
-                    // Let the user know that we are
-                    // skipping this file...
-
-                    // Note that frame may be null, which is
-                    // a valid argument for showMessageDialog
-
-                    // NOTE: Need to revisit Resources/Messages usage to
-                    //       have a single entry point. Should have a
-                    //       formated message here instead of a + ...
-                    JOptionPane.showMessageDialog
-                        (frame,
-                         resources.getString("Error.skipping.file")
-                         + arguments[i]);
-                }
-                i++;
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            printUsage();
-        }
-    }
-
-    /**
-     * Prints the command line usage.
-     */
-    protected void printUsage() {
-        System.out.println();
-
-        System.out.println(resources.getString("Command.header"));
-        System.out.println(resources.getString("Command.syntax"));
-        System.out.println();
-        System.out.println(resources.getString("Command.options"));
-        Iterator it = handlers.keySet().iterator();
-        while (it.hasNext()) {
-            String s = (String)it.next();
-            System.out.println(((OptionHandler)handlers.get(s)).getDescription());
-        }
-    }
-
-    /**
-     * This interface represents an option handler.
-     */
-    protected interface OptionHandler {
-        /**
-         * Handles the current option.
-         * @return the index of argument just before the next one to handle.
-         */
-        int handleOption(int i);
-
-        /**
-         * Returns the option description.
-         */
-        String getDescription();
-    }
-
-    /**
-     * To handle the '-font-size' option.
-     */
-    protected class FontSizeHandler implements OptionHandler {
-        public int handleOption(int i) {
-            int size = Integer.parseInt(arguments[++i]);
-
-            Font font = new Font("Dialog", Font.PLAIN, size);
-            FontUIResource fontRes = new FontUIResource(font);
-            UIManager.put("CheckBox.font", fontRes);
-            UIManager.put("PopupMenu.font", fontRes);
-            UIManager.put("TextPane.font", fontRes);
-            UIManager.put("MenuItem.font", fontRes);
-            UIManager.put("ComboBox.font", fontRes);
-            UIManager.put("Button.font", fontRes);
-            UIManager.put("Tree.font", fontRes);
-            UIManager.put("ScrollPane.font", fontRes);
-            UIManager.put("TabbedPane.font", fontRes);
-            UIManager.put("EditorPane.font", fontRes);
-            UIManager.put("TitledBorder.font", fontRes);
-            UIManager.put("Menu.font", fontRes);
-            UIManager.put("TextArea.font", fontRes);
-            UIManager.put("OptionPane.font", fontRes);
-            UIManager.put("DesktopIcon.font", fontRes);
-            UIManager.put("MenuBar.font", fontRes);
-            UIManager.put("ToolBar.font", fontRes);
-            UIManager.put("RadioButton.font", fontRes);
-            UIManager.put("RadioButtonMenuItem.font", fontRes);
-            UIManager.put("ToggleButton.font", fontRes);
-            UIManager.put("ToolTip.font", fontRes);
-            UIManager.put("ProgressBar.font", fontRes);
-            UIManager.put("TableHeader.font", fontRes);
-            UIManager.put("Panel.font", fontRes);
-            UIManager.put("List.font", fontRes);
-            UIManager.put("ColorChooser.font", fontRes);
-            UIManager.put("PasswordField.font", fontRes);
-            UIManager.put("TextField.font", fontRes);
-            UIManager.put("Table.font", fontRes);
-            UIManager.put("Label.font", fontRes);
-            UIManager.put("InternalFrameTitlePane.font", fontRes);
-            UIManager.put("CheckBoxMenuItem.font", fontRes);
-
-            return i;
-        }
-        public String getDescription() {
-            return resources.getString("Command.font-size");
-        }
-    }
-
-    // Application ///////////////////////////////////////////////
-
-    /**
-     * Creates and shows a new viewer frame.
-     */
-    public JSVGViewerFrame createAndShowJSVGViewerFrame() {
-        JSVGViewerFrame mainFrame = new JSVGViewerFrame(this);
-        mainFrame.setSize(resources.getInteger("Frame.width"),
-                          resources.getInteger("Frame.height"));
-        mainFrame.setIconImage(frameIcon.getImage());
-        mainFrame.setTitle(resources.getString("Frame.title"));
-        mainFrame.setVisible(true);
-        viewerFrames.add(mainFrame);
-        setPreferences(mainFrame);
-        return mainFrame;
-    }
-
-    /**
-     * Closes the given viewer frame.
-     */
-    public void closeJSVGViewerFrame(JSVGViewerFrame f) {
-        f.getJSVGCanvas().stopProcessing();
-        viewerFrames.remove(f);
-        if (viewerFrames.size() == 0) {
-            System.exit(0);
-        }
-        f.dispose();
-    }
-
-    /**
-     * Creates a new application exit action.
-     */
-    public Action createExitAction(JSVGViewerFrame vf) {
-        return new AbstractAction() {
-                public void actionPerformed(ActionEvent e) {
-                    System.exit(0);
-                }
-            };
-    }
-
-    /**
-     * Opens the given link in a new window.
-     */
-    public void openLink(String url) {
-        JSVGViewerFrame f = createAndShowJSVGViewerFrame();
-        f.getJSVGCanvas().loadSVGDocument(url);
-    }
-
-    /**
-     * Returns the XML parser class name.
-     */
-    public String getXMLParserClassName() {
-        return XMLResourceDescriptor.getXMLParserClassName();
-    }
-
-    /**
-     * Returns true if the XML parser must be in validation mode, false
-     * otherwise.
-     */
-    public boolean isXMLParserValidating() {
-        return preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_IS_XML_PARSER_VALIDATING);
-    }
-
-    /**
-     * Shows the preference dialog.
-     */
-    public void showPreferenceDialog(JSVGViewerFrame f) {
-        if (preferenceDialog == null) {
-            preferenceDialog = new PreferenceDialog(preferenceManager);
-        }
-        if (preferenceDialog.showDialog() == PreferenceDialog.OK_OPTION) {
-            try {
-                preferenceManager.save();
-                setPreferences();
-            } catch (Exception e) {
-            }
-        }
-    }
-
-    private void setPreferences() throws IOException {
-        Iterator it = viewerFrames.iterator();
-        while (it.hasNext()) {
-            setPreferences((JSVGViewerFrame)it.next());
-        }
-
-        System.setProperty("proxyHost", preferenceManager.getString
-                           (PreferenceDialog.PREFERENCE_KEY_PROXY_HOST));
-        System.setProperty("proxyPort", preferenceManager.getString
-                           (PreferenceDialog.PREFERENCE_KEY_PROXY_PORT));
-
-        installCustomPolicyFile();
-
-        securityEnforcer.enforceSecurity
-            (preferenceManager.getBoolean
-             (PreferenceDialog.PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING)
-             );
-
-    }
-
-    private void setPreferences(JSVGViewerFrame vf) {
-        boolean db = preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING);
-        vf.getJSVGCanvas().setDoubleBufferedRendering(db);
-        boolean sr = preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_SHOW_RENDERING);
-        vf.getJSVGCanvas().setProgressivePaint(sr);
-        boolean d = preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_SHOW_DEBUG_TRACE);
-        vf.setDebug(d);
-        boolean aa = preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_AUTO_ADJUST_WINDOW);
-        vf.setAutoAdjust(aa);
-        boolean dd = preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_SELECTION_XOR_MODE);
-	vf.getJSVGCanvas().setSelectionOverlayXORMode(dd);
-    }
-
-    /**
-     * Returns the user languages.
-     */
-    public String getLanguages() {
-        String s = preferenceManager.getString
-            (PreferenceDialog.PREFERENCE_KEY_LANGUAGES);
-        return (s == null)
-            ? Locale.getDefault().getLanguage()
-            : s;
-    }
-
-    /**
-     * Returns the user stylesheet uri.
-     * @return null if no user style sheet was specified.
-     */
-    public String getUserStyleSheetURI() {
-        return preferenceManager.getString
-            (PreferenceDialog.PREFERENCE_KEY_USER_STYLESHEET);
-    }
-
-    /**
-     * Returns the default value for the CSS
-     * "font-family" property
-     */
-    public String getDefaultFontFamily() {
-        return preferenceManager.getString
-            (PreferenceDialog.PREFERENCE_KEY_DEFAULT_FONT_FAMILY);
-    }
-
-    /**
-     * Returns the CSS media to use.
-     * @return empty string if no CSS media was specified.
-     */
-    public String getMedia() {
-        String s = preferenceManager.getString
-            (PreferenceDialog.PREFERENCE_KEY_CSS_MEDIA);
-        return (s == null) ? "screen" : s;
-    }
-
-    /**
-     * Returns true if the selection overlay is painted in XOR mode, false
-     * otherwise.
-     */
-    public boolean isSelectionOverlayXORMode() {
-        return preferenceManager.getBoolean
-            (PreferenceDialog.PREFERENCE_KEY_SELECTION_XOR_MODE);
-    }
-
-    /**
-     * Returns true if the input scriptType can be loaded in
-     * this application.
-     */
-    public boolean canLoadScriptType(String scriptType){
-        if (SVGConstants.SVG_SCRIPT_TYPE_ECMASCRIPT.equals(scriptType)){
-            return preferenceManager.getBoolean
-                (PreferenceDialog.PREFERENCE_KEY_LOAD_ECMASCRIPT);
-        } else if (SVGConstants.SVG_SCRIPT_TYPE_JAVA.equals(scriptType)){
-            return preferenceManager.getBoolean
-                (PreferenceDialog.PREFERENCE_KEY_LOAD_JAVA);
-        } else {
-            return preferenceManager.getBoolean
-                (scriptType + UNKNOWN_SCRIPT_TYPE_LOAD_KEY_EXTENSION);
-        }
-    }
-
-    /**
-     * Returns the allowed origins for scripts.
-     * @see ResourceOrigin
-     */
-    public int getAllowedScriptOrigin() {
-        int ret = preferenceManager.getInteger
-            (PreferenceDialog.PREFERENCE_KEY_ALLOWED_SCRIPT_ORIGIN);
-
-        return ret;
-    }
-
-    /**
-     * Returns the allowed origins for external
-     * resources. 
-     * @see ResourceOrigin
-     */
-    public int getAllowedExternalResourceOrigin() {
-        int ret = preferenceManager.getInteger
-            (PreferenceDialog.PREFERENCE_KEY_ALLOWED_EXTERNAL_RESOURCE_ORIGIN);
-
-        return ret;
-    }
-
-    /**
-     * Notifies Application of recently visited URI
-     */ 
-    public void addVisitedURI(String uri) {
-        if(svgInitializationURI.equals(uri)) {
-            return;
-        }
-        
-        int maxVisitedURIs = 
-            preferenceManager.getInteger
-            (PREFERENCE_KEY_VISITED_URI_LIST_LENGTH);
-        
-        if (maxVisitedURIs < 0) {
-            maxVisitedURIs = 0;
-        }
-
-        if (lastVisited.contains(uri)) {
-            lastVisited.removeElement(uri);
-        }
-
-        while (lastVisited.size() > 0 && lastVisited.size() > (maxVisitedURIs-1)) {
-            lastVisited.removeElementAt(0);
-        } 
-
-        if (maxVisitedURIs > 0) {
-            lastVisited.addElement(uri);
-        }
-
-        // Now, save the list of visited URL into the preferences
-        StringBuffer lastVisitedBuffer = new StringBuffer();
-
-        for (int i=0; i<lastVisited.size(); i++) {
-            lastVisitedBuffer.append
-                (URLEncoder.encode(lastVisited.elementAt(i).toString()));
-            lastVisitedBuffer.append(URI_SEPARATOR);
-        }
-        
-        preferenceManager.setString
-            (PREFERENCE_KEY_VISITED_URI_LIST,
-             lastVisitedBuffer.toString());
-
-        try {
-            preferenceManager.save();
-        } catch (Exception e) {
-            // As in other places. But this is ugly...
-        }
-    }
-
-    /**
-     * Asks Application for a list of recently visited URI.
-     */
-    public String[] getVisitedURIs() {
-        String[] visitedURIs = new String[lastVisited.size()];
-        lastVisited.copyInto(visitedURIs);
-        return visitedURIs;
-    }
-
-    /**
-     * Initializes the lastVisited array
-     */
-    protected void initializeLastVisited(){
-        String lastVisitedStr 
-            = preferenceManager.getString(PREFERENCE_KEY_VISITED_URI_LIST);
-
-        StringTokenizer st 
-            = new StringTokenizer(lastVisitedStr,
-                                  URI_SEPARATOR);
-
-        int n = st.countTokens();
-
-        int maxVisitedURIs 
-            = preferenceManager.getInteger
-            (PREFERENCE_KEY_VISITED_URI_LIST_LENGTH);
-
-        if (n > maxVisitedURIs) {
-            n = maxVisitedURIs;
-        }
-
-        for (int i=0; i<n; i++) {
-                lastVisited.addElement(URLDecoder.decode(st.nextToken()));
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/OptionPanel.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/OptionPanel.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/OptionPanel.java
deleted file mode 100644
index 8cb580e..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/OptionPanel.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.FlowLayout;
-import java.awt.LayoutManager;
-import java.awt.event.ActionEvent;
-import java.util.Locale;
-import java.util.ResourceBundle;
-
-import javax.swing.AbstractAction;
-import javax.swing.JButton;
-import javax.swing.JDialog;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-
-import org.apache.flex.forks.batik.util.gui.resource.ResourceManager;
-
-/**
- * This class represents a panel to present users with options.
- *
- * @author <a href="mailto:deweese@apache.org">Thomas DeWeese</a>
- * @version $Id: OptionPanel.java,v 1.4 2004/08/18 07:12:27 vhardy Exp $
- */
-public class OptionPanel extends JPanel {
-
-    /**
-     * The gui resources file name
-     */
-    public final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.svgbrowser.resources.GUI";
-
-    /**
-     * The resource bundle
-     */
-    protected static ResourceBundle bundle;
-
-    /**
-     * The resource manager
-     */
-    protected static ResourceManager resources;
-
-    static {
-        bundle = ResourceBundle.getBundle(RESOURCES, Locale.getDefault());
-        resources = new ResourceManager(bundle);
-    }
-
-    /**
-     * Creates a new panel.
-     */
-    public OptionPanel(LayoutManager layout) {
-	super(layout);
-    }
-
-    /**
-     * This class is modal dialog to choose the jpeg encoding quality.
-     */
-    public static class Dialog extends JDialog {
-
-	/**
-	 * The 'ok' button.
-	 */
-	protected JButton ok;
-
-	/**
-	 * The 'ok' button.
-	 */
-	protected JPanel panel;
-
-	public Dialog(Component parent, String title, JPanel panel) {
-	    super(JOptionPane.getFrameForComponent(parent), title);
-	    setModal(true);
-	    this.panel = panel;
-	    getContentPane().add(panel, BorderLayout.CENTER);
-	    getContentPane().add(createButtonPanel(), BorderLayout.SOUTH);
-	}
-
-	/**
-	 * Creates the button panel.
-	 */
-	protected JPanel createButtonPanel() {
-	    JPanel panel = new JPanel(new FlowLayout());
-	    ok = new JButton(resources.getString("OKButton.text"));
-	    ok.addActionListener(new OKButtonAction());
-	    panel.add(ok);
-	    return panel;
-	}
-
-	/**
-	 * The action associated to the 'ok' button.
-	 */
-	protected class OKButtonAction extends AbstractAction {
-
-	    public void actionPerformed(ActionEvent evt) {
-		dispose();
-	    }
-	}
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PNGOptionPanel.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PNGOptionPanel.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PNGOptionPanel.java
deleted file mode 100644
index 90b89c9..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PNGOptionPanel.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.Component;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Insets;
-
-import javax.swing.JCheckBox;
-import javax.swing.JLabel;
-
-import org.apache.flex.forks.batik.util.gui.ExtendedGridBagConstraints;
-
-/**
- * This class represents a panel to choose the color model
- * of the PNG, i.e. RGB or INDEXED.
- *
- * @author <a href="mailto:jun@oop-reserch.com">Jun Inamori</a>
- *
- */
-public class PNGOptionPanel extends OptionPanel {
-
-    /**
-     * The check box for outputing an indexed PNG.
-     */
-    protected JCheckBox check;
-
-    /**
-     * Creates a new panel.
-     */
-    public PNGOptionPanel() {
-	super(new GridBagLayout());
-
-	ExtendedGridBagConstraints constraints = 
-	    new ExtendedGridBagConstraints();
-
-	
-	constraints.insets = new Insets(5, 5, 5, 5);
-
-	constraints.weightx = 0;
-	constraints.weighty = 0;
-	constraints.fill = GridBagConstraints.NONE;
-	constraints.setGridBounds(0, 0, 1, 1);
-	add(new JLabel(resources.getString("PNGOptionPanel.label")), 
-	    constraints);
-
-	check=new JCheckBox();
-
-	constraints.weightx = 1.0;
-	constraints.fill = GridBagConstraints.HORIZONTAL;
-	constraints.setGridBounds(1, 0, 1, 1);
-	add(check, constraints);
-    }
-
-    /**
-     * Returns if indexed or not
-     */
-    public boolean isIndexed() {
-	return check.isSelected();
-    }
-
-    /**
-     * Shows a dialog to choose the indexed PNG.
-     */
-    public static boolean showDialog(Component parent) {
-        String title = resources.getString("PNGOptionPanel.dialog.title");
-        PNGOptionPanel panel = new PNGOptionPanel();
-	Dialog dialog = new Dialog(parent, title, panel);
-	dialog.pack();
-	dialog.show();
-	return panel.isIndexed();
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PreferenceDialog.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PreferenceDialog.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PreferenceDialog.java
deleted file mode 100644
index dc48d4f..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/PreferenceDialog.java
+++ /dev/null
@@ -1,1049 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-import java.awt.BorderLayout;
-import java.awt.CardLayout;
-import java.awt.Component;
-import java.awt.Container;
-import java.awt.FlowLayout;
-import java.awt.Frame;
-import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyAdapter;
-import java.awt.event.KeyEvent;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.swing.AbstractButton;
-import javax.swing.BorderFactory;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.JTabbedPane;
-import javax.swing.JTextField;
-import javax.swing.ListCellRenderer;
-import javax.swing.UIManager;
-import javax.swing.border.Border;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-
-import org.apache.flex.forks.batik.ext.swing.GridBagConstants;
-import org.apache.flex.forks.batik.ext.swing.JGridBagPanel;
-import org.apache.flex.forks.batik.util.PreferenceManager;
-import org.apache.flex.forks.batik.util.gui.CSSMediaPanel;
-import org.apache.flex.forks.batik.util.gui.LanguageDialog;
-import org.apache.flex.forks.batik.util.gui.UserStyleDialog;
-
-/**
- * Dialog that displays user preferences.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: PreferenceDialog.java,v 1.21 2004/08/18 07:12:27 vhardy Exp $
- */
-public class PreferenceDialog extends JDialog
-    implements GridBagConstants {
-
-    /**
-     * The return value if 'OK' is chosen.
-     */
-    public final static int OK_OPTION = 0;
-
-    /**
-     * The return value if 'Cancel' is chosen.
-     */
-    public final static int CANCEL_OPTION = 1;
-
-    //////////////////////////////////////////////////////////////
-    // GUI Resources Keys
-    //////////////////////////////////////////////////////////////
-
-    public static final String ICON_USER_LANGUAGE
-        = "PreferenceDialog.icon.userLanguagePref";
-
-    public static final String ICON_USER_STYLESHEET
-        = "PreferenceDialog.icon.userStylesheetPref";
-
-    public static final String ICON_BEHAVIOR
-        = "PreferenceDialog.icon.behaviorsPref";
-
-    public static final String ICON_NETWORK
-        = "PreferenceDialog.icon.networkPref";
-
-    public static final String LABEL_USER_OPTIONS
-        = "PreferenceDialog.label.user.options";
-
-    public static final String LABEL_BEHAVIOR
-        = "PreferenceDialog.label.behavior";
-
-    public static final String LABEL_NETWORK
-        = "PreferenceDialog.label.network";
-
-    public static final String LABEL_USER_LANGUAGE
-        = "PreferenceDialog.label.user.language";
-
-    public static final String LABEL_USER_STYLESHEET
-        = "PreferenceDialog.label.user.stylesheet";
-
-    public static final String LABEL_USER_FONT
-        = "PreferenceDialog.label.user.font";
-
-    public static final String LABEL_APPLICATIONS
-        = "PreferenceDialog.label.applications";
-
-    public static final String LABEL_SHOW_RENDERING
-        = "PreferenceDialog.label.show.rendering";
-
-    public static final String LABEL_AUTO_ADJUST_WINDOW
-        = "PreferenceDialog.label.auto.adjust.window";
-
-    public static final String LABEL_ENABLE_DOUBLE_BUFFERING
-        = "PreferenceDialog.label.enable.double.buffering";
-
-    public static final String LABEL_SHOW_DEBUG_TRACE
-        = "PreferenceDialog.label.show.debug.trace";
-
-    public static final String LABEL_SELECTION_XOR_MODE
-        = "PreferenceDialog.label.selection.xor.mode";
-
-    public static final String LABEL_IS_XML_PARSER_VALIDATING
-        = "PreferenceDialog.label.is.xml.parser.validating";
-
-    public static final String LABEL_ENFORCE_SECURE_SCRIPTING
-        = "PreferenceDialog.label.enforce.secure.scripting";
-
-    public static final String LABEL_SECURE_SCRIPTING_TOGGLE
-        = "PreferenceDialog.label.secure.scripting.toggle";
-
-    public static final String LABEL_GRANT_SCRIPT_FILE_ACCESS
-        = "PreferenceDialog.label.grant.script.file.access";
-
-    public static final String LABEL_GRANT_SCRIPT_NETWORK_ACCESS
-        = "PreferenceDialog.label.grant.script.network.access";
-
-    public static final String LABEL_LOAD_JAVA
-        = "PreferenceDialog.label.load.java";
-
-    public static final String LABEL_LOAD_ECMASCRIPT
-        = "PreferenceDialog.label.load.ecmascript";
-
-    public static final String LABEL_HOST
-        = "PreferenceDialog.label.host";
-
-    public static final String LABEL_PORT
-        = "PreferenceDialog.label.port";
-
-    public static final String LABEL_OK
-        = "PreferenceDialog.label.ok";
-
-    public static final String LABEL_LOAD_SCRIPTS
-        = "PreferenceDialog.label.load.scripts";
-
-    public static final String LABEL_ORIGIN_ANY
-        = "PreferenceDialog.label.origin.any";
-
-    public static final String LABEL_ORIGIN_DOCUMENT
-        = "PreferenceDialog.label.origin.document";
-
-    public static final String LABEL_ORIGIN_EMBED
-        = "PreferenceDialog.label.origin.embed";
-
-    public static final String LABEL_ORIGIN_NONE
-        = "PreferenceDialog.label.origin.none";
-
-    public static final String LABEL_SCRIPT_ORIGIN
-        = "PreferenceDialog.label.script.origin";
-
-    public static final String LABEL_RESOURCE_ORIGIN
-        = "PreferenceDialog.label.resource.origin";
-
-    public static final String LABEL_CANCEL
-        = "PreferenceDialog.label.cancel";
-
-    public static final String TITLE_BROWSER_OPTIONS
-        = "PreferenceDialog.title.browser.options";
-
-    public static final String TITLE_BEHAVIOR
-        = "PreferenceDialog.title.behavior";
-
-    public static final String TITLE_SECURITY
-        = "PreferenceDialog.title.security";
-
-    public static final String TITLE_NETWORK
-        = "PreferenceDialog.title.network";
-
-    public static final String TITLE_DIALOG
-        = "PreferenceDialog.title.dialog";
-
-    public static final String CONFIG_HOST_TEXT_FIELD_LENGTH
-        = "PreferenceDialog.config.host.text.field.length";
-
-    public static final String CONFIG_PORT_TEXT_FIELD_LENGTH
-        = "PreferenceDialog.config.port.text.field.length";
-
-    public static final String CONFIG_OK_MNEMONIC
-        = "PreferenceDialog.config.ok.mnemonic";
-
-    public static final String CONFIG_CANCEL_MNEMONIC
-        = "PreferenceDialog.config.cancel.mnemonic";
-
-    //////////////////////////////////////////////////////////////
-    // Following are the preference keys used in the
-    // PreferenceManager model.
-    //////////////////////////////////////////////////////////////
-
-    public static final String PREFERENCE_KEY_LANGUAGES
-        = "preference.key.languages";
-
-    public static final String PREFERENCE_KEY_IS_XML_PARSER_VALIDATING
-        = "preference.key.is.xml.parser.validating";
-
-    public static final String PREFERENCE_KEY_USER_STYLESHEET
-        = "preference.key.user.stylesheet";
-
-    public static final String PREFERENCE_KEY_SHOW_RENDERING
-        = "preference.key.show.rendering";
-
-    public static final String PREFERENCE_KEY_AUTO_ADJUST_WINDOW
-        = "preference.key.auto.adjust.window";
-
-    public static final String PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING
-        = "preference.key.enable.double.buffering";
-
-    public static final String PREFERENCE_KEY_SHOW_DEBUG_TRACE
-        = "preference.key.show.debug.trace";
-
-    public static final String PREFERENCE_KEY_SELECTION_XOR_MODE
-        = "preference.key.selection.xor.mode";
-
-    public static final String PREFERENCE_KEY_PROXY_HOST
-        = "preference.key.proxy.host";
-
-    public static final String PREFERENCE_KEY_CSS_MEDIA
-        = "preference.key.cssmedia";
-
-    public static final String PREFERENCE_KEY_DEFAULT_FONT_FAMILY
-        = "preference.key.default.font.family";
-
-    public static final String PREFERENCE_KEY_PROXY_PORT
-        = "preference.key.proxy.port";
-
-    public static final String PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING
-        = "preference.key.enforce.secure.scripting";
-
-    public static final String PREFERENCE_KEY_GRANT_SCRIPT_FILE_ACCESS
-        = "preference.key.grant.script.file.access";
-
-    public static final String PREFERENCE_KEY_GRANT_SCRIPT_NETWORK_ACCESS
-        = "preferenced.key.grant.script.network.access";
-
-    public static final String PREFERENCE_KEY_LOAD_ECMASCRIPT
-        = "preference.key.load.ecmascript";
-
-    public static final String PREFERENCE_KEY_LOAD_JAVA
-        = "preference.key.load.java.script";
-
-    public static final String PREFERENCE_KEY_ALLOWED_SCRIPT_ORIGIN
-        = "preference.key.allowed.script.origin";
-
-    public static final String PREFERENCE_KEY_ALLOWED_EXTERNAL_RESOURCE_ORIGIN
-        = "preference.key.allowed.external.resource.origin";
-
-    /**
-     * <tt>PreferenceManager</tt> used to store and retrieve
-     * preferences
-     */
-    protected PreferenceManager model;
-
-    /**
-     * Allows selection of the desired configuration panel
-     */
-    protected ConfigurationPanelSelector configPanelSelector;
-
-    /**
-     * Allows selection of the user languages
-     */
-    protected LanguageDialog.Panel languagePanel;
-
-    /**
-     * Allows selection of a user stylesheet
-     */
-    protected UserStyleDialog.Panel userStylesheetPanel;
-
-    protected JCheckBox showRendering;
-
-    protected JCheckBox autoAdjustWindow;
-
-    protected JCheckBox showDebugTrace;
-
-    protected JCheckBox enableDoubleBuffering;
-
-    protected JCheckBox selectionXorMode;
-
-    protected JCheckBox isXMLParserValidating;
-
-    protected JCheckBox enforceSecureScripting;
-
-    protected JCheckBox grantScriptFileAccess;
-
-    protected JCheckBox grantScriptNetworkAccess;
-
-    protected JCheckBox loadJava;
-
-    protected JCheckBox loadEcmascript;
-
-    protected ButtonGroup scriptOriginGroup;
-
-    protected ButtonGroup resourceOriginGroup;
-
-    protected JTextField host, port;
-
-    protected CSSMediaPanel cssMediaPanel;
-
-    /**
-     * Code indicating whether the dialog was OKayed
-     * or cancelled
-     */
-    protected int returnCode;
-
-    /**
-     * Default constructor
-     */
-    public PreferenceDialog(PreferenceManager model){
-        super((Frame)null, true);
-
-        if(model == null){
-            throw new IllegalArgumentException();
-        }
-
-        this.model = model;
-        buildGUI();
-        initializeGUI();
-        pack();
-    }
-
-    /**
-     * Returns the preference manager used by this dialog.
-     */
-    public PreferenceManager getPreferenceManager() {
-        return model;
-    }
-
-    /**
-     * Initializes the GUI components with the values
-     * from the model.
-     */
-    protected void initializeGUI(){
-        //
-        // Initialize language. The set of languages is
-        // defined by a String.
-        //
-        String languages = model.getString(PREFERENCE_KEY_LANGUAGES);
-        languagePanel.setLanguages(languages);
-
-        //
-        // Initializes the User Stylesheet
-        //
-        String userStylesheetPath = model.getString(PREFERENCE_KEY_USER_STYLESHEET);
-        userStylesheetPanel.setPath(userStylesheetPath);
-
-        //
-        // Initializes the browser options
-        //
-        showRendering.setSelected(model.getBoolean(PREFERENCE_KEY_SHOW_RENDERING));
-        autoAdjustWindow.setSelected(model.getBoolean(PREFERENCE_KEY_AUTO_ADJUST_WINDOW));
-        enableDoubleBuffering.setSelected(model.getBoolean(PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING));
-        showDebugTrace.setSelected(model.getBoolean(PREFERENCE_KEY_SHOW_DEBUG_TRACE));
-        selectionXorMode.setSelected(model.getBoolean(PREFERENCE_KEY_SELECTION_XOR_MODE));
-
-        isXMLParserValidating.setSelected(model.getBoolean(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING));
-        enforceSecureScripting.setSelected(model.getBoolean(PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING));
-        grantScriptFileAccess.setSelected(model.getBoolean(PREFERENCE_KEY_GRANT_SCRIPT_FILE_ACCESS));
-        grantScriptNetworkAccess.setSelected(model.getBoolean(PREFERENCE_KEY_GRANT_SCRIPT_NETWORK_ACCESS));
-        loadJava.setSelected(model.getBoolean(PREFERENCE_KEY_LOAD_JAVA));
-        loadEcmascript.setSelected(model.getBoolean(PREFERENCE_KEY_LOAD_ECMASCRIPT));
-
-        String allowedScriptOrigin = "" + model.getInteger(PREFERENCE_KEY_ALLOWED_SCRIPT_ORIGIN);
-        if (allowedScriptOrigin == null || "".equals(allowedScriptOrigin)) {
-            allowedScriptOrigin = "" + ResourceOrigin.NONE;
-        }
-
-        Enumeration e = scriptOriginGroup.getElements();
-        while (e.hasMoreElements()) {
-            AbstractButton ab = (AbstractButton)e.nextElement();
-            String ac = ab.getActionCommand();
-            if (allowedScriptOrigin.equals(ac)) {
-                ab.setSelected(true);
-            }
-        }
-
-        String allowedResourceOrigin = "" + model.getInteger(PREFERENCE_KEY_ALLOWED_EXTERNAL_RESOURCE_ORIGIN);
-        if (allowedResourceOrigin == null || "".equals(allowedResourceOrigin)) {
-            allowedResourceOrigin = "" + ResourceOrigin.NONE;
-        }
-
-        e = resourceOriginGroup.getElements();
-        while (e.hasMoreElements()) {
-            AbstractButton ab = (AbstractButton)e.nextElement();
-            String ac = ab.getActionCommand();
-            if (allowedResourceOrigin.equals(ac)) {
-                ab.setSelected(true);
-            }
-        }
-
-        showRendering.setEnabled
-            (!model.getBoolean(PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING));
-        grantScriptFileAccess.setEnabled
-            (model.getBoolean(PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING));
-        grantScriptNetworkAccess.setEnabled
-            (model.getBoolean(PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING));
-
-        //
-        // Initialize the proxy options
-        //
-        host.setText(model.getString(PREFERENCE_KEY_PROXY_HOST));
-        port.setText(model.getString(PREFERENCE_KEY_PROXY_PORT));
-
-        //
-        // Initialize the CSS media
-        //
-        cssMediaPanel.setMedia(model.getString(PREFERENCE_KEY_CSS_MEDIA));
-        //
-        // Sets the dialog's title
-        //
-        setTitle(Resources.getString(TITLE_DIALOG));
-    }
-
-    /**
-     * Stores current setting in PreferenceManager model
-     */
-    protected void savePreferences(){
-        model.setString(PREFERENCE_KEY_LANGUAGES,
-                        languagePanel.getLanguages());
-        model.setString(PREFERENCE_KEY_USER_STYLESHEET,
-                        userStylesheetPanel.getPath());
-        model.setBoolean(PREFERENCE_KEY_SHOW_RENDERING,
-                         showRendering.isSelected());
-        model.setBoolean(PREFERENCE_KEY_AUTO_ADJUST_WINDOW,
-                         autoAdjustWindow.isSelected());
-        model.setBoolean(PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING,
-                         enableDoubleBuffering.isSelected());
-        model.setBoolean(PREFERENCE_KEY_SHOW_DEBUG_TRACE,
-                         showDebugTrace.isSelected());
-        model.setBoolean(PREFERENCE_KEY_SELECTION_XOR_MODE,
-                         selectionXorMode.isSelected());
-        model.setBoolean(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING,
-                         isXMLParserValidating.isSelected());
-        model.setBoolean(PREFERENCE_KEY_ENFORCE_SECURE_SCRIPTING,
-                         enforceSecureScripting.isSelected());
-        model.setBoolean(PREFERENCE_KEY_GRANT_SCRIPT_FILE_ACCESS,
-                         grantScriptFileAccess.isSelected());
-        model.setBoolean(PREFERENCE_KEY_GRANT_SCRIPT_NETWORK_ACCESS,
-                         grantScriptNetworkAccess.isSelected());
-        model.setBoolean(PREFERENCE_KEY_LOAD_JAVA,
-                         loadJava.isSelected());
-        model.setBoolean(PREFERENCE_KEY_LOAD_ECMASCRIPT,
-                         loadEcmascript.isSelected());
-        model.setInteger(PREFERENCE_KEY_ALLOWED_SCRIPT_ORIGIN,
-                         (new Integer(scriptOriginGroup.getSelection().getActionCommand())).intValue());
-        model.setInteger(PREFERENCE_KEY_ALLOWED_EXTERNAL_RESOURCE_ORIGIN,
-                         (new Integer(resourceOriginGroup.getSelection().getActionCommand())).intValue());
-        model.setString(PREFERENCE_KEY_PROXY_HOST,
-                        host.getText());
-        model.setString(PREFERENCE_KEY_PROXY_PORT,
-                        port.getText());
-        model.setString(PREFERENCE_KEY_CSS_MEDIA,
-                        cssMediaPanel.getMediaAsString());
-    }
-
-    /**
-     * Builds the UI for this dialog
-     */
-    protected void buildGUI(){
-        JPanel panel = new JPanel(new BorderLayout());
-
-        Component config = buildConfigPanel();
-        Component list = buildConfigPanelList();
-
-        panel.add(list, BorderLayout.WEST);
-        panel.add(config, BorderLayout.CENTER);
-        panel.add(buildButtonsPanel(), BorderLayout.SOUTH);
-        panel.setBorder(BorderFactory.createEmptyBorder(2, 2, 0, 0));
-
-        getContentPane().add(panel);
-    }
-
-    /**
-     * Creates the OK/Cancel buttons panel
-     */
-    protected JPanel buildButtonsPanel() {
-        JPanel  p = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-        JButton okButton = new JButton(Resources.getString(LABEL_OK));
-        okButton.setMnemonic(Resources.getCharacter(CONFIG_OK_MNEMONIC));
-        JButton cancelButton = new JButton(Resources.getString(LABEL_CANCEL));
-        cancelButton.setMnemonic(Resources.getCharacter(CONFIG_CANCEL_MNEMONIC));
-        p.add(okButton);
-        p.add(cancelButton);
-
-        okButton.addActionListener(new ActionListener(){
-                public void actionPerformed(ActionEvent e){
-                    setVisible(false);
-                    returnCode = OK_OPTION;
-                    savePreferences();
-                    dispose();
-                }
-            });
-
-        cancelButton.addActionListener(new ActionListener(){
-                public void actionPerformed(ActionEvent e){
-                    setVisible(false);
-                    returnCode = CANCEL_OPTION;
-                    dispose();
-                }
-            });
-
-        addKeyListener(new KeyAdapter(){
-                public void keyPressed(KeyEvent e){
-                    if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
-                        setVisible(false);
-                        returnCode = CANCEL_OPTION;
-                        dispose();
-                    }
-                }
-            });
-
-        return p;
-    }
-
-    protected Component buildConfigPanelList(){
-        String[] configList
-            = { Resources.getString(LABEL_NETWORK),
-                Resources.getString(LABEL_USER_LANGUAGE),
-                Resources.getString(LABEL_BEHAVIOR),
-                Resources.getString(LABEL_USER_STYLESHEET),
-                };
-
-        final JList list = new JList(configList);
-        list.addListSelectionListener(new ListSelectionListener(){
-                public void valueChanged(ListSelectionEvent evt){
-                    if(!evt.getValueIsAdjusting()){
-                        configPanelSelector.select(list.getSelectedValue().toString());
-                    }
-                }
-            });
-        list.setVisibleRowCount(4);
-
-        // Set Cell Renderer
-        ClassLoader cl = this.getClass().getClassLoader();
-        Map map= new Hashtable();
-        map.put(Resources.getString(LABEL_USER_LANGUAGE), new ImageIcon(cl.getResource(Resources.getString(ICON_USER_LANGUAGE))));
-        map.put(Resources.getString(LABEL_USER_STYLESHEET), new ImageIcon(cl.getResource(Resources.getString(ICON_USER_STYLESHEET))));
-        map.put(Resources.getString(LABEL_BEHAVIOR), new ImageIcon(cl.getResource(Resources.getString(ICON_BEHAVIOR))));
-        map.put(Resources.getString(LABEL_NETWORK), new ImageIcon(cl.getResource(Resources.getString(ICON_NETWORK))));
-
-        list.setCellRenderer(new IconCellRenderer(map));
-
-        list.setSelectedIndex(0);
-
-        return new JScrollPane(list);
-    }
-
-    protected Component buildConfigPanel(){
-        JPanel configPanel = new JPanel();
-        CardLayout cardLayout = new CardLayout();
-        configPanel.setLayout(cardLayout);
-        configPanel.add(buildUserLanguage(),
-                        Resources.getString(LABEL_USER_LANGUAGE));
-
-        configPanel.add(buildUserStyleSheet(),
-                        Resources.getString(LABEL_USER_STYLESHEET));
-
-        configPanel.add(buildBehavior(),
-                        Resources.getString(LABEL_BEHAVIOR));
-
-        configPanel.add(buildNetwork(),
-                        Resources.getString(LABEL_NETWORK));
-
-        configPanel.add(buildApplications(),
-                        Resources.getString(LABEL_APPLICATIONS));
-
-        configPanelSelector = new ConfigurationPanelSelector(configPanel,
-                                                             cardLayout);
-
-        return configPanel;
-    }
-
-    protected Component buildUserOptions(){
-        JTabbedPane p = new JTabbedPane();
-        p.add(buildUserLanguage(),
-              Resources.getString(LABEL_USER_LANGUAGE));
-        p.add(buildUserStyleSheet(),
-              Resources.getString(LABEL_USER_STYLESHEET));
-        p.add(buildUserFont(),
-              Resources.getString(LABEL_USER_FONT));
-        return p;
-    }
-
-    protected Component buildUserLanguage(){
-        languagePanel = new LanguageDialog.Panel();
-        return languagePanel;
-    }
-
-    protected Component buildUserStyleSheet(){
-        JPanel panel = new JPanel(new BorderLayout());
-        panel.setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
-
-        userStylesheetPanel = new UserStyleDialog.Panel();
-        panel.add(userStylesheetPanel, BorderLayout.NORTH);
-
-        cssMediaPanel = new CSSMediaPanel();
-        panel.add(cssMediaPanel, BorderLayout.SOUTH);
-
-        return panel;
-    }
-
-    protected Component buildUserFont(){
-        return new JButton("User Font");
-    }
-
-    protected Component buildBehavior(){
-        JGridBagPanel p = new JGridBagPanel();
-        showRendering
-            = new JCheckBox(Resources.getString(LABEL_SHOW_RENDERING));
-        autoAdjustWindow
-            = new JCheckBox(Resources.getString(LABEL_AUTO_ADJUST_WINDOW));
-        enableDoubleBuffering
-            = new JCheckBox(Resources.getString(LABEL_ENABLE_DOUBLE_BUFFERING));
-        enableDoubleBuffering.addActionListener(new ActionListener() {
-            public void actionPerformed(ActionEvent evt) {
-                showRendering.setEnabled(!enableDoubleBuffering.isSelected());
-            }
-        });
-        showDebugTrace
-            = new JCheckBox(Resources.getString(LABEL_SHOW_DEBUG_TRACE));
-
-        selectionXorMode
-            = new JCheckBox(Resources.getString(LABEL_SELECTION_XOR_MODE));
-
-        isXMLParserValidating
-            = new JCheckBox(Resources.getString(LABEL_IS_XML_PARSER_VALIDATING));
-
-        enforceSecureScripting
-            = new JCheckBox(Resources.getString(LABEL_SECURE_SCRIPTING_TOGGLE));
-
-        grantScriptFileAccess
-            = new JCheckBox(Resources.getString(LABEL_GRANT_SCRIPT_FILE_ACCESS));
-        
-        grantScriptNetworkAccess
-            = new JCheckBox(Resources.getString(LABEL_GRANT_SCRIPT_NETWORK_ACCESS));
-
-        JGridBagPanel scriptSecurityPanel = new JGridBagPanel();
-        scriptSecurityPanel.add(enforceSecureScripting,    0, 0, 1, 1, WEST, HORIZONTAL, 1, 0);
-        scriptSecurityPanel.add(grantScriptFileAccess,    1, 0, 1, 1, WEST, HORIZONTAL, 1, 0);
-        scriptSecurityPanel.add(grantScriptNetworkAccess, 1, 1, 1, 1, WEST, HORIZONTAL, 1, 0);
-        
-        enforceSecureScripting.addActionListener(new ActionListener() {
-                public void actionPerformed(ActionEvent e) {
-                    grantScriptFileAccess.setEnabled(enforceSecureScripting.isSelected());
-                    grantScriptNetworkAccess.setEnabled(enforceSecureScripting.isSelected());
-                }
-            });
-
-        loadJava
-            = new JCheckBox(Resources.getString(LABEL_LOAD_JAVA));
-
-        loadEcmascript
-            = new JCheckBox(Resources.getString(LABEL_LOAD_ECMASCRIPT));
-
-        JGridBagPanel loadScriptPanel = new JGridBagPanel();
-        loadScriptPanel.add(loadJava, 0, 0, 1, 1, WEST, NONE, 1, 0);
-        loadScriptPanel.add(loadEcmascript, 1, 0, 1, 1, WEST, NONE, 1, 0);
-
-        JPanel scriptOriginPanel = new JPanel();
-
-        scriptOriginGroup = new ButtonGroup();
-        JRadioButton rb = null;
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_ANY));
-        rb.setActionCommand("" + ResourceOrigin.ANY);
-        scriptOriginGroup.add(rb);
-        scriptOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_DOCUMENT));
-        rb.setActionCommand("" + ResourceOrigin.DOCUMENT);
-        scriptOriginGroup.add(rb);
-        scriptOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_EMBED));
-        rb.setActionCommand("" + ResourceOrigin.EMBEDED);
-        scriptOriginGroup.add(rb);
-        scriptOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_NONE));
-        rb.setActionCommand("" + ResourceOrigin.NONE);
-        scriptOriginGroup.add(rb);
-        scriptOriginPanel.add(rb);
-
-        JPanel resourceOriginPanel = new JPanel();
-        resourceOriginGroup = new ButtonGroup();
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_ANY));
-        rb.setActionCommand("" + ResourceOrigin.ANY);
-        resourceOriginGroup.add(rb);
-        resourceOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_DOCUMENT));
-        rb.setActionCommand("" + ResourceOrigin.DOCUMENT);
-        resourceOriginGroup.add(rb);
-        resourceOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_EMBED));
-        rb.setActionCommand("" + ResourceOrigin.EMBEDED);
-        resourceOriginGroup.add(rb);
-        resourceOriginPanel.add(rb);
-
-        rb = new JRadioButton(Resources.getString(LABEL_ORIGIN_NONE));
-        rb.setActionCommand("" + ResourceOrigin.NONE);
-        resourceOriginGroup.add(rb);
-        resourceOriginPanel.add(rb);
-
-        JTabbedPane browserOptions = new JTabbedPane();
-        // browserOptions.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
-
-        p.add(showRendering,    0, 0, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(autoAdjustWindow, 0, 1, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(enableDoubleBuffering, 0, 2, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(showDebugTrace,   0, 3, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(selectionXorMode,   0, 4, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(isXMLParserValidating,   0, 5, 2, 1, WEST, HORIZONTAL, 1, 0);
-        p.add(new JLabel(), 0, 11, 2, 1, WEST, BOTH, 1, 1); 
-
-        browserOptions.addTab(Resources.getString(TITLE_BEHAVIOR), p);
-        p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
-        p = new JGridBagPanel();
-        p.add(new JLabel(Resources.getString(LABEL_ENFORCE_SECURE_SCRIPTING)), 0, 6, 1, 1, NORTHWEST, NONE, 0, 0);
-        p.add(scriptSecurityPanel, 1, 6, 1, 1, WEST, NONE, 0, 0);
-        p.add(new JLabel(Resources.getString(LABEL_LOAD_SCRIPTS)), 0, 8, 1, 1, WEST, NONE, 0, 0);
-        p.add(loadScriptPanel, 1, 8, 1, 1, WEST, NONE, 1, 0);
-        p.add(new JLabel(Resources.getString(LABEL_SCRIPT_ORIGIN)), 0, 9, 1, 1, WEST, NONE, 0, 0);
-        p.add(scriptOriginPanel, 1, 9, 1, 1, WEST, NONE, 1, 0);
-        p.add(new JLabel(Resources.getString(LABEL_RESOURCE_ORIGIN)), 0, 10, 1, 1, WEST, NONE, 0, 0);
-        p.add(resourceOriginPanel, 1, 10, 1, 1, WEST, NONE, 1, 0); 
-        p.add(new JLabel(), 0, 11, 2, 1, WEST, BOTH, 1, 1); 
-
-        browserOptions.addTab(Resources.getString(TITLE_SECURITY), p);
-        p.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
-        JGridBagPanel borderedPanel = new JGridBagPanel();
-        borderedPanel.add(browserOptions, 0, 0, 1, 1, WEST, BOTH, 1, 1);
-        borderedPanel.setBorder(BorderFactory.createCompoundBorder
-                                (BorderFactory.createTitledBorder
-                                 (BorderFactory.createEtchedBorder(),
-                                  Resources.getString(TITLE_BROWSER_OPTIONS)),
-                                 BorderFactory.createEmptyBorder(10, 10, 10, 10)));
-        
-        return borderedPanel;
-    }
-
-    protected Component buildNetwork(){
-        JGridBagPanel p = new JGridBagPanel();
-        host = new JTextField(Resources.getInteger(CONFIG_HOST_TEXT_FIELD_LENGTH));
-        JLabel hostLabel = new JLabel(Resources.getString(LABEL_HOST));
-        port = new JTextField(Resources.getInteger(CONFIG_PORT_TEXT_FIELD_LENGTH));
-        JLabel portLabel = new JLabel(Resources.getString(LABEL_PORT));
-        p.add(hostLabel, 0, 0, 1, 1, WEST, HORIZONTAL, 0, 0);
-        p.add(host, 0, 1, 1, 1, CENTER, HORIZONTAL, 1, 0);
-        p.add(portLabel, 1, 0, 1, 1, WEST, HORIZONTAL, 0, 0);
-        p.add(port, 1, 1, 1, 1, CENTER, HORIZONTAL, 0, 0);
-        p.add(new JLabel(""), 2, 1, 1, 1, CENTER, HORIZONTAL, 0, 0);
-
-        p.setBorder(BorderFactory.createCompoundBorder
-                    (BorderFactory.createTitledBorder
-                     (BorderFactory.createEtchedBorder(),
-                     Resources.getString(TITLE_NETWORK)),
-                     BorderFactory.createEmptyBorder(10, 10, 10, 10)));
-
-        return p;
-    }
-
-    protected Component buildApplications(){
-        return new JButton("Applications");
-    }
-
-    /**
-     * Shows the dialog
-     * @return OK_OPTION or CANCEL_OPTION
-     */
-    public int showDialog(){
-        pack();
-        show();
-        return returnCode;
-    }
-
-    public static void main(String[] args){
-        Map defaults = new Hashtable();
-        defaults.put(PREFERENCE_KEY_LANGUAGES, "fr");
-        defaults.put(PREFERENCE_KEY_SHOW_RENDERING, Boolean.TRUE);
-        defaults.put(PREFERENCE_KEY_SELECTION_XOR_MODE, Boolean.FALSE);
-        defaults.put(PREFERENCE_KEY_IS_XML_PARSER_VALIDATING, Boolean.FALSE);
-        defaults.put(PREFERENCE_KEY_AUTO_ADJUST_WINDOW, Boolean.TRUE);
-        defaults.put(PREFERENCE_KEY_ENABLE_DOUBLE_BUFFERING, Boolean.TRUE);
-        defaults.put(PREFERENCE_KEY_SHOW_DEBUG_TRACE, Boolean.TRUE);
-        defaults.put(PREFERENCE_KEY_PROXY_HOST, "webcache.eng.sun.com");
-        defaults.put(PREFERENCE_KEY_PROXY_PORT, "8080");
-
-        XMLPreferenceManager manager
-            = new XMLPreferenceManager(args[0], defaults);
-        PreferenceDialog dlg = new PreferenceDialog(manager);
-        int c = dlg.showDialog();
-        if(c == OK_OPTION){
-            try{
-                manager.save();
-                System.out.println("Done Saving options");
-                System.exit(0);
-            }catch(Exception e){
-                System.err.println("Could not save options");
-                e.printStackTrace();
-            }
-        }
-    }
-}
-
-
-class ConfigurationPanelSelector {
-    private CardLayout layout;
-    private Container container;
-
-    public ConfigurationPanelSelector(Container container,
-                                      CardLayout layout){
-        this.layout = layout;
-        this.container = container;
-    }
-
-    public void select(String panelName){
-        layout.show(container, panelName);
-    }
-}
-
-class IconCellRendererOld extends JLabel implements ListCellRenderer {
-    Map iconMap;
-
-    public IconCellRendererOld(Map iconMap){
-        this.iconMap = iconMap;
-
-        setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-    }
-    public Component getListCellRendererComponent
-        (
-         JList list,
-         Object value,            // value to display
-         int index,               // cell index
-         boolean isSelected,      // is the cell selected
-         boolean cellHasFocus)    // the list and the cell have the focus
-    {
-        String s = value.toString();
-        setText(s);
-        ImageIcon icon = (ImageIcon)iconMap.get(s);
-        if(icon != null){
-            setIcon(icon);
-            setHorizontalAlignment(CENTER);
-            setHorizontalTextPosition(CENTER);
-            setVerticalTextPosition(BOTTOM);
-        }
-        // if (isSelected) {
-        setBackground(java.awt.Color.red); // list.getSelectionBackground());
-            setForeground(list.getSelectionForeground());
-            /*}
-        else {
-            setBackground(list.getBackground());
-            setForeground(list.getForeground());
-            }*/
-            // setEnabled(list.isEnabled());
-            // setFont(list.getFont());
-        return this;
-    }
-}
-
-class IconCellRenderer extends JLabel
-    implements ListCellRenderer
-{
-    protected Map map;
-    protected static Border noFocusBorder;
-
-    /**
-     * Constructs a default renderer object for an item
-     * in a list.
-     */
-    public IconCellRenderer(Map map) {
-        super();
-    this.map = map;
-        noFocusBorder = BorderFactory.createEmptyBorder(1, 1, 1, 1);
-        setOpaque(true);
-        setBorder(noFocusBorder);
-    }
-
-
-    public Component getListCellRendererComponent(
-        JList list,
-        Object value,
-        int index,
-        boolean isSelected,
-        boolean cellHasFocus)
-    {
-
-        setComponentOrientation(list.getComponentOrientation());
-
-        if (isSelected) {
-            setBackground(list.getSelectionBackground());
-            setForeground(list.getSelectionForeground());
-        }
-        else {
-            setBackground(list.getBackground());
-            setForeground(list.getForeground());
-        }
-
-        setBorder((cellHasFocus) ? UIManager.getBorder("List.focusCellHighlightBorder") : noFocusBorder);
-
-        /*if (value instanceof Icon) {
-            setIcon((Icon)value);
-            setText("");
-        }
-        else {
-            setIcon(null);
-            setText((value == null) ? "" : value.toString());
-        }*/
-
-    setText(value.toString());
-        ImageIcon icon = (ImageIcon)map.get(value.toString());
-        if(icon != null){
-            setIcon(icon);
-            setHorizontalAlignment(CENTER);
-            setHorizontalTextPosition(CENTER);
-            setVerticalTextPosition(BOTTOM);
-        }
-        setEnabled(list.isEnabled());
-        setFont(list.getFont());
-
-        return this;
-    }
-
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void validate() {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void revalidate() {}
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void repaint(long tm, int x, int y, int width, int height) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void repaint(Rectangle r) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
-        // Strings get interned...
-        if (propertyName=="text")
-            super.firePropertyChange(propertyName, oldValue, newValue);
-    }
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, byte oldValue, byte newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, char oldValue, char newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, short oldValue, short newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, int oldValue, int newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, long oldValue, long newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, float oldValue, float newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, double oldValue, double newValue) {}
-
-   /**
-    * Overridden for performance reasons.
-    * See the <a href="#override">Implementation Note</a>
-    * for more information.
-    */
-    public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {}
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ResourceOrigin.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ResourceOrigin.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ResourceOrigin.java
deleted file mode 100644
index 1b245f8..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/svgbrowser/ResourceOrigin.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.svgbrowser;
-
-/**
- * This interface defines constants for the possible resource
- * origins.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: ResourceOrigin.java,v 1.4 2004/08/18 07:12:27 vhardy Exp $
- */
-public interface ResourceOrigin {
-    /**
-     * Any origin
-     */
-    static final int ANY = 1;
-
-    /**
-     * Same as document
-     */
-    static final int DOCUMENT = 2;
-
-    /**
-     * Embeded into the document 
-     */
-    static final int EMBEDED = 4;
-
-    /**
-     * No origin is ok
-     */
-    static final int NONE = 8;
-}


[12/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGHKernElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGHKernElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGHKernElementBridge.java
index 3fc0cdf..988becc 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGHKernElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGHKernElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * Bridge class for the &lt;hkern> element.
  *
  * @author <a href="mailto:dean.jackson@cmis.csiro.au">Dean Jackson</a>
- * @version $Id: SVGHKernElementBridge.java,v 1.5 2004/08/18 07:12:34 vhardy Exp $
+ * @version $Id: SVGHKernElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGHKernElementBridge extends SVGKernElementBridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGImageElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGImageElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGImageElementBridge.java
index 098a39c..03fa612 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGImageElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGImageElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,19 +26,26 @@ import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
+import java.io.InterruptedIOException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngine;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.DOMMouseEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedPreserveAspectRatio;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
-import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.ext.awt.color.ICCColorSpaceExt;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.ClipRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
+import org.apache.flex.forks.batik.ext.awt.image.spi.BrokenLinkProvider;
 import org.apache.flex.forks.batik.ext.awt.image.spi.ImageTagRegistry;
 import org.apache.flex.forks.batik.gvt.CanvasGraphicsNode;
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
@@ -45,25 +53,26 @@ import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.ImageNode;
 import org.apache.flex.forks.batik.gvt.RasterImageNode;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
-import org.apache.flex.forks.batik.util.ParsedURL;
+import org.apache.flex.forks.batik.util.HaltingThread;
 import org.apache.flex.forks.batik.util.MimeTypeConstants;
+import org.apache.flex.forks.batik.util.ParsedURL;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
 import org.w3c.dom.events.DocumentEvent;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
 import org.w3c.dom.events.EventTarget;
-import org.w3c.dom.events.MouseEvent;
-import org.w3c.dom.events.MutationEvent;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGSVGElement;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGImageElement;
+import org.w3c.dom.svg.SVGSVGElement;
 
 /**
  * Bridge class for the &lt;image> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGImageElementBridge.java,v 1.72 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: SVGImageElementBridge.java 579487 2007-09-26 06:40:16Z cam $
  */
 public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
 
@@ -104,12 +113,15 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
             return null;
         }
 
+        associateSVGContext(ctx, e, imageNode);
+
         hitCheckChildren = false;
         GraphicsNode node = buildImageGraphicsNode(ctx,e);
 
         if (node == null) {
-            String uriStr = XLinkSupport.getXLinkHref(e);
-            throw new BridgeException(e, ERR_URI_IMAGE_INVALID,
+            SVGImageElement ie = (SVGImageElement) e;
+            String uriStr = ie.getHref().getAnimVal();
+            throw new BridgeException(ctx, e, ERR_URI_IMAGE_INVALID,
                                       new Object[] {uriStr});
         }
 
@@ -127,45 +139,47 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
     }
 
     /**
-     * Create a Graphics node according to the 
+     * Create a Graphics node according to the
      * resource pointed by the href : RasterImageNode
      * for bitmaps, CompositeGraphicsNode for svg files.
      *
      * @param ctx : the bridge context to use
      * @param e the element that describes the graphics node to build
-     * 
+     *
      * @return the graphic node that represent the resource
      *  pointed by the reference
      */
     protected GraphicsNode buildImageGraphicsNode
         (BridgeContext ctx, Element e){
 
+        SVGImageElement ie = (SVGImageElement) e;
+
         // 'xlink:href' attribute - required
-        String uriStr = XLinkSupport.getXLinkHref(e);
+        String uriStr = ie.getHref().getAnimVal();
         if (uriStr.length() == 0) {
-            throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {"xlink:href"});
         }
         if (uriStr.indexOf('#') != -1) {
-            throw new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            throw new BridgeException(ctx, e, ERR_ATTRIBUTE_VALUE_MALFORMED,
                                       new Object[] {"xlink:href", uriStr});
         }
 
         // Build the URL.
-        String baseURI = XMLBaseSupport.getCascadedXMLBase(e);
+        String baseURI = AbstractNode.getBaseURI(e);
         ParsedURL purl;
-        if (baseURI == null)
+        if (baseURI == null) {
             purl = new ParsedURL(uriStr);
-        else
+        } else {
             purl = new ParsedURL(baseURI, uriStr);
+        }
 
         return createImageGraphicsNode(ctx, e, purl);
     }
 
-    protected GraphicsNode createImageGraphicsNode(BridgeContext ctx, 
+    protected GraphicsNode createImageGraphicsNode(BridgeContext ctx,
                                                    Element e,
-                                                   ParsedURL purl)
-    {
+                                                   ParsedURL purl) {
         Rectangle2D bounds = getImageBounds(ctx, e);
         if ((bounds.getWidth() == 0) || (bounds.getHeight() == 0)) {
             ShapeNode sn = new ShapeNode();
@@ -183,8 +197,8 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
 
         try {
             userAgent.checkLoadExternalResource(purl, pDocURL);
-        } catch (SecurityException ex) {
-            throw new BridgeException(e, ERR_URI_UNSECURE,
+        } catch (SecurityException secEx ) {
+            throw new BridgeException(ctx, e, secEx, ERR_URI_UNSECURE,
                                       new Object[] {purl});
         }
 
@@ -207,12 +221,12 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
                 throw ex;
             } catch (Exception ex) {
                 /* Nothing to do */
-            } 
+            }
 
             /* Check the ImageTagRegistry Cache */
             Filter img = reg.checkCache(purl, colorspace);
             if (img != null) {
-                return createRasterImageNode(ctx, e, img);
+                return createRasterImageNode(ctx, e, img, purl);
             }
         }
 
@@ -226,11 +240,12 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         ProtectedStream reference = null;
         try {
             reference = openStream(e, purl);
-        } catch (SecurityException ex) {
-            throw new BridgeException(e, ERR_URI_UNSECURE,
+        } catch (SecurityException secEx ) {
+            throw new BridgeException(ctx, e, secEx, ERR_URI_UNSECURE,
                                       new Object[] {purl});
         } catch (IOException ioe) {
-            return createBrokenImageNode(ctx, e, purl.toString());
+            return createBrokenImageNode(ctx, e, purl.toString(),
+                                         ioe.getLocalizedMessage());
         }
 
         {
@@ -240,11 +255,11 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
              * We tell the registry what the source purl is but we
              * tell it not to open that url.
              */
-            Filter img = reg.readURL(reference, purl, colorspace, 
+            Filter img = reg.readURL(reference, purl, colorspace,
                                      false, false);
             if (img != null) {
                 // It's a bouncing baby Raster...
-                return createRasterImageNode(ctx, e, img);
+                return createRasterImageNode(ctx, e, img, purl);
             }
         }
 
@@ -252,12 +267,15 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
             // Reset the stream for next try.
             reference.retry();
         } catch (IOException ioe) {
+            reference.release();
+            reference = null;
             try {
                 // Couldn't reset stream so reopen it.
                 reference = openStream(e, purl);
             } catch (IOException ioe2) {
                 // Since we already opened the stream this is unlikely.
-                return createBrokenImageNode(ctx, e, purl.toString());
+                return createBrokenImageNode(ctx, e, purl.toString(),
+                                             ioe2.getLocalizedMessage());
             }
         }
 
@@ -270,22 +288,31 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
             return createSVGImageNode(ctx, e, imgDocument);
         } catch (BridgeException ex) {
             throw ex;
-        } catch (SecurityException ex) {
-            throw new BridgeException(e, ERR_URI_UNSECURE,
+        } catch (SecurityException secEx ) {
+            throw new BridgeException(ctx, e, secEx, ERR_URI_UNSECURE,
                                       new Object[] {purl});
+        } catch (InterruptedIOException iioe) {
+            if (HaltingThread.hasBeenHalted())
+                throw new InterruptedBridgeException();
+
+        } catch (InterruptedBridgeException ibe) {
+            throw ibe;
         } catch (Exception ex) {
             /* Nothing to do */
             // ex.printStackTrace();
-        } 
+        }
 
         try {
             reference.retry();
         } catch (IOException ioe) {
+            reference.release();
+            reference = null;
             try {
                 // Couldn't reset stream so reopen it.
                 reference = openStream(e, purl);
             } catch (IOException ioe2) {
-                return createBrokenImageNode(ctx, e, purl.toString());
+                return createBrokenImageNode(ctx, e, purl.toString(),
+                                             ioe2.getLocalizedMessage());
             }
         }
 
@@ -293,11 +320,11 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
             // Finally try to load the image as a raster image (JPG or
             // PNG) allowing the registry to open the url (so the
             // JDK readers can be checked).
-            Filter img = reg.readURL(reference, purl, colorspace, 
+            Filter img = reg.readURL(reference, purl, colorspace,
                                      true, true);
             if (img != null) {
                 // It's a bouncing baby Raster...
-                return createRasterImageNode(ctx, e, img);
+                return createRasterImageNode(ctx, e, img, purl);
             }
         } finally {
             reference.release();
@@ -305,8 +332,8 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         return null;
     }
 
-    static public class ProtectedStream extends BufferedInputStream {
-        final static int BUFFER_SIZE = 8192;
+    public static class ProtectedStream extends BufferedInputStream {
+        static final int BUFFER_SIZE = 8192;
         ProtectedStream(InputStream is) {
             super(is, BUFFER_SIZE);
             super.mark(BUFFER_SIZE); // Remember start
@@ -342,7 +369,7 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         }
     }
 
-    protected ProtectedStream openStream(Element e, ParsedURL purl) 
+    protected ProtectedStream openStream(Element e, ParsedURL purl)
         throws IOException {
         List mimeTypes = new ArrayList
             (ImageTagRegistry.getRegistry().getRegisteredMimeTypes());
@@ -381,7 +408,6 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
 
         // Bind the nodes for interactive and dynamic
         // HACK due to the way images are represented in GVT
-        ImageNode imgNode = (ImageNode)node;
         ctx.bind(e, node);
 
         if (ctx.isDynamic()) {
@@ -396,55 +422,58 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-
-        String attrName = evt.getAttrName();
-        Node evtNode = evt.getRelatedNode();
-
-        if (attrName.equals(SVG_X_ATTRIBUTE) ||
-            attrName.equals(SVG_Y_ATTRIBUTE) ||
-	    attrName.equals(SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE)){
-            updateImageBounds();
-        } else if (( XLinkSupport.XLINK_NAMESPACE_URI.equals
-                     (evtNode.getNamespaceURI()) ) 
-                   && SVG_HREF_ATTRIBUTE.equals(evtNode.getLocalName()) ){
-            rebuildImageNode();
-	} else if(attrName.equals(SVG_WIDTH_ATTRIBUTE) ||
-                  attrName.equals(SVG_HEIGHT_ATTRIBUTE)) {
-            float oldV = 0, newV=0;
-            String s = evt.getPrevValue();
-            UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-
-            if (s.length() != 0) {
-                oldV = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                    (s, attrName, uctx);
-            }
-            s = evt.getNewValue();
-            if (s.length() != 0) {
-                newV = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                    (s, attrName, uctx);
-            }
-            if (oldV == newV) return;
-            
-            if ((oldV == 0) || (newV == 0))
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        try {
+            String ns = alav.getNamespaceURI();
+            String ln = alav.getLocalName();
+            if (ns == null) {
+                if (ln.equals(SVG_X_ATTRIBUTE)
+                        || ln.equals(SVG_Y_ATTRIBUTE)) {
+                    updateImageBounds();
+                    return;
+                } else if (ln.equals(SVG_WIDTH_ATTRIBUTE)
+                        || ln.equals(SVG_HEIGHT_ATTRIBUTE)) {
+                    SVGImageElement ie = (SVGImageElement) e;
+                    ImageNode imageNode = (ImageNode) node;
+                    AbstractSVGAnimatedLength _attr;
+                    if (ln.charAt(0) == 'w') {
+                        _attr = (AbstractSVGAnimatedLength) ie.getWidth();
+                    } else {
+                        _attr = (AbstractSVGAnimatedLength) ie.getHeight();
+                    }
+                    float val = _attr.getCheckedValue();
+                    if (val == 0 || imageNode.getImage() instanceof ShapeNode) {
+                        rebuildImageNode();
+                    } else {
+                        updateImageBounds();
+                    }
+                    return;
+                } else if (ln.equals(SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE)) {
+                    updateImageBounds();
+                    return;
+                }
+            } else if (ns.equals(XLINK_NAMESPACE_URI)
+                    && ln.equals(XLINK_HREF_ATTRIBUTE)) {
                 rebuildImageNode();
-            else
-                updateImageBounds();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
-	}
+                return;
+            }
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
+        super.handleAnimatedAttributeChanged(alav);
     }
 
     protected void updateImageBounds() {
         //retrieve the new bounds of the image tag
-        Rectangle2D	bounds = getImageBounds(ctx, e);
+        Rectangle2D bounds = getImageBounds(ctx, e);
         GraphicsNode imageNode = ((ImageNode)node).getImage();
-        float [] vb = null;
+        float[] vb = null;
         if (imageNode instanceof RasterImageNode) {
             //Raster image
-            Rectangle2D imgBounds = 
+            Rectangle2D imgBounds =
                 ((RasterImageNode)imageNode).getImageBounds();
             // create the implicit viewBox for the raster
             // image. The viewBox for a raster image is the size
@@ -459,7 +488,7 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
                 Element svgElement = imgDocument.getRootElement();
                 String viewBox = svgElement.getAttributeNS
                     (null, SVG_VIEW_BOX_ATTRIBUTE);
-                vb = ViewBox.parseViewBoxAttribute(e, viewBox);
+                vb = ViewBox.parseViewBoxAttribute(e, viewBox, ctx);
             }
         }
         if (imageNode != null) {
@@ -468,23 +497,41 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
             // the image node
             initializeViewport(ctx, e, imageNode, vb, bounds);
         }
-            
+
     }
 
     protected void rebuildImageNode() {
         // Reference copy of the imgDocument
         if ((imgDocument != null) && (listener != null)) {
-            EventTarget tgt = (EventTarget)imgDocument.getRootElement();
-
-            tgt.removeEventListener(SVG_EVENT_CLICK,     listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYDOWN,   listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYPRESS,  listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYUP,     listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEDOWN, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEMOVE, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEOUT,  listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEOVER, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEUP,   listener, false);
+            NodeEventTarget tgt = (NodeEventTarget)imgDocument.getRootElement();
+
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYDOWN,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYPRESS,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYUP,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEDOWN,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEMOVE,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEUP,
+                 listener, false);
             listener = null;
         }
 
@@ -503,8 +550,9 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         imgNode.setImage(inode);
 
         if (inode == null) {
-            String uriStr = XLinkSupport.getXLinkHref(e);
-            throw new BridgeException(e, ERR_URI_IMAGE_INVALID,
+            SVGImageElement ie = (SVGImageElement) e;
+            String uriStr = ie.getHref().getAnimVal();
+            throw new BridgeException(ctx, e, ERR_URI_IMAGE_INVALID,
                                       new Object[] {uriStr});
         }
     }
@@ -539,18 +587,22 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
      */
     protected GraphicsNode createRasterImageNode(BridgeContext ctx,
                                                  Element       e,
-                                                 Filter        img) {
+                                                 Filter        img,
+                                                 ParsedURL     purl) {
         Rectangle2D bounds = getImageBounds(ctx, e);
         if ((bounds.getWidth() == 0) || (bounds.getHeight() == 0)) {
             ShapeNode sn = new ShapeNode();
             sn.setShape(bounds);
             return sn;
         }
-        Object           obj = img.getProperty
-            (SVGBrokenLinkProvider.SVG_BROKEN_LINK_DOCUMENT_PROPERTY);
-        if ((obj != null) && (obj instanceof SVGDocument)) {
-            // Ok so we are dealing with a broken link.
-            SVGOMDocument doc = (SVGOMDocument)obj;
+
+        if (BrokenLinkProvider.hasBrokenLinkProperty(img)) {
+            Object o=img.getProperty(BrokenLinkProvider.BROKEN_LINK_PROPERTY);
+            String msg = "unknown";
+            if (o instanceof String)
+                msg = (String)o;
+            SVGDocument doc = ctx.getUserAgent().getBrokenLinkDocument
+                (e, purl.toString(), msg);
             return createSVGImageNode(ctx, e, doc);
         }
 
@@ -584,18 +636,10 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
                                               Element e,
                                               SVGDocument imgDocument) {
         CSSEngine eng = ((SVGOMDocument)imgDocument).getCSSEngine();
-        if (eng != null) {
-            subCtx = (BridgeContext)eng.getCSSContext();
-        } else {
-            subCtx = new BridgeContext(ctx.getUserAgent(), 
-                                       ctx.getDocumentLoader());
-            subCtx.setGVTBuilder(ctx.getGVTBuilder());
-            subCtx.setDocument(imgDocument);
-            subCtx.initializeDocument(imgDocument);
-        }
+        subCtx = ctx.createSubBridgeContext((SVGOMDocument)imgDocument);
 
         CompositeGraphicsNode result = new CompositeGraphicsNode();
-        // handles the 'preserveAspectRatio', 'overflow' and 'clip' and 
+        // handles the 'preserveAspectRatio', 'overflow' and 'clip' and
         // sets the appropriate AffineTransform to the image node
         Rectangle2D bounds = getImageBounds(ctx, e);
 
@@ -616,8 +660,10 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         node = (CanvasGraphicsNode)subCtx.getGVTBuilder().build
             (subCtx, svgElement);
 
-        if (eng == null) // If we "created" this document then add listerns.
+        if ((eng == null) && ctx.isInteractive()) {
+            // If we "created" this document then add listerns.
             subCtx.addUIEventListeners(imgDocument);
+        }
 
         // HACK: remove the clip set by the SVGSVGElement as the overflow
         // and clip properties must be ignored. The clip will be set later
@@ -631,9 +677,10 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
 
         // create the implicit viewBox for the SVG image. The viewBox for a
         // SVG image is the viewBox of the outermost SVG element of the SVG file
+        // XXX Use animated value of 'viewBox' here?
         String viewBox =
             svgElement.getAttributeNS(null, SVG_VIEW_BOX_ATTRIBUTE);
-        float [] vb = ViewBox.parseViewBoxAttribute(e, viewBox);
+        float[] vb = ViewBox.parseViewBoxAttribute(e, viewBox, ctx);
 
         initializeViewport(ctx, e, result, vb, bounds);
 
@@ -642,34 +689,70 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         // to the <image> element (inside the original document).
         if (ctx.isInteractive()) {
             listener = new ForwardEventListener(svgElement, e);
-            EventTarget tgt = (EventTarget)svgElement;
-
-            tgt.addEventListener(SVG_EVENT_CLICK, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_CLICK, listener, false);
-
-            tgt.addEventListener(SVG_EVENT_KEYDOWN, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_KEYDOWN, listener, false);
-
-            tgt.addEventListener(SVG_EVENT_KEYPRESS, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_KEYPRESS, listener, false);
-
-            tgt.addEventListener(SVG_EVENT_KEYUP, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_KEYUP, listener, false);
-
-            tgt.addEventListener(SVG_EVENT_MOUSEDOWN, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_MOUSEDOWN, listener,false);
-
-            tgt.addEventListener(SVG_EVENT_MOUSEMOVE, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_MOUSEMOVE, listener,false);
-
-            tgt.addEventListener(SVG_EVENT_MOUSEOUT, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_MOUSEOUT, listener, false);
-
-            tgt.addEventListener(SVG_EVENT_MOUSEOVER, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_MOUSEOVER, listener,false);
-
-            tgt.addEventListener(SVG_EVENT_MOUSEUP, listener, false);
-            subCtx.storeEventListener(tgt, SVG_EVENT_MOUSEUP, listener, false);
+            NodeEventTarget tgt = (NodeEventTarget)svgElement;
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYDOWN,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYDOWN,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYPRESS,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYPRESS,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYUP,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYUP,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEDOWN,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEDOWN,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEMOVE,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEMOVE,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 listener, false);
+
+            tgt.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEUP,
+                 listener, false, null);
+            subCtx.storeEventListenerNS
+                (tgt, XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEUP,
+                 listener, false);
         }
 
         return result;
@@ -677,17 +760,35 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
 
     public void dispose() {
         if ((imgDocument != null) && (listener != null)) {
-            EventTarget tgt = (EventTarget)imgDocument.getRootElement();
-
-            tgt.removeEventListener(SVG_EVENT_CLICK,     listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYDOWN,   listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYPRESS,  listener, false);
-            tgt.removeEventListener(SVG_EVENT_KEYUP,     listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEDOWN, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEMOVE, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEOUT,  listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEOVER, listener, false);
-            tgt.removeEventListener(SVG_EVENT_MOUSEUP,   listener, false);
+            NodeEventTarget tgt = (NodeEventTarget)imgDocument.getRootElement();
+
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYDOWN,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYPRESS,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_KEYUP,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEDOWN,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEMOVE,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 listener, false);
+            tgt.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEUP,
+                 listener, false);
             listener = null;
         }
 
@@ -725,26 +826,25 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         }
 
         public void handleEvent(Event e) {
-            MouseEvent evt = (MouseEvent) e;
-            MouseEvent newMouseEvent = (MouseEvent)
+            DOMMouseEvent evt = (DOMMouseEvent) e;
+            DOMMouseEvent newMouseEvent = (DOMMouseEvent)
                 // DOM Level 2 6.5 cast from Document to DocumentEvent is ok
                 ((DocumentEvent)imgElement.getOwnerDocument()).createEvent("MouseEvents");
 
-            newMouseEvent.initMouseEvent(evt.getType(),
-                                         evt.getBubbles(),
-                                         evt.getCancelable(),
-                                         evt.getView(),
-                                         evt.getDetail(),
-                                         evt.getScreenX(),
-                                         evt.getScreenY(),
-                                         evt.getClientX(),
-                                         evt.getClientY(),
-                                         evt.getCtrlKey(),
-                                         evt.getAltKey(),
-                                         evt.getShiftKey(),
-                                         evt.getMetaKey(),
-                                         evt.getButton(),
-                                         (EventTarget)imgElement);
+            newMouseEvent.initMouseEventNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                 evt.getType(),
+                 evt.getBubbles(),
+                 evt.getCancelable(),
+                 evt.getView(),
+                 evt.getDetail(),
+                 evt.getScreenX(),
+                 evt.getScreenY(),
+                 evt.getClientX(),
+                 evt.getClientY(),
+                 evt.getButton(),
+                 (EventTarget)imgElement,
+                 evt.getModifiersString());
             ((EventTarget)imgElement).dispatchEvent(newMouseEvent);
         }
     }
@@ -764,7 +864,7 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
     protected static void initializeViewport(BridgeContext ctx,
                                              Element e,
                                              GraphicsNode node,
-                                             float [] vb,
+                                             float[] vb,
                                              Rectangle2D bounds) {
 
         float x = (float)bounds.getX();
@@ -772,36 +872,45 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
         float w = (float)bounds.getWidth();
         float h = (float)bounds.getHeight();
 
-        AffineTransform at
-            = ViewBox.getPreserveAspectRatioTransform(e, vb, w, h);
-        at.preConcatenate(AffineTransform.getTranslateInstance(x, y));
-        node.setTransform(at);
-
-        // 'overflow' and 'clip'
-        Shape clip = null;
-        if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
-            float [] offsets = CSSUtilities.convertClip(e);
-            if (offsets == null) { // clip:auto
-                clip = new Rectangle2D.Float(x, y, w, h);
-            } else { // clip:rect(<x> <y> <w> <h>)
-                // offsets[0] = top
-                // offsets[1] = right
-                // offsets[2] = bottom
-                // offsets[3] = left
-                clip = new Rectangle2D.Float(x+offsets[3],
-                                             y+offsets[0],
-                                             w-offsets[1]-offsets[3],
-                                             h-offsets[2]-offsets[0]);
+        try {
+            SVGImageElement ie = (SVGImageElement) e;
+            SVGOMAnimatedPreserveAspectRatio _par =
+                (SVGOMAnimatedPreserveAspectRatio) ie.getPreserveAspectRatio();
+            _par.check();
+
+            AffineTransform at = ViewBox.getPreserveAspectRatioTransform
+                (e, vb, w, h, _par, ctx);
+            at.preConcatenate(AffineTransform.getTranslateInstance(x, y));
+            node.setTransform(at);
+
+            // 'overflow' and 'clip'
+            Shape clip = null;
+            if (CSSUtilities.convertOverflow(e)) { // overflow:hidden
+                float [] offsets = CSSUtilities.convertClip(e);
+                if (offsets == null) { // clip:auto
+                    clip = new Rectangle2D.Float(x, y, w, h);
+                } else { // clip:rect(<x> <y> <w> <h>)
+                    // offsets[0] = top
+                    // offsets[1] = right
+                    // offsets[2] = bottom
+                    // offsets[3] = left
+                    clip = new Rectangle2D.Float(x+offsets[3],
+                                                 y+offsets[0],
+                                                 w-offsets[1]-offsets[3],
+                                                 h-offsets[2]-offsets[0]);
+                }
             }
-        }
 
-        if (clip != null) {
-            try {
-                at = at.createInverse(); // clip in user space
-                Filter filter = node.getGraphicsNodeRable(true);
-                clip = at.createTransformedShape(clip);
-                node.setClip(new ClipRable8Bit(filter, clip));
-            } catch (java.awt.geom.NoninvertibleTransformException ex) {}
+            if (clip != null) {
+                try {
+                    at = at.createInverse(); // clip in user space
+                    Filter filter = node.getGraphicsNodeRable(true);
+                    clip = at.createTransformedShape(clip);
+                    node.setClip(new ClipRable8Bit(filter, clip));
+                } catch (java.awt.geom.NoninvertibleTransformException ex) {}
+            }
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
     }
 
@@ -848,75 +957,43 @@ public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
      * @param ctx the bridge context
      * @param element the image element
      */
-    protected static
-        Rectangle2D getImageBounds(BridgeContext ctx, Element element) {
+    protected static Rectangle2D getImageBounds(BridgeContext ctx,
+                                                Element element) {
+        try {
+            SVGImageElement ie = (SVGImageElement) element;
 
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, element);
+            // 'x' attribute - default is 0
+            AbstractSVGAnimatedLength _x =
+                (AbstractSVGAnimatedLength) ie.getX();
+            float x = _x.getCheckedValue();
 
-        // 'x' attribute - default is 0
-        String s = element.getAttributeNS(null, SVG_X_ATTRIBUTE);
-        float x = 0;
-        if (s.length() != 0) {
-            x = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_X_ATTRIBUTE, uctx);
-        }
+            // 'y' attribute - default is 0
+            AbstractSVGAnimatedLength _y =
+                (AbstractSVGAnimatedLength) ie.getY();
+            float y = _y.getCheckedValue();
 
-        // 'y' attribute - default is 0
-        s = element.getAttributeNS(null, SVG_Y_ATTRIBUTE);
-        float y = 0;
-        if (s.length() != 0) {
-            y = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_Y_ATTRIBUTE, uctx);
-        }
+            // 'width' attribute - required
+            AbstractSVGAnimatedLength _width =
+                (AbstractSVGAnimatedLength) ie.getWidth();
+            float w = _width.getCheckedValue();
 
-        // 'width' attribute - required
-        s = element.getAttributeNS(null, SVG_WIDTH_ATTRIBUTE);
-        float w;
-        if (s.length() == 0) {
-            throw new BridgeException(element, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_WIDTH_ATTRIBUTE});
-        } else {
-            w = UnitProcessor.svgHorizontalLengthToUserSpace
-                (s, SVG_WIDTH_ATTRIBUTE, uctx);
-        }
+            // 'height' attribute - required
+            AbstractSVGAnimatedLength _height =
+                (AbstractSVGAnimatedLength) ie.getHeight();
+            float h = _height.getCheckedValue();
 
-        // 'height' attribute - required
-        s = element.getAttributeNS(null, SVG_HEIGHT_ATTRIBUTE);
-        float h;
-        if (s.length() == 0) {
-            throw new BridgeException(element, ERR_ATTRIBUTE_MISSING,
-                                      new Object[] {SVG_HEIGHT_ATTRIBUTE});
-        } else {
-            h = UnitProcessor.svgVerticalLengthToUserSpace
-                (s, SVG_HEIGHT_ATTRIBUTE, uctx);
+            return new Rectangle2D.Float(x, y, w, h);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
         }
-
-        return new Rectangle2D.Float(x, y, w, h);
     }
 
     GraphicsNode createBrokenImageNode
-        (BridgeContext ctx, Element e, String uri) {
-        
-        String lname = "<Unknown Element>";
-        SVGDocument doc = null;
-        if (e != null) {
-            doc = (SVGDocument)e.getOwnerDocument();
-            lname = e.getLocalName();
-        }
-        String docUri;
-        if (doc == null)  docUri = "<Unknown Document>";
-        else              docUri = doc.getURL();
-        int line = ctx.getDocumentLoader().getLineNumber(e);
-        Object [] fullparams = new Object[4];
-        fullparams[0] = docUri;
-        fullparams[1] = new Integer(line);
-        fullparams[2] = lname;
-        fullparams[3] = uri;
-
-        SVGDocument blDoc = brokenLinkProvider.getBrokenLinkDocument
-            (this, ERR_URI_IO, fullparams);
-        hitCheckChildren = true;
-        return createSVGImageNode(ctx, e, blDoc);
+        (BridgeContext ctx, Element e, String uri, String message) {
+        SVGDocument doc = ctx.getUserAgent().getBrokenLinkDocument
+            (e, uri, Messages.formatMessage(URI_IMAGE_ERROR,
+                                           new Object[] { message } ));
+        return createSVGImageNode(ctx, e, doc);
     }
 
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGKernElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGKernElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGKernElementBridge.java
index 7920c00..08c2603 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGKernElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGKernElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -29,7 +30,7 @@ import org.w3c.dom.Element;
  * A base Bridge class for the kerning elements.
  *
  * @author <a href="mailto:dean.jackson@cmis.csiro.au">Dean Jackson</a>
- * @version $Id: SVGKernElementBridge.java,v 1.7 2005/02/27 02:08:51 deweese Exp $
+ * @version $Id: SVGKernElementBridge.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public abstract class SVGKernElementBridge extends AbstractSVGBridge {
 
@@ -56,17 +57,17 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
         if (k.length() == 0) {
             k = SVG_KERN_K_DEFAULT_VALUE;
         }
-        
+
         // get the kern float value
         float kernValue = Float.parseFloat(k);
-        
+
         // set up the first and second glyph sets and unicode ranges
         int firstGlyphLen = 0, secondGlyphLen = 0;
         int [] firstGlyphSet = null;
         int [] secondGlyphSet = null;
         List firstUnicodeRanges = new ArrayList();
         List secondUnicodeRanges = new ArrayList();
-        
+
         // process the u1 attribute
         StringTokenizer st = new StringTokenizer(u1, ",");
         while (st.hasMoreTokens()) {
@@ -79,14 +80,13 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                     firstGlyphSet = glyphCodes;
                     firstGlyphLen = glyphCodes.length;
                 }else {
-                    if ((firstGlyphLen + glyphCodes.length) > 
+                    if ((firstGlyphLen + glyphCodes.length) >
                         firstGlyphSet.length) {
                         int sz = firstGlyphSet.length*2;
                         if (sz <firstGlyphLen + glyphCodes.length)
                             sz = firstGlyphLen + glyphCodes.length;
                         int [] tmp = new int[sz];
-                        for (int i = 0; i < firstGlyphLen; i++)
-                            tmp[i] = firstGlyphSet[i];
+                        System.arraycopy( firstGlyphSet, 0, tmp, 0, firstGlyphLen );
                         firstGlyphSet = tmp;
                     }
                     for (int i = 0; i < glyphCodes.length; i++)
@@ -94,7 +94,7 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                 }
             }
         }
-        
+
         // process the u2 attrbute
         st = new StringTokenizer(u2, ",");
         while (st.hasMoreTokens()) {
@@ -107,14 +107,13 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                     secondGlyphSet = glyphCodes;
                     secondGlyphLen = glyphCodes.length;
                 } else {
-                    if ((secondGlyphLen + glyphCodes.length) > 
+                    if ((secondGlyphLen + glyphCodes.length) >
                         secondGlyphSet.length) {
                         int sz = secondGlyphSet.length*2;
                         if (sz <secondGlyphLen + glyphCodes.length)
                             sz = secondGlyphLen + glyphCodes.length;
                         int [] tmp = new int[sz];
-                        for (int i = 0; i < secondGlyphLen; i++)
-                            tmp[i] = secondGlyphSet[i];
+                        System.arraycopy( secondGlyphSet, 0, tmp, 0, secondGlyphLen );
                         secondGlyphSet = tmp;
                     }
                     for (int i = 0; i < glyphCodes.length; i++)
@@ -122,7 +121,7 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                 }
             }
         }
-        
+
         // process the g1 attribute
         st = new StringTokenizer(g1, ",");
         while (st.hasMoreTokens()) {
@@ -132,21 +131,20 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                 firstGlyphSet = glyphCodes;
                 firstGlyphLen = glyphCodes.length;
             }else {
-                if ((firstGlyphLen + glyphCodes.length) > 
+                if ((firstGlyphLen + glyphCodes.length) >
                     firstGlyphSet.length) {
                     int sz = firstGlyphSet.length*2;
                     if (sz <firstGlyphLen + glyphCodes.length)
                         sz = firstGlyphLen + glyphCodes.length;
                     int [] tmp = new int[sz];
-                    for (int i = 0; i < firstGlyphLen; i++)
-                        tmp[i] = firstGlyphSet[i];
+                    System.arraycopy( firstGlyphSet, 0, tmp, 0, firstGlyphLen );
                     firstGlyphSet = tmp;
                 }
                 for (int i = 0; i < glyphCodes.length; i++)
                     firstGlyphSet[firstGlyphLen++] = glyphCodes[i];
             }
         }
-        
+
         // process the g2 attribute
         st = new StringTokenizer(g2, ",");
         while (st.hasMoreTokens()) {
@@ -156,14 +154,13 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
                 secondGlyphSet = glyphCodes;
                 secondGlyphLen = glyphCodes.length;
             } else {
-                if ((secondGlyphLen + glyphCodes.length) > 
+                if ((secondGlyphLen + glyphCodes.length) >
                     secondGlyphSet.length) {
                     int sz = secondGlyphSet.length*2;
                     if (sz <secondGlyphLen + glyphCodes.length)
                         sz = secondGlyphLen + glyphCodes.length;
                     int [] tmp = new int[sz];
-                    for (int i = 0; i < secondGlyphLen; i++)
-                        tmp[i] = secondGlyphSet[i];
+                    System.arraycopy( secondGlyphSet, 0, tmp, 0, secondGlyphLen );
                     secondGlyphSet = tmp;
                 }
                 for (int i = 0; i < glyphCodes.length; i++)
@@ -173,7 +170,7 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
 
         // construct the arrays
         int[] firstGlyphs;
-        if ((firstGlyphLen == 0) || 
+        if ((firstGlyphLen == 0) ||
             (firstGlyphLen == firstGlyphSet.length)) {
             firstGlyphs = firstGlyphSet;
         } else {
@@ -181,12 +178,12 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
             System.arraycopy(firstGlyphSet, 0, firstGlyphs, 0, firstGlyphLen);
         }
         int[] secondGlyphs;
-        if ((secondGlyphLen == 0) || 
+        if ((secondGlyphLen == 0) ||
             (secondGlyphLen == secondGlyphSet.length)) {
             secondGlyphs = secondGlyphSet;
         } else {
             secondGlyphs = new int[secondGlyphLen];
-            System.arraycopy(secondGlyphSet, 0, secondGlyphs, 0, 
+            System.arraycopy(secondGlyphSet, 0, secondGlyphs, 0,
                              secondGlyphLen);
         }
 
@@ -199,7 +196,7 @@ public abstract class SVGKernElementBridge extends AbstractSVGBridge {
         secondUnicodeRanges.toArray(secondRanges);
 
         // return the new Kern object
-        return new Kern(firstGlyphs, secondGlyphs, 
+        return new Kern(firstGlyphs, secondGlyphs,
                         firstRanges, secondRanges, kernValue);
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLineElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLineElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLineElementBridge.java
index 65c25f2..1e936e1 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLineElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLineElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,16 +20,20 @@ package org.apache.flex.forks.batik.bridge;
 
 import java.awt.geom.Line2D;
 
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGAnimatedLength;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGOMLineElement;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.gvt.ShapePainter;
+
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
 
 /**
  * Bridge class for the &lt;line> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGLineElementBridge.java,v 1.14 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGLineElementBridge.java 527382 2007-04-11 04:31:58Z cam $
  */
 public class SVGLineElementBridge extends SVGDecoratedShapeElementBridge {
 
@@ -87,60 +92,53 @@ public class SVGLineElementBridge extends SVGDecoratedShapeElementBridge {
                               Element e,
                               ShapeNode shapeNode) {
 
-        UnitProcessor.Context uctx = UnitProcessor.createContext(ctx, e);
-        String s;
+        try {
+            SVGOMLineElement le = (SVGOMLineElement) e;
 
-        // 'x1' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_X1_ATTRIBUTE);
-        float x1 = 0;
-        if (s.length() != 0) {
-            x1 = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_X1_ATTRIBUTE, uctx);
-        }
+            // 'x1' attribute - default is 0
+            AbstractSVGAnimatedLength _x1 =
+                (AbstractSVGAnimatedLength) le.getX1();
+            float x1 = _x1.getCheckedValue();
 
-        // 'y1' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_Y1_ATTRIBUTE);
-        float y1 = 0;
-        if (s.length() != 0) {
-            y1 = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_Y1_ATTRIBUTE, uctx);
-        }
+            // 'y1' attribute - default is 0
+            AbstractSVGAnimatedLength _y1 =
+                (AbstractSVGAnimatedLength) le.getY1();
+            float y1 = _y1.getCheckedValue();
 
-        // 'x2' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_X2_ATTRIBUTE);
-        float x2 = 0;
-        if (s.length() != 0) {
-            x2 = UnitProcessor.svgHorizontalCoordinateToUserSpace
-                (s, SVG_X2_ATTRIBUTE, uctx);
-        }
+            // 'x2' attribute - default is 0
+            AbstractSVGAnimatedLength _x2 =
+                (AbstractSVGAnimatedLength) le.getX2();
+            float x2 = _x2.getCheckedValue();
 
-        // 'y2' attribute - default is 0
-        s = e.getAttributeNS(null, SVG_Y2_ATTRIBUTE);
-        float y2 = 0;
-        if (s.length() != 0) {
-            y2 = UnitProcessor.svgVerticalCoordinateToUserSpace
-                (s, SVG_Y2_ATTRIBUTE, uctx);
-        }
+            // 'y2' attribute - default is 0
+            AbstractSVGAnimatedLength _y2 =
+                (AbstractSVGAnimatedLength) le.getY2();
+            float y2 = _y2.getCheckedValue();
 
-        shapeNode.setShape(new Line2D.Float(x1, y1, x2, y2));
+            shapeNode.setShape(new Line2D.Float(x1, y1, x2, y2));
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_X1_ATTRIBUTE) ||
-            attrName.equals(SVG_Y1_ATTRIBUTE) ||
-            attrName.equals(SVG_X2_ATTRIBUTE) ||
-            attrName.equals(SVG_Y2_ATTRIBUTE)) {
-
-            buildShape(ctx, e, (ShapeNode)node);
-            handleGeometryChanged();
-        } else {
-            super.handleDOMAttrModifiedEvent(evt);
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null) {
+            String ln = alav.getLocalName();
+            if (ln.equals(SVG_X1_ATTRIBUTE)
+                    || ln.equals(SVG_Y1_ATTRIBUTE)
+                    || ln.equals(SVG_X2_ATTRIBUTE)
+                    || ln.equals(SVG_Y2_ATTRIBUTE)) {
+                buildShape(ctx, e, (ShapeNode)node);
+                handleGeometryChanged();
+                return;
+            }
         }
+        super.handleAnimatedAttributeChanged(alav);
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLinearGradientElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLinearGradientElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLinearGradientElementBridge.java
index 76bbfef..7e22505 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLinearGradientElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGLinearGradientElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,17 +22,20 @@ import java.awt.Color;
 import java.awt.Paint;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
 
+import org.apache.flex.forks.batik.dom.svg.SVGContext;
 import org.apache.flex.forks.batik.ext.awt.LinearGradientPaint;
 import org.apache.flex.forks.batik.ext.awt.MultipleGradientPaint;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
 import org.w3c.dom.Element;
 
 /**
  * Bridge class for the &lt;linearGradient> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGLinearGradientElementBridge.java,v 1.11 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGLinearGradientElementBridge.java 594740 2007-11-14 02:55:05Z cam $
  */
 public class SVGLinearGradientElementBridge
     extends AbstractSVGGradientElementBridge {
@@ -108,7 +112,21 @@ public class SVGLinearGradientElementBridge
             coordSystemType = SVGUtilities.OBJECT_BOUNDING_BOX;
         } else {
             coordSystemType = SVGUtilities.parseCoordinateSystem
-                (paintElement, SVG_GRADIENT_UNITS_ATTRIBUTE, s);
+                (paintElement, SVG_GRADIENT_UNITS_ATTRIBUTE, s, ctx);
+        }
+
+        // The last paragraph of section 7.11 in SVG 1.1 states that objects
+        // with zero width or height bounding boxes that use gradients with
+        // gradientUnits="objectBoundingBox" must not use the gradient.
+        SVGContext bridge = BridgeContext.getSVGContext(paintedElement);
+        if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX
+                && bridge instanceof AbstractGraphicsNodeBridge) {
+            // XXX Make this work for non-AbstractGraphicsNodeBridges, like
+            // the various text child bridges.
+            Rectangle2D bbox = ((AbstractGraphicsNodeBridge) bridge).getBBox();
+            if (bbox != null && bbox.getWidth() == 0 || bbox.getHeight() == 0) {
+                return null;
+            }
         }
 
         // additional transform to move to objectBoundingBox coordinate system
@@ -132,19 +150,19 @@ public class SVGLinearGradientElementBridge
                                                coordSystemType,
                                                uctx);
 
-	// If x1 = x2 and y1 = y2, then the area to be painted will be painted
-	// as a single color using the color and opacity of the last gradient
-	// stop.
+        // If x1 = x2 and y1 = y2, then the area to be painted will be painted
+        // as a single color using the color and opacity of the last gradient
+        // stop.
         if (p1.getX() == p2.getX() && p1.getY() == p2.getY()) {
             return colors[colors.length-1];
-	} else {
-	    return new LinearGradientPaint(p1,
-					   p2,
-					   offsets,
-					   colors,
-					   spreadMethod,
-					   colorSpace,
-					   transform);
-	}
+        } else {
+            return new LinearGradientPaint(p1,
+                                           p2,
+                                           offsets,
+                                           colors,
+                                           spreadMethod,
+                                           colorSpace,
+                                           transform);
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMarkerElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMarkerElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMarkerElementBridge.java
index 01bee03..bc99364 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMarkerElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMarkerElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -35,10 +36,10 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;marker> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGMarkerElementBridge.java,v 1.19 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGMarkerElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
-public class SVGMarkerElementBridge extends AbstractSVGBridge
-    implements MarkerBridge, ErrorConstants {
+public class SVGMarkerElementBridge extends AnimatableGenericSVGBridge
+        implements MarkerBridge, ErrorConstants {
 
     /**
      * Constructs a new bridge for the &lt;marker> element.
@@ -129,9 +130,9 @@ public class SVGMarkerElementBridge extends AbstractSVGBridge
         } else {
             try {
                 orient = SVGUtilities.convertSVGNumber(s);
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (markerElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, markerElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object [] {SVG_ORIENT_ATTRIBUTE, s});
             }
         }
@@ -148,7 +149,7 @@ public class SVGMarkerElementBridge extends AbstractSVGBridge
             unitsType = SVGUtilities.STROKE_WIDTH;
         } else {
             unitsType = SVGUtilities.parseMarkerCoordinateSystem
-                (markerElement, SVG_MARKER_UNITS_ATTRIBUTE, s);
+                (markerElement, SVG_MARKER_UNITS_ATTRIBUTE, s, ctx);
         }
 
         //
@@ -169,7 +170,7 @@ public class SVGMarkerElementBridge extends AbstractSVGBridge
         AffineTransform preserveAspectRatioTransform
             = ViewBox.getPreserveAspectRatioTransform(markerElement,
                                                       markerWidth,
-                                                      markerHeight);
+                                                      markerHeight, ctx);
         if (preserveAspectRatioTransform == null) {
             // disable the rendering of the element
             return null;
@@ -234,7 +235,7 @@ public class SVGMarkerElementBridge extends AbstractSVGBridge
         // in viewport space (this  is what the following transform
         // does) and used when placing the marker.
         //
-        float ref[] = {refX, refY};
+        float[] ref = {refX, refY};
         markerTxf.transform(ref, 0, ref, 0, 1);
         Marker marker = new Marker(markerContentNode,
                                    new Point2D.Float(ref[0], ref[1]),

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMaskElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMaskElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMaskElementBridge.java
index 899aaa9..a9a4934 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMaskElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMaskElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -32,10 +33,10 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;mask> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGMaskElementBridge.java,v 1.17 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGMaskElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
-public class SVGMaskElementBridge extends AbstractSVGBridge
-    implements MaskBridge {
+public class SVGMaskElementBridge extends AnimatableGenericSVGBridge
+        implements MaskBridge {
 
     /**
      * Constructs a new bridge for the &lt;mask> element.
@@ -102,7 +103,7 @@ public class SVGMaskElementBridge extends AbstractSVGBridge
         s = maskElement.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
         if (s.length() != 0) {
             Tx = SVGUtilities.convertTransform
-                (maskElement, SVG_TRANSFORM_ATTRIBUTE, s);
+                (maskElement, SVG_TRANSFORM_ATTRIBUTE, s, ctx);
         } else {
             Tx = new AffineTransform();
         }
@@ -114,7 +115,7 @@ public class SVGMaskElementBridge extends AbstractSVGBridge
             coordSystemType = SVGUtilities.USER_SPACE_ON_USE;
         } else {
             coordSystemType = SVGUtilities.parseCoordinateSystem
-                (maskElement, SVG_MASK_CONTENT_UNITS_ATTRIBUTE, s);
+                (maskElement, SVG_MASK_CONTENT_UNITS_ATTRIBUTE, s, ctx);
         }
 
         // additional transform to move to objectBoundingBox coordinate system

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMissingGlyphElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMissingGlyphElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMissingGlyphElementBridge.java
index 4ac88ef..0b8007c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMissingGlyphElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGMissingGlyphElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * Bridge class for the &lt;missing-glyph> element.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: SVGMissingGlyphElementBridge.java,v 1.3 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGMissingGlyphElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGMissingGlyphElementBridge extends SVGGlyphElementBridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPathElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPathElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPathElementBridge.java
index d87007c..11ac4bf 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPathElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPathElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,23 +22,25 @@ import java.awt.Shape;
 import java.awt.geom.GeneralPath;
 import java.awt.geom.Point2D;
 
-import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
+import org.apache.flex.forks.batik.dom.svg.SVGAnimatedPathDataSupport;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedPathData;
+import org.apache.flex.forks.batik.dom.svg.SVGOMPathElement;
 import org.apache.flex.forks.batik.dom.svg.SVGPathContext;
 import org.apache.flex.forks.batik.ext.awt.geom.PathLength;
 import org.apache.flex.forks.batik.gvt.ShapeNode;
 import org.apache.flex.forks.batik.parser.AWTPathProducer;
-import org.apache.flex.forks.batik.parser.ParseException;
-import org.apache.flex.forks.batik.parser.PathParser;
 
 import org.w3c.dom.Element;
-import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGPathSegList;
 
 /**
  * Bridge class for the &lt;path> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGPathElementBridge.java,v 1.20 2005/02/27 02:08:51 deweese Exp $
+ * @version $Id: SVGPathElementBridge.java 594018 2007-11-12 04:17:41Z cam $
  */
 public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge 
        implements SVGPathContext {
@@ -78,44 +81,35 @@ public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge
                               Element e,
                               ShapeNode shapeNode) {
 
-
-        String s = e.getAttributeNS(null, SVG_D_ATTRIBUTE);
-        if (s.length() != 0) {
-            AWTPathProducer app = new AWTPathProducer();
+        SVGOMPathElement pe = (SVGOMPathElement) e;
+        AWTPathProducer app = new AWTPathProducer();
+        try {
+            // 'd' attribute - required
+            SVGOMAnimatedPathData _d = pe.getAnimatedPathData();
+            _d.check();
+            SVGPathSegList p = _d.getAnimatedPathSegList();
             app.setWindingRule(CSSUtilities.convertFillRule(e));
-            try {
-                PathParser pathParser = new PathParser();
-                pathParser.setPathHandler(app);
-                pathParser.parse(s);
-            } catch (ParseException ex) {
-                BridgeException bex
-                    = new BridgeException(e, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                          new Object[] {SVG_D_ATTRIBUTE});
-                bex.setGraphicsNode(shapeNode);
-                throw bex;
-            } finally {
-                shapeNode.setShape(app.getShape());
-            }
+            SVGAnimatedPathDataSupport.handlePathSegList(p, app);
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        } finally {
+            shapeNode.setShape(app.getShape());
         }
     }
 
     // BridgeUpdateHandler implementation //////////////////////////////////
 
     /**
-     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     * Invoked when the animated value of an animatable attribute has changed.
      */
-    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_D_ATTRIBUTE)) {
-            if ( evt.getNewValue().length() == 0 ){
-                ((ShapeNode)node).setShape(DEFAULT_SHAPE);
-            }
-            else{
-                buildShape(ctx, e, (ShapeNode)node);
-            }
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null &&
+                alav.getLocalName().equals(SVG_D_ATTRIBUTE)) {
+            buildShape(ctx, e, (ShapeNode) node);
             handleGeometryChanged();
         } else {
-            super.handleDOMAttrModifiedEvent(evt);
+            super.handleAnimatedAttributeChanged(alav);
         }
     }
 
@@ -130,10 +124,22 @@ public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge
         }
     }
 
-    Shape      pathLengthShape = null;
-    PathLength pathLength      = null;
+    // SVGPathContext ////////////////////////////////////////////////////////
+
+    /**
+     * The cached Shape used for computing the path length.
+     */
+    protected Shape pathLengthShape;
+
+    /**
+     * The cached PathLength object used for computing the path length.
+     */
+    protected PathLength pathLength;
 
-    PathLength getPathLengthObj() {
+    /**
+     * Returns the PathLength object that tracks the length of the path.
+     */
+    protected PathLength getPathLengthObj() {
         Shape s = ((ShapeNode)node).getShape();
         if (pathLengthShape != s) {
             pathLength = new PathLength(s);
@@ -142,14 +148,28 @@ public class SVGPathElementBridge extends SVGDecoratedShapeElementBridge
         return pathLength;
     }
 
-    // SVGPathContext interface
+    /**
+     * Returns the total length of the path.
+     */
     public float getTotalLength() {
         PathLength pl = getPathLengthObj();
         return pl.lengthOfPath();
     }
 
+    /**
+     * Returns the point at the given distance along the path.
+     */
     public Point2D getPointAtLength(float distance) {
         PathLength pl = getPathLengthObj();
         return pl.pointAtLength(distance);
     }
+
+    /**
+     * Returns the index of the path segment at the given distance along the
+     * path.
+     */
+    public int getPathSegAtLength(float distance) {
+        PathLength pl = getPathLengthObj();
+        return pl.segmentAtLength(distance);
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPatternElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPatternElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPatternElementBridge.java
index 85912fa..7b8c87b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPatternElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGPatternElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -43,10 +44,10 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;pattern> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGPatternElementBridge.java,v 1.27 2004/08/18 07:12:35 vhardy Exp $
+ * @version $Id: SVGPatternElementBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
-public class SVGPatternElementBridge extends AbstractSVGBridge
-    implements PaintBridge, ErrorConstants {
+public class SVGPatternElementBridge extends AnimatableGenericSVGBridge
+        implements PaintBridge, ErrorConstants {
 
     /**
      * Constructs a new SVGPatternElementBridge.
@@ -102,7 +103,7 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
             (patternElement, null, SVG_PATTERN_TRANSFORM_ATTRIBUTE, ctx);
         if (s.length() != 0) {
             patternTransform = SVGUtilities.convertTransform
-                (patternElement, SVG_PATTERN_TRANSFORM_ATTRIBUTE, s);
+                (patternElement, SVG_PATTERN_TRANSFORM_ATTRIBUTE, s, ctx);
         } else {
             patternTransform = new AffineTransform();
         }
@@ -118,7 +119,7 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
             contentCoordSystem = SVGUtilities.USER_SPACE_ON_USE;
         } else {
             contentCoordSystem = SVGUtilities.parseCoordinateSystem
-                (patternElement, SVG_PATTERN_CONTENT_UNITS_ATTRIBUTE, s);
+                (patternElement, SVG_PATTERN_CONTENT_UNITS_ATTRIBUTE, s, ctx);
         }
 
         // Compute a transform according to viewBox,  preserveAspectRatio
@@ -171,7 +172,7 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
             float h = (float)patternRegion.getHeight();
             AffineTransform preserveAspectRatioTransform
                 = ViewBox.getPreserveAspectRatioTransform
-                (patternElement, viewBoxStr, aspectRatioStr, w, h);
+                (patternElement, viewBoxStr, aspectRatioStr, w, h, ctx);
 
             patternContentTransform.concatenate(preserveAspectRatioTransform);
         } else {
@@ -238,7 +239,7 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
      */
     protected static
         RootGraphicsNode extractPatternContent(Element patternElement,
-                                                    BridgeContext ctx) {
+                                               BridgeContext ctx) {
 
         List refs = new LinkedList();
         for (;;) {
@@ -256,12 +257,12 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
                 (SVGOMDocument)patternElement.getOwnerDocument();
             ParsedURL purl = new ParsedURL(doc.getURL(), uri);
             if (!purl.complete())
-                throw new BridgeException(patternElement,
+                throw new BridgeException(ctx, patternElement,
                                           ERR_URI_MALFORMED,
                                           new Object[] {uri});
 
             if (contains(refs, purl)) {
-                throw new BridgeException(patternElement,
+                throw new BridgeException(ctx, patternElement,
                                           ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                                           new Object[] {uri});
             }
@@ -360,6 +361,4 @@ public class SVGPatternElementBridge extends AbstractSVGBridge
         }
 
     }
-
 }
-


[42/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/.actionScriptProperties b/frameworks/projects/rpc/.actionScriptProperties
index 62ed826..b8b31c4 100644
--- a/frameworks/projects/rpc/.actionScriptProperties
+++ b/frameworks/projects/rpc/.actionScriptProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties mainApplicationPath="rpc.as" projectUUID="f5cb22f2-53e5-4704-8ad8-ab89785cd476" version="6">
   <compiler additionalCompilerArguments="-resource-bundle-list=bundles.properties -library-path= --namespace=library://ns.adobe.com/flex/mx,../manifest.xml -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/.flexLibProperties b/frameworks/projects/rpc/.flexLibProperties
index b48959a..5c75766 100644
--- a/frameworks/projects/rpc/.flexLibProperties
+++ b/frameworks/projects/rpc/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="RPCClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/build.xml b/frameworks/projects/rpc/build.xml
index 0ff2e99..b92afc1 100644
--- a/frameworks/projects/rpc/build.xml
+++ b/frameworks/projects/rpc/build.xml
@@ -20,246 +20,219 @@
 
 
 <project name="rpc" default="main" basedir=".">
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
-	
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
+    
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-
-	<macrodef name="bundle">
-		<attribute name="locale"/>
-		<sequential>
-		<echo message="Compiling frameworks/locale/@{locale}/rpc_rb.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/locale/@{locale}/rpc_rb.swc"
-			   locale="@{locale}">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-resource-bundles bundle="collections"/>
-			<include-resource-bundles bundle="core"/>
-			<include-resource-bundles bundle="logging"/>
-			<include-resource-bundles bundle="messaging"/>
-			<include-resource-bundles bundle="rpc"/>
-			<include-resource-bundles bundle="styles"/>
-			<include-resource-bundles bundle="utils"/>
-			<include-namespaces/>
-			<include-classes/>
-			<source-path path-element="${basedir}/bundles/@{locale}"/>
-			<source-path path-element="${FLEX_HOME}/frameworks/projects/framework/bundles/@{locale}"/>
-			<include-libraries/>
-			<library-path/>
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-                <include name="framework.swc"/>
-			</external-library-path>
-		</compc>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="fat-swc">
-		<attribute name="locale"/>
-		<sequential>
-			<echo message="creating 'fat-swc' in rpc_rb.swc for @{locale}"/>
-			<mkdir dir="${basedir}/bundles/@{locale}/docs" />
-			<zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/rpc_rb.swc" update="true">
-				<zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
-					<include name="*.*"/>
-				</zipfileset>
-				<zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
-					<include name="packages.dita"/>
-				</zipfileset>
-			</zip>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="bundle-clean">
-		<attribute name="locale"/>
-		<sequential>
-			<delete failonerror="false">
-				<fileset dir="${FLEX_HOME}/frameworks/locale">
-					<include name="@{locale}/rpc_rb.swc"/>
-					<include name="@{locale}/rpc_rb.swc.incr"/>
-				</fileset>
-			</delete>
-		</sequential>
-	</macrodef>	
-	
-	<macrodef name="bundler">
-		<attribute name="locale"/>
-		<element name="run.fat.swc" optional="yes"/>
-		<sequential>
-			<bundle-clean locale="@{locale}"/>
-			<bundle locale="@{locale}"/>
-			<run.fat.swc/>
-		</sequential>
-	</macrodef>
-		
-	<target name="main" depends="clean,compile" description="Clean build of rpc.swc and en_US">
-		<bundle locale="${locale}"/>
-	</target>
-	
-	<target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
-	
-	<!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
-	<!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
-	<target name="bundles">
-		<!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
-		<bundler locale="da_DK"/><!-- Danish resources -->
-		<bundler locale="de_DE"><!-- German resources -->
-			<run.fat.swc>
-				<fat-swc locale="de_DE"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="es_ES"/><!-- Spanish resources -->
-		<bundler locale="fi_FI"/><!--  Finnish resources-->
-		<bundler locale="fr_FR"><!-- French resources -->
-			<run.fat.swc>
-				<fat-swc locale="fr_FR"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="it_IT"/><!-- Italian resources -->
-		<bundler locale="ja_JP"><!-- Japanese resources -->
-			<run.fat.swc>
-				<fat-swc locale="ja_JP"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="ko_KR"/><!-- Korean resources -->
-		<bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
-		<bundler locale="nl_NL"/><!-- Dutch resources -->
-		<bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
-		<bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
-		<bundler locale="ru_RU"><!-- Russian resources -->
-			<run.fat.swc>
-				<fat-swc locale="ru_RU"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="sv_SE"/><!-- Swedish resources -->
-		<bundler locale="zh_CN"><!-- Simplified Chinese resources -->
-			<run.fat.swc>
-				<fat-swc locale="zh_CN"/>
-			</run.fat.swc>
-		</bundler>
-		<bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-		<bundler locale="el_GR"/><!-- Greek Language  resources -->
-	</target>
-			
-	<target name="clean" depends="bundles-clean">
-		<delete failonerror="false">
-			<fileset file="${basedir}/bundles.properties"/>
-			<fileset dir="${FLEX_HOME}/frameworks/libs">
-				<include name="rpc.swc"/>
-				<include name="rpc.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="bundles-clean">
-		<delete failonerror="false">
-			<fileset dir="${basedir}" >
+    <property file="${FLEX_HOME}/build.properties"/>
+
+    <macrodef name="bundle">
+        <attribute name="locale"/>
+        <sequential>
+        <echo message="Compiling frameworks/locale/@{locale}/rpc_rb.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/locale/@{locale}/rpc_rb.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="bundle-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+locale=@{locale}" />
+        </compc>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="fat-swc">
+        <attribute name="locale"/>
+        <sequential>
+            <echo message="creating 'fat-swc' in rpc_rb.swc for @{locale}"/>
+            <mkdir dir="${basedir}/bundles/@{locale}/docs" />
+            <zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/rpc_rb.swc" update="true">
+                <zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
+                    <include name="*.*"/>
+                </zipfileset>
+                <zipfileset dir="${basedir}/bundles/en_US" prefix="docs">
+                    <include name="packages.dita"/>
+                </zipfileset>
+            </zip>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="bundle-clean">
+        <attribute name="locale"/>
+        <sequential>
+            <delete failonerror="false">
+                <fileset dir="${FLEX_HOME}/frameworks/locale">
+                    <include name="@{locale}/rpc_rb.swc"/>
+                    <include name="@{locale}/rpc_rb.swc.incr"/>
+                </fileset>
+            </delete>
+        </sequential>
+    </macrodef> 
+    
+    <macrodef name="bundler">
+        <attribute name="locale"/>
+        <element name="run.fat.swc" optional="yes"/>
+        <sequential>
+            <bundle-clean locale="@{locale}"/>
+            <bundle locale="@{locale}"/>
+            <run.fat.swc/>
+        </sequential>
+    </macrodef>
+        
+    <target name="main" depends="clean,compile" description="Clean build of rpc.swc and en_US">
+        <bundle locale="${locale}"/>
+    </target>
+    
+    <target name="other.locales" depends="bundles" description="Build other locale SWCs"/>
+    
+    <!-- This is a private target for building automation_flashflexkit_rb.swc for various locales. -->
+    <!-- The targets below set the 'locale' parameter and call it with <antcall>. -->
+    <target name="bundles">
+        <!-- these languages do not have localized docs-->
+        <bundler locale="en_AU"/><!-- Australian resources -->
+        <bundler locale="en_GB"/><!-- United Kingdom resources -->
+        <bundler locale="en_CA"/><!-- Canadian resources -->
+        <bundler locale="da_DK"/><!-- Danish resources -->
+        <bundler locale="de_DE"><!-- German resources -->
+            <run.fat.swc>
+                <fat-swc locale="de_DE"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="de_CH"/><!-- Swiss German resources -->
+        <bundler locale="es_ES"/><!-- Spanish resources -->
+        <bundler locale="fi_FI"/><!--  Finnish resources-->
+        <bundler locale="fr_FR"><!-- French resources -->
+            <run.fat.swc>
+                <fat-swc locale="fr_FR"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="it_IT"/><!-- Italian resources -->
+        <bundler locale="ja_JP"><!-- Japanese resources -->
+            <run.fat.swc>
+                <fat-swc locale="ja_JP"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="ko_KR"/><!-- Korean resources -->
+        <bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
+        <bundler locale="nl_NL"/><!-- Dutch resources -->
+        <bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
+        <bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
+        <bundler locale="ru_RU"><!-- Russian resources -->
+            <run.fat.swc>
+                <fat-swc locale="ru_RU"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="sv_SE"/><!-- Swedish resources -->
+        <bundler locale="zh_CN"><!-- Simplified Chinese resources -->
+            <run.fat.swc>
+                <fat-swc locale="zh_CN"/>
+            </run.fat.swc>
+        </bundler>
+        <bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
+        <bundler locale="el_GR"/><!-- Greek Language  resources -->
+    </target>
+            
+    <target name="clean" depends="bundles-clean">
+        <delete failonerror="false">
+			<fileset dir="${basedir}">
 				<include name="bundles.properties"/>
+			    <include name="bundles/en_US/packages.dita"/>
 			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/locale">
-				<include name="*/rpc_rb.swc"/>
-				<include name="*/rpc_rb.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="compile" description="Compiles rpc.swc">
-		<echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
-		<echo message="Compiling frameworks/libs/rpc.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			Link in the classes (and their dependencies) for the MXML tags
-			listed in this project's manifest.xml.
-			Also link the additional classes (and their dependencies)
-			listed in RPCClasses.as,
-			because these aren't referenced by the manifest classes.
-			Compile against framework.swc, but don't link it into rpc.swc.
-			Keep the standard metadata when compiling.
-			Link in accessibility support.
-			Include the appropriate CSS files and assets in the SWC.
-			Don't include any resources in the SWC.
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-		-->
-		<compc fork="true"
-			   output="${FLEX_HOME}/frameworks/libs/rpc.swc"
-               resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/mx" manifest="${basedir}/manifest.xml"/>
-			<include-file name="version.properties" path="${FLEX_HOME}/frameworks/version.properties"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/mx"/>
-			<include-classes>RPCClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
-			<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
-		</compc>
-		<delete file="${FLEX_HOME}/frameworks/version.properties"/>
-	</target>
-	
-	<target name="doc" depends="clean-temp-docs" description="updates rpc.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		    <compiler.source-path path-element="${basedir}/src"/>
-		    <doc-classes class="RPCClasses"/>
-		    <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
-		    <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates rpc.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/locale/en_US/rpc_rb.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-		<copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-		<delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
-		
-	</target>
+            <fileset dir="${FLEX_HOME}/frameworks/libs">
+                <include name="rpc.swc"/>
+                <include name="rpc.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="bundles-clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}" >
+                <include name="bundles.properties"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/locale">
+                <include name="*/rpc_rb.swc"/>
+                <include name="*/rpc_rb.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="compile" description="Compiles rpc.swc">
+        <echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
+        <echo message="Compiling frameworks/libs/rpc.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in RPCClasses.as,
+            because these aren't referenced by the manifest classes.
+            Compile against framework.swc, but don't link it into rpc.swc.
+            Keep the standard metadata when compiling.
+            Link in accessibility support.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/rpc.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+        <delete file="${FLEX_HOME}/frameworks/version.properties"/>
+    </target>
+    
+    <target name="doc" depends="clean-temp-docs" description="updates rpc.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="RPCClasses"/>
+            <doc-namespaces uri="http://www.adobe.com/2006/mxml"/>
+            <namespace uri="http://www.adobe.com/2006/mxml" manifest="${basedir}/manifest.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates rpc.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/locale/en_US/rpc_rb.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+        <copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+        <delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
+        
+    </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/bundle-config.xml b/frameworks/projects/rpc/bundle-config.xml
new file mode 100644
index 0000000..5da7f52
--- /dev/null
+++ b/frameworks/projects/rpc/bundle-config.xml
@@ -0,0 +1,56 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>../framework/bundles/${locale}</path-element>
+            <path-element>bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>collections</bundle>
+        <bundle>core</bundle>
+        <bundle>logging</bundle>
+        <bundle>messaging</bundle>
+        <bundle>rpc</bundle>
+        <bundle>styles</bundle>
+        <bundle>utils</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/bundles/de_CH/messaging.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/bundles/de_CH/messaging.properties b/frameworks/projects/rpc/bundles/de_CH/messaging.properties
new file mode 100644
index 0000000..efce6b7
--- /dev/null
+++ b/frameworks/projects/rpc/bundles/de_CH/messaging.properties
@@ -0,0 +1,133 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# ServerConfig
+unknownDestination = Unbekanntes Ziel '{0}'.
+destinationWithInvalidMessageType = Ziel '{0}' kann Meldungen des Typs '{1}' nicht abwickeln.
+unknownDestinationForService = Unbekanntes Ziel '{1}' für Dienst mit ID '{0}'.
+noServiceForMessageType = Zur Verarbeitung von Meldungen des Typs '{0}' sind keine Dienste konfiguriert.
+unknownChannelWithId = Der Kanal '{0}' ist in der Konfiguration nicht vorhanden.
+unknownChannelClass = Die angegebene Kanalklasse '{0}' wurde nicht gefunden.
+noChannelForDestination = Ziel '{0}' ist nicht vorhanden oder es sind keine Kanäle für das Ziel definiert (und die Anwendung definiert keine Standardkanäle).
+
+# Channel
+noDestinationSpecified = Es muss ein Zielname angegeben werden.
+connectTimedOut = Zeitlimit für Verbindungsversuch wurde überschritten.
+noURLSpecified = Für den Kanal wurde keine URL angegeben.
+
+# ChannelSet
+cannotAddWhenConfigured = Einem ChannelSet mit konfiguriertem Ziel können keine Kanäle hinzugefügt werden.
+cannotRemoveWhenConfigured = Aus einem ChannelSet mit einem konfigurierten Ziel können keine Kanäle entfernt werden.
+noAvailableChannels = Es sind keine Kanäle verfügbar.
+sendFailed = Sendevorgang ist fehlgeschlagen.
+cannotConnectToDestination = Mit dem Ziel der Meldung konnte keine Verbindung hergestellt werden.
+cannotAddNullIdChannelWhenClustered = Ein Kanal mit ungültiger ID kann ChannelSet nicht hinzugefügt werden, wenn die in Clustern gebündelte Eigenschaft 'true' lautet.
+cannotSetClusteredWithdNullChannelIds = Die in Clustern gebündelte Eigenschaft von ChannelSet kann nicht zu 'true' geändert werden, wenn es Kanäle mit NULL-IDs enthält. 
+
+# AbstractConsumer
+resubscribeIntervalNegative = Für resubscribeInterval sind keine negativen Werte zulässig.
+consumerSubscribeError = Fehler bei Verbraucher-Abonnierung
+failedToSubscribe = Der Verbraucher konnte sein Ziel nicht abonnieren.
+
+# MessageAgent
+emptyDestinationName = {0}' ist kein gültiges Ziel.
+destinationNotSet = Zum Senden von Meldungen muss das MessageAgent-Ziel festgelegt werden.
+
+# AbstractProducer
+reconnectIntervalNegative = Für reconnectInterval sind keine negativen Werte zulässig.
+producerConnectError = Fehler bei Produzentenverbindung
+failedToConnect = Der Produzent konnte keine Verbindung zu seinem Ziel herstellen.
+producerSendError = Sendevorgang ist fehlgeschlagen.
+producerSendErrorDetails = Der Produzent ist nicht verbunden und die Meldung kann nicht gesendet werden.
+queuedMessagesNotAllowedDetails = Dem Produzenten wurde keine Meldungswarteschlange zugewiesen. Meldungen in Warteschlangen können daher nicht gesendet werden.
+
+# MessageStore
+messageQueueSendError = Sendevorgang ist fehlgeschlagen.
+wrongMessageQueueForProducerDetails = Die Meldung stammt nicht aus dem Meldungsspeicher für diesen Produzenten.
+lsoStorageNotAllowed = Der Meldungsspeicher kann nicht initialisiert werden, da die lokale Speicherung nicht zulässig ist. Vergewissern Sie sich, dass die lokale Speicherung für Flash Player aktiviert und ausreichend Speicherplatz konfiguriert ist.
+messageQueueNotInitialized = Der Meldungsspeicher wurde nicht initialisiert.
+messageQueueFailedInitialize = Die Initialisierung des Meldungsspeichers ist fehlgeschlagen.
+couldNotAddMessageToQueue = Die Meldung konnte nicht im Meldungsspeicher abgelegt werden und der Produzent ist nicht angeschlossen. Weitere Informationen enthält der vom Meldungsspeicher gesendete FaultEvent.
+couldNotRemoveMessageFromQueue = Die Meldung konnte nicht vor dem Senden aus dem Meldungsspeicher entfernt werden.
+couldNotLoadCache = Der Zwischenspeicher konnte nicht in den Meldungsspeicher geladen werden.
+couldNotSaveCache = Der Zwischenspeicher konnte nicht gespeichert werden.
+couldNotClearCache = Der Zwischenspeicher konnte nicht geleert werden.
+couldNotLoadCacheIds = Die Liste der Zwischenspeicher-IDs konnte nicht geladen werden.
+
+# Session
+emptySessionClientId = Die clientId einer Sitzung muss eine Länge aufweisen, die nicht null ist.
+
+# AMFChannel
+pollingIntervalNonPositive = Der pollingInterval-Wert für den Kanal muss positiv sein.
+pollingRequestNotAllowed = Eine Abfrage wurde bei '{0}' angefordert, obwohl Abfragen nicht aktiviert sind.
+invalidURL = Ungültige URL
+
+# StreamingAMFChannel
+pollingNotSupportedAMF = StreamingAMFChannel unterstützt kein Polling.
+
+# DirectHTTPChannel
+noURIAllowed = Fehler bei DirectHTTPChannel. Es kann keine URI festgelegt werden.
+authenticationNotSupported = Authentifizierung wird bei DirectHTTPChannel nicht unterstützt (kein Proxy).
+httpRequestError = HTTP-Anforderungsfehler
+httpRequestError.details = Fehler: {0}
+securityError = Sicherheitsfehler beim Zugriff auf die URL
+securityError.details = Ziel: {0}
+
+# AMFXDecoder
+noAMFXBody = Ungültiges AMFX-Paket. Meldungstext wurde nicht gefunden.
+unsupportedAMFXVersion = Nicht unterstützte AMFX-Version: {0}
+noAMFXNode = Ungültiges AMFX-Paket. Der Inhalt muss mit einem <amfx>-Knoten beginnen.
+AMFXTraitsNotFirst = Ungültiges Objekt. Der erste Eintrag in einem Objekt muss ein einzelner Satz Eigenschaften sein.
+errorReadingIExternalizable = Beim Lesen von IExternalizable ist ein Fehler aufgetreten. {0}
+notImplementingIExternalizable = Klasse {0} muss flash.util.IExternalizable implementieren.
+unknownReference = Unbekannte Referenz {0}
+referenceMissingId = Eine Referenz muss eine ID haben.
+unknownStringReference = Unbekannte String-Referenz {0}
+unknownTraitReference = Unbekannte Eigenschaftsreferenz {0}
+
+# HttpRequestMessage
+invalidRequestMethod = Ungültige Methode angegeben.
+
+# MessageResponder
+requestTimedOut = Zeitlimit für die Anforderung wurde überschritten.
+requestTimedOut.details = Das Anforderungszeitlimit für die gesendete Meldung wurde erreicht, aber es ging keine Antwort vom Server ein.
+deliveryInDoubt = Kanal getrennt
+deliveryInDoubt.details = Der Kanal wurde vor dem Eingang einer Bestätigung getrennt.
+
+# HTTPChannel
+##httpRequestError
+##httpRequestError.details
+##securityError
+##securityError.details
+ackFailed = Es ist keine Meldungsbestätigung eingegangen.
+ackFailed.details = Die Meldung '{0}' wurde erwartet, aber '{1}' wurde empfangen.
+noAckMessage = Keine Bestätigungsmeldung erhalten.
+noAckMessage.details = Erwartet wurde mx.messaging.messages.AcknowledgeMessage. Empfangen wurde {0}.
+
+# StreamingHTTPChannel
+pollingNotSupportedHTTP = StreamingHTTPChannel unterstützt kein Polling.
+
+# NetConnectionChannel
+##ackFailed
+##ackFailed.details
+##noAckMessage
+##noAckMessage.details
+noErrorForMessage = Keinen Fehler für die Meldung erhalten.
+noErrorForMessage.details = Die Meldung '{0}' wurde erwartet, aber '{1}' wurde empfangen.
+receivedNull = NULL empfangen.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/bundles/de_CH/rpc.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/bundles/de_CH/rpc.properties b/frameworks/projects/rpc/bundles/de_CH/rpc.properties
new file mode 100644
index 0000000..fb09421
--- /dev/null
+++ b/frameworks/projects/rpc/bundles/de_CH/rpc.properties
@@ -0,0 +1,108 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# AbstractOperation
+cannotResetOperationName = Der Name eines Vorgangs kann nicht zurückgesetzt werden.
+cannotResetService = Der Dienst eines Vorgangs kann nicht zurückgesetzt werden.
+
+# AbstractService
+operationsNotAllowedInService = Es können keine Vorgänge in einem RPC-Dienst zugewiesen werden ({0}).
+
+# HTTPService
+invalidResultFormat = Ungültiges resultFormat '{0}'. Gültige Formate sind [{1}, {2}, {3}, {4}, {5}].
+xmlEncodeReturnNull = xmlEncode hat NULL zurückgegeben.
+xmlEncodeReturnNoXMLNode = xmlEncode hat keine XMLNode zurückgegeben.
+urlNotSpecified = Sie müssen eine URL angeben. Dabei muss useProxy auf 'false' eingestellt sein.
+xmlDecodeReturnNull = xmlDecode hat NULL zurückgegeben.
+defaultDecoderFailed = Der Standarddecoder konnte das Ergebnis nicht dekodieren.
+
+# mxml.HTTPService
+unknownProtocol = Unbekanntes Protokoll '{0}'
+pendingCallExists = Es wurde versucht, einen neuen Aufruf zu senden, obwohl ein anderer Aufruf noch nicht abgeschlossen ist. Ändern Sie die Optionen für gleichzeitige Vorgänge oder vermeiden Sie mehrere Aufrufe.
+
+# mxml.RemoteObject
+noListenerForEvent = Es wurde ein Ereignis empfangen, für das kein Listener definiert war. Fügen Sie einen Ereignis-Listener hinzu. {0}
+
+# SOAPDecoder
+soapVersionMismatch = Anforderung implementiert Version {0}, Antwort implementiert Version {1}
+
+# SOAPEncoder
+missingInputParameter = Im Array der Eingabeargumente fehlte ein erforderlicher Parameter an Position {0}.
+missingInputParameterWithName = Der erforderliche Parameter '{0}' wurde in den Eingabeargumenten nicht gefunden.
+tooFewInputParameters = Zu wenige Parameter. Es wurden mindestens {0} erwartet, aber nur {1} gefunden.
+unexpectedInputParameter = Unerwarteter Parameter '{0}' in den Eingabeargumenten gefunden.
+
+# WSDLDocument
+wsdlDefinitionsNotFirst = Die Definitionen müssen das erste Element in einem WSDL-Dokument sein.
+##faultyWSDLFormat
+
+# WSDLParser
+noBaseWSDLAddress = Der Import der relativen WSDL-Datei kann nicht ohne vollqualifizierte Basisadresse aufgelöst werden.
+noBaseWSDLAddress.details = Geben Sie den Speicherort des WSDL-Dokuments für den Webdienst an.
+noServiceElement = WSDL-Datei konnte nicht geladen werden.
+noServiceElement.details = Keine Elemente des Typs <wsdl:service> in der WSDL-Datei unter {0} gefunden.
+unrecognizedNamespace = Der WSDL-Parser hatte kein registriertes Dokument für den Namespace '{0}'.
+unrecognizedPortTypeName = Der WSDL-Parser konnte keinen portType '{0}' im Namespace '{1}' finden.
+overloadedOperation = Die WSDL-Datei enthält einen überladenen Vorgang ({0}). Diese Art der Nutzung wird gegenwärtig nicht unterstützt.
+unrecognizedMessageName = Der WSDL-Parser konnte keine Meldung '{0}' im Namespace '{1}' finden.
+badElement = Element {0}:{1} kann nicht aufgelöst werden.
+badType = Typ {0} kann nicht aufgelöst werden.
+
+unexpectedException = Ausnahmefehler zur Laufzeit {0}
+unableToLoadWSDL = WSDL-Datei kann nicht geladen werden. Falls Sie zurzeit online sind, überprüfen Sie den URI bzw. das Format der WSDL-Datei ({0}).
+faultyWSDLFormat = Fehlerhaftes WSDL-Format
+##wsdlDefinitionsNotFirst
+unrecognizedBindingName = Der WSDL-Parser konnte keine Bindung '{0}' im Namespace '{1}' finden.
+
+# mxml.WebService
+##unknownProtocol
+##noListenerForEvent
+
+# SchemaContext
+unknownSchemaType = Unbekanntes Schematypsystem
+unknownSchemaVersion = Unbekannte Schemaversion
+badSchemaNode = Ungültiger Schemaknoten
+noBaseSchemaAddress = Der Import eines relativen Schemas kann nicht ohne vollqualifizierte Basisadresse aufgelöst werden.
+unexpectedSchemaException = Fehler beim Importieren des Schemas: {0}
+errorWhileLoadingFromParent = Fehler beim Laden des importierten Schemas aus dem übergeordneten Speicherort: {0}
+unknownSchemaElement = Unbekanntes Element: {0}
+cannotFindType = Typ nicht gefunden für: {0}
+
+# AbstractInvoker
+cannotConnectToDestination = Es konnte keine Verbindung mit '{0}' hergestellt werden.
+
+# remoting.mxml.Operation
+##pendingCallExists
+
+# soap.Operation
+invalidSoapResultFormat = Ungültiges resultFormat '{0}'. Gültige Formate sind 'object', 'xml' und 'e4x'.
+noListenerForHeader = Es gibt keinen Ereignis-Listener für Header {0}.
+
+# WebService
+mustSpecifyWSDLLocation = Sie müssen den Speicherort der WSDL-Datei angeben. Dabei muss useProxy auf 'false' eingestellt sein.
+destinationOrWSDLNotSpecified = Es muss ein Ziel bzw. eine WSDL-Datei angegeben werden.
+noSuchServiceInWSDL = Der angeforderte Dienst '{0}' wurde nicht in der WSDL-Datei gefunden.
+noServices = Die WSDL-Datei enthält keine gültigen Dienste.
+noSuchService = Der Dienst '{0}' wurde nicht gefunden.
+noPortsInWSDL = In der WSDL-Datei gibt es keine gültigen Ports für den {0}-Dienst.
+multiplePortsFound = Es wurde kein gültiger Port angegeben. Es kann kein Standard-Port ausgewählt werden, weil die WSDL-Datei mehrere Ports enthält.
+noServiceAndPort = Ein passender Port wurde nicht gefunden (Dienst = '{0}', Port = '{1}')
+
+# soap.mxml.Operation
+##pendingCallExists

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/bundles/pt_PT/messaging.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/bundles/pt_PT/messaging.properties b/frameworks/projects/rpc/bundles/pt_PT/messaging.properties
index 5fa1de3..150ac97 100644
--- a/frameworks/projects/rpc/bundles/pt_PT/messaging.properties
+++ b/frameworks/projects/rpc/bundles/pt_PT/messaging.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/bundles/pt_PT/rpc.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/bundles/pt_PT/rpc.properties b/frameworks/projects/rpc/bundles/pt_PT/rpc.properties
index 29861ef..d1340e5 100644
--- a/frameworks/projects/rpc/bundles/pt_PT/rpc.properties
+++ b/frameworks/projects/rpc/bundles/pt_PT/rpc.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/rpc/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/rpc/compile-config.xml b/frameworks/projects/rpc/compile-config.xml
new file mode 100644
index 0000000..7f37dd0
--- /dev/null
+++ b/frameworks/projects/rpc/compile-config.xml
@@ -0,0 +1,64 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>RPCClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>version.properties</name>
+        <path>../../version.properties</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/.actionScriptProperties b/frameworks/projects/spark/.actionScriptProperties
index e8b4330..d9ee0a4 100644
--- a/frameworks/projects/spark/.actionScriptProperties
+++ b/frameworks/projects/spark/.actionScriptProperties
@@ -1,29 +1,29 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties analytics="false" mainApplicationPath="spark.as" projectUUID="fe6cd9e8-ac6c-419a-876e-64da4790b2b9" version="10">
   <compiler additionalCompilerArguments="-keep-as3-metadata=SkinPart -include-file=defaults.css,../defaults.css -resource-bundle-list=bundles.properties -namespace=library://ns.adobe.com/flex/spark,../manifest.xml -include-file=assets/ErrorIndicator.png,../assets/ErrorIndicator.png -include-file=assets/RequiredIndicator.png,../assets/RequiredIndicator.png -include-namespaces=library://ns.adobe.com/flex/spark -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" removeUnusedRSL="true" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
     <compilerSourcePath/>
     <libraryPath defaultLinkType="0">
       <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
       <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/osmf.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/textLayout/bin/textLayout.swc" useDefaultLinkType="false"/>
       <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
       <libraryPathEntry kind="3" linkType="2" path="/mx/bin/mx.swc" useDefaultLinkType="false"/>
     </libraryPath>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/.flexLibProperties b/frameworks/projects/spark/.flexLibProperties
index 85984e3..91a5cf6 100644
--- a/frameworks/projects/spark/.flexLibProperties
+++ b/frameworks/projects/spark/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" useMultiPlatformConfig="false" version="3">
   <includeClasses>
     <classEntry path="SparkClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml
index b65ac22..eb5207a 100644
--- a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml
+++ b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample1.mxml
@@ -22,15 +22,15 @@
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx">
-
+    
     <fx:Declarations>
         <s:CurrencyFormatter id="currencyFormatter"/>
     </fx:Declarations>
-
+    
     <fx:Script>
         <![CDATA[
             import flash.globalization.CurrencyParseResult;
-
+            
             private function localeChange():void
             {
                 // Sets the locale style on the document UI component.
@@ -38,34 +38,34 @@
                 setStyle('locale', inputLocaleIDName.text);
                 inputCurrencyChange();
             }
-
+            
             private function inputCurrencyChange():void
             {
                 const cpr:CurrencyParseResult
-                                = currencyFormatter.parse(inputCurrency.text);
+                = currencyFormatter.parse(inputCurrency.text);
                 parsedResult.text = "Currency String: [" + cpr.currencyString
                     + "], Amount: [" + cpr.value.toString() + "]";
             }
         ]]>
     </fx:Script>
-
-    <mx:Form>
-        <mx:FormItem label="Input Locale ID Name">
-            <mx:HBox>
+    
+    <s:Form>
+        <s:FormItem label="Input Locale ID Name">
+            <s:HGroup>
                 <s:TextInput id="inputLocaleIDName"/>
                 <s:Button click="localeChange()" label="Apply"/>
-            </mx:HBox>
-            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
-        </mx:FormItem>
-        <mx:FormItem label="Input Currency Amount">
+            </s:HGroup>
+            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
+        </s:FormItem>
+        <s:FormItem label="Input Currency Amount">
             <s:TextInput id="inputCurrency" change="inputCurrencyChange()"/>
-            <mx:Text text="Example: {currencyFormatter.format(123456789.123)}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Actual Locale ID Name">
-            <mx:Text text="{currencyFormatter.actualLocaleIDName}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Parsed Result">
-            <mx:Text id="parsedResult"/>
-        </mx:FormItem>
-    </mx:Form>
+            <s:Label text="Example: {currencyFormatter.format(123456789.123)}"/>
+        </s:FormItem>
+        <s:FormItem label="Actual Locale ID Name">
+            <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
+        </s:FormItem>
+        <s:FormItem label="Parsed Result">
+            <s:Label id="parsedResult"/>
+        </s:FormItem>
+    </s:Form>
 </s:Application>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml
index c7ac0bd..2259435 100644
--- a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml
+++ b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/CurrencyFormatterExample2.mxml
@@ -22,38 +22,38 @@
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx">
-
+    
     <fx:Declarations>
         <s:CurrencyFormatter id="currencyFormatter"/>
     </fx:Declarations>
-
+    
     <fx:Script>
         <![CDATA[
             [Bindable]
             private var currencyAmount:Number = 123456.789;
         ]]>
     </fx:Script>
-
-    <mx:Form>
-        <mx:FormItem label="Input Locale ID Name">
-            <mx:HBox>
+    
+    <s:Form>
+        <s:FormItem label="Input Locale ID Name">
+            <s:HGroup>
                 <s:TextInput id="inputLocaleIDName"/>
                 <!-- Upon button click, sets the locale style on the document
-                    UI component. The formatter will inherit this style. -->
+                UI component. The formatter will inherit this style. -->
                 <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                           label="Apply"/>
-            </mx:HBox>
-            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
-        </mx:FormItem>
-        <mx:FormItem label="Use Currency Symbol">
+            </s:HGroup>
+            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
+        </s:FormItem>
+        <s:FormItem label="Use Currency Symbol">
             <s:CheckBox id="useSymbol"
-                click="currencyFormatter.useCurrencySymbol = useSymbol.selected"/>
-        </mx:FormItem>
-        <mx:FormItem label="Actual Locale ID Name">
+                        click="currencyFormatter.useCurrencySymbol = useSymbol.selected"/>
+        </s:FormItem>
+        <s:FormItem label="Actual Locale ID Name">
             <s:Label text="{currencyFormatter.actualLocaleIDName}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Formatted Result">
+        </s:FormItem>
+        <s:FormItem label="Formatted Result">
             <s:Label text="{currencyFormatter.format(currencyAmount)}"/>
-        </mx:FormItem>
-    </mx:Form>
+        </s:FormItem>
+    </s:Form>
 </s:Application>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml
index 58e7603..d1b8921 100644
--- a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml
+++ b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/DateTimeFormatterExample.mxml
@@ -22,50 +22,50 @@
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx">
-
+    
     <fx:Declarations>
         <s:DateTimeFormatter id="dateTimeFormatter"/>
     </fx:Declarations>
-
+    
     <fx:Script>
         <![CDATA[
             import mx.collections.ArrayCollection;
-
+            
             private static const dateTimeStyleMenuItems:ArrayCollection
-                = new ArrayCollection(["long", "medium", "short", "none"]);
+            = new ArrayCollection(["long", "medium", "short", "none"]);
         ]]>
     </fx:Script>
-
-    <mx:Form>
-        <mx:FormItem label="Input Locale ID Name">
-            <mx:HBox>
+    
+    <s:Form>
+        <s:FormItem label="Input Locale ID Name">
+            <s:HGroup>
                 <s:TextInput id="inputLocaleIDName"/>
                 <!-- Upon button click, sets the locale style on the document
-                    UI component. The formatter will inherit this style. -->
+                UI component. The formatter will inherit this style. -->
                 <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                           label="Apply"/>
-            </mx:HBox>
-            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
-        </mx:FormItem>
-        <mx:FormItem label="Date Style">
+            </s:HGroup>
+            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
+        </s:FormItem>
+        <s:FormItem label="Date Style">
             <s:DropDownList id="dateStyle" requireSelection="true"
-                change="dateTimeFormatter.dateStyle = dateTimeStyleMenuItems[dateStyle.selectedIndex]"
-                dataProvider="{dateTimeStyleMenuItems}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Time Style">
+                            change="dateTimeFormatter.dateStyle = dateTimeStyleMenuItems[dateStyle.selectedIndex]"
+                            dataProvider="{dateTimeStyleMenuItems}"/>
+        </s:FormItem>
+        <s:FormItem label="Time Style">
             <s:DropDownList id="timeStyle" requireSelection="true"
-                change="dateTimeFormatter.timeStyle = dateTimeStyleMenuItems[timeStyle.selectedIndex]"
-                dataProvider="{dateTimeStyleMenuItems}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Input Date">
-            <mx:TextInput id="inputDate" text="{new Date().toString()}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Actual Locale ID Name">
-            <mx:Text text="{dateTimeFormatter.actualLocaleIDName}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Formatted Result">
-            <mx:Text id="uiFormattedDate"
-                text="{dateTimeFormatter.format(inputDate.text)}"/>
-        </mx:FormItem>
-    </mx:Form>
+                            change="dateTimeFormatter.timeStyle = dateTimeStyleMenuItems[timeStyle.selectedIndex]"
+                            dataProvider="{dateTimeStyleMenuItems}"/>
+        </s:FormItem>
+        <s:FormItem label="Input Date">
+            <s:TextInput id="inputDate" text="{new Date().toString()}"/>
+        </s:FormItem>
+        <s:FormItem label="Actual Locale ID Name">
+            <s:Label text="{dateTimeFormatter.actualLocaleIDName}"/>
+        </s:FormItem>
+        <s:FormItem label="Formatted Result">
+            <s:Label id="uiFormattedDate"
+                     text="{dateTimeFormatter.format(inputDate.text)}"/>
+        </s:FormItem>
+    </s:Form>
 </s:Application>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml
index 8f55ab6..4ea0969 100644
--- a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml
+++ b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample1.mxml
@@ -22,42 +22,42 @@
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx">
-
+    
     <fx:Declarations>
         <s:NumberFormatter id="numberFormatter"/>
     </fx:Declarations>
-
+    
     <fx:Script>
         <![CDATA[
             [Bindable]
             private var number:Number = 123456789.123456789;
         ]]>
     </fx:Script>
-
-    <mx:Form>
-        <mx:FormItem label="Input Locale ID Name">
-            <mx:HBox>
+    
+    <s:Form>
+        <s:FormItem label="Input Locale ID Name">
+            <s:HGroup>
                 <s:TextInput id="inputLocaleIDName"/>
                 <!-- Upon button click, sets the locale style on the document
-                    UI component. The formatter will inherit this style. -->
+                UI component. The formatter will inherit this style. -->
                 <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                           label="Apply"/>
-            </mx:HBox>
-            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
-        </mx:FormItem>
-        <mx:FormItem label="Use Grouping">
-            <mx:CheckBox id="useGrouping"
-                change="numberFormatter.useGrouping= useGrouping.selected"/>
-        </mx:FormItem>
-        <mx:FormItem label="Fractional Digits">
-            <mx:TextInput id="fractionalDigits"
-                change="numberFormatter.fractionalDigits = Number(fractionalDigits.text)"/>
-        </mx:FormItem>
-        <mx:FormItem label="Actual Locale ID Name">
-            <mx:Text text="{numberFormatter.actualLocaleIDName}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Formatted Result">
-            <mx:Text text="{numberFormatter.format(number)}"/>
-        </mx:FormItem>
-    </mx:Form>
+            </s:HGroup>
+            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
+        </s:FormItem>
+        <s:FormItem label="Use Grouping">
+            <s:CheckBox id="useGrouping"
+                         change="numberFormatter.useGrouping = useGrouping.selected"/>
+        </s:FormItem>
+        <s:FormItem label="Fractional Digits">
+            <s:TextInput id="fractionalDigits"
+                          change="numberFormatter.fractionalDigits = Number(fractionalDigits.text)"/>
+        </s:FormItem>
+        <s:FormItem label="Actual Locale ID Name">
+            <s:Label text="{numberFormatter.actualLocaleIDName}"/>
+        </s:FormItem>
+        <s:FormItem label="Formatted Result">
+            <s:Label text="{numberFormatter.format(number)}"/>
+        </s:FormItem>
+    </s:Form>
 </s:Application>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml
index 5ee3a20..8030709 100644
--- a/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml
+++ b/frameworks/projects/spark/asdoc/en_US/spark/formatters/examples/NumberFormatterExample2.mxml
@@ -22,32 +22,32 @@
     xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx">
-
+    
     <fx:Declarations>
         <s:NumberFormatter id="numberFormatter"/>
     </fx:Declarations>
-
-    <mx:Form>
-        <mx:FormItem label="Input Locale ID Name">
-            <mx:HBox>
+    
+    <s:Form>
+        <s:FormItem label="Input Locale ID Name">
+            <s:HGroup>
                 <s:TextInput id="inputLocaleIDName"/>
                 <!-- Upon button click, sets the locale style on the document
-                    UI component. The formatter will inherit this style. -->
+                UI component. The formatter will inherit this style. -->
                 <s:Button click="setStyle('locale', inputLocaleIDName.text);"
                           label="Apply"/>
-            </mx:HBox>
-            <mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
-        </mx:FormItem>
-        <mx:FormItem label="Input Number">
+            </s:HGroup>
+            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
+        </s:FormItem>
+        <s:FormItem label="Input Number">
             <s:TextInput id="inputNumber"/>
-            <mx:Text text="Example: {numberFormatter.format(123456789.123)}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Actual Locale ID Name">
-            <mx:Text text="{numberFormatter.actualLocaleIDName}"/>
-        </mx:FormItem>
-        <mx:FormItem label="Parsed Result">
-            <mx:Text
+            <s:Label text="Example: {numberFormatter.format(123456789.123)}"/>
+        </s:FormItem>
+        <s:FormItem label="Actual Locale ID Name">
+            <s:Label text="{numberFormatter.actualLocaleIDName}"/>
+        </s:FormItem>
+        <s:FormItem label="Parsed Result">
+            <s:Label
                 text="{numberFormatter.parseNumber(inputNumber.text).toString()}"/>
-        </mx:FormItem>
-    </mx:Form>
+        </s:FormItem>
+    </s:Form>
 </s:Application>


[54/62] [abbrv] Merged Apache Flex 4.9.1 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongYearError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongYearError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongYearError.png
index b225816..b46c19c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongYearError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_DateValidator_wrongYearError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidCharError2.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidCharError2.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidCharError2.png
index aaa014c..7ee817b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidCharError2.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidCharError2.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError.png
index 6dfbf08..b79d4b0 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError2.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError2.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError2.png
index b3f6ad5..62d7ba2 100755
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError2.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError2.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError_noPeriod.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError_noPeriod.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError_noPeriod.png
index 91a6641..b46ee59 100755
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError_noPeriod.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidDomainError_noPeriod.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidIPDomainError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidIPDomainError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidIPDomainError.png
index 99d6bee..c832b8c 100755
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidIPDomainError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidIPDomainError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidPeriodsInDomainError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidPeriodsInDomainError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidPeriodsInDomainError.png
index 0bdd171..6216ee1 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidPeriodsInDomainError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_invalidPeriodsInDomainError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingAtSignError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingAtSignError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingAtSignError.png
index 98500c0..6ec7e6b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingAtSignError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingAtSignError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingPeriodInDomainError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingPeriodInDomainError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingPeriodInDomainError.png
index 4fcc7e4..ed6eb9c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingPeriodInDomainError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingPeriodInDomainError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingUsernameError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingUsernameError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingUsernameError.png
index 2c5607c..9ead18b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingUsernameError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_missingUsernameError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_tooManyAtSignsError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_tooManyAtSignsError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_tooManyAtSignsError.png
index dc6a790..5f8b522 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_tooManyAtSignsError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_EmailValidator_tooManyAtSignsError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_decimalPointCountError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_decimalPointCountError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_decimalPointCountError.png
index af74f5c..a45e8e2 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_decimalPointCountError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_decimalPointCountError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_exceedsMaxError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_exceedsMaxError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_exceedsMaxError.png
index 0940752..4ca0bb9 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_exceedsMaxError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_exceedsMaxError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_integerError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_integerError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_integerError.png
index f1e2133..68e25a1 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_integerError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_integerError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidCharError.png
index 21366f8..43ea52f 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Decimal.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Decimal.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Decimal.png
index c326a6a..3f1328a 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Decimal.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Decimal.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Thousand.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Thousand.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Thousand.png
index d0ddb41..b4ac4d9 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Thousand.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_invalidFormatCharsError_Thousand.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_lowerThanMinError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_lowerThanMinError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_lowerThanMinError.png
index fac14c0..2a8211c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_lowerThanMinError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_lowerThanMinError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_negativeError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_negativeError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_negativeError.png
index 6349e33..fb0043c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_negativeError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_negativeError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_precisionError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_precisionError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_precisionError.png
index 2b095a1..3f74247 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_precisionError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_NumberValidator_precisionError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_invalidCharError.png
index d1fd445..96e59d3 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_wrongLengthError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_wrongLengthError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_wrongLengthError.png
index aa33010..9b4552c 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_wrongLengthError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_PhoneNumberValidator_wrongLengthError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_invalidCharError.png
index 665c82d..704ce1e 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_wrongFormatError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_wrongFormatError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_wrongFormatError.png
index d5321a9..0d8d23a 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_wrongFormatError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_wrongFormatError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_zeroStartError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_zeroStartError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_zeroStartError.png
index 79936fe..bbee611 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_zeroStartError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_SocialSecurityValidator_zeroStartError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError.png
index 56085f8..1767636 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError1.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError1.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError1.png
index 6e9ee9e..41f8795 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError1.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooLongError1.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError.png
index b60a604..994c4c1 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError1.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError1.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError1.png
index 1a6da0b..ff49c55 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError1.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_StringValidator_tooShortError1.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidCharError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidCharError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidCharError.png
index 9bd02cf..c8f2d7f 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidCharError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidCharError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidDomainError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidDomainError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidDomainError.png
index 1388bbb..f00548b 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidDomainError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_invalidDomainError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongCAFormatError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongCAFormatError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongCAFormatError.png
index 6b69c43..c90b433 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongCAFormatError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongCAFormatError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongLengthError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongLengthError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongLengthError.png
index 7dd5b41..83183ee 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongLengthError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongLengthError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongUSFormatError.png
----------------------------------------------------------------------
diff --git a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongUSFormatError.png b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongUSFormatError.png
index 63d7446..7d2d519 100644
Binary files a/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongUSFormatError.png and b/mustella/tests/LangPacks/Japanese/tests/baselines/JA_ZipCodeValidator_wrongUSFormatError.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/gumbo/components/ComboBox/Properties/ComboBox_Properties.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/gumbo/components/ComboBox/Properties/ComboBox_Properties.mxml b/mustella/tests/gumbo/components/ComboBox/Properties/ComboBox_Properties.mxml
index 3c4d32d..bb11ff0 100644
--- a/mustella/tests/gumbo/components/ComboBox/Properties/ComboBox_Properties.mxml
+++ b/mustella/tests/gumbo/components/ComboBox/Properties/ComboBox_Properties.mxml
@@ -1029,7 +1029,7 @@
                 <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="146"/>
                 <RunCode code="FlexGlobals.topLevelApplication.mainGroup.myCB_array.setTI_22()"/>
                 <Pause timeout="50"/>                
-                <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="110"/>
+                <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="65"/>
             </body>
         </TestCase>         
         
@@ -1041,7 +1041,7 @@
                 <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="146"/>
                 <RunCode code="FlexGlobals.topLevelApplication.mainGroup.myCB_array.setTI_13()"/>
                 <Pause timeout="50"/>                
-                <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="170"/>
+                <AssertPropertyValue target="mainGroup.myCB_array" propertyName="width" value="99"/>
             </body>
         </TestCase>                 
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/spark/styles/local/baselines/dropShadowVisible_css_Alert.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/styles/local/baselines/dropShadowVisible_css_Alert.png b/mustella/tests/spark/styles/local/baselines/dropShadowVisible_css_Alert.png
index d3c386b..7f77dc7 100644
Binary files a/mustella/tests/spark/styles/local/baselines/dropShadowVisible_css_Alert.png and b/mustella/tests/spark/styles/local/baselines/dropShadowVisible_css_Alert.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/202d09c0/mustella/tests/spark/styles/local/baselines/dropShadowVisible_default_Alert.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/styles/local/baselines/dropShadowVisible_default_Alert.png b/mustella/tests/spark/styles/local/baselines/dropShadowVisible_default_Alert.png
index 33e304b..3d58cb1 100644
Binary files a/mustella/tests/spark/styles/local/baselines/dropShadowVisible_default_Alert.png and b/mustella/tests/spark/styles/local/baselines/dropShadowVisible_default_Alert.png differ


[40/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/nl_NL/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/nl_NL/textLayout.properties b/frameworks/projects/spark/bundles/nl_NL/textLayout.properties
deleted file mode 100644
index b4b87da..0000000
--- a/frameworks/projects/spark/bundles/nl_NL/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Geen tekenreeks voor resource {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Poging tot samenstellen van ongeldige FlowElement-subklasse
-invalidSplitAtPosition=Ongeldige parameter naar splitAtPosition
-badMXMLChildrenArgument=Ongeldig element van type {0} doorgegeven aan mxmlChildren
-badReplaceChildrenIndex=Index naar FlowGroupElement.replaceChildren buiten bereik
-invalidChildType=NewElement niet van een type dat dit als bovenliggend element kan hebben
-badRemoveChild=Te verwijderen onderliggend element niet gevonden
-invalidSplitAtIndex=Ongeldige parameter naar splitAtIndex
-badShallowCopyRange=Ongeldig bereik in shallowCopy
-badSurrogatePairCopy=Alleen de helft van een vervangend paar in SpanElement.shallowCopy wordt gekopieerd
-invalidReplaceTextPositions=Ongeldige posities doorgegeven aan SpanElement.replaceText
-invalidSurrogatePairSplit=Ongeldige splitsing van een vervangend paar
-badPropertyValue=Waarde {1} van eigenschap {0} valt buiten bereik
-
-# Selection/editing
-
-illegalOperation=Ongeldige poging om {0}-bewerking uit te voeren
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Onverwacht element {0} binnen een span
-unexpectedNamespace=Onverwachte naamruimte {0}
-unknownElement=Onbekend element {0}
-unknownAttribute=Kenmerk {0] niet toegestaan in element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Onjuist ingedeelde code {0}
-malformedMarkup=Onjuist ingedeelde markering {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Er is geen TextFlow om te parseren
-expectedExactlyOneTextLayoutFormat=Er werd slechts één, en niet meer dan één, TextLayoutFormat in {0}	 verwacht

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_BR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_BR/textLayout.properties b/frameworks/projects/spark/bundles/pt_BR/textLayout.properties
deleted file mode 100644
index caa602d..0000000
--- a/frameworks/projects/spark/bundles/pt_BR/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Nenhuma string para o recurso {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Tentativa de construção de uma subclasse FlowElement inválida
-invalidSplitAtPosition=Parâmetro inválido para splitAtPosition
-badMXMLChildrenArgument=Elemento incorreto do tipo {0} passado para mxmlChildren
-badReplaceChildrenIndex=Índice fora de intervalo para FlowGroupElement.replaceChildren
-invalidChildType=NewElement não é de um tipo do qual este possa ser pai
-badRemoveChild=O filho a ser removido não foi encontrado
-invalidSplitAtIndex=Parâmetro inválido para splitAtIndex
-badShallowCopyRange=Intervalo incorreto em shallowCopy
-badSurrogatePairCopy=Copiando somente metade de um par substituto em SpanElement.shallowCopy
-invalidReplaceTextPositions=Posições inválidas passadas para SpanElement.replaceText
-invalidSurrogatePairSplit=Divisão inválida de um par substituto
-badPropertyValue=O valor {1) da propriedade {0} está fora de intervalo
-
-# Selection/editing
-
-illegalOperation=Tentativa ilegal de executar a operação {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Elemento inesperado {0} dentro de uma expansão
-unexpectedNamespace=Namespace inesperado {0}
-unknownElement=Elemento desconhecido {0}
-unknownAttribute=Atributo {0} não permitido no elemento {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Marca mal formada {0}
-malformedMarkup=Marcação mal formada {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Nenhum TextFlow para analisar
-expectedExactlyOneTextLayoutFormat=Era esperado um e somente um TextLayoutFormat em {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_PT/components.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_PT/components.properties b/frameworks/projects/spark/bundles/pt_PT/components.properties
index d81d803..330b81b 100644
--- a/frameworks/projects/spark/bundles/pt_PT/components.properties
+++ b/frameworks/projects/spark/bundles/pt_PT/components.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_PT/layout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_PT/layout.properties b/frameworks/projects/spark/bundles/pt_PT/layout.properties
index 20a7e4a..f6c8f1a 100644
--- a/frameworks/projects/spark/bundles/pt_PT/layout.properties
+++ b/frameworks/projects/spark/bundles/pt_PT/layout.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 
@@ -19,4 +27,4 @@ basicLayoutNotVirtualized=BasicLayout não suporta virtualização.
 columnNotFound=A ConstraintColumn '[[0]]' não foi encontrada.
 constraintLayoutNotVirtualized=O ConstraintLayout não suporta virtualização.
 invalidBaselineOnRow=Valor de base inválido na linha [[0]]: '[[1]]'. Deve ser um Number ou estar na forma 'maxAscent:x'.
-rowNotFound=A ConstraintRow '[[0]]' não foi encontrada.
\ No newline at end of file
+rowNotFound=A ConstraintRow '[[0]]' não foi encontrada.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_PT/osmf.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_PT/osmf.properties b/frameworks/projects/spark/bundles/pt_PT/osmf.properties
index 25ca7aa..48acb1a 100644
--- a/frameworks/projects/spark/bundles/pt_PT/osmf.properties
+++ b/frameworks/projects/spark/bundles/pt_PT/osmf.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2009 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_PT/sparkEffects.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_PT/sparkEffects.properties b/frameworks/projects/spark/bundles/pt_PT/sparkEffects.properties
index 964bb57..3f7cd2f 100644
--- a/frameworks/projects/spark/bundles/pt_PT/sparkEffects.properties
+++ b/frameworks/projects/spark/bundles/pt_PT/sparkEffects.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/pt_PT/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/pt_PT/textLayout.properties b/frameworks/projects/spark/bundles/pt_PT/textLayout.properties
deleted file mode 100644
index 6fc5985..0000000
--- a/frameworks/projects/spark/bundles/pt_PT/textLayout.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-################################################################################
-##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2009 Adobe Systems Incorporated
-##  All Rights Reserved.
-##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Náo existe nenhuma string para o recurso [[0]]
-
-# Core errors
-
-invalidFlowElementConstruct=Tentativa inválida de construção da subclasse FlowElement
-invalidSplitAtPosition=Parâmetro inválido para splitAtPosition
-badMXMLChildrenArgument=Elemento do tipo [[0]] errado passsado ao mxmlChildren
-badReplaceChildrenIndex=Index para FlowGroupElement.replaceChildren está fora do alcance
-invalidChildType=NewElement não é de um tipo de que este possa ser pai
-badRemoveChild=Child para remover não encontrada
-invalidSplitAtIndex=Parâmetro inválido para splitAtIndex
-badShallowCopyRange=Intervalo errado em shallowCopy
-badSurrogatePairCopy=A copiar somente metade de um par substituto em SpanElement.shallowCopy
-invalidReplaceTextPositions=Posições inválidas passadas a SpanElement.replaceText
-invalidSurrogatePairSplit=Divisão inválida de um par subsituto
-badPropertyValue=Propriedade [[0]] valor [[1]] está for do alcance
-
-# Selection/editing
-
-illegalOperation=Tentativa ilegal de executar a operação [[0]]
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Elemento [[0]] inesperado dentro de um span
-unexpectedNamespace=Namespace [[0]] inesperado
-unknownElement=Elemento [[0]] desconhecido
-unknownAttribute=Atributo [[0]] não é permtido no elemento [[1]]
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Tag [[0]] malformada
-malformedMarkup=Markup [[0]] malformado
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Não existe nenhum TextFlow para analisar
-expectedExactlyOneTextLayoutFormat=Esperado um, e só um, TextLayoutFormat em [[0]]	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/ru_RU/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/ru_RU/textLayout.properties b/frameworks/projects/spark/bundles/ru_RU/textLayout.properties
deleted file mode 100644
index c699f32..0000000
--- a/frameworks/projects/spark/bundles/ru_RU/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Отсутствует строка для ресурса {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Выполнена попытка создания недопустимого подкласса FlowElement
-invalidSplitAtPosition=Недействительный параметр для splitAtPosition
-badMXMLChildrenArgument=Недопустимый элемент типа {0} передан в mxmlChildren
-badReplaceChildrenIndex=Индекс для FlowGroupElement.replaceChildren находится за пределами допустимого диапазона
-invalidChildType=NewElement не является возможным нижестоящим типом для данного элемента
-badRemoveChild=Не найден нижестоящий элемент для удаления
-invalidSplitAtIndex=Недействительный параметр для splitAtIndex
-badShallowCopyRange=Недопустимый диапазон в shallowCopy
-badSurrogatePairCopy=Выполняется копирование только половины суррогатной пары в SpanElement.shallowCopy
-invalidReplaceTextPositions=Недействительные позиции переданы в SpanElement.replaceText
-invalidSurrogatePairSplit=Недействительное разделение суррогатной пары
-badPropertyValue=Указанное для свойства {0} значение {1} находится за пределами допустимого диапазона
-
-# Selection/editing
-
-illegalOperation=Недопустимая попытка выполнения операции {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Непредвиденный элемент {0} в диапазоне
-unexpectedNamespace=Непредвиденное пространство имен {0}
-unknownElement=Неизвестный элемент {0}
-unknownAttribute=Атрибут {0} не разрешен для элемента {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Недопустимый тег {0}
-malformedMarkup=Недопустимая разметка {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Отсутствует TextFlow для анализа
-expectedExactlyOneTextLayoutFormat=Ожидался только один TextLayoutFormat в {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/sv_SE/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/sv_SE/textLayout.properties b/frameworks/projects/spark/bundles/sv_SE/textLayout.properties
deleted file mode 100644
index 4e841aa..0000000
--- a/frameworks/projects/spark/bundles/sv_SE/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=Sträng saknas för resurs {0}
-
-# Core errors
-
-invalidFlowElementConstruct=Försök att konstruera ogiltig FlowElement-underklass
-invalidSplitAtPosition=Ogiltig parameter till splitAtPosition
-badMXMLChildrenArgument=Felaktigt element av typen {0} skickades till mxmlChildren
-badReplaceChildrenIndex=Index utanför intervallet: FlowGroupElement.replaceChildren
-invalidChildType=Typen som NewElement tillhör innebär att detta inte kan vara överordnat
-badRemoveChild=Underordnad som ska tas bort hittades inte
-invalidSplitAtIndex=Ogiltig parameter till splitAtIndex
-badShallowCopyRange=Felaktigt intervall i shallowCopy
-badSurrogatePairCopy=Endast hälften av surrogatparet i SpanElement.shallowCopy kopieras
-invalidReplaceTextPositions=Ogiltiga positioner skickades till SpanElement.replaceText
-invalidSurrogatePairSplit=Ogiltig delning av surrogatpar
-badPropertyValue=Egenskapen {0} och värde {1} är utanför intervallet
-
-# Selection/editing
-
-illegalOperation=Ogiltigt försök att köra åtgärden {0}
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=Oväntat element {0} inom intervall
-unexpectedNamespace=Oväntat namnutrymme {0}
-unknownElement=Okänt element: {0}
-unknownAttribute=Attributet {0} är inte tillåtet i element {1}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=Felaktig tagg {0}
-malformedMarkup=Felaktig markering {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=Det finns inget TextFlow som kan tolkas
-expectedExactlyOneTextLayoutFormat=Endast en TextLayoutFormat förväntades i {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/zh_CN/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/zh_CN/textLayout.properties b/frameworks/projects/spark/bundles/zh_CN/textLayout.properties
deleted file mode 100644
index 5898d55..0000000
--- a/frameworks/projects/spark/bundles/zh_CN/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=资源 {0} 没有字符串
-
-# Core errors
-
-invalidFlowElementConstruct=尝试构造无效 FlowElement 子类
-invalidSplitAtPosition=splitAtPosition 的参数无效
-badMXMLChildrenArgument=传递给 mxmlChildren 的类型 {0} 的元素错误
-badReplaceChildrenIndex=FlowGroupElement.replaceChildren 的索引超出范围
-invalidChildType=NewElement 不属于此项可作为其父代的类型
-badRemoveChild=找不到要删除的子代
-invalidSplitAtIndex=splitAtIndex 的参数无效
-badShallowCopyRange=shallowCopy 的范围错误
-badSurrogatePairCopy=仅复制了 SpanElement.shallowCopy 中代理对的一半
-invalidReplaceTextPositions=传递给 SpanElement.replaceText 的位置无效
-invalidSurrogatePairSplit=分割代理对无效
-badPropertyValue=属性 {0} 值 {1} 超出范围
-
-# Selection/editing
-
-illegalOperation=尝试执行 {0} 操作非法
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=跨距中有意外元素 {0}
-unexpectedNamespace=意外命名空间 {0}
-unknownElement=未知元素 {0}
-unknownAttribute=元素 {1} 中不允许有属性 {0}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=标签 {0} 格式不正确
-malformedMarkup=标记 {0} 格式不正确
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=没有要分析的 TextFlow
-expectedExactlyOneTextLayoutFormat={0}	 中应有且仅有一个 TextLayoutFormat

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/bundles/zh_TW/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/bundles/zh_TW/textLayout.properties b/frameworks/projects/spark/bundles/zh_TW/textLayout.properties
deleted file mode 100644
index ed0fe19..0000000
--- a/frameworks/projects/spark/bundles/zh_TW/textLayout.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-
-## Developer RTE Section
-
-missingStringResource=資源 {0} 沒有字串
-
-# Core errors
-
-invalidFlowElementConstruct=嘗試建構無效的 FlowElement 子類別
-invalidSplitAtPosition=splitAtPosition 的參數無效
-badMXMLChildrenArgument=傳遞到 mxmlChildren 的類型 {0} 的元素錯誤
-badReplaceChildrenIndex=FlowGroupElement.replaceChildren 索引超出範圍
-invalidChildType=NewElement 不屬於此項目可做為其父項的類型
-badRemoveChild=找不到要移除的子項 
-invalidSplitAtIndex=splitAtIndex 的參數無效
-badShallowCopyRange=shallowCopy 的範圍錯誤
-badSurrogatePairCopy=SpanElement.shallowCopy 的替代配對只複製一半
-invalidReplaceTextPositions=傳遞到 SpanElement.replaceText 的位置無效
-invalidSurrogatePairSplit=替代配對分割無效
-badPropertyValue=屬性 {0} 值 {1} 超出範圍
-
-# Selection/editing
-
-illegalOperation=執行 {0} 作業的嘗試不合法
-
-# Shared import errors
-
-unexpectedXMLElementInSpan=跨距內有非預期的元素 {0}
-unexpectedNamespace=非預期的命名空間 {0}
-unknownElement=不明元素 {0}
-unknownAttribute=元素 {1} 中不允許有屬性 {0}
-
-# TEXT_FIELD_HTML_FORMAT import errors
-
-malformedTag=格式錯誤的標籤 {0}
-malformedMarkup=格式錯誤的標記 {0}
-
-# TEXT_LAYOUT_FORMAT import errors
-
-missingTextFlow=沒有 TextFlow 可剖析
-expectedExactlyOneTextLayoutFormat={0}	 應該有一個且只有一個 TextLayoutFormat

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/compile-config.xml b/frameworks/projects/spark/compile-config.xml
new file mode 100644
index 0000000..e752fda
--- /dev/null
+++ b/frameworks/projects/spark/compile-config.xml
@@ -0,0 +1,86 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/osmf.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>SkinPart</name>
+        </keep-as3-metadata>
+        
+        <mxml>
+            <minimum-supported-version>4.0.0</minimum-supported-version>
+        </mxml>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>SparkClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>version.properties</name>
+        <path>../../version.properties</path>
+    </include-file>
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>assets/ErrorIndicator.png</name>
+        <path>assets/ErrorIndicator.png</path>
+    </include-file>
+    <include-file>
+        <name>assets/RequiredIndicator.png</name>
+        <path>assets/RequiredIndicator.png</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/spark</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as b/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
index 8e62055..f44e0d3 100644
--- a/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
+++ b/frameworks/projects/spark/src/spark/accessibility/RichEditableTextAccImpl.as
@@ -24,10 +24,12 @@ import flash.accessibility.Accessibility;
 import flash.events.Event;
 import flash.events.FocusEvent;
 
-import mx.accessibility.AccImpl;
 import mx.accessibility.AccConst;
+import mx.accessibility.AccImpl;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.utils.StringUtil;
+
 import spark.components.RichEditableText;
 
 use namespace mx_internal;
@@ -313,7 +315,12 @@ public class RichEditableTextAccImpl extends AccImpl
      */
     override public function get_accValue(childID:uint):String
     {
-        return RichEditableText(master).text;
+		var richEditableText:RichEditableText = RichEditableText(master);
+		if (richEditableText.displayAsPassword)
+		{
+			return StringUtil.repeat("*", richEditableText.text.length);
+		} 
+		return richEditableText.text;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/Application.as b/frameworks/projects/spark/src/spark/components/Application.as
index d94b042..740c3f0 100644
--- a/frameworks/projects/spark/src/spark/components/Application.as
+++ b/frameworks/projects/spark/src/spark/components/Application.as
@@ -1825,6 +1825,10 @@ public class Application extends SkinnableContainer
      */    
     private function softKeyboardActivateHandler(event:SoftKeyboardEvent):void
     {        
+        // Add a listener for the softKeyboard deactivate event to the event target
+        event.target.addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_DEACTIVATE, 
+                                      softKeyboardDeactivateHandler);
+        
         if (this === FlexGlobals.topLevelApplication)
         {
             if (softKeyboardTarget && softKeyboardTarget != event.target)

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/ComboBox.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/ComboBox.as b/frameworks/projects/spark/src/spark/components/ComboBox.as
index ff0dd65..a37f52a 100644
--- a/frameworks/projects/spark/src/spark/components/ComboBox.as
+++ b/frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -29,6 +29,7 @@ import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
 import flash.ui.Keyboard;
 
+import flashx.textLayout.operations.CompositeOperation;
 import flashx.textLayout.operations.CutOperation;
 import flashx.textLayout.operations.DeleteTextOperation;
 import flashx.textLayout.operations.FlowOperation;
@@ -140,7 +141,7 @@ use namespace mx_internal;
  *  <p>The ComboBox control also searches the item list as the user 
  *  enters characters into the prompt area. As the user enters characters, 
  *  the drop-down area of the control opens. 
- *  It then and scrolls to and highlights the closest match in the item list.</p>
+ *  It then scrolls to and highlights the closest match in the item list.</p>
  *
  *  <p>To use this component in a list-based component, such as a List or DataGrid, 
  *  create an item renderer.
@@ -553,6 +554,23 @@ public class ComboBox extends DropDownListBase implements IIMESupport
     }
     
     //--------------------------------------------------------------------------
+    //  selectedItem
+    //--------------------------------------------------------------------------
+    
+    /**
+     *  @private
+     */
+    override public function set selectedItem(value:*):void
+    {
+        // If selectedItem set to null or undefined make sure the label display gets cleared.
+        // The code at the bottom of commitProperties checks for this case.
+        if (value == null)
+            selectedIndex = NO_SELECTION;
+        
+        super.selectedItem = value;
+    }
+
+    //--------------------------------------------------------------------------
     //  typicalItem
     //--------------------------------------------------------------------------
     
@@ -731,7 +749,7 @@ public class ComboBox extends DropDownListBase implements IIMESupport
         {
             _proposedSelectedIndex = NO_PROPOSED_SELECTION;
         }
-                
+        
         super.commitProperties();
         
         if (textInput)
@@ -865,6 +883,22 @@ public class ComboBox extends DropDownListBase implements IIMESupport
         return false;
     }
     
+    /**
+     * @private
+     */
+    override mx_internal function setSelectedIndex(value:int, dispatchChangeEvent:Boolean = false, changeCaret:Boolean = true):void
+    {
+        // It is possible that the label display changed but the selection didn't.  If this is
+        // the case, the label has to be updated since the setSelectedIndex code will short-circuit
+        // and not commit the selection.
+        // An example is if the label is deleted and then the first item is chosen from the
+        // dropdown, the selectedIndex is still 0.
+        if (userTypedIntoText && value == selectedIndex)
+            updateLabelDisplay();
+        
+        super.setSelectedIndex(value, dispatchChangeEvent, changeCaret);
+    }
+    
     // If the TextInput is in focus, listen for keyDown events in the capture phase so that 
     // we can process the navigation keys (UP/DOWN, PGUP/PGDN, HOME/END). If the ComboBox is in 
     // focus, just handle keyDown events in the bubble phase
@@ -1048,12 +1082,28 @@ public class ComboBox extends DropDownListBase implements IIMESupport
         userTypedIntoText = true;
         
         var operation:FlowOperation = event.operation;
-
-        // Close the dropDown if we press delete or cut the selected text
-        if (operation is DeleteTextOperation || operation is CutOperation)
+        
+        // TLF is batching some operations so it can undo them.  If it is a composite operation
+        // look at the last one to figure out if it was a delete.
+        var deleteText:Boolean = (operation is DeleteTextOperation || operation is CutOperation);
+        if (operation is CompositeOperation)
         {
-            super.changeHighlightedSelection(CUSTOM_SELECTED_ITEM);
+            const operations:Array = CompositeOperation(operation).operations;
+            if (operations.length && operations[operations.length-1] is DeleteTextOperation)
+                deleteText = true;
         }
+        
+        // If deleting text do not want to do item completion or it isn't possible to delete
+        // individual characters.  If the combo is open, leave it open, even if all the text
+        // is deleted.
+        if (deleteText)
+        {
+            // To commit the selection correctly on close, applySelection needs this set. 
+            actualProposedSelectedIndex = CUSTOM_SELECTED_ITEM; 
+            
+            // Update the selected item in the list.
+            super.changeHighlightedSelection(CUSTOM_SELECTED_ITEM);
+        }        
         else if (previousTextInputText != textInput.text)
         {
             if (openOnInput)
@@ -1068,7 +1118,7 @@ public class ComboBox extends DropDownListBase implements IIMESupport
             }
             
             processInputField();
-        }
+        }  
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/Group.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/Group.as b/frameworks/projects/spark/src/spark/components/Group.as
index 629b4ef..7068fc5 100644
--- a/frameworks/projects/spark/src/spark/components/Group.as
+++ b/frameworks/projects/spark/src/spark/components/Group.as
@@ -23,9 +23,9 @@ package spark.components
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.geom.Rectangle;
+import flash.utils.Dictionary;
 
 import mx.core.FlexVersion;
-import mx.styles.IAdvancedStyleClient;
 import mx.core.IFlexModule;
 import mx.core.IFontContextComponent;
 import mx.core.IUIComponent;
@@ -43,6 +43,8 @@ import mx.graphics.shaderClasses.HueShader;
 import mx.graphics.shaderClasses.LuminosityShader;
 import mx.graphics.shaderClasses.SaturationShader;
 import mx.graphics.shaderClasses.SoftLightShader;
+import mx.styles.AdvancedStyleClient;
+import mx.styles.IAdvancedStyleClient;
 import mx.styles.ISimpleStyleClient;
 import mx.styles.IStyleClient;
 import mx.styles.StyleProtoChain;
@@ -239,6 +241,7 @@ public class Group extends GroupBase implements IVisualElementContainer,
     private var needsDisplayObjectAssignment:Boolean = false;
     private var layeringMode:uint = ITEM_ORDERED_LAYERING;
     private var numGraphicElements:uint = 0;
+    private var deferredStyleClients:Dictionary = null;  // of IAdvancedStyleClient
     
     private static const ITEM_ORDERED_LAYERING:uint = 0;
     private static const SPARSE_LAYERING:uint = 1;    
@@ -841,6 +844,37 @@ public class Group extends GroupBase implements IVisualElementContainer,
     
     /**
      *  @private
+     *  Defer adding IAdvancedStyleClients until createChildren() time.  The AdvancedStyleClient's
+     *  styleName might be a component's show inclusion in the IVisualElement hierarchy was also
+     *  deferred.
+     */ 
+    override public function addStyleClient(styleClient:IAdvancedStyleClient):void    
+    {
+        if (!createChildrenCalled)
+        {
+            if (!deferredStyleClients)
+                deferredStyleClients = new Dictionary(true);
+            deferredStyleClients[styleClient] = true;
+        }
+        else 
+        {
+            super.addStyleClient(styleClient);
+        }
+    }
+    
+    /**
+     *  @private
+     */     
+    override public function removeStyleClient(styleClient:IAdvancedStyleClient):void
+    {
+        if (deferredStyleClients && !createChildrenCalled)
+            delete deferredStyleClients[styleClient];
+        else
+            super.removeStyleClient(styleClient);
+    }
+    
+    /**
+     *  @private
      *  Whether createChildren() has been called or not.
      *  We use this in the setter for mxmlContent to know 
      *  whether to validate the value immediately, or just 
@@ -862,6 +896,17 @@ public class Group extends GroupBase implements IVisualElementContainer,
             mxmlContentChanged = false;
             setMXMLContent(_mxmlContent);
         }
+        
+        if (deferredStyleClients)
+        {
+            for (var obj:Object in deferredStyleClients)
+            {
+                var styleClient:IAdvancedStyleClient = obj as IAdvancedStyleClient;
+                if (styleClient)
+                    super.addStyleClient(styleClient);
+            }
+            deferredStyleClients = null;
+        }        
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/Label.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/Label.as b/frameworks/projects/spark/src/spark/components/Label.as
index af236bf..087d8a9 100644
--- a/frameworks/projects/spark/src/spark/components/Label.as
+++ b/frameworks/projects/spark/src/spark/components/Label.as
@@ -188,9 +188,6 @@ include "../styles/metadata/BasicNonInheritingTextStyles.as"
  *
  *  <pre>
  *  &lt;s:Label 
- *    <strong>Properties</strong>
- *    fontContext=""
- * 
  *    <strong>Styles</strong>
  *    alignmentBaseline="baseline"
  *    baselineShift="0"

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/NumericStepper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/NumericStepper.as b/frameworks/projects/spark/src/spark/components/NumericStepper.as
index ebb9840..3708da0 100644
--- a/frameworks/projects/spark/src/spark/components/NumericStepper.as
+++ b/frameworks/projects/spark/src/spark/components/NumericStepper.as
@@ -25,14 +25,14 @@ import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.KeyboardEvent;
-import flash.globalization.LocaleID;
-import flash.globalization.NumberFormatter;
 
 import mx.core.IIMESupport;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
 import mx.managers.IFocusManagerComponent;
 
+import spark.formatters.NumberFormatter;
+
 use namespace mx_internal;
 
 //--------------------------------------
@@ -791,7 +791,10 @@ public class NumericStepper extends Spinner
         else 
         {
             if (dataFormatter == null)
-                dataFormatter = new NumberFormatter(LocaleID.DEFAULT);
+            {
+                dataFormatter = new NumberFormatter();
+                addStyleClient(dataFormatter);
+            }
 
             inputValue = dataFormatter.parseNumber(textDisplay.text);
         }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as b/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
index 93d4f55..e562a8a 100644
--- a/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
+++ b/frameworks/projects/spark/src/spark/components/RadioButtonGroup.as
@@ -22,6 +22,7 @@ package spark.components
 
 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
+import flash.display.InteractiveObject;
 import flash.events.Event;
 import flash.events.EventDispatcher;
 
@@ -481,8 +482,8 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
         
         radioButtons.push(instance);
 
-        // Apply group indices in "breadth-first" order.
-        radioButtons.sort(breadthOrderCompare);
+		// Apply group indices in "tab order" or "breadth-first" order.
+        radioButtons.sort(readOrderCompare);
         for (var i:int = 0; i < radioButtons.length; i++)
             radioButtons[i].indexNumber = i;
         
@@ -613,22 +614,25 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
 
     /**
      *  @private
-     *  Sandbox root of RadioButton "a" in breadthOrderCompare().
+     *  Sandbox root of RadioButton "a" in readOrderCompare().
      */
     private var aSbRoot:DisplayObject;
     
     /**
      *  @private
-     *  Sandbox root of RadioButton "b" in breadthOrderCompare().
+     *  Sandbox root of RadioButton "b" in readOrderCompare().
      */
     private var bSbRoot:DisplayObject;
 
     /**
      *  @private
+	 *  Comparison function used to sort items as they are added to the radioButtons array.
+	 *  Compares by tabIndex or if neither item defines a tabIndex, by "breadthOrder."
+	 * 
      *  Returns -1 if a is before b in sort order, 0 if a and b have same
      *  sort order and 1 if a after b in sort order.
      */
-    private function breadthOrderCompare(a:DisplayObject, b:DisplayObject):Number
+    private function readOrderCompare(a:DisplayObject, b:DisplayObject):Number
     {
         var aParent:DisplayObjectContainer = a.parent;
         var bParent:DisplayObjectContainer = b.parent;
@@ -649,7 +653,23 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
         // If reached the sandbox root of either then done.
         if (aParent == aSbRoot || bParent == bSbRoot)
             return 0;    
-            
+		
+		// first check to see if we can compare by tabIndex
+		var aTabIndex:int = (a is InteractiveObject) ? InteractiveObject(a).tabIndex : -1;
+		var bTabIndex:int = (b is InteractiveObject) ? InteractiveObject(b).tabIndex : -1;
+		
+		// if one of the items being compared has a defined tabIndex, compare by tabIndex
+		if(aTabIndex > -1 || bTabIndex > -1)
+		{
+			if (aTabIndex > bTabIndex)
+				return (bTabIndex == -1) ? -1 : 1; // items with assigned tabIndex come before those without
+			if (aTabIndex < bTabIndex)
+				return (aTabIndex == -1) ? 1 : -1; // items without assigned tabIndex come after those without
+			if (a == b)
+				return 0;
+		}
+
+		// if neither item has a defined tabIndex, compare by "breadthOrder"
         var aNestLevel:int = (a is UIComponent) ? UIComponent(a).nestLevel : -1;
         var bNestLevel:int = (b is UIComponent) ? UIComponent(b).nestLevel : -1;
 
@@ -676,7 +696,7 @@ public class RadioButtonGroup extends EventDispatcher implements IMXMLObject
         else if (a == b)
             return 0;
         else // Nest levels are identical, compare ancestors.
-            return breadthOrderCompare(aParent, bParent);
+            return readOrderCompare(aParent, bParent);
     }
 
     //--------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/RichEditableText.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/RichEditableText.as b/frameworks/projects/spark/src/spark/components/RichEditableText.as
index db2b9d4..5f4cdcb 100644
--- a/frameworks/projects/spark/src/spark/components/RichEditableText.as
+++ b/frameworks/projects/spark/src/spark/components/RichEditableText.as
@@ -241,8 +241,8 @@ package spark.components
      *  and it does not support drawing a border.</p>
      *
      *  <p>RichEditableText uses the Text Layout Framework (TLF) library,
-     *  which in turn builds on the new Flash Text Engine (FTE)
-     *  in Flash Player 10. In combination, these layers provide text editing with
+     *  which in turn builds on the Flash Text Engine (FTE)
+     *  introduced in Flash Player 10. In combination, these layers provide text editing with
      *  high-quality international typography and layout.</p>
      *
      *  <p>The Spark architecture provides three text "primitives" -- 
@@ -624,10 +624,15 @@ package spark.components
             // This TextContainerManager instance persists for the lifetime
             // of the component.
             _textContainerManager = createTextContainerManager();
+
+            // Turn on TextField-like behavior which preserves the selection when text is set.
+            // If the new text is shorter than the exisiting text, the selection may change.
+            if (FlexVersion.compatibilityVersion > FlexVersion.VERSION_4_8) 
+                _textContainerManager.preserveSelectionOnSetText = true;
             
             // Add event listeners on this component.
             addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
-            
+
             // The focusInHandler is called by the TCMContainer focusInHandler.
             // The focusOutHandler is called by the TCMContainer focusOutHandler.
             // The keyDownHandler is called by the TCMContainer keyDownHandler.
@@ -748,11 +753,6 @@ package spark.components
         /**
          *  @private
          */
-        mx_internal var preserveSelectionOnSetText:Boolean = false;
-
-        /**
-         *  @private
-         */
         mx_internal var passwordChar:String = "*";
         
         /**
@@ -2084,6 +2084,10 @@ package spark.components
          *  with exactly the text specified.  If there is whitespace and line 
          *  breaks in the text, they will remain, regardless of the settings of
          *  the lineBreak and whiteSpaceCollapse styles.
+		 * 
+		 *  Similiar to TextField, the selection is preserved when the text is set.
+		 *  If the new text length is less than the existing text length, the selection 
+		 *  may change.
          */
         public function set text(value:String):void
         {
@@ -2536,9 +2540,6 @@ package spark.components
             
             if (textChanged)
             {
-                if (FlexVersion.compatibilityVersion > FlexVersion.VERSION_4_5) 
-                    preserveSelectionOnSetText = true;
-
                 // If the text has linebreaks (CR, LF, or CF+LF)
                 // create a multi-paragraph TextFlow from it
                 // and use the TextFlowTextLineFactory to render it.
@@ -2594,8 +2595,6 @@ package spark.components
             // not the underlying text.
             if (displayAsPasswordChanged)
             {
-                preserveSelectionOnSetText = true;
-                
                 // If there is any text, convert it to the passwordChar.
                 if (displayAsPassword)
                 {
@@ -2624,25 +2623,6 @@ package spark.components
                 displayAsPasswordChanged = false;
             }
             
-            if (preserveSelectionOnSetText)
-            {
-                preserveSelectionOnSetText = false;
-                
-                if (oldAnchorPosition != -1)
-                {
-                    // This will return null if editingMode = readOnly which is true when either
-                    // editable is false and/or enabled is false.
-                    var selManager:ISelectionManager = _textContainerManager.beginInteraction();                    
-
-                    // The visible selection will be refreshed during the update.
-                    if (selManager)
-                    {
-                        selManager.selectRange(oldAnchorPosition, oldActivePosition);        
-                        _textContainerManager.endInteraction();
-                    }
-                }           
-            }
-            
             if (clipAndEnableScrollingChanged)
             {
                 // The TLF code seems to check for !off.
@@ -2679,6 +2659,14 @@ package spark.components
                 
                 verticalScrollPositionChanged = false;            
             }
+            
+			// Updating the text programatically removes all child TextLine elements
+			// before rebuilding the TextFlow, effectively removing all visual elements
+			// from the display list. This causes any accessibilityImplementation that
+			// was assigned to the component to be removed. The following line restores
+			// the accessibilityImplementation if it no longer exists. 
+			if (!accessibilityImplementation)
+				initializeAccessibility();
         }
         
         /**
@@ -4634,9 +4622,6 @@ package spark.components
         private function textContainerManager_selectionChangeHandler(
             event:SelectionEvent):void
         {
-            if (preserveSelectionOnSetText)
-                return;
-            
             var oldAnchor:int = _selectionAnchorPosition;
             var oldActive:int = _selectionActivePosition;
             

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/RichText.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/RichText.as b/frameworks/projects/spark/src/spark/components/RichText.as
index 2e8c333..4e843ef 100644
--- a/frameworks/projects/spark/src/spark/components/RichText.as
+++ b/frameworks/projects/spark/src/spark/components/RichText.as
@@ -213,7 +213,6 @@ include "../styles/metadata/AdvancedNonInheritingTextStyles.as"
  *  <pre>
  *  &lt;s:RichText
  *    <strong>Properties</strong>
- *    fontContext="<i>IFlexModuleFactory</i>"
  *    luminosityClip="false"
  *    luminosityInvert="false"
  *    maskType="MaskType.CLIP"

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/Scroller.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/Scroller.as b/frameworks/projects/spark/src/spark/components/Scroller.as
index 8e3ff36..9f91412 100644
--- a/frameworks/projects/spark/src/spark/components/Scroller.as
+++ b/frameworks/projects/spark/src/spark/components/Scroller.as
@@ -49,6 +49,7 @@ import mx.events.FlexEvent;
 import mx.events.FlexMouseEvent;
 import mx.events.PropertyChangeEvent;
 import mx.events.TouchInteractionEvent;
+import mx.managers.IFocusManager;
 import mx.managers.IFocusManagerComponent;
 import mx.styles.IStyleClient;
 
@@ -412,6 +413,8 @@ include "../styles/metadata/SelectionFormatTextStyles.as"
  *   <strong>Properties</strong>
  *    measuredSizeIncludesScrollBars="true"
  *    minViewportInset="0"
+ *    pageScrollingEnabled="false"
+ *    scrollSnappingMode="none"
  *    viewport="null"
  *  
  *    <strong>Styles</strong>
@@ -2141,10 +2144,12 @@ public class Scroller extends SkinnableComponent
     {
         super.focusInHandler(event);
         
+		var fm:IFocusManager = focusManager;
+		
         // When we gain focus, make sure the focused element is visible
-        if (viewport && ensureElementIsVisibleForSoftKeyboard)
+        if (fm && viewport && ensureElementIsVisibleForSoftKeyboard)
         {
-            var elt:IVisualElement = focusManager.getFocus() as IVisualElement; 
+            var elt:IVisualElement = fm.getFocus() as IVisualElement; 
             lastFocusedElement = elt;
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/VideoPlayer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/VideoPlayer.as b/frameworks/projects/spark/src/spark/components/VideoPlayer.as
index 2a8b452..eed6357 100644
--- a/frameworks/projects/spark/src/spark/components/VideoPlayer.as
+++ b/frameworks/projects/spark/src/spark/components/VideoPlayer.as
@@ -1854,7 +1854,7 @@ public class VideoPlayer extends SkinnableComponent
         }
         else if (instance == muteButton)
         {
-            playButton.removeEventListener(FlexEvent.MUTED_CHANGE, muteButton_mutedChangeHandler);
+            muteButton.removeEventListener(FlexEvent.MUTED_CHANGE, muteButton_mutedChangeHandler);
         }
         else if (instance == volumeBar)
         {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as b/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
index b267ffe..350aac0 100644
--- a/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
+++ b/frameworks/projects/spark/src/spark/components/gridClasses/GridColumn.as
@@ -276,7 +276,7 @@ public class GridColumn extends EventDispatcher
     //----------------------------------
     
     private var _dataField:String = null;
-    private var dataFieldPath:Array = [];
+    mx_internal var dataFieldPath:Array = [];
     
     [Bindable("dataFieldChanged")]    
     
@@ -1587,7 +1587,7 @@ public class GridColumn extends EventDispatcher
      *  Common logic for itemToLabel(), itemToDataTip().   Logically this code is
      *  similar to (not the same as) LabelUtil.itemToLabel().
      */
-    private function itemToString(item:Object, labelPath:Array, labelFunction:Function, formatter:IFormatter):String
+    mx_internal function itemToString(item:Object, labelPath:Array, labelFunction:Function, formatter:IFormatter):String
     {
         if (!item)
             return ERROR_TEXT;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as b/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
index 33276a6..9bb452b 100644
--- a/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
+++ b/frameworks/projects/spark/src/spark/components/gridClasses/GridItemEditor.as
@@ -24,7 +24,6 @@ import flash.events.MouseEvent;
 import flash.geom.Point;
 import flash.utils.describeType;
 
-
 import mx.collections.ICollectionView;
 import mx.collections.ISort;
 import mx.core.IIMESupport;
@@ -32,12 +31,11 @@ import mx.core.IInvalidating;
 import mx.core.IVisualElement;
 import mx.core.IVisualElementContainer;
 import mx.core.mx_internal;
-import mx.core.UIComponent;
 import mx.validators.IValidatorListener;
 
-import spark.components.gridClasses.GridColumn;
 import spark.components.DataGrid;
 import spark.components.Group;
+import spark.components.gridClasses.GridColumn;
 
 use namespace mx_internal;
 
@@ -79,7 +77,7 @@ use namespace mx_internal;
 public class GridItemEditor extends Group implements IGridItemEditor
 {
     include "../../core/Version.as";    
-    
+        
     //--------------------------------------------------------------------------
     //
     //  Constructor
@@ -183,7 +181,11 @@ public class GridItemEditor extends Group implements IGridItemEditor
         
         if (_data && column.dataField)
         {
-            this.value = _data[column.dataField];            
+            // If complex field reference need to dig the data value out of the correct object.
+            var dataFieldPath:Array = column.dataFieldPath;
+            this.value = column.dataFieldPath.length == 1 ?
+                _data[column.dataField] :
+                column.itemToString(_data, dataFieldPath, null, null);
         }
     }
 
@@ -458,9 +460,20 @@ public class GridItemEditor extends Group implements IGridItemEditor
             return false;
         
         var newData:Object = value;
-        var property:String = column.dataField;
+        var property:String;
         var data:Object = data;
         var typeInfo:String = "";
+                        
+        // If a complex field reference need to get the parent object where the property
+        // will be updated.  It is a complex field reference if dataFieldPath.length > 1.
+        // Note that if the path is incorrect there will be a ReferenceError either here or
+        // when accessing the invalid property below.
+        var dataFieldPath:Array = column.dataFieldPath;
+        for (var i:int = 0; i < dataFieldPath.length - 1; i++)
+            data = data[dataFieldPath[i]];
+        
+        property = dataFieldPath[i];
+            
         for each(var variable:XML in describeType(data).variable)
         {
             if (property == variable.@name.toString())
@@ -501,7 +514,7 @@ public class GridItemEditor extends Group implements IGridItemEditor
                 }
             }
         }
-     
+
         if (property && data[property] !== newData)
         {
             // If the data is sorted, turn off the sort for the edited data.
@@ -515,7 +528,7 @@ public class GridItemEditor extends Group implements IGridItemEditor
                     dataProvider.sort = null;
                 }
             }
-            
+
             var oldData:Object = data[property];
             data[property] = newData;
             dataGrid.dataProvider.itemUpdated(data, property, oldData, newData);
@@ -663,4 +676,4 @@ public class GridItemEditor extends Group implements IGridItemEditor
         event.stopPropagation();
     }
 }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as b/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
index 5d6023e..db2682c 100644
--- a/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
+++ b/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
@@ -1376,7 +1376,7 @@ public class GridSelection
     private function dataProviderCollectionMove(event:CollectionEvent):void
     {
         const oldRowIndex:int = event.oldLocation;
-        const newRowIndex:int = event.location;
+        var newRowIndex:int = event.location;
         
         handleRowRemove(oldRowIndex);
         
@@ -1636,7 +1636,7 @@ public class GridSelection
             return;
 
         const oldColumnIndex:int = event.oldLocation;
-        const newColumnIndex:int = event.location;
+        var newColumnIndex:int = event.location;
         
         handleColumnRemove(oldColumnIndex);
         

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as b/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
index 077bc90..dfe82ba 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -105,7 +105,8 @@ public class DropDownController extends EventDispatcher
             
         _openButton = value;
         
-        _openButton.disableMinimumDownStateTime = true;
+        if (_openButton)
+        	_openButton.disableMinimumDownStateTime = true;
         
         addOpenTriggers();
         

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as b/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
index c482bb2..42337ae 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -349,6 +349,7 @@ public class ItemRenderer extends DataRenderer implements IItemRenderer
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    [Bindable]     
     public var labelDisplay:TextBase;
     
     //----------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as b/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
index cdeedfd..6b85f1b 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -934,7 +934,7 @@ public class ListBase extends SkinnableDataContainer
             else
                 _proposedSelectedIndex = NO_SELECTION;
             
-            if (allowCustomSelectedItem && _proposedSelectedIndex == -1)
+            if (allowCustomSelectedItem && _proposedSelectedIndex == -1 && _pendingSelectedItem != null)
             {
                 _proposedSelectedIndex = CUSTOM_SELECTED_ITEM;
                 _selectedItem = _pendingSelectedItem;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/Range.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/Range.as b/frameworks/projects/spark/src/spark/components/supportClasses/Range.as
index 18fad5e..8b31eab 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/Range.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/Range.as
@@ -451,8 +451,7 @@ public class Range extends SkinnableComponent
         
         var maxValue:Number = maximum - minimum;
         var scale:Number = 1;
-        
-        value -= minimum;
+        var offset:Number = minimum; // the offset from 0.
         
         // If interval isn't an integer, there's a possibility that the floating point 
         // approximation of value or value/interval will be slightly larger or smaller 
@@ -463,20 +462,26 @@ public class Range extends SkinnableComponent
         // we scale by the implicit precision of the interval and then round.  For 
         // example if interval=0.01, then we scale by 100.    
         
-        if (interval != Math.round(interval)) 
-        { 
+        if (interval != Math.round(interval))
+        {
+            // calculate scale and compute new scaled values.
             const parts:Array = (new String(1 + interval)).split("."); 
             scale = Math.pow(10, parts[1].length);
             maxValue *= scale;
-            value = Math.round(value * scale);
+            offset *= scale;
             interval = Math.round(interval * scale);
-        }   
-        
+            value = Math.round((value * scale) - offset);
+        }
+        else
+        {
+            value -= offset;
+        }
+
         var lower:Number = Math.max(0, Math.floor(value / interval) * interval);
         var upper:Number = Math.min(maxValue, Math.floor((value + interval) / interval) * interval);
         var validValue:Number = ((value - lower) >= ((upper - lower) / 2)) ? upper : lower;
         
-        return (validValue / scale) + minimum;
+        return (validValue + offset) / scale;
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as b/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
index 5bd13fa..fad5878 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/RichEditableTextContainerManager.as
@@ -80,6 +80,18 @@ use namespace tlf_internal;
  */
 public class RichEditableTextContainerManager extends TextContainerManager
 {
+	//--------------------------------------------------------------------------
+	//
+	//  Class Variables
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  @private
+	 *  Disables blinking cursor so mustella test snapshots don't get intermittent
+	 *  cursors.
+	 */
+	mx_internal static var hideCursor:Boolean = false;
+	
     /**
      *  Constructor. 
      *  
@@ -251,7 +263,7 @@ public class RichEditableTextContainerManager extends TextContainerManager
         // If not editable, then no insertion point.        
         return new SelectionFormat(
             selectionColor, 1.0, BlendMode.NORMAL, 
-            0x000000, focusedPointAlpha, BlendMode.INVERT);
+            0x000000, hideCursor ? 0 : focusedPointAlpha, BlendMode.INVERT);
     }
     
     /**
@@ -282,16 +294,23 @@ public class RichEditableTextContainerManager extends TextContainerManager
         var inactiveSelectionColor:* = textDisplay.getStyle(
                                             "inactiveTextSelectionColor"); 
 
+        var inactivePointAlpha:Number =
+            editingMode == EditingMode.READ_WRITE ?
+            1.0 :
+            0.0;
+        
         var inactiveAlpha:Number =
             textDisplay.selectionHighlighting == 
             TextSelectionHighlighting.ALWAYS ?
             1.0 :
             0.0;
 
-        // No insertion point when not active.
+        // Inactive is not unfocused so show an insertion point if there is one.
+        // This is consistent with TextField.
+        
         return new SelectionFormat(
             inactiveSelectionColor, inactiveAlpha, BlendMode.NORMAL,
-            inactiveSelectionColor, 0.0);
+            inactiveSelectionColor, inactivePointAlpha, BlendMode.INVERT);
     }   
     
     /**
@@ -364,7 +383,7 @@ public class RichEditableTextContainerManager extends TextContainerManager
             
             controller.requiredFocusInHandler(null);
             
-            if (!textDisplay.preserveSelectionOnSetText)
+            if (!preserveSelectionOnSetText)
                 im.selectRange(0, 0);
             
             endInteraction();

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as b/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
index efc2a2c..d0489be 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -445,8 +445,13 @@ public class SkinnableComponent extends UIComponent
         if (!skipReload)
         {
             if (skin)
-                detachSkin();
-            attachSkin();
+            {
+                detachSkin();                
+                // If there is an error skin remove it since it has to go on top of the new skin.
+                removeErrorSkin();
+            }
+            attachSkin();            
+            updateErrorSkin();
         }
     }
     
@@ -831,12 +836,20 @@ public class SkinnableComponent extends UIComponent
         }
         else
         {
-            if (errorObj)
-                super.removeChild(errorObj);
-            
+            removeErrorSkin();
+        }
+    }
+    
+    private function removeErrorSkin():void
+    {
+        if (errorObj)
+        {
+            super.removeChild(errorObj);
             errorObj = null;
         }
+
     }
+
     //--------------------------------------------------------------------------
     //
     //  Methods - Parts

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as b/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
index 4a15e10..90df795 100644
--- a/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
+++ b/frameworks/projects/spark/src/spark/components/supportClasses/SliderBase.as
@@ -34,7 +34,6 @@ import mx.core.IFactory;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-import mx.formatters.NumberFormatter;
 import mx.managers.IFocusManagerComponent;
 
 import spark.effects.animation.Animation;
@@ -42,6 +41,7 @@ import spark.effects.animation.MotionPath;
 import spark.effects.animation.SimpleMotionPath;
 import spark.effects.easing.Sine;
 import spark.events.TrackBaseEvent;
+import spark.formatters.NumberFormatter;
 
 use namespace mx_internal;
 
@@ -572,9 +572,13 @@ public class SliderBase extends TrackBase implements IFocusManagerComponent
         else
         {
             if (dataFormatter == null)
+            {
                 dataFormatter = new NumberFormatter();
+                addStyleClient(dataFormatter);
+            }
                 
-            dataFormatter.precision = dataTipPrecision;
+            dataFormatter.fractionalDigits = dataTipPrecision;
+            dataFormatter.trailingZeros = true;
             
             formattedValue = dataFormatter.format(value);   
         }
@@ -697,7 +701,11 @@ public class SliderBase extends TrackBase implements IFocusManagerComponent
         }
         
         if (dataTipInstance && showDataTip)
-        { 
+        {
+            // If showing the dataTip, we need to validate to
+            // make sure the thumb is in the right position.
+            //validateNow();
+            
             dataTipInstance.data = formatDataTipText(pendingValue);
             
             // Force the dataTip to render so that we have the correct size since

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/primitives/BitmapImage.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/primitives/BitmapImage.as b/frameworks/projects/spark/src/spark/primitives/BitmapImage.as
index d04f8b7..8377107 100644
--- a/frameworks/projects/spark/src/spark/primitives/BitmapImage.as
+++ b/frameworks/projects/spark/src/spark/primitives/BitmapImage.as
@@ -242,6 +242,8 @@ public class BitmapImage extends GraphicElement
      */
     public function get bitmapData():BitmapData
     {
+		//We return a copy because when the source of the data changes we destroy the bitmap
+		//If a developer is holding a reference to the actual bitmap they will have an invalid reference
         return _bitmapData ? _bitmapData.clone() : _bitmapData;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml b/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml
index 150b915..c70cb89 100644
--- a/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml
+++ b/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml
@@ -90,6 +90,7 @@
     <s:BitmapImage id="imageDisplay" left="0" top="0" right="0" bottom="0"/>
     
     <!--- Progress indicator skin part. -->
+    <!--- ToDo: replace with ProgressBar. Range is meant to be a base class and shouldn't be used directly.  -->
     <s:Range id="progressIndicator" skinClass="spark.skins.spark.ImageLoadingSkin" verticalCenter="0" horizontalCenter="0" includeIn="loading" layoutDirection="ltr" />
     
     <!--- Icon that appears in place of the image when an invalid image is loaded. -->

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as b/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
index 1e2f337..3f52d3b 100644
--- a/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
+++ b/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
@@ -70,6 +70,74 @@
 [Style(name="clearFloats", type="String", enumeration="start,end,left,right,both,none", inherit="yes")]
 
 /**
+ *  Controls column break after the element.
+ *  
+ *  <p><b>For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.columnBreakAfter.</b></p>
+ *
+ *  <p><b>For the Mobile theme, this is not supported.</b></p>
+ * 
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#columnBreakAfter
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 11
+ *  @playerversion AIR 3
+ *  @productversion Flex 5.0
+ */
+[Style(name="columnBreakAfter", type="String", enumeration="auto,always", inherit="yes")]
+
+/**
+ *  Controls column break before the element.
+ *  
+ *  <p><b>For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.columnBreakBefore.</b></p>
+ *
+ *  <p><b>For the Mobile theme, this is not supported.</b></p>
+ * 
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#columnBreakBefore
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 11
+ *  @playerversion AIR 3
+ *  @productversion Flex 5.0
+ */
+[Style(name="columnBreakBefore", type="String", enumeration="auto,always", inherit="yes")]
+
+/**
+ *  Controls container break after the element.
+ *  
+ *  <p><b>For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.containerBreakAfter.</b></p>
+ *
+ *  <p><b>For the Mobile theme, this is not supported.</b></p>
+ * 
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#containerBreakAfter
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 11
+ *  @playerversion AIR 3
+ *  @productversion Flex 5.0
+ */
+[Style(name="containerBreakAfter", type="String", enumeration="auto,always", inherit="yes")]
+
+/**
+ *  Controls container break before the element.
+ *  
+ *  <p><b>For the Spark theme, see
+ *  flashx.textLayout.formats.ITextLayoutFormat.containerBreakBefore.</b></p>
+ *
+ *  <p><b>For the Mobile theme, this is not supported.</b></p>
+ * 
+ *  @see flashx.textLayout.formats.ITextLayoutFormat#containerBreakBefore
+ * 
+ *  @langversion 3.0
+ *  @playerversion Flash 11
+ *  @playerversion AIR 3
+ *  @productversion Flex 5.0
+ */
+[Style(name="containerBreakBefore", type="String", enumeration="auto,always", inherit="yes")]
+
+/**
  *  Specifies the baseline position of the first line in the container.
  * 
  *  <p><b>For the Spark theme, see


[62/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/flex-sdk into release4.11.0

Posted by jm...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/flex-sdk into release4.11.0


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/ba42cdf0
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/ba42cdf0
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/ba42cdf0

Branch: refs/heads/release4.11.0
Commit: ba42cdf095c7d7e5194d39b2752cae2c436f1f66
Parents: 223bdb9 504abed
Author: Justin Mclean <jm...@apache.org>
Authored: Wed Oct 9 01:01:53 2013 +1100
Committer: Justin Mclean <jm...@apache.org>
Committed: Wed Oct 9 01:01:53 2013 +1100

----------------------------------------------------------------------

----------------------------------------------------------------------



[57/62] [abbrv] Merge Apache Flex 4.10 into trunk

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
----------------------------------------------------------------------
diff --cc frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
index db2682c,bc28723..88d01c6
--- a/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
+++ b/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
@@@ -1373,12 -1384,14 +1384,14 @@@ public class GridSelectio
       *  @private
       *  The item has been moved from the oldLocation to location.
       */
-     private function dataProviderCollectionMove(event:CollectionEvent):void
+     private function dataProviderCollectionMove(event:CollectionEvent):Boolean
      {
+         var selectionChanged:Boolean = false;
+         
          const oldRowIndex:int = event.oldLocation;
 -        const newRowIndex:int = event.location;
 +        var newRowIndex:int = event.location;
          
-         handleRowRemove(oldRowIndex);
+         selectionChanged = handleRowRemove(oldRowIndex);
          
          // If the row is removed before the newly added item
          // then change index to account for this.
@@@ -1633,12 -1661,12 +1661,12 @@@
      {
          // If no selectionMode or a row-based selectionMode, nothing to do.
          if (!isCellSelectionMode())
-             return;
+             return false;
  
          const oldColumnIndex:int = event.oldLocation;
 -        const newColumnIndex:int = event.location;
 +        var newColumnIndex:int = event.location;
          
-         handleColumnRemove(oldColumnIndex);
+         var selectionChanged:Boolean = handleColumnRemove(oldColumnIndex);
          
          // If the column is removed before the newly added column
          // then change index to account for this.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/frameworks/projects/textLayout/build.xml
----------------------------------------------------------------------
diff --cc frameworks/projects/textLayout/build.xml
index 9927296,5dacbc9..7a2fb90
--- a/frameworks/projects/textLayout/build.xml
+++ b/frameworks/projects/textLayout/build.xml
@@@ -22,9 -22,9 +22,10 @@@
  	
      <property file="${FLEX_HOME}/env.properties"/>
      <property environment="env"/>
+ 	<property file="${FLEX_HOME}/local.properties"/>
  	<property file="${FLEX_HOME}/build.properties"/>
  
 +    <property name="source.dir" value="${basedir}/${tlf.version}"/>
  	<property name="output.file" value="${FLEX_HOME}/frameworks/libs/textLayout.swc"/>
  	<property name="output.docs" value="${FLEX_HOME}/tempDoc"/>
  	<property name="flexTasks.location" value="${FLEX_HOME}/lib/flexTasks.jar"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
index b7e9ec2,9dcff76..4db95ab
--- a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
+++ b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
@@@ -94,9 -94,9 +94,17 @@@
  				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
  			</setup>
  			<body>
+ 				<AssertPropertyValue target="" propertyName="height" value="34" />
+ 			</body>
+ 		</TestCase>
++		<TestCase testID="Window_Property_height_negative_win" keywords="[Window,property, height]">
++			<setup>
++				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
++			</setup>
++			<body>
 +				<AssertPropertyValue target="" propertyName="height" value="38" />
 +			</body>
 +		</TestCase>
  		
  		<TestCase testID="Window_Property_maxHeight_positive" keywords="[Window,property, maximumHeight]">
  			<setup>
@@@ -118,19 -118,19 +126,30 @@@
  			<body>  
  				<AssertPropertyValue target="" propertyName="maxHeight" value="34" /> 
  				<AssertPropertyValue target="" propertyName="height" value="34" />
+ 			</body> 
+ 		</TestCase>		
+ 		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
+ 			<setup>
+ 				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
+ 				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
+ 				<WaitForEffectsToEnd/>
+ 			</setup>  
+ 			<body>  
+ 				<AssertPropertyValue target="" propertyName="maxHeight" value="34" /> 
+ 				<AssertPropertyValue target="" propertyName="height" value="34" />
  			</body> 
  		</TestCase>		
 +		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
 +			<setup>
 +				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
 +				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
 +				<WaitForEffectsToEnd/>
 +			</setup>  
 +			<body>  
 +				<AssertPropertyValue target="" propertyName="maxHeight" value="38" /> 
 +				<AssertPropertyValue target="" propertyName="height" value="38" />
 +			</body> 
 +		</TestCase>		
  		<TestCase testID="Window_Property_width_positive" keywords="[Window,width, Property]">
  			<setup>
  				<SetProperty target="" propertyName="width" value="800" waitEvent="updateComplete" waitTarget=""/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
index 2b1aeac,3b87f4c..20e0800
--- a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
+++ b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
@@@ -94,9 -94,9 +94,17 @@@
  				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
  			</setup>
  			<body>
+ 				<AssertPropertyValue target="" propertyName="height" value="34" />
+ 			</body>
+ 		</TestCase>
++		<TestCase testID="Window_Property_height_negative_win" keywords="[Window,property, height]">
++			<setup>
++				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
++			</setup>
++			<body>
 +				<AssertPropertyValue target="" propertyName="height" value="38" />
 +			</body>
 +		</TestCase>
  		
  		<TestCase testID="Window_Property_maxHeight_positive" keywords="[Window,property, maximumHeight]">
  			<setup>
@@@ -118,19 -118,19 +126,30 @@@
  			<body>  
  				<AssertPropertyValue target="" propertyName="maxHeight" value="34" /> 
  				<AssertPropertyValue target="" propertyName="height" value="34" />
+ 			</body> 
+ 		</TestCase>		
+ 		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
+ 			<setup>
+ 				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
+ 				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
+ 				<WaitForEffectsToEnd/>
+ 			</setup>  
+ 			<body>  
+ 				<AssertPropertyValue target="" propertyName="maxHeight" value="34" /> 
+ 				<AssertPropertyValue target="" propertyName="height" value="34" />
  			</body> 
  		</TestCase>		
 +		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
 +			<setup>
 +				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
 +				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
 +				<WaitForEffectsToEnd/>
 +			</setup>  
 +			<body>  
 +				<AssertPropertyValue target="" propertyName="maxHeight" value="38" /> 
 +				<AssertPropertyValue target="" propertyName="height" value="38" />
 +			</body> 
 +		</TestCase>		
  		<TestCase testID="Window_Property_width_positive" keywords="[Window,width, Property]">
  			<setup>
  				<SetProperty target="" propertyName="width" value="800" waitEvent="updateComplete" waitTarget=""/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_sameAxis_diffRenderers.png
index d9c6d48,eb993dc..eb993dc
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Candle/Properties/Baselines/CandlestickSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Candle/Properties/Baselines/CandlestickSeries_sameAxis_diffRenderers.png
index 0ba54a8,68eff6a..68eff6a
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Column/Properties/Baselines/ColumnSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Column/Properties/Baselines/ColumnSeries_sameAxis_diffRenderers.png
index af1c779,1a48bd7..1a48bd7
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/HLOC/Properties/Baselines/HLOCSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/HLOC/Properties/Baselines/HLOCSeries_sameAxis_diffRenderers.png
index cd2e5d5,c588979..c588979
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_sameAxis_diffRenderers.png
index c0f0e56,6865b52..6865b52
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Multiple.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Multiple.png
index c2ce388,4ed6529..4ed6529
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Single.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Single.png
index 8d05270,45411f7..45411f7
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Multiple.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Multiple.png
index b636b2d,4006292..4006292
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_None.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_None.png
index 63f43b5,8c70e2e..8c70e2e
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Single.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Single.png
index 0f851de,d17df07..d17df07
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_axisAtSeriesLevel.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_axisAtSeriesLevel.png
index 7f494d9,2a29e9f..2a29e9f
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --cc mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_sameAxis_diffRenderers.png
index 79b85b7,067142a..067142a
mode 100644,100755..100644
Binary files differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
index 810486e,c7d9b29..61c5527
--- a/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
+++ b/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
@@@ -322,14 -322,10 +322,12 @@@
  		</setup>
  		<body>						
  			<SetProperty target="myBorderGrpRGS.myBorder.borderStroke" propertyName="weight" value="80" waitEvent="updateComplete" waitTarget="myBorderGrpRGS.myBorder"/>
 -			<CompareBitmap url="../Properties/Baselines/$testID_1.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS" />
 +			<CompareBitmap url="../Properties/Baselines/$testID_1.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS">
 +				<ConditionalValue os="win" url="../Properties/Baselines/$testID_1@win.png"/>
 +			</CompareBitmap>
  			<SetProperty target="myBorderGrpRGS.myBorder" propertyName="height" value="300" waitEvent="updateComplete" />
  			<SetProperty target="myBorderGrpRGS.myBorder" propertyName="width" value="300" waitEvent="updateComplete" />
- 			<CompareBitmap url="../Properties/Baselines/$testID_2.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS">
- 				<ConditionalValue os="win" url="../Properties/Baselines/$testID_2@win.png"/>
- 			</CompareBitmap>
+ 			<CompareBitmap url="../Properties/Baselines/$testID_2.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS" />
  			<ResetComponent target="myBorderGrpRGS" className="comps.customBorderRGS" waitEvent="updateComplete"/>
  		</body>
  	</TestCase>		

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
index 5388da3,0084843..282834d
--- a/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
+++ b/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
@@@ -1156,10 -1168,10 +1168,10 @@@
  			<setup>
  				<RunCode code="FlexGlobals.topLevelApplication.doPopAll()" waitTarget="navigator" waitEvent="updateComplete"/>
  				<RunCode code="FlexGlobals.topLevelApplication.navigator.pushView(components.ActionBarView1)" waitTarget="navigator" waitEvent="updateComplete" />
- 				<ResetComponent target="navigator.actionBar" className="spark.components.actionBar"/>	
- 				<Pause timeout="300" />
+ 				<ResetComponent target="navigator.actionBar" className="spark.components.actionBar"/>
+ 				<WaitForLayoutManager />
  				<SetProperty target="navigator.actionBar" propertyName="navigationContent" valueExpression="value=twoEArray" waitTarget="navigator.actionBar" waitEvent="updateComplete"/>
 -				<Pause timeout="300" />
 +				<WaitForLayoutManager />
  			</setup>
  			<body>
  				<CompareBitmap url="../properties/baselines" target="navigator.actionBar">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
index f289304,08ac128..a980edc
mode 100755,100644..100644
--- a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
+++ b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
----------------------------------------------------------------------
diff --cc mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
index 4bdbb2f,806f470..8c9246d
mode 100755,100644..100644
--- a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
+++ b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4946a9/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml
----------------------------------------------------------------------


[29/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/MotionAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/MotionAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/MotionAnimation.java
new file mode 100644
index 0000000..8d6a102
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/MotionAnimation.java
@@ -0,0 +1,331 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import java.awt.geom.Point2D;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableAngleValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableMotionPointValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+import org.apache.flex.forks.batik.ext.awt.geom.Cubic;
+import org.apache.flex.forks.batik.ext.awt.geom.ExtendedGeneralPath;
+import org.apache.flex.forks.batik.ext.awt.geom.ExtendedPathIterator;
+import org.apache.flex.forks.batik.ext.awt.geom.PathLength;
+import org.apache.flex.forks.batik.util.SMILConstants;
+
+/**
+ * An animation class for 'animateMotion' animations.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: MotionAnimation.java 575201 2007-09-13 07:41:26Z cam $
+ */
+public class MotionAnimation extends InterpolatingAnimation {
+
+    /**
+     * The path that describes the motion.
+     */
+    protected ExtendedGeneralPath path;
+
+    /**
+     * The path length calculation object.
+     */
+    protected PathLength pathLength;
+
+    /**
+     * The points defining the distance along the path that the
+     * keyTimes apply.
+     */
+    protected float[] keyPoints;
+
+    /**
+     * Whether automatic rotation should be performed.
+     */
+    protected boolean rotateAuto;
+
+    /**
+     * Whether the automatic rotation should be reversed.
+     */
+    protected boolean rotateAutoReverse;
+
+    /**
+     * The angle of rotation (in radians) to use when automatic rotation is
+     * not being used.
+     */
+    protected float rotateAngle;
+
+    /**
+     * Creates a new MotionAnimation.
+     */
+    public MotionAnimation(TimedElement timedElement,
+                           AnimatableElement animatableElement,
+                           int calcMode,
+                           float[] keyTimes,
+                           float[] keySplines,
+                           boolean additive,
+                           boolean cumulative,
+                           AnimatableValue[] values,
+                           AnimatableValue from,
+                           AnimatableValue to,
+                           AnimatableValue by,
+                           ExtendedGeneralPath path,
+                           float[] keyPoints,
+                           boolean rotateAuto,
+                           boolean rotateAutoReverse,
+                           float rotateAngle,
+                           short rotateAngleUnit) {
+        super(timedElement, animatableElement, calcMode, keyTimes, keySplines,
+              additive, cumulative);
+        this.rotateAuto = rotateAuto;
+        this.rotateAutoReverse = rotateAutoReverse;
+        this.rotateAngle = AnimatableAngleValue.rad(rotateAngle, rotateAngleUnit);
+
+        if (path == null) {
+            path = new ExtendedGeneralPath();
+            if (values == null || values.length == 0) {
+                if (from != null) {
+                    AnimatableMotionPointValue fromPt = (AnimatableMotionPointValue) from;
+                    float x = fromPt.getX();
+                    float y = fromPt.getY();
+                    path.moveTo(x, y);
+                    if (to != null) {
+                        AnimatableMotionPointValue toPt = (AnimatableMotionPointValue) to;
+                        path.lineTo(toPt.getX(), toPt.getY());
+                    } else if (by != null) {
+                        AnimatableMotionPointValue byPt = (AnimatableMotionPointValue) by;
+                        path.lineTo(x + byPt.getX(), y + byPt.getY());
+                    } else {
+                        throw timedElement.createException
+                            ("values.to.by.path.missing",
+                             new Object[] { null });
+                    }
+                } else {
+                    if (to != null) {
+                        AnimatableMotionPointValue unPt = (AnimatableMotionPointValue)
+                            animatableElement.getUnderlyingValue();
+                        AnimatableMotionPointValue toPt = (AnimatableMotionPointValue) to;
+                        path.moveTo(unPt.getX(), unPt.getY());
+                        path.lineTo(toPt.getX(), toPt.getY());
+                        this.cumulative = false;
+                    } else if (by != null) {
+                        AnimatableMotionPointValue byPt = (AnimatableMotionPointValue) by;
+                        path.moveTo(0, 0);
+                        path.lineTo(byPt.getX(), byPt.getY());
+                        this.additive = true;
+                    } else {
+                        throw timedElement.createException
+                            ("values.to.by.path.missing",
+                             new Object[] { null });
+                    }
+                }
+            } else {
+                AnimatableMotionPointValue pt = (AnimatableMotionPointValue) values[0];
+                path.moveTo(pt.getX(), pt.getY());
+                for (int i = 1; i < values.length; i++) {
+                    pt = (AnimatableMotionPointValue) values[i];
+                    path.lineTo(pt.getX(), pt.getY());
+                }
+            }
+        }
+        this.path = path;
+        pathLength = new PathLength(path);
+        int segments = 0;
+        ExtendedPathIterator epi = path.getExtendedPathIterator();
+        while (!epi.isDone()) {
+            int type = epi.currentSegment();
+            if (type != ExtendedPathIterator.SEG_MOVETO) {
+                segments++;
+            }
+            epi.next();
+        }
+
+        int count = keyPoints == null ? segments + 1 : keyPoints.length;
+        float totalLength = pathLength.lengthOfPath();
+        if (this.keyTimes != null && calcMode != CALC_MODE_PACED) {
+            if (this.keyTimes.length != count) {
+                throw timedElement.createException
+                    ("attribute.malformed",
+                     new Object[] { null,
+                                    SMILConstants.SMIL_KEY_TIMES_ATTRIBUTE });
+            }
+        } else {
+            if (calcMode == CALC_MODE_LINEAR || calcMode == CALC_MODE_SPLINE) {
+                this.keyTimes = new float[count];
+                for (int i = 0; i < count; i++) {
+                    this.keyTimes[i] = (float) i / (count - 1);
+                }
+            } else if (calcMode == CALC_MODE_DISCRETE) {
+                this.keyTimes = new float[count];
+                for (int i = 0; i < count; i++) {
+                    this.keyTimes[i] = (float) i / count;
+                }
+            } else { // CALC_MODE_PACED
+                // This corrects the keyTimes to be paced, so from now on
+                // it can be considered the same as CALC_MODE_LINEAR.
+                epi = path.getExtendedPathIterator();
+                this.keyTimes = new float[count];
+                int j = 0;
+                for (int i = 0; i < count - 1; i++) {
+                    while (epi.currentSegment() ==
+                            ExtendedPathIterator.SEG_MOVETO) {
+                        j++;
+                        epi.next();
+                    }
+                    this.keyTimes[i] =
+                        pathLength.getLengthAtSegment(j) / totalLength;
+                    j++;
+                    epi.next();
+                }
+                this.keyTimes[count - 1] = 1f;
+            }
+        }
+
+        if (keyPoints != null) {
+            if (keyPoints.length != this.keyTimes.length) {
+                throw timedElement.createException
+                    ("attribute.malformed",
+                     new Object[] { null,
+                                    SMILConstants.SMIL_KEY_POINTS_ATTRIBUTE });
+            }
+        } else {
+            epi = path.getExtendedPathIterator();
+            keyPoints = new float[count];
+            int j = 0;
+            for (int i = 0; i < count - 1; i++) {
+                while (epi.currentSegment() ==
+                        ExtendedPathIterator.SEG_MOVETO) {
+                    j++;
+                    epi.next();
+                }
+                keyPoints[i] = pathLength.getLengthAtSegment(j) / totalLength;
+                j++;
+                epi.next();
+            }
+            keyPoints[count - 1] = 1f;
+        }
+        this.keyPoints = keyPoints;
+    }
+
+    /**
+     * Called when the element is sampled at the given unit time.  This updates
+     * the {@link #value} of the animation if active.
+     */
+    protected void sampledAtUnitTime(float unitTime, int repeatIteration) {
+        AnimatableValue value, accumulation;
+        float interpolation = 0;
+        if (unitTime != 1) {
+            int keyTimeIndex = 0;
+            while (keyTimeIndex < keyTimes.length - 1
+                    && unitTime >= keyTimes[keyTimeIndex + 1]) {
+                keyTimeIndex++;
+            }
+            if (keyTimeIndex == keyTimes.length - 1 && calcMode == CALC_MODE_DISCRETE) {
+                keyTimeIndex = keyTimes.length - 2;
+                interpolation = 1;
+            } else {
+                if (calcMode == CALC_MODE_LINEAR || calcMode == CALC_MODE_PACED
+                        || calcMode == CALC_MODE_SPLINE) {
+                    if (unitTime == 0) {
+                        interpolation = 0;
+                    } else {
+                        interpolation = (unitTime - keyTimes[keyTimeIndex])
+                            / (keyTimes[keyTimeIndex + 1] - keyTimes[keyTimeIndex]);
+                    }
+                    if (calcMode == CALC_MODE_SPLINE && unitTime != 0) {
+                        // XXX This could be done better, e.g. with
+                        //     Newton-Raphson.
+                        Cubic c = keySplineCubics[keyTimeIndex];
+                        float tolerance = 0.001f;
+                        float min = 0;
+                        float max = 1;
+                        Point2D.Double p;
+                        for (;;) {
+                            float t = (min + max) / 2;
+                            p = c.eval(t);
+                            double x = p.getX();
+                            if (Math.abs(x - interpolation) < tolerance) {
+                                break;
+                            }
+                            if (x < interpolation) {
+                                min = t;
+                            } else {
+                                max = t;
+                            }
+                        }
+                        interpolation = (float) p.getY();
+                    }
+                }
+            }
+            float point = keyPoints[keyTimeIndex];
+            if (interpolation != 0) {
+                point += interpolation *
+                    (keyPoints[keyTimeIndex + 1] - keyPoints[keyTimeIndex]);
+            }
+            point *= pathLength.lengthOfPath();
+            Point2D p = pathLength.pointAtLength(point);
+            float ang;
+            if (rotateAuto) {
+                ang = pathLength.angleAtLength(point);
+                if (rotateAutoReverse) {
+                    ang += Math.PI;
+                }
+            } else {
+                ang = rotateAngle;
+            }
+            value = new AnimatableMotionPointValue(null, (float) p.getX(),
+                                                   (float) p.getY(), ang);
+        } else {
+            Point2D p = pathLength.pointAtLength(pathLength.lengthOfPath());
+            float ang;
+            if (rotateAuto) {
+                ang = pathLength.angleAtLength(pathLength.lengthOfPath());
+                if (rotateAutoReverse) {
+                    ang += Math.PI;
+                }
+            } else {
+                ang = rotateAngle;
+            }
+            value = new AnimatableMotionPointValue(null, (float) p.getX(),
+                                                   (float) p.getY(), ang);
+        }
+        if (cumulative) {
+            Point2D p = pathLength.pointAtLength(pathLength.lengthOfPath());
+            float ang;
+            if (rotateAuto) {
+                ang = pathLength.angleAtLength(pathLength.lengthOfPath());
+                if (rotateAutoReverse) {
+                    ang += Math.PI;
+                }
+            } else {
+                ang = rotateAngle;
+            }
+            accumulation = new AnimatableMotionPointValue(null, (float) p.getX(),
+                                                          (float) p.getY(), ang);
+        } else {
+            accumulation = null;
+        }
+
+        this.value = value.interpolate(this.value, null, interpolation,
+                                       accumulation, repeatIteration);
+        if (this.value.hasChanged()) {
+            markDirty();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SetAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SetAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SetAnimation.java
new file mode 100644
index 0000000..b83d8e4
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SetAnimation.java
@@ -0,0 +1,68 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+
+/**
+ * An animation class for 'set' animations.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SetAnimation.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class SetAnimation extends AbstractAnimation {
+
+    /**
+     * The set animation value.
+     */
+    protected AnimatableValue to;
+
+    /**
+     * Creates a new SetAnimation.
+     */
+    public SetAnimation(TimedElement timedElement,
+                        AnimatableElement animatableElement,
+                        AnimatableValue to) {
+        super(timedElement, animatableElement);
+        this.to = to;
+    }
+
+    /**
+     * Called when the element is sampled at the given time.
+     */
+    protected void sampledAt(float simpleTime, float simpleDur,
+                             int repeatIteration) {
+        if (value == null) {
+            value = to;
+            markDirty();
+        }
+    }
+
+    /**
+     * Called when the element is sampled for its "last" value.
+     */
+    protected void sampledLastValue(int repeatIteration) {
+        if (value == null) {
+            value = to;
+            markDirty();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SimpleAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SimpleAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SimpleAnimation.java
new file mode 100644
index 0000000..84ac35e
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/SimpleAnimation.java
@@ -0,0 +1,221 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import java.awt.geom.Point2D;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+import org.apache.flex.forks.batik.ext.awt.geom.Cubic;
+import org.apache.flex.forks.batik.util.SMILConstants;
+
+/**
+ * An animation class for 'animate' animations.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SimpleAnimation.java 492528 2007-01-04 11:45:47Z cam $
+ */
+public class SimpleAnimation extends InterpolatingAnimation {
+
+    /**
+     * Values between which to interpolate.
+     */
+    protected AnimatableValue[] values;
+
+    /**
+     * Starting value of the animation.
+     */
+    protected AnimatableValue from;
+
+    /**
+     * Ending value of the animation.
+     */
+    protected AnimatableValue to;
+
+    /**
+     * Relative offset value for the animation.
+     */
+    protected AnimatableValue by;
+
+    /**
+     * Creates a new SimpleAnimation.
+     */
+    public SimpleAnimation(TimedElement timedElement,
+                           AnimatableElement animatableElement,
+                           int calcMode,
+                           float[] keyTimes,
+                           float[] keySplines,
+                           boolean additive,
+                           boolean cumulative,
+                           AnimatableValue[] values,
+                           AnimatableValue from,
+                           AnimatableValue to,
+                           AnimatableValue by) {
+        super(timedElement, animatableElement, calcMode, keyTimes, keySplines,
+              additive, cumulative);
+        this.from = from;
+        this.to = to;
+        this.by = by;
+
+        if (values == null) {
+            if (from != null) {
+                values = new AnimatableValue[2];
+                values[0] = from;
+                if (to != null) {
+                    values[1] = to;
+                } else if (by != null) {
+                    values[1] = from.interpolate(null, null, 0f, by, 1); 
+                } else {
+                    throw timedElement.createException
+                        ("values.to.by.missing", new Object[] { null });
+                }
+            } else {
+                if (to != null) {
+                    values = new AnimatableValue[2];
+                    values[0] = animatableElement.getUnderlyingValue();
+                    values[1] = to;
+                    this.cumulative = false;
+                    toAnimation = true;
+                } else if (by != null) {
+                    this.additive = true;
+                    values = new AnimatableValue[2];
+                    values[0] = by.getZeroValue();
+                    values[1] = by;
+                } else {
+                    throw timedElement.createException
+                        ("values.to.by.missing", new Object[] { null });
+                }
+            }
+        }
+        this.values = values;
+
+        if (this.keyTimes != null && calcMode != CALC_MODE_PACED) {
+            if (this.keyTimes.length != values.length) {
+                throw timedElement.createException
+                    ("attribute.malformed",
+                     new Object[] { null,
+                                    SMILConstants.SMIL_KEY_TIMES_ATTRIBUTE });
+            }
+        } else {
+            if (calcMode == CALC_MODE_LINEAR || calcMode == CALC_MODE_SPLINE
+                    || calcMode == CALC_MODE_PACED && !values[0].canPace()) {
+                int count = values.length == 1 ? 2 : values.length;
+                this.keyTimes = new float[count];
+                for (int i = 0; i < count; i++) {
+                    this.keyTimes[i] = (float) i / (count - 1);
+                }
+            } else if (calcMode == CALC_MODE_DISCRETE) {
+                int count = values.length;
+                this.keyTimes = new float[count];
+                for (int i = 0; i < count; i++) {
+                    this.keyTimes[i] = (float) i / count;
+                }
+            } else { // CALC_MODE_PACED
+                // This corrects the keyTimes to be paced, so from now on
+                // it can be considered the same as CALC_MODE_LINEAR.
+                int count = values.length;
+                float[] cumulativeDistances = new float[count];
+                cumulativeDistances[0] = 0;
+                for (int i = 1; i < count; i++) {
+                    cumulativeDistances[i] = cumulativeDistances[i - 1]
+                        + values[i - 1].distanceTo(values[i]);
+                }
+                float totalLength = cumulativeDistances[count - 1];
+                this.keyTimes = new float[count];
+                this.keyTimes[0] = 0;
+                for (int i = 1; i < count - 1; i++) {
+                    this.keyTimes[i] = cumulativeDistances[i] / totalLength;
+                }
+                this.keyTimes[count - 1] = 1;
+            }
+        }
+
+        if (calcMode == CALC_MODE_SPLINE
+                && keySplines.length != (this.keyTimes.length - 1) * 4) {
+            throw timedElement.createException
+                ("attribute.malformed",
+                 new Object[] { null,
+                                SMILConstants.SMIL_KEY_SPLINES_ATTRIBUTE });
+        }
+    }
+
+    /**
+     * Called when the element is sampled at the given unit time.  This updates
+     * the {@link #value} of the animation if active.
+     */
+    protected void sampledAtUnitTime(float unitTime, int repeatIteration) {
+        AnimatableValue value, accumulation, nextValue;
+        float interpolation = 0;
+        if (unitTime != 1) {
+            int keyTimeIndex = 0;
+            while (keyTimeIndex < keyTimes.length - 1
+                    && unitTime >= keyTimes[keyTimeIndex + 1]) {
+                keyTimeIndex++;
+            }
+            value = values[keyTimeIndex];
+            if (calcMode == CALC_MODE_LINEAR
+                    || calcMode == CALC_MODE_PACED
+                    || calcMode == CALC_MODE_SPLINE) {
+                nextValue = values[keyTimeIndex + 1];
+                interpolation = (unitTime - keyTimes[keyTimeIndex])
+                    / (keyTimes[keyTimeIndex + 1] - keyTimes[keyTimeIndex]);
+                if (calcMode == CALC_MODE_SPLINE && unitTime != 0) {
+                    // XXX This could be done better, e.g. with
+                    //     Newton-Raphson.
+                    Cubic c = keySplineCubics[keyTimeIndex];
+                    float tolerance = 0.001f;
+                    float min = 0;
+                    float max = 1;
+                    Point2D.Double p;
+                    for (;;) {
+                        float t = (min + max) / 2;
+                        p = c.eval(t);
+                        double x = p.getX();
+                        if (Math.abs(x - interpolation) < tolerance) {
+                            break;
+                        }
+                        if (x < interpolation) {
+                            min = t;
+                        } else {
+                            max = t;
+                        }
+                    }
+                    interpolation = (float) p.getY();
+                }
+            } else {
+                nextValue = null;
+            }
+        } else {
+            value = values[values.length - 1];
+            nextValue = null;
+        }
+        if (cumulative) {
+            accumulation = values[values.length - 1];
+        } else {
+            accumulation = null;
+        }
+
+        this.value = value.interpolate(this.value, nextValue, interpolation,
+                                       accumulation, repeatIteration);
+        if (this.value.hasChanged()) {
+            markDirty();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/TransformAnimation.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/TransformAnimation.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/TransformAnimation.java
new file mode 100644
index 0000000..2e386cf
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/TransformAnimation.java
@@ -0,0 +1,251 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableTransformListValue;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+
+import org.w3c.dom.svg.SVGTransform;
+
+/**
+ * An animation class for 'animateTransform' animations.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TransformAnimation.java 492528 2007-01-04 11:45:47Z cam $
+ */
+public class TransformAnimation extends SimpleAnimation {
+
+    /**
+     * The transform type.  This should take one of the constants defined
+     * in {@link org.w3c.dom.svg.SVGTransform}.
+     */
+    protected short type;
+
+    /**
+     * Time values to control the pacing of the second component of the
+     * animation.
+     */
+    protected float[] keyTimes2;
+
+    /**
+     * Time values to control the pacing of the third component of the
+     * animation.
+     */
+    protected float[] keyTimes3;
+
+    /**
+     * Creates a new TransformAnimation.
+     */
+    public TransformAnimation(TimedElement timedElement,
+                              AnimatableElement animatableElement,
+                              int calcMode,
+                              float[] keyTimes,
+                              float[] keySplines,
+                              boolean additive,
+                              boolean cumulative,
+                              AnimatableValue[] values,
+                              AnimatableValue from,
+                              AnimatableValue to,
+                              AnimatableValue by,
+                              short type) {
+        // pretend we didn't get a calcMode="paced", since we need specialised
+        // behaviour in sampledAtUnitTime.
+        super(timedElement, animatableElement,
+              calcMode == CALC_MODE_PACED ? CALC_MODE_LINEAR : calcMode,
+              calcMode == CALC_MODE_PACED ? null : keyTimes,
+              keySplines, additive, cumulative, values, from, to, by);
+        this.calcMode = calcMode;
+        this.type = type;
+
+        if (calcMode != CALC_MODE_PACED) {
+            return;
+        }
+
+        // Determine the equivalent keyTimes for the individual components
+        // of the transforms for CALC_MODE_PACED.
+        int count = this.values.length;
+        float[] cumulativeDistances1;
+        float[] cumulativeDistances2 = null;
+        float[] cumulativeDistances3 = null;
+        switch (type) {
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+                cumulativeDistances3 = new float[count];
+                cumulativeDistances3[0] = 0f;
+                // fall through
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                cumulativeDistances2 = new float[count];
+                cumulativeDistances2[0] = 0f;
+                // fall through
+            default:
+                cumulativeDistances1 = new float[count];
+                cumulativeDistances1[0] = 0f;
+        }
+
+        for (int i = 1; i < this.values.length; i++) {
+            switch (type) {
+                case SVGTransform.SVG_TRANSFORM_ROTATE:
+                    cumulativeDistances3[i] =
+                        cumulativeDistances3[i - 1]
+                            + ((AnimatableTransformListValue)
+                                this.values[i - 1]).distanceTo3(this.values[i]);
+                    // fall through
+                case SVGTransform.SVG_TRANSFORM_SCALE:
+                case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                    cumulativeDistances2[i] =
+                        cumulativeDistances2[i - 1]
+                            + ((AnimatableTransformListValue)
+                                this.values[i - 1]).distanceTo2(this.values[i]);
+                    // fall through
+                default:
+                    cumulativeDistances1[i] =
+                        cumulativeDistances1[i - 1]
+                            + ((AnimatableTransformListValue)
+                                this.values[i - 1]).distanceTo1(this.values[i]);
+            }
+        }
+
+        switch (type) {
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+                float totalLength = cumulativeDistances3[count - 1];
+                keyTimes3 = new float[count];
+                keyTimes3[0] = 0f;
+                for (int i = 1; i < count - 1; i++) {
+                    keyTimes3[i] = cumulativeDistances3[i] / totalLength;
+                }
+                keyTimes3[count - 1] = 1f;
+                // fall through
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                totalLength = cumulativeDistances2[count - 1];
+                keyTimes2 = new float[count];
+                keyTimes2[0] = 0f;
+                for (int i = 1; i < count - 1; i++) {
+                    keyTimes2[i] = cumulativeDistances2[i] / totalLength;
+                }
+                keyTimes2[count - 1] = 1f;
+                // fall through
+            default:
+                totalLength = cumulativeDistances1[count - 1];
+                this.keyTimes = new float[count];
+                this.keyTimes[0] = 0f;
+                for (int i = 1; i < count - 1; i++) {
+                    this.keyTimes[i] = cumulativeDistances1[i] / totalLength;
+                }
+                this.keyTimes[count - 1] = 1f;
+        }
+    }
+
+    /**
+     * Called when the element is sampled at the given unit time.  This updates
+     * the {@link #value} of the animation if active.
+     */
+    protected void sampledAtUnitTime(float unitTime, int repeatIteration) {
+        // Note that skews are handled by SimpleAnimation and not here, since
+        // they need just the one component of interpolation.
+        if (calcMode != CALC_MODE_PACED
+                || type == SVGTransform.SVG_TRANSFORM_SKEWX
+                || type == SVGTransform.SVG_TRANSFORM_SKEWY) {
+            super.sampledAtUnitTime(unitTime, repeatIteration);
+            return;
+        }
+
+        AnimatableTransformListValue
+            value1, value2, value3 = null, nextValue1, nextValue2,
+            nextValue3 = null, accumulation;
+        float interpolation1 = 0f, interpolation2 = 0f, interpolation3 = 0f;
+        if (unitTime != 1) {
+            switch (type) {
+                case SVGTransform.SVG_TRANSFORM_ROTATE:
+                    int keyTimeIndex = 0;
+                    while (keyTimeIndex < keyTimes3.length - 1
+                            && unitTime >= keyTimes3[keyTimeIndex + 1]) {
+                        keyTimeIndex++;
+                    }
+                    value3 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex];
+                    nextValue3 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex + 1];
+                    interpolation3 = (unitTime - keyTimes3[keyTimeIndex])
+                        / (keyTimes3[keyTimeIndex + 1] -
+                                keyTimes3[keyTimeIndex]);
+                    // fall through
+                default:
+                    keyTimeIndex = 0;
+                    while (keyTimeIndex < keyTimes2.length - 1
+                            && unitTime >= keyTimes2[keyTimeIndex + 1]) {
+                        keyTimeIndex++;
+                    }
+                    value2 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex];
+                    nextValue2 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex + 1];
+                    interpolation2 = (unitTime - keyTimes2[keyTimeIndex])
+                        / (keyTimes2[keyTimeIndex + 1] -
+                                keyTimes2[keyTimeIndex]);
+
+                    keyTimeIndex = 0;
+                    while (keyTimeIndex < keyTimes.length - 1
+                            && unitTime >= keyTimes[keyTimeIndex + 1]) {
+                        keyTimeIndex++;
+                    }
+                    value1 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex];
+                    nextValue1 = (AnimatableTransformListValue)
+                        this.values[keyTimeIndex + 1];
+                    interpolation1 = (unitTime - keyTimes[keyTimeIndex])
+                        / (keyTimes[keyTimeIndex + 1] -
+                                keyTimes[keyTimeIndex]);
+            }
+        } else {
+            value1 = value2 = value3 = (AnimatableTransformListValue)
+                this.values[this.values.length - 1];
+            nextValue1 = nextValue2 = nextValue3 = null;
+            interpolation1 = interpolation2 = interpolation3 = 1f;
+        }
+        if (cumulative) {
+            accumulation = (AnimatableTransformListValue)
+                this.values[this.values.length - 1];
+        } else {
+            accumulation = null;
+        }
+
+        switch (type) {
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+                this.value = AnimatableTransformListValue.interpolate
+                    ((AnimatableTransformListValue) this.value, value1, value2,
+                     value3, nextValue1, nextValue2, nextValue3, interpolation1,
+                     interpolation2, interpolation3, accumulation,
+                     repeatIteration);
+                break;
+            default:
+                this.value = AnimatableTransformListValue.interpolate
+                    ((AnimatableTransformListValue) this.value, value1, value2,
+                     nextValue1, nextValue2, interpolation1, interpolation2,
+                     accumulation, repeatIteration);
+                break;
+        }
+
+        if (this.value.hasChanged()) {
+            markDirty();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/AccesskeyTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/AccesskeyTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/AccesskeyTimingSpecifier.java
new file mode 100644
index 0000000..0f01f8c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/AccesskeyTimingSpecifier.java
@@ -0,0 +1,149 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import org.apache.flex.forks.batik.dom.events.DOMKeyEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.events.KeyboardEvent;
+
+/**
+ * A class to handle SMIL access key timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AccesskeyTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class AccesskeyTimingSpecifier
+        extends EventLikeTimingSpecifier
+        implements EventListener {
+
+    /**
+     * The accesskey.
+     */
+    protected char accesskey;
+
+    /**
+     * Whether this access key specifier uses SVG 1.2 syntax.
+     */
+    protected boolean isSVG12AccessKey;
+
+    /**
+     * The DOM 3 key name for SVG 1.2 access key specifiers.
+     */
+    protected String keyName;
+
+    /**
+     * Creates a new AccesskeyTimingSpecifier object using SVG 1.1
+     * or SMIL syntax.
+     */
+    public AccesskeyTimingSpecifier(TimedElement owner, boolean isBegin,
+                                    float offset, char accesskey) {
+        super(owner, isBegin, offset);
+        this.accesskey = accesskey;
+    }
+    
+    /**
+     * Creates a new AccesskeyTimingSpecifier object using SVG 1.2 syntax.
+     */
+    public AccesskeyTimingSpecifier(TimedElement owner, boolean isBegin,
+                                    float offset, String keyName) {
+        super(owner, isBegin, offset);
+        this.isSVG12AccessKey = true;
+        this.keyName = keyName;
+    }
+
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        if (isSVG12AccessKey) {
+            return "accessKey(" + keyName + ")"
+                + (offset != 0 ? super.toString() : "");
+        }
+        return "accesskey(" + accesskey + ")"
+            + (offset != 0 ? super.toString() : "");
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+        if (isSVG12AccessKey) {
+            NodeEventTarget eventTarget =
+                (NodeEventTarget) owner.getRootEventTarget();
+            eventTarget.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keydown",
+                 this, false, null);
+        } else {
+            EventTarget eventTarget = owner.getRootEventTarget();
+            eventTarget.addEventListener("keypress", this, false);
+        }
+    }
+
+    /**
+     * Deinitializes this timing specifier by removing any event listeners.
+     */
+    public void deinitialize() {
+        if (isSVG12AccessKey) {
+            NodeEventTarget eventTarget =
+                (NodeEventTarget) owner.getRootEventTarget();
+            eventTarget.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keydown",
+                 this, false);
+        } else {
+            EventTarget eventTarget = owner.getRootEventTarget();
+            eventTarget.removeEventListener("keypress", this, false);
+        }
+    }
+
+    // EventListener /////////////////////////////////////////////////////////
+
+    /**
+     * Handles key events fired by the eventbase element.
+     */
+    public void handleEvent(Event e) {
+        boolean matched;
+        if (e.getType().charAt(3) == 'p') {
+            // DOM 2 key draft keypress
+            DOMKeyEvent evt = (DOMKeyEvent) e;
+            matched = evt.getCharCode() == accesskey;
+        } else {
+            // DOM 3 keydown
+            KeyboardEvent evt = (KeyboardEvent) e;
+            matched = evt.getKeyIdentifier().equals(keyName);
+        }
+        if (matched) {
+            owner.eventOccurred(this, e);
+        }
+    }
+
+    /**
+     * Invoked to resolve an event-like timing specifier into an instance time.
+     */
+    public void resolve(Event e) {
+        float time = owner.getRoot().convertEpochTime(e.getTimeStamp());
+        InstanceTime instance = new InstanceTime(this, time + offset, true);
+        owner.addInstanceTime(instance, isBegin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventLikeTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventLikeTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventLikeTimingSpecifier.java
new file mode 100644
index 0000000..5b26251
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventLikeTimingSpecifier.java
@@ -0,0 +1,51 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import org.w3c.dom.events.Event;
+
+/**
+ * Abstract class from which all event-like timing specifier classes derive.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: EventLikeTimingSpecifier.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class EventLikeTimingSpecifier extends OffsetTimingSpecifier {
+
+    /**
+     * Creates a new EventLikeTimingSpecifier object.
+     */
+    public EventLikeTimingSpecifier(TimedElement owner, boolean isBegin,
+                                    float offset) {
+        super(owner, isBegin, offset);
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return true;
+    }
+
+    /**
+     * Invoked to resolve an event-like timing specifier into an instance time.
+     */
+    public abstract void resolve(Event e);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventbaseTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventbaseTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventbaseTimingSpecifier.java
new file mode 100644
index 0000000..c34ee0f
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/EventbaseTimingSpecifier.java
@@ -0,0 +1,128 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+
+/**
+ * A class to handle eventbase SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: EventbaseTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class EventbaseTimingSpecifier
+        extends EventLikeTimingSpecifier
+        implements EventListener {
+
+    /**
+     * The ID of the eventbase element.
+     */
+    protected String eventbaseID;
+
+    /**
+     * The eventbase element.
+     */
+    protected TimedElement eventbase;
+
+    /**
+     * The eventbase element as an {@link EventTarget}.
+     */
+    protected EventTarget eventTarget;
+
+    /**
+     * The namespace URI of the event to sync to.
+     */
+    protected String eventNamespaceURI;
+
+    /**
+     * The type of the event to sync to.
+     */
+    protected String eventType;
+
+    /**
+     * The animation name of the event to sync to.
+     */
+    protected String eventName;
+
+    /**
+     * Creates a new EventbaseTimingSpecifier object.
+     */
+    public EventbaseTimingSpecifier(TimedElement owner, boolean isBegin,
+                                    float offset, String eventbaseID,
+                                    String eventName) {
+        super(owner, isBegin, offset);
+        this.eventbaseID = eventbaseID;
+        this.eventName = eventName;
+        TimedDocumentRoot root = owner.getRoot();
+        this.eventNamespaceURI = root.getEventNamespaceURI(eventName);
+        this.eventType = root.getEventType(eventName);
+        if (eventbaseID == null) {
+            this.eventTarget = owner.getAnimationEventTarget();
+        } else {
+            this.eventTarget = owner.getEventTargetById(eventbaseID);
+        }
+    }
+
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return (eventbaseID == null ? "" : eventbaseID + ".") + eventName
+            + (offset != 0 ? super.toString() : "");
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+        ((NodeEventTarget) eventTarget).addEventListenerNS
+            (eventNamespaceURI, eventType, this, false, null);
+    }
+
+    /**
+     * Deinitializes this timing specifier by removing any event listeners.
+     */
+    public void deinitialize() {
+        ((NodeEventTarget) eventTarget).removeEventListenerNS
+            (eventNamespaceURI, eventType, this, false);
+    }
+
+    // EventListener /////////////////////////////////////////////////////////
+
+    /**
+     * Handles an event fired on the eventbase element.
+     */
+    public void handleEvent(Event e) {
+        owner.eventOccurred(this, e);
+    }
+
+    /**
+     * Invoked to resolve an event-like timing specifier into an instance time.
+     */
+    public void resolve(Event e) {
+        float time = owner.getRoot().convertEpochTime(e.getTimeStamp());
+        InstanceTime instance = new InstanceTime(this, time + offset, true);
+        owner.addInstanceTime(instance, isBegin);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/IndefiniteTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/IndefiniteTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/IndefiniteTimingSpecifier.java
new file mode 100644
index 0000000..2b11a06
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/IndefiniteTimingSpecifier.java
@@ -0,0 +1,64 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * A class to handle the 'indefinite' SMIL timing specifier.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: IndefiniteTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class IndefiniteTimingSpecifier extends TimingSpecifier {
+
+    /**
+     * Creates a new IndefiniteTimingSpecifier object.
+     */
+    public IndefiniteTimingSpecifier(TimedElement owner, boolean isBegin) {
+        super(owner, isBegin);
+    }
+    
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return "indefinite";
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+        if (!isBegin) {
+            // Only end instance lists get an 'indefinite' instance time from
+            // an indefinite timing specifier.
+            InstanceTime instance =
+                new InstanceTime(this, TimedElement.INDEFINITE, false);
+            owner.addInstanceTime(instance, isBegin);
+        }
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/InstanceTime.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/InstanceTime.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/InstanceTime.java
new file mode 100644
index 0000000..b160381
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/InstanceTime.java
@@ -0,0 +1,117 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * A class that represents an instance time created from a timing
+ * specification.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: InstanceTime.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class InstanceTime implements Comparable {
+
+    /**
+     * The time.
+     */
+    protected float time;
+
+    /**
+     * The {@link TimingSpecifier} that created this InstanceTime.
+     */
+    protected TimingSpecifier creator;
+
+    /**
+     * Whether this InstanceTime should be removed from an element's
+     * begin or end instance time lists upon reset.
+     */
+    protected boolean clearOnReset;
+
+    /**
+     * Creates a new InstanceTime.
+     * @param creator the TimingSpecifier that created this InstanceTime
+     * @param time the new time, in parent simple time
+     * @param clearOnReset whether this InstanceTime should be removed from
+     *                     an instance time list upon element reset
+     */
+    public InstanceTime(TimingSpecifier creator,
+                        float time,
+                        boolean clearOnReset) {
+        // Trace.enter(this, null, new Object[] { creator, new Float(time), timebase, new Boolean(clearOnReset) } ); try {
+        this.creator = creator;
+        // XXX Convert time from the creator's syncbase's
+        //     time system into this time system.  Not
+        //     strictly necessary in SVG.
+        this.time = time;
+        this.clearOnReset = clearOnReset;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns whether the InstanceTime should be removed from the
+     * element's begin or end instance time list when it is reset.
+     */
+    public boolean getClearOnReset() {
+        return clearOnReset;
+    }
+
+    /**
+     * Returns the time of this instance time.
+     */
+    public float getTime() {
+        return time;
+    }
+
+    /**
+     * Called by the dependent Interval to indicate that its time
+     * has changed.
+     * @param newTime the new time, in parent simple time
+     */
+    float dependentUpdate(float newTime) {
+        // Trace.enter(this, "dependentUpdate", new Object[] { new Float(newTime) } ); try {
+        // XXX Convert time from the creator's syncbase's
+        //     time system into this time system.  Not
+        //     strictly necessary in SVG.
+        time = newTime;
+        if (creator != null) {
+            return creator.handleTimebaseUpdate(this, time);
+        }
+        return Float.POSITIVE_INFINITY;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns a string representation of this InstanceTime.
+     */
+    public String toString() {
+        return Float.toString(time);
+    }
+
+    // Comparable ////////////////////////////////////////////////////////////
+
+    /**
+     * Compares this InstanceTime with another.
+     */
+    public int compareTo(Object o) {
+        InstanceTime it = (InstanceTime)o;
+        if (time == it.time) return 0;
+        if (time >  it.time) return 1;
+        return -1;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Interval.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Interval.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Interval.java
new file mode 100644
index 0000000..3551947
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/Interval.java
@@ -0,0 +1,184 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/**
+ * A class that represents an interval for a timed element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: Interval.java 492528 2007-01-04 11:45:47Z cam $
+ */
+public class Interval {
+
+    /**
+     * The begin time for the interval.
+     */
+    protected float begin;
+
+    /**
+     * The end time for the interval.
+     */
+    protected float end;
+
+    /**
+     * The InstanceTime that defined the begin time of the current interval.
+     */
+    protected InstanceTime beginInstanceTime;
+
+    /**
+     * The InstanceTime that defined the end time of the current interval.
+     */
+    protected InstanceTime endInstanceTime;
+
+    /**
+     * The list of {@link InstanceTime} objects that are dependent
+     * on the begin time of this Interval.
+     */
+    protected LinkedList beginDependents = new LinkedList();
+
+    /**
+     * The list of {@link InstanceTime} objects that are dependent
+     * on the end time of this Interval.
+     */
+    protected LinkedList endDependents = new LinkedList();
+
+    /**
+     * Creates a new Interval.
+     * @param begin the begin time of the Interval
+     * @param end the end time of the Interval
+     * @param beginInstanceTime the {@link InstanceTime} object that defined
+     *        the begin time of the Interval
+     * @param endInstanceTime the {@link InstanceTime} object that defined
+     *        the end time of the Interval
+     */
+    public Interval(float begin, float end, InstanceTime beginInstanceTime,
+                    InstanceTime endInstanceTime) {
+        // Trace.enter(this, null, new Object[] { new Float(begin), new Float(end), beginInstanceTime, endInstanceTime } ); try {
+        this.begin = begin;
+        this.end = end;
+        this.beginInstanceTime = beginInstanceTime;
+        this.endInstanceTime = endInstanceTime;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns a string representation of this Interval.
+     */
+    public String toString() {
+        return TimedElement.toString(begin) + ".." + TimedElement.toString(end);
+    }
+
+    /**
+     * Returns the begin time of this interval.
+     */
+    public float getBegin() {
+        return begin;
+    }
+
+    /**
+     * Returns the end time of this interval.
+     */
+    public float getEnd() {
+        return end;
+    }
+
+    /**
+     * Returns the {@link InstanceTime} that defined the begin time of this
+     * interval.
+     */
+    public InstanceTime getBeginInstanceTime() {
+        return beginInstanceTime;
+    }
+
+    /**
+     * Returns the {@link InstanceTime} that defined the end time of this
+     * interval.
+     */
+    public InstanceTime getEndInstanceTime() {
+        return endInstanceTime;
+    }
+
+    /**
+     * Adds a dependent InstanceTime for this Interval.
+     */
+    void addDependent(InstanceTime dependent, boolean forBegin) {
+        // Trace.enter(this, "addDependent", new Object[] { dependent, new Boolean(forBegin) } ); try {
+        if (forBegin) {
+            beginDependents.add(dependent);
+        } else {
+            endDependents.add(dependent);
+        }
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Removes a dependent InstanceTime for this Interval.
+     */
+    void removeDependent(InstanceTime dependent, boolean forBegin) {
+        // Trace.enter(this, "removeDependent", new Object[] { dependent, new Boolean(forBegin) } ); try {
+        if (forBegin) {
+            beginDependents.remove(dependent);
+        } else {
+            endDependents.remove(dependent);
+        }
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Updates the begin time for this interval.
+     */
+    float setBegin(float begin) {
+        // Trace.enter(this, "setBegin", new Object[] { new Float(begin) } ); try {
+        float minTime = Float.POSITIVE_INFINITY;
+        this.begin = begin;
+        Iterator i = beginDependents.iterator();
+        while (i.hasNext()) {
+            InstanceTime it = (InstanceTime) i.next();
+            float t = it.dependentUpdate(begin);
+            if (t < minTime) {
+                minTime = t;
+            }
+        }
+        return minTime;
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Updates the end time for this interval.
+     */
+    float setEnd(float end, InstanceTime endInstanceTime) {
+        // Trace.enter(this, "setEnd", new Object[] { new Float(end) } ); try {
+        float minTime = Float.POSITIVE_INFINITY;
+        this.end = end;
+        this.endInstanceTime = endInstanceTime;
+        Iterator i = endDependents.iterator();
+        while (i.hasNext()) {
+            InstanceTime it = (InstanceTime) i.next();
+            float t = it.dependentUpdate(end);
+            if (t < minTime) {
+                minTime = t;
+            }
+        }
+        return minTime;
+        // } finally { Trace.exit(); }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/MediaMarkerTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/MediaMarkerTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/MediaMarkerTimingSpecifier.java
new file mode 100644
index 0000000..86b3be4
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/MediaMarkerTimingSpecifier.java
@@ -0,0 +1,75 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * A class to handle media marker SMIL timing specifiers.  This class
+ * of timing specifier is currently unused.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: MediaMarkerTimingSpecifier.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class MediaMarkerTimingSpecifier extends TimingSpecifier {
+
+    /**
+     * The ID of the media element.
+     */
+    protected String syncbaseID;
+
+    /**
+     * The media element.
+     */
+    protected TimedElement mediaElement;
+
+    /**
+     * The media marker name.
+     */
+    protected String markerName;
+
+    /**
+     * The instance time.
+     */
+    protected InstanceTime instance;
+
+    /**
+     * Creates a new MediaMarkerTimingSpecifier object.
+     */
+    public MediaMarkerTimingSpecifier(TimedElement owner, boolean isBegin,
+                                      String syncbaseID, String markerName) {
+        super(owner, isBegin);
+        this.syncbaseID = syncbaseID;
+        this.markerName = markerName;
+        this.mediaElement = owner.getTimedElementById(syncbaseID);
+    }
+    
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return syncbaseID + ".marker(" + markerName + ")";
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/OffsetTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/OffsetTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/OffsetTimingSpecifier.java
new file mode 100644
index 0000000..cd12e7f
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/OffsetTimingSpecifier.java
@@ -0,0 +1,66 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+/**
+ * A class to handle offset SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: OffsetTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class OffsetTimingSpecifier extends TimingSpecifier {
+
+    /**
+     * The offset value.
+     */
+    protected float offset;
+
+    /**
+     * Creates a new OffsetTimingSpecifier object.
+     */
+    public OffsetTimingSpecifier(TimedElement owner, boolean isBegin,
+                                 float offset) {
+        super(owner, isBegin);
+        this.offset = offset;
+    }
+    
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return (offset >= 0 ? "+" : "") + offset;
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+        InstanceTime instance = new InstanceTime(this, offset, false);
+        owner.addInstanceTime(instance, isBegin);
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return false;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/RepeatTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/RepeatTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/RepeatTimingSpecifier.java
new file mode 100644
index 0000000..65d0610
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/RepeatTimingSpecifier.java
@@ -0,0 +1,83 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import org.w3c.dom.events.Event;
+import org.w3c.dom.smil.TimeEvent;
+
+/**
+ * A class to handle repeat event SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: RepeatTimingSpecifier.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class RepeatTimingSpecifier extends EventbaseTimingSpecifier {
+
+    /**
+     * The repeat iteration.
+     */
+    protected int repeatIteration;
+
+    /**
+     * Whether a repeat iteration was specified.
+     */
+    protected boolean repeatIterationSpecified;
+
+    /**
+     * Creates a new RepeatTimingSpecifier object without a repeat iteration.
+     */
+    public RepeatTimingSpecifier(TimedElement owner, boolean isBegin,
+                                 float offset, String syncbaseID) {
+        super(owner, isBegin, offset, syncbaseID,
+              owner.getRoot().getRepeatEventName());
+    }
+
+    /**
+     * Creates a new RepeatTimingSpecifier object with a repeat iteration.
+     */
+    public RepeatTimingSpecifier(TimedElement owner, boolean isBegin,
+                                 float offset, String syncbaseID,
+                                 int repeatIteration) {
+        super(owner, isBegin, offset, syncbaseID,
+              owner.getRoot().getRepeatEventName());
+        this.repeatIteration = repeatIteration;
+        this.repeatIterationSpecified = true;
+    }
+    
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return (eventbaseID == null ? "" : eventbaseID + ".") + "repeat"
+            + (repeatIterationSpecified ? "(" + repeatIteration + ")" : "")
+            + (offset != 0 ? super.toString() : "");
+    }
+
+    // EventListener /////////////////////////////////////////////////////////
+
+    /**
+     * Handles an event fired on the eventbase element.
+     */
+    public void handleEvent(Event e) {
+        TimeEvent evt = (TimeEvent) e;
+        if (!repeatIterationSpecified || evt.getDetail() == repeatIteration) {
+            super.handleEvent(e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/SyncbaseTimingSpecifier.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/SyncbaseTimingSpecifier.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/SyncbaseTimingSpecifier.java
new file mode 100644
index 0000000..b857ba8
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/SyncbaseTimingSpecifier.java
@@ -0,0 +1,136 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.lang.ref.WeakReference;
+import java.util.HashMap;
+
+/**
+ * A class to handle syncbase SMIL timing specifiers.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SyncbaseTimingSpecifier.java 580338 2007-09-28 13:13:46Z cam $
+ */
+public class SyncbaseTimingSpecifier extends OffsetTimingSpecifier {
+
+    /**
+     * The ID of the syncbase element.
+     */
+    protected String syncbaseID;
+
+    /**
+     * The syncbase element.
+     */
+    protected TimedElement syncbaseElement;
+
+    /**
+     * Whether this specifier specifies a sync to the begin or the end
+     * of the syncbase element.
+     */
+    protected boolean syncBegin;
+
+    /**
+     * Map of {@link Interval}s to <!--a {@link WeakReference} to -->an
+     * {@link InstanceTime}.
+     */
+    protected HashMap instances = new HashMap();
+
+    /**
+     * Creates a new SyncbaseTimingSpecifier object.
+     */
+    public SyncbaseTimingSpecifier(TimedElement owner, boolean isBegin,
+                                   float offset, String syncbaseID,
+                                   boolean syncBegin) {
+        super(owner, isBegin, offset);
+        // Trace.enter(this, null, new Object[] { owner, new Boolean(isBegin), new Float(offset), syncbaseID, new Boolean(syncBegin) } ); try {
+        this.syncbaseID = syncbaseID;
+        this.syncBegin = syncBegin;
+        this.syncbaseElement = owner.getTimedElementById(syncbaseID);
+        syncbaseElement.addDependent(this, syncBegin);
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Returns a string representation of this timing specifier.
+     */
+    public String toString() {
+        return syncbaseID + "." + (syncBegin ? "begin" : "end")
+            + (offset != 0 ? super.toString() : "");
+    }
+
+    /**
+     * Initializes this timing specifier by adding the initial instance time
+     * to the owner's instance time list or setting up any event listeners.
+     */
+    public void initialize() {
+    }
+
+    /**
+     * Returns whether this timing specifier is event-like (i.e., if it is
+     * an eventbase, accesskey or a repeat timing specifier).
+     */
+    public boolean isEventCondition() {
+        return false;
+    }
+
+    /**
+     * Called by the timebase element when it creates a new Interval.
+     */
+    float newInterval(Interval interval) {
+        // Trace.enter(this, "newInterval", new Object[] { interval } ); try {
+        if (owner.hasPropagated) {
+            return Float.POSITIVE_INFINITY;
+        }
+        InstanceTime instance =
+            new InstanceTime(this, (syncBegin ? interval.getBegin()
+                                              : interval.getEnd()) + offset,
+                             true);
+        instances.put(interval, instance);
+        interval.addDependent(instance, syncBegin);
+        return owner.addInstanceTime(instance, isBegin);
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Called by the timebase element when it deletes an Interval.
+     */
+    float removeInterval(Interval interval) {
+        // Trace.enter(this, "removeInterval", new Object[] { interval } ); try {
+        if (owner.hasPropagated) {
+            return Float.POSITIVE_INFINITY;
+        }
+        InstanceTime instance = (InstanceTime) instances.get(interval);
+        interval.removeDependent(instance, syncBegin);
+        return owner.removeInstanceTime(instance, isBegin);
+        // } finally { Trace.exit(); }
+    }
+
+    /**
+     * Called by an {@link InstanceTime} created by this TimingSpecifier
+     * to indicate that its value has changed.
+     */
+    float handleTimebaseUpdate(InstanceTime instanceTime, float newTime) {
+        // Trace.enter(this, "handleTimebaseUpdate", new Object[] { instanceTime, new Float(newTime) } ); try {
+        if (owner.hasPropagated) {
+            return Float.POSITIVE_INFINITY;
+        }
+        return owner.instanceTimeChanged(instanceTime, isBegin);
+        // } finally { Trace.exit(); }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimeContainer.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimeContainer.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimeContainer.java
new file mode 100644
index 0000000..96bcd73
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/anim/timing/TimeContainer.java
@@ -0,0 +1,147 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.anim.timing;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * An abstract base class for time container elements.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: TimeContainer.java 579456 2007-09-26 03:58:47Z cam $
+ */
+public abstract class TimeContainer extends TimedElement {
+
+    /**
+     * The child {@link TimedElement}s of this time container.
+     */
+    protected List children = new LinkedList();
+
+    /**
+     * Adds a {@link TimedElement} to this container.
+     */
+    public void addChild(TimedElement e) {
+        if (e == this) {
+            throw new IllegalArgumentException("recursive datastructure not allowed here!");
+        }
+        children.add(e);
+        e.parent = this;
+        setRoot(e, root);
+        root.fireElementAdded(e);
+        root.currentIntervalWillUpdate();
+    }
+
+    /**
+     * Recursively sets the {@link TimedDocumentRoot} of the given
+     * {@link TimedElement} and any of its descendants.
+     */
+    protected void setRoot(TimedElement e, TimedDocumentRoot root) {
+        e.root = root;
+        if (e instanceof TimeContainer) {
+            TimeContainer c = (TimeContainer) e;
+            Iterator it = c.children.iterator();
+            while (it.hasNext()) {
+                TimedElement te = (TimedElement)it.next();
+                setRoot(te, root);
+            }
+        }
+    }
+
+    /**
+     * Removes a {@link TimedElement} from this container.
+     */
+    public void removeChild(TimedElement e) {
+        children.remove(e);
+        e.parent = null;
+        setRoot(e, null);
+        root.fireElementRemoved(e);
+        root.currentIntervalWillUpdate();
+    }
+
+    /**
+     * Returns an array of the children of this container.
+     */
+    public TimedElement[] getChildren() {
+        return (TimedElement[]) children.toArray(new TimedElement[0]);
+    }
+
+    /**
+     * Calculates the local simple time.  Currently the hyperlinking parameter
+     * is ignored, so DOM timing events are fired during hyperlinking seeks.
+     * If we were following SMIL 2.1 rather than SMIL Animation, then these
+     * events would have to be surpressed.
+     *
+     * @return the number of seconds until this element becomes active again
+     *         if it currently is not, {@link Float#POSITIVE_INFINITY} if this
+     *         element will become active at some undetermined point in the
+     *         future (because of unresolved begin times, for example) or
+     *         will never become active again, or <code>0f</code> if the
+     *         element is currently active.
+     */
+    protected float sampleAt(float parentSimpleTime, boolean hyperlinking) {
+        super.sampleAt(parentSimpleTime, hyperlinking);
+        // Maybe check the return value of the previous statement.
+        return sampleChildren(parentSimpleTime, hyperlinking);
+    }
+
+    /**
+     * Samples all the child timed elements.
+     */
+    protected float sampleChildren(float parentSimpleTime,
+                                   boolean hyperlinking) {
+        float mint = Float.POSITIVE_INFINITY;
+        Iterator i = children.iterator();
+        while (i.hasNext()) {
+            TimedElement e = (TimedElement) i.next();
+            float t = e.sampleAt(parentSimpleTime, hyperlinking);
+            if (t < mint) {
+                mint = t;
+            }
+        }
+        return mint;
+    }
+
+    /**
+     * Resets this element.
+     */
+    protected void reset(boolean clearCurrentBegin) {
+        super.reset(clearCurrentBegin);
+        Iterator i = children.iterator();
+        while (i.hasNext()) {
+            TimedElement e = (TimedElement) i.next();
+            e.reset(clearCurrentBegin);
+        }
+    }
+
+    /**
+     * Returns whether this timed element is for a constant animation (i.e., a
+     * 'set' animation.
+     */
+    protected boolean isConstantAnimation() {
+        return false;
+    }
+
+    /**
+     * Returns the default begin time for the given child
+     * timed element.
+     */
+    public abstract float getDefaultBegin(TimedElement child);
+}


[16/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateTransformElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateTransformElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateTransformElementBridge.java
new file mode 100644
index 0000000..9b6e33a
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateTransformElementBridge.java
@@ -0,0 +1,286 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.util.ArrayList;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.TransformAnimation;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableTransformListValue;
+import org.apache.flex.forks.batik.dom.svg.SVGOMTransform;
+import org.apache.flex.forks.batik.util.SVGTypes;
+
+import org.w3c.dom.svg.SVGTransform;
+
+/**
+ * Bridge class for the 'animateTransform' animation element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimateTransformElementBridge.java 496029 2007-01-14 04:00:34Z cam $
+ */
+public class SVGAnimateTransformElementBridge extends SVGAnimateElementBridge {
+
+    /**
+     * Returns 'animateTransform'.
+     */
+    public String getLocalName() {
+        return SVG_ANIMATE_TRANSFORM_TAG;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGAnimateTransformElementBridge();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected AbstractAnimation createAnimation(AnimationTarget target) {
+        short type = parseType();
+        AnimatableValue from = null, to = null, by = null;
+        if (element.hasAttributeNS(null, SVG_FROM_ATTRIBUTE)) {
+            from = parseValue(element.getAttributeNS(null, SVG_FROM_ATTRIBUTE),
+                              type, target);
+        }
+        if (element.hasAttributeNS(null, SVG_TO_ATTRIBUTE)) {
+            to = parseValue(element.getAttributeNS(null, SVG_TO_ATTRIBUTE),
+                            type, target);
+        }
+        if (element.hasAttributeNS(null, SVG_BY_ATTRIBUTE)) {
+            by = parseValue(element.getAttributeNS(null, SVG_BY_ATTRIBUTE),
+                            type, target);
+        }
+        return new TransformAnimation(timedElement,
+                                      this,
+                                      parseCalcMode(),
+                                      parseKeyTimes(),
+                                      parseKeySplines(),
+                                      parseAdditive(),
+                                      parseAccumulate(),
+                                      parseValues(type, target),
+                                      from,
+                                      to,
+                                      by,
+                                      type);
+    }
+
+    /**
+     * Returns the parsed 'type' attribute from the animation element.
+     */
+    protected short parseType() {
+        String typeString = element.getAttributeNS(null, SVG_TYPE_ATTRIBUTE);
+        if (typeString.equals("translate")) {
+            return SVGTransform.SVG_TRANSFORM_TRANSLATE;
+        } else if (typeString.equals("scale")) {
+            return SVGTransform.SVG_TRANSFORM_SCALE;
+        } else if (typeString.equals("rotate")) {
+            return SVGTransform.SVG_TRANSFORM_ROTATE;
+        } else if (typeString.equals("skewX")) {
+            return SVGTransform.SVG_TRANSFORM_SKEWX;
+        } else if (typeString.equals("skewY")) {
+            return SVGTransform.SVG_TRANSFORM_SKEWY;
+        }
+        throw new BridgeException
+            (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] { SVG_TYPE_ATTRIBUTE, typeString });
+    }
+
+    /**
+     * Parses a transform value.
+     */
+    protected AnimatableValue parseValue(String s, short type,
+                                         AnimationTarget target) {
+        float val1, val2 = 0, val3 = 0;
+        int i = 0;
+        char c = ',';
+        int len = s.length();
+        while (i < len) {
+            c = s.charAt(i);
+            if (c == ' ' || c == ',') {
+                break;
+            }
+            i++;
+        }
+        val1 = Float.parseFloat(s.substring(0, i));
+        if (i < len) {
+            i++;
+        }
+        int count = 1;
+        if (i < len && c == ' ') {
+            while (i < len) {
+                c = s.charAt(i);
+                if (c != ' ') {
+                    break;
+                }
+                i++;
+            }
+            if (c == ',') {
+                i++;
+            }
+        }
+        while (i < len && s.charAt(i) == ' ') {
+            i++;
+        }
+        int j = i;
+        if (i < len
+                && type != SVGTransform.SVG_TRANSFORM_SKEWX
+                && type != SVGTransform.SVG_TRANSFORM_SKEWY) {
+            while (i < len) {
+                c = s.charAt(i);
+                if (c == ' ' || c == ',') {
+                    break;
+                }
+                i++;
+            }
+            val2 = Float.parseFloat(s.substring(j, i));
+            if (i < len) {
+                i++;
+            }
+            count++;
+            if (i < len && c == ' ') {
+                while (i < len) {
+                    c = s.charAt(i);
+                    if (c != ' ') {
+                        break;
+                    }
+                    i++;
+                }
+                if (c == ',') {
+                    i++;
+                }
+            }
+            while (i < len && s.charAt(i) == ' ') {
+                i++;
+            }
+            j = i;
+            if (i < len && type == SVGTransform.SVG_TRANSFORM_ROTATE) {
+                while (i < len) {
+                    c = s.charAt(i);
+                    if (c == ',' || c == ' ') {
+                        break;
+                    }
+                    i++;
+                }
+                val3 = Float.parseFloat(s.substring(j, i));
+                if (i < len) {
+                    i++;
+                }
+                count++;
+                while (i < len && s.charAt(i) == ' ') {
+                    i++;
+                }
+            }
+        }
+
+        if (i != len) {
+            return null;
+        }
+
+        SVGOMTransform t = new SVGOMTransform();
+        switch (type) {
+            case SVGTransform.SVG_TRANSFORM_TRANSLATE:
+                if (count == 2) {
+                    t.setTranslate(val1, val2);
+                } else {
+                    t.setTranslate(val1, 0f);
+                }
+                break;
+            case SVGTransform.SVG_TRANSFORM_SCALE:
+                if (count == 2) {
+                    t.setScale(val1, val2);
+                } else {
+                    t.setScale(val1, val1);
+                }
+                break;
+            case SVGTransform.SVG_TRANSFORM_ROTATE:
+                if (count == 3) {
+                    t.setRotate(val1, val2, val3);
+                } else {
+                    t.setRotate(val1, 0f, 0f);
+                }
+                break;
+            case SVGTransform.SVG_TRANSFORM_SKEWX:
+                t.setSkewX(val1);
+                break;
+            case SVGTransform.SVG_TRANSFORM_SKEWY:
+                t.setSkewY(val1);
+                break;
+        }
+        return new AnimatableTransformListValue(target, t);
+    }
+
+    /**
+     * Returns the parsed 'values' attribute from the animation element.
+     */
+    protected AnimatableValue[] parseValues(short type,
+                                            AnimationTarget target) {
+        String valuesString = element.getAttributeNS(null,
+                                                     SVG_VALUES_ATTRIBUTE);
+        int len = valuesString.length();
+        if (len == 0) {
+            return null;
+        }
+        ArrayList values = new ArrayList(7);
+        int i = 0, start = 0, end;
+        char c;
+outer:  while (i < len) {
+            while (valuesString.charAt(i) == ' ') {
+                i++;
+                if (i == len) {
+                    break outer;
+                }
+            }
+            start = i++;
+            if (i < len) {
+                c = valuesString.charAt(i);
+                while (c != ';') {
+                    i++;
+                    if (i == len) {
+                        break;
+                    }
+                    c = valuesString.charAt(i);
+                }
+            }
+            end = i++;
+            String valueString = valuesString.substring(start, end);
+            AnimatableValue value = parseValue(valueString, type, target);
+            if (value == null) {
+                throw new BridgeException
+                    (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] { SVG_VALUES_ATTRIBUTE, valuesString });
+            }
+            values.add(value);
+        }
+        AnimatableValue[] ret = new AnimatableValue[values.size()];
+        return (AnimatableValue[]) values.toArray(ret);
+    }
+
+    /**
+     * Returns whether the animation element being handled by this bridge can
+     * animate attributes of the specified type.
+     * @param type one of the TYPE_ constants defined in {@link SVGTypes}.
+     */
+    protected boolean canAnimateType(int type) {
+        return type == SVGTypes.TYPE_TRANSFORM_LIST;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationElementBridge.java
new file mode 100644
index 0000000..c3766e0
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimationElementBridge.java
@@ -0,0 +1,655 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+
+import java.util.Calendar;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.anim.AnimationEngine;
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.anim.AnimatableElement;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.dom.anim.AnimationTargetListener;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.SVGAnimationContext;
+import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.util.XLinkSupport;
+import org.apache.flex.forks.batik.util.SVGTypes;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.events.MutationEvent;
+import org.w3c.dom.svg.SVGElement;
+
+/**
+ * An abstract base class for the SVG animation element bridges.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimationElementBridge.java 580684 2007-09-30 09:05:57Z cam $
+ */
+public abstract class SVGAnimationElementBridge extends AbstractSVGBridge
+        implements GenericBridge,
+                   BridgeUpdateHandler,
+                   SVGAnimationContext,
+                   AnimatableElement {
+
+    /**
+     * The animation element.
+     */
+    protected SVGOMElement element;
+
+    /**
+     * The BridgeContext to be used.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * The AnimationEngine that manages all of the animations in the document.
+     */
+    protected SVGAnimationEngine eng;
+
+    /**
+     * The TimedElement object that provides the timing for the animation.
+     */
+    protected TimedElement timedElement;
+
+    /**
+     * The animation object that provides the values for the animation.
+     */
+    protected AbstractAnimation animation;
+
+    /**
+     * The namespace URI of the attribute being animated.
+     */
+    protected String attributeNamespaceURI;
+
+    /**
+     * The local name of the attribute or the name of the property being
+     * animated.
+     */
+    protected String attributeLocalName;
+
+    /**
+     * The animation type.  Must be one of the <code>ANIM_TYPE_*</code>
+     * constants defined in {@link AnimationEngine}.
+     */
+    protected short animationType;
+
+    /**
+     * The target element of the animation.
+     */
+    protected SVGOMElement targetElement;
+
+    /**
+     * The AnimationTarget the provides a context to the animation engine.
+     */
+    protected AnimationTarget animationTarget;
+
+    /**
+     * Returns the TimedElement for the animation.
+     */
+    public TimedElement getTimedElement() {
+        return timedElement;
+    }
+
+    // AnimatableElement /////////////////////////////////////////////////////
+
+    /**
+     * Returns the underlying value of the animated attribute.  Used for
+     * composition of additive animations.  This should be overridden in
+     * descendant classes that are for 'other' animations.
+     */
+    public AnimatableValue getUnderlyingValue() {
+        if (animationType == AnimationEngine.ANIM_TYPE_XML) {
+            return animationTarget.getUnderlyingValue(attributeNamespaceURI,
+                                                      attributeLocalName);
+        } else {
+            return eng.getUnderlyingCSSValue(element,
+                                             animationTarget,
+                                             attributeLocalName);
+        }
+    }
+
+    // GenericBridge /////////////////////////////////////////////////////////
+
+    /**
+     * Handles this animation element.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element being handled
+     */
+    public void handleElement(BridgeContext ctx, Element e) {
+        if (ctx.isDynamic() && BridgeContext.getSVGContext(e) == null) {
+            SVGAnimationElementBridge b =
+                (SVGAnimationElementBridge) getInstance();
+            b.element = (SVGOMElement) e;
+            b.ctx = ctx;
+            b.eng = ctx.getAnimationEngine();
+            b.element.setSVGContext(b);
+            if (b.eng.hasStarted()) {
+                b.initializeAnimation();
+                b.initializeTimedElement();
+            } else {
+                b.eng.addInitialBridge(b);
+            }
+        }
+    }
+
+    /**
+     * Parses the animation element's target attributes and adds it to the
+     * document's AnimationEngine.
+     */
+    protected void initializeAnimation() {
+        // Determine the target element.
+        String uri = XLinkSupport.getXLinkHref(element);
+        Node t;
+        if (uri.length() == 0) {
+            t = element.getParentNode();
+        } else {
+            t = ctx.getReferencedElement(element, uri);
+            if (t.getOwnerDocument() != element.getOwnerDocument()) {
+                throw new BridgeException
+                    (ctx, element, ErrorConstants.ERR_URI_BAD_TARGET,
+                     new Object[] { uri });
+            }
+        }
+        animationTarget = null;
+        if (t instanceof SVGOMElement) {
+            targetElement = (SVGOMElement) t;
+            animationTarget = targetElement;
+        }
+        if (animationTarget == null) {
+            throw new BridgeException
+                (ctx, element, ErrorConstants.ERR_URI_BAD_TARGET,
+                 new Object[] { uri });
+        }
+
+        // Get the attribute/property name.
+        String an = element.getAttributeNS(null, SVG_ATTRIBUTE_NAME_ATTRIBUTE);
+        int ci = an.indexOf(':');
+        if (ci == -1) {
+            if (element.hasProperty(an)) {
+                animationType = AnimationEngine.ANIM_TYPE_CSS;
+                attributeLocalName = an;
+            } else {
+                animationType = AnimationEngine.ANIM_TYPE_XML;
+                attributeLocalName = an;
+            }
+        } else {
+            animationType = AnimationEngine.ANIM_TYPE_XML;
+            String prefix = an.substring(0, ci);
+            attributeNamespaceURI = element.lookupNamespaceURI(prefix);
+            attributeLocalName = an.substring(ci + 1);
+        }
+        if (animationType == AnimationEngine.ANIM_TYPE_CSS
+                && !targetElement.isPropertyAnimatable(attributeLocalName)
+            || animationType == AnimationEngine.ANIM_TYPE_XML
+                && !targetElement.isAttributeAnimatable(attributeNamespaceURI,
+                                                        attributeLocalName)) {
+            throw new BridgeException
+                (ctx, element, "attribute.not.animatable",
+                 new Object[] { targetElement.getNodeName(), an });
+        }
+
+        // Check that the attribute/property is animatable with this
+        // animation element.
+        int type;
+        if (animationType == AnimationEngine.ANIM_TYPE_CSS) {
+            type = targetElement.getPropertyType(attributeLocalName);
+        } else {
+            type = targetElement.getAttributeType(attributeNamespaceURI,
+                                                  attributeLocalName);
+        }
+        if (!canAnimateType(type)) {
+            throw new BridgeException
+                (ctx, element, "type.not.animatable",
+                 new Object[] { targetElement.getNodeName(), an,
+                                element.getNodeName() });
+        }
+
+        // Add the animation.
+        timedElement = createTimedElement();
+        animation = createAnimation(animationTarget);
+        eng.addAnimation(animationTarget, animationType, attributeNamespaceURI,
+                         attributeLocalName, animation);
+    }
+
+    /**
+     * Returns whether the animation element being handled by this bridge can
+     * animate attributes of the specified type.
+     * @param type one of the TYPE_ constants defined in {@link SVGTypes}.
+     */
+    protected abstract boolean canAnimateType(int type);
+
+    /**
+     * Returns whether the specified {@link AnimatableValue} is of a type allowed
+     * by this animation.
+     */
+    protected boolean checkValueType(AnimatableValue v) {
+        return true;
+    }
+
+    /**
+     * Parses the animation element's timing attributes and initializes the
+     * {@link TimedElement} object.
+     */
+    protected void initializeTimedElement() {
+        initializeTimedElement(timedElement);
+        timedElement.initialize();
+    }
+
+    /**
+     * Creates a TimedElement for the animation element.
+     */
+    protected TimedElement createTimedElement() {
+        return new SVGTimedElement();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected abstract AbstractAnimation createAnimation(AnimationTarget t);
+
+    /**
+     * Parses an attribute as an AnimatableValue.
+     */
+    protected AnimatableValue parseAnimatableValue(String an) {
+        if (!element.hasAttributeNS(null, an)) {
+            return null;
+        }
+        String s = element.getAttributeNS(null, an);
+        AnimatableValue val = eng.parseAnimatableValue
+            (element, animationTarget, attributeNamespaceURI,
+             attributeLocalName, animationType == AnimationEngine.ANIM_TYPE_CSS,
+             s);
+        if (!checkValueType(val)) {
+            throw new BridgeException
+                (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] { an, s });
+        }
+        return val;
+    }
+
+    /**
+     * Initializes the timing attributes of the timed element.
+     */
+    protected void initializeTimedElement(TimedElement timedElement) {
+        timedElement.parseAttributes
+            (element.getAttributeNS(null, "begin"),
+             element.getAttributeNS(null, "dur"),
+             element.getAttributeNS(null, "end"),
+             element.getAttributeNS(null, "min"),
+             element.getAttributeNS(null, "max"),
+             element.getAttributeNS(null, "repeatCount"),
+             element.getAttributeNS(null, "repeatDur"),
+             element.getAttributeNS(null, "fill"),
+             element.getAttributeNS(null, "restart"));
+    }
+
+    // BridgeUpdateHandler ///////////////////////////////////////////////////
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
+     */
+    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
+     */
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
+     */
+    public void handleDOMNodeRemovedEvent(MutationEvent evt) {
+        element.setSVGContext(null);
+        dispose();
+    }
+
+    /**
+     * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+     * is fired.
+     */
+    public void handleDOMCharacterDataModified(MutationEvent evt) {
+    }
+
+    /**
+     * Invoked when an CSSEngineEvent is fired.
+     */
+    public void handleCSSEngineEvent(CSSEngineEvent evt) {
+    }
+
+    /**
+     * Invoked when the animated value of an animatable attribute has changed.
+     */
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+    }
+
+    /**
+     * Invoked when an 'other' animation value has changed.
+     */
+    public void handleOtherAnimationChanged(String type) {
+    }
+
+    /**
+     * Disposes this BridgeUpdateHandler and releases all resources.
+     */
+    public void dispose() {
+        if (element.getSVGContext() == null) {
+            // Only remove the animation if this is not part of a rebuild.
+            eng.removeAnimation(animation);
+            timedElement.deinitialize();
+            timedElement = null;
+            element = null;
+        }
+    }
+
+    // SVGContext ///////////////////////////////////////////////////////////
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     */
+    public float getPixelUnitToMillimeter() {
+        return ctx.getUserAgent().getPixelUnitToMillimeter();
+    }
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     * This will be removed after next release.
+     * @see #getPixelUnitToMillimeter()
+     */
+    public float getPixelToMM() {
+        return getPixelUnitToMillimeter();
+            
+    }
+
+    public Rectangle2D getBBox() { return null; }
+    public AffineTransform getScreenTransform() { 
+        return ctx.getUserAgent().getTransform();
+    }
+    public void setScreenTransform(AffineTransform at) { 
+        ctx.getUserAgent().setTransform(at);
+    }
+    public AffineTransform getCTM() { return null; }
+    public AffineTransform getGlobalTransform() { return null; }
+    public float getViewportWidth() {
+        return ctx.getBlockWidth(element);
+    }
+    public float getViewportHeight() {
+        return ctx.getBlockHeight(element);
+    }
+    public float getFontSize() { return 0; }
+    public float svgToUserSpace(float v, int type, int pcInterp) {
+        return 0;
+    }
+
+    /**
+     * Adds a listener for changes to the given attribute value.
+     */
+    public void addTargetListener(String pn, AnimationTargetListener l) {
+    }
+
+    /**
+     * Removes a listener for changes to the given attribute value.
+     */
+    public void removeTargetListener(String pn, AnimationTargetListener l) {
+    }
+
+    // SVGAnimationContext ///////////////////////////////////////////////////
+
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.svg.SVGAnimationElement#getTargetElement()}.
+     */
+    public SVGElement getTargetElement() {
+        return targetElement;
+    }
+
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.svg.SVGAnimationElement#getStartTime()}.
+     */
+    public float getStartTime() {
+        return timedElement.getCurrentBeginTime();
+    }
+
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.svg.SVGAnimationElement#getCurrentTime()}.
+     */
+    public float getCurrentTime() {
+        return timedElement.getLastSampleTime();
+    }
+
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.svg.SVGAnimationElement#getSimpleDuration()}.  With the
+     * difference that an indefinite simple duration is returned as
+     * {@link TimedElement#INDEFINITE}, rather than throwing an exception.
+     */
+    public float getSimpleDuration() {
+        return timedElement.getSimpleDur();
+    }
+
+    /**
+     * Returns the time that the document would seek to if this animation
+     * element were hyperlinked to, or <code>NaN</code> if there is no
+     * such begin time.
+     */
+    public float getHyperlinkBeginTime() {
+        return timedElement.getHyperlinkBeginTime();
+    }
+
+    // ElementTimeControl ////////////////////////////////////////////////////
+
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.smil.ElementTimeControl#beginElement()}.
+     */
+    public boolean beginElement() throws DOMException {
+        timedElement.beginElement();
+        return timedElement.canBegin();
+    }
+    
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.smil.ElementTimeControl#beginElementAt(float)}.
+     */
+    public boolean beginElementAt(float offset) throws DOMException {
+        timedElement.beginElement(offset);
+        // XXX Not right, but who knows if it is possible to begin
+        //     at some arbitrary point in the future.
+        return true;
+    }
+    
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.smil.ElementTimeControl#endElement()}.
+     */
+    public boolean endElement() throws DOMException {
+        timedElement.endElement();
+        return timedElement.canEnd();
+    }
+    
+    /**
+     * <b>DOM</b>: Implements {@link
+     * org.w3c.dom.smil.ElementTimeControl#endElementAt(float)}.
+     */
+    public boolean endElementAt(float offset) throws DOMException {
+        timedElement.endElement(offset);
+        // XXX Not right, but who knows if it is possible to begin
+        //     at some arbitrary point in the future.
+        return true;
+    }
+
+    /**
+     * Returns whether this is a constant animation (i.e., a 'set' animation).
+     */
+    protected boolean isConstantAnimation() {
+        return false;
+    }
+
+    /**
+     * A TimedElement class for SVG animation elements.
+     */
+    protected class SVGTimedElement extends TimedElement {
+
+        /**
+         * Returns the DOM element this timed element is for.
+         */
+        public Element getElement() {
+            return element;
+        }
+
+        /**
+         * Fires a TimeEvent of the given type on this element.
+         * @param eventType the type of TimeEvent ("beginEvent", "endEvent"
+         *                  or "repeatEvent").
+         * @param time the timestamp of the event object
+         */
+        protected void fireTimeEvent(String eventType, Calendar time,
+                                     int detail) {
+            AnimationSupport.fireTimeEvent(element, eventType, time, detail);
+        }
+
+        /**
+         * Invoked to indicate this timed element became active at the
+         * specified time.
+         * @param begin the time the element became active, in document
+         *              simple time
+         */
+        protected void toActive(float begin) {
+            eng.toActive(animation, begin);
+        }
+
+        /**
+         * Invoked to indicate that this timed element became inactive.
+         * @param stillActive if true, indicates that the element is still
+         *                    actually active, but between the end of the
+         *                    computed repeat duration and the end of the
+         *                    interval
+         * @param isFrozen whether the element is frozen or not
+         */
+        protected void toInactive(boolean stillActive, boolean isFrozen) {
+            eng.toInactive(animation, isFrozen);
+        }
+
+        /**
+         * Invoked to indicate that this timed element has had its fill removed.
+         */
+        protected void removeFill() {
+            eng.removeFill(animation);
+        }
+
+        /**
+         * Invoked to indicate that this timed element has been sampled at the
+         * given time.
+         * @param simpleTime the sample time in local simple time
+         * @param simpleDur the simple duration of the element
+         * @param repeatIteration the repeat iteration during which the element
+         *                        was sampled
+         */
+        protected void sampledAt(float simpleTime, float simpleDur,
+                                 int repeatIteration) {
+            eng.sampledAt(animation, simpleTime, simpleDur, repeatIteration);
+        }
+
+        /**
+         * Invoked to indicate that this timed element has been sampled
+         * at the end of its active time, at an integer multiple of the
+         * simple duration.  This is the "last" value that will be used
+         * for filling, which cannot be sampled normally.
+         */
+        protected void sampledLastValue(int repeatIteration) {
+            eng.sampledLastValue(animation, repeatIteration);
+        }
+
+        /**
+         * Returns the timed element with the given ID.
+         */
+        protected TimedElement getTimedElementById(String id) {
+            return AnimationSupport.getTimedElementById(id, element);
+        }
+
+        /**
+         * Returns the event target with the given ID.
+         */
+        protected EventTarget getEventTargetById(String id) {
+            return AnimationSupport.getEventTargetById(id, element);
+        }
+
+        /**
+         * Returns the event target that should be listened to for
+         * access key events.
+         */
+        protected EventTarget getRootEventTarget() {
+            return (EventTarget) element.getOwnerDocument();
+        }
+
+        /**
+         * Returns the target of this animation as an {@link EventTarget}.  Used
+         * for eventbase timing specifiers where the element ID is omitted.
+         */
+        protected EventTarget getAnimationEventTarget() {
+            return targetElement;
+        }
+
+        /**
+         * Returns whether this timed element comes before the given timed
+         * element in document order.
+         */
+        public boolean isBefore(TimedElement other) {
+            Element e = ((SVGTimedElement) other).getElement();
+            int pos = ((AbstractNode) element).compareDocumentPosition(e);
+            return (pos & AbstractNode.DOCUMENT_POSITION_PRECEDING) != 0;
+        }
+
+        /**
+         * Returns a string representation of this animation.
+         */
+        public String toString() {
+            if (element != null) {
+                String id = element.getAttributeNS(null, "id");
+                if (id.length() != 0) {
+                    return id;
+                }
+            }
+            return super.toString();
+        }
+
+        /**
+         * Returns whether this timed element is for a constant animation (i.e.,
+         * a 'set' animation.
+         */
+        protected boolean isConstantAnimation() {
+            return SVGAnimationElementBridge.this.isConstantAnimation();
+        }
+    }
+}


[32/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
index b34f13f..29d0131 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/svggen/font/resources/Messages.properties
@@ -1,27 +1,31 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 SVGFont.config.usage = \
-usage: java org.apache.flex.forks.batik.svggen.font.SVGFont <ttf-path> [-l <range-begin>] [-h <range-end>] [-autorange] [-ascii] [-id <id>] [-o <output-path>] [-testcard]
+usage: java org.apache.batik.svggen.font.SVGFont <ttf-path> [-l <range-begin>] [-h <range-end>] [-autorange] [-ascii] [-id <id>] [-o <output-path>] [-testcard]
 
 SVGFont.config.svg.begin = \
 <?xml version="1.0" standalone="no"?> \
 <!DOCTYPE svg PUBLIC "{0}" \
 "{1}" > \
-<svg width="100%" height="100%">
+<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
 
 SVGFont.config.svg.test.card.start = \
 <g style="font-family:' 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/Messages.properties
deleted file mode 100644
index a1ca7a6..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/Messages.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
-#
-# ToolTip formatting
-#
-JSVGCanvas.CanvasUserAgent.ToolTip.titleOnly = \
-<html><body><b><i>{0}</i></b></body></html>
-
-JSVGCanvas.CanvasUserAgent.ToolTip.descOnly = \
-<html><body><tt>{0}</tt></body></html>
-
-JSVGCanvas.CanvasUserAgent.ToolTip.titleAndDesc = \
-<html><body><b><i>{0}</i></b><br><tt>{1}</tt></body></html>
-
-
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor16x16.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor16x16.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor16x16.gif
deleted file mode 100644
index 446c7fd..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor16x16.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor32x32.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor32x32.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor32x32.gif
deleted file mode 100644
index b333d77..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikColor32x32.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono16x16.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono16x16.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono16x16.gif
deleted file mode 100644
index 514a43e..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono16x16.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono32x32.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono32x32.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono32x32.gif
deleted file mode 100644
index 8a5b6ff..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/resources/batikMono32x32.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/svg/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/svg/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/svg/resources/Messages.properties
deleted file mode 100644
index 6c02edc..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/swing/svg/resources/Messages.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
-script.alert = \
-Script alert:\n{0}
-
-script.confirm = \
-Script confirm:\n{0}
-
-script.prompt = \
-Script prompt:\n{0}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/transcoder/image/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/transcoder/image/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/transcoder/image/resources/Messages.properties
index f7416d9..c755543 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/transcoder/image/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/transcoder/image/resources/Messages.properties
@@ -1,23 +1,25 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The error messages for the image transcoder.
 #
 # Author: Thierry Kormann
-#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 notsvg = \
 The specified XML document fragment is not an SVG document

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/CSSMediaPanel.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/CSSMediaPanel.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/CSSMediaPanel.properties
index 3e7c862..00f767d 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/CSSMediaPanel.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/CSSMediaPanel.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2001  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,13 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The resources for the location bar
 #
 # Author: tkormann@ilog.fr
-# $Id: CSSMediaPanel.properties,v 1.3 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: CSSMediaPanel.properties 496986 2007-01-17 10:50:57Z cam $
+# -----------------------------------------------------------------------------
 
 OKButton.text     = OK
 OKButton.mnemonic = O
@@ -44,7 +43,7 @@ ClearButton.action   = ClearButtonAction
 
 Panel.title = CSS Media
 
-Media.list = all aural braille embossed handheld print projection screen tty tv 
+Media.list = aural braille embossed handheld print projection screen tty tv 
 AddMediumDialog.title = Add a new CSS medium
 AddMediumDialog.label = Medium Name: 
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/DOMViewerMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/DOMViewerMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/DOMViewerMessages.properties
deleted file mode 100644
index ab2485e..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/DOMViewerMessages.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-###############################################################################
-#
-#   Copyright 2000  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-###############################################################################
-#
-# Properties for the DOM viewer
-#
-# Author: stephane@hillion.org
-# $Id: DOMViewerMessages.properties,v 1.5 2004/08/18 07:11:32 vhardy Exp $
-#
-
-DOMViewer.title = Document Tree
-DOMViewerPanel.title = DOM Viewer 
-
-CDataPanel.title = CharacterData Node Value
-
-DocumentInfoPanel.title = Document Informations
-
-AttributesPanel.title = Element Attributes 
-CSSValuesPanel.title = Element Cascaded CSS Properties
-
-SplitPane.dividerLocation = 220
-EmptyDocument.text = <Empty document>
-
-AttributesTable.column1 = Name
-AttributesTable.column2 = Value
-
-CSSValuesTable.column1 = Name
-CSSValuesTable.column2 = Value
-
-Element.icon = resources/element.gif
-Comment.icon = resources/comment.gif
-PI.icon = resources/pi.gif
-Text.icon = resources/text.gif
-
-Frame.title  = DOM Viewer
-Frame.width  = 700
-Frame.height = 500
-
-CloseButton.text     = Close
-CloseButton.mnemonic = C
-CloseButton.tooltip  = Close the tree view frame
-CloseButton.action   = CloseButtonAction

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/JErrorPane.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/JErrorPane.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/JErrorPane.properties
index 41cb6bb..0677cdd 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/JErrorPane.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/JErrorPane.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2001-2002  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,13 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The resources for the JErrorPane
 #
 # Author: tkormann@ilog.fr
-# $Id: JErrorPane.properties,v 1.5 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: JErrorPane.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 Heading.text = SVG Error:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LanguageDialogMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LanguageDialogMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LanguageDialogMessages.properties
index 2b83c7d..a477b25 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LanguageDialogMessages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LanguageDialogMessages.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000,2003  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,17 +15,16 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-################################################################################
 # The resource file for the language dialog.
 #
 # stephane@hillion.org
-# $Id: LanguageDialogMessages.properties,v 1.5 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: LanguageDialogMessages.properties 496986 2007-01-17 10:50:57Z cam $
+# -----------------------------------------------------------------------------
 
 Dialog.title  = Language Options
 Panel.title = User Languages Selection
-Languages.title = Available Languages
-User.title = User Languages
+Languages.title = Available languages:
+User.title = User languages:
 
 InfoLabel.text = The user languages are used while processing \
 the SVG switch element.
@@ -168,7 +168,7 @@ fj.icon = resources/flags/flag_fj.gif
 
 fo.text = Faeroese (fo)
 fo.icon = resources/flags/flag_fo.gif
-	
+
 fr.text = French (fr)
 fr.icon = resources/flags/flag_fr.gif
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LocationBar.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LocationBar.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LocationBar.properties
index 4016880..fb1cae4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LocationBar.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/LocationBar.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,13 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The resources for the location bar
 #
 # Author: stephane@hillion.org
-# $Id: LocationBar.properties,v 1.4 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: LocationBar.properties 498555 2007-01-22 08:09:33Z cam $
+# -----------------------------------------------------------------------------
 
 Panel.label = Location:
-Panel.icon  = resources/web.gif
+Panel.icon  = resources/text-html.png

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/MemoryMonitorMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/MemoryMonitorMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/MemoryMonitorMessages.properties
index fb63aea..09a51ce 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/MemoryMonitorMessages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/MemoryMonitorMessages.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000-2001  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,13 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The resources for the memory monitor components.
 #
 # stephane@hillion.org
-# $Id: MemoryMonitorMessages.properties,v 1.5 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: MemoryMonitorMessages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 Frame.title = Memory Monitor
 Frame.border_title = Memory Usage & History

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/ScrollablePopupMenuMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/ScrollablePopupMenuMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/ScrollablePopupMenuMessages.properties
new file mode 100644
index 0000000..c2f4157
--- /dev/null
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/ScrollablePopupMenuMessages.properties
@@ -0,0 +1,27 @@
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id$
+# -----------------------------------------------------------------------------
+
+PreferredHeight = 218
+
+ScrollPane.minWidth = 240
+ScrollPane.minHeight = 40
+ScrollPane.maxWidth = 1200
+ScrollPane.maxHeight = 400
+

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/URIChooserMessages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/URIChooserMessages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/URIChooserMessages.properties
index e85899a..069e269 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/URIChooserMessages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/URIChooserMessages.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,13 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # URI Chooser properties file
 #
 # Author: stephane@hillion.org
-# $Id: URIChooserMessages.properties,v 1.4 2004/08/18 07:11:32 vhardy Exp $
-#
+# $Id: URIChooserMessages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 Dialog.title  = Select a path
 Dialog.label  = Choose an URI or a local file:

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/UserStyleDialog.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/UserStyleDialog.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/UserStyleDialog.properties
index efd3b60..a78667b 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/UserStyleDialog.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/UserStyleDialog.properties
@@ -1,25 +1,25 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The resource file for the user style dialog.
 #
 # Author: stephane@hillion.org
-# $Id: UserStyleDialog.properties,v 1.3 2005/04/01 02:28:10 deweese Exp $
-#
+# $Id: UserStyleDialog.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 Dialog.title  = Style Options
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/comment.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/comment.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/comment.gif
deleted file mode 100644
index 24dd205..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/comment.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/element.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/element.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/element.gif
deleted file mode 100644
index 2a99412..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/element.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/pi.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/pi.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/pi.gif
deleted file mode 100644
index c7e509a..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/pi.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text-html.png
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text-html.png b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text-html.png
new file mode 100644
index 0000000..51beaff
Binary files /dev/null and b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text-html.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text.gif
deleted file mode 100644
index 55df542..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/text.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/web.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/web.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/web.gif
deleted file mode 100644
index c476798..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/gui/resources/web.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/io/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/io/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/io/resources/Messages.properties
index 8636844..f0983c3 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/io/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/io/resources/Messages.properties
@@ -1,21 +1,24 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The error messages for the IO utilities.
 #
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 invalid.char = \
 The input stream represents an invalid {0} stream.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/Messages.properties
index 536817b..91f6e3e 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/Messages.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000,2002  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,11 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-################################################################################
 # The error messages for the utility package
 #
 # Author: Thierry Kormann
-#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 #
 # UnitProcessor

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
index f254493..39d6a77 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/util/resources/XMLResourceDescriptor.properties
@@ -1,20 +1,24 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # Author: Thierry Kormann
+#
+# $Id: XMLResourceDescriptor.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
-org.xml.sax.driver = org.apache.xerces.parsers.SAXParser
-org.w3c.flex.forks.css.sac.driver = org.apache.flex.forks.batik.css.parser.Parser
+#org.xml.sax.driver = org.apache.xerces.parsers.SAXParser
+org.w3c.css.sac.driver = org.apache.batik.css.parser.Parser

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/xml/scanner/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/xml/scanner/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/xml/scanner/resources/Messages.properties
index d9de7b3..5cbb008 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/xml/scanner/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/xml/scanner/resources/Messages.properties
@@ -1,23 +1,25 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The error messages for the XML scanner.
 #
 # Author: stephane@hillion.org
-#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 character = \
 Invalid character.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.3/org/apache/batik/dom/util/DOMUtilitiesSupport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.3/org/apache/batik/dom/util/DOMUtilitiesSupport.java b/modules/thirdparty/batik/sources-1.3/org/apache/batik/dom/util/DOMUtilitiesSupport.java
new file mode 100644
index 0000000..247f1f8
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.3/org/apache/batik/dom/util/DOMUtilitiesSupport.java
@@ -0,0 +1,46 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+
+package org.apache.flex.forks.batik.dom.util;
+
+/**
+ * JRE specific helper functions for {@link DOMUtilities}.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id$
+ */
+public abstract class DOMUtilitiesSupport {
+
+    /**
+     * Gets a DOM 3 modifiers string from the given lock and
+     * shift bitmasks.
+     */
+    protected static String getModifiersList(int lockState, int modifiers) {
+        if ((modifiers & 0x20) != 0) {
+            modifiers = 0x10 | (modifiers & 0x0f);
+        } else {
+            modifiers = modifiers & 0x0f;
+        }
+        String s = DOMUtilities.LOCK_STRINGS[lockState & 0x0f];
+        if (s.length() != 0) {
+            return s + ' ' + DOMUtilities.MODIFIER_STRINGS[modifiers];
+        }
+        return DOMUtilities.MODIFIER_STRINGS[modifiers];
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.3/org/apache/batik/gvt/event/AWTEventDispatcher.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.3/org/apache/batik/gvt/event/AWTEventDispatcher.java b/modules/thirdparty/batik/sources-1.3/org/apache/batik/gvt/event/AWTEventDispatcher.java
new file mode 100644
index 0000000..7d1c933
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.3/org/apache/batik/gvt/event/AWTEventDispatcher.java
@@ -0,0 +1,90 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.gvt.event;
+
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
+/**
+ * A concrete version of {@link org.apache.flex.forks.batik.gvt.event.AWTEventDispatcher}.
+ *
+ * This class is used for JDKs &lt; 1.4, which don't have MouseWheelEvent
+ * support.  For JDKs &gt;= 1.4, the file
+ * sources-1.4/org/apache/batik/gvt/event/AWTEventDispatcher defines a
+ * version of this class that does support MouseWheelEvents.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AWTEventDispatcher.java 575202 2007-09-13 07:45:18Z cam $
+ */
+public class AWTEventDispatcher extends AbstractAWTEventDispatcher {
+
+    /**
+     * Dispatches the specified AWT key event.
+     * @param evt the key event to dispatch
+     */
+    protected void dispatchKeyEvent(KeyEvent evt) {
+        currentKeyEventTarget = lastHit;
+        GraphicsNode target =
+            currentKeyEventTarget == null ? root : currentKeyEventTarget;
+        processKeyEvent
+            (new GraphicsNodeKeyEvent(target,
+                                      evt.getID(),
+                                      evt.getWhen(),
+                                      evt.getModifiers(),
+                                      getCurrentLockState(),
+                                      evt.getKeyCode(),
+                                      evt.getKeyChar(),
+                                      0));
+    }
+
+    /** 
+     * Returns the modifiers mask for this event.  This just calls
+     * {@link InputEvent#getModifiers()} on <code>evt</code>.
+     */
+    protected int getModifiers(InputEvent evt) {
+        return evt.getModifiers();
+    }
+
+    /**
+     * Returns the button whose state changed for the given event.  This calls
+     * {@link InputEvent#getModifiers()} to check which button caused the
+     * event.
+     */
+    protected int getButton(MouseEvent evt) {
+        if ((evt.getModifiers() & InputEvent.BUTTON1_MASK) != 0) {
+            return 1;
+        } else if ((evt.getModifiers() & InputEvent.BUTTON2_MASK) != 0) {
+            return 2;
+        } else if ((evt.getModifiers() & InputEvent.BUTTON3_MASK) != 0) {
+            return 3;
+        }
+        return 0;
+    }
+
+    /**
+     * Returns whether the meta key is down according to the given modifiers
+     * bitfield.
+     */
+    protected static boolean isMetaDown(int modifiers) {
+        return (modifiers & GraphicsNodeInputEvent.META_MASK) != 0;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/dom/util/DOMUtilitiesSupport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/dom/util/DOMUtilitiesSupport.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/dom/util/DOMUtilitiesSupport.java
new file mode 100644
index 0000000..052f816
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/dom/util/DOMUtilitiesSupport.java
@@ -0,0 +1,62 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.dom.util;
+
+/**
+ * JRE specific helper functions for {@link DOMUtilities}.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: DOMUtilitiesSupport.java 502541 2007-02-02 08:55:41Z dvholten $
+ */
+public abstract class DOMUtilitiesSupport {
+
+    static final String[] BITS = {
+        "Shift",
+        "Ctrl",
+        "Meta-or-Button3",
+        "Alt-or-Button2",
+        "Button1",
+        "AltGraph",
+        "ShiftDown",
+        "CtrlDown",
+        "MetaDown",
+        "AltDown",
+        "Button1Down",
+        "Button2Down",
+        "Button3Down",
+        "AltGraphDown"
+    };
+
+    /**
+     * Gets a DOM 3 modifiers string from the given lock and
+     * shift bitmasks.
+     */
+    protected static String getModifiersList(int lockState, int modifiersEx) {
+        if ((modifiersEx & (1 << 13)) != 0) {
+            modifiersEx = 0x10 | ((modifiersEx >> 6) & 0x0f);
+        } else {
+            modifiersEx = (modifiersEx >> 6) & 0x0f;
+        }
+        String s = DOMUtilities.LOCK_STRINGS[lockState & 0x0f];
+        if (s.length() != 0) {
+            return s + ' ' + DOMUtilities.MODIFIER_STRINGS[modifiersEx];
+        }
+        return DOMUtilities.MODIFIER_STRINGS[modifiersEx];
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/AbstractImageIORegistryEntry.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/AbstractImageIORegistryEntry.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/AbstractImageIORegistryEntry.java
new file mode 100644
index 0000000..9ebaf42
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/AbstractImageIORegistryEntry.java
@@ -0,0 +1,164 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.awt.image.ColorModel;
+import java.awt.image.WritableRaster;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+
+import javax.imageio.ImageIO;
+import javax.imageio.ImageReader;
+import javax.imageio.stream.ImageInputStream;
+
+import org.apache.flex.forks.batik.ext.awt.image.GraphicsUtil;
+import org.apache.flex.forks.batik.ext.awt.image.renderable.DeferRable;
+import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
+import org.apache.flex.forks.batik.ext.awt.image.renderable.RedRable;
+import org.apache.flex.forks.batik.ext.awt.image.rendered.Any2sRGBRed;
+import org.apache.flex.forks.batik.ext.awt.image.rendered.FormatRed;
+import org.apache.flex.forks.batik.ext.awt.image.rendered.CachableRed;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageTagRegistry;
+import org.apache.flex.forks.batik.ext.awt.image.spi.MagicNumberRegistryEntry;
+import org.apache.flex.forks.batik.util.ParsedURL;
+
+/**
+ * This is the base class for all ImageIO-based RegistryEntry implementations. They
+ * have a slightly lower priority than the RegistryEntry implementations using the 
+ * internal codecs, so these take precedence if they are available.
+ *
+ * @version $Id: AbstractImageIORegistryEntry.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public abstract class AbstractImageIORegistryEntry 
+    extends MagicNumberRegistryEntry {
+
+    /**
+     * Constructor
+     * @param name Format Name
+     * @param exts Standard set of extensions
+     * @param magicNumbers array of magic numbers any of which can match.
+     */
+    public AbstractImageIORegistryEntry(String    name,
+                                        String [] exts,
+                                        String [] mimeTypes,
+                                        MagicNumber [] magicNumbers) {
+        super(name, PRIORITY + 100, exts, mimeTypes, magicNumbers);
+    }
+    
+    /**
+     * Constructor, simplifies construction of entry when only
+     * one extension and one magic number is required.
+     * @param name        Format Name
+     * @param ext         Standard extension
+     * @param offset      Offset of magic number
+     * @param magicNumber byte array to match.
+     */
+    public AbstractImageIORegistryEntry(String name,
+                                    String ext,
+                                    String mimeType,
+                                    int offset, byte[] magicNumber) {
+        super(name, PRIORITY + 100, ext, mimeType, offset, magicNumber);
+    }
+    
+    /**
+     * Decode the Stream into a RenderableImage
+     *
+     * @param inIS The input stream that contains the image.
+     * @param origURL The original URL, if any, for documentation
+     *                purposes only.  This may be null.
+     * @param needRawData If true the image returned should not have
+     *                    any default color correction the file may 
+     *                    specify applied.  
+     */
+    public Filter handleStream(InputStream inIS, 
+                               ParsedURL   origURL,
+                               boolean     needRawData) {
+        final DeferRable  dr  = new DeferRable();
+        final InputStream is  = inIS;
+        final String      errCode;
+        final Object []   errParam;
+        if (origURL != null) {
+            errCode  = ERR_URL_FORMAT_UNREADABLE;
+            errParam = new Object[] {getFormatName(), origURL};
+        } else {
+            errCode  = ERR_STREAM_FORMAT_UNREADABLE;
+            errParam = new Object[] {getFormatName()};
+        }
+
+        Thread t = new Thread() {
+                public void run() {
+                    Filter filt;
+                    try{
+                        Iterator iter = ImageIO.getImageReadersByMIMEType(
+                                getMimeTypes().get(0).toString());
+                        if (!iter.hasNext()) {
+                            throw new UnsupportedOperationException(
+                                    "No image reader for " 
+                                        + getFormatName() + " available!");
+                        }
+                        ImageReader reader = (ImageReader)iter.next();
+                        ImageInputStream imageIn = ImageIO.createImageInputStream(is);
+                        reader.setInput(imageIn, true);
+                        
+                        int imageIndex = 0;
+                        dr.setBounds(new Rectangle2D.Double
+                                     (0, 0, 
+                                      reader.getWidth(imageIndex), 
+                                      reader.getHeight(imageIndex)));
+                        CachableRed cr;
+                        //Naïve approach probably wasting lots of memory
+                        //and ignoring the gamma correction done by PNGRed :-(
+                        BufferedImage bi = reader.read(imageIndex);
+                        cr = GraphicsUtil.wrap(bi);
+                        cr = new Any2sRGBRed(cr);
+                        cr = new FormatRed(cr, GraphicsUtil.sRGB_Unpre);
+                        WritableRaster wr = (WritableRaster)cr.getData();
+                        ColorModel cm = cr.getColorModel();
+                        BufferedImage image = new BufferedImage
+                            (cm, wr, cm.isAlphaPremultiplied(), null);
+                        cr = GraphicsUtil.wrap(image);
+                        filt = new RedRable(cr);
+                    } catch (IOException ioe) {
+                        // Something bad happened here...
+                        filt = ImageTagRegistry.getBrokenLinkImage
+                            (AbstractImageIORegistryEntry.this, 
+                             errCode, errParam);
+                    } catch (ThreadDeath td) {
+                        filt = ImageTagRegistry.getBrokenLinkImage
+                            (AbstractImageIORegistryEntry.this, 
+                             errCode, errParam);
+                        dr.setSource(filt);
+                        throw td;
+                    } catch (Throwable t) {
+                        filt = ImageTagRegistry.getBrokenLinkImage
+                            (AbstractImageIORegistryEntry.this, 
+                             errCode, errParam);
+                    }
+
+                    dr.setSource(filt);
+                }
+            };
+        t.start();
+        return dr;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIODebugUtil.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIODebugUtil.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIODebugUtil.java
new file mode 100644
index 0000000..3242c83
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIODebugUtil.java
@@ -0,0 +1,57 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import javax.imageio.metadata.IIOMetadata;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Node;
+
+/**
+ * Helper class for debugging stuff in Image I/O.
+ *
+ * @version $Id: ImageIODebugUtil.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIODebugUtil {
+
+    public static void dumpMetadata(IIOMetadata meta) {
+        String format = meta.getNativeMetadataFormatName();
+        Node node = meta.getAsTree(format);
+        dumpNode(node);
+    }
+    
+    public static void dumpNode(Node node) {
+        try {
+            TransformerFactory tf = TransformerFactory.newInstance();
+            Transformer t = tf.newTransformer();
+            Source src = new DOMSource(node);
+            Result res = new StreamResult(System.out);
+            t.transform(src, res);
+            System.out.println();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOImageWriter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOImageWriter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOImageWriter.java
new file mode 100644
index 0000000..3ee4346
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOImageWriter.java
@@ -0,0 +1,211 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import java.awt.image.RenderedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.Iterator;
+
+import javax.imageio.IIOImage;
+import javax.imageio.ImageIO;
+import javax.imageio.ImageTypeSpecifier;
+import javax.imageio.ImageWriteParam;
+import javax.imageio.event.IIOWriteWarningListener;
+import javax.imageio.metadata.IIOInvalidTreeException;
+import javax.imageio.metadata.IIOMetadata;
+import javax.imageio.metadata.IIOMetadataNode;
+import javax.imageio.stream.ImageOutputStream;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriter;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterParams;
+
+/**
+ * ImageWriter implementation that uses Image I/O to write images.
+ *
+ * @version $Id: ImageIOImageWriter.java 579471 2007-09-26 04:45:55Z cam $
+ */
+public class ImageIOImageWriter implements ImageWriter, IIOWriteWarningListener {
+
+    private String targetMIME;
+    
+    /**
+     * Main constructor.
+     * @param mime the MIME type of the image format
+     */
+    public ImageIOImageWriter(String mime) {
+        this.targetMIME = mime;
+    }
+    
+    /**
+     * @see ImageWriter#writeImage(java.awt.image.RenderedImage, java.io.OutputStream)
+     */
+    public void writeImage(RenderedImage image, OutputStream out) throws IOException {
+        writeImage(image, out, null);
+    }
+
+    /**
+     * @see ImageWriter#writeImage(java.awt.image.RenderedImage, java.io.OutputStream, ImageWriterParams)
+     */
+    public void writeImage(RenderedImage image, OutputStream out, 
+            ImageWriterParams params) 
+                throws IOException {
+        Iterator iter;
+        iter = ImageIO.getImageWritersByMIMEType(getMIMEType());
+        javax.imageio.ImageWriter iiowriter = null;
+        try {
+            iiowriter = (javax.imageio.ImageWriter)iter.next();
+            if (iiowriter != null) {
+                iiowriter.addIIOWriteWarningListener(this);
+
+                ImageOutputStream imgout = null;
+                try {
+                    imgout = ImageIO.createImageOutputStream(out);
+                    ImageWriteParam iwParam = getDefaultWriteParam(iiowriter, image, params);
+
+                    ImageTypeSpecifier type;
+                    if (iwParam.getDestinationType() != null) {
+                        type = iwParam.getDestinationType();
+                    } else {
+                        type = ImageTypeSpecifier.createFromRenderedImage(image);
+                    }
+
+                    //Handle metadata
+                    IIOMetadata meta = iiowriter.getDefaultImageMetadata(
+                            type, iwParam);
+                    //meta might be null for some JAI codecs as they don't support metadata
+                    if (params != null && meta != null) {
+                        meta = updateMetadata(meta, params); 
+                    }
+
+                    //Write image
+                    iiowriter.setOutput(imgout);
+                    IIOImage iioimg = new IIOImage(image, null, meta);
+                    iiowriter.write(null, iioimg, iwParam);
+                } finally {
+                    if (imgout != null) {
+                        System.err.println("closing");
+                        imgout.close();
+                    }
+                }
+            } else {
+                throw new UnsupportedOperationException("No ImageIO codec for writing " 
+                        + getMIMEType() + " is available!");
+            }
+        } finally {
+            if (iiowriter != null) {
+                System.err.println("disposing");
+                iiowriter.dispose();
+            }
+        }
+    }
+    
+    /**
+     * Returns the default write parameters for encoding the image.
+     * @param iiowriter The IIO ImageWriter that will be used
+     * @param image the image to be encoded
+     * @param params the parameters for this writer instance
+     * @return the IIO ImageWriteParam instance
+     */
+    protected ImageWriteParam getDefaultWriteParam(
+            javax.imageio.ImageWriter iiowriter, RenderedImage image, 
+            ImageWriterParams params) {
+        ImageWriteParam param = iiowriter.getDefaultWriteParam();
+        System.err.println("Param: " + params);
+        if ((params != null) && (params.getCompressionMethod() != null)) {
+            param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
+            param.setCompressionType(params.getCompressionMethod());
+        }
+        return param; 
+    }
+    
+    /**
+     * Updates the metadata information based on the parameters to this writer.
+     * @param meta the metadata
+     * @param params the parameters
+     * @return the updated metadata
+     */
+    protected IIOMetadata updateMetadata(IIOMetadata meta, ImageWriterParams params) {
+        final String stdmeta = "javax_imageio_1.0";
+        if (meta.isStandardMetadataFormatSupported()) {
+            IIOMetadataNode root = (IIOMetadataNode)meta.getAsTree(stdmeta);
+            IIOMetadataNode dim = getChildNode(root, "Dimension");
+            IIOMetadataNode child;
+            if (params.getResolution() != null) {
+                child = getChildNode(dim, "HorizontalPixelSize");
+                if (child == null) {
+                    child = new IIOMetadataNode("HorizontalPixelSize");
+                    dim.appendChild(child);
+                }
+                child.setAttribute("value", 
+                        Double.toString(params.getResolution().doubleValue() / 25.4));
+                child = getChildNode(dim, "VerticalPixelSize");
+                if (child == null) {
+                    child = new IIOMetadataNode("VerticalPixelSize");
+                    dim.appendChild(child);
+                }
+                child.setAttribute("value", 
+                        Double.toString(params.getResolution().doubleValue() / 25.4));
+            }
+            try {
+                meta.mergeTree(stdmeta, root);
+            } catch (IIOInvalidTreeException e) {
+                throw new RuntimeException("Cannot update image metadata: " 
+                            + e.getMessage());
+            }
+        }
+        return meta;
+    }
+    
+    /**
+     * Returns a specific metadata child node
+     * @param n the base node
+     * @param name the name of the child
+     * @return the requested child node
+     */
+    protected static IIOMetadataNode getChildNode(Node n, String name) {
+        NodeList nodes = n.getChildNodes();
+        for (int i = 0; i < nodes.getLength(); i++) {
+            Node child = nodes.item(i);
+            if (name.equals(child.getNodeName())) {
+                return (IIOMetadataNode)child;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @see ImageWriter#getMIMEType()
+     */
+    public String getMIMEType() {
+        return this.targetMIME;
+    }
+
+    /**
+     * @see javax.imageio.event.IIOWriteWarningListener#warningOccurred(javax.imageio.ImageWriter, int, java.lang.String)
+     */
+    public void warningOccurred(javax.imageio.ImageWriter source, 
+            int imageIndex, String warning) {
+        System.err.println("Problem while writing image using ImageI/O: " 
+                + warning);
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java
new file mode 100644
index 0000000..b76e8eb
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGImageWriter.java
@@ -0,0 +1,161 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import java.awt.image.RenderedImage;
+
+import javax.imageio.ImageWriteParam;
+import javax.imageio.ImageWriter;
+import javax.imageio.metadata.IIOInvalidTreeException;
+import javax.imageio.metadata.IIOMetadata;
+import javax.imageio.metadata.IIOMetadataNode;
+import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
+
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterParams;
+
+/**
+ * ImageWriter that encodes JPEG images using Image I/O.
+ *
+ * @version $Id: ImageIOJPEGImageWriter.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOJPEGImageWriter extends ImageIOImageWriter {
+
+    private static final String JPEG_NATIVE_FORMAT = "javax_imageio_jpeg_image_1.0";
+    
+    /**
+     * Main constructor.
+     */
+    public ImageIOJPEGImageWriter() {
+        super("image/jpeg");
+    }
+ 
+    /**
+     * @see ImageIOImageWriter#updateMetadata(javax.imageio.metadata.IIOMetadata, ImageWriterParams)
+     */
+    protected IIOMetadata updateMetadata(IIOMetadata meta, ImageWriterParams params) {
+        //ImageIODebugUtil.dumpMetadata(meta);
+        if (JPEG_NATIVE_FORMAT.equals(meta.getNativeMetadataFormatName())) {
+            meta = addAdobeTransform(meta);
+
+            IIOMetadataNode root = (IIOMetadataNode)meta.getAsTree(JPEG_NATIVE_FORMAT);
+            //IIOMetadataNode root = new IIOMetadataNode(jpegmeta);
+            
+            IIOMetadataNode jv = getChildNode(root, "JPEGvariety");
+            if (jv == null) {
+                jv = new IIOMetadataNode("JPEGvariety");
+                root.appendChild(jv);
+            }
+            IIOMetadataNode child;
+            if (params.getResolution() != null) {
+                child = getChildNode(jv, "app0JFIF");
+                if (child == null) {
+                    child = new IIOMetadataNode("app0JFIF");
+                    jv.appendChild(child);
+                }
+                //JPEG gets special treatment because there seems to be a bug in
+                //the JPEG codec in ImageIO converting the pixel size incorrectly
+                //(or not at all) when using standard metadata format.
+                child.setAttribute("majorVersion", null);
+                child.setAttribute("minorVersion", null);
+                child.setAttribute("resUnits", "1"); //dots per inch
+                child.setAttribute("Xdensity", params.getResolution().toString());
+                child.setAttribute("Ydensity", params.getResolution().toString());
+                child.setAttribute("thumbWidth", null);
+                child.setAttribute("thumbHeight", null);
+                
+            }
+            
+            /*
+            IIOMetadataNode ms = getChildNode(root, "markerSequence");
+            if (ms == null) {
+                ms = new IIOMetadataNode("markerSequence");
+                root.appendChild(ms);
+            }*/
+            
+            try {
+                meta.setFromTree(JPEG_NATIVE_FORMAT, root);
+                //meta.mergeTree(JPEG_NATIVE_FORMAT, root);
+            } catch (IIOInvalidTreeException e) {
+                throw new RuntimeException("Cannot update image metadata: " 
+                            + e.getMessage(), e);
+            }
+
+            //ImageIODebugUtil.dumpMetadata(meta);
+            
+            //meta = super.updateMetadata(meta, params);
+            //ImageIODebugUtil.dumpMetadata(meta);
+        }
+        
+        return meta;
+    }
+    
+    private static IIOMetadata addAdobeTransform(IIOMetadata meta) {
+        // add the adobe transformation (transform 1 -> to YCbCr)
+        IIOMetadataNode root = (IIOMetadataNode)meta.getAsTree(JPEG_NATIVE_FORMAT);
+
+        IIOMetadataNode markerSequence = getChildNode(root, "markerSequence");
+        if (markerSequence == null) {
+            throw new RuntimeException("Invalid metadata!");
+        }
+
+        IIOMetadataNode adobeTransform = getChildNode(markerSequence, "app14Adobe");
+        if (adobeTransform == null) {
+            adobeTransform = new IIOMetadataNode("app14Adobe");
+            adobeTransform.setAttribute("transform" , "1"); // convert RGB to YCbCr
+            adobeTransform.setAttribute("version", "101");
+            adobeTransform.setAttribute("flags0", "0");
+            adobeTransform.setAttribute("flags1", "0");
+
+            markerSequence.appendChild(adobeTransform);
+        } else {
+            adobeTransform.setAttribute("transform" , "1");
+        }
+
+        try {
+            meta.setFromTree(JPEG_NATIVE_FORMAT, root);
+        } catch (IIOInvalidTreeException e) {
+            throw new RuntimeException("Cannot update image metadata: " 
+                        + e.getMessage(), e);
+        }
+        return meta;
+    }    
+    
+    /**
+     * @see ImageIOImageWriter#getDefaultWriteParam(javax.imageio.ImageWriter, java.awt.image.RenderedImage, ImageWriterParams)
+     */
+    protected ImageWriteParam getDefaultWriteParam(
+            ImageWriter iiowriter, RenderedImage image,
+            ImageWriterParams params) {
+        JPEGImageWriteParam param = new JPEGImageWriteParam(iiowriter.getLocale());
+        //ImageTypeSpecifier type = ImageTypeSpecifier.createFromRenderedImage(image);
+        /*
+        ImageTypeSpecifier type = new ImageTypeSpecifier(
+                image.getColorModel(), image.getSampleModel());
+                */
+        /* didn't work as expected...
+        ImageTypeSpecifier type = ImageTypeSpecifier.createFromBufferedImageType(
+                BufferedImage.TYPE_INT_RGB);
+        param.setDestinationType(type);
+        param.setSourceBands(new int[] {0, 1, 2});
+        */
+        return param;
+    }
+    
+    
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGRegistryEntry.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGRegistryEntry.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGRegistryEntry.java
new file mode 100644
index 0000000..7c51f93
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOJPEGRegistryEntry.java
@@ -0,0 +1,41 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+/**
+ * RegistryEntry implementation for loading JPEG images through Image I/O.
+ *
+ * @version $Id: ImageIOJPEGRegistryEntry.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOJPEGRegistryEntry 
+    extends AbstractImageIORegistryEntry {
+
+    static final byte [] sigJPEG   = {(byte)0xFF, (byte)0xd8, 
+                                      (byte)0xFF};
+    static final String [] exts      = {"jpeg", "jpg" };
+    static final String [] mimeTypes = {"image/jpeg", "image/jpg" };
+    static final MagicNumber [] magicNumbers = {
+        new MagicNumber(0, sigJPEG)
+    };
+
+    public ImageIOJPEGRegistryEntry() {
+        super("JPEG", exts, mimeTypes, magicNumbers);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGImageWriter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGImageWriter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGImageWriter.java
new file mode 100644
index 0000000..2ccde4b
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGImageWriter.java
@@ -0,0 +1,35 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+/**
+ * ImageWriter that encodes PNG images using Image I/O.
+ *
+ * @version $Id: ImageIOPNGImageWriter.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOPNGImageWriter extends ImageIOImageWriter {
+
+    /**
+     * Main constructor.
+     */
+    public ImageIOPNGImageWriter() {
+        super("image/png");
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGRegistryEntry.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGRegistryEntry.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGRegistryEntry.java
new file mode 100644
index 0000000..a435a46
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOPNGRegistryEntry.java
@@ -0,0 +1,36 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+/**
+ * RegistryEntry implementation for loading PNG images through Image I/O.
+ *
+ * @version $Id: ImageIOPNGRegistryEntry.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOPNGRegistryEntry 
+    extends AbstractImageIORegistryEntry {
+
+
+    static final byte [] signature = {(byte)0x89, 80, 78, 71, 13, 10, 26, 10};
+
+    public ImageIOPNGRegistryEntry() {
+        super("PNG", "png", "image/png", 0, signature);
+    }
+
+}


[25/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Main.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Main.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Main.java
deleted file mode 100644
index bdad39a..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Main.java
+++ /dev/null
@@ -1,990 +0,0 @@
-/*
-
-   Copyright 2000-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.awt.Color;
-import java.awt.geom.Rectangle2D;
-import java.io.File;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-import org.apache.flex.forks.batik.util.ApplicationSecurityEnforcer;
-
-/**
- * Handles command line parameters to configure the <tt>SVGConverter</tt>
- * and rasterizer images. <br />
- *
- * Each command line option is handled by an <tt>OptionHandler</tt> which
- * is responsible for converting the option into a configuration of the
- * <tt>SVGConverter</tt> which is used to perform the conversion.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: Main.java,v 1.28 2004/08/18 07:12:25 vhardy Exp $
- */
-public class Main implements SVGConverterController {
-    /**
-     * URL for Squiggle's security policy file
-     */
-    public static final String RASTERIZER_SECURITY_POLICY
-        = "org/apache/batik/apps/rasterizer/resources/rasterizer.policy"; 
-
-    /**
-     * Interface for handling one command line option
-     */
-    public static interface OptionHandler {
-        /**
-         * The <tt>OptionHandler</tt> should configure the <tt>SVGConverter</tt>
-         * according to the value of the option.
-         * 
-         * Should throw an IllegalArgumentException if optionValue
-         * is not an acceptable option. 
-         */
-        void handleOption(String[] optionValues, SVGConverter c);
-
-        /**
-         * Returns the number of values which the option handler requires.
-         * This defines the length of the optionValues array passed to 
-         * the handler in the handleOption method
-         */
-        int getOptionValuesLength();
-
-        /**
-         * Returns the description for this option
-         */
-        String getOptionDescription();
-    }
-
-    /**
-     * This abstract implementation of the <tt>OptionHandler</tt> interface
-     * throws an exception if the number of arguments passed to the 
-     * <tt>handleOption</tt> method does not match the number of expected
-     * optionValues. If the size matches, the <tt>safeHandleOption</tt>
-     * method is invoked. 
-     * Subclasses can implement the <tt>safeHandleOption</tt> method 
-     * assuming that the input array size is correct.
-     */
-    public static abstract class AbstractOptionHandler implements OptionHandler {
-
-        public void handleOption(String[] optionValues, SVGConverter c){
-            int nOptions = optionValues != null? optionValues.length: 0;
-            if (nOptions != getOptionValuesLength()){
-                throw new IllegalArgumentException();
-            }
-
-            safeHandleOption(optionValues, c);
-        }
-
-        public abstract void safeHandleOption(String[] optionValues, SVGConverter c);
-    }
-
-    /**
-     * Base class for options with no option value (i.e., the presence
-     * of the option means something in itself. Subclasses should implement
-     * the <tt>handleOption</tt> method which takes only an <tt>SVGConverter</tt>
-     * as a parameter.
-     */
-    public static abstract class NoValueOptionHandler extends AbstractOptionHandler {
-        public void safeHandleOption(String[] optionValues, SVGConverter c){
-            handleOption(c);
-        }
-
-        public int getOptionValuesLength(){
-            return 0;
-        }
-
-        public abstract void handleOption(SVGConverter c);
-    }
-
-    /**
-     * Base class for options with a single option value. Subclasses should
-     * provide an implementation for the <tt>handleOption</tt> method which
-     * takes a <tt>String</tt> and an <tt>SVGConverter</tt> as parameters.
-     */
-    public static abstract class SingleValueOptionHandler extends AbstractOptionHandler {
-        public void safeHandleOption(String[] optionValues, SVGConverter c){
-            handleOption(optionValues[0], c);
-        }
-
-        public int getOptionValuesLength(){
-            return 1;
-        }
-
-        public abstract void handleOption(String optionValue, SVGConverter c);
-    }
-
-    /**
-     * Base class for options which expect the single optionValue to 
-     * be a float. Subclasses should implement the <tt>handleOption</tt>
-     * method which takes a float and an <tt>SVGConverter</tt> as
-     * parameters.
-     */
-    public static abstract class FloatOptionHandler extends SingleValueOptionHandler {
-        public void handleOption(String optionValue, SVGConverter c){
-            try{
-                handleOption(Float.parseFloat(optionValue), c);
-            } catch(NumberFormatException e){
-                throw new IllegalArgumentException();
-            }
-        }
-
-        public abstract void handleOption(float optionValue, SVGConverter c);
-    }
-
-    /**
-     * Base class for options which expect a <tt>Rectangle</tt> optionValue.
-     * Subclasses should implement the <tt>handleOption</tt> method which
-     * takes a <tt>Rectangle</tt> and an <tt>SVGConverter</tt> as parameters.
-     */
-    public static abstract class RectangleOptionHandler extends SingleValueOptionHandler {
-        public void handleOption(String optionValue, SVGConverter c){
-            Rectangle2D r = parseRect(optionValue);
-            if (r==null){
-                throw new IllegalArgumentException();
-            }
-            handleOption(r, c);
-        }
-
-        public abstract void handleOption(Rectangle2D r, SVGConverter c);
-
-        public Rectangle2D.Float parseRect(String rectValue){
-            Rectangle2D.Float rect = null;
-            if(rectValue != null){
-                if (!rectValue.toLowerCase().endsWith("f")){
-                    rectValue += "f";
-                }
-
-                StringTokenizer st = new StringTokenizer(rectValue, ",");
-                if(st.countTokens() == 4){
-                    String xStr = st.nextToken();
-                    String yStr = st.nextToken();
-                    String wStr = st.nextToken();
-                    String hStr = st.nextToken();
-                    float x=Float.NaN, y=Float.NaN, w=Float.NaN, h=Float.NaN;
-                    try {
-                        x = Float.parseFloat(xStr);
-                        y = Float.parseFloat(yStr);
-                        w = Float.parseFloat(wStr);
-                        h = Float.parseFloat(hStr);
-                    }catch(NumberFormatException e){
-                        // If an error occured, the x, y, w, h
-                        // values will not be valid
-                    }
-                    
-                    if( !Float.isNaN(x)
-                        &&
-                        !Float.isNaN(y)
-                        &&
-                        (!Float.isNaN(w) && w > 0)
-                        &&
-                        (!Float.isNaN(h) && h > 0) ){
-                        rect = new Rectangle2D.Float(x, y, w, h);
-                    }
-                }
-            }
-            return rect;
-        }
-    }
-
-    /**
-     * Base class for options which expect a <tt>Color</tt> optionValue.
-     * Subclasses should implement the <tt>handleOption</tt> method which
-     * takes a <tt>Color</tt> and an <tt>SVGConverter</tt> as parameters.
-     */
-    public static abstract class ColorOptionHandler extends SingleValueOptionHandler {
-        public void handleOption(String optionValue, SVGConverter c){
-            Color color = parseARGB(optionValue);
-            if (color==null){
-                throw new IllegalArgumentException();
-            }
-            handleOption(color, c);
-        }
-
-        public abstract void handleOption(Color color, SVGConverter c);
-
-        /**
-         * Parse the input value, which should be in the following
-         * format: a.r.g.b where a, r, g and b are integer values,
-         * in decimal notation, between 0 and 255.
-         * @return the parsed color if successful. null otherwise.
-         */
-        public Color parseARGB(String argbVal){
-            Color c = null;
-            if(argbVal != null){
-                StringTokenizer st = new StringTokenizer(argbVal, ".");
-                if(st.countTokens() == 4){
-                    String aStr = st.nextToken();
-                    String rStr = st.nextToken();
-                    String gStr = st.nextToken();
-                    String bStr = st.nextToken();
-                    int a = -1, r = -1, g = -1, b = -1;
-                    try {
-                        a = Integer.parseInt(aStr);
-                        r = Integer.parseInt(rStr);
-                        g = Integer.parseInt(gStr);
-                        b = Integer.parseInt(bStr);
-                    }catch(NumberFormatException e){
-                        // If an error occured, the a, r, g, b
-                        // values will not be in the 0-255 range
-                        // and the next if test will fail
-                    }
-                    
-                    if( a>=0 && a<=255
-                        &&
-                        r>=0 && r<=255
-                        &&
-                        g>=0 && g<=255
-                        &&
-                        b>=0 && b<=255 ){
-                        c = new Color(r,g,b,a);
-                    }
-                }
-            }
-            return c;
-        }
-    }
-
-
-
-    /**
-     * Describes the command line options for the rasterizer
-     */
-    public static String USAGE =
-        Messages.formatMessage("Main.usage", null);
-
-    //
-    // The command line options are found in the properties
-    // file.
-    //
-
-    /**
-     * Option to specify the output directory or file
-     */
-    public static String CL_OPTION_OUTPUT
-        = Messages.get("Main.cl.option.output", "-d");
-
-    public static String CL_OPTION_OUTPUT_DESCRIPTION
-        = Messages.get("Main.cl.option.output.description", "No description");
-
-    /**
-     * Option to specify the output image's mime type
-     */
-    public static String CL_OPTION_MIME_TYPE
-        = Messages.get("Main.cl.option.mime.type", "-m");
-
-    public static String CL_OPTION_MIME_TYPE_DESCRIPTION
-        = Messages.get("Main.cl.option.mime.type.description", "No description");
-
-    /**
-     * Option to specify the output image's width
-     */
-    public static String CL_OPTION_WIDTH 
-        = Messages.get("Main.cl.option.width", "-w");
-
-    public static String CL_OPTION_WIDTH_DESCRIPTION
-        = Messages.get("Main.cl.option.width.description", "No description");
-
-    /**
-     * Option to specify the output image's height
-     */
-    public static String CL_OPTION_HEIGHT
-        = Messages.get("Main.cl.option.height", "-h");
-
-    public static String CL_OPTION_HEIGHT_DESCRIPTION
-        = Messages.get("Main.cl.option.height.description", "No description");
-
-    /**
-     * Option to specify the output image's maximum width.
-     */
-    public static String CL_OPTION_MAX_WIDTH 
-        = Messages.get("Main.cl.option.max.width", "-maxw");
-
-    public static String CL_OPTION_MAX_WIDTH_DESCRIPTION
-        = Messages.get("Main.cl.option.max.width.description", "No description");
-
-    /**
-     * Option to specify the output image's maximum height.
-     */
-    public static String CL_OPTION_MAX_HEIGHT
-        = Messages.get("Main.cl.option.max.height", "-maxh");
-
-    public static String CL_OPTION_MAX_HEIGHT_DESCRIPTION
-        = Messages.get("Main.cl.option.max.height.description", "No description");
-
-    /**
-     * Option to specify the area of interest in the output 
-     * image.
-     */
-    public static String CL_OPTION_AOI
-        = Messages.get("Main.cl.option.aoi", "-a");
-
-    public static String CL_OPTION_AOI_DESCRIPTION
-        = Messages.get("Main.cl.option.aoi.description", "No description");
-
-    /**
-     * Option to specify the output image's background color
-     */
-    public static String CL_OPTION_BACKGROUND_COLOR
-        = Messages.get("Main.cl.option.background.color", "-bg");
-
-    public static String CL_OPTION_BACKGROUND_COLOR_DESCRIPTION
-        = Messages.get("Main.cl.option.background.color.description", "No description");
-
-    /**
-     * Option to specify the CSS media type when converting
-     * the SVG image
-     */
-    public static String CL_OPTION_MEDIA_TYPE
-        = Messages.get("Main.cl.option.media.type", "-cssMedia");
-
-    public static String CL_OPTION_MEDIA_TYPE_DESCRIPTION
-        = Messages.get("Main.cl.option.media.type.description", "No description");
-
-    /**
-     * Option to specify the default value for the font-family
-     * CSS property when converting the SVG image
-     */
-    public static String CL_OPTION_DEFAULT_FONT_FAMILY
-        = Messages.get("Main.cl.option.default.font.family", "-font-family");
-
-    public static String CL_OPTION_DEFAULT_FONT_FAMILY_DESCRIPTION
-        = Messages.get("Main.cl.option.default.font.family.description", "No description");
-
-    /**
-     * Option to specify the CSS alternate stylesheet when
-     * converting the SVG images
-     */
-    public static String CL_OPTION_ALTERNATE_STYLESHEET
-        = Messages.get("Main.cl.option.alternate.stylesheet", "-cssAlternate");
-
-    public static String CL_OPTION_ALTERNATE_STYLESHEET_DESCRIPTION
-        = Messages.get("Main.cl.option.alternate.stylesheet.description", "No description");
-
-    /**
-     * Option to specify that the converted SVG files should
-     * be validated during the conversion process.
-     */
-    public static String CL_OPTION_VALIDATE
-        = Messages.get("Main.cl.option.validate", "-validate");
-      
-    public static String CL_OPTION_VALIDATE_DESCRIPTION
-        = Messages.get("Main.cl.option.validate.description", "No description");
-
-    /**
-     * Option to specify that the converted SVG files should
-     * be after the dispatch of the 'onload' event.
-     */
-    public static String CL_OPTION_ONLOAD
-        = Messages.get("Main.cl.option.onload", "-onload");
-      
-    public static String CL_OPTION_ONLOAD_DESCRIPTION
-        = Messages.get("Main.cl.option.onload.description", "No description");
-
-    /**
-     * Option to specify the user language with which SVG
-     * documents should be processed
-     */
-    public static String CL_OPTION_LANGUAGE
-        = Messages.get("Main.cl.option.language", "-lang");
-
-    public static String CL_OPTION_LANGUAGE_DESCRIPTION
-        = Messages.get("Main.cl.option.language.description", "No description");
-
-    /**
-     * Option to specify an addition user stylesheet
-     */
-    public static String CL_OPTION_USER_STYLESHEET
-        = Messages.get("Main.cl.option.user.stylesheet", "-cssUser");
-
-    public static String CL_OPTION_USER_STYLESHEET_DESCRIPTION
-        = Messages.get("Main.cl.option.user.stylesheet.description", "No description");
-
-    /**
-     * Option to specify the resolution for the output image
-     */
-    public static String CL_OPTION_DPI
-        = Messages.get("Main.cl.option.dpi", "-dpi");
-
-    public static String CL_OPTION_DPI_DESCRIPTION
-        = Messages.get("Main.cl.option.dpi.description", "No description");
-
-    /**
-     * Option to specify the output JPEG quality
-     */
-    public static String CL_OPTION_QUALITY
-        = Messages.get("Main.cl.option.quality", "-q");
-
-    public static String CL_OPTION_QUALITY_DESCRIPTION
-        = Messages.get("Main.cl.option.quality.description", "No description");
-
-    /**
-     * Option to specify if the PNG should be indexed.
-     */
-    public static String CL_OPTION_INDEXED
-        = Messages.get("Main.cl.option.indexed", "-indexed");
-
-    public static String CL_OPTION_INDEXED_DESCRIPTION
-        = Messages.get("Main.cl.option.indexed.description", "No description");
-
-    /**
-     * Option to specify the set of allowed scripts
-     */
-    public static String CL_OPTION_ALLOWED_SCRIPTS
-        = Messages.get("Main.cl.option.allowed.scripts", "-scripts");
-
-    public static String CL_OPTION_ALLOWED_SCRIPTS_DESCRIPTION
-        = Messages.get("Main.cl.option.allowed.scripts.description", "No description");
-
-    /**
-     * Option to determine whether scripts a constrained to the 
-     * same origin as the document referencing them.
-     */
-    public static String CL_OPTION_CONSTRAIN_SCRIPT_ORIGIN
-        = Messages.get("Main.cl.option.constrain.script.origin", "-anyScriptOrigin");
-
-    public static String CL_OPTION_CONSTRAIN_SCRIPT_ORIGIN_DESCRIPTION
-        = Messages.get("Main.cl.option.constrain.script.origin.description", "No description");
-
-    /**
-     * Option to turn off secure execution of scripts
-     */
-    public static String CL_OPTION_SECURITY_OFF
-        = Messages.get("Main.cl.option.security.off", "-scriptSecurityOff");
-    
-    public static String CL_OPTION_SECURITY_OFF_DESCRIPTION
-        = Messages.get("Main.cl.option.security.off.description", "No description");
-
-    /**
-     * Static map containing all the option handlers able to analyze the
-     * various options.
-     */
-    protected static Map optionMap = new Hashtable();
-
-    /**
-     * Static map containing all the mime types understood by the 
-     * rasterizer
-     */
-    protected static Map mimeTypeMap = new Hashtable();
-
-    /**
-     * Static initializer: adds all the option handlers to the 
-     * map of option handlers.
-     */
-    static {
-        mimeTypeMap.put("image/jpg", DestinationType.JPEG);
-        mimeTypeMap.put("image/jpeg", DestinationType.JPEG);
-        mimeTypeMap.put("image/jpe", DestinationType.JPEG);
-        mimeTypeMap.put("image/png", DestinationType.PNG);
-        mimeTypeMap.put("application/pdf", DestinationType.PDF);
-        mimeTypeMap.put("image/tiff", DestinationType.TIFF);
-
-        optionMap.put(CL_OPTION_OUTPUT,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue, 
-                                                       SVGConverter c){
-                                  c.setDst(new File(optionValue));
-                              }
-                              public String getOptionDescription(){
-                                  return CL_OPTION_OUTPUT_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_MIME_TYPE,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue,
-                                                       SVGConverter c){
-                                  DestinationType dstType = 
-                                      (DestinationType)mimeTypeMap.get(optionValue);
-
-                                  if (dstType == null){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setDestinationType(dstType);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_MIME_TYPE_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_WIDTH,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setWidth(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_WIDTH_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_HEIGHT,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setHeight(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_HEIGHT_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_MAX_WIDTH,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setMaxWidth(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_MAX_WIDTH_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_MAX_HEIGHT,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setMaxHeight(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_MAX_HEIGHT_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_AOI,
-                      new RectangleOptionHandler(){
-                              public void handleOption(Rectangle2D optionValue,
-                                                       SVGConverter c){
-                                  c.setArea(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_AOI_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_BACKGROUND_COLOR,
-                      new ColorOptionHandler(){
-                              public void handleOption(Color optionValue,
-                                                       SVGConverter c){
-                                  c.setBackgroundColor(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_BACKGROUND_COLOR_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_MEDIA_TYPE,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue,
-                                                       SVGConverter c){
-                                  c.setMediaType(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_MEDIA_TYPE_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_DEFAULT_FONT_FAMILY,
-                      new SingleValueOptionHandler() {
-                          public void handleOption(String optionValue,
-                                                   SVGConverter c){
-                              c.setDefaultFontFamily(optionValue);
-                          }
-
-                          public String getOptionDescription(){
-                              return CL_OPTION_DEFAULT_FONT_FAMILY_DESCRIPTION;
-                          }
-                      });
-
-        optionMap.put(CL_OPTION_ALTERNATE_STYLESHEET,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue,
-                                                       SVGConverter c){
-                                  c.setAlternateStylesheet(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_ALTERNATE_STYLESHEET_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_USER_STYLESHEET,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue,
-                                                       SVGConverter c){
-                                  c.setUserStylesheet(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_USER_STYLESHEET_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_LANGUAGE,
-                      new SingleValueOptionHandler(){
-                              public void handleOption(String optionValue,
-                                                       SVGConverter c){
-                                  c.setLanguage(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_LANGUAGE_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_DPI,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setPixelUnitToMillimeter
-                                      ((2.54f/optionValue)*10);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_DPI_DESCRIPTION;
-                              }
-                          });
-        
-        optionMap.put(CL_OPTION_QUALITY,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue,
-                                                       SVGConverter c){
-                                  if (optionValue <= 0 || optionValue >= 1){
-                                      throw new IllegalArgumentException();
-                                  }
-
-                                  c.setQuality(optionValue);
-                              }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_QUALITY_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_INDEXED,
-                      new FloatOptionHandler(){
-                              public void handleOption(float optionValue, 
-                                                       SVGConverter c){
-                                  if ((optionValue != 1) &&
-                                      (optionValue != 2) &&
-                                      (optionValue != 4) &&
-                                      (optionValue != 8)) 
-                                      throw new IllegalArgumentException();
-
-                                  c.setIndexed((int)optionValue);
-                              }
-                      
-                              public String getOptionDescription(){
-                                  return CL_OPTION_INDEXED_DESCRIPTION;
-                              }
-                          });
-        optionMap.put(CL_OPTION_VALIDATE,
-                      new NoValueOptionHandler(){
-                              public void handleOption(SVGConverter c){
-                                  c.setValidate(true);
-                             }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_VALIDATE_DESCRIPTION;
-                              }
-                          });
-        optionMap.put(CL_OPTION_ONLOAD,
-                      new NoValueOptionHandler(){
-                              public void handleOption(SVGConverter c){
-                                  c.setExecuteOnload(true);
-                             }
-
-                              public String getOptionDescription(){
-                                  return CL_OPTION_ONLOAD_DESCRIPTION;
-                              }
-                          });
-
-        optionMap.put(CL_OPTION_ALLOWED_SCRIPTS,
-                      new SingleValueOptionHandler() {
-                          public void handleOption(String optionValue,
-                                                   SVGConverter c){
-                              c.setAllowedScriptTypes(optionValue);
-                          }
-                          
-                          public String getOptionDescription(){
-                              return CL_OPTION_ALLOWED_SCRIPTS_DESCRIPTION;
-                          }
-                      });
-        
-        optionMap.put(CL_OPTION_CONSTRAIN_SCRIPT_ORIGIN,
-                      new NoValueOptionHandler(){
-                          public void handleOption(SVGConverter c){
-                              c.setConstrainScriptOrigin(false);
-                          }
-
-                          public String getOptionDescription(){
-                              return CL_OPTION_CONSTRAIN_SCRIPT_ORIGIN_DESCRIPTION;
-                          }
-                      });
-                                                
-        optionMap.put(CL_OPTION_SECURITY_OFF,
-                      new NoValueOptionHandler() {
-                          public void handleOption(SVGConverter c){
-                              c.setSecurityOff(true);
-                          }
-
-                          public String getOptionDescription(){
-                              return CL_OPTION_SECURITY_OFF_DESCRIPTION;
-                          }
-                      });
-    }
-      
-    /**
-     * Vector of arguments describing the conversion task to be
-     * performed.
-     */
-    protected Vector args;
-
-    public Main(String[] args){
-        this.args = new Vector();
-        for (int i=0; i<args.length; i++){
-            this.args.addElement(args[i]);
-        }
-    }
-
-    protected void error(String errorCode,
-                         Object[] errorArgs){
-        System.err.println(Messages.formatMessage(errorCode,
-                                                  errorArgs));
-    }
-
-    //
-    // Error codes generated by the rasterizer
-    //
-
-    /**
-     * Error when there are missing option values:
-     * {0} Option
-     * {1} Option description  
-     */
-    public static final String ERROR_NOT_ENOUGH_OPTION_VALUES
-        = "Main.error.not.enough.option.values";
-
-    /**
-     * Error when an illegal option value was passed to the app
-     * {0} Option
-     * {1} Option description  
-     */
-    public static final String ERROR_ILLEGAL_ARGUMENT
-        = "Main.error.illegal.argument";
-
-    public static final String ERROR_WHILE_CONVERTING_FILES
-        = "Main.error.while.converting.files";
-
-    public void execute(){
-        SVGConverter c = new SVGConverter(this);
-
-        Vector sources = new Vector();
-
-        int nArgs = args.size();
-        for (int i=0; i<nArgs; i++){
-            String v = (String)args.elementAt(i);
-            OptionHandler optionHandler = (OptionHandler)optionMap.get(v);
-            if (optionHandler == null){
-                // Assume v is a source.
-                sources.addElement(v);
-            } else {
-                // v is an option. Extract the optionValues required
-                // by the handler.
-                int nOptionArgs = optionHandler.getOptionValuesLength();
-                if (i + nOptionArgs >= nArgs){
-                    error(ERROR_NOT_ENOUGH_OPTION_VALUES, new Object[]{ v, optionHandler.getOptionDescription()});
-                    return;
-                } 
-
-                String[] optionValues = new String[nOptionArgs];
-                for (int j=0; j<nOptionArgs; j++){
-                    optionValues[j] = (String)args.elementAt(1+i+j);
-                }
-                i += nOptionArgs;
-
-                try {
-                    optionHandler.handleOption(optionValues, c);
-                } catch(IllegalArgumentException e){
-                    e.printStackTrace();
-                    error(ERROR_ILLEGAL_ARGUMENT,
-                          new Object[] { v,
-                                         optionHandler.getOptionDescription() ,
-                                         toString(optionValues)});
-                    return;
-                }
-            }
-        }
-
-        // Apply script security option
-        ApplicationSecurityEnforcer securityEnforcer = 
-            new ApplicationSecurityEnforcer(this.getClass(),
-                                            RASTERIZER_SECURITY_POLICY);
-
-        securityEnforcer.enforceSecurity(!c.getSecurityOff());
-
-        String expandedSources[] = expandSources(sources);
-
-        c.setSources(expandedSources);
-
-        validateConverterConfig(c);
-
-        if (expandedSources== null || expandedSources.length < 1){
-            System.out.println(USAGE);
-            System.out.flush();
-            securityEnforcer.enforceSecurity(false);
-            return;
-        }
-
-        try {
-            c.execute();
-        } catch(SVGConverterException e){
-            error(ERROR_WHILE_CONVERTING_FILES,
-                  new Object[] { e.getMessage() });
-        } finally {
-            System.out.flush();
-            securityEnforcer.enforceSecurity(false);
-        }
-    }
-
-    protected String toString(String[] v){
-        StringBuffer sb = new StringBuffer();
-        int n = v != null ? v.length:0;
-        for (int i=0; i<n; i++){
-            sb.append(v[i] + " ");
-        }
-
-        return sb.toString();
-    }
-
-    /**
-     * Template methods which subclasses may implement to do whatever is
-     * needed. For example, this can be used for test purposes.
-     */
-    public void validateConverterConfig(SVGConverter c){
-    }
-
-    /**
-     * Scans the input vector and replaces directories with the list
-     * of SVG files they contain
-     */
-    protected String[] expandSources(Vector sources){
-        Vector expandedSources = new Vector();
-        Iterator iter = sources.iterator();
-        while (iter.hasNext()){
-            String v = (String)iter.next();
-            File f = new File(v);
-            if (f.exists() && f.isDirectory()){
-                File[] fl = f.listFiles(new SVGConverter.SVGFileFilter());
-                for (int i=0; i<fl.length; i++){
-                    expandedSources.addElement(fl[i].getPath());
-                }
-            } else {
-                expandedSources.addElement(v);
-            }
-        }
-
-        String[] s = new String[expandedSources.size()];
-        expandedSources.copyInto(s);
-        return s;
-    }
-
-    public static void main(String [] args) {
-        (new Main(args)).execute();
-        System.exit(0);
-    }
-
-    //
-    // SVGConverterController implementation
-    //
-    public static final String MESSAGE_ABOUT_TO_TRANSCODE
-        = "Main.message.about.to.transcode";
-
-    public static final String MESSAGE_ABOUT_TO_TRANSCODE_SOURCE
-        = "Main.message.about.to.transcode.source";
-
-    public static final String MESSAGE_CONVERSION_FAILED
-        = "Main.message.conversion.failed";
-
-    public static final String MESSAGE_CONVERSION_SUCCESS
-        = "Main.message.conversion.success";
-
-    public boolean proceedWithComputedTask(Transcoder transcoder,
-                                           Map hints,
-                                           Vector sources,
-                                           Vector dest){
-        System.out.println(Messages.formatMessage(MESSAGE_ABOUT_TO_TRANSCODE,
-                                                  new Object[]{"" + sources.size()}));
-        return true;
-    }
-
-    public boolean proceedWithSourceTranscoding(SVGConverterSource source,
-                                                File dest){
-        System.out.print(Messages.formatMessage(MESSAGE_ABOUT_TO_TRANSCODE_SOURCE,
-                                                new Object[]{source.toString(),
-                                                             dest.toString()}));
-        return true;
-    }     
-        
-    public boolean proceedOnSourceTranscodingFailure(SVGConverterSource source,
-                                                     File dest,
-                                                     String errorCode){
-        System.out.println(Messages.formatMessage(MESSAGE_CONVERSION_FAILED,
-                                                  new Object[]{errorCode}));
-
-        return true;
-    }
-
-    public void onSourceTranscodingSuccess(SVGConverterSource source,
-                                           File dest){
-        System.out.println(Messages.formatMessage(MESSAGE_CONVERSION_SUCCESS,
-                                                  null));
-    }
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Messages.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Messages.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Messages.java
deleted file mode 100644
index 027be3e..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/Messages.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.util.Locale;
-import java.util.MissingResourceException;
-
-import org.apache.flex.forks.batik.i18n.LocalizableSupport;
-
-/**
- * This class manages the message for the bridge module.
- *
- * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: Messages.java,v 1.6 2004/08/18 07:12:26 vhardy Exp $
- */
-public class Messages {
-
-    /**
-     * This class does not need to be instantiated.
-     */
-    protected Messages() { }
-
-    /**
-     * The error messages bundle class name.
-     */
-    protected final static String RESOURCES =
-        "org.apache.flex.forks.batik.apps.rasterizer.resources.Messages";
-
-    /**
-     * The localizable support for the error messages.
-     */
-    protected static LocalizableSupport localizableSupport =
-        new LocalizableSupport(RESOURCES, Messages.class.getClassLoader());
-
-    /**
-     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#setLocale(Locale)}.
-     */
-    public static void setLocale(Locale l) {
-        localizableSupport.setLocale(l);
-    }
-
-    /**
-     * Implements {@link org.apache.flex.forks.batik.i18n.Localizable#getLocale()}.
-     */
-    public static Locale getLocale() {
-        return localizableSupport.getLocale();
-    }
-
-    /**
-     * Implements {@link
-     * org.apache.flex.forks.batik.i18n.Localizable#formatMessage(String,Object[])}.
-     */
-    public static String formatMessage(String key, Object[] args)
-        throws MissingResourceException {
-        return localizableSupport.formatMessage(key, args);
-    }
-
-    public static String get(String key) 
-        throws MissingResourceException {
-        return formatMessage(key, null);
-    }
-    
-    public static String get(String key, String def){
-        String value = def;
-        try{
-            value  = get(key);
-        }catch(MissingResourceException e){
-        }
-        
-        return value;
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverter.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverter.java
deleted file mode 100644
index 3162d74..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverter.java
+++ /dev/null
@@ -1,1119 +0,0 @@
-/*
-
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.awt.Color;
-import java.awt.geom.Rectangle2D;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-import org.apache.flex.forks.batik.transcoder.TranscoderInput;
-import org.apache.flex.forks.batik.transcoder.TranscoderOutput;
-import org.apache.flex.forks.batik.transcoder.image.ImageTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.JPEGTranscoder;
-import org.apache.flex.forks.batik.transcoder.image.PNGTranscoder;
-
-/**
- * This application can be used to convert SVG images to raster images.
- * <br />
- * Possible result raster image formats are PNG, JPEG, TIFF, and PDF. 
- * The Batik Transcoder API is used to execute the conversion. FOP is 
- * needed to be able to transcode to the PDF format<br />
- *
- * The source has to be list of files or URL (set by the <tt>setSources</tt> 
- * method). <br />
- *
- * The destination can be:<br /><ul>
- * <li><b>unspecified</b>. In that case, only file sources can be converted and 
- * a file in the same directory as the source will be created.</li>
- * <li><b>a directory</b>, set by the <tt>setDst</tt> method. In that case,
- * the output files are created in that destination directory</li>
- * <li><b>a file</b>. In case there is a <i>single 
- * source</i>, the destination can be a single named file 
- * (set with the <tt>setDst</tt> method.</li>)<br />
- * </ul>
- *
- * <hr />
- *
- * There are a number of options which control the way the image is
- * converted to the destination format:<br /><ul>
- * <li>destinationType: controls the type of conversion which should be done. 
- *     see the {@link DestinationType} documentation.</li>
- * <li>width/height: they control the desired width and height, in user space,
- *     for the output image.</li>
- * <li>maxWidth/maxHeight: control the maximum width and height, 
- *     in user space, of the output image.</li>
- * <li>area: controls the specific sub-area of the image which should be 
- *     rendered.</li>
- * <li>backgroundColor: controls the color which is used to fill the 
- *     background before rendering the image</li>
- * <li>quality: relevant only for JPEG destinations, this controls the 
- *     encoding quality.</li>
- * <li>indexed: relevant only for PNG, controls the number of bits
- *              used in writting of a palletized files.</li>
- * <li>mediaType: controls the CSS media, or list of media, for which the 
- *     image should be rendered.</li>
- * <li>alternate: controls the alternate CSS stylesheet to activate, 
- *     if any.</li>
- * <li>language: controls the user language with which the SVG document 
- *     should be converted.</li>
- * <li>userStylesheet: defines the user stylesheet to apply to SVG documents 
- *     in addition to other stylesheets referenced by or embedded in the 
- *     SVG documents.</li>
- * <li>pixelUnitToMillimeter: defines the size of a pixel in millimeters 
- *     to use when processing the SVG documents.</li>
- * </ul>
- *
- * @version $Id: SVGConverter.java,v 1.22 2005/03/27 08:58:29 cam Exp $
- * @author <a href="mailto:Henri.Ruini@nokia.com">Henri Ruini</a>
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- */
-public class SVGConverter {
-    // 
-    // Error codes reported by the SVGConverter
-    //
-
-    //
-    // Reported when no source file has been specified.
-    //
-    public static final String ERROR_NO_SOURCES_SPECIFIED
-        = "SVGConverter.error.no.sources.specified";
-
-    //
-    // Reported when there is more than one valid input source
-    // and no output directory has been set and the source is
-    // not a file.
-    //
-    public static final String ERROR_CANNOT_COMPUTE_DESTINATION
-        = "SVGConverter.error.cannot.compute.destination";
-
-    //
-    // Reported when the dst is a file and there are multiple 
-    // sources.
-    //
-    public static final String ERROR_CANNOT_USE_DST_FILE
-        = "SVGConverter.error.cannot.use.dst.file";
-
-    //
-    // Reported when the <tt>Transcoder</tt> for the requested
-    // <tt>destinationType</tt> cannot be found.
-    //
-    public static final String ERROR_CANNOT_ACCESS_TRANSCODER 
-        = "SVGConverter.error.cannot.access.transcoder";
-
-    //
-    // Reported when the source is found to be the same as
-    // the destination. Note that it is not guaranteed that
-    // this error condition will always be detected.
-    //
-    public static final String ERROR_SOURCE_SAME_AS_DESTINATION
-        = "SVGConverter.error.source.same.as.destination";
-
-    //
-    // Reported when one of the sources cannot be read.
-    //
-    public static final String ERROR_CANNOT_READ_SOURCE
-        = "SVGConverter.error.cannot.read.source";
-
-    //
-    // Reported when an error happens while opening a source
-    // file.
-    //
-    public static final String ERROR_CANNOT_OPEN_SOURCE
-        = "SVGConverter.error.cannot.open.source";
-
-    //
-    // Reported if the output is not writeable. This may 
-    // happen if the output file already exists and does not
-    // have write permission.
-    //
-    public static final String ERROR_OUTPUT_NOT_WRITEABLE
-        = "SVGConverter.error.output.not.writeable";
-
-    //
-    // Reported when an error happens while trying to open
-    // the output file for writing.
-    //
-    public static final String ERROR_CANNOT_OPEN_OUTPUT_FILE
-        = "SVGConverter.error.cannot.open.output.file";
-
-    //
-    // Reported when the converter was not able to create 
-    // the destination directory for the files.
-    //
-    public static final String ERROR_UNABLE_TO_CREATE_OUTPUT_DIR
-        = "SVGConverter.error.unable.to.create.output.dir";
-
-    //
-    // Reported when an error occurs while convertion the 
-    // source file.
-    //
-    public static final String ERROR_WHILE_RASTERIZING_FILE
-        = "SVGConverter.error.while.rasterizing.file";
-
-    //
-    // Class variables and constants 
-    //
-
-    /** SVG file extension */
-    protected static final String SVG_EXTENSION = ".svg";
-
-    /** Default quality value.  A value of -1 means disabled. */
-    protected static final float DEFAULT_QUALITY 
-        = -1f;
-
-    /** Maximum quality value */
-    protected static final float MAXIMUM_QUALITY
-        = .99F;
-
-    /** Default result type */
-    protected static final DestinationType DEFAULT_RESULT_TYPE 
-        = DestinationType.PNG;
-
-    /** Default width */
-    protected static final float DEFAULT_WIDTH = -1;
-
-    /** Default height */
-    protected static final float DEFAULT_HEIGHT = -1;
-
-    /** Result type */
-    protected DestinationType destinationType = DEFAULT_RESULT_TYPE;
-
-    /** Output image height. */
-    protected float height = DEFAULT_HEIGHT;
-
-    /** Output image width. */
-    protected float width = DEFAULT_WIDTH;
-
-    /** Maximum output image height. */
-    protected float maxHeight = DEFAULT_HEIGHT;
-
-    /** Maximum output image width. */
-    protected float maxWidth = DEFAULT_WIDTH;
-
-    /** Output image quality. */
-    protected float quality = DEFAULT_QUALITY;
-
-    /** Should output Image be indexed . */
-    protected int indexed = -1;
-
-    /** Output AOI area. */
-    protected Rectangle2D area = null;
-
-    /** Language */
-    protected String language = null;
-
-    /** User stylesheet */
-    protected String userStylesheet = null;
-
-    /** Millimeters Per Pixel */
-    protected float pixelUnitToMillimeter = -1f;
-
-    /** Validation flag */
-    protected boolean validate = false;
-
-    /** Execute the 'onload' scripts flag */
-    protected boolean executeOnload = false;
-
-    /** Set of allowed script types. */
-    protected String allowedScriptTypes = null;
-
-    /** Controls whether scripts can only have the same origin as 
-        the document which references them. */
-    protected boolean constrainScriptOrigin = true;
-
-    /** Controls whether scripts should be run securely or not */
-    protected boolean securityOff = false;
-
-    /** Sources files or URLs */
-    protected Vector sources = null;
-
-    /** 
-     * Destination image path. Can be a file (for single source) or
-     *  a directory 
-     */
-    protected File dst;
-
-    /** Background color for the output images. */
-    protected Color backgroundColor = null;
-
-    /** Media type for which the SVG image should be rendered */
-    protected String mediaType = null;
-
-    /** Default value for the font-family when it is unspecified */
-    protected String defaultFontFamily = null;
-
-    /** Alternate stylesheet for which should be applied to the SVG */
-    protected String alternateStylesheet = null;
-
-    /** Contents of <tt>fileset</tt> elements. */
-    protected Vector files = new Vector();
-
-    /**
-     * Controls some aspects of the converter's operation,
-     *  such as whether or not it should proceed in some
-     *  error situations. See {@link SVGConverterController}
-     */
-    protected SVGConverterController controller;
-
-    //
-    // Default constructor
-    //
-    public SVGConverter(){
-        this(new DefaultSVGConverterController());
-    }
-
-    //
-    // Constructor
-    //
-    public SVGConverter(SVGConverterController controller){
-        if (controller == null){
-            throw new IllegalArgumentException();
-        }
-
-        this.controller = controller;
-    }
-
-    // 
-    // Property get/set methods 
-    // 
-
-    /**
-     * Sets the <tt>destinationType</tt> attribute value. 
-     * Should not be null.
-     */
-    public void setDestinationType(DestinationType destinationType) {
-        if(destinationType == null){
-            throw new IllegalArgumentException();
-        }
-        this.destinationType = destinationType;
-    }
-
-    public DestinationType getDestinationType(){
-        return destinationType;
-    }
-
-    /**
-     * In less than or equal to zero, the height is not
-     * constrained on the output image. The height is in
-     * user space.
-     */
-    public void setHeight(float height) {
-        this.height = height;
-    }
-
-    public float getHeight(){
-        return height;
-    }
-
-    /**
-     * In less than or equal to zero, the width is not
-     * constrained on the output image. The width is in
-     * user space.
-     */
-    public void setWidth(float width) {
-        this.width = width;
-    }
-
-    public float getWidth(){
-        return width;
-    }
-
-    /**
-     * If less than or equal to zero, the maximum height 
-     * does not have any effect on the output image. 
-     * The maximum height is in user space.
-     */
-    public void setMaxHeight(float height) {
-        this.maxHeight = height;
-    }
-
-    public float getMaxHeight(){
-        return maxHeight;
-    }
-
-    /**
-     * If less than or equal to zero, the maximum width 
-     * does not have any effect on the output image. 
-     * The maximum width is in user space.
-     */
-    public void setMaxWidth(float width) {
-        this.maxWidth = width;
-    }
-
-    public float getMaxWidth(){
-        return maxWidth;
-    }
-
-    /**
-     * Sets the JPEG encoding quality. The value should be strictly
-     * less than 1. If the value is less than zero, then the maximum
-     * encoding quality is used.
-     */
-    public void setQuality(float quality) throws IllegalArgumentException {
-        if(quality >= 1){
-            throw new IllegalArgumentException();
-        }
-
-        this.quality = quality;
-    }
-
-    public float getQuality(){
-        return quality;
-    }
-
-    /**
-     * Tells the PNG encoder to reduce the image to 256 colors, so the
-     * PNG file is indexed.
-     */
-    public void setIndexed(int bits) throws IllegalArgumentException {
-        this.indexed = bits;
-    }
-
-    public int getIndexed(){
-        return indexed;
-    }
-
-    /**
-     * Sets the user language. If the value is null, then the default (see 
-     * {@link org.apache.flex.forks.batik.bridge.UserAgent#getLanguages})
-     * is used.
-     */
-    public void setLanguage(String language){
-        this.language = language;
-    }
-
-    public String getLanguage(){
-        return language;
-    }
-
-    /**
-     * Sets the user stylesheet. May be null.
-     */
-    public void setUserStylesheet(String userStylesheet){
-        this.userStylesheet = userStylesheet;
-    }
-
-    public String getUserStylesheet(){
-        return userStylesheet;
-    }
-
-    /**
-     * Sets the millimeters per pixel constant. A negative
-     * value will cause the default value 
-     * (see {@link org.apache.flex.forks.batik.bridge.UserAgent#getPixelUnitToMillimeter})
-     * to be used.
-     */
-    public void setPixelUnitToMillimeter(float pixelUnitToMillimeter){
-        this.pixelUnitToMillimeter = pixelUnitToMillimeter;
-    }
-
-    public float getPixelUnitToMillimeter(){
-        return pixelUnitToMillimeter;
-    }
-
-    /**
-     * Sets the <tt>area</tt> as a Rectangle. This value can
-     * be null in which case the whole image will be rendered. If the 
-     * area is not null, then only the portion of the image it
-     * defines will be rendered.
-     */
-    public void setArea(Rectangle2D area){
-        this.area = area;
-    }
-
-    public Rectangle2D getArea(){
-        return area;
-    }
-
-    /**
-     * Sets the list of individual SVG sources. The strings 
-     * can be either URLs or file names. Note that invalid
-     * sources (e.g., read-protected files or invalid URLs)
-     * will cause <tt>SVGConverterExceptions</tt> to be 
-     * thrown during the transcoding process (see {@link #execute});
-     */
-    public void setSources(String[] sources) {
-        if(sources == null){
-            this.sources = null;
-        }
-        else{
-            this.sources = new Vector();
-            for (int i=0; i<sources.length; i++){
-                if (sources[i] != null){
-                    this.sources.addElement(sources[i]);
-                }
-            }
-
-            if (this.sources.size() == 0){
-                this.sources = null;
-            }
-        }
-    }
-
-    public Vector getSources(){
-        return sources;
-    }
-
-    /**
-     * When converting a single source, dst can be a file.
-     * Othewise, it should be a directory.
-     */
-    public void setDst(File dst) {
-        this.dst = dst;
-    }
-
-    public File getDst(){
-        return dst;
-    }
-
-    /**
-     * Sets the <tt>backgroundColor</tt> value. This can be
-     * null in which case no color will be used to fill the 
-     * background before rendering this SVG image.
-     */
-    public void setBackgroundColor(Color backgroundColor){
-        this.backgroundColor = backgroundColor;
-    }
-
-    public Color getBackgroundColor(){
-        return backgroundColor;
-    }
-
-    /**
-     * Sets the <tt>mediaType</tt> value. This value controls
-     * the CSS media for which the image should be rendered. It 
-     * can be null, in which case no specific media selectors will
-     * apply. If it is not null, it can contain space separated values
-     * of the medias for which the image should be rendered. For example,
-     * "screen", "print" or "scree projection" are valid values.
-     */
-    public void setMediaType(String mediaType){
-        this.mediaType = mediaType;
-    }
-
-    public String getMediaType(){
-        return mediaType;
-    }
-
-    /**
-     * Sets the <tt>defaultFontFamily</tt> value. This value controls
-     * the default value for the font-family CSS property when that
-     * property is unspecified.
-     */
-    public void setDefaultFontFamily(String defaultFontFamily) {
-        this.defaultFontFamily = defaultFontFamily;
-    }
-
-    public String getDefaultFontFamily() {
-        return defaultFontFamily;
-    }
-
-    /**
-     * Sets the <tt>alternateStyleSheet</tt> value. This value
-     * controls the CSS alternate stylesheet to select in the 
-     * rendered SVG file(s). It may be null, in which case no alternate
-     * stylesheet will be selected.
-     */
-    public void setAlternateStylesheet(String alternateStylesheet){
-        this.alternateStylesheet = alternateStylesheet;
-    }
-
-    public String getAlternateStylesheet(){
-        return alternateStylesheet;
-    }
-
-    /**
-     * Defines whether or not input sources should be validated in
-     * the conversion process
-     */
-    public void setValidate(boolean validate){
-        this.validate = validate;
-    }
-
-    public boolean getValidate(){
-        return validate;
-    }
-
-    /**
-     * Sets whether or not scripts attached to the DOM using 'onload'
-     * event attribute must be executed before rasterizing.
-     *
-     * @param b true means scripts will be executed
-     */
-    public void setExecuteOnload(boolean b){
-        this.executeOnload = b;
-    }
-
-    /**
-     * Returns true if the scripts attached to the DOM using 'onload'
-     * event attribute is going to be executed before rasterizing,
-     * false otherwise.
-     */
-    public boolean getExecuteOnload(){
-        return executeOnload;
-    }
-    
-    /**
-     * Sets the set of allowed script types (i.e., the set of possible
-     * values for the type attribute in the &lt;script&gt; element),
-     * as a comma separated list of allowed values.
-     */
-    public void setAllowedScriptTypes(String allowedScriptTypes){
-        this.allowedScriptTypes = allowedScriptTypes;
-    }
-
-    /**
-     * Returns the list of allowed script types.
-     *
-     * @see #setAllowedScriptTypes
-     */
-    public String getAllowedScriptTypes(){
-        return allowedScriptTypes;
-    }
-
-    /**
-     * Sets whether scripts should only be loaded from the same
-     * location as the documents referencing them.
-     */
-    public void setConstrainScriptOrigin(boolean constrainScriptOrigin){
-        this.constrainScriptOrigin = constrainScriptOrigin;
-    }
-
-    /**
-     * Returns whether scripts can only be loaded from the same
-     * origin as the documents referencing them.
-     */
-    public boolean getConstrainScriptOrigin(){
-        return constrainScriptOrigin;
-    }
-
-    /**
-     * Sets whether or not scripts should be run securely
-     */
-    public void setSecurityOff(boolean securityOff){
-        this.securityOff = securityOff;
-    }
-
-    /**
-     * Returns whether or not scripts will be run securely
-     */
-    public boolean getSecurityOff(){
-        return securityOff;
-    }
-
-    /**
-     * Returns true if f is a File. <code>f</code> is found to be a file if
-     * it exists and is a file. If it does not exist, it is declared
-     * to be a file if it has the same extension as the DestinationType.
-     */
-    protected boolean isFile(File f){
-        if (f.exists()){
-            return f.isFile();
-        } else {
-            if (f.toString().toLowerCase().endsWith(destinationType.getExtension())){
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * Starts the conversion process.
-     * @throws SVGConverterException thrown if parameters are not set correctly.
-     */
-    public void execute() throws SVGConverterException {
-        // Compute the set of SVGConverterSource from the source properties
-        // (srcDir and srcFile);
-        // This throws an exception if there is not at least one src file.
-        Vector sources = computeSources();
-
-        // Compute the destination files from dest
-        Vector dstFiles = null;
-        if(sources.size() == 1 && dst != null && isFile(dst)){
-            dstFiles = new Vector();
-            dstFiles.addElement(dst);
-        }
-        else{
-            dstFiles = computeDstFiles(sources);
-        }
-
-        // Now, get the transcoder to use for the operation
-        Transcoder transcoder = destinationType.getTranscoder();
-        if(transcoder == null) {
-            throw new SVGConverterException(ERROR_CANNOT_ACCESS_TRANSCODER,
-                                             new Object[]{destinationType.toString()},
-                                             true /* fatal error */);
-        }
-
-        // Now, compute the set of transcoding hints to use
-        Map hints = computeTranscodingHints();
-        transcoder.setTranscodingHints(hints);
-
-        // Notify listener that task has been computed
-        if(!controller.proceedWithComputedTask(transcoder,
-                                               hints,
-                                               sources,
-                                               dstFiles)){
-            return;
-        }
-
-        // Convert files one by one
-        for(int i = 0 ; i < sources.size() ; i++) {
-            // Get the file from the vector.
-            SVGConverterSource currentFile 
-                = (SVGConverterSource)sources.elementAt(i);
-            File outputFile  = (File)dstFiles.elementAt(i);
-
-            createOutputDir(outputFile);
-            transcode(currentFile, outputFile, transcoder);
-        }
-    }
-    
-    /**
-     * Populates a vector with destination files names
-     * computed from the names of the files in the sources vector
-     * and the value of the dst property
-     */
-    protected Vector computeDstFiles(Vector sources) 
-    throws SVGConverterException {
-        Vector dstFiles = new Vector();
-        if (dst != null) {
-            if (dst.exists() && dst.isFile()) {
-                throw new SVGConverterException(ERROR_CANNOT_USE_DST_FILE);
-            }
-
-            //
-            // Either dst exist and is a directory or dst does not
-            // exist and we may fail later on in createOutputDir
-            //
-            int n = sources.size();
-            for(int i=0; i<n; i++){
-                SVGConverterSource src = (SVGConverterSource)sources.elementAt(i);
-                // Generate output filename from input filename.
-                File outputName = new File(dst.getPath(), 
-                                           getDestinationFile(src.getName()));
-                dstFiles.addElement(outputName);
-                
-            }
-        } else {
-            //
-            // No destination directory has been specified.
-            // Try and create files in the same directory as the 
-            // sources. This only work if sources are files.
-            //
-            int n = sources.size();
-            for(int i=0; i<n; i++){
-                SVGConverterSource src = (SVGConverterSource)sources.elementAt(i);
-                if (!(src instanceof SVGConverterFileSource)) {
-                    throw new SVGConverterException(ERROR_CANNOT_COMPUTE_DESTINATION,
-                                                     new Object[]{src});
-                }
-
-                // Generate output filename from input filename.
-                SVGConverterFileSource fs = (SVGConverterFileSource)src;
-                File outputName = new File(fs.getFile().getParent(),
-                                           getDestinationFile(src.getName()));
-                dstFiles.addElement(outputName);
-            }
-            
-        }
-
-        return dstFiles;
-    }
-
-    /**
-     * Populates a vector with the set of SVG files from the 
-     * srcDir if it is not null and with the sources (files or URLs)
-     * if any.
-     */
-    protected Vector computeSources() throws SVGConverterException{
-        Vector sources = new Vector();
-
-        // Check that at least one source has been specified.
-        if (this.sources == null){
-            throw new SVGConverterException(ERROR_NO_SOURCES_SPECIFIED);
-        }
-
-        int n = this.sources.size();
-        for (int i=0; i<n; i++){
-            String sourceString = (String)(this.sources.elementAt(i));
-            File file = new File(sourceString);
-            if (file.exists()) {
-                sources.addElement(new SVGConverterFileSource(file));
-            } else {
-                String[] fileNRef = getFileNRef(sourceString);
-                file = new File(fileNRef[0]);
-                if (file.exists()){
-                    sources.addElement(new SVGConverterFileSource(file, fileNRef[1]));
-                } else{
-                    sources.addElement(new SVGConverterURLSource(sourceString));
-                }
-            }
-        }
-        
-        return sources;
-    }
-
-    public String[] getFileNRef(String fileName){
-        int n = fileName.lastIndexOf("#");
-        String[] result = {fileName, ""};
-        if (n > -1){
-            result[0] = fileName.substring(0, n);
-            if (n+1 < fileName.length()){
-                result[1] = fileName.substring(n+1);
-            }
-        }
-
-        return result;
-    }
-
-    // -----------------------------------------------------------------------
-    //   Internal methods
-    // -----------------------------------------------------------------------
-
-    /**
-     * Computes the set of transcoding hints to use for the operation
-     */
-    protected Map computeTranscodingHints(){
-        HashMap map = new HashMap();
-
-        // Set AOI. ----------------------------------------------------------
-        if (area != null) {
-            map.put(ImageTranscoder.KEY_AOI, area);           
-        }
-
-        // Set image quality. ------------------------------------------------
-        if (quality > 0) {
-            map.put(JPEGTranscoder.KEY_QUALITY, new Float(this.quality));
-        } 
-
-        // Set image indexed. ------------------------------------------------
-        if (indexed != -1) {
-            map.put(PNGTranscoder.KEY_INDEXED, new Integer(indexed));
-        } 
-
-        // Set image background color -----------------------------------------
-        if (backgroundColor != null){
-            map.put(ImageTranscoder.KEY_BACKGROUND_COLOR, backgroundColor);
-        }
-
-        // Set image height and width. ----------------------------------------
-        if (height > 0) {
-            map.put(ImageTranscoder.KEY_HEIGHT, new Float(this.height));
-        }
-        if (width > 0){
-            map.put(ImageTranscoder.KEY_WIDTH, new Float(this.width));
-        }
-
-        // Set maximum height and width ---------------------------------------
-        if (maxHeight > 0) {
-            map.put(ImageTranscoder.KEY_MAX_HEIGHT, new Float(this.maxHeight));
-        }
-        if (maxWidth > 0){
-            map.put(ImageTranscoder.KEY_MAX_WIDTH, new Float(this.maxWidth));
-        }
-
-        // Set CSS Media
-        if (mediaType != null){
-            map.put(ImageTranscoder.KEY_MEDIA, mediaType);
-        }
-
-        // Set default font-family
-        if (defaultFontFamily != null) {
-            map.put(ImageTranscoder.KEY_DEFAULT_FONT_FAMILY, defaultFontFamily);
-        }
-
-        // Set alternateStylesheet
-        if (alternateStylesheet != null){
-            map.put(ImageTranscoder.KEY_ALTERNATE_STYLESHEET, alternateStylesheet);
-        }
-
-        // Set user stylesheet
-        if (userStylesheet != null){
-            map.put(ImageTranscoder.KEY_USER_STYLESHEET_URI, userStylesheet);
-        }
-
-        // Set the user language
-        if (language != null){
-            map.put(ImageTranscoder.KEY_LANGUAGE, language);
-        }
-
-        // Sets the millimeters per pixel
-        if (pixelUnitToMillimeter > 0){
-            map.put(ImageTranscoder.KEY_PIXEL_UNIT_TO_MILLIMETER, 
-                    new Float(pixelUnitToMillimeter));
-        }
-
-        // Set validation
-        if (validate){
-            map.put(ImageTranscoder.KEY_XML_PARSER_VALIDATING,
-                    new Boolean(validate));
-        }
-
-        // Set onload
-        if (executeOnload) {
-            map.put(ImageTranscoder.KEY_EXECUTE_ONLOAD, new Boolean(executeOnload));
-        }
-        
-        // Set allowed scripts
-        if (allowedScriptTypes != null) {
-            map.put(ImageTranscoder.KEY_ALLOWED_SCRIPT_TYPES, allowedScriptTypes);
-        }
-
-        // Set constrain script origin
-        if (!constrainScriptOrigin) {
-            map.put(ImageTranscoder.KEY_CONSTRAIN_SCRIPT_ORIGIN, 
-                    new Boolean(constrainScriptOrigin));
-        }
-
-        return map;
-    }
-
-    /**
-     * Converts the input image to the result image.
-     * with the given transcoder. If a failure happens, the 
-     * controller is notified and decides whether to proceed
-     * or not. If it decides to proceed, the converter will
-     * continue processing other files. Otherwise, it will
-     * throw an exception.
-     */
-    protected void transcode(SVGConverterSource inputFile, 
-                             File outputFile,
-                             Transcoder transcoder)
-        throws SVGConverterException {
-        TranscoderInput input = null;
-        TranscoderOutput output = null;
-        OutputStream outputStream = null;
-
-        if (!controller.proceedWithSourceTranscoding(inputFile, 
-                                                     outputFile)){
-            return;
-        }
-
-        try {
-            if (inputFile.isSameAs(outputFile.getPath())) {
-                throw new SVGConverterException(ERROR_SOURCE_SAME_AS_DESTINATION,
-                                                 true /* fatal error */);
-            }
-            
-            // Compute transcoder input.
-            if (!inputFile.isReadable()) {
-                throw new SVGConverterException(ERROR_CANNOT_READ_SOURCE,
-                                                 new Object[]{inputFile.getName()});
-            }
-
-            try {
-                InputStream in = inputFile.openStream();
-                in.close();
-            } catch(IOException ioe) {
-                throw new SVGConverterException(ERROR_CANNOT_OPEN_SOURCE,
-                                                 new Object[] {inputFile.getName(),
-                                                               ioe.toString()});
-                                                               } 
-            
-            input = new TranscoderInput(inputFile.getURI());
-
-            // Compute transcoder output.
-            if (!isWriteable(outputFile)) {
-                throw new SVGConverterException(ERROR_OUTPUT_NOT_WRITEABLE,
-                                                 new Object[] {outputFile.getName()});
-            }
-            try {
-                outputStream = new FileOutputStream(outputFile);
-            } catch(FileNotFoundException fnfe) {
-                throw new SVGConverterException(ERROR_CANNOT_OPEN_OUTPUT_FILE,
-                                                 new Object[] {outputFile.getName()});
-            }
-            
-            output = new TranscoderOutput(outputStream);
-        } catch(SVGConverterException e){
-            boolean proceed = controller.proceedOnSourceTranscodingFailure
-                (inputFile, outputFile, e.getErrorCode());
-            if (proceed){
-                return;
-            } else {
-                throw e;
-            }
-        }
-
-        // Transcode now
-        boolean success = false;
-        try {
-            transcoder.transcode(input, output);
-            success = true;
-        } catch(Exception te) {
-            te.printStackTrace();
-            try {
-                outputStream.flush();
-                outputStream.close();
-            } catch(IOException ioe) {}
-            
-            // Report error to the controller. If controller decides
-            // to stop, throw an exception
-            boolean proceed = controller.proceedOnSourceTranscodingFailure
-                (inputFile, outputFile, ERROR_WHILE_RASTERIZING_FILE);
-
-            if (!proceed){
-                throw new SVGConverterException(ERROR_WHILE_RASTERIZING_FILE,
-                                                 new Object[] {outputFile.getName(),
-                                                               te.getMessage()});
-            }
-        }
-
-        // Close streams and clean up.
-        try {
-            outputStream.flush();
-            outputStream.close();
-        } catch(IOException ioe) {
-            return;
-        }
-
-        if (success){
-            controller.onSourceTranscodingSuccess(inputFile, outputFile);
-        }
-    }
-
-    /**
-     * Get the name of the result image file.
-     *
-     * <P>This method modifies the result filename, it changes the existing 
-     * suffix to correspong the result file type. It also adds the suffix 
-     * if the file doesn't have one.</P>
-     *
-     * @param file Result file name as a String object.
-     *
-     * @return Name of the file. The directory of the file is not returned. 
-     *         The returned string is empty if the parameter is not a file.
-     */
-    protected String getDestinationFile(String file) {
-        int suffixStart;            // Location of the first char of 
-                                    // the suffix in a String.
-        String oldName;             // Existing filename.
-        String newSuffix = destinationType.getExtension();
-                                    // New suffix.
-
-        oldName = file;
-        // Find the first char of the suffix.
-        suffixStart = oldName.lastIndexOf(".");
-        String dest = null;
-        if (suffixStart != -1) {
-            // Replace existing suffix.
-            dest = new String(oldName.substring(0, suffixStart) + newSuffix);
-        } else {
-            // Add new suffix.
-            dest = new String(oldName + newSuffix);
-        }
-
-        return dest;
-    }
-
-    /**
-     * Creates directories for output files if needed.
-     *
-     * @param output Output file with path.
-     *
-     * @throws SVGConverterException Output directory doesn't exist and it can't be created.
-     */
-    protected void createOutputDir(File output)
-        throws SVGConverterException {
-
-        File outputDir;             // Output directory object.
-        boolean success = true;     // false if the output directory 
-                                    // doesn't exist and it can't be created
-                                    // true otherwise
-
-
-        // Create object from output directory.
-        String parentDir = output.getParent();
-        if (parentDir != null){
-            outputDir = new File(output.getParent());
-            if (outputDir.exists() == false) {
-                // Output directory doesn't exist, so create it.
-                success = outputDir.mkdirs();
-            } else {
-                if (outputDir.isDirectory() == false) {
-                    // File, which have a same name as the output directory, exists.
-                    // Create output directory.
-                    success = outputDir.mkdirs();
-                }
-            }
-        }
-
-        if (!success) {
-            throw new SVGConverterException(ERROR_UNABLE_TO_CREATE_OUTPUT_DIR);
-        }
-    }
-
-    /**
-     * Checks if the application is allowed to write to the file.
-     *
-     * @param file File to be checked.
-     *
-     * @return <tt>true</tt> if the file is writeable and <tt>false</tt> otherwise.
-     */
-    protected boolean isWriteable(File file) {
-        if (file.exists()) {
-            // Check the existing file.
-            if (!file.canWrite()) {
-                return false;
-            }
-        } else {
-            // Check the file that doesn't exist yet.
-            // Create a new file. The file is writeable if 
-            // the creation succeeds.
-            try {
-                file.createNewFile();
-            } catch(IOException ioe) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    // -----------------------------------------------------------------------
-    //   Inner classes
-    // -----------------------------------------------------------------------
-
-    /**
-     * Convenience class to filter svg files
-     */
-    public static class SVGFileFilter implements FileFilter {
-        public static final String SVG_EXTENSION = ".svg";
-        
-        public boolean accept(File file){
-            if (file != null && file.getName().toLowerCase().endsWith(SVG_EXTENSION)){
-                return true;
-            }
-            
-            return false;
-        }
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterController.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterController.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterController.java
deleted file mode 100644
index b1bac4c..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterController.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
-
-   Copyright 2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-import java.io.File;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.flex.forks.batik.transcoder.Transcoder;
-
-/**
- * Interface for controlling some aspectes of the 
- * <tt>SVGConverter</tt> operation.
- *
- * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: SVGConverterController.java,v 1.4 2004/08/18 07:12:26 vhardy Exp $
- */
-public interface SVGConverterController {
-    /**
-     * Invoked when the rasterizer has computed the 
-     * exact description of what it should do. The controller 
-     * should return true if the transcoding process should 
-     * proceed or false otherwise.
-     *
-     * @param transcoder Transcoder which will be used 
-     * @param hints set of hints that were set on the transcoder
-     * @param sources list of SVG sources it will convert.
-     * @param dest list of destination file it will use
-     */
-    public boolean proceedWithComputedTask(Transcoder transcoder,
-                                           Map hints,
-                                           Vector sources,
-                                           Vector dest);
-
-    /**
-     * Invoked when the rasterizer is about to start transcoding
-     * of a given source.
-     * The controller should return true if the source should be
-     * transcoded and false otherwise.
-     */
-    public boolean proceedWithSourceTranscoding(SVGConverterSource source,
-                                                File dest);
-        
-    /**
-     * Invoked when the rasterizer got an error while
-     * transcoding the input source. 
-     * The controller should return true if the transcoding process
-     * should continue on other sources and it should return false
-     * if it should not.
-     *
-     * @param errorCode see the {@link SVGConverter} error code descriptions.
-     */
-    public boolean proceedOnSourceTranscodingFailure(SVGConverterSource source,
-                                                     File dest,
-                                                     String errorCode);
-
-    /**
-     * Invoked when the rasterizer successfully transcoded
-     * the input source.
-     */
-    public void onSourceTranscodingSuccess(SVGConverterSource source,
-                                           File dest);
-
-}
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterException.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterException.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterException.java
deleted file mode 100644
index 8d02123..0000000
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/apps/rasterizer/SVGConverterException.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
- */
-package org.apache.flex.forks.batik.apps.rasterizer;
-
-/**
- * Describes an error condition in <tt>SVGConverter</tt>
- *
- * @author <a href="mailto:vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: SVGConverterException.java,v 1.4 2005/03/27 08:58:29 cam Exp $
- */
-public class SVGConverterException extends Exception {
-    /**
-     * Error code
-     */
-    protected String errorCode;
-
-    /**
-     * Additional information about the error condition
-     */
-    protected Object[] errorInfo;
-
-    /**
-     * Defines whether or not this is a fatal error condition
-     */
-    protected boolean isFatal;
-
-    public SVGConverterException(String errorCode){
-        this(errorCode, null, false);
-    }
-
-    public SVGConverterException(String errorCode, 
-                                  Object[] errorInfo){
-        this(errorCode, errorInfo, false);
-    }
-
-    public SVGConverterException(String errorCode,
-                                  Object[] errorInfo,
-                                  boolean isFatal){
-        this.errorCode = errorCode;
-        this.errorInfo = errorInfo;
-        this.isFatal = isFatal;
-    }
-
-    public SVGConverterException(String errorCode,
-                                  boolean isFatal){
-        this(errorCode, null, isFatal);
-    }
-
-    public boolean isFatal(){
-        return isFatal;
-    }
-
-    public String getMessage(){
-        return Messages.formatMessage(errorCode, errorInfo);
-    }
-
-    public String getErrorCode(){
-        return errorCode;
-    }
-}


[17/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GenericBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GenericBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GenericBridge.java
index b51e2d9..b063508 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GenericBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GenericBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.w3c.dom.Element;
  *
  * @author <a href="mailto:vincent.hardy@apache.org">Vincent Hardy</a>
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: GenericBridge.java,v 1.3 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: GenericBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface GenericBridge extends Bridge {
 
@@ -34,8 +35,7 @@ public interface GenericBridge extends Bridge {
      * For example, see the <tt>SVGTitleElementBridge</tt>.
      *
      * @param ctx the bridge context to use
-     * @param e the element that describes the graphics node to build
+     * @param e the element being handled
      */
     void handleElement(BridgeContext ctx, Element e);
-
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GraphicsNodeBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GraphicsNodeBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GraphicsNodeBridge.java
index cfcb7fc..f9509ef 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GraphicsNodeBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GraphicsNodeBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.w3c.dom.Element;
  * according to an <tt>Element</tt>.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: GraphicsNodeBridge.java,v 1.11 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: GraphicsNodeBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface GraphicsNodeBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/InterruptedBridgeException.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/InterruptedBridgeException.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/InterruptedBridgeException.java
index e02422c..2d312ec 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/InterruptedBridgeException.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/InterruptedBridgeException.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,7 +23,7 @@ package org.apache.flex.forks.batik.bridge;
  * current thread was interrupted.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: InterruptedBridgeException.java,v 1.4 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: InterruptedBridgeException.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class InterruptedBridgeException extends RuntimeException {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MarkerBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MarkerBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MarkerBridge.java
index 3ccd1e2..eb8f654 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MarkerBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MarkerBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,7 +25,7 @@ import org.w3c.dom.Element;
  * Factory class for vending <tt>Marker</tt> objects.
  *
  * @author <a href="mailto:vincent.hardy@eng.sun.com">Vincent Hardy</a>
- * @version $Id: MarkerBridge.java,v 1.5 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: MarkerBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface MarkerBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MaskBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MaskBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MaskBridge.java
index 7834564..bb13e0f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MaskBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/MaskBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.w3c.dom.Element;
  * Factory class for vending <tt>Mask</tt> objects.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: MaskBridge.java,v 1.8 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: MaskBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface MaskBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Messages.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Messages.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Messages.java
index 3685ebd..34ff625 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Messages.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Messages.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.apache.flex.forks.batik.i18n.LocalizableSupport;
  * This class manages the message for the bridge module.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: Messages.java,v 1.7 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: Messages.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public class Messages {
 
@@ -38,7 +39,7 @@ public class Messages {
     /**
      * The error messages bundle class name.
      */
-    protected final static String RESOURCES =
+    protected static final String RESOURCES =
         "org.apache.flex.forks.batik.bridge.resources.Messages";
 
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadExternalResourceSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadExternalResourceSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadExternalResourceSecurity.java
index 4851e51..3195181 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadExternalResourceSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadExternalResourceSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,7 +24,7 @@ package org.apache.flex.forks.batik.bridge;
  * referenced from an SVG document.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: NoLoadExternalResourceSecurity.java,v 1.6 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: NoLoadExternalResourceSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class NoLoadExternalResourceSecurity implements ExternalResourceSecurity {
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadScriptSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadScriptSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadScriptSecurity.java
index a90dada..a324fc6 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadScriptSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoLoadScriptSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,7 +23,7 @@ package org.apache.flex.forks.batik.bridge;
  * does not allow scripts to be loaded.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: NoLoadScriptSecurity.java,v 1.6 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: NoLoadScriptSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class NoLoadScriptSecurity implements ScriptSecurity {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoRepaintRunnable.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoRepaintRunnable.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoRepaintRunnable.java
index c0155fe..7a2b0ff 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoRepaintRunnable.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/NoRepaintRunnable.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,7 +23,7 @@ package org.apache.flex.forks.batik.bridge;
  * execution of this runnable.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: NoRepaintRunnable.java,v 1.3 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: NoRepaintRunnable.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface NoRepaintRunnable extends Runnable {
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintBridge.java
index 4c5f397..01378e7 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.w3c.dom.Element;
  * Bridge class for vending <tt>Paint</tt> objects.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: PaintBridge.java,v 1.7 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: PaintBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface PaintBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintServer.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintServer.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintServer.java
index 7e707b7..273d4cf 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintServer.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/PaintServer.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,7 +25,6 @@ import java.awt.Shape;
 import java.awt.Stroke;
 
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
-import org.apache.flex.forks.batik.css.engine.value.ListValue;
 import org.apache.flex.forks.batik.css.engine.value.Value;
 import org.apache.flex.forks.batik.css.engine.value.svg.ICCColor;
 import org.apache.flex.forks.batik.ext.awt.color.ICCColorSpaceExt;
@@ -49,7 +49,7 @@ import org.w3c.dom.css.CSSValue;
  * Paint using the ShapePainter interface.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: PaintServer.java,v 1.17 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: PaintServer.java 498740 2007-01-22 18:35:57Z dvholten $
  */
 public abstract class PaintServer
     implements SVGConstants, CSSConstants, ErrorConstants {
@@ -117,7 +117,7 @@ public abstract class PaintServer
             Element markerElement = ctx.getReferencedElement(e, uri);
             Bridge bridge = ctx.getBridge(markerElement);
             if (bridge == null || !(bridge instanceof MarkerBridge)) {
-                throw new BridgeException(e, ERR_CSS_URI_BAD_TARGET,
+                throw new BridgeException(ctx, e, ERR_CSS_URI_BAD_TARGET,
                                           new Object[] {uri});
             }
             return ((MarkerBridge)bridge).createMarker(ctx, markerElement, e);
@@ -263,7 +263,8 @@ public abstract class PaintServer
                                        ctx);
 
             default:
-                throw new Error(); // can't be reached
+                throw new IllegalArgumentException
+                    ("Paint argument is not an appropriate CSS value");
             }
         } else { // List
             Value v = paintDef.item(0);
@@ -283,7 +284,7 @@ public abstract class PaintServer
                 switch (v.getPrimitiveType()) {
                 case CSSPrimitiveValue.CSS_IDENT:
                     return null; // none
-                    
+
                 case CSSPrimitiveValue.CSS_RGBCOLOR:
                     if (paintDef.getLength() == 2) {
                         return convertColor(v, opacity);
@@ -293,12 +294,14 @@ public abstract class PaintServer
                                                   opacity, ctx);
                     }
                 default:
-                    throw new Error(); // can't be reached
+                    throw new IllegalArgumentException
+                        ("Paint argument is not an appropriate CSS value");
                 }
             }
             default:
                 // can't be reached
-                throw new Error("Unallowed Value: " + v.getPrimitiveType()); 
+                throw new IllegalArgumentException
+                    ("Paint argument is not an appropriate CSS value");
             }
         }
     }
@@ -349,8 +352,9 @@ public abstract class PaintServer
 
         Bridge bridge = ctx.getBridge(paintElement);
         if (bridge == null || !(bridge instanceof PaintBridge)) {
-            throw new BridgeException(paintedElement, ERR_CSS_URI_BAD_TARGET,
-                                      new Object[] {uri});
+            throw new BridgeException
+                (ctx, paintedElement, ERR_CSS_URI_BAD_TARGET,
+                 new Object[] {uri});
         }
         return ((PaintBridge)bridge).createPaint(ctx,
                                                  paintElement,
@@ -545,7 +549,7 @@ public abstract class PaintServer
      */
     public static float convertStrokeMiterlimit(Value v) {
         float miterlimit = v.getFloatValue();
-        return (miterlimit < 1f) ? 1f : miterlimit;
+        return (miterlimit < 1.0f) ? 1.0f : miterlimit;
     }
 
     /**
@@ -562,7 +566,8 @@ public abstract class PaintServer
         case 's':
             return BasicStroke.CAP_SQUARE;
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException
+                ("Linecap argument is not an appropriate CSS value");
         }
     }
 
@@ -581,7 +586,8 @@ public abstract class PaintServer
         case 'b':
             return BasicStroke.JOIN_BEVEL;
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException
+                ("Linejoin argument is not an appropriate CSS value");
         }
     }
 
@@ -605,7 +611,8 @@ public abstract class PaintServer
             f = (f > 255f) ? 255f : (f < 0f) ? 0f : f;
             return Math.round(f);
         default:
-            throw new Error(); // can't be reached
+            throw new IllegalArgumentException
+                ("Color component argument is not an appropriate CSS value");
         }
     }
 
@@ -616,6 +623,6 @@ public abstract class PaintServer
      */
     public static float convertOpacity(Value v) {
         float r = v.getFloatValue();
-        return (r < 0f) ? 0f : (r > 1f) ? 1f : r;
+        return (r < 0f) ? 0f : (r > 1.0f) ? 1.0f : r;
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedExternalResourceSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedExternalResourceSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedExternalResourceSecurity.java
index ec2fcf5..701fbe0 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedExternalResourceSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedExternalResourceSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,7 +25,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * external references.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: RelaxedExternalResourceSecurity.java,v 1.4 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: RelaxedExternalResourceSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class RelaxedExternalResourceSecurity implements ExternalResourceSecurity {
      /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedScriptSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedScriptSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedScriptSecurity.java
index f41e118..d3ab7c3 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedScriptSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RelaxedScriptSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -27,7 +28,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * origin, not that it will run without security checks. 
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: RelaxedScriptSecurity.java,v 1.5 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: RelaxedScriptSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class RelaxedScriptSecurity  implements ScriptSecurity {
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RepaintManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RepaintManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RepaintManager.java
index ebc5ed8..7d3fd11 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RepaintManager.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/RepaintManager.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -35,11 +36,11 @@ import org.apache.flex.forks.batik.ext.awt.geom.RectListManager;
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @author <a href="mailto:vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: RepaintManager.java,v 1.18 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: RepaintManager.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public class RepaintManager {
-    final static int COPY_OVERHEAD      = 10000;
-    final static int COPY_LINE_OVERHEAD = 10;
+    static final int COPY_OVERHEAD      = 10000;
+    static final int COPY_LINE_OVERHEAD = 10;
 
     /**
      * The renderer used to repaint the buffer.
@@ -52,13 +53,13 @@ public class RepaintManager {
     public RepaintManager(ImageRenderer r) {
         renderer = r;
     }
-    
+
     /**
      * Updates the rendering buffer.
      * @param areas The areas of interest in renderer space units.
      * @return the list of the rectangles to repaint.
      */
-    public Collection updateRendering(Collection areas) 
+    public Collection updateRendering(Collection areas)
         throws InterruptedException {
         renderer.flush(areas);
         List rects = new ArrayList(areas.size());
@@ -74,9 +75,9 @@ public class RepaintManager {
             int x1 = (int)Math.ceil(r2d.getX()+r2d.getWidth());
             int y1 = (int)Math.ceil(r2d.getY()+r2d.getHeight());
             // This rectangle must be outset one pixel to ensure
-            // it includes the effects of anti-aliasing on object.s
+            // it includes the effects of anti-aliasing on objects.
             Rectangle r = new Rectangle(x0-1, y0-1, x1-x0+3, y1-y0+3);
-                
+
             rects.add(r);
         }
         RectListManager devRLM =null;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAElementBridge.java
index 40101a9..8908094 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,24 +20,35 @@ package org.apache.flex.forks.batik.bridge;
 
 import java.awt.Cursor;
 
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.flex.forks.batik.dom.events.AbstractEvent;
-import org.apache.flex.forks.batik.dom.util.XLinkSupport;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimationElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.util.ParsedURL;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Element;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
-import org.w3c.dom.events.EventTarget;
-import org.w3c.dom.events.UIEvent;
-import org.w3c.flex.forks.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGAElement;
 
 /**
  * Bridge class for the &lt;a> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: SVGAElementBridge.java,v 1.27 2004/08/18 07:12:32 vhardy Exp $
+ * @version $Id: SVGAElementBridge.java 582031 2007-10-05 00:01:09Z cam $
  */
 public class SVGAElementBridge extends SVGGElementBridge {
 
+    protected AnchorListener          al;
+    protected CursorMouseOverListener bl;
+    protected CursorMouseOutListener  cl;
+
     /**
      * Constructs a new bridge for the &lt;a> element.
      */
@@ -71,21 +83,61 @@ public class SVGAElementBridge extends SVGGElementBridge {
         super.buildGraphicsNode(ctx, e, node);
 
         if (ctx.isInteractive()) {
-            EventTarget target = (EventTarget)e;
-            EventListener l = new AnchorListener(ctx.getUserAgent());
-            target.addEventListener(SVG_EVENT_CLICK, l, false);
-            ctx.storeEventListener(target, SVG_EVENT_CLICK, l, false);
+            NodeEventTarget target = (NodeEventTarget)e;
+            CursorHolder ch = new CursorHolder(CursorManager.DEFAULT_CURSOR);
 
-            l = new CursorMouseOverListener(ctx.getUserAgent());
-            target.addEventListener(SVG_EVENT_MOUSEOVER, l, false);
-            ctx.storeEventListener(target, SVG_EVENT_MOUSEOVER, l, false);
+            al = new AnchorListener(ctx.getUserAgent(), ch);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 al, false, null);
+            ctx.storeEventListenerNS
+                (target, 
+                 XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK,
+                 al, false);
 
-            l = new CursorMouseOutListener(ctx.getUserAgent());
-            target.addEventListener(SVG_EVENT_MOUSEOUT, l, false);
-            ctx.storeEventListener(target, SVG_EVENT_MOUSEOUT, l, false);
+            bl = new CursorMouseOverListener(ctx.getUserAgent(), ch);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 bl, false, null);
+            ctx.storeEventListenerNS
+                (target, 
+                 XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER,
+                 bl, false);
+
+            cl = new CursorMouseOutListener(ctx.getUserAgent(), ch);
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 cl, false, null);
+            ctx.storeEventListenerNS
+                (target, 
+                 XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT,
+                 cl, false);
         }
     }
 
+    public void dispose() {
+        NodeEventTarget target = (NodeEventTarget)e;
+        if (al != null) {
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_CLICK, 
+                 al, false);
+            al = null;
+        }
+        if (bl != null) {
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOVER, 
+                 bl, false);
+            bl = null;
+        }
+        if (cl != null) {
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, SVG_EVENT_MOUSEOUT, 
+                 cl, false);
+            cl = null;
+        }
+        super.dispose();
+    }
+
     /**
      * Returns true as the &lt;a> element is a container.
      */
@@ -93,25 +145,93 @@ public class SVGAElementBridge extends SVGGElementBridge {
         return true;
     }
 
+    public static class CursorHolder {
+        Cursor cursor = null;
+
+        public CursorHolder(Cursor c) {
+            cursor = c;
+        }
+
+        public void holdCursor(Cursor c) {
+            cursor = c;
+        }
+        public Cursor getCursor() {
+            return cursor;
+        }
+    }
+
     /**
      * To handle a click on an anchor.
      */
     public static class AnchorListener implements EventListener {
-
         protected UserAgent userAgent;
+        protected CursorHolder holder;
 
-        public AnchorListener(UserAgent ua) {
+        public AnchorListener(UserAgent ua, CursorHolder ch) {
             userAgent = ua;
+            holder    = ch;
         }
 
         public void handleEvent(Event evt) {
-            if (AbstractEvent.getEventPreventDefault(evt))
-                return;
+            if (!(evt instanceof AbstractEvent)) return;
+            final AbstractEvent ae = (AbstractEvent)evt;
+
+            List l = ae.getDefaultActions();
+            if (l != null) {
+                Iterator i = l.iterator();
+                while (i.hasNext()) {
+                    Object o = i.next();
+                    if (o instanceof AnchorDefaultActionable)
+                        return; // only one anchor in default list...
+                }
+            }
+
+
             SVGAElement elt = (SVGAElement)evt.getCurrentTarget();
-            Cursor cursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
-            userAgent.setSVGCursor(cursor);
+            ae.addDefaultAction(new AnchorDefaultActionable
+                                (elt, userAgent, holder));
+        }
+    }
+
+
+    public static class AnchorDefaultActionable implements Runnable {
+
+        protected SVGOMAElement elt;
+        protected UserAgent     userAgent;
+        protected CursorHolder  holder;
+
+        public AnchorDefaultActionable(SVGAElement   e, 
+                                       UserAgent     ua, 
+                                       CursorHolder  ch) {
+            elt       = (SVGOMAElement) e;
+            userAgent = ua;
+            holder    = ch;
+        }
+        
+        public void run() {
+            userAgent.setSVGCursor(holder.getCursor());
+            String href = elt.getHref().getAnimVal();
+            ParsedURL purl = new ParsedURL(elt.getBaseURI(), href);
+            SVGOMDocument doc = (SVGOMDocument) elt.getOwnerDocument();
+            ParsedURL durl = doc.getParsedURL();
+            if (purl.sameFile(durl)) {
+                String frag = purl.getRef();
+                if (frag != null && frag.length() != 0) {
+                    Element refElt = doc.getElementById(frag);
+                    if (refElt instanceof SVGOMAnimationElement) {
+                        SVGOMAnimationElement aelt =
+                            (SVGOMAnimationElement) refElt;
+                        float t = aelt.getHyperlinkBeginTime();
+                        if (Float.isNaN(t)) {
+                            aelt.beginElement();
+                        } else {
+                            doc.getRootElement().setCurrentTime(t);
+                        }
+                        return;
+                    }
+                }
+            }
             userAgent.openLink(elt);
-            evt.stopPropagation();
         }
     }
 
@@ -121,15 +241,53 @@ public class SVGAElementBridge extends SVGGElementBridge {
     public static class CursorMouseOverListener implements EventListener {
 
         protected UserAgent userAgent;
+        protected CursorHolder holder;
 
-        public CursorMouseOverListener(UserAgent ua) {
+        public CursorMouseOverListener(UserAgent ua, CursorHolder ch) {
             userAgent = ua;
+            holder    = ch;
         }
 
         public void handleEvent(Event evt) {
-            if (AbstractEvent.getEventPreventDefault(evt))
-                return;
-            //
+            if (!(evt instanceof AbstractEvent)) return;
+            final AbstractEvent ae = (AbstractEvent)evt;
+
+            List l = ae.getDefaultActions();
+            if (l != null) {
+                Iterator i = l.iterator();
+                while (i.hasNext()) {
+                    Object o = i.next();
+                    if (o instanceof MouseOverDefaultActionable)
+                        return; // only one anchor in default list...
+                }
+            }
+
+            Element     target     = (Element)ae.getTarget();
+            SVGAElement elt        = (SVGAElement)ae.getCurrentTarget();
+            
+            ae.addDefaultAction(new MouseOverDefaultActionable
+                                (target, elt, userAgent, holder));
+        }
+    }
+
+    public static class MouseOverDefaultActionable implements Runnable {
+
+        protected Element       target;
+        protected SVGAElement   elt;
+        protected UserAgent     userAgent;
+        protected CursorHolder  holder;
+
+        public MouseOverDefaultActionable(Element       t,
+                                          SVGAElement   e,
+                                          UserAgent     ua, 
+                                          CursorHolder  ch) {
+            target    = t;
+            elt       = e;
+            userAgent = ua;
+            holder    = ch;
+        }
+        
+        public void run() {
             // Only modify the cursor if the target's cursor property is 
             // 'auto'. Note that we do not need to check the value of 
             // anchor element as the target's cursor value is resulting
@@ -147,9 +305,8 @@ public class SVGAElementBridge extends SVGGElementBridge {
             // The cursor on the inside rect will be set to the hand cursor and
             // not the wait cursor
             //
-            Element target = (Element)evt.getTarget();
-            
             if (CSSUtilities.isAutoCursor(target)) {
+                holder.holdCursor(CursorManager.DEFAULT_CURSOR);
                 // The target's cursor value is 'auto': use the hand cursor
                 userAgent.setSVGCursor(CursorManager.ANCHOR_CURSOR);
             }
@@ -157,10 +314,8 @@ public class SVGAElementBridge extends SVGGElementBridge {
             // 
             // In all cases, display the href in the userAgent
             //
-
-            SVGAElement elt = (SVGAElement)evt.getCurrentTarget();
             if (elt != null) {
-                String href = XLinkSupport.getXLinkHref(elt);
+                String href = elt.getHref().getAnimVal();
                 userAgent.displayMessage(href);
             }
         }
@@ -172,19 +327,52 @@ public class SVGAElementBridge extends SVGGElementBridge {
     public static class CursorMouseOutListener implements EventListener {
 
         protected UserAgent userAgent;
+        protected CursorHolder holder;
 
-        public CursorMouseOutListener(UserAgent ua) {
+        public CursorMouseOutListener(UserAgent ua, CursorHolder ch) {
             userAgent = ua;
+            holder    = ch;
         }
 
         public void handleEvent(Event evt) {
-            if (AbstractEvent.getEventPreventDefault(evt))
-                return;
+            if (!(evt instanceof AbstractEvent)) return;
+            final AbstractEvent ae = (AbstractEvent)evt;
+            
+            List l = ae.getDefaultActions();
+            if (l != null) {
+                Iterator i = l.iterator();
+                while (i.hasNext()) {
+                    Object o = i.next();
+                    if (o instanceof MouseOutDefaultActionable)
+                        return; // only one anchor in default list...
+                }
+            }
+
+            SVGAElement elt = (SVGAElement)evt.getCurrentTarget();
+            ae.addDefaultAction(new MouseOutDefaultActionable
+                                (elt, userAgent, holder));
+        }
+    }
+    
+    public static class MouseOutDefaultActionable implements Runnable {
+
+        protected SVGAElement   elt;
+        protected UserAgent     userAgent;
+        protected CursorHolder  holder;
+
+        public MouseOutDefaultActionable(SVGAElement   e,
+                                         UserAgent     ua, 
+                                         CursorHolder  ch) {
+            elt       = e;
+            userAgent = ua;
+            holder    = ch;
+        }
+        
+        public void run() {
             // No need to set the cursor on out events: this is taken care of
-            // by the BridgeContext
+            // by the BridgeContext(?)
             
             // Hide the href in the userAgent
-            SVGAElement elt = (SVGAElement)evt.getCurrentTarget();
             if (elt != null) {
                 userAgent.displayMessage("");
             }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphElementBridge.java
index 67e7070..bb9b795 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,27 +18,24 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
-import java.awt.Paint;
-import java.awt.Stroke;
-import java.awt.font.TextAttribute;
 import java.text.AttributedCharacterIterator;
 
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.gvt.font.Glyph;
 import org.apache.flex.forks.batik.gvt.text.GVTAttributedCharacterIterator;
 import org.apache.flex.forks.batik.gvt.text.TextPaintInfo;
+import org.apache.flex.forks.batik.util.XMLConstants;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 /**
  * Bridge class for the &lt;altGlyph> element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGAltGlyphElementBridge.java,v 1.18 2005/03/03 01:19:52 deweese Exp $
+ * @version $Id: SVGAltGlyphElementBridge.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class SVGAltGlyphElementBridge extends AbstractSVGBridge
                                       implements ErrorConstants {
@@ -126,10 +124,10 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
             if (!isLocal) {
                 // need to attach the imported element to the document and
                 // then compute the styles and uris
-                String base = XMLBaseSupport.getCascadedXMLBase(altGlyphElement);
+                String base = AbstractNode.getBaseURI(altGlyphElement);
                 Element g = document.createElementNS(SVG_NAMESPACE_URI, SVG_G_TAG);
                 g.appendChild(localRefElement);
-                g.setAttributeNS(XMLBaseSupport.XML_NAMESPACE_URI,
+                g.setAttributeNS(XMLConstants.XML_NAMESPACE_URI,
                                  "xml:base",
                                  base);
                 CSSUtilities.computeStyleAndURIs(refElement, 
@@ -156,7 +154,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
 
                 NodeList glyphRefNodes
                     = localRefElement.getElementsByTagNameNS(SVG_NAMESPACE_URI,
-							     SVG_GLYPH_REF_TAG);
+                                                             SVG_GLYPH_REF_TAG);
                 int numGlyphRefNodes = glyphRefNodes.getLength();
                 Glyph[] glyphArray = new Glyph[numGlyphRefNodes];
                 for (int i = 0; i < numGlyphRefNodes; i++) {
@@ -178,7 +176,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
 
                 NodeList altGlyphItemNodes
                     = localRefElement.getElementsByTagNameNS
-		    (SVG_NAMESPACE_URI, SVG_ALT_GLYPH_ITEM_TAG);
+                    (SVG_NAMESPACE_URI, SVG_ALT_GLYPH_ITEM_TAG);
                 int numAltGlyphItemNodes = altGlyphItemNodes.getLength();
                 if (numAltGlyphItemNodes > 0) {
                     boolean foundMatchingGlyph = false;
@@ -193,7 +191,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
                         Element altGlyphItemElement = (Element)altGlyphItemNodes.item(i);
                         NodeList altGlyphRefNodes
                             = altGlyphItemElement.getElementsByTagNameNS
-			    (SVG_NAMESPACE_URI, SVG_GLYPH_REF_TAG);
+                            (SVG_NAMESPACE_URI, SVG_GLYPH_REF_TAG);
                         int numAltGlyphRefNodes = altGlyphRefNodes.getLength();
 
                         glyphArray = new Glyph[numAltGlyphRefNodes];
@@ -296,7 +294,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
             localFontElement = (Element)localGlyphElement.getParentNode();
             NodeList fontFaceElements
                 = localFontElement.getElementsByTagNameNS
-		(SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
+                (SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
             if (fontFaceElements.getLength() > 0) {
                 localFontFaceElement = (Element)fontFaceElements.item(0);
             }
@@ -305,10 +303,10 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
             // import the whole font
             localFontElement = (Element)document.importNode
                 (refGlyphElement.getParentNode(), true);
-            String base = XMLBaseSupport.getCascadedXMLBase(altGlyphElement);
+            String base = AbstractNode.getBaseURI(altGlyphElement);
             Element g = document.createElementNS(SVG_NAMESPACE_URI, SVG_G_TAG);
             g.appendChild(localFontElement);
-            g.setAttributeNS(XMLBaseSupport.XML_NAMESPACE_URI,
+            g.setAttributeNS(XMLConstants.XML_NAMESPACE_URI,
                              "xml:base",
                              base);
             CSSUtilities.computeStyleAndURIs(
@@ -319,7 +317,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
             String glyphId = refGlyphElement.getAttributeNS
                 (null, SVG_ID_ATTRIBUTE);
             NodeList glyphElements = localFontElement.getElementsByTagNameNS
-		(SVG_NAMESPACE_URI, SVG_GLYPH_TAG);
+                (SVG_NAMESPACE_URI, SVG_GLYPH_TAG);
             for (int i = 0; i < glyphElements.getLength(); i++) {
                 Element glyphElem = (Element)glyphElements.item(i);
                 if (glyphElem.getAttributeNS(null, SVG_ID_ATTRIBUTE).equals(glyphId)) {
@@ -330,7 +328,7 @@ public class SVGAltGlyphElementBridge extends AbstractSVGBridge
             // get the local font-face element
             NodeList fontFaceElements
                 = localFontElement.getElementsByTagNameNS
-		(SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
+                (SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
             if (fontFaceElements.getLength() > 0) {
                 localFontFaceElement = (Element)fontFaceElements.item(0);
             }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphHandler.java
index 874da24..3c54a17 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphHandler.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAltGlyphHandler.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -32,7 +33,7 @@ import org.w3c.dom.Element;
  * GVTGlyphVector for the altGlyph element.
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: SVGAltGlyphHandler.java,v 1.10 2005/03/03 01:19:52 deweese Exp $
+ * @version $Id: SVGAltGlyphHandler.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVGAltGlyphHandler implements AltGlyphHandler, SVGConstants {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateColorElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateColorElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateColorElementBridge.java
new file mode 100644
index 0000000..d2df07e
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateColorElementBridge.java
@@ -0,0 +1,91 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.ColorAnimation;
+import org.apache.flex.forks.batik.anim.values.AnimatableColorValue;
+import org.apache.flex.forks.batik.anim.values.AnimatablePaintValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.util.SVGTypes;
+
+/**
+ * Bridge class for the 'animateColor' animation element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimateColorElementBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class SVGAnimateColorElementBridge extends SVGAnimateElementBridge {
+
+    /**
+     * Returns 'animateColor'.
+     */
+    public String getLocalName() {
+        return SVG_ANIMATE_COLOR_TAG;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGAnimateColorElementBridge();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected AbstractAnimation createAnimation(AnimationTarget target) {
+        AnimatableValue from = parseAnimatableValue(SVG_FROM_ATTRIBUTE);
+        AnimatableValue to = parseAnimatableValue(SVG_TO_ATTRIBUTE);
+        AnimatableValue by = parseAnimatableValue(SVG_BY_ATTRIBUTE);
+        return new ColorAnimation(timedElement,
+                                  this,
+                                  parseCalcMode(),
+                                  parseKeyTimes(),
+                                  parseKeySplines(),
+                                  parseAdditive(),
+                                  parseAccumulate(),
+                                  parseValues(),
+                                  from,
+                                  to,
+                                  by);
+    }
+
+    /**
+     * Returns whether the animation element being handled by this bridge can
+     * animate attributes of the specified type.
+     * @param type one of the TYPE_ constants defined in {@link SVGTypes}.
+     */
+    protected boolean canAnimateType(int type) {
+        return type == SVGTypes.TYPE_COLOR || type == SVGTypes.TYPE_PAINT;
+    }
+
+    /**
+     * Returns whether the specified {@link AnimatableValue} is of a type allowed
+     * by this animation.
+     */
+    protected boolean checkValueType(AnimatableValue v) {
+        if (v instanceof AnimatablePaintValue) {
+            return ((AnimatablePaintValue) v).getPaintType()
+                == AnimatablePaintValue.PAINT_COLOR;
+        }
+        return v instanceof AnimatableColorValue;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateElementBridge.java
new file mode 100644
index 0000000..84f6a5a
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateElementBridge.java
@@ -0,0 +1,327 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.anim.AnimationEngine;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.SimpleAnimation;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.util.SMILConstants;
+
+/**
+ * Bridge class for the 'animate' animation element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimateElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
+ */
+public class SVGAnimateElementBridge extends SVGAnimationElementBridge {
+
+    /**
+     * Returns 'animate'.
+     */
+    public String getLocalName() {
+        return SVG_ANIMATE_TAG;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGAnimateElementBridge();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected AbstractAnimation createAnimation(AnimationTarget target) {
+        AnimatableValue from = parseAnimatableValue(SVG_FROM_ATTRIBUTE);
+        AnimatableValue to = parseAnimatableValue(SVG_TO_ATTRIBUTE);
+        AnimatableValue by = parseAnimatableValue(SVG_BY_ATTRIBUTE);
+        return new SimpleAnimation(timedElement,
+                                   this,
+                                   parseCalcMode(),
+                                   parseKeyTimes(),
+                                   parseKeySplines(),
+                                   parseAdditive(),
+                                   parseAccumulate(),
+                                   parseValues(),
+                                   from,
+                                   to,
+                                   by);
+    }
+
+    /**
+     * Returns the parsed 'calcMode' attribute from the animation element.
+     */
+    protected int parseCalcMode() {
+        // If the attribute being animated has only non-additive values, take
+        // the animation as having calcMode="discrete".
+        if (animationType == AnimationEngine.ANIM_TYPE_CSS
+                && !targetElement.isPropertyAdditive(attributeLocalName)
+            || animationType == AnimationEngine.ANIM_TYPE_XML
+                && !targetElement.isAttributeAdditive(attributeNamespaceURI,
+                                                      attributeLocalName)) {
+            return SimpleAnimation.CALC_MODE_DISCRETE;
+        }
+
+        String calcModeString = element.getAttributeNS(null,
+                                                       SVG_CALC_MODE_ATTRIBUTE);
+        if (calcModeString.length() == 0) {
+            return getDefaultCalcMode();
+        } else if (calcModeString.equals(SMILConstants.SMIL_LINEAR_VALUE)) {
+            return SimpleAnimation.CALC_MODE_LINEAR;
+        } else if (calcModeString.equals(SMILConstants.SMIL_DISCRETE_VALUE)) {
+            return SimpleAnimation.CALC_MODE_DISCRETE;
+        } else if (calcModeString.equals(SMILConstants.SMIL_PACED_VALUE)) {
+            return SimpleAnimation.CALC_MODE_PACED;
+        } else if (calcModeString.equals(SMILConstants.SMIL_SPLINE_VALUE)) {
+            return SimpleAnimation.CALC_MODE_SPLINE;
+        }
+        throw new BridgeException
+            (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] { SVG_CALC_MODE_ATTRIBUTE, calcModeString });
+    }
+
+    /**
+     * Returns the parsed 'additive' attribute from the animation element.
+     */
+    protected boolean parseAdditive() {
+        String additiveString = element.getAttributeNS(null,
+                                                       SVG_ADDITIVE_ATTRIBUTE);
+        if (additiveString.length() == 0
+                || additiveString.equals(SMILConstants.SMIL_REPLACE_VALUE)) {
+            return false;
+        } else if (additiveString.equals(SMILConstants.SMIL_SUM_VALUE)) {
+            return true;
+        }
+        throw new BridgeException
+            (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] { SVG_ADDITIVE_ATTRIBUTE, additiveString });
+    }
+
+    /**
+     * Returns the parsed 'accumulate' attribute from the animation element.
+     */
+    protected boolean parseAccumulate() {
+        String accumulateString =
+            element.getAttributeNS(null, SVG_ACCUMULATE_ATTRIBUTE);
+        if (accumulateString.length() == 0 ||
+                accumulateString.equals(SMILConstants.SMIL_NONE_VALUE)) {
+            return false;
+        } else if (accumulateString.equals(SMILConstants.SMIL_SUM_VALUE)) {
+            return true;
+        }
+        throw new BridgeException
+            (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+             new Object[] { SVG_ACCUMULATE_ATTRIBUTE, accumulateString });
+    }
+
+    /**
+     * Returns the parsed 'values' attribute from the animation element.
+     */
+    protected AnimatableValue[] parseValues() {
+        boolean isCSS = animationType == AnimationEngine.ANIM_TYPE_CSS;
+        String valuesString = element.getAttributeNS(null,
+                                                     SVG_VALUES_ATTRIBUTE);
+        int len = valuesString.length();
+        if (len == 0) {
+            return null;
+        }
+        ArrayList values = new ArrayList(7);
+        int i = 0, start = 0, end;
+        char c;
+outer:  while (i < len) {
+            while (valuesString.charAt(i) == ' ') {
+                i++;
+                if (i == len) {
+                    break outer;
+                }
+            }
+            start = i++;
+            if (i != len) {
+                c = valuesString.charAt(i);
+                while (c != ';') {
+                    i++;
+                    if (i == len) {
+                        break;
+                    }
+                    c = valuesString.charAt(i);
+                }
+            }
+            end = i++;
+            AnimatableValue val = eng.parseAnimatableValue
+                (element, animationTarget, attributeNamespaceURI,
+                 attributeLocalName, isCSS, valuesString.substring(start, end));
+            if (!checkValueType(val)) {
+                throw new BridgeException
+                    (ctx, element, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] { SVG_VALUES_ATTRIBUTE, valuesString });
+            }
+            values.add(val);
+        }
+        AnimatableValue[] ret = new AnimatableValue[values.size()];
+        return (AnimatableValue[]) values.toArray(ret);
+    }
+
+    /**
+     * Returns the parsed 'keyTimes' attribute from the animation element.
+     */
+    protected float[] parseKeyTimes() {
+        String keyTimesString =
+            element.getAttributeNS(null, SVG_KEY_TIMES_ATTRIBUTE);
+        int len = keyTimesString.length();
+        if (len == 0) {
+            return null;
+        }
+        ArrayList keyTimes = new ArrayList(7);
+        int i = 0, start = 0, end;
+        char c;
+outer:  while (i < len) {
+            while (keyTimesString.charAt(i) == ' ') {
+                i++;
+                if (i == len) {
+                    break outer;
+                }
+            }
+            start = i++;
+            if (i != len) {
+                c = keyTimesString.charAt(i);
+                while (c != ' ' && c != ';') {
+                    i++;
+                    if (i == len) {
+                        break;
+                    }
+                    c = keyTimesString.charAt(i);
+                }
+            }
+            end = i++;
+            try {
+                float keyTime =
+                    Float.parseFloat(keyTimesString.substring(start, end));
+                keyTimes.add(new Float(keyTime));
+            } catch (NumberFormatException nfEx ) {
+                throw new BridgeException
+                    (ctx, element, nfEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] { SVG_KEY_TIMES_ATTRIBUTE, keyTimesString });
+            }
+        }
+        len = keyTimes.size();
+        float[] ret = new float[len];
+        for (int j = 0; j < len; j++) {
+            ret[j] = ((Float) keyTimes.get(j)).floatValue();
+        }
+        return ret;
+    }
+
+    /**
+     * Returns the parsed 'keySplines' attribute from the animation element.
+     */
+    protected float[] parseKeySplines() {
+        String keySplinesString =
+            element.getAttributeNS(null, SVG_KEY_SPLINES_ATTRIBUTE);
+        int len = keySplinesString.length();
+        if (len == 0) {
+            return null;
+        }
+        List keySplines = new ArrayList(7);
+        int count = 0, i = 0, start = 0, end;
+        char c;
+outer:  while (i < len) {
+            while (keySplinesString.charAt(i) == ' ') {
+                i++;
+                if (i == len) {
+                    break outer;
+                }
+            }
+            start = i++;
+            if (i != len) {
+                c = keySplinesString.charAt(i);
+                while (c != ' ' && c != ',' && c != ';') {
+                    i++;
+                    if (i == len) {
+                        break;
+                    }
+                    c = keySplinesString.charAt(i);
+                }
+                end = i++;
+                if (c == ' ') {
+                    do {
+                        if (i == len) {
+                            break;
+                        }
+                        c = keySplinesString.charAt(i++);
+                    } while (c == ' ');
+                    if (c != ';' && c != ',') {
+                        i--;
+                    }
+                }
+                if (c == ';') {
+                    if (count == 3) {
+                        count = 0;
+                    } else {
+                        throw new BridgeException
+                            (ctx, element,
+                             ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                             new Object[] { SVG_KEY_SPLINES_ATTRIBUTE,
+                                            keySplinesString });
+                    }
+                } else {
+                    count++;
+                }
+            } else {
+                end = i++;
+            }
+            try {
+                float keySplineValue =
+                    Float.parseFloat(keySplinesString.substring(start, end));
+                keySplines.add(new Float(keySplineValue));
+            } catch (NumberFormatException nfEx ) {
+                throw new BridgeException
+                    (ctx, element, nfEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] { SVG_KEY_SPLINES_ATTRIBUTE, keySplinesString });
+            }
+        }
+        len = keySplines.size();
+        float[] ret = new float[len];
+        for (int j = 0; j < len; j++) {
+            ret[j] = ((Float) keySplines.get(j)).floatValue();
+        }
+        return ret;
+    }
+
+    /**
+     * Returns the calcMode that the animation defaults to if none is specified.
+     */
+    protected int getDefaultCalcMode() {
+        return SimpleAnimation.CALC_MODE_LINEAR;
+    }
+
+    /**
+     * Returns whether the animation element being handled by this bridge can
+     * animate attributes of the specified type.
+     * @param type one of the TYPE_ constants defined in {@link org.apache.flex.forks.batik.util.SVGTypes}.
+     */
+    protected boolean canAnimateType(int type) {
+        return true;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateMotionElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateMotionElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateMotionElementBridge.java
new file mode 100644
index 0000000..bbfa601
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/SVGAnimateMotionElementBridge.java
@@ -0,0 +1,339 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.flex.forks.batik.anim.AbstractAnimation;
+import org.apache.flex.forks.batik.anim.AnimationEngine;
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.anim.MotionAnimation;
+import org.apache.flex.forks.batik.anim.values.AnimatableMotionPointValue;
+import org.apache.flex.forks.batik.anim.values.AnimatableValue;
+import org.apache.flex.forks.batik.ext.awt.geom.ExtendedGeneralPath;
+import org.apache.flex.forks.batik.dom.svg.SVGAnimatedPathDataSupport;
+import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMPathElement;
+import org.apache.flex.forks.batik.dom.util.XLinkSupport;
+import org.apache.flex.forks.batik.parser.AWTPathProducer;
+import org.apache.flex.forks.batik.parser.AngleHandler;
+import org.apache.flex.forks.batik.parser.AngleParser;
+import org.apache.flex.forks.batik.parser.LengthArrayProducer;
+import org.apache.flex.forks.batik.parser.LengthPairListParser;
+import org.apache.flex.forks.batik.parser.PathParser;
+import org.apache.flex.forks.batik.parser.ParseException;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.svg.SVGAngle;
+
+/**
+ * Bridge class for the 'animateMotion' animation element.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVGAnimateMotionElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
+ */
+public class SVGAnimateMotionElementBridge extends SVGAnimateElementBridge {
+
+    /**
+     * Returns 'animateMotion'.
+     */
+    public String getLocalName() {
+        return SVG_ANIMATE_MOTION_TAG;
+    }
+
+    /**
+     * Returns a new instance of this bridge.
+     */
+    public Bridge getInstance() {
+        return new SVGAnimateMotionElementBridge();
+    }
+
+    /**
+     * Creates the animation object for the animation element.
+     */
+    protected AbstractAnimation createAnimation(AnimationTarget target) {
+        animationType = AnimationEngine.ANIM_TYPE_OTHER;
+        attributeLocalName = "motion";
+
+        AnimatableValue from = parseLengthPair(SVG_FROM_ATTRIBUTE);
+        AnimatableValue to = parseLengthPair(SVG_TO_ATTRIBUTE);
+        AnimatableValue by = parseLengthPair(SVG_BY_ATTRIBUTE);
+
+        boolean rotateAuto = false, rotateAutoReverse = false;
+        float rotateAngle = 0;
+        short rotateAngleUnit = SVGAngle.SVG_ANGLETYPE_UNKNOWN;
+        String rotateString = element.getAttributeNS(null,
+                                                     SVG_ROTATE_ATTRIBUTE);
+        if (rotateString.length() != 0) {
+            if (rotateString.equals("auto")) {
+                rotateAuto = true;
+            } else if (rotateString.equals("auto-reverse")) {
+                rotateAuto = true;
+                rotateAutoReverse = true;
+            } else {
+                class Handler implements AngleHandler {
+                    float theAngle;
+                    short theUnit = SVGAngle.SVG_ANGLETYPE_UNSPECIFIED;
+                    public void startAngle() throws ParseException {
+                    }
+                    public void angleValue(float v) throws ParseException {
+                        theAngle = v;
+                    }
+                    public void deg() throws ParseException {
+                        theUnit = SVGAngle.SVG_ANGLETYPE_DEG;
+                    }
+                    public void grad() throws ParseException {
+                        theUnit = SVGAngle.SVG_ANGLETYPE_GRAD;
+                    }
+                    public void rad() throws ParseException {
+                        theUnit = SVGAngle.SVG_ANGLETYPE_RAD;
+                    }
+                    public void endAngle() throws ParseException {
+                    }
+                }
+                AngleParser ap = new AngleParser();
+                Handler h = new Handler();
+                ap.setAngleHandler(h);
+                try {
+                    ap.parse(rotateString);
+                } catch (ParseException pEx ) {
+                    throw new BridgeException
+                        (ctx, element,
+                         pEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                         new Object[] { SVG_ROTATE_ATTRIBUTE, rotateString });
+                }
+                rotateAngle = h.theAngle;
+                rotateAngleUnit = h.theUnit;
+            }
+        }
+        return new MotionAnimation(timedElement,
+                                   this,
+                                   parseCalcMode(),
+                                   parseKeyTimes(),
+                                   parseKeySplines(),
+                                   parseAdditive(),
+                                   parseAccumulate(),
+                                   parseValues(),
+                                   from,
+                                   to,
+                                   by,
+                                   parsePath(),
+                                   parseKeyPoints(),
+                                   rotateAuto,
+                                   rotateAutoReverse,
+                                   rotateAngle,
+                                   rotateAngleUnit);
+    }
+
+    /**
+     * Returns the parsed 'path' attribute (or the path from a referencing
+     * 'mpath') from the animation element.
+     */
+    protected ExtendedGeneralPath parsePath() {
+        Node n = element.getFirstChild();
+        while (n != null) {
+            if (n.getNodeType() == Node.ELEMENT_NODE
+                    && SVG_NAMESPACE_URI.equals(n.getNamespaceURI())
+                    && SVG_MPATH_TAG.equals(n.getLocalName())) {
+                String uri = XLinkSupport.getXLinkHref((Element) n);
+                Element path = ctx.getReferencedElement(element, uri);
+                if (!SVG_NAMESPACE_URI.equals(path.getNamespaceURI())
+                        || !SVG_PATH_TAG.equals(path.getLocalName())) {
+                    throw new BridgeException
+                        (ctx, element, ErrorConstants.ERR_URI_BAD_TARGET,
+                         new Object[] { uri });
+                }
+                SVGOMPathElement pathElt = (SVGOMPathElement) path;
+                AWTPathProducer app = new AWTPathProducer();
+                SVGAnimatedPathDataSupport.handlePathSegList
+                    (pathElt.getPathSegList(), app);
+                return (ExtendedGeneralPath) app.getShape();
+            }
+            n = n.getNextSibling();
+        }
+        String pathString = element.getAttributeNS(null, SVG_PATH_ATTRIBUTE);
+        if (pathString.length() == 0) {
+            return null;
+        }
+        try {
+            AWTPathProducer app = new AWTPathProducer();
+            PathParser pp = new PathParser();
+            pp.setPathHandler(app);
+            pp.parse(pathString);
+            return (ExtendedGeneralPath) app.getShape();
+        } catch (ParseException pEx ) {
+            throw new BridgeException
+                (ctx, element, pEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] { SVG_PATH_ATTRIBUTE, pathString });
+        }
+    }
+
+    /**
+     * Returns the parsed 'keyPoints' attribute from the animation element.
+     */
+    protected float[] parseKeyPoints() {
+        String keyPointsString =
+            element.getAttributeNS(null, SVG_KEY_POINTS_ATTRIBUTE);
+        int len = keyPointsString.length();
+        if (len == 0) {
+            return null;
+        }
+        List keyPoints = new ArrayList(7);
+        int i = 0, start = 0, end;
+        char c;
+outer:  while (i < len) {
+            while (keyPointsString.charAt(i) == ' ') {
+                i++;
+                if (i == len) {
+                    break outer;
+                }
+            }
+            start = i++;
+            if (i != len) {
+                c = keyPointsString.charAt(i);
+                while (c != ' ' && c != ';' && c != ',') {
+                    i++;
+                    if (i == len) {
+                        break;
+                    }
+                    c = keyPointsString.charAt(i);
+                }
+            }
+            end = i++;
+            try {
+                float keyPointCoord =
+                    Float.parseFloat(keyPointsString.substring(start, end));
+                keyPoints.add(new Float(keyPointCoord));
+            } catch (NumberFormatException nfEx ) {
+                throw new BridgeException
+                    (ctx, element, nfEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] { SVG_KEY_POINTS_ATTRIBUTE, keyPointsString });
+            }
+        }
+        len = keyPoints.size();
+        float[] ret = new float[len];
+        for (int j = 0; j < len; j++) {
+            ret[j] = ((Float) keyPoints.get(j)).floatValue();
+        }
+        return ret;
+    }
+
+    /**
+     * Returns the calcMode that the animation defaults to if none is specified.
+     */
+    protected int getDefaultCalcMode() {
+        return MotionAnimation.CALC_MODE_PACED;
+    }
+
+    /**
+     * Returns the parsed 'values' attribute from the animation element.
+     */
+    protected AnimatableValue[] parseValues() {
+        String valuesString = element.getAttributeNS(null,
+                                                     SVG_VALUES_ATTRIBUTE);
+        int len = valuesString.length();
+        if (len == 0) {
+            return null;
+        }
+        return parseValues(valuesString);
+    }
+
+    protected AnimatableValue[] parseValues(String s) {
+        try {
+            LengthPairListParser lplp = new LengthPairListParser();
+            LengthArrayProducer lap = new LengthArrayProducer();
+            lplp.setLengthListHandler(lap);
+            lplp.parse(s);
+            short[] types = lap.getLengthTypeArray();
+            float[] values = lap.getLengthValueArray();
+            AnimatableValue[] ret = new AnimatableValue[types.length / 2];
+            for (int i = 0; i < types.length; i += 2) {
+                float x = animationTarget.svgToUserSpace
+                    (values[i], types[i], AnimationTarget.PERCENTAGE_VIEWPORT_WIDTH);
+                float y = animationTarget.svgToUserSpace
+                    (values[i + 1], types[i + 1], AnimationTarget.PERCENTAGE_VIEWPORT_HEIGHT);
+                ret[i / 2] = new AnimatableMotionPointValue(animationTarget, x, y, 0);
+            }
+            return ret;
+        } catch (ParseException pEx ) {
+            throw new BridgeException
+                (ctx, element, pEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] { SVG_VALUES_ATTRIBUTE, s });
+        }
+    }
+
+    /**
+     * Parses a single comma-separated length pair.
+     */
+    protected AnimatableValue parseLengthPair(String ln) {
+        String s = element.getAttributeNS(null, ln);
+        if (s.length() == 0) {
+            return null;
+        }
+        return parseValues(s)[0];
+    }
+
+    // AnimatableElement /////////////////////////////////////////////////////
+
+    /**
+     * Returns the underlying value of the animated attribute.  Used for
+     * composition of additive animations.
+     */
+    public AnimatableValue getUnderlyingValue() {
+        return new AnimatableMotionPointValue(animationTarget, 0f, 0f, 0f);
+    }
+
+    /**
+     * Parses the animation element's target attributes and adds it to the
+     * document's AnimationEngine.
+     */
+    protected void initializeAnimation() {
+        // Determine the target element.
+        String uri = XLinkSupport.getXLinkHref(element);
+        Node t;
+        if (uri.length() == 0) {
+            t = element.getParentNode();
+        } else {
+            t = ctx.getReferencedElement(element, uri);
+            if (t.getOwnerDocument() != element.getOwnerDocument()) {
+                throw new BridgeException
+                    (ctx, element, ErrorConstants.ERR_URI_BAD_TARGET,
+                     new Object[] { uri });
+            }
+        }
+        animationTarget = null;
+        if (t instanceof SVGOMElement) {
+            targetElement = (SVGOMElement) t;
+            animationTarget = targetElement;
+        }
+        if (animationTarget == null) {
+            throw new BridgeException
+                (ctx, element, ErrorConstants.ERR_URI_BAD_TARGET,
+                 new Object[] { uri });
+        }
+
+        // Add the animation.
+        timedElement = createTimedElement();
+        animation = createAnimation(animationTarget);
+        eng.addAnimation(animationTarget, AnimationEngine.ANIM_TYPE_OTHER,
+                         attributeNamespaceURI, attributeLocalName, animation);
+    }
+}


[20/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractGraphicsNodeBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractGraphicsNodeBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractGraphicsNodeBridge.java
index fb6de66..c08d325 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractGraphicsNodeBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractGraphicsNodeBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,8 +25,14 @@ import java.lang.ref.SoftReference;
 
 import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
+import org.apache.flex.forks.batik.dom.events.AbstractEvent;
+import org.apache.flex.forks.batik.dom.svg.AbstractSVGTransformList;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.LiveAttributeException;
 import org.apache.flex.forks.batik.dom.svg.SVGContext;
+import org.apache.flex.forks.batik.dom.svg.SVGMotionAnimatableElement;
 import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimatedTransformList;
 import org.apache.flex.forks.batik.ext.awt.geom.SegmentList;
 import org.apache.flex.forks.batik.gvt.CanvasGraphicsNode;
 import org.apache.flex.forks.batik.gvt.CompositeGraphicsNode;
@@ -33,8 +40,11 @@ import org.apache.flex.forks.batik.gvt.GraphicsNode;
 
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.EventTarget;
 import org.w3c.dom.events.MutationEvent;
-import org.w3c.flex.forks.dom.svg.SVGFitToViewBox;
+import org.w3c.dom.svg.SVGFitToViewBox;
+import org.w3c.dom.svg.SVGTransformable;
 
 /**
  * The base bridge class for SVG graphics node. By default, the namespace URI is
@@ -55,18 +65,13 @@ import org.w3c.flex.forks.dom.svg.SVGFitToViewBox;
  * </ul>
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractGraphicsNodeBridge.java,v 1.40 2005/02/27 02:08:51 deweese Exp $
+ * @version $Id: AbstractGraphicsNodeBridge.java 598518 2007-11-27 05:07:26Z cam $
  */
-public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
-    implements SVGContext, 
-               BridgeUpdateHandler, 
-               GraphicsNodeBridge, 
+public abstract class AbstractGraphicsNodeBridge extends AnimatableSVGBridge
+    implements SVGContext,
+               BridgeUpdateHandler,
+               GraphicsNodeBridge,
                ErrorConstants {
-    
-    /**
-     * The element that has been handled by this bridge.
-     */
-    protected Element e;
 
     /**
      * The graphics node constructed by this bridge.
@@ -74,9 +79,14 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
     protected GraphicsNode node;
 
     /**
-     * The bridge context to use for dynamic updates.
+     * Whether the document is an SVG 1.2 document.
+     */
+    protected boolean isSVG12;
+
+    /**
+     * The unit context for length conversions.
      */
-    protected BridgeContext ctx;
+    protected UnitProcessor.Context unitContext;
 
     /**
      * Constructs a new abstract bridge.
@@ -97,14 +107,15 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
         }
 
         GraphicsNode node = instantiateGraphicsNode();
+
         // 'transform'
-        String s = e.getAttributeNS(null, SVG_TRANSFORM_ATTRIBUTE);
-        if (s.length() != 0) {
-            node.setTransform
-                (SVGUtilities.convertTransform(e, SVG_TRANSFORM_ATTRIBUTE, s));
-        }
+        setTransform(node, e, ctx);
+
         // 'visibility'
         node.setVisible(CSSUtilities.convertVisibility(e));
+
+        associateSVGContext(ctx, e, node);
+
         return node;
     }
 
@@ -148,26 +159,75 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
     }
 
     /**
+     * Returns an {@link AffineTransform} that is the transformation to
+     * be applied to the node.
+     */
+    protected AffineTransform computeTransform(SVGTransformable te,
+                                               BridgeContext ctx) {
+        try {
+            AffineTransform at = new AffineTransform();
+
+            // 'transform'
+            SVGOMAnimatedTransformList atl =
+                (SVGOMAnimatedTransformList) te.getTransform();
+            if (atl.isSpecified()) {
+                atl.check();
+                AbstractSVGTransformList tl =
+                    (AbstractSVGTransformList) te.getTransform().getAnimVal();
+                at.concatenate(tl.getAffineTransform());
+            }
+
+            // motion animation
+            if (e instanceof SVGMotionAnimatableElement) {
+                SVGMotionAnimatableElement mae = (SVGMotionAnimatableElement) e;
+                AffineTransform mat = mae.getMotionTransform();
+                if (mat != null) {
+                    at.concatenate(mat);
+                }
+            }
+
+            return at;
+        } catch (LiveAttributeException ex) {
+            throw new BridgeException(ctx, ex);
+        }
+    }
+
+    /**
+     * Sets the graphics node's transform to the current animated transform
+     * value.
+     */
+    protected void setTransform(GraphicsNode n, Element e, BridgeContext ctx) {
+        n.setTransform(computeTransform((SVGTransformable) e, ctx));
+    }
+
+    /**
+     * Associates the {@link SVGContext} with the element.  This method should
+     * be called even for static documents, since some bridges will need to
+     * access animated attribute values even during the first build.
+     */
+    protected void associateSVGContext(BridgeContext ctx,
+                                       Element e,
+                                       GraphicsNode node) {
+        this.e = e;
+        this.node = node;
+        this.ctx = ctx;
+        this.unitContext = UnitProcessor.createContext(ctx, e);
+        this.isSVG12 = ctx.isSVG12();
+        ((SVGOMElement)e).setSVGContext(this);
+    }
+
+    /**
      * This method is invoked during the build phase if the document
-     * is dynamic. The responsability of this method is to ensure that
+     * is dynamic. The responsibility of this method is to ensure that
      * any dynamic modifications of the element this bridge is
      * dedicated to, happen on its associated GVT product.
      */
     protected void initializeDynamicSupport(BridgeContext ctx,
                                             Element e,
                                             GraphicsNode node) {
-        if (!ctx.isInteractive())
-            return;
-
-        // Bind the nodes for interactive and dynamic
-        ctx.bind(e, node);
-
-        if (ctx.isDynamic()) {
-            // only set context for dynamic documents not interactive.
-            this.e = e;
-            this.node = node;
-            this.ctx = ctx;
-            ((SVGOMElement)e).setSVGContext(this);
+        if (ctx.isInteractive()) {
+            // Bind the nodes for interactive and dynamic.
+            ctx.bind(e, node);
         }
     }
 
@@ -177,33 +237,46 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
      * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
      */
     public void handleDOMAttrModifiedEvent(MutationEvent evt) {
-        String attrName = evt.getAttrName();
-        if (attrName.equals(SVG_TRANSFORM_ATTRIBUTE)) {
-            String s = evt.getNewValue();
-            AffineTransform at = GraphicsNode.IDENTITY;
-            if (s.length() != 0) {
-                at = SVGUtilities.convertTransform
-                    (e, SVG_TRANSFORM_ATTRIBUTE, s);
-            }
-            node.setTransform(at);
-            handleGeometryChanged();
-        }
     }
 
     /**
-     * Invoked when the geometry of an graphical element has changed.
+     * Invoked when the geometry of a graphical element has changed.
      */
-    protected  void handleGeometryChanged() {
+    protected void handleGeometryChanged() {
         node.setFilter(CSSUtilities.convertFilter(e, node, ctx));
         node.setMask(CSSUtilities.convertMask(e, node, ctx));
         node.setClip(CSSUtilities.convertClipPath(e, node, ctx));
+        if (isSVG12) {
+            if (!SVG_USE_TAG.equals(e.getLocalName())) {
+                // ShapeChange events get fired only for basic shapes and paths.
+                fireShapeChangeEvent();
+            }
+            fireBBoxChangeEvent();
+        }
+    }
+
+    /**
+     * Fires a ShapeChange event on the element this bridge is managing.
+     */
+    protected void fireShapeChangeEvent() {
+        DocumentEvent d = (DocumentEvent) e.getOwnerDocument();
+        AbstractEvent evt = (AbstractEvent) d.createEvent("SVGEvents");
+        evt.initEventNS(SVG_NAMESPACE_URI,
+                        "shapechange",
+                        true,
+                        false);
+        try {
+            ((EventTarget) e).dispatchEvent(evt);
+        } catch (RuntimeException ex) {
+            ctx.getUserAgent().displayError(ex);
+        }
     }
 
     /**
      * Invoked when an MutationEvent of type 'DOMNodeInserted' is fired.
      */
     public void handleDOMNodeInsertedEvent(MutationEvent evt) {
-        if ( evt.getTarget() instanceof Element ){
+        if (evt.getTarget() instanceof Element) {
             // Handle "generic" bridges.
             Element e2 = (Element)evt.getTarget();
             Bridge b = ctx.getBridge(e2);
@@ -217,13 +290,21 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
      * Invoked when an MutationEvent of type 'DOMNodeRemoved' is fired.
      */
     public void handleDOMNodeRemovedEvent(MutationEvent evt) {
+        Node parent = e.getParentNode();
+        if (parent instanceof SVGOMElement) {
+            SVGContext bridge = ((SVGOMElement) parent).getSVGContext();
+            if (bridge instanceof SVGSwitchElementBridge) {
+                ((SVGSwitchElementBridge) bridge).handleChildElementRemoved(e);
+                return;
+            }
+        }
         CompositeGraphicsNode gn = node.getParent();
         gn.remove(node);
         disposeTree(e);
     }
 
     /**
-     * Invoked when an MutationEvent of type 'DOMCharacterDataModified' 
+     * Invoked when an MutationEvent of type 'DOMCharacterDataModified'
      * is fired.
      */
     public void handleDOMCharacterDataModified(MutationEvent evt) {
@@ -236,21 +317,35 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
         SVGOMElement elt = (SVGOMElement)e;
         elt.setSVGContext(null);
         ctx.unbind(e);
+
+        bboxShape = null;
     }
 
+    /**
+     * Disposes all resources related to the specified node and its subtree.
+     */
+    protected void disposeTree(Node node) {
+        disposeTree(node, true);
+    }
 
     /**
-     * Disposes all resources related to the specified node and its subtree
+     * Disposes all resources related to the specified node and its subtree,
+     * and optionally removes the nodes' {@link SVGContext}.
      */
-    static void disposeTree(Node node) {
+    protected void disposeTree(Node node, boolean removeContext) {
         if (node instanceof SVGOMElement) {
             SVGOMElement elt = (SVGOMElement)node;
-            BridgeUpdateHandler h = (BridgeUpdateHandler)elt.getSVGContext();
-            if (h != null)
+            SVGContext ctx = elt.getSVGContext();
+            if (ctx instanceof BridgeUpdateHandler) {
+                BridgeUpdateHandler h = (BridgeUpdateHandler) ctx;
+                if (removeContext) {
+                    elt.setSVGContext(null);
+                }
                 h.dispose();
+            }
         }
-        for (Node n = node.getFirstChild(); n!=null; n = n.getNextSibling()) {
-            disposeTree(n);
+        for (Node n = node.getFirstChild(); n != null; n = n.getNextSibling()) {
+            disposeTree(n, removeContext);
         }
     }
 
@@ -259,9 +354,13 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
      */
     public void handleCSSEngineEvent(CSSEngineEvent evt) {
         try {
-            int [] properties = evt.getProperties();
-            for (int i=0; i < properties.length; ++i) {
-                handleCSSPropertyChanged(properties[i]);
+            SVGCSSEngine eng = (SVGCSSEngine) evt.getSource();
+            int[] properties = evt.getProperties();
+            for (int i = 0; i < properties.length; i++) {
+                int idx = properties[i];
+                handleCSSPropertyChanged(idx);
+                String pn = eng.getPropertyName(idx);
+                fireBaseAttributeListeners(pn);
             }
         } catch (Exception ex) {
             ctx.getUserAgent().displayError(ex);
@@ -295,14 +394,72 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
             if (!getDisplay(e)) {
                 // Remove the subtree.
                 CompositeGraphicsNode parent = node.getParent();
-                int idx = parent.indexOf(node);
                 parent.remove(node);
-                disposeTree(e);
+                disposeTree(e, false);
             }
             break;
         }
     }
 
+    /**
+     * Invoked when the animated value of an animatable attribute has changed.
+     */
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+        if (alav.getNamespaceURI() == null
+                && alav.getLocalName().equals(SVG_TRANSFORM_ATTRIBUTE)) {
+            setTransform(node, e, ctx);
+            handleGeometryChanged();
+        }
+    }
+
+    /**
+     * Invoked when an 'other' animation value has changed.
+     */
+    public void handleOtherAnimationChanged(String type) {
+        if (type.equals("motion")) {
+            setTransform(node, e, ctx);
+            handleGeometryChanged();
+        }
+    }
+
+    /**
+     * Checks if the bounding box of the node has changed, and if so,
+     * fires a bboxchange event on the element.
+     */
+    protected void checkBBoxChange() {
+        if (e != null) {
+            /*Rectangle2D oldBBox = bbox;
+            Rectangle2D newBBox = getBBox();
+            if (oldBBox != newBBox && newBBox != null) {
+                if (oldBBox == null ||
+                        oldBBox.getX() != bbox.getX()
+                        || oldBBox.getY() != bbox.getY()
+                        || oldBBox.getWidth() != bbox.getWidth()
+                        || oldBBox.getHeight() != bbox.getHeight()) {*/
+                    fireBBoxChangeEvent();
+                /*}
+            }*/
+        }
+    }
+
+    /**
+     * Fires an svg:bboxchange event on the element.
+     */
+    protected void fireBBoxChangeEvent() {
+        DocumentEvent d = (DocumentEvent) e.getOwnerDocument();
+        AbstractEvent evt = (AbstractEvent) d.createEvent("SVGEvents");
+        evt.initEventNS(SVG_NAMESPACE_URI,
+                        "RenderedBBoxChange",
+                        true,
+                        false);
+        try {
+            ((EventTarget) e).dispatchEvent(evt);
+        } catch (RuntimeException ex) {
+            ctx.getUserAgent().displayError(ex);
+        }
+    }
+
     // SVGContext implementation ///////////////////////////////////////////
 
     /**
@@ -319,7 +476,6 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
      */
     public float getPixelToMM() {
         return getPixelUnitToMillimeter();
-            
     }
 
     protected SoftReference bboxShape = null;
@@ -332,8 +488,11 @@ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge
      * stroke-width and filter effects).
      */
     public Rectangle2D getBBox() {
+        if (node == null) {
+            return null;
+        }
         Shape s = node.getOutline();
-        
+
         if ((bboxShape != null) && (s == bboxShape.get())) return bbox;
         bboxShape = new SoftReference(s); // don't keep this live.
         bbox = null;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGBridge.java
index 252b499..79ea0d4 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,7 +24,7 @@ import org.apache.flex.forks.batik.util.SVGConstants;
  * The base bridge class for SVG elements.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractSVGBridge.java,v 1.5 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: AbstractSVGBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public abstract class AbstractSVGBridge implements Bridge, SVGConstants {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGFilterPrimitiveElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGFilterPrimitiveElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGFilterPrimitiveElementBridge.java
index 1cd52cb..5dd8720 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGFilterPrimitiveElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGFilterPrimitiveElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,11 +37,11 @@ import org.w3c.dom.Element;
  * The base bridge class for SVG filter primitives.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractSVGFilterPrimitiveElementBridge.java,v 1.11 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: AbstractSVGFilterPrimitiveElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public abstract class AbstractSVGFilterPrimitiveElementBridge
-    extends AbstractSVGBridge
-    implements FilterPrimitiveBridge, ErrorConstants {
+        extends AnimatableGenericSVGBridge
+        implements FilterPrimitiveBridge, ErrorConstants {
 
     /**
      * Constructs a new bridge for a filter primitive element.
@@ -99,7 +100,7 @@ public abstract class AbstractSVGFilterPrimitiveElementBridge
 
         String s = filterElement.getAttributeNS(null, SVG_IN2_ATTRIBUTE);
         if (s.length() == 0) {
-            throw new BridgeException(filterElement, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, filterElement, ERR_ATTRIBUTE_MISSING,
                                       new Object [] {SVG_IN2_ATTRIBUTE});
         }
         return getFilterSource(filterElement,
@@ -194,14 +195,14 @@ public abstract class AbstractSVGFilterPrimitiveElementBridge
                 if (SVG_BACKGROUND_IMAGE_VALUE.equals(s)) {
                     // BackgroundImage
                     source = new BackgroundRable8Bit(filteredNode);
-                    source = new PadRable8Bit(source, filterRegion, 
+                    source = new PadRable8Bit(source, filterRegion,
                                               PadMode.ZERO_PAD);
                 }
             } else if (SVG_BACKGROUND_ALPHA_VALUE.equals(s)) {
                 // BackgroundAlpha
                 source = new BackgroundRable8Bit(filteredNode);
                 source = new FilterAlphaRable(source);
-                source = new PadRable8Bit(source, filterRegion, 
+                source = new PadRable8Bit(source, filterRegion,
                                           PadMode.ZERO_PAD);
             }
             break;
@@ -244,19 +245,21 @@ public abstract class AbstractSVGFilterPrimitiveElementBridge
      * @param filterElement the filter primitive element
      * @param attrName the name of the attribute
      * @param defaultValue the default value of the attribute
+     * @param ctx the BridgeContext to use for error information
      */
     protected static int convertInteger(Element filterElement,
                                         String attrName,
-                                        int defaultValue) {
+                                        int defaultValue,
+                                        BridgeContext ctx) {
         String s = filterElement.getAttributeNS(null, attrName);
         if (s.length() == 0) {
             return defaultValue;
         } else {
             try {
                 return SVGUtilities.convertSVGInteger(s);
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object[] {attrName, s});
             }
         }
@@ -270,10 +273,12 @@ public abstract class AbstractSVGFilterPrimitiveElementBridge
      * @param filterElement the filter primitive element
      * @param attrName the name of the attribute
      * @param defaultValue the default value of the attribute
+     * @param ctx the BridgeContext to use for error information
      */
     protected static float convertNumber(Element filterElement,
                                          String attrName,
-                                         float defaultValue) {
+                                         float defaultValue,
+                                         BridgeContext ctx) {
 
         String s = filterElement.getAttributeNS(null, attrName);
         if (s.length() == 0) {
@@ -281,10 +286,10 @@ public abstract class AbstractSVGFilterPrimitiveElementBridge
         } else {
             try {
                 return SVGUtilities.convertSVGNumber(s);
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx) {
                 throw new BridgeException
-                    (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {attrName, s, ex});
+                    (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {attrName, s, nfEx});
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGGradientElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGGradientElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGGradientElementBridge.java
index 434d26c..f28a211 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGGradientElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGGradientElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -24,11 +25,12 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.ext.awt.MultipleGradientPaint;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.util.ParsedURL;
+
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
@@ -36,10 +38,11 @@ import org.w3c.dom.Node;
  * Bridge class for vending gradients.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractSVGGradientElementBridge.java,v 1.12 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: AbstractSVGGradientElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
-public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
-    implements PaintBridge, ErrorConstants {
+public abstract class AbstractSVGGradientElementBridge
+        extends AnimatableGenericSVGBridge
+        implements PaintBridge, ErrorConstants {
 
     /**
      * Constructs a new AbstractSVGGradientElementBridge.
@@ -89,7 +92,7 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
         s = SVGUtilities.getChainableAttributeNS
             (paintElement, null, SVG_SPREAD_METHOD_ATTRIBUTE, ctx);
         if (s.length() != 0) {
-            spreadMethod = convertSpreadMethod(paintElement, s);
+            spreadMethod = convertSpreadMethod(paintElement, s, ctx);
         }
 
         // 'color-interpolation' CSS property
@@ -102,7 +105,7 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
             (paintElement, null, SVG_GRADIENT_TRANSFORM_ATTRIBUTE, ctx);
         if (s.length() != 0) {
             transform = SVGUtilities.convertTransform
-                (paintElement, SVG_GRADIENT_TRANSFORM_ATTRIBUTE, s);
+                (paintElement, SVG_GRADIENT_TRANSFORM_ATTRIBUTE, s, ctx);
         } else {
             transform = new AffineTransform();
         }
@@ -150,9 +153,10 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
      *
      * @param paintElement the paint Element with a spreadMethod
      * @param s the spread method
+     * @param ctx the BridgeContext to use for error information
      */
     protected static MultipleGradientPaint.CycleMethodEnum convertSpreadMethod
-        (Element paintElement, String s) {
+        (Element paintElement, String s, BridgeContext ctx) {
         if (SVG_REPEAT_VALUE.equals(s)) {
             return MultipleGradientPaint.REPEAT;
         }
@@ -163,7 +167,7 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
             return MultipleGradientPaint.NO_CYCLE;
         }
         throw new BridgeException
-            (paintElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+            (ctx, paintElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
              new Object[] {SVG_SPREAD_METHOD_ATTRIBUTE, s});
     }
 
@@ -191,15 +195,11 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
                 return null; // no xlink:href found, exit
             }
             // check if there is circular dependencies
-            SVGOMDocument doc = (SVGOMDocument)paintElement.getOwnerDocument();
-            ParsedURL purl = new ParsedURL(doc.getURL(), uri);
-            if (!purl.complete())
-                throw new BridgeException(paintElement,
-                                          ERR_URI_MALFORMED,
-                                          new Object[] {uri});
+            String baseURI = ((AbstractNode) paintElement).getBaseURI();
+            ParsedURL purl = new ParsedURL(baseURI, uri);
 
             if (contains(refs, purl)) {
-                throw new BridgeException(paintElement,
+                throw new BridgeException(ctx, paintElement,
                                           ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES,
                                           new Object[] {uri});
             }
@@ -290,8 +290,8 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
     /**
      * Bridge class for the gradient &lt;stop> element.
      */
-    public static class SVGStopElementBridge extends AbstractSVGBridge
-        implements Bridge {
+    public static class SVGStopElementBridge extends AnimatableGenericSVGBridge
+            implements Bridge {
 
         /**
          * Returns 'stop'.
@@ -315,16 +315,17 @@ public abstract class AbstractSVGGradientElementBridge extends AbstractSVGBridge
 
             String s = stopElement.getAttributeNS(null, SVG_OFFSET_ATTRIBUTE);
             if (s.length() == 0) {
-                throw new BridgeException(stopElement, ERR_ATTRIBUTE_MISSING,
-                                          new Object[] {SVG_OFFSET_ATTRIBUTE});
+                throw new BridgeException
+                    (ctx, stopElement, ERR_ATTRIBUTE_MISSING,
+                     new Object[] {SVG_OFFSET_ATTRIBUTE});
             }
             float offset;
             try {
                 offset = SVGUtilities.convertRatio(s);
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (stopElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
-                     new Object[] {SVG_OFFSET_ATTRIBUTE, s, ex});
+                    (ctx, stopElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                     new Object[] {SVG_OFFSET_ATTRIBUTE, s, nfEx });
             }
             Color color
                 = CSSUtilities.convertStopColor(stopElement, opacity, ctx);

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGLightingElementBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGLightingElementBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGLightingElementBridge.java
index 7bff8b2..0451f3b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGLightingElementBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AbstractSVGLightingElementBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -31,7 +32,7 @@ import org.w3c.dom.Node;
  * Bridge class for the &lt;feDiffuseLighting> element.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: AbstractSVGLightingElementBridge.java,v 1.5 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: AbstractSVGLightingElementBridge.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public abstract class AbstractSVGLightingElementBridge
     extends AbstractSVGFilterPrimitiveElementBridge {
@@ -78,8 +79,10 @@ public abstract class AbstractSVGLightingElementBridge
      * feDiffuseLighting or feSpecularLighting filter primitive element.
      *
      * @param filterElement the filter primitive element
+     * @param ctx the BridgeContext to use for error information
      */
-    protected static double [] convertKernelUnitLength(Element filterElement) {
+    protected static double[] convertKernelUnitLength(Element filterElement,
+                                                      BridgeContext ctx) {
         String s = filterElement.getAttributeNS
             (null, SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE);
         if (s.length() == 0) {
@@ -94,15 +97,15 @@ public abstract class AbstractSVGLightingElementBridge
             } else {
                 units[1] = units[0];
             }
-        } catch (NumberFormatException ex) {
+        } catch (NumberFormatException nfEx ) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE, s});
 
         }
         if (tokens.hasMoreTokens() || units[0] <= 0 || units[1] <= 0) {
             throw new BridgeException
-                (filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                (ctx, filterElement, ERR_ATTRIBUTE_VALUE_MALFORMED,
                  new Object[] {SVG_KERNEL_UNIT_LENGTH_ATTRIBUTE, s});
         }
         return units;
@@ -111,8 +114,8 @@ public abstract class AbstractSVGLightingElementBridge
     /**
      * The base bridge class for light element.
      */
-    protected static abstract class AbstractSVGLightElementBridge
-        extends AbstractSVGBridge {
+    protected abstract static class AbstractSVGLightElementBridge
+        extends AnimatableGenericSVGBridge {
 
         /**
          * Creates a <tt>Light</tt> according to the specified parameters.
@@ -160,33 +163,33 @@ public abstract class AbstractSVGLightingElementBridge
                                  Color color) {
 
             // 'x' attribute - default is 0
-            double x = convertNumber(lightElement, SVG_X_ATTRIBUTE, 0);
+            double x = convertNumber(lightElement, SVG_X_ATTRIBUTE, 0, ctx);
 
             // 'y' attribute - default is 0
-            double y = convertNumber(lightElement, SVG_Y_ATTRIBUTE, 0);
+            double y = convertNumber(lightElement, SVG_Y_ATTRIBUTE, 0, ctx);
 
             // 'z' attribute - default is 0
-            double z = convertNumber(lightElement, SVG_Z_ATTRIBUTE, 0);
+            double z = convertNumber(lightElement, SVG_Z_ATTRIBUTE, 0, ctx);
 
             // 'pointsAtX' attribute - default is 0
-            double px
-                = convertNumber(lightElement, SVG_POINTS_AT_X_ATTRIBUTE, 0);
+            double px = convertNumber(lightElement, SVG_POINTS_AT_X_ATTRIBUTE,
+                                      0, ctx);
 
             // 'pointsAtY' attribute - default is 0
-            double py
-                = convertNumber(lightElement, SVG_POINTS_AT_Y_ATTRIBUTE, 0);
+            double py = convertNumber(lightElement, SVG_POINTS_AT_Y_ATTRIBUTE,
+                                      0, ctx);
 
             // 'pointsAtZ' attribute - default is 0
-            double pz
-                = convertNumber(lightElement, SVG_POINTS_AT_Z_ATTRIBUTE, 0);
+            double pz = convertNumber(lightElement, SVG_POINTS_AT_Z_ATTRIBUTE,
+                                      0, ctx);
 
             // 'specularExponent' attribute - default is 1
             double specularExponent = convertNumber
-                (lightElement, SVG_SPECULAR_EXPONENT_ATTRIBUTE, 1);
+                (lightElement, SVG_SPECULAR_EXPONENT_ATTRIBUTE, 1, ctx);
 
             // 'limitingConeAngle' attribute - default is 90
             double limitingConeAngle = convertNumber
-                (lightElement, SVG_LIMITING_CONE_ANGLE_ATTRIBUTE, 90);
+                (lightElement, SVG_LIMITING_CONE_ANGLE_ATTRIBUTE, 90, ctx);
 
             return new SpotLight(x, y, z,
                                  px, py, pz,
@@ -229,11 +232,11 @@ public abstract class AbstractSVGLightingElementBridge
 
             // 'azimuth' attribute - default is 0
             double azimuth
-                = convertNumber(lightElement, SVG_AZIMUTH_ATTRIBUTE, 0);
+                = convertNumber(lightElement, SVG_AZIMUTH_ATTRIBUTE, 0, ctx);
 
             // 'elevation' attribute - default is 0
             double elevation
-                = convertNumber(lightElement, SVG_ELEVATION_ATTRIBUTE, 0);
+                = convertNumber(lightElement, SVG_ELEVATION_ATTRIBUTE, 0, ctx);
 
             return new DistantLight(azimuth, elevation, color);
         }
@@ -271,13 +274,13 @@ public abstract class AbstractSVGLightingElementBridge
                                  Color color) {
 
             // 'x' attribute - default is 0
-            double x = convertNumber(lightElement, SVG_X_ATTRIBUTE, 0);
+            double x = convertNumber(lightElement, SVG_X_ATTRIBUTE, 0, ctx);
 
             // 'y' attribute - default is 0
-            double y = convertNumber(lightElement, SVG_Y_ATTRIBUTE, 0);
+            double y = convertNumber(lightElement, SVG_Y_ATTRIBUTE, 0, ctx);
 
             // 'z' attribute - default is 0
-            double z = convertNumber(lightElement, SVG_Z_ATTRIBUTE, 0);
+            double z = convertNumber(lightElement, SVG_Z_ATTRIBUTE, 0, ctx);
 
             return new PointLight(x, y, z, color);
         }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableGenericSVGBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableGenericSVGBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableGenericSVGBridge.java
new file mode 100644
index 0000000..da170ae
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableGenericSVGBridge.java
@@ -0,0 +1,168 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+
+import org.apache.flex.forks.batik.css.engine.CSSEngineEvent;
+import org.apache.flex.forks.batik.dom.svg.AnimatedLiveAttributeValue;
+import org.apache.flex.forks.batik.dom.svg.SVGContext;
+import org.apache.flex.forks.batik.dom.svg.SVGOMElement;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.events.MutationEvent;
+
+/**
+ * Abstract bridge class for animatable elements that do not produce
+ * a GraphicsNode.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableGenericSVGBridge.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public abstract class AnimatableGenericSVGBridge
+        extends AnimatableSVGBridge
+        implements GenericBridge, BridgeUpdateHandler, SVGContext {
+
+    /**
+     * Invoked to handle an <tt>Element</tt> for a given <tt>BridgeContext</tt>.
+     * For example, see the <tt>SVGTitleElementBridge</tt>.
+     *
+     * @param ctx the bridge context to use
+     * @param e the element being handled
+     */
+    public void handleElement(BridgeContext ctx, Element e) {
+        if (ctx.isDynamic()) {
+            this.e = e;
+            this.ctx = ctx;
+            ((SVGOMElement) e).setSVGContext(this);
+        }
+    }
+
+    // SVGContext ////////////////////////////////////////////////////////////
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     */
+    public float getPixelUnitToMillimeter() {
+        return ctx.getUserAgent().getPixelUnitToMillimeter();
+    }
+
+    /**
+     * Returns the size of a px CSS unit in millimeters.
+     * This will be removed after next release.
+     * @see #getPixelUnitToMillimeter()
+     */
+    public float getPixelToMM() {
+        return getPixelUnitToMillimeter();
+    }
+
+    /**
+     * Returns the tight bounding box in current user space (i.e.,
+     * after application of the transform attribute, if any) on the
+     * geometry of all contained graphics elements, exclusive of
+     * stroke-width and filter effects).
+     */
+    public Rectangle2D getBBox() {
+        return null;
+    }
+
+    /**
+     * Returns the transform from the global transform space to pixels.
+     */
+    public AffineTransform getScreenTransform() {
+        return ctx.getUserAgent().getTransform();
+    }
+
+    /**
+     * Sets the transform to be used from the global transform space to pixels.
+     */
+    public void setScreenTransform(AffineTransform at) {
+        ctx.getUserAgent().setTransform(at);
+    }
+
+    /**
+     * Returns the transformation matrix from current user units
+     * (i.e., after application of the transform attribute, if any) to
+     * the viewport coordinate system for the nearestViewportElement.
+     */
+    public AffineTransform getCTM() {
+        return null;
+    }
+
+    /**
+     * Returns the global transformation matrix from the current
+     * element to the root.
+     */
+    public AffineTransform getGlobalTransform() {
+        return null;
+    }
+
+    /**
+     * Returns the width of the viewport which directly contains the
+     * associated element.
+     */
+    public float getViewportWidth() {
+        return 0f;
+    }
+
+    /**
+     * Returns the height of the viewport which directly contains the
+     * associated element.
+     */
+    public float getViewportHeight() {
+        return 0f;
+    }
+
+    /**
+     * Returns the font-size on the associated element.
+     */
+    public float getFontSize() {
+        return 0f;
+    }
+
+    // BridgeUpdateHandler ///////////////////////////////////////////////////
+
+    public void dispose() {
+        ((SVGOMElement) e).setSVGContext(null);
+    }
+
+    public void handleDOMNodeInsertedEvent(MutationEvent evt) { 
+    }
+
+    public void handleDOMCharacterDataModified(MutationEvent evt) { 
+    }
+
+    public void handleDOMNodeRemovedEvent(MutationEvent evt) { 
+        dispose();
+    }
+
+    public void handleDOMAttrModifiedEvent(MutationEvent evt) {
+    }
+
+    public void handleCSSEngineEvent(CSSEngineEvent evt) {
+    }
+
+    public void handleAnimatedAttributeChanged
+            (AnimatedLiveAttributeValue alav) {
+    }
+
+    public void handleOtherAnimationChanged(String type) {
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableSVGBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableSVGBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableSVGBridge.java
new file mode 100644
index 0000000..d87baf3
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimatableSVGBridge.java
@@ -0,0 +1,99 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+import org.apache.flex.forks.batik.dom.anim.AnimationTarget;
+import org.apache.flex.forks.batik.dom.anim.AnimationTargetListener;
+import org.apache.flex.forks.batik.dom.svg.SVGAnimationTargetContext;
+
+import org.w3c.dom.Element;
+
+/**
+ * Abstract bridge class for those elements that can be animated.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimatableSVGBridge.java 490655 2006-12-28 05:19:44Z cam $
+ */
+public abstract class AnimatableSVGBridge
+        extends AbstractSVGBridge
+        implements SVGAnimationTargetContext {
+
+    /**
+     * The element that has been handled by this bridge.
+     */
+    protected Element e;
+
+    /**
+     * The bridge context to use for dynamic updates.
+     */
+    protected BridgeContext ctx;
+
+    /**
+     * Map of CSS property names to {@link LinkedList}s of
+     * {@link AnimationTargetListener}s.
+     */
+    protected HashMap targetListeners;
+
+    // SVGAnimationTargetContext /////////////////////////////////////////////
+
+    /**
+     * Adds a listener for changes to the given attribute value.
+     */
+    public void addTargetListener(String pn, AnimationTargetListener l) {
+        if (targetListeners == null) {
+            targetListeners = new HashMap();
+        }
+        LinkedList ll = (LinkedList) targetListeners.get(pn);
+        if (ll == null) {
+            ll = new LinkedList();
+            targetListeners.put(pn, ll);
+        }
+        ll.add(l);
+    }
+
+    /**
+     * Removes a listener for changes to the given attribute value.
+     */
+    public void removeTargetListener(String pn, AnimationTargetListener l) {
+        LinkedList ll = (LinkedList) targetListeners.get(pn);
+        ll.remove(l);
+    }
+
+    /**
+     * Fires the listeners registered for changes to the base value of the
+     * given CSS property.
+     */
+    protected void fireBaseAttributeListeners(String pn) {
+        if (targetListeners != null) {
+            LinkedList ll = (LinkedList) targetListeners.get(pn);
+            if (ll != null) {
+                Iterator it = ll.iterator();
+                while (it.hasNext()) {
+                    AnimationTargetListener l =
+                        (AnimationTargetListener) it.next();
+                    l.baseValueChanged((AnimationTarget) e, null, pn, true);
+                }
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimationSupport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimationSupport.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimationSupport.java
new file mode 100644
index 0000000..1cf73c9
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/AnimationSupport.java
@@ -0,0 +1,99 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import java.util.Calendar;
+
+import org.apache.flex.forks.batik.anim.timing.TimedElement;
+import org.apache.flex.forks.batik.dom.events.DOMTimeEvent;
+import org.apache.flex.forks.batik.dom.svg.IdContainer;
+import org.apache.flex.forks.batik.dom.svg.SVGOMAnimationElement;
+import org.apache.flex.forks.batik.dom.svg.SVGOMUseShadowRoot;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.smil.TimeEvent;
+
+/**
+ * Class that provides utilities for animation support.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AnimationSupport.java 579494 2007-09-26 07:40:20Z cam $
+ */
+public abstract class AnimationSupport {
+
+    /**
+     * Fires a {@link TimeEvent} on the given {@link EventTarget}.
+     */
+    public static void fireTimeEvent(EventTarget target, String eventType,
+                                     Calendar time, int detail) {
+        DocumentEvent de = (DocumentEvent) ((Node) target).getOwnerDocument();
+        DOMTimeEvent evt = (DOMTimeEvent) de.createEvent("TimeEvent");
+        evt.initTimeEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI, eventType,
+                            null,
+                            detail);
+        evt.setTimestamp(time.getTime().getTime());
+        target.dispatchEvent(evt);
+    }
+
+    /**
+     * Returns the timed element with the given ID, using the given node
+     * as the context for the lookup.
+     */
+    public static TimedElement getTimedElementById(String id, Node n) {
+        Element e = getElementById(id, n);
+        if (e instanceof SVGOMAnimationElement) {
+            SVGAnimationElementBridge b = (SVGAnimationElementBridge)
+                ((SVGOMAnimationElement) e).getSVGContext();
+            return b.getTimedElement();
+        }
+        return null;
+    }
+
+    /**
+     * Returns the event target with the given ID, using the given
+     * node as the context for the lookup.
+     */
+    public static EventTarget getEventTargetById(String id, Node n) {
+        return (EventTarget) getElementById(id, n);
+    }
+
+    /**
+     * Returns the element with the given ID, using the given node
+     * as the context for the lookup.
+     */
+    protected static Element getElementById(String id, Node n) {
+        Node p = n.getParentNode();
+        while (p != null) {
+            n = p;
+            if (n instanceof SVGOMUseShadowRoot) {
+                p = ((SVGOMUseShadowRoot) n).getCSSParentNode();
+            } else {
+                p = n.getParentNode();
+            }
+        }
+        if (n instanceof IdContainer) {
+            return ((IdContainer) n).getElementById(id);
+        }
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BaseScriptingEnvironment.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BaseScriptingEnvironment.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BaseScriptingEnvironment.java
index 5fb3a5d..7f91946 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BaseScriptingEnvironment.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/BaseScriptingEnvironment.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,9 +19,12 @@
 package org.apache.flex.forks.batik.bridge;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.PushbackInputStream;
 import java.io.Reader;
 import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.HashSet;
@@ -29,13 +33,18 @@ import java.util.List;
 import java.util.Set;
 import java.util.jar.Manifest;
 
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
+import org.apache.flex.forks.batik.dom.AbstractElement;
+import org.apache.flex.forks.batik.dom.events.AbstractEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.script.Interpreter;
 import org.apache.flex.forks.batik.script.InterpreterException;
+import org.apache.flex.forks.batik.script.ScriptEventWrapper;
 import org.apache.flex.forks.batik.script.ScriptHandler;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -44,15 +53,15 @@ import org.w3c.dom.events.DocumentEvent;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
 import org.w3c.dom.events.EventTarget;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGSVGElement;
-import org.w3c.flex.forks.dom.svg.EventListenerInitializer;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGSVGElement;
+import org.w3c.dom.svg.EventListenerInitializer;
 
 /**
  * This class is the base class for SVG scripting.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: BaseScriptingEnvironment.java,v 1.35 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: BaseScriptingEnvironment.java 594737 2007-11-14 01:47:08Z cam $
  */
 public class BaseScriptingEnvironment {
     /**
@@ -202,8 +211,14 @@ public class BaseScriptingEnvironment {
     }
 
 
-    protected final static String EVENT_NAME = "event";
-    protected final static String ALTERNATE_EVENT_NAME = "evt";
+    protected static final String EVENT_NAME = "event";
+    protected static final String ALTERNATE_EVENT_NAME = "evt";
+
+    /**
+     * The 'application/ecmascript' MIME type.
+     */
+    protected static final String APPLICATION_ECMASCRIPT =
+        "application/ecmascript";
 
     /**
      * The bridge context.
@@ -312,7 +327,7 @@ public class BaseScriptingEnvironment {
         }
 
         for (int i = 0; i < len; i++) {
-            Element script = (Element)scripts.item(i);
+            AbstractElement script = (AbstractElement) scripts.item(i);
             String type = script.getAttributeNS
                 (null, SVGConstants.SVG_TYPE_ATTRIBUTE);
 
@@ -326,8 +341,7 @@ public class BaseScriptingEnvironment {
             if (type.equals(SVGConstants.SVG_SCRIPT_TYPE_JAVA)) {
                 try {
                     String href = XLinkSupport.getXLinkHref(script);
-                    ParsedURL purl = new ParsedURL
-                        (XMLBaseSupport.getCascadedXMLBase(script), href);
+                    ParsedURL purl = new ParsedURL(script.getBaseURI(), href);
 
                     checkCompatibleScriptURL(type, purl);
 
@@ -395,17 +409,80 @@ public class BaseScriptingEnvironment {
             try {
                 String href = XLinkSupport.getXLinkHref(script);
                 String desc = null;
-                Reader reader;
+                Reader reader = null;
 
                 if (href.length() > 0) {
                     desc = href;
 
                     // External script.
-                    ParsedURL purl = new ParsedURL
-                        (XMLBaseSupport.getCascadedXMLBase(script), href);
+                    ParsedURL purl = new ParsedURL(script.getBaseURI(), href);
 
                     checkCompatibleScriptURL(type, purl);
-                    reader = new InputStreamReader(purl.openStream());
+                    InputStream is = purl.openStream();
+                    String mediaType = purl.getContentTypeMediaType();
+                    String enc = purl.getContentTypeCharset();
+                    if (enc != null) {
+                        try {
+                            reader = new InputStreamReader(is, enc);
+                        } catch (UnsupportedEncodingException uee) {
+                            enc = null;
+                        }
+                    }
+                    if (reader == null) {
+                        if (APPLICATION_ECMASCRIPT.equals(mediaType)) {
+                            // No encoding was specified in the MIME type, so
+                            // infer it according to RFC 4329.
+                            if (purl.hasContentTypeParameter("version")) {
+                                // Future versions of application/ecmascript 
+                                // are not supported, so skip this script 
+                                // element if the version parameter is present.
+                                continue;
+                            }
+
+                            PushbackInputStream pbis =
+                                new PushbackInputStream(is, 8);
+                            byte[] buf = new byte[4];
+                            int read = pbis.read(buf);
+                            if (read > 0) {
+                                pbis.unread(buf, 0, read);
+                                if (read >= 2) {
+                                    if (buf[0] == (byte)0xff &&
+                                            buf[1] == (byte)0xfe) {
+                                        if (read >= 4 && buf[2] == 0 &&
+                                                buf[3] == 0) {
+                                            enc = "UTF32-LE";
+                                            pbis.skip(4);
+                                        } else {
+                                            enc = "UTF-16LE";
+                                            pbis.skip(2);
+                                        }
+                                    } else if (buf[0] == (byte)0xfe &&
+                                            buf[1] == (byte)0xff) {
+                                        enc = "UTF-16BE";
+                                        pbis.skip(2);
+                                    } else if (read >= 3
+                                            && buf[0] == (byte)0xef 
+                                            && buf[1] == (byte)0xbb
+                                            && buf[2] == (byte)0xbf) {
+                                        enc = "UTF-8";
+                                        pbis.skip(3);
+                                    } else if (read >= 4 && buf[0] == 0 &&
+                                            buf[1] == 0 &&
+                                            buf[2] == (byte)0xfe &&
+                                            buf[3] == (byte)0xff) {
+                                        enc = "UTF-32BE";
+                                        pbis.skip(4);
+                                    }
+                                }
+                                if (enc == null) {
+                                    enc = "UTF-8";
+                                }
+                            }
+                            reader = new InputStreamReader(pbis, enc);
+                        } else {
+                            reader = new InputStreamReader(is);
+                        }
+                    }
                 } else {
                     checkCompatibleScriptURL(type, docPURL);
                     DocumentLoader dl = bridgeContext.getDocumentLoader();
@@ -415,7 +492,7 @@ public class BaseScriptingEnvironment {
                     desc = Messages.formatMessage
                         (INLINE_SCRIPT_DESCRIPTION,
                          new Object [] {d.getURL(),
-                                        "<"+script.getNodeName()+">", 
+                                        "<"+script.getNodeName()+">",
                                         new Integer(line)});
                     // Inline script.
                     Node n = script.getFirstChild();
@@ -468,6 +545,8 @@ public class BaseScriptingEnvironment {
     public void dispatchSVGLoadEvent() {
         SVGSVGElement root = (SVGSVGElement)document.getDocumentElement();
         String lang = root.getContentScriptType();
+        long documentStartTime = System.currentTimeMillis();
+        bridgeContext.getAnimationEngine().start(documentStartTime);
         dispatchSVGLoad(root, true, lang);
     }
 
@@ -485,11 +564,19 @@ public class BaseScriptingEnvironment {
             }
         }
 
-        Event ev;
         DocumentEvent de = (DocumentEvent)elt.getOwnerDocument();
-        ev = de.createEvent("SVGEvents");
-        ev.initEvent("SVGLoad", false, false);
-        EventTarget t = (EventTarget)elt;
+        AbstractEvent ev = (AbstractEvent) de.createEvent("SVGEvents");
+        String type;
+        if (bridgeContext.isSVG12()) {
+            type = "load";
+        } else {
+            type = "SVGLoad";
+        }
+        ev.initEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                       type,
+                       false,
+                       false);
+        NodeEventTarget t = (NodeEventTarget)elt;
 
         final String s =
             elt.getAttributeNS(null, SVGConstants.SVG_ONLOAD_ATTRIBUTE);
@@ -520,14 +607,20 @@ public class BaseScriptingEnvironment {
         final String desc = Messages.formatMessage
             (EVENT_SCRIPT_DESCRIPTION,
              new Object [] {d.getURL(),
-                            SVGConstants.SVG_ONLOAD_ATTRIBUTE, 
+                            SVGConstants.SVG_ONLOAD_ATTRIBUTE,
                             new Integer(line)});
 
         EventListener l = new EventListener() {
                 public void handleEvent(Event evt) {
                     try {
-                        interp.bindObject(EVENT_NAME, evt);
-                        interp.bindObject(ALTERNATE_EVENT_NAME, evt);
+                        Object event;
+                        if (evt instanceof ScriptEventWrapper) {
+                            event = ((ScriptEventWrapper) evt).getEventObject();
+                        } else {
+                            event = evt;
+                        }
+                        interp.bindObject(EVENT_NAME, event);
+                        interp.bindObject(ALTERNATE_EVENT_NAME, event);
                         interp.evaluate(new StringReader(s), desc);
                     } catch (IOException io) {
                     } catch (InterpreterException e) {
@@ -535,30 +628,46 @@ public class BaseScriptingEnvironment {
                     }
                 }
             };
-        t.addEventListener("SVGLoad", l, false);
+        t.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, type,
+             l, false, null);
         t.dispatchEvent(ev);
-        t.removeEventListener("SVGLoad", l, false);
+        t.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, type,
+             l, false);
     }
 
     /**
      * Method to dispatch SVG Zoom event.
      */
     protected void dispatchSVGZoomEvent() {
-        dispatchSVGDocEvent("SVGZoom");
+        if (bridgeContext.isSVG12()) {
+            dispatchSVGDocEvent("zoom");
+        } else {
+            dispatchSVGDocEvent("SVGZoom");
+        }
     }
 
     /**
      * Method to dispatch SVG Scroll event.
      */
     protected void dispatchSVGScrollEvent() {
-        dispatchSVGDocEvent("SVGScroll");
+        if (bridgeContext.isSVG12()) {
+            dispatchSVGDocEvent("scroll");
+        } else {
+            dispatchSVGDocEvent("SVGScroll");
+        }
     }
 
     /**
      * Method to dispatch SVG Resize event.
      */
     protected void dispatchSVGResizeEvent() {
-        dispatchSVGDocEvent("SVGResize");
+        if (bridgeContext.isSVG12()) {
+            dispatchSVGDocEvent("resize");
+        } else {
+            dispatchSVGDocEvent("SVGResize");
+        }
     }
 
     protected void dispatchSVGDocEvent(String eventType) {
@@ -568,8 +677,11 @@ public class BaseScriptingEnvironment {
         EventTarget t = root;
 
         DocumentEvent de = (DocumentEvent)document;
-        Event ev = de.createEvent("SVGEvents");
-        ev.initEvent(eventType, false, false);
+        AbstractEvent ev = (AbstractEvent) de.createEvent("SVGEvents");
+        ev.initEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                       eventType,
+                       false,
+                       false);
         t.dispatchEvent(ev);
     }
 
@@ -691,22 +803,22 @@ public class BaseScriptingEnvironment {
                            String enc) {
         }
 
-        public void postURL(String uri, String content, 
+        public void postURL(String uri, String content,
                             org.apache.flex.forks.batik.script.Window.URLResponseHandler h) {
             postURL(uri, content, h, "text/plain", null);
         }
 
-        public void postURL(String uri, String content, 
-                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h, 
+        public void postURL(String uri, String content,
+                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h,
                      String mimeType) {
             postURL(uri, content, h, mimeType, null);
         }
 
-        public void postURL(String uri, 
-                            String content, 
-                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h, 
-                            String mimeType, 
-                            String fEnc) { 
+        public void postURL(String uri,
+                            String content,
+                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h,
+                            String mimeType,
+                            String fEnc) {
         }
 
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Bridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Bridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Bridge.java
index f3ee39e..c164f2c 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Bridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/Bridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -19,11 +20,11 @@ package org.apache.flex.forks.batik.bridge;
 
 /**
  * A tagging interface that all bridges must implement. A bridge is
- * responsible on creating and maintaining an appropriate object
+ * responsible for creating and maintaining an appropriate object
  * according to an Element.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: Bridge.java,v 1.8 2004/08/18 07:12:30 vhardy Exp $
+ * @version $Id: Bridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface Bridge {
 


[39/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark_dmv/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark_dmv/build.xml b/frameworks/projects/spark_dmv/build.xml
index 8848dbf..019c811 100644
--- a/frameworks/projects/spark_dmv/build.xml
+++ b/frameworks/projects/spark_dmv/build.xml
@@ -20,110 +20,94 @@
 
 
 <project name="spark_dmv" default="main" basedir=".">
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
-	
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
+    
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-		
-	<target name="main" depends="clean,compile" description="Clean build of spark_dmv.swc and en_US"/>
-		
-	<target name="clean">
-		<delete failonerror="false">
-			<fileset dir="${basedir}" >
-				<include name="bundles.properties"/>
-			</fileset>
-			<fileset dir="${FLEX_HOME}/frameworks/libs">
-				<include name="spark_dmv.swc"/>
-				<include name="spark_dmv.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-	
-	<target name="compile" description="Compiles spark_dmv.swc">
-		<echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
-		<echo message="Compiling frameworks/libs/spark_dmv.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			Link in the classes (and their dependencies) for the MXML tags
-			listed in this project's manifest_spark_dmv.xml.
-			Also link the additional classes (and their dependencies)
-			listed in SparkDmvClasses.as,
-			because these aren't referenced by the manifest classes.
-			Link in accessibility support.
-			Include the appropriate CSS files and assets in the SWC.
-			Don't include any resources in the SWC.
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-		-->
-		<compc fork="true" minimum-supported-version="4.0.0"
-			   output="${FLEX_HOME}/frameworks/libs/spark_dmv.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-			<jvmarg line="${compc.jvm.args}"/>
-			<namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest_spark_dmv.xml"/>
-			<include-namespaces uri="library://ns.adobe.com/flex/spark"/>
-			<include-classes>SparkDmvClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path />
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
-            </external-library-path>
-			<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="spark.swc"/>
-				<include name="mx/mx.swc"/>
-				<include name="advancedgrids.swc"/>
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<include-file name="version.properties" path="${FLEX_HOME}/frameworks/version.properties"/>
-			<locale/>
-			<accessible>true</accessible>
-		</compc>
-		<delete file="${FLEX_HOME}/frameworks/version.properties"/>
-     	</target>
-	
-	<target name="doc" depends="clean-temp-docs" description="updates spark_dmv.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
-		    <compiler.source-path path-element="${basedir}/src"/>
-		    <doc-classes class="SparkDmvClasses"/>
-		    <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
-			<namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest_spark_dmv.xml"/>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates spark_dmv.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/libs/spark_dmv.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-	</target>
+    <property file="${FLEX_HOME}/build.properties"/>
+        
+    <target name="main" depends="clean,compile" description="Clean build of spark_dmv.swc and en_US"/>
+        
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}" >
+                <include name="bundles.properties"/>
+            </fileset>
+            <fileset dir="${FLEX_HOME}/frameworks/libs">
+                <include name="spark_dmv.swc"/>
+                <include name="spark_dmv.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <target name="compile" description="Compiles spark_dmv.swc">
+        <echo file="${FLEX_HOME}/frameworks/version.properties" append="false">build=${build.number}</echo>
+        <echo message="Compiling frameworks/libs/spark_dmv.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest_spark_dmv.xml.
+            Also link the additional classes (and their dependencies)
+            listed in SparkDmvClasses.as,
+            because these aren't referenced by the manifest classes.
+            Link in accessibility support.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <compc fork="true"
+               output="${FLEX_HOME}/frameworks/libs/spark_dmv.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+        <delete file="${FLEX_HOME}/frameworks/version.properties"/>
+        </target>
+    
+    <target name="doc" depends="clean-temp-docs" description="updates spark_dmv.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="SparkDmvClasses"/>
+            <doc-namespaces uri="library://ns.adobe.com/flex/spark"/>
+            <namespace uri="library://ns.adobe.com/flex/spark" manifest="${basedir}/manifest_spark_dmv.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates spark_dmv.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/libs/spark_dmv.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+    </target>
 
 </project>
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/spark_dmv/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark_dmv/compile-config.xml b/frameworks/projects/spark_dmv/compile-config.xml
new file mode 100644
index 0000000..9a3894a
--- /dev/null
+++ b/frameworks/projects/spark_dmv/compile-config.xml
@@ -0,0 +1,69 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/mx/mx.swc</path-element>
+            <path-element>../../libs/advancedgrids.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <mxml>
+            <minimum-supported-version>4.0.0</minimum-supported-version>
+        </mxml>
+        
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/spark</uri>
+                <manifest>manifest_spark_dmv.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>SparkDmvClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>version.properties</name>
+        <path>../../version.properties</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/spark</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>    
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/sparkskins/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/sparkskins/.actionScriptProperties b/frameworks/projects/sparkskins/.actionScriptProperties
index a3462c5..f4d7c48 100644
--- a/frameworks/projects/sparkskins/.actionScriptProperties
+++ b/frameworks/projects/sparkskins/.actionScriptProperties
@@ -1,36 +1,36 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<actionScriptProperties mainApplicationPath="sparkskins.as" projectUUID="22f27ea4-cd52-4149-b609-bf8c6620bb8f" version="6">
-  <compiler additionalCompilerArguments="-resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
-    <compilerSourcePath/>
-    <libraryPath defaultLinkType="0">
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
-      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
-    </libraryPath>
-    <sourceAttachmentPath/>
-  </compiler>
-  <applications>
-    <application path="sparkskins.as"/>
-  </applications>
-  <modules/>
-  <buildCSSFiles/>
-</actionScriptProperties>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<actionScriptProperties mainApplicationPath="sparkskins.as" projectUUID="22f27ea4-cd52-4149-b609-bf8c6620bb8f" version="6">
+  <compiler additionalCompilerArguments="-resource-bundle-list=bundles.properties -library-path= -locale=" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="true">
+    <compilerSourcePath/>
+    <libraryPath defaultLinkType="0">
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/textLayout.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/framework/bin/framework.swc" useDefaultLinkType="false"/>
+      <libraryPathEntry kind="3" linkType="2" path="/spark/bin/spark.swc" useDefaultLinkType="false"/>
+    </libraryPath>
+    <sourceAttachmentPath/>
+  </compiler>
+  <applications>
+    <application path="sparkskins.as"/>
+  </applications>
+  <modules/>
+  <buildCSSFiles/>
+</actionScriptProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/sparkskins/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/sparkskins/.flexLibProperties b/frameworks/projects/sparkskins/.flexLibProperties
index 0c95e87..b8b8367 100644
--- a/frameworks/projects/sparkskins/.flexLibProperties
+++ b/frameworks/projects/sparkskins/.flexLibProperties
@@ -1,22 +1,22 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="SparkSkinsClasses"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/sparkskins/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/sparkskins/build.xml b/frameworks/projects/sparkskins/build.xml
index 7c4468b..630de65 100644
--- a/frameworks/projects/sparkskins/build.xml
+++ b/frameworks/projects/sparkskins/build.xml
@@ -21,107 +21,96 @@
 
 <project name="sparkskins" default="main" basedir=".">
 
-	<property name="FLEX_HOME" location="${basedir}/../../.."/>
-	
+    <property name="FLEX_HOME" location="${basedir}/../../.."/>
+    
     <property file="${FLEX_HOME}/env.properties"/>
     <property environment="env"/>
-	<property file="${FLEX_HOME}/build.properties"/>
-
-	<target name="main" depends="clean,compile" description="Clean build of sparkskins.swc"/>
-
-	<target name="clean">
-		<delete failonerror="false">
-			<fileset file="${basedir}/bundles.properties"/>
-			<fileset dir="${FLEX_HOME}/frameworks/libs">
-				<include name="sparkskins.swc"/>
-				<include name="sparkskins.swc.incr"/>
-			</fileset>
-		</delete>
-	</target>
-
-	<target name="compile" description="Compiles sparkskins.swc">
-		<echo message="Compiling frameworks/libs/sparkskins.swc"/>
-
-		<!-- Load the <compc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-		<!--
-			This project builds a theme SWC containing skin classes.
-			It has no MXML tags and therefore no manifest.
-			Link in the classes (and their dependencies)
-			listed in SparkSkinsClasses.as.
-			Compile against framework.swc, but don't link it into sparkskins.swc.
-			Link in accessibility support.
-			Include various CSS and asset files in the SWC.
-			Don't put any resources into the SWC. (The classes don't require any.)
-			Write a bundle list of referenced resource bundles
-			into the file bundles.properties in this directory.
-			(This should be an empty list.)
-		-->
-		<compc fork="true" 
-			   output="${FLEX_HOME}/frameworks/libs/sparkskins.swc"
-			   resource-bundle-list="${basedir}/bundles.properties">
-            <target-player>${playerglobal.version}</target-player>
-			<jvmarg line="${compc.jvm.args}"/>
-			<include-classes>SparkSkinsClasses</include-classes>
-			<source-path path-element="${basedir}/src"/>
-			<library-path/>
+    <property file="${FLEX_HOME}/build.properties"/>
+
+    <target name="main" depends="clean,compile" description="Clean build of sparkskins.swc"/>
+
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset file="${basedir}/bundles.properties"/>
+            <fileset dir="${FLEX_HOME}/frameworks/libs">
+                <include name="sparkskins.swc"/>
+                <include name="sparkskins.swc.incr"/>
+            </fileset>
+        </delete>
+    </target>
+
+    <target name="compile" description="Compiles sparkskins.swc">
+        <echo message="Compiling frameworks/libs/sparkskins.swc"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+        <!--
+            This project builds a theme SWC containing skin classes.
+            It has no MXML tags and therefore no manifest.
+            Link in the classes (and their dependencies)
+            listed in SparkSkinsClasses.as.
+            Compile against framework.swc, but don't link it into sparkskins.swc.
+            Link in accessibility support.
+            Include various CSS and asset files in the SWC.
+            Don't put any resources into the SWC. (The classes don't require any.)
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+            (This should be an empty list.)
+        -->
+        <compc fork="true" 
+               output="${FLEX_HOME}/frameworks/libs/sparkskins.swc">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+        </compc>
+    </target>
+
+    <target name="doc" depends="clean-temp-docs" description="updates sparkskins.swc with asdoc xml">
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" >
+            <compiler.source-path path-element="${basedir}/src"/>
+            <doc-classes class="SparkSkinsClasses"/>
             <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
                 <include name="${playerglobal.version}/playerglobal.swc"/>
             </external-library-path>
             <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-				<include name="framework.swc"/>
-				<include name="spark.swc" />
-                <include name="textLayout.swc"/>
-			</external-library-path>
-			<locale/>
-			<accessible>true</accessible>
-		</compc>
-	</target>
-
-	<target name="doc" depends="clean-temp-docs" description="updates sparkskins.swc with asdoc xml">
-		<!-- Load the <asdoc> task. We can't do this at the <project> level -->
-		<!-- because targets that run before flexTasks.jar gets built would fail. -->
-		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx384m">
-	        <os family="windows"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="mac"/>
-	    </condition>
-
-	    <condition property="asdoc.jvm.args" value="-Xmx512m">
-	        <os family="unix"/>
-	    </condition>
-
-		<!-- Call asdoc to generate dita xml files -->
-		<asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" >
-		    <compiler.source-path path-element="${basedir}/src"/>
-		    <doc-classes class="SparkSkinsClasses"/>
-            <external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-                <include name="${playerglobal.version}/playerglobal.swc"/>
+                <include name="framework.swc" />
+                <include name="spark.swc" />
             </external-library-path>
-		    <external-library-path dir="${FLEX_HOME}/frameworks/libs">
-		    	<include name="framework.swc" />
-				<include name="spark.swc" />
-		    </external-library-path>
-		    <jvmarg line="${asdoc.jvm.args}"/>
-		</asdoc>
-
-		<!-- updates sparkskins.swc with asdoc xml -->
-		<zip destfile="${FLEX_HOME}/frameworks/libs/sparkskins.swc" update="true">
-		    <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
-			    <include name="*.*"/>
-				<exclude name="ASDoc_Config.xml"/>
-				<exclude name="overviews.xml"/>
-		    </zipfileset>
-		</zip>
-	</target>
-
-	<target name="clean-temp-docs">
-		<delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
-	</target>
+            <jvmarg line="${asdoc.jvm.args}"/>
+        </asdoc>
+
+        <!-- updates sparkskins.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/libs/sparkskins.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+    </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+    </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/sparkskins/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/sparkskins/compile-config.xml b/frameworks/projects/sparkskins/compile-config.xml
new file mode 100644
index 0000000..f56a880
--- /dev/null
+++ b/frameworks/projects/sparkskins/compile-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+            <path-element>../../libs/spark.swc</path-element>
+            <path-element>../../libs/textLayout.swc</path-element>
+        </external-library-path>
+        
+        <locale/>
+        
+        <library-path/>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+        
+        <warn-no-constructor>false</warn-no-constructor>
+    </compiler>
+    
+    <include-classes>
+        <class>SparkSkinsClasses</class>
+    </include-classes>
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/.actionScriptProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/.actionScriptProperties b/frameworks/projects/textLayout/.actionScriptProperties
index 5e4cad7..00824e8 100644
--- a/frameworks/projects/textLayout/.actionScriptProperties
+++ b/frameworks/projects/textLayout/.actionScriptProperties
@@ -1,6 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <actionScriptProperties mainApplicationPath="textLayout.as" projectUUID="6e0a86e3-55a2-44ed-b0e9-d213da179436" version="6">
-  <compiler additionalCompilerArguments="-define=CONFIG::release,true -define=CONFIG::debug,false -namespace=library://ns.adobe.com/flashx/textLayout,../manifest.xml -include-namespaces=library://ns.adobe.com/flashx/textLayout -compute-digest=true -static-link-runtime-shared-libraries=true -library-path= -locale=en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="false">
+  <compiler additionalCompilerArguments="-define=CONFIG::release,true -define=CONFIG::debug,false -namespace=library://ns.adobe.com/flashx/textLayout,../manifest.xml -include-namespaces=library://ns.adobe.com/flashx/textLayout -compute-digest=true -static-link-runtime-shared-libraries=true -library-path= -locale=en_US" autoRSLOrdering="true" copyDependentFiles="false" fteInMXComponents="false" generateAccessible="false" htmlExpressInstall="true" htmlGenerate="false" htmlHistoryManagement="false" htmlPlayerVersionCheck="true" includeNetmonSwc="false" outputFolderPath="bin" sourceFolderPath="3.0.33/src" strict="true" targetPlayerVersion="0.0.0" useApolloConfig="false" useDebugRSLSwfs="true" verifyDigests="true" warn="false">
     <compilerSourcePath/>
     <libraryPath defaultLinkType="0">
       <libraryPathEntry kind="3" linkType="2" path="${PROJECT_FRAMEWORKS}/libs/player/11.1/playerglobal.swc" useDefaultLinkType="false"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/.flexLibProperties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/.flexLibProperties b/frameworks/projects/textLayout/.flexLibProperties
index e348677..dac5752 100644
--- a/frameworks/projects/textLayout/.flexLibProperties
+++ b/frameworks/projects/textLayout/.flexLibProperties
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <flexLibProperties includeAllClasses="false" version="3">
   <includeClasses>
     <classEntry path="flashx.textLayout.ConversionClasses"/>
@@ -7,6 +25,6 @@
   </includeClasses>
   <includeResources/>
   <namespaceManifests>
-    <namespaceManifestEntry manifest="../manifest.xml" namespace="library://ns.adobe.com/flashx/textLayout"/>
+    <namespaceManifestEntry manifest="../3.0.33/manifest.xml" namespace="library://ns.adobe.com/flashx/textLayout"/>
   </namespaceManifests>
 </flexLibProperties>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/.project
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/.project b/frameworks/projects/textLayout/.project
index 30eb782..281d14d 100644
--- a/frameworks/projects/textLayout/.project
+++ b/frameworks/projects/textLayout/.project
@@ -1,4 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
 <projectDescription>
 	<name>textLayout</name>
 	<comment></comment>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/build.xml b/frameworks/projects/textLayout/build.xml
index 6425c89..9927296 100644
--- a/frameworks/projects/textLayout/build.xml
+++ b/frameworks/projects/textLayout/build.xml
@@ -24,14 +24,16 @@
     <property environment="env"/>
 	<property file="${FLEX_HOME}/build.properties"/>
 
+    <property name="source.dir" value="${basedir}/${tlf.version}"/>
 	<property name="output.file" value="${FLEX_HOME}/frameworks/libs/textLayout.swc"/>
 	<property name="output.docs" value="${FLEX_HOME}/tempDoc"/>
 	<property name="flexTasks.location" value="${FLEX_HOME}/lib/flexTasks.jar"/>
 	<property name="project.uri" value="library://ns.adobe.com/flashx/textLayout"/>
 
-        <!-- We use abbreviated token names here as, the 'release' 
-             and 'debug' tokens conflict with those specified in 
-             build.properties -->
+    <!-- We use abbreviated token names here as, the 'release' 
+         and 'debug' tokens conflict with those specified in 
+         build.properties 
+    -->
 	<property name="dbg" value="false"/>
 	<property name="rel" value="true"/>
 	
@@ -44,22 +46,14 @@
 			<!-- because targets that run before flexTasks.jar gets built would fail. -->
 			<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
 			<compc fork="true"
-				   output="${FLEX_HOME}/frameworks/locale/@{locale}/textLayout_rb.swc"
-				   locale="@{locale}">
+				   output="${FLEX_HOME}/frameworks/locale/@{locale}/textLayout_rb.swc">
 				<jvmarg line="${compc.jvm.args}"/>
-				<target-player>${playerglobal.version}</target-player>
-				<include-resource-bundles bundle="textLayout"/>
-				<include-namespaces/>
-				<include-classes/>
-				<source-path path-element="${basedir}/bundles/@{locale}"/>
-				<include-libraries/>
-				<library-path/>
-				<external-library-path dir="${env.PLAYERGLOBAL_HOME}">
-					<include name="${playerglobal.version}/playerglobal.swc"/>
-				</external-library-path>
-				<external-library-path dir="${FLEX_HOME}/frameworks/libs">
-					<include name="framework.swc"/>
-				</external-library-path>
+                <load-config filename="bundle-config.xml" />
+                <arg value="+playerglobal.version=${playerglobal.version}" />
+                <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+                <arg value="+locale=@{locale}" />
+                <!-- this is the directory the bundles dir is in -->
+                <arg value="+srcdir=${basedir}" />
 			</compc>
 		</sequential>
 	</macrodef>	
@@ -68,9 +62,9 @@
 		<attribute name="locale"/>
 		<sequential>
 			<echo message="creating 'fat-swc' in textLayout_rb.swc for @{locale}"/>
-			<mkdir dir="${basedir}/bundles/@{locale}/docs" />
+			<mkdir dir="${source.dir}/bundles/@{locale}/docs" />
 			<zip destfile="${FLEX_HOME}/frameworks/locale/@{locale}/textLayout_rb.swc" update="true">
-				<zipfileset dir="${basedir}/bundles/@{locale}/docs" prefix="docs">
+				<zipfileset dir="${source.dir}/bundles/@{locale}/docs" prefix="docs">
 					<include name="*.*"/>
 					<exclude name="ASDoc_Config.xml"/>
 					<exclude name="overviews.xml"/>
@@ -100,7 +94,7 @@
 	</macrodef>
 		
 				
-	<target name="main" depends="clean" description="Clean build of automation_dmv.swc and en_US">
+	<target name="main" depends="clean,compile" description="Clean build of textLayout.swc">
 		<bundle locale="${locale}"/>
 	</target>
 	
@@ -110,9 +104,6 @@
 	<!-- The targets below set the 'locale' parameter  -->
 	<target name="bundles">
 		<!-- these languages do not have localized docs-->
-		<bundler locale="en_AU"/><!-- Australian resources -->
-		<bundler locale="en_GB"/><!-- United Kingdom resources -->
-		<bundler locale="en_CA"/><!-- Canadian resources -->
 		<bundler locale="da_DK"/><!-- Danish resources -->
 		<bundler locale="de_DE"><!-- German resources -->
 			<run.fat.swc>
@@ -124,9 +115,10 @@
 				<fat-swc locale="en_US"/>
 			</run.fat.swc>
 		</bundler>
-		<bundler locale="en_AU"/>
-		<bundler locale="en_GB"/>
-		<bundler locale="en_CA"/>
+		<!--bundler locale="el_GR"/--><!-- Greek Language  resources -->
+		<!--bundler locale="en_AU"/--><!-- Australian resources -->
+		<!--bundler locale="en_GB"/--><!-- United Kingdom resources -->
+		<!--bundler locale="en_CA"/--><!-- Canadian resources -->
 		<bundler locale="es_ES"/><!-- Spanish resources -->
 		<bundler locale="fi_FI"/><!--  Finnish resources-->
 		<bundler locale="fr_FR"><!-- French resources -->
@@ -144,7 +136,7 @@
 		<bundler locale="nb_NO"/><!-- Norwegian Bokmal resources -->
 		<bundler locale="nl_NL"/><!-- Dutch resources -->
 		<bundler locale="pt_BR"/><!-- Brazilian Portuguese resources -->
-		<bundler locale="pt_PT"/><!-- Portugal Portuguese resources -->
+		<!--bundler locale="pt_PT"/--><!-- Portugal Portuguese resources -->
 		<bundler locale="ru_RU"><!-- Russian resources -->
 			<run.fat.swc>
 				<fat-swc locale="ru_RU"/>
@@ -157,11 +149,14 @@
 			</run.fat.swc>
 		</bundler>
 		<bundler locale="zh_TW"/><!-- Traditional Chinese resources -->
-		<bundler locale="el_GR"/><!-- Greek Language  resources -->
 	</target>
 	
 	<target name="clean" depends="bundles-clean" description="Deletes the combined swc">
 		<delete failonerror="false">
+			<fileset dir="${basedir}">
+				<include name="bundles.properties"/>
+			    <include name="bundles/en_US/packages.dita"/>
+			</fileset>
 			<fileset dir="${FLEX_HOME}/frameworks/libs">
 				<include name="textLayout.swc"/>
 				<include name="combined_link.xml"/>
@@ -180,24 +175,66 @@
 	
 	<target name="compile" description="Compiles textLayout.swc">
 		<taskdef resource="flexTasks.tasks" classpath="${flexTasks.location}"/>
-		<compc fork="true"
-			   output="${output.file}"
-			   compute-digest="true"
-			   include-classes="flashx.textLayout.CoreClasses flashx.textLayout.EditClasses flashx.textLayout.ConversionClasses">
-			<jvmarg line="${compc.jvm.args}"/>
-			<keep-as3-metadata>IMXMLObject</keep-as3-metadata>
-			<include-namespaces uri="${project.uri}"/>
-			<namespace uri="${project.uri}" manifest="manifest.xml"/>
-			<source-path path-element="src"/>
-			<library-path/>
-			<include-file name="manifest.xml" path="${basedir}/manifest.xml"/>
+		<compc fork="true" 
+		       output="${output.file}">
+            <jvmarg line="${compc.jvm.args}"/>
+            <load-config filename="compile-config.xml" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="+source.dir=${source.dir}" />
+            <define name="CONFIG::debug" value="${dbg}"/>
+			<define name="CONFIG::release" value="${rel}"/>
+        </compc>
+     </target>
+
+    <target name="clean-temp-docs">
+        <delete dir="${FLEX_HOME}/tempDoc" failonerror="false" includeEmptyDirs="true"/>
+        <delete file="${basedir}/bundles/en_US/packages.dita" failonerror="false"/>
+    </target>
+
+    <target name="doc" depends="clean-temp-docs" description="updates textLayout.swc with asdoc xml">
+        <available file="${FLEX_HOME}/frameworks/locale/en_US/textLayout_rb.swc" property="resource.exists"/>
+        <fail message="${FLEX_HOME}/frameworks/locale/en_US/textLayout_rb.swc does not exist." unless="resource.exists"/> 
+        
+        <!-- Load the <asdoc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/lib/flexTasks.jar"/>
+
+        <condition property="asdoc.jvm.args" value="-Xmx384m">
+            <os family="windows"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="mac"/>
+        </condition>
+
+        <condition property="asdoc.jvm.args" value="-Xmx512m">
+            <os family="unix"/>
+        </condition>
+
+        <!-- Call asdoc to generate dita xml files -->
+        <asdoc output="${FLEX_HOME}/tempDoc" lenient="true" failonerror="true" keep-xml="true" skip-xsl="true" fork="true">
+            <compiler.source-path path-element="${source.dir}/src"/>
+			<compiler.show-actionscript-warnings>false</compiler.show-actionscript-warnings>
+			<doc-classes class="flashx.textLayout.CoreClasses"/>
+			<doc-classes class="flashx.textLayout.EditClasses"/>
+			<doc-classes class="flashx.textLayout.ConversionClasses"/>
+            <doc-namespaces uri="library://ns.adobe.com/flashx/textLayout"/>
+            <namespace uri="library://ns.adobe.com/flashx/textLayout" manifest="${source.dir}/manifest.xml"/>
+            <jvmarg line="${asdoc.jvm.args}"/>
 			<static-link-runtime-shared-libraries/>
 			<define name="CONFIG::debug" value="${dbg}"/>
 			<define name="CONFIG::release" value="${rel}"/>
-		</compc>
-     </target>
+        </asdoc>
 
-	<target name="doc" description="Updates textLayout.swc with ASDoc XML">
-	    <echo message="Docs are currently included in TLF drop."/>
+        <!-- updates textLayout_rb.swc with asdoc xml -->
+        <zip destfile="${FLEX_HOME}/frameworks/locale/en_US/textLayout_rb.swc" update="true">
+            <zipfileset dir="${FLEX_HOME}/tempDoc/tempdita" prefix="docs">
+                <include name="*.*"/>
+                <exclude name="ASDoc_Config.xml"/>
+                <exclude name="overviews.xml"/>
+            </zipfileset>
+        </zip>
+        <copy file="${FLEX_HOME}/tempDoc/tempdita/packages.dita" tofile="${basedir}/bundles/en_US/packages.dita"/> 
     </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundle-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundle-config.xml b/frameworks/projects/textLayout/bundle-config.xml
new file mode 100644
index 0000000..afd231a
--- /dev/null
+++ b/frameworks/projects/textLayout/bundle-config.xml
@@ -0,0 +1,49 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+            <path-element>../../libs/framework.swc</path-element>
+        </external-library-path>
+        
+        <include-libraries/>
+        
+        <library-path/>
+        
+        <locale>
+            <locale-element>${locale}</locale-element>
+        </locale>
+        
+        <source-path>
+            <path-element>${srcdir}/bundles/${locale}</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes/>
+    
+    <include-namespaces/>
+    
+    <include-resource-bundles>
+        <bundle>textLayout</bundle>
+    </include-resource-bundles>
+        
+    <target-player>${playerglobal.version}</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/da_DK/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/da_DK/textLayout.properties b/frameworks/projects/textLayout/bundles/da_DK/textLayout.properties
new file mode 100644
index 0000000..82a5250
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/da_DK/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Ingen streng til ressourcen {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Forsøg på at konstruere en ugyldig FlowElement-underklasse
+invalidSplitAtPosition=Ugyldig parameter for splitAtPosition
+badMXMLChildrenArgument=Forkert element af typen {0} videregivet til mxmlChildren
+badReplaceChildrenIndex=Indekset for FlowGroupElement.replaceChildren er udenfor intervallet
+invalidChildType=NewElement er ikke af en type som denne kan være overordnet for
+badRemoveChild=Der blev ikke fundet en underordnet at fjerne
+invalidSplitAtIndex=Ugyldig parameter for splitAtIndex
+badShallowCopyRange=Forkert interval i shallowCopy
+badSurrogatePairCopy=Der kopieres kun halvdelen af et erstatningspar i SpanElement.shallowCopy
+invalidReplaceTextPositions=Ugyldige positioner videregivet til SpanElement.replaceText
+invalidSurrogatePairSplit=Ugyldig opdeling af et erstatningspar
+badPropertyValue=Værdien {1} for egenskaben {0} er udenfor intervallet
+
+# Selection/editing
+
+illegalOperation=Ugyldigt forsøg på at starte handlingen {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Uventet element {0} indenfor et område
+unexpectedNamespace=Uventet navneområde {0}
+unknownElement=Ukendt element {0}
+unknownAttribute=Attributten {0} understøttes ikke i elementet {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Forkert formet kode {0}
+malformedMarkup=Forkert formet mærke {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Der er ingen TextFlow at fortolke
+expectedExactlyOneTextLayoutFormat=Der blev kun forventet ét TextLayoutFormat i {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/de_CH/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/de_CH/textLayout.properties b/frameworks/projects/textLayout/bundles/de_CH/textLayout.properties
new file mode 100644
index 0000000..8bf7db3
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/de_CH/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Kein String für Ressource „{0}“.
+
+# Core errors
+
+invalidFlowElementConstruct=Versuch, ungültige FlowElement-Unterklasse zu erstellen
+invalidSplitAtPosition=Ungültiger Parameter für splitAtPosition
+badMXMLChildrenArgument=Ungültiges Element des Typs „{0}“ an mxmlChildren übergeben
+badReplaceChildrenIndex=Index für FlowGroupElement.replaceChildren außerhalb des Bereichs
+invalidChildType=NewElement entspricht keinem Typ, der ihm übergeordnet sein kann
+badRemoveChild=Zu entfernendes untergeordnetes Element nicht gefunden
+invalidSplitAtIndex=Ungültiger Parameter für splitAtIndex
+badShallowCopyRange=Ungültiger Bereich in shallowCopy
+badSurrogatePairCopy=Es wird nur eine Hälfte eines Surrogat-Paars von SpanElement.shallowCopy kopiert
+invalidReplaceTextPositions=Ungültige Positionen an SpanElement.replaceText übergeben
+invalidSurrogatePairSplit=Ungültige Teilung eines Surrogat-Paars
+badPropertyValue={0}-Eigenschaft mit Wert „{1}“ liegt außerhalb des Bereichs
+
+# Selection/editing
+
+illegalOperation=Unzulässiger Versuch, {0}-Methode auszuführen
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Nicht erwartetes Element „{0}“ innerhalb einer Spanne
+unexpectedNamespace=Unerwarteter Namespace „{0}“
+unknownElement=Unbekanntes Element „{0}“
+unknownAttribute=Attribut „{0}“ in Element „{1}“ nicht zulässig
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Nicht wohlgeformtes Tag „{0}“
+malformedMarkup=Nicht wohlgeformtes Markup „{0}“
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Kein zu parsender TextFlow vorhanden
+expectedExactlyOneTextLayoutFormat=Es wird nur ein einziges TextLayoutFormat in {0}	 erwartet

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/de_DE/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/de_DE/textLayout.properties b/frameworks/projects/textLayout/bundles/de_DE/textLayout.properties
new file mode 100644
index 0000000..8bf7db3
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/de_DE/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Kein String für Ressource „{0}“.
+
+# Core errors
+
+invalidFlowElementConstruct=Versuch, ungültige FlowElement-Unterklasse zu erstellen
+invalidSplitAtPosition=Ungültiger Parameter für splitAtPosition
+badMXMLChildrenArgument=Ungültiges Element des Typs „{0}“ an mxmlChildren übergeben
+badReplaceChildrenIndex=Index für FlowGroupElement.replaceChildren außerhalb des Bereichs
+invalidChildType=NewElement entspricht keinem Typ, der ihm übergeordnet sein kann
+badRemoveChild=Zu entfernendes untergeordnetes Element nicht gefunden
+invalidSplitAtIndex=Ungültiger Parameter für splitAtIndex
+badShallowCopyRange=Ungültiger Bereich in shallowCopy
+badSurrogatePairCopy=Es wird nur eine Hälfte eines Surrogat-Paars von SpanElement.shallowCopy kopiert
+invalidReplaceTextPositions=Ungültige Positionen an SpanElement.replaceText übergeben
+invalidSurrogatePairSplit=Ungültige Teilung eines Surrogat-Paars
+badPropertyValue={0}-Eigenschaft mit Wert „{1}“ liegt außerhalb des Bereichs
+
+# Selection/editing
+
+illegalOperation=Unzulässiger Versuch, {0}-Methode auszuführen
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Nicht erwartetes Element „{0}“ innerhalb einer Spanne
+unexpectedNamespace=Unerwarteter Namespace „{0}“
+unknownElement=Unbekanntes Element „{0}“
+unknownAttribute=Attribut „{0}“ in Element „{1}“ nicht zulässig
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Nicht wohlgeformtes Tag „{0}“
+malformedMarkup=Nicht wohlgeformtes Markup „{0}“
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Kein zu parsender TextFlow vorhanden
+expectedExactlyOneTextLayoutFormat=Es wird nur ein einziges TextLayoutFormat in {0}	 erwartet

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/el_GR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/el_GR/textLayout.properties b/frameworks/projects/textLayout/bundles/el_GR/textLayout.properties
new file mode 100644
index 0000000..f377fdb
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/el_GR/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No string for resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
+invalidSplitAtPosition=Invalid parameter to splitAtPosition
+badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
+badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
+invalidChildType=NewElement not of a type that this can be parent of
+badRemoveChild=Child to remove not found
+invalidSplitAtIndex=Invalid parameter to splitAtIndex
+badShallowCopyRange=Bad range in shallowCopy
+badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
+invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
+invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
+badPropertyValue=Property {0} value {1} is out of range
+
+# Selection/editing
+
+illegalOperation=Illegal attempt to execute {0} operation
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Unexpected element {0} within a span
+unexpectedNamespace=Unexpected namespace {0}
+unknownElement=Unknown element {0}
+unknownAttribute=Attribute {0} not permitted in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Malformed tag {0}
+malformedMarkup=Malformed markup {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No TextFlow to parse
+expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/en_AU/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/en_AU/textLayout.properties b/frameworks/projects/textLayout/bundles/en_AU/textLayout.properties
new file mode 100644
index 0000000..47d5987
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/en_AU/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No string for resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
+invalidSplitAtPosition=Invalid parameter to splitAtPosition
+badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
+badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
+invalidChildType=NewElement not of a type that this can be parent of
+badRemoveChild=Child to remove not found
+invalidSplitAtIndex=Invalid parameter to splitAtIndex
+badShallowCopyRange=Bad range in shallowCopy
+badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
+invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
+invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
+badPropertyValue=Property {0} value {1} is out of range
+
+# Selection/editing
+
+illegalOperation=Illegal attempt to execute {0} operation
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Unexpected element {0} within a span
+unexpectedNamespace=Unexpected namespace {0}
+unknownElement=Unknown element {0}
+unknownAttribute=Attribute {0} not permitted in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Malformed tag {0}
+malformedMarkup=Malformed markup {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No TextFlow to parse
+expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/en_CA/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/en_CA/textLayout.properties b/frameworks/projects/textLayout/bundles/en_CA/textLayout.properties
new file mode 100644
index 0000000..60d1633
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/en_CA/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No string for resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
+invalidSplitAtPosition=Invalid parameter to splitAtPosition
+badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
+badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
+invalidChildType=NewElement not of a type that this can be parent of
+badRemoveChild=Child to remove not found
+invalidSplitAtIndex=Invalid parameter to splitAtIndex
+badShallowCopyRange=Bad range in shallowCopy
+badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
+invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
+invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
+badPropertyValue=Property {0} value {1} is out of range
+
+# Selection/editing
+
+illegalOperation=Illegal attempt to execute {0} operation
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Unexpected element {0} within a span
+unexpectedNamespace=Unexpected namespace {0}
+unknownElement=Unknown element {0}
+unknownAttribute=Attribute {0} not permitted in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Malformed tag {0}
+malformedMarkup=Malformed markup {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No TextFlow to parse
+expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/en_GB/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/en_GB/textLayout.properties b/frameworks/projects/textLayout/bundles/en_GB/textLayout.properties
new file mode 100755
index 0000000..47d5987
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/en_GB/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No string for resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
+invalidSplitAtPosition=Invalid parameter to splitAtPosition
+badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
+badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
+invalidChildType=NewElement not of a type that this can be parent of
+badRemoveChild=Child to remove not found
+invalidSplitAtIndex=Invalid parameter to splitAtIndex
+badShallowCopyRange=Bad range in shallowCopy
+badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
+invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
+invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
+badPropertyValue=Property {0} value {1} is out of range
+
+# Selection/editing
+
+illegalOperation=Illegal attempt to execute {0} operation
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Unexpected element {0} within a span
+unexpectedNamespace=Unexpected namespace {0}
+unknownElement=Unknown element {0}
+unknownAttribute=Attribute {0} not permitted in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Malformed tag {0}
+malformedMarkup=Malformed markup {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No TextFlow to parse
+expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/en_US/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/en_US/textLayout.properties b/frameworks/projects/textLayout/bundles/en_US/textLayout.properties
new file mode 100644
index 0000000..60d1633
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/en_US/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No string for resource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Attempted construct of invalid FlowElement subclass
+invalidSplitAtPosition=Invalid parameter to splitAtPosition
+badMXMLChildrenArgument=Bad element of type {0} passed to mxmlChildren
+badReplaceChildrenIndex=Out of range index to FlowGroupElement.replaceChildren
+invalidChildType=NewElement not of a type that this can be parent of
+badRemoveChild=Child to remove not found
+invalidSplitAtIndex=Invalid parameter to splitAtIndex
+badShallowCopyRange=Bad range in shallowCopy
+badSurrogatePairCopy=Copying only half of a surrogate pair in SpanElement.shallowCopy
+invalidReplaceTextPositions=Invalid positions passed to SpanElement.replaceText
+invalidSurrogatePairSplit=Invalid splitting of a surrogate pair
+badPropertyValue=Property {0} value {1} is out of range
+
+# Selection/editing
+
+illegalOperation=Illegal attempt to execute {0} operation
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Unexpected element {0} within a span
+unexpectedNamespace=Unexpected namespace {0}
+unknownElement=Unknown element {0}
+unknownAttribute=Attribute {0} not permitted in element {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Malformed tag {0}
+malformedMarkup=Malformed markup {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No TextFlow to parse
+expectedExactlyOneTextLayoutFormat=Expected one and only one TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/es_ES/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/es_ES/textLayout.properties b/frameworks/projects/textLayout/bundles/es_ES/textLayout.properties
new file mode 100644
index 0000000..d2d177d
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/es_ES/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=No hay ninguna cadena para el recurso {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Intento de creación de la subclase FlowElement no válida
+invalidSplitAtPosition=Parámetro no válido para splitAtPosition
+badMXMLChildrenArgument=Elemento incorrecto del tipo {0} transferido a mxmlChildren
+badReplaceChildrenIndex=Índice fuera del rango para FlowGroupElement.replaceChildren
+invalidChildType=NewElement no es de un tipo del que éste pueda ser el elemento principal
+badRemoveChild=No se encontró el elemento secundario que debe eliminarse
+invalidSplitAtIndex=Parámetro no válido para splitAtIndex
+badShallowCopyRange=Rango incorrecto en shallowCopy
+badSurrogatePairCopy=Copiando sólo la mitad de un par sustituto en SpanElement.shallowCopy
+invalidReplaceTextPositions=Posiciones no válidas transferidas a SpanElement.replaceText
+invalidSurrogatePairSplit=División no válida de un par sustituto
+badPropertyValue=El valor {1} de la propiedad {0} está fuera del rango
+
+# Selection/editing
+
+illegalOperation=Intento no válido para ejecutar la operación {0} 
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Elemento {0} inesperado dentro de un tramo
+unexpectedNamespace=Espacio de nombres {0} inesperado
+unknownElement=Elemento desconocido {0}
+unknownAttribute=El elemento {1} no admite el atributo {0}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Etiqueta {0} incorrecta
+malformedMarkup=Marcado {0} incorrecto
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=No hay ningún TextFlow que deba analizarse
+expectedExactlyOneTextLayoutFormat=Se esperaba uno y sólo un TextLayoutFormat en {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/fi_FI/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/fi_FI/textLayout.properties b/frameworks/projects/textLayout/bundles/fi_FI/textLayout.properties
new file mode 100644
index 0000000..8ee204e
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/fi_FI/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Ei merkkijonoa resurssille {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Yritetään luoda virheellinen FlowElement-aliluokka
+invalidSplitAtPosition=Virheellinen parametri kohteelle splitAtPosition
+badMXMLChildrenArgument=Virheellinen {0}-tyyppinen elementti välitetty kohteeseen mxmlChildren
+badReplaceChildrenIndex=Alueen ulkopuolinen indeksi kohteelle FlowGroupElement.replaceChildren
+invalidChildType=NewElement on tyypiltään väärä yläosaan nähden
+badRemoveChild=Poistettavaa aliosaa ei löydy
+invalidSplitAtIndex=Virheellinen parametri kohteelle splitAtIndex
+badShallowCopyRange=Virheellinen alue kohteessa shallowCopy
+badSurrogatePairCopy=Kopioidaan vain puolet korvaavasta parista kohteessa SpanElement.shallowCopy
+invalidReplaceTextPositions=Virheellisiä sijainteja välitetty kohteeseen SpanElement.replaceText
+invalidSurrogatePairSplit=Korvaavan parin virheellinen jako
+badPropertyValue=Ominaisuuden {0} arvo {1} ei ole alueella
+
+# Selection/editing
+
+illegalOperation=Virheellinen yritys suorittaa operaatio {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Odottamaton elemetti {0} span-kohteessa
+unexpectedNamespace=Odottamaton nimitila {0}
+unknownElement=Tuntematon elementti {0}
+unknownAttribute=Määritteen {0} käyttö ei ole sallittua elementissä {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Väärin muodostettu tunniste {0}
+malformedMarkup=Väärin muodostettu merkintä {0}
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Ei jäsennettävää TextFlow-kohdetta
+expectedExactlyOneTextLayoutFormat=Vain yksi odotettu TextLayoutFormat kohteessa {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/fr_FR/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/fr_FR/textLayout.properties b/frameworks/projects/textLayout/bundles/fr_FR/textLayout.properties
new file mode 100644
index 0000000..a21bf7d
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/fr_FR/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Aucune chaîne pour la ressource {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Tentative de construction d'une sous-classe FlowElement non valide
+invalidSplitAtPosition=Le paramètre passé à splitAtPosition n'est pas valide.
+badMXMLChildrenArgument=L'élément du type {0} passé à mxmlChildren n'est pas correct.
+badReplaceChildrenIndex=L'index vers FlowGroupElement.replaceChildren est en dehors de la plage.
+invalidChildType=Le type de NewElement ne lui permet pas d'en être le parent.
+badRemoveChild=L'enfant à supprimer n'a pas été trouvé.
+invalidSplitAtIndex=Le paramètre passé à splitAtIndex n'est pas valide.
+badShallowCopyRange=Plage incorrecte dans shallowCopy
+badSurrogatePairCopy=Copie de la moitié uniquement d'une paire de substitution dans SpanElement.shallowCopy
+invalidReplaceTextPositions=Les positions passées à SpanElement.replaceText ne sont pas valides.
+invalidSurrogatePairSplit=Fractionnement non valide d'une paire de substitution
+badPropertyValue=La propriété {0} valeur {1} est en dehors de la plage.
+
+# Selection/editing
+
+illegalOperation=Tentative interdite d'exécuter l'opération {0}
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Elément inattendu {0} dans un bloc
+unexpectedNamespace=Espace de noms inattendu {0}
+unknownElement=Elément inconnu {0}
+unknownAttribute=L'attribut {0} n'est pas autorisé dans l'élément {1}.
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Balise {0} mal formée
+malformedMarkup=Balisage {0} mal formé
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Aucun TextFlow à analyser
+expectedExactlyOneTextLayoutFormat=Un et un seul TextLayoutFormat attendu dans {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/it_IT/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/it_IT/textLayout.properties b/frameworks/projects/textLayout/bundles/it_IT/textLayout.properties
new file mode 100644
index 0000000..129b3ec
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/it_IT/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=Nessuna stringa per la risorsa {0}
+
+# Core errors
+
+invalidFlowElementConstruct=Tentativo di costruire una sottoclasse FlowElement non valida
+invalidSplitAtPosition=Parametro a splitAtPosition non valido
+badMXMLChildrenArgument=Elemento di tipo {0} non valido passato a mxmlChildren
+badReplaceChildrenIndex=L'indice a FlowGroupElement.replaceChildren non rientra nell'intervallo
+invalidChildType=NewElement non è di un tipo di cui questo può essere l'elemento principale
+badRemoveChild=Elemento secondario da rimuovere non trovato
+invalidSplitAtIndex=Parametro a splitAtIndex non valido
+badShallowCopyRange=Intervallo non valido in shallowCopy
+badSurrogatePairCopy=Copia di una sola metà di una coppia sostitutiva in SpanElement.shallowCopy
+invalidReplaceTextPositions=Posizioni non valide passate a SpanElement.replaceText
+invalidSurrogatePairSplit=Divisione di una coppia sostitutiva non valida
+badPropertyValue=Il valore {1} della proprietà {0} non rientra nell'intervallo
+
+# Selection/editing
+
+illegalOperation=Tentativo di eseguire l'operazione {0} non valido
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=Elemento {0} non previsto in una estensione
+unexpectedNamespace=Spazio dei nomi {0} non previsto
+unknownElement=Elemento {0} sconosciuto
+unknownAttribute=L'attributo {0} non è consentito nell'elemento {1}
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=Tag {0} non valido
+malformedMarkup=Codifica {0} non valida
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=Nessun TextFlow da analizzare
+expectedExactlyOneTextLayoutFormat=Previsto un unico TextLayoutFormat in {0}	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/textLayout/bundles/ja_JP/textLayout.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/bundles/ja_JP/textLayout.properties b/frameworks/projects/textLayout/bundles/ja_JP/textLayout.properties
new file mode 100644
index 0000000..9564be7
--- /dev/null
+++ b/frameworks/projects/textLayout/bundles/ja_JP/textLayout.properties
@@ -0,0 +1,58 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+## Developer RTE Section
+
+missingStringResource=リソース {0} のストリングがありません
+
+# Core errors
+
+invalidFlowElementConstruct=無効な FlowElement サブクラスを作成しようとしました
+invalidSplitAtPosition=splitAtPosition のパラメーターが無効です
+badMXMLChildrenArgument=mxmlChildren に {0} タイプの不正なエレメントが渡されました
+badReplaceChildrenIndex=FlowGroupElement.replaceChildren のインデックスが範囲外です
+invalidChildType=親になれないタイプの NewElement です
+badRemoveChild=削除する子が見つかりません
+invalidSplitAtIndex=splitAtIndex のパラメーターが無効です
+badShallowCopyRange=shallowCopy の範囲が正しくありません
+badSurrogatePairCopy=SpanElement.shallowCopy のサロゲートペアの半分のみをコピーしています
+invalidReplaceTextPositions=SpanElement.replaceText に無効な位置が渡されました
+invalidSurrogatePairSplit=サロゲートペアの分割が無効です
+badPropertyValue=プロパティ {0} の値 {1} は範囲外です
+
+# Selection/editing
+
+illegalOperation=不正な {0} 操作を実行しようとしています
+
+# Shared import errors
+
+unexpectedXMLElementInSpan=span 内で予期しないエレメント {0} が見つかりました
+unexpectedNamespace=名前空間 {0} は予期しない値です
+unknownElement=エレメント {0} は不明です
+unknownAttribute=属性 {0} はエレメント {1} では使用できません
+
+# TEXT_FIELD_HTML_FORMAT import errors
+
+malformedTag=タグ {0} の形式が不適切です
+malformedMarkup=マークアップ {0} の形式が不適切です
+
+# TEXT_LAYOUT_FORMAT import errors
+
+missingTextFlow=解析する TextFlow がありません
+expectedExactlyOneTextLayoutFormat={0} には TextLayoutFormat が 1 つだけ必要です	


[31/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFImageWriter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFImageWriter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFImageWriter.java
new file mode 100644
index 0000000..1725839
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFImageWriter.java
@@ -0,0 +1,35 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+/**
+ * ImageWriter that encodes TIFF images using Image I/O.
+ *
+ * @version $Id: ImageIOTIFFImageWriter.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOTIFFImageWriter extends ImageIOImageWriter {
+
+    /**
+     * Main constructor.
+     */
+    public ImageIOTIFFImageWriter() {
+        super("image/tiff");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFRegistryEntry.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFRegistryEntry.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFRegistryEntry.java
new file mode 100644
index 0000000..6ffc5f6
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/ImageIOTIFFRegistryEntry.java
@@ -0,0 +1,45 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import org.apache.flex.forks.batik.ext.awt.image.spi.MagicNumberRegistryEntry;
+
+/**
+ * RegistryEntry implementation for loading TIFF images through Image I/O.
+ *
+ * @version $Id: ImageIOTIFFRegistryEntry.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class ImageIOTIFFRegistryEntry 
+    extends AbstractImageIORegistryEntry {
+
+    static final byte [] sig1 = {(byte)0x49, (byte)0x49, 42,  0};
+    static final byte [] sig2 = {(byte)0x4D, (byte)0x4D,  0, 42};
+
+    static MagicNumberRegistryEntry.MagicNumber [] magicNumbers = {
+        new MagicNumberRegistryEntry.MagicNumber(0, sig1),
+        new MagicNumberRegistryEntry.MagicNumber(0, sig2) };
+
+    static final String [] exts      = {"tiff", "tif" };
+    static final String [] mimeTypes = {"image/tiff", "image/tif" };
+
+    public ImageIOTIFFRegistryEntry() {
+        super("TIFF", exts, mimeTypes, magicNumbers);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/PNGTranscoderImageIOWriteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/PNGTranscoderImageIOWriteAdapter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/PNGTranscoderImageIOWriteAdapter.java
new file mode 100644
index 0000000..8c343f0
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/PNGTranscoderImageIOWriteAdapter.java
@@ -0,0 +1,102 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import org.apache.flex.forks.batik.ext.awt.image.rendered.IndexImage;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriter;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterParams;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterRegistry;
+import org.apache.flex.forks.batik.transcoder.TranscoderException;
+import org.apache.flex.forks.batik.transcoder.TranscoderOutput;
+import org.apache.flex.forks.batik.transcoder.TranscodingHints;
+import org.apache.flex.forks.batik.transcoder.image.PNGTranscoder;
+
+/**
+ * This class is a helper to <tt>PNGTranscoder</tt> that writes PNG images 
+ * through the Image I/O API.
+ *
+ * @version $Id: PNGTranscoderImageIOWriteAdapter.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class PNGTranscoderImageIOWriteAdapter implements
+        PNGTranscoder.WriteAdapter {
+
+    /**
+     * @throws TranscoderException 
+     * @see org.apache.flex.forks.batik.transcoder.image.PNGTranscoder.WriteAdapter#writeImage(org.apache.flex.forks.batik.transcoder.image.PNGTranscoder, java.awt.image.BufferedImage, org.apache.flex.forks.batik.transcoder.TranscoderOutput)
+     */
+    public void writeImage(PNGTranscoder transcoder, BufferedImage img,
+            TranscoderOutput output) throws TranscoderException {
+
+        TranscodingHints hints = transcoder.getTranscodingHints();
+
+        int n = -1;
+        if (hints.containsKey(PNGTranscoder.KEY_INDEXED)) {
+            n=((Integer)hints.get(PNGTranscoder.KEY_INDEXED)).intValue();
+            if (n==1||n==2||n==4||n==8) 
+                //PNGEncodeParam.Palette can handle these numbers only.
+                img = IndexImage.getIndexedImage(img, 1<<n);
+        }
+
+        ImageWriter writer = ImageWriterRegistry.getInstance()
+            .getWriterFor("image/png");
+        ImageWriterParams params = new ImageWriterParams();
+
+        /* NYI!!!!!
+        PNGEncodeParam params = PNGEncodeParam.getDefaultEncodeParam(img);
+        if (params instanceof PNGEncodeParam.RGB) {
+            ((PNGEncodeParam.RGB)params).setBackgroundRGB
+                (new int [] { 255, 255, 255 });
+        }*/
+
+        // If they specify GAMMA key with a value of '0' then omit
+        // gamma chunk.  If they do not provide a GAMMA then just
+        // generate an sRGB chunk. Otherwise supress the sRGB chunk
+        // and just generate gamma and chroma chunks.
+        /* NYI!!!!!!
+        if (hints.containsKey(PNGTranscoder.KEY_GAMMA)) {
+            float gamma = ((Float)hints.get(PNGTranscoder.KEY_GAMMA)).floatValue();
+            if (gamma > 0) {
+                params.setGamma(gamma);
+            }
+            params.setChromaticity(PNGTranscoder.DEFAULT_CHROMA);
+        }  else {
+            // We generally want an sRGB chunk and our encoding intent
+            // is perceptual
+            params.setSRGBIntent(PNGEncodeParam.INTENT_PERCEPTUAL);
+        }*/
+
+
+        float PixSzMM = transcoder.getUserAgent().getPixelUnitToMillimeter();
+        int PixSzInch = (int)(25.4 / PixSzMM + 0.5);
+        params.setResolution(PixSzInch);
+
+        try {
+            OutputStream ostream = output.getOutputStream();
+            writer.writeImage(img, ostream, params);
+            ostream.flush();
+        } catch (IOException ex) {
+            throw new TranscoderException(ex);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/TIFFTranscoderImageIOWriteAdapter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/TIFFTranscoderImageIOWriteAdapter.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/TIFFTranscoderImageIOWriteAdapter.java
new file mode 100644
index 0000000..fecd69b
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/ext/awt/image/codec/imageio/TIFFTranscoderImageIOWriteAdapter.java
@@ -0,0 +1,103 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.ext.awt.image.codec.imageio;
+
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBuffer;
+import java.awt.image.PixelInterleavedSampleModel;
+import java.awt.image.RenderedImage;
+import java.awt.image.SampleModel;
+import java.awt.image.SinglePixelPackedSampleModel;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import org.apache.flex.forks.batik.ext.awt.image.GraphicsUtil;
+import org.apache.flex.forks.batik.ext.awt.image.rendered.FormatRed;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriter;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterParams;
+import org.apache.flex.forks.batik.ext.awt.image.spi.ImageWriterRegistry;
+import org.apache.flex.forks.batik.transcoder.TranscoderException;
+import org.apache.flex.forks.batik.transcoder.TranscoderOutput;
+import org.apache.flex.forks.batik.transcoder.TranscodingHints;
+import org.apache.flex.forks.batik.transcoder.image.TIFFTranscoder;
+
+/**
+ * This class is a helper to <tt>TIFFTranscoder</tt> that writes TIFF images 
+ * through the Image I/O API.
+ *
+ * @version $Id: TIFFTranscoderImageIOWriteAdapter.java 502538 2007-02-02 08:52:56Z dvholten $
+ */
+public class TIFFTranscoderImageIOWriteAdapter 
+    implements TIFFTranscoder.WriteAdapter {
+
+    /**
+     * @throws TranscoderException 
+     * @see org.apache.flex.forks.batik.transcoder.image.TIFFTranscoder.WriteAdapter#writeImage(TIFFTranscoder, java.awt.image.BufferedImage, org.apache.flex.forks.batik.transcoder.TranscoderOutput)
+     */
+    public void writeImage(TIFFTranscoder transcoder, BufferedImage img,
+            TranscoderOutput output) throws TranscoderException {
+
+        TranscodingHints hints = transcoder.getTranscodingHints();
+
+        ImageWriter writer = ImageWriterRegistry.getInstance()
+            .getWriterFor("image/tiff");
+        ImageWriterParams params = new ImageWriterParams();
+
+        float PixSzMM = transcoder.getUserAgent().getPixelUnitToMillimeter();
+        int PixSzInch = (int)(25.4 / PixSzMM + 0.5);
+        params.setResolution(PixSzInch);
+
+        if (hints.containsKey(TIFFTranscoder.KEY_COMPRESSION_METHOD)) {
+            String method = (String)hints.get(TIFFTranscoder.KEY_COMPRESSION_METHOD);
+            //Values set here as defined in TIFFImageWriteParam of JAI Image I/O Tools
+            if ("packbits".equals(method)) {
+                params.setCompressionMethod("PackBits");
+            } else if ("deflate".equals(method)) {
+                params.setCompressionMethod("Deflate");
+            } else if ("lzw".equals(method)) {
+                params.setCompressionMethod("LZW");
+            } else if ("jpeg".equals(method)) {
+                params.setCompressionMethod("JPEG");
+            } else {
+                //nop
+            }
+        }
+
+        try {
+            OutputStream ostream = output.getOutputStream();
+            int w = img.getWidth();
+            int h = img.getHeight();
+            SinglePixelPackedSampleModel sppsm;
+            sppsm = (SinglePixelPackedSampleModel)img.getSampleModel();
+            int bands = sppsm.getNumBands();
+            int [] off = new int[bands];
+            for (int i = 0; i < bands; i++)
+                off[i] = i;
+            SampleModel sm = new PixelInterleavedSampleModel
+                (DataBuffer.TYPE_BYTE, w, h, bands, w * bands, off);
+            
+            RenderedImage rimg = new FormatRed(GraphicsUtil.wrap(img), sm);
+            writer.writeImage(rimg, ostream, params);
+            ostream.flush();
+        } catch (IOException ex) {
+            throw new TranscoderException(ex);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources-1.4/org/apache/batik/gvt/event/AWTEventDispatcher.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources-1.4/org/apache/batik/gvt/event/AWTEventDispatcher.java b/modules/thirdparty/batik/sources-1.4/org/apache/batik/gvt/event/AWTEventDispatcher.java
new file mode 100644
index 0000000..ec5e43d
--- /dev/null
+++ b/modules/thirdparty/batik/sources-1.4/org/apache/batik/gvt/event/AWTEventDispatcher.java
@@ -0,0 +1,151 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.gvt.event;
+
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseWheelEvent;
+import java.awt.event.MouseWheelListener;
+import java.util.EventObject;
+
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+
+/**
+ * A concrete version of {@link org.apache.flex.forks.batik.gvt.event.AWTEventDispatcher}.
+ *
+ * This class is used for JDKs &gt;= 1.4, which have MouseWheelEvent
+ * support.  For JDKs &lt; 1.4, the file
+ * sources-1.3/org/apache/batik/gvt/event/AWTEventDispatcher defines a
+ * version of this class that does not support MouseWheelEvents.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: AWTEventDispatcher.java 575202 2007-09-13 07:45:18Z cam $
+ */
+public class AWTEventDispatcher extends AbstractAWTEventDispatcher
+                                implements MouseWheelListener {
+
+    /**
+     * Dispatches the specified AWT mouse wheel event down to the GVT tree.
+     * The mouse wheel event is mutated to a GraphicsNodeMouseWheelEvent.
+     * @param evt the mouse event to propagate
+     */
+    public void mouseWheelMoved(MouseWheelEvent evt) {
+        dispatchEvent(evt);
+    }
+
+    /**
+     * Dispatches the specified AWT event.
+     * @param evt the event to dispatch
+     */
+    public void dispatchEvent(EventObject evt) {
+        if (evt instanceof MouseWheelEvent) {
+            if (root == null) // No root do not store anything.
+                return;
+            if (!eventDispatchEnabled) {
+                if (eventQueueMaxSize > 0) {
+                    eventQueue.add(evt);
+                    while (eventQueue.size() > eventQueueMaxSize)
+                        // Limit how many events we queue - don't want
+                        // user waiting forever for them to clear.
+                        eventQueue.remove(0); 
+                }
+                return;
+            }
+            dispatchMouseWheelEvent((MouseWheelEvent) evt);
+        } else {
+            super.dispatchEvent(evt);
+        }
+    }
+
+    /**
+     * Dispatches the specified AWT mouse wheel event.
+     * @param evt the mouse wheel event to dispatch
+     */
+    protected void dispatchMouseWheelEvent(MouseWheelEvent evt) {
+        if (lastHit != null) {
+            processMouseWheelEvent
+                (new GraphicsNodeMouseWheelEvent(lastHit,
+                                                 evt.getID(),
+                                                 evt.getWhen(),
+                                                 evt.getModifiersEx(),
+                                                 getCurrentLockState(),
+                                                 evt.getWheelRotation()));
+        }
+    }
+
+    /**
+     * Processes the specified event by firing the 'global' listeners
+     * attached to this event dispatcher.
+     * @param evt the event to process
+     */
+    protected void processMouseWheelEvent(GraphicsNodeMouseWheelEvent evt) {
+        if (glisteners != null) {
+            GraphicsNodeMouseWheelListener[] listeners =
+                (GraphicsNodeMouseWheelListener[])
+                getListeners(GraphicsNodeMouseWheelListener.class);
+            for (int i = 0; i < listeners.length; i++) {
+                listeners[i].mouseWheelMoved(evt);
+            }
+        }
+    }
+
+    /**
+     * Dispatches the specified AWT key event.
+     * @param evt the key event to dispatch
+     */
+    protected void dispatchKeyEvent(KeyEvent evt) {
+        currentKeyEventTarget = lastHit;
+        GraphicsNode target =
+            currentKeyEventTarget == null ? root : currentKeyEventTarget;
+        processKeyEvent
+            (new GraphicsNodeKeyEvent(target,
+                                      evt.getID(),
+                                      evt.getWhen(),
+                                      evt.getModifiersEx(),
+                                      getCurrentLockState(),
+                                      evt.getKeyCode(),
+                                      evt.getKeyChar(),
+                                      evt.getKeyLocation()));
+    }
+
+    /** 
+     * Returns the modifiers mask for this event.  This just calls
+     * {@link InputEvent#getModifiersEx()} on <code>evt</code>.
+     */
+    protected int getModifiers(InputEvent evt) {
+        return evt.getModifiersEx();
+    }
+
+    /**
+     * Returns the button whose state changed for the given event.  This just
+     * calls {@link MouseEvent#getButton()}.
+     */
+    protected int getButton(MouseEvent evt) {
+        return evt.getButton();
+    }
+
+    /**
+     * Returns whether the meta key is down according to the given modifiers
+     * bitfield.
+     */
+    protected static boolean isMetaDown(int modifiers) {
+        return (modifiers & (1 << 8)) != 0; /* META_DOWN_MASK */
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/Squiggle.icns
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/Squiggle.icns b/modules/thirdparty/batik/sources/Squiggle.icns
new file mode 100644
index 0000000..b4875d6
Binary files /dev/null and b/modules/thirdparty/batik/sources/Squiggle.icns differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-anim.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-anim.pom.template b/modules/thirdparty/batik/sources/batik-anim.pom.template
new file mode 100644
index 0000000..b8d523f
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-anim.pom.template
@@ -0,0 +1,116 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-anim</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik animation engine</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-parser</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-awt-util.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-awt-util.pom.template b/modules/thirdparty/batik/sources/batik-awt-util.pom.template
new file mode 100644
index 0000000..fb178b7
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-awt-util.pom.template
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-awt-util</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik AWT utilities</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-bridge.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-bridge.pom.template b/modules/thirdparty/batik/sources/batik-bridge.pom.template
new file mode 100644
index 0000000..70313cd
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-bridge.pom.template
@@ -0,0 +1,146 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-bridge</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik bridge classes</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-anim</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-css</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-gvt</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-parser</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-script</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-xml</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.6.0</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-browser-ext.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-browser-ext.mf b/modules/thirdparty/batik/sources/batik-browser-ext.mf
index e7d25a7..9798327 100644
--- a/modules/thirdparty/batik/sources/batik-browser-ext.mf
+++ b/modules/thirdparty/batik/sources/batik-browser-ext.mf
@@ -1,4 +1,4 @@
 Manifest-Version: 1.0
 Class-Path: ../batik-squiggle.jar \
             ../lib/batik-extension.jar
-Main-Class: org.apache.flex.forks.batik.apps.svgbrowser.Main
+Main-Class: org.apache.batik.apps.svgbrowser.Main

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-browser.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-browser.mf b/modules/thirdparty/batik/sources/batik-browser.mf
index 5046a46..a878f15 100644
--- a/modules/thirdparty/batik/sources/batik-browser.mf
+++ b/modules/thirdparty/batik/sources/batik-browser.mf
@@ -1,5 +1,5 @@
 Manifest-Version: 1.0
-Main-Class: org.apache.flex.forks.batik.apps.svgbrowser.Main
+Main-Class: org.apache.batik.apps.svgbrowser.Main
 Class-Path: lib/batik-ext.jar \
             lib/batik-dom.jar \
             lib/batik-css.jar \
@@ -9,11 +9,15 @@ Class-Path: lib/batik-ext.jar \
             lib/batik-script.jar \
             lib/batik-bridge.jar \
             lib/batik-swing.jar \
+            lib/batik-anim.jar \
             lib/batik-transcoder.jar \
             lib/batik-gui-util.jar \
             lib/batik-awt-util.jar \
+            lib/batik-codec.jar \
             lib/batik-util.jar \
             lib/batik-xml.jar \
             lib/xerces_2_5_0.jar \
+            lib/xalan-2.6.0.jar \
             lib/xml-apis.jar \
+            lib/xml-apis-ext.jar \
             lib/js.jar

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-codec.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-codec.pom.template b/modules/thirdparty/batik/sources/batik-codec.pom.template
new file mode 100644
index 0000000..802f4ee
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-codec.pom.template
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-codec</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik image codecs</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-transcoder</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-css.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-css.pom.template b/modules/thirdparty/batik/sources/batik-css.pom.template
new file mode 100644
index 0000000..c3ed1e5
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-css.pom.template
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-css</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik CSS engine</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-dom.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-dom.pom.template b/modules/thirdparty/batik/sources/batik-dom.pom.template
new file mode 100644
index 0000000..e6d41ce
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-dom.pom.template
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-dom</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik DOM implementation</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-css</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-xml</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.6.0</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-ext.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-ext.pom.template b/modules/thirdparty/batik/sources/batik-ext.pom.template
new file mode 100644
index 0000000..fad47aa
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-ext.pom.template
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-ext</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik external code</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-extension.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-extension.pom.template b/modules/thirdparty/batik/sources/batik-extension.pom.template
new file mode 100644
index 0000000..274fd82
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-extension.pom.template
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-extension</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik extension classes</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-css</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-gvt</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-parser</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis-ext</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-gui-util.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-gui-util.pom.template b/modules/thirdparty/batik/sources/batik-gui-util.pom.template
new file mode 100644
index 0000000..748a812
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-gui-util.pom.template
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-gui-util</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik GUI utility classes</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-gvt.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-gvt.pom.template b/modules/thirdparty/batik/sources/batik-gvt.pom.template
new file mode 100644
index 0000000..b80f1f2
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-gvt.pom.template
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-gvt</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik GVT (Graphics Vector Tree)</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-js.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-js.pom.template b/modules/thirdparty/batik/sources/batik-js.pom.template
new file mode 100644
index 0000000..5576f22
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-js.pom.template
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-js</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik patched Rhino</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <description>
+    This is a patched version of Rhino 1.6R5 for use by Batik.  See
+    http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk/lib/README.js.txt
+    for details of the patch.
+  </description>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>Mozilla Public License version 1.1</name>
+      <url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-parser.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-parser.pom.template b/modules/thirdparty/batik/sources/batik-parser.pom.template
new file mode 100644
index 0000000..aeea0d0
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-parser.pom.template
@@ -0,0 +1,91 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-parser</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik SVG microsyntax parser library</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-awt-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-xml</artifactId>
+      <version>@version@</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-pp.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-pp.mf b/modules/thirdparty/batik/sources/batik-pp.mf
index 780ed3e..61fdc20 100644
--- a/modules/thirdparty/batik/sources/batik-pp.mf
+++ b/modules/thirdparty/batik/sources/batik-pp.mf
@@ -1,9 +1,10 @@
 Manifest-Version: 1.0
-Main-Class: org.apache.flex.forks.batik.apps.svgpp.Main
+Main-Class: org.apache.batik.apps.svgpp.Main
 Class-Path: lib/batik-ext.jar \
             lib/batik-dom.jar \
             lib/batik-parser.jar \
             lib/batik-transcoder.jar \
             lib/batik-util.jar \
             lib/batik-xml.jar \
-            lib/xml-apis.jar
+            lib/xml-apis.jar \
+            lib/xml-apis-ext.jar

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-rasterizer-ext.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-rasterizer-ext.mf b/modules/thirdparty/batik/sources/batik-rasterizer-ext.mf
deleted file mode 100644
index 773ae09..0000000
--- a/modules/thirdparty/batik/sources/batik-rasterizer-ext.mf
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: ../batik-rasterizer.jar \
-            ../lib/batik-extension.jar
-Main-Class: org.apache.flex.forks.batik.apps.rasterizer.Main

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-rasterizer.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-rasterizer.mf b/modules/thirdparty/batik/sources/batik-rasterizer.mf
deleted file mode 100644
index 64fc661..0000000
--- a/modules/thirdparty/batik/sources/batik-rasterizer.mf
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.apache.flex.forks.batik.apps.rasterizer.Main
-Class-Path: lib/batik-ext.jar \
-            lib/batik-dom.jar \
-            lib/batik-css.jar \
-            lib/batik-svg-dom.jar \
-            lib/batik-gvt.jar \
-            lib/batik-parser.jar \
-            lib/batik-script.jar \
-            lib/batik-bridge.jar \
-            lib/batik-transcoder.jar \
-            lib/batik-awt-util.jar \
-            lib/batik-util.jar \
-            lib/batik-xml.jar \
-            lib/xerces_2_5_0.jar \
-            lib/xml-apis.jar \
-            lib/pdf-transcoder.jar \
-            lib/js.jar

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-script.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-script.pom.template b/modules/thirdparty/batik/sources/batik-script.pom.template
new file mode 100644
index 0000000..47504ce
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-script.pom.template
@@ -0,0 +1,111 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-script</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik scripting language classes</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-bridge</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-ext</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-svg-dom</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-util</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-js</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.3.04</version>
+    </dependency>
+  </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-slideshow.mf
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-slideshow.mf b/modules/thirdparty/batik/sources/batik-slideshow.mf
deleted file mode 100644
index dfef63d..0000000
--- a/modules/thirdparty/batik/sources/batik-slideshow.mf
+++ /dev/null
@@ -1,20 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: lib/batik-ext.jar \
-            lib/batik-dom.jar \
-            lib/batik-css.jar \
-            lib/batik-svg-dom.jar \
-            lib/batik-gvt.jar \
-            lib/batik-parser.jar \
-            lib/batik-script.jar \
-            lib/batik-bridge.jar \
-            lib/batik-swing.jar \
-            lib/batik-transcoder.jar \
-            lib/batik-gui-util.jar \
-            lib/batik-awt-util.jar \
-            lib/batik-util.jar \
-            lib/batik-xml.jar \
-            lib/xerces_2_5_0.jar \
-            lib/xml-apis.jar \
-            lib/js.jar
-            
-Main-Class: org.apache.flex.forks.batik.apps.slideshow.Main

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/batik-squiggle-ext.pom.template
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/batik-squiggle-ext.pom.template b/modules/thirdparty/batik/sources/batik-squiggle-ext.pom.template
new file mode 100644
index 0000000..3c06a64
--- /dev/null
+++ b/modules/thirdparty/batik/sources/batik-squiggle-ext.pom.template
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<!--
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.xmlgraphics</groupId>
+  <artifactId>batik-squiggle-ext</artifactId>
+  <version>@version@</version>
+  <packaging>jar</packaging>
+  <name>Batik SVG browser application with extensions</name>
+  <url>http://xmlgraphics.apache.org/batik/</url>
+  <inceptionYear>2000</inceptionYear>
+
+  <mailingLists>
+    <mailingList>
+      <name>Batik Users List</name>
+      <subscribe>batik-users-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-users-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Developer List</name>
+      <subscribe>batik-dev-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-dev-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Batik Commit List</name>
+      <subscribe>batik-commits-subscribe@xmlgraphics.apache.org</subscribe>
+      <unsubscribe>batik-commits-unsubscribe@xmlgraphics.apache.org</unsubscribe>
+      <archive>http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-commits/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/xmlgraphics/batik/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/?root=Apache-SVN</url>
+  </scm>
+
+  <organization>
+    <name>Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-squiggle</artifactId>
+      <version>@version@</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xmlgraphics</groupId>
+      <artifactId>batik-extensions</artifactId>
+      <version>@version@</version>
+    </dependency>
+  </dependencies>
+</project>


[45/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/utils.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/utils.properties b/frameworks/projects/framework/bundles/de_CH/utils.properties
new file mode 100644
index 0000000..a489083
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/utils.properties
@@ -0,0 +1,22 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Base64Decoder
+
+partialBlockDropped = ein partieller Block ({0} von 4 Byte) wurde gelöscht; dekodierte Daten sind wahrscheinlich unvollständig.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/de_CH/validators.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/de_CH/validators.properties b/frameworks/projects/framework/bundles/de_CH/validators.properties
new file mode 100644
index 0000000..9ae7dc3
--- /dev/null
+++ b/frameworks/projects/framework/bundles/de_CH/validators.properties
@@ -0,0 +1,176 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
+##
+################################################################################
+
+# Symbols
+
+# CreditCardValidator
+creditCardValidatorAllowedFormatChars=\ -
+
+# Currency/Number Validator
+allowNegative=true
+decimalSeparator=.
+maxValue=NaN
+minValue=NaN
+thousandsSeparator='
+groupingSeparator='
+
+# CurrencyValidator
+currencyValidatorPrecision=2
+
+# DateValidator
+dateValidatorAllowedFormatChars=/- \\.
+validateAsString=true
+
+# NumberValidator
+numberValidatorDomain=real
+numberValidatorPrecision=-1
+
+# PhoneNumberValidator
+phoneNumberValidatorAllowedFormatChars=-()+ .
+
+# SocialSecurityValidator
+socialSecurityValidatorAllowedFormatChars=\ -
+
+# ZipCodeValidator
+zipCodeValidatorAllowedFormatChars=\ -
+zipCodeValidatorDomain=Nur USA
+
+
+# Tooltip errors
+
+# CurrencyValidator, NumberValidator
+
+decimalPointCountError=Der Dezimalzeichen darf nur einmal auftreten.
+invalidCharError=Die Eingabe enthält ungültige Zeichen.
+invalidFormatCharsError=Einer der Formatierungsparameter ist ungültig.
+lowerThanMinError=Die eingegebene Menge ist zu klein.
+negativeError=Negative Mengen sind unzulässig.
+negativeNumberFormatError=Das positive Format der Eingabezahl ist falsch.
+negativeCurrencyFormatError=Das negative Format der Eingabewährung ist falsch.
+positiveCurrencyFormatError=Das positive Format der Eingabewährung ist falsch.
+parseError=Der Eingabestring konnte nicht analysiert werden.
+negativeSymbolError=Das Negativsymbol wird wiederholt oder steht an der falschen Stelle.
+precisionError=Der eingegebene Mengenwert weist zu viele Ziffern nach dem Dezimalzeichen auf.
+fractionalDigitsError=Der eingegebene Mengenwert weist zu viele Ziffern nach dem Dezimalzeichen auf.
+separationError=Nach dem Tausender-Trennzeichen müssen drei Ziffern stehen.
+currencyStringError=Der Währungsname ist eine Wiederholung oder falsch.
+localeUndefinedError=Gebietsschema ist nicht definiert.
+
+# CreditCardValidator
+
+invalidCharErrorCCV=Die Kreditkartennummer enthält ungültige Zeichen. (Geben Sie nur Zahlen ein.)
+invalidNumberError=Die Kreditkartennummer ist ungültig.
+noNumError=Es wurde keine Kreditkartennummer angegeben.
+noTypeError=Es wurde keine Kreditkartennummer angegeben oder der Typ ist ungültig.
+wrongLengthErrorCCV=Die Kreditkartennummer enthält eine falsche Ziffernanzahl.
+wrongTypeError=Es wurde ein falscher Kartentyp angegeben.
+
+# CurrencyValidator
+
+currencySymbolError=Das Währungssymbol tritt an einer ungültigen Stelle auf.
+exceedsMaxErrorCV=Die eingegebene Menge ist zu groß.
+
+# DateValidator
+
+wrongLengthErrorDV=Geben Sie das Datum im richtigen Format ein.
+invalidCharErrorDV=Das Datum enthält ungültige Zeichen.
+wrongMonthError=Geben Sie einen Monat zwischen 1 und 12 ein.
+wrongDayError=Geben Sie einen neuen gültigen Tag für den Monat ein.
+wrongYearError=Geben Sie ein Jahr zwischen 0 und 9999 ein.
+formatError=Konfigurationsfehler: Falscher Formatierungsstring.
+
+# EmailValidator
+
+invalidCharErrorEV=Die E-Mail-Adresse enthält ungültige Zeichen.
+invalidDomainErrorEV=Die Domäne in der E-Mail-Adresse ist falsch formatiert.
+invalidIPDomainError=Die IP-Domäne in der E-Mail-Adresse ist falsch formatiert.
+invalidPeriodsInDomainError=Die Domäne in der E-Mail-Adresse enthält aufeinander folgende Punkte.
+missingAtSignError=In der E-Mail-Adresse fehlt das At-Zeichen (@).
+missingPeriodInDomainError=In der E-Mail-Adresse fehlt ein Punkt in der Domänenangabe.
+missingUsernameError=In der E-Mail-Adresse fehlt der Benutzername.
+tooManyAtSignsError=Die E-Mail-Adresse enthält zu viele At-Zeichen (@).
+
+# NumberValidator
+
+exceedsMaxErrorNV=Die eingegebene Zahl ist zu groß.
+integerError=Die Zahl muss eine Ganzzahl sein.
+
+# PhoneNumberValidator
+
+invalidCharErrorPNV=Die Telefonnummer enthält ungültige Zeichen.
+minDigitsPNV=10
+wrongLengthErrorPNV=Die Telefonnummer muss mindestens {0} Ziffern enthalten.
+
+# RegExValidator
+
+noMatchError=Das Feld ist ungültig.
+noExpressionError=Der Ausdruck fehlt.
+
+# SocialSecurityValidator
+
+invalidCharErrorSSV=Die Sozialversicherungsnummer enthält ungültige Zeichen.
+wrongFormatError=Die Sozialversicherungsnummer muss 9 Ziffern enthalten oder das Format NNN-NN-NNNN aufweisen. 
+zeroStartError=Ungültige Sozialversicherungsnummer. Die Nummer darf nicht mit 000 beginnen.
+
+# StringValidator
+
+tooLongError=Diese Zeichenfolge überschreitet die maximal zulässige Länge. Sie muss weniger als {0} Zeichen enthalten.
+tooShortError=Diese Zeichenfolge unterschreitet die erforderliche Mindestlänge. Diese beträgt {0} Zeichen.
+minLength=NaN
+maxLength=NaN
+
+# Validator
+
+requiredFieldError=Dieses Feld muss ausgefüllt werden.
+
+# ZipCodeValidator
+
+invalidCharErrorZCV=Die Postleitzahl enthält ungültige Zeichen.
+invalidDomainErrorZCV=Der Domänenparameter ist ungültig. Er muss entweder „Nur USA“, „Nur Kanada“ oder „USA oder Kanada“ lauten.
+wrongCAFormatError=In Kanada hat die Postleitzahl das Format 'A1B 2C3'.
+wrongLengthErrorZCV=Die Postleitzahl muss entweder 5 Ziffern oder 5+4 Ziffern enthalten.
+wrongUSFormatError=Eine Postleitzahl mit vier zusätzlichen Zeichen muss das Format '12345-6789' aufweisen.
+invalidFormatCharsZCV=Der Parameter allowedFormatChars ist ungültig. Alphanumerische Zeichen sind unzulässig (a-z A-Z 0-9).
+
+
+# Developer RTE Section
+
+# Shared
+
+invalidFormatChars=Der Parameter allowedFormatChars ist ungültig. Er darf keine Ziffern enthalten.
+
+# CreditCardValidator
+
+missingCardType=In dem überprüften Wert fehlt eine cardType-Eigenschaft.
+missingCardNumber=In dem überprüften Wert fehlt eine cardNumber-Eigenschaft.
+CNSAttribute=Das cardNumberSource-Attribut, '{0}', darf nicht vom Typ String sein.
+CTSAttribute=Das cardTypeSource-Attribut, '{0}', darf nicht vom Typ String sein.
+
+# DateValidator
+
+DSAttribute=Das daySource-Attribut, '{0}', darf nicht vom Typ String sein.
+MSAttribute=Das monthSource-Attribut, '{0}', darf nicht vom Typ String sein.
+YSAttribute=Das yearSource-Attribut, '{0}', darf nicht vom Typ String sein.
+
+# Validator
+
+fieldNotFound='{0}' field not found.
+SAttribute=Das Quellattribut, '{0}', darf nicht vom Typ String sein.
+SAttributeMissing=Das Quellattribut muss festgelegt werden, wenn das Eigenschaftsattribut festgelegt wurde.
+PAttributeMissing=Das Eigenschaftsattribut muss angegeben werden, wenn das Quellattribut angegeben wurde.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/SharedResources.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/SharedResources.properties b/frameworks/projects/framework/bundles/pt_PT/SharedResources.properties
index add34cc..550535d 100644
--- a/frameworks/projects/framework/bundles/pt_PT/SharedResources.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/SharedResources.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2005-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/collections.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/collections.properties b/frameworks/projects/framework/bundles/pt_PT/collections.properties
index 59626cd..f34f47c 100644
--- a/frameworks/projects/framework/bundles/pt_PT/collections.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/collections.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/containers.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/containers.properties b/frameworks/projects/framework/bundles/pt_PT/containers.properties
index 178c05a..1a644a6 100644
--- a/frameworks/projects/framework/bundles/pt_PT/containers.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/containers.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/controls.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/controls.properties b/frameworks/projects/framework/bundles/pt_PT/controls.properties
index ef2e13f..643dfd9 100644
--- a/frameworks/projects/framework/bundles/pt_PT/controls.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/controls.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/core.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/core.properties b/frameworks/projects/framework/bundles/pt_PT/core.properties
index 7b36131..f7e1b89 100644
--- a/frameworks/projects/framework/bundles/pt_PT/core.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/core.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 
@@ -52,4 +60,4 @@ notImplementedInFTETextField='[[0]]' não está implementado em FTETextField.
 unsupportedTypeInFTETextField=O FTETextField não pode ser definido como sendo do tipo ^Qinput^Q.
 
 # Generated code for FlexInit
-remoteClassMemoryLeak=aviso: A classe [[0]] foi usada numa chamada a net.registerClassAlias() em [[2]]. Isto fará com que [[1]] vaze. Para resolver o vazamento, deve-se definir [[0]] na aplicação de topo.
\ No newline at end of file
+remoteClassMemoryLeak=aviso: A classe [[0]] foi usada numa chamada a net.registerClassAlias() em [[2]]. Isto fará com que [[1]] vaze. Para resolver o vazamento, deve-se definir [[0]] na aplicação de topo.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/effects.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/effects.properties b/frameworks/projects/framework/bundles/pt_PT/effects.properties
index 3efc290..18daa74 100644
--- a/frameworks/projects/framework/bundles/pt_PT/effects.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/effects.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/formatters.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/formatters.properties b/frameworks/projects/framework/bundles/pt_PT/formatters.properties
index 71a0637..a459584 100644
--- a/frameworks/projects/framework/bundles/pt_PT/formatters.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/formatters.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/logging.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/logging.properties b/frameworks/projects/framework/bundles/pt_PT/logging.properties
index 92fd554..a518e79 100644
--- a/frameworks/projects/framework/bundles/pt_PT/logging.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/logging.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/modules.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/modules.properties b/frameworks/projects/framework/bundles/pt_PT/modules.properties
index 97591f7..a766027 100644
--- a/frameworks/projects/framework/bundles/pt_PT/modules.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/modules.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/skins.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/skins.properties b/frameworks/projects/framework/bundles/pt_PT/skins.properties
index c00932c..e82bf89 100644
--- a/frameworks/projects/framework/bundles/pt_PT/skins.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/skins.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/states.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/states.properties b/frameworks/projects/framework/bundles/pt_PT/states.properties
index ec4348d..c7261e0 100644
--- a/frameworks/projects/framework/bundles/pt_PT/states.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/states.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/styles.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/styles.properties b/frameworks/projects/framework/bundles/pt_PT/styles.properties
index ba9c4fc..cb0b1e6 100644
--- a/frameworks/projects/framework/bundles/pt_PT/styles.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/styles.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/utils.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/utils.properties b/frameworks/projects/framework/bundles/pt_PT/utils.properties
index 0429d78..cfbd23d 100644
--- a/frameworks/projects/framework/bundles/pt_PT/utils.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/utils.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/bundles/pt_PT/validators.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/bundles/pt_PT/validators.properties b/frameworks/projects/framework/bundles/pt_PT/validators.properties
index e84c4d9..6dcd01b 100644
--- a/frameworks/projects/framework/bundles/pt_PT/validators.properties
+++ b/frameworks/projects/framework/bundles/pt_PT/validators.properties
@@ -1,11 +1,19 @@
 ################################################################################
 ##
-##  ADOBE SYSTEMS INCORPORATED
-##  Copyright 2006-2007 Adobe Systems Incorporated
-##  All Rights Reserved.
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You under the Apache License, Version 2.0
+##  (the "License"); you may not use this file except in compliance with
+##  the License.  You may obtain a copy of the License at
 ##
-##  NOTICE: Adobe permits you to use, modify, and distribute this file
-##  in accordance with the terms of the license agreement accompanying it.
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+##  Unless required by applicable law or agreed to in writing, software
+##  distributed under the License is distributed on an "AS IS" BASIS,
+##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+##  See the License for the specific language governing permissions and
+##  limitations under the License.
 ##
 ################################################################################
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/compile-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/compile-config.xml b/frameworks/projects/framework/compile-config.xml
new file mode 100644
index 0000000..82af0e5
--- /dev/null
+++ b/frameworks/projects/framework/compile-config.xml
@@ -0,0 +1,84 @@
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+-->
+<flex-config>
+
+    <compiler>
+        <accessible>true</accessible>
+        
+        <external-library-path>
+            <path-element>${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc</path-element>
+        </external-library-path>
+        
+        <keep-as3-metadata>
+            <name>Bindable</name>
+            <name>Managed</name>
+            <name>ChangeEvent</name>
+            <name>NonCommittingChangeEvent</name>
+            <name>Transient</name>
+        </keep-as3-metadata>
+        
+        <locale/>
+        
+        <library-path/>
+
+        <namespaces>
+            <namespace>
+                <uri>library://ns.adobe.com/flex/mx</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+            <namespace>
+                <uri>http://www.adobe.com/2006/mxml</uri>
+                <manifest>manifest.xml</manifest>
+            </namespace>
+        </namespaces>
+        
+        <source-path>
+            <path-element>src</path-element>
+        </source-path>
+    </compiler>
+    
+    <include-classes>
+        <class>FrameworkClasses</class>
+    </include-classes>
+    
+    <include-file>
+        <name>defaults.css</name>
+        <path>defaults.css</path>
+    </include-file>
+    <include-file>
+        <name>defaults-3.0.0.css</name>
+        <path>defaults-3.0.0.css</path>
+    </include-file>
+    <include-file>
+        <name>Assets.swf</name>
+        <path>assets/Assets.swf</path>
+    </include-file>
+    <include-file>
+        <name>assets/CalendarIcon.png</name>
+        <path>assets/CalendarIcon.png</path>
+    </include-file>
+    
+    <include-namespaces>
+        <uri>library://ns.adobe.com/flex/mx</uri>
+    </include-namespaces>  
+    
+    <resource-bundle-list>bundles.properties</resource-bundle-list>
+    
+    <target-player>11.1</target-player>
+</flex-config>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/accessibility/AccImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/accessibility/AccImpl.as b/frameworks/projects/framework/src/mx/accessibility/AccImpl.as
index 8cc37c5..4910649 100644
--- a/frameworks/projects/framework/src/mx/accessibility/AccImpl.as
+++ b/frameworks/projects/framework/src/mx/accessibility/AccImpl.as
@@ -271,7 +271,9 @@ public class AccImpl extends AccessibilityImplementation
     private static var typeMap:Object =
     {
         "Container": [
+			"spark.components.Scroller",
             "spark.components.SkinnableContainer",
+			"spark.components.supportClasses.GroupBase",
             "mx.core.Container"
         ],
         "Form": [

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/collections/ArrayList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/collections/ArrayList.as b/frameworks/projects/framework/src/mx/collections/ArrayList.as
index c7f53d4..1a5e701 100644
--- a/frameworks/projects/framework/src/mx/collections/ArrayList.as
+++ b/frameworks/projects/framework/src/mx/collections/ArrayList.as
@@ -429,10 +429,28 @@ public class ArrayList extends EventDispatcher
      */
     public function addAllAt(addList:IList, index:int):void
     {
-        var length:int = addList.length;
-        for (var i:int = 0; i < length; i++)
+        const addListLength:int = addList.length;
+        if (addListLength == 0)
+            return;
+
+        const addedItems:Array = new Array();
+        
+        disableEvents();
+        for (var i:int = 0; i < addListLength; i++)
+        {
+            var item:Object = addList.getItemAt(i);
+            this.addItemAt(item, i + index);
+            addedItems.push(item);
+        }
+        enableEvents();
+        
+        if (_dispatchEvents == 0)
         {
-            this.addItemAt(addList.getItemAt(i), i+index);
+            const event:CollectionEvent = new CollectionEvent(CollectionEvent.COLLECTION_CHANGE);
+            event.kind = CollectionEventKind.ADD;
+            event.location = index;
+            event.items = addedItems;
+            dispatchEvent(event);
         }
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/collections/ListCollectionView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/collections/ListCollectionView.as b/frameworks/projects/framework/src/mx/collections/ListCollectionView.as
index 40e46e4..94161a6 100644
--- a/frameworks/projects/framework/src/mx/collections/ListCollectionView.as
+++ b/frameworks/projects/framework/src/mx/collections/ListCollectionView.as
@@ -25,6 +25,7 @@ import flash.events.EventDispatcher;
 import flash.utils.Proxy;
 import flash.utils.flash_proxy;
 import flash.utils.getQualifiedClassName;
+
 import mx.collections.errors.CollectionViewError;
 import mx.collections.errors.CursorError;
 import mx.collections.errors.ItemPendingError;
@@ -636,10 +637,25 @@ public class ListCollectionView extends Proxy
      */
     public function addAllAt(addList:IList, index:int):void
     {
+        if (index < 0 || index > this.length)
+        {
+            var message:String = resourceManager.getString(
+                "collections", "outOfBounds", [ index ]);
+            throw new RangeError(message);
+        }
+        
         var length:int = addList.length;
         for (var i:int=0; i < length; i++)
         {
-            this.addItemAt(addList.getItemAt(i), i+index);
+            var insertIndex:int = i + index;
+            
+            // incremental index may be out of bounds because of filtering,
+            // so add this item to the end.
+            var currentLength:int = this.length;
+            if (insertIndex > currentLength)
+                insertIndex = currentLength;
+            
+            this.addItemAt(addList.getItemAt(i), insertIndex);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/core/UITextField.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/core/UITextField.as b/frameworks/projects/framework/src/mx/core/UITextField.as
index fd41c95..631b767 100644
--- a/frameworks/projects/framework/src/mx/core/UITextField.as
+++ b/frameworks/projects/framework/src/mx/core/UITextField.as
@@ -2434,16 +2434,36 @@ public class UITextField extends FlexTextField
         if (originalText != "" && textWidth + TEXT_WIDTH_PADDING > w + 0.00000000000001)
         {
             // This should get us into the ballpark.
-            var s:String = super.text = originalText;
+            var s:String = 
                 originalText.slice(0,
                     Math.floor((w / (textWidth + TEXT_WIDTH_PADDING)) * originalText.length));
 
+            // This doesn't seem correct but it preserves previous behavior.
+            // If one character doesn't fit the text is one character plus the
+            // truncation indicator rather than just the truncation indicator as you would expect.
+            if (s.length <= 1 && textWidth + TEXT_WIDTH_PADDING > w)
+                super.text = originalText.charAt(0) + truncationIndicator;
+            
             while (s.length > 1 && textWidth + TEXT_WIDTH_PADDING > w)
             {
                 s = s.slice(0, -1);
                 super.text = s + truncationIndicator;
             }
             
+			var otl:int = originalText.length;
+			var t:String = s;
+			while (t.length < otl)
+			{
+				t = originalText.slice(0, t.length + 1);
+				super.text = t + truncationIndicator;
+				if (textWidth + TEXT_WIDTH_PADDING <= w)
+					s = t;
+				else
+					break;
+			} 
+			if (s.length > 0)
+				super.text = s + truncationIndicator;
+			
             return true;
         }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/managers/ICursorManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/ICursorManager.as b/frameworks/projects/framework/src/mx/managers/ICursorManager.as
index ca4a830..11bc8be 100644
--- a/frameworks/projects/framework/src/mx/managers/ICursorManager.as
+++ b/frameworks/projects/framework/src/mx/managers/ICursorManager.as
@@ -20,10 +20,10 @@
 package mx.managers
 {
 
-[ExcludeClass]
-
 import mx.core.IUIComponent;
 
+[ExcludeClass]
+
 /**
  *  @private
  */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as b/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as
index e3ed627..02b42ec 100644
--- a/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as
+++ b/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as
@@ -22,7 +22,7 @@ package mx.managers
 
 import flash.display.DisplayObject;  
 
-[ExcludeClass];
+[ExcludeClass]
 
 /**
  */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/printing/FlexPrintJob.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/printing/FlexPrintJob.as b/frameworks/projects/framework/src/mx/printing/FlexPrintJob.as
index 7eb0d69..53ab966 100644
--- a/frameworks/projects/framework/src/mx/printing/FlexPrintJob.as
+++ b/frameworks/projects/framework/src/mx/printing/FlexPrintJob.as
@@ -80,17 +80,29 @@ public class FlexPrintJob
     //  Properties
     //
     //--------------------------------------------------------------------------
+	
+	//----------------------------------
+	//  printJob
+	//----------------------------------
 
     /**
      *  @private
+	 *  Storage for the printJob property.
      */
-    private var printJob:PrintJob = new PrintJob();
-
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
+    private var _printJob:PrintJob = new PrintJob();
+	
+	/**
+	 *  The printJob property; 
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 4.9
+	 */
+	public function get printJob():PrintJob
+	{
+		return _printJob;
+	}
 
     //----------------------------------
     //  pageHeight
@@ -205,12 +217,12 @@ public class FlexPrintJob
      */
     public function start():Boolean
     {
-        var ok:Boolean = printJob.start();
+        var ok:Boolean = _printJob.start();
         
         if (ok)
         {
-            _pageWidth = printJob.pageWidth;
-            _pageHeight = printJob.pageHeight;
+            _pageWidth = _printJob.pageWidth;
+            _pageHeight = _printJob.pageHeight;
         }
         
         return ok;
@@ -443,7 +455,7 @@ public class FlexPrintJob
                 var printJobOptions:PrintJobOptions = new PrintJobOptions();
                 printJobOptions.printAsBitmap = _printAsBitmap;
 
-                printJob.addPage(Sprite(obj), r, printJobOptions);
+                _printJob.addPage(Sprite(obj), r, printJobOptions);
             }
         }
 
@@ -540,7 +552,7 @@ public class FlexPrintJob
      */
     public function send():void
     {
-        printJob.send();
+        _printJob.send();
     }
 
     /**


[08/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptingEnvironment.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptingEnvironment.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptingEnvironment.java
index 9eaa54a..ee7baf9 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptingEnvironment.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ScriptingEnvironment.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,37 +19,39 @@
 package org.apache.flex.forks.batik.bridge;
 
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.StringReader;
 import java.io.UnsupportedEncodingException;
 import java.io.Writer;
-
 import java.net.URL;
 import java.net.URLConnection;
-
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Timer;
 import java.util.TimerTask;
-import java.util.zip.GZIPOutputStream;
 import java.util.zip.DeflaterOutputStream;
+import java.util.zip.GZIPOutputStream;
 
 import org.apache.flex.forks.batik.dom.GenericDOMImplementation;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
 import org.apache.flex.forks.batik.dom.svg.SAXSVGDocumentFactory;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.util.DOMUtilities;
 import org.apache.flex.forks.batik.dom.util.SAXDocumentFactory;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.script.Interpreter;
 import org.apache.flex.forks.batik.script.InterpreterException;
+import org.apache.flex.forks.batik.script.ScriptEventWrapper;
 import org.apache.flex.forks.batik.util.EncodingUtilities;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.apache.flex.forks.batik.util.RunnableQueue;
 import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
 import org.apache.flex.forks.batik.util.XMLResourceDescriptor;
 
 import org.w3c.dom.Document;
@@ -56,44 +59,30 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
-import org.w3c.dom.events.EventTarget;
 import org.w3c.dom.events.MutationEvent;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * This class contains the informations needed by the SVG scripting.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: ScriptingEnvironment.java,v 1.49 2005/04/02 14:26:09 deweese Exp $
+ * @version $Id: ScriptingEnvironment.java 594367 2007-11-13 00:40:53Z cam $
  */
 public class ScriptingEnvironment extends BaseScriptingEnvironment {
 
-    /**
-     * Used in 'parseXML()'.
-     */
-    protected final static String FRAGMENT_PREFIX =
-        "<svg xmlns='" +
-        SVGConstants.SVG_NAMESPACE_URI +
-        "' xmlns:xlink='" +
-        XLinkSupport.XLINK_NAMESPACE_URI +
-        "'>";
-
-    protected final static String FRAGMENT_SUFFIX =
-        "</svg>";
-
-    public final static String [] SVG_EVENT_ATTRS = {
+    public static final String [] SVG_EVENT_ATTRS = {
         "onabort",     // SVG element
         "onerror",     // SVG element
         "onresize",    // SVG element
         "onscroll",    // SVG element
         "onunload",    // SVG element
         "onzoom",      // SVG element
-        
+
         "onbegin",     // SMIL
         "onend",       // SMIL
         "onrepeat",    // SMIL
 
-        "onfocusin",   // UI Events 
+        "onfocusin",   // UI Events
         "onfocusout",  // UI Events
         "onactivate",  // UI Events
         "onclick",     // UI Events
@@ -106,22 +95,22 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
 
         "onkeypress",  // UI Events
         "onkeydown",   // UI Events
-        "onkeyup"      // UI Events 
+        "onkeyup"      // UI Events
     };
 
-    public final static String [] SVG_DOM_EVENT = {
+    public static final String [] SVG_DOM_EVENT = {
         "SVGAbort",    // SVG element
         "SVGError",    // SVG element
         "SVGResize",   // SVG element
         "SVGScroll",   // SVG element
         "SVGUnload",   // SVG element
         "SVGZoom",     // SVG element
-        
+
         "beginEvent",  // SMIL
         "endEvent",    // SMIL
         "repeatEvent", // SMIL
 
-        "DOMFocusIn",  // UI Events 
+        "DOMFocusIn",  // UI Events
         "DOMFocusOut", // UI Events
         "DOMActivate", // UI Events
         "click",       // UI Events
@@ -132,7 +121,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
         "mousemove",   // UI Events
         "keypress",    // UI Events
         "keydown",     // UI Events
-        "keyup"        // UI Events 
+        "keyup"        // UI Events
     };
 
     /**
@@ -153,20 +142,17 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
     /**
      * The DOMNodeInserted event listener.
      */
-    protected EventListener domNodeInsertedListener 
-        = new DOMNodeInsertedListener();
+    protected EventListener domNodeInsertedListener;
 
     /**
      * The DOMNodeRemoved event listener.
      */
-    protected EventListener domNodeRemovedListener
-        = new DOMNodeRemovedListener();
+    protected EventListener domNodeRemovedListener;
 
     /**
      * The DOMAttrModified event listener.
      */
-    protected EventListener domAttrModifiedListener 
-        = new DOMAttrModifiedListener();
+    protected EventListener domAttrModifiedListener;
 
     /**
      * The SVGAbort event listener.
@@ -294,7 +280,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
     protected EventListener keyupListener =
         new ScriptingEventListener("onkeyup");
 
-    
+
     protected EventListener [] listeners = {
         svgAbortListener,
         svgErrorListener,
@@ -340,21 +326,47 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
         super(ctx);
         updateManager = ctx.getUpdateManager();
         updateRunnableQueue = updateManager.getUpdateRunnableQueue();
-        
+
         // Add the scripting listeners.
         addScriptingListeners(document.getDocumentElement());
 
         // Add the listeners responsible of updating the event attributes
-        EventTarget et = (EventTarget)document;
-        et.addEventListener("DOMNodeInserted",
-                            domNodeInsertedListener,
-                            false);
-        et.addEventListener("DOMNodeRemoved",
-                            domNodeRemovedListener,
-                            false);
-        et.addEventListener("DOMAttrModified",
-                            domAttrModifiedListener,
-                            false);
+        addDocumentListeners();
+    }
+
+    /**
+     * Adds DOM listeners to the document.
+     */
+    protected void addDocumentListeners() {
+        domNodeInsertedListener = new DOMNodeInsertedListener();
+        domNodeRemovedListener = new DOMNodeRemovedListener();
+        domAttrModifiedListener = new DOMAttrModifiedListener();
+        NodeEventTarget et = (NodeEventTarget) document;
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+             domNodeInsertedListener, false, null);
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             domNodeRemovedListener, false, null);
+        et.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             domAttrModifiedListener, false, null);
+    }
+
+    /**
+     * Removes DOM listeners from the document.
+     */
+    protected void removeDocumentListeners() {
+        NodeEventTarget et = (NodeEventTarget) document;
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeInserted",
+             domNodeInsertedListener, false);
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMNodeRemoved",
+             domNodeRemovedListener, false);
+        et.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMAttrModified",
+             domAttrModifiedListener, false);
     }
 
     /**
@@ -368,7 +380,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
     /**
      * Runs an event handler.
      */
-    public void runEventHandler(String script, Event evt, 
+    public void runEventHandler(String script, Event evt,
                                 String lang, String desc) {
         Interpreter interpreter = getInterpreter(lang);
         if (interpreter == null)
@@ -377,8 +389,14 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
         try {
             checkCompatibleScriptURL(lang, docPURL);
 
-            interpreter.bindObject(EVENT_NAME, evt);
-            interpreter.bindObject(ALTERNATE_EVENT_NAME, evt);
+            Object event;
+            if (evt instanceof ScriptEventWrapper) {
+                event = ((ScriptEventWrapper) evt).getEventObject();
+            } else {
+                event = evt;
+            }
+            interpreter.bindObject(EVENT_NAME, event);
+            interpreter.bindObject(ALTERNATE_EVENT_NAME, event);
             interpreter.evaluate(new StringReader(script), desc);
         } catch (IOException ioe) {
             // Do nothing, can't really happen with StringReader
@@ -398,117 +416,16 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
         removeScriptingListeners(document.getDocumentElement());
 
         // Remove the listeners responsible of updating the event attributes
-        EventTarget et = (EventTarget)document;
-        et.removeEventListener("DOMNodeInserted",
-                               domNodeInsertedListener,
-                               false);
-        et.removeEventListener("DOMNodeRemoved",
-                               domNodeRemovedListener,
-                               false);
-        et.removeEventListener("DOMAttrModified",
-                               domAttrModifiedListener,
-                               false);
+        removeDocumentListeners();
     }
 
     /**
-     * Adds the scripting listeners to the given element.
+     * Adds the scripting listeners to the given element and all of
+     * its descendants.
      */
-    protected void addScriptingListeners(Node node) {
+    public void addScriptingListeners(Node node) {
         if (node.getNodeType() == Node.ELEMENT_NODE) {
-            // Attach the listeners
-            Element elt = (Element)node;
-            EventTarget target = (EventTarget)elt;
-            if (SVGConstants.SVG_NAMESPACE_URI.equals(elt.getNamespaceURI())) {
-                if (SVGConstants.SVG_SVG_TAG.equals(elt.getLocalName())) {
-                    // <svg> listeners
-                    if (elt.hasAttributeNS(null, "onabort")) {
-                        target.addEventListener("SVGAbort",
-                                                svgAbortListener, false);
-                    }
-                    if (elt.hasAttributeNS(null, "onerror")) {
-                        target.addEventListener("SVGError",
-                                                svgErrorListener, false);
-                    }
-                    if (elt.hasAttributeNS(null, "onresize")) {
-                        target.addEventListener("SVGResize",
-                                                svgResizeListener, false);
-                    }
-                    if (elt.hasAttributeNS(null, "onscroll")) {
-                        target.addEventListener("SVGScroll",
-                                            svgScrollListener, false);
-                    }
-                    if (elt.hasAttributeNS(null, "onunload")) {
-                        target.addEventListener("SVGUnload",
-                                                svgUnloadListener, false);
-                    }
-                    if (elt.hasAttributeNS(null, "onzoom")) {
-                        target.addEventListener("SVGZoom",
-                                                svgZoomListener, false);
-                    }
-                } else {
-                    String name = elt.getLocalName();
-                    if (name.equals(SVGConstants.SVG_SET_TAG) ||
-                        name.startsWith("animate")) {
-                        // animation listeners
-                        if (elt.hasAttributeNS(null, "onbegin")) {
-                            target.addEventListener("beginEvent",
-                                                    beginListener ,
-                                                    false);
-                        }
-                        if (elt.hasAttributeNS(null, "onend")) {
-                            target.addEventListener("endEvent",
-                                                    endListener,
-                                                    false);
-                        }
-                        if (elt.hasAttributeNS(null, "onrepeat")) {
-                            target.addEventListener("repeatEvent",
-                                                    repeatListener ,
-                                                    false);
-                        }
-                        return;
-                    }
-                }
-            }
-
-            // UI listeners
-            if (elt.hasAttributeNS(null, "onfocusin")) {
-                target.addEventListener("DOMFocusIn", focusinListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onfocusout")) {
-                target.addEventListener("DOMFocusOut", focusoutListener,
-                                        false);
-            }
-            if (elt.hasAttributeNS(null, "onactivate")) {
-                target.addEventListener("DOMActivate", activateListener,
-                                        false);
-            }
-            if (elt.hasAttributeNS(null, "onclick")) {
-                target.addEventListener("click", clickListener, false);
-            } 
-            if (elt.hasAttributeNS(null, "onmousedown")) {
-                target.addEventListener("mousedown", mousedownListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onmouseup")) {
-                target.addEventListener("mouseup", mouseupListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onmouseover")) {
-                target.addEventListener("mouseover", mouseoverListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onmouseout")) {
-                target.addEventListener("mouseout", mouseoutListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onmousemove")) {
-                target.addEventListener("mousemove", mousemoveListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onkeypress")) {
-                target.addEventListener("keypress", keypressListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onkeydown")) {
-                target.addEventListener("keydown", keydownListener, false);
-            }
-            if (elt.hasAttributeNS(null, "onkeyup")) {
-                target.addEventListener("keyup", keyupListener, false);
-            }
+            addScriptingListenersOn((Element) node);
         }
 
         // Adds the listeners to the children
@@ -520,60 +437,140 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
     }
 
     /**
-     * Removes the scripting listeners from the given element.
+     * Adds the scripting listeners to the given element.
      */
-    protected void removeScriptingListeners(Node node) {
-        if (node.getNodeType() == Node.ELEMENT_NODE) {
-            // Detach the listeners
-            Element elt = (Element)node;
-            EventTarget target = (EventTarget)elt;
-            if (SVGConstants.SVG_NAMESPACE_URI.equals(elt.getNamespaceURI())) {
-                if (SVGConstants.SVG_SVG_TAG.equals(elt.getLocalName())) {
-                    // <svg> listeners
-                    target.removeEventListener("SVGAbort",
-                                               svgAbortListener, false);
-                    target.removeEventListener("SVGError",
-                                               svgErrorListener, false);
-                    target.removeEventListener("SVGResize",
-                                               svgResizeListener, false);
-                    target.removeEventListener("SVGScroll",
-                                               svgScrollListener, false);
-                    target.removeEventListener("SVGUnload",
-                                               svgUnloadListener, false);
-                    target.removeEventListener("SVGZoom",
-                                               svgZoomListener, false);
-                } else {
-                    String name = elt.getLocalName();
-                    if (name.equals(SVGConstants.SVG_SET_TAG) ||
-                        name.startsWith("animate")) {
-                        // animation listeners
-                        target.removeEventListener("beginEvent",
-                                                   beginListener ,
-                                                   false);
-                        target.removeEventListener("endEvent",
-                                                   endListener,
-                                                   false);
-                        target.removeEventListener("repeatEvent",
-                                                   repeatListener ,
-                                                   false);
-                        return;
+    protected void addScriptingListenersOn(Element elt) {
+        // Attach the listeners
+        NodeEventTarget target = (NodeEventTarget)elt;
+        if (SVGConstants.SVG_NAMESPACE_URI.equals(elt.getNamespaceURI())) {
+            if (SVGConstants.SVG_SVG_TAG.equals(elt.getLocalName())) {
+                // <svg> listeners
+                if (elt.hasAttributeNS(null, "onabort")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGAbort",
+                         svgAbortListener, false, null);
+                }
+                if (elt.hasAttributeNS(null, "onerror")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGError",
+                         svgErrorListener, false, null);
+                }
+                if (elt.hasAttributeNS(null, "onresize")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGResize",
+                         svgResizeListener, false, null);
+                }
+                if (elt.hasAttributeNS(null, "onscroll")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGScroll",
+                         svgScrollListener, false, null);
+                }
+                if (elt.hasAttributeNS(null, "onunload")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGUnload",
+                         svgUnloadListener, false, null);
+                }
+                if (elt.hasAttributeNS(null, "onzoom")) {
+                    target.addEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGZoom",
+                         svgZoomListener, false, null);
+                }
+            } else {
+                String name = elt.getLocalName();
+                if (name.equals(SVGConstants.SVG_SET_TAG) ||
+                    name.startsWith("animate")) {
+                    // animation listeners
+                    if (elt.hasAttributeNS(null, "onbegin")) {
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "beginEvent",
+                             beginListener, false, null);
+                    }
+                    if (elt.hasAttributeNS(null, "onend")) {
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "endEvent",
+                             endListener, false, null);
+                    }
+                    if (elt.hasAttributeNS(null, "onrepeat")) {
+                        target.addEventListenerNS
+                            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "repeatEvent",
+                             repeatListener, false, null);
                     }
+                    return;
                 }
             }
+        }
 
-            // UI listeners
-            target.removeEventListener("DOMFocusIn", focusinListener, false);
-            target.removeEventListener("DOMFocusOut", focusoutListener, false);
-            target.removeEventListener("DOMActivate", activateListener, false);
-            target.removeEventListener("click", clickListener, false);
-            target.removeEventListener("mousedown", mousedownListener, false);
-            target.removeEventListener("mouseup", mouseupListener, false);
-            target.removeEventListener("mouseover", mouseoverListener, false);
-            target.removeEventListener("mouseout", mouseoutListener, false);
-            target.removeEventListener("mousemove", mousemoveListener, false);
-            target.removeEventListener("keypress", keypressListener, false);
-            target.removeEventListener("keydown", keydownListener, false);
-            target.removeEventListener("keyup", keyupListener, false);
+        // UI listeners
+        if (elt.hasAttributeNS(null, "onfocusin")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusIn",
+                 focusinListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onfocusout")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusOut",
+                 focusoutListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onactivate")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMActivate",
+                 activateListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onclick")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "click",
+                 clickListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onmousedown")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mousedown",
+                 mousedownListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onmouseup")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseup",
+                 mouseupListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onmouseover")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseover",
+                 mouseoverListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onmouseout")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseout",
+                 mouseoutListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onmousemove")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mousemove",
+                 mousemoveListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onkeypress")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keypress",
+                 keypressListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onkeydown")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keydown",
+                 keydownListener, false, null);
+        }
+        if (elt.hasAttributeNS(null, "onkeyup")) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keyup",
+                 keyupListener, false, null);
+        }
+    }
+
+    /**
+     * Removes the scripting listeners from the given element and all
+     * of its descendants.
+     */
+    protected void removeScriptingListeners(Node node) {
+        if (node.getNodeType() == Node.ELEMENT_NODE) {
+            // Detach the listeners
+            removeScriptingListenersOn((Element) node);
         }
 
         // Removes the listeners from the children
@@ -585,19 +582,110 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
     }
 
     /**
+     * Removes the scripting listeners from the given element.
+     */
+    protected void removeScriptingListenersOn(Element elt) {
+        NodeEventTarget target = (NodeEventTarget)elt;
+        if (SVGConstants.SVG_NAMESPACE_URI.equals(elt.getNamespaceURI())) {
+            if (SVGConstants.SVG_SVG_TAG.equals(elt.getLocalName())) {
+                // <svg> listeners
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGAbort",
+                     svgAbortListener, false);
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGError",
+                     svgErrorListener, false);
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGResize",
+                     svgResizeListener, false);
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGScroll",
+                     svgScrollListener, false);
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGUnload",
+                     svgUnloadListener, false);
+                target.removeEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI, "SVGZoom",
+                     svgZoomListener, false);
+            } else {
+                String name = elt.getLocalName();
+                if (name.equals(SVGConstants.SVG_SET_TAG) ||
+                    name.startsWith("animate")) {
+                    // animation listeners
+                    target.removeEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "beginEvent",
+                         beginListener, false);
+                    target.removeEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "endEvent",
+                         endListener, false);
+                    target.removeEventListenerNS
+                        (XMLConstants.XML_EVENTS_NAMESPACE_URI, "repeatEvent",
+                         repeatListener , false);
+                    return;
+                }
+            }
+        }
+
+        // UI listeners
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusIn",
+             focusinListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusOut",
+             focusoutListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMActivate",
+             activateListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "click",
+             clickListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mousedown",
+             mousedownListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseup",
+             mouseupListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseover",
+             mouseoverListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseout",
+             mouseoutListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mousemove",
+             mousemoveListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keypress",
+             keypressListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keydown",
+             keydownListener, false);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "keyup",
+             keyupListener, false);
+    }
+
+    /**
      * Updates the registration of a listener on the given element.
      */
     protected void updateScriptingListeners(Element elt, String attr) {
-        String        domEvt   = (String)       attrToDOMEvent.get(attr);
-        if (domEvt == null) return;  // Not an event attr.
-        EventListener listener = (EventListener)attrToListener.get(attr);
-        EventTarget   target   = (EventTarget)  elt;
-        if (elt.hasAttributeNS(null, attr))
-            target.addEventListener(domEvt, listener, false);
-        else
-            target.removeEventListener(domEvt, listener, false);
+        String domEvt = (String) attrToDOMEvent.get(attr);
+        if (domEvt == null) {
+            return;  // Not an event attr.
+        }
+        EventListener listener = (EventListener) attrToListener.get(attr);
+        NodeEventTarget target = (NodeEventTarget) elt;
+        if (elt.hasAttributeNS(null, attr)) {
+            target.addEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, domEvt,
+                 listener, false, null);
+        } else {
+            target.removeEventListenerNS
+                (XMLConstants.XML_EVENTS_NAMESPACE_URI, domEvt,
+                 listener, false);
+        }
     }
-    
+
 
     /**
      * To interpret a script.
@@ -690,7 +778,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
                 } else {
                     e.printStackTrace(); // No UA so just output...
                 }
-                synchronized (this) { 
+                synchronized (this) {
                     error = true;
                 }
             }
@@ -773,7 +861,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
                         }
                     }
                 };
-            
+
             timer.schedule(tt, interval, interval);
             return tt;
         }
@@ -842,32 +930,23 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
          * org.apache.flex.forks.batik.script.Window#parseXML(String,Document)}.
          */
         public Node parseXML(String text, Document doc) {
-            // System.err.println("Text: " + text);
             // Try and parse it as an SVGDocument
             SAXSVGDocumentFactory df = new SAXSVGDocumentFactory
                 (XMLResourceDescriptor.getXMLParserClassName());
             URL urlObj = null;
-            if ((doc != null) && (doc instanceof SVGOMDocument)) 
-                urlObj = ((SVGOMDocument)doc).getURLObject();
+            if (doc instanceof SVGOMDocument) {
+                urlObj = ((SVGOMDocument) doc).getURLObject();
+            }
             if (urlObj == null) {
-                urlObj = ((SVGOMDocument)bridgeContext.getDocument()).
-                    getURLObject();
+                urlObj = ((SVGOMDocument) bridgeContext.getDocument())
+                        .getURLObject();
             }
-            String uri = (urlObj==null)?"":urlObj.toString();
-            try {
-                Document d = df.createDocument(uri, new StringReader(text));
-                if (doc == null)
-                    return d;
-
-                Node result = doc.createDocumentFragment();
-                result.appendChild(doc.importNode(d.getDocumentElement(),
-                                                  true));
-                return result;
-            } catch (Exception ex) {
-                /* nothing  */
+            String uri = (urlObj == null) ? "" : urlObj.toString();
+            Node res = DOMUtilities.parseXML(text, doc, uri, null, null, df);
+            if (res != null) {
+                return res;
             }
-            
-            if ((doc != null) && (doc instanceof SVGOMDocument)) {
+            if (doc instanceof SVGOMDocument) {
                 // Try and parse with an 'svg' element wrapper - for
                 // things like '<rect ../>' - ensure that rect ends up
                 // in SVG namespace - xlink namespace is declared etc...
@@ -875,60 +954,28 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
                 // Only do this when generating a doc fragment, since
                 // a 'rect' element can not be root of SVG Document
                 // (only an svg element can be).
-                StringBuffer sb = new StringBuffer(FRAGMENT_PREFIX.length() +
-                                                   text.length() +
-                                                   FRAGMENT_SUFFIX.length());
-                sb.append(FRAGMENT_PREFIX);
-                sb.append(text);
-                sb.append(FRAGMENT_SUFFIX);
-                String newText = sb.toString();
-                try {
-                    Document d = df.createDocument
-                        (uri, new StringReader(newText));
-                    // No document given so make doc fragment from our
-                    // new Document.
-                    if (doc == null) doc = d;
-                    for (Node n = d.getDocumentElement().getFirstChild();
-                         n != null;
-                         n = n.getNextSibling()) {
-                        if (n.getNodeType() == Node.ELEMENT_NODE) {
-                            n = doc.importNode(n, true);
-                            Node result = doc.createDocumentFragment();
-                            result.appendChild(n);
-                            return result;
-                        }
-                    }
-                } catch (Exception exc) {
-                    /* nothing - try something else*/
+                Map prefixes = new HashMap();
+                prefixes.put(XMLConstants.XMLNS_PREFIX,
+                        XMLConstants.XMLNS_NAMESPACE_URI);
+                prefixes.put(XMLConstants.XMLNS_PREFIX + ':'
+                        + XMLConstants.XLINK_PREFIX,
+                        XLinkSupport.XLINK_NAMESPACE_URI);
+                res = DOMUtilities.parseXML(text, doc, uri, prefixes,
+                        SVGConstants.SVG_SVG_TAG, df);
+                if (res != null) {
+                    return res;
                 }
             }
-
             // Parse as a generic XML document.
             SAXDocumentFactory sdf;
             if (doc != null) {
-                sdf = new SAXDocumentFactory
-                    (doc.getImplementation(),
-                     XMLResourceDescriptor.getXMLParserClassName());
+                sdf = new SAXDocumentFactory(doc.getImplementation(),
+                        XMLResourceDescriptor.getXMLParserClassName());
             } else {
-                sdf = new SAXDocumentFactory
-                    (new GenericDOMImplementation(),
-                     XMLResourceDescriptor.getXMLParserClassName());
+                sdf = new SAXDocumentFactory(new GenericDOMImplementation(),
+                        XMLResourceDescriptor.getXMLParserClassName());
             }
-            try {
-                Document d = sdf.createDocument(uri, new StringReader(text));
-                if (doc == null) 
-                    return d;
-
-                Node result = doc.createDocumentFragment();
-                result.appendChild(doc.importNode(d.getDocumentElement(), 
-                                                  true));
-                return result;
-            } catch (Exception ext) {
-                if (userAgent != null)
-                    userAgent.displayError(ext);
-            }
-            
-            return null;
+            return DOMUtilities.parseXML(text, doc, uri, null, null, sdf);
         }
 
         /**
@@ -939,9 +986,9 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
             getURL(uri, h, null);
         }
 
-        final static String DEFLATE="deflate";
-        final static String GZIP   ="gzip";
-        final static String UTF_8  ="UTF-8";
+        static final String DEFLATE="deflate";
+        static final String GZIP   ="gzip";
+        static final String UTF_8  ="UTF-8";
         /**
          * Implements {@link
          * org.apache.flex.forks.batik.script.Window#getURL(String,org.apache.flex.forks.batik.script.Window.URLResponseHandler,String)}.
@@ -952,8 +999,8 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
             Thread t = new Thread() {
                     public void run() {
                         try {
-                            URL burl;
-                            burl = ((SVGOMDocument)document).getURLObject();
+                            ParsedURL burl;
+                            burl = ((SVGOMDocument)document).getParsedURL();
                             final ParsedURL purl = new ParsedURL(burl, uri);
                             String e = null;
                             if (enc != null) {
@@ -1020,37 +1067,40 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
         }
 
 
-        public void postURL(String uri, String content, 
+        public void postURL(String uri, String content,
                             org.apache.flex.forks.batik.script.Window.URLResponseHandler h) {
             postURL(uri, content, h, "text/plain", null);
         }
 
-        public void postURL(String uri, String content, 
-                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h, 
+        public void postURL(String uri, String content,
+                            org.apache.flex.forks.batik.script.Window.URLResponseHandler h,
                      String mimeType) {
             postURL(uri, content, h, mimeType, null);
         }
 
-        public void postURL(final String uri, 
-                            final String content, 
-                            final org.apache.flex.forks.batik.script.Window.URLResponseHandler h, 
-                            final String mimeType, 
+        public void postURL(final String uri,
+                            final String content,
+                            final org.apache.flex.forks.batik.script.Window.URLResponseHandler h,
+                            final String mimeType,
                             final String fEnc) {
             Thread t = new Thread() {
                     public void run() {
                         try {
-                            URL burl;
-                            burl = ((SVGOMDocument)document).getURLObject();
+                            String base =
+                                ((SVGOMDocument)document).getDocumentURI();
                             URL url;
-                            if (burl != null)
-                                url = new URL(burl, uri);
-                            else url = new URL(uri);
+                            if (base == null) {
+                                url = new URL(uri);
+                            } else {
+                                url = new URL(new URL(base), uri);
+                            }
+                            // TODO: Change this to use ParsedURL for the POST?
                             final URLConnection conn = url.openConnection();
                             conn.setDoOutput(true);
                             conn.setDoInput(true);
                             conn.setUseCaches(false);
                             conn.setRequestProperty("Content-Type", mimeType);
-                            
+
                             OutputStream os = conn.getOutputStream();
                             String e=null, enc = fEnc;
                             if (enc != null) {
@@ -1075,13 +1125,13 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
                                 }
                                 if (enc.length() != 0) {
                                     e = EncodingUtilities.javaEncoding(enc);
-                                    if (e == null) e = UTF_8; 
+                                    if (e == null) e = UTF_8;
                                 } else {
                                     e = UTF_8;
                                 }
                             }
                             Writer w;
-                            if (e == null) 
+                            if (e == null)
                                 w = new OutputStreamWriter(os);
                             else
                                 w = new OutputStreamWriter(os, e);
@@ -1093,7 +1143,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
                             InputStream is = conn.getInputStream();
                             Reader r;
                             e = UTF_8;
-                            if (e == null) 
+                            if (e == null)
                                 r = new InputStreamReader(is);
                             else
                                 r = new InputStreamReader(is, e);
@@ -1233,7 +1283,7 @@ public class ScriptingEnvironment extends BaseScriptingEnvironment {
          * The script attribute.
          */
         protected String attribute;
-        
+
         /**
          * Creates a new ScriptingEventListener.
          */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/StyleReference.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/StyleReference.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/StyleReference.java
index 9779784..adba6a4 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/StyleReference.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/StyleReference.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2001,2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.apache.flex.forks.batik.gvt.GraphicsNode;
  * filter) changes due to a modification of the DOM.
  *
  * @author <a href="mailto:etissandier@ilog.fr">Emmanuel Tissandier</a>
- * @version $Id: StyleReference.java,v 1.6 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: StyleReference.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class StyleReference {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/TextUtilities.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/TextUtilities.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/TextUtilities.java
index cddc796..219ec1b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/TextUtilities.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/TextUtilities.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -34,7 +35,7 @@ import org.w3c.dom.css.CSSPrimitiveValue;
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @author <a href="mailto:bill.haneman@ireland.sun.com">Bill Haneman</a>
- * @version $Id: TextUtilities.java,v 1.10 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: TextUtilities.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public abstract class TextUtilities implements CSSConstants, ErrorConstants {
 
@@ -125,9 +126,9 @@ public abstract class TextUtilities implements CSSConstants, ErrorConstants {
                 values.add
                     (new Float(Math.toRadians
                                (SVGUtilities.convertSVGNumber(s))));
-            } catch (NumberFormatException ex) {
+            } catch (NumberFormatException nfEx ) {
                 throw new BridgeException
-                    (element, ERR_ATTRIBUTE_VALUE_MALFORMED,
+                    (ctx, element, nfEx, ERR_ATTRIBUTE_VALUE_MALFORMED,
                      new Object [] {attrName, valueStr});
             }
         }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/URIResolver.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/URIResolver.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/URIResolver.java
index 6ad8e86..412f9a0 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/URIResolver.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/URIResolver.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -20,19 +21,19 @@ package org.apache.flex.forks.batik.bridge;
 import java.io.IOException;
 import java.net.MalformedURLException;
 
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * This class is used to resolve the URI that can be found in a SVG document.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: URIResolver.java,v 1.28 2005/02/22 09:12:57 cam Exp $
+ * @version $Id: URIResolver.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class URIResolver {
     /**
@@ -92,12 +93,12 @@ public class URIResolver {
     public Node getNode(String uri, Element ref)
         throws MalformedURLException, IOException, SecurityException {
 
-        String baseURI = XMLBaseSupport.getCascadedXMLBase(ref);
+        String baseURI = getRefererBaseURI(ref);
         // System.err.println("baseURI: " + baseURI);
         // System.err.println("URI: " + uri);
-        if ((baseURI == null) &&
-            (uri.startsWith("#")))
-            return document.getElementById(uri.substring(1));
+        if (baseURI == null && uri.charAt(0) == '#') {
+            return getNodeByFragment(uri.substring(1), ref);
+        }
 
         ParsedURL purl = new ParsedURL(baseURI, uri);
         // System.err.println("PURL: " + purl);
@@ -137,4 +138,22 @@ public class URIResolver {
             return doc.getElementById(frag);
         return doc;
     }
+
+    /**
+     * Returns the base URI of the referer element.
+     */
+    protected String getRefererBaseURI(Element ref) {
+        return ((AbstractNode) ref).getBaseURI();
+    }
+
+    /**
+     * Returns the node referenced by the given fragment identifier.
+     * This is called when the whole URI just contains a fragment identifier
+     * and there is no XML Base URI in effect.
+     * @param frag the URI fragment
+     * @param ref  the context element from which to resolve the URI fragment
+     */
+    protected Node getNodeByFragment(String frag, Element ref) {
+        return ref.getOwnerDocument().getElementById(frag);
+    }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UnitProcessor.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UnitProcessor.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UnitProcessor.java
index 024acd4..34ed891 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UnitProcessor.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UnitProcessor.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -27,17 +28,12 @@ import org.w3c.dom.Element;
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: UnitProcessor.java,v 1.14 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: UnitProcessor.java 501922 2007-01-31 17:47:47Z dvholten $
  */
 public abstract class UnitProcessor
     extends org.apache.flex.forks.batik.parser.UnitProcessor {
 
     /**
-     * No instance of this class is required.
-     */
-    protected UnitProcessor() { }
-
-    /**
      * Creates a context for the specified element.
      *
      * @param ctx the bridge context that contains the user agent and
@@ -157,7 +153,7 @@ public abstract class UnitProcessor
                                                      Context ctx) {
         float v = svgToObjectBoundingBox(s, attr, d, ctx);
         if (v < 0) {
-            throw new BridgeException(ctx.getElement(),
+            throw new BridgeException(getBridgeContext(ctx), ctx.getElement(),
                                       ErrorConstants.ERR_LENGTH_NEGATIVE,
                                       new Object[] {attr, s});
         }
@@ -180,10 +176,11 @@ public abstract class UnitProcessor
         try {
             return org.apache.flex.forks.batik.parser.UnitProcessor.
                 svgToObjectBoundingBox(s, attr, d, ctx);
-        } catch (ParseException ex) {
-            throw new BridgeException(ctx.getElement(),
-                                  ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                      new Object[] {attr, s, ex});
+        } catch (ParseException pEx ) {
+            throw new BridgeException
+                (getBridgeContext(ctx), ctx.getElement(),
+                 pEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {attr, s, pEx });
         }
     }
 
@@ -288,7 +285,7 @@ public abstract class UnitProcessor
                                              Context ctx) {
         float v = svgToUserSpace(s, attr, d, ctx);
         if (v < 0) {
-            throw new BridgeException(ctx.getElement(),
+            throw new BridgeException(getBridgeContext(ctx), ctx.getElement(),
                                       ErrorConstants.ERR_LENGTH_NEGATIVE,
                                       new Object[] {attr, s});
         } else {
@@ -312,25 +309,45 @@ public abstract class UnitProcessor
         try {
             return org.apache.flex.forks.batik.parser.UnitProcessor.
                 svgToUserSpace(s, attr, d, ctx);
-        } catch (ParseException ex) {
-            throw new BridgeException(ctx.getElement(),
-                                 ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
-                                      new Object[] {attr, s, ex});
+        } catch (ParseException pEx ) {
+            throw new BridgeException
+                (getBridgeContext(ctx), ctx.getElement(),
+                 pEx, ErrorConstants.ERR_ATTRIBUTE_VALUE_MALFORMED,
+                 new Object[] {attr, s, pEx, });
+        }
+    }
+
+    /**
+     * Returns the {@link BridgeContext} from the given {@link Context}
+     * if it is a {@link DefaultContext}, or null otherwise.
+     */
+    protected static BridgeContext getBridgeContext(Context ctx) {
+        if (ctx instanceof DefaultContext) {
+            return ((DefaultContext) ctx).ctx;
         }
+        return null;
     }
 
     /**
-     * This class is the default context for a particular
-     * element. Informations not available on the element are get from
-     * the bridge context (such as the viewport or the pixel to
-     * millimeter factor.
+     * This class is the default context for a particular element. Information
+     * not available on the element are obtained from the bridge context (such
+     * as the viewport or the pixel to millimeter factor).
      */
     public static class DefaultContext implements Context {
 
-        /** The element. */
+        /**
+         * The element.
+         */
         protected Element e;
+
+        /**
+         * The bridge context.
+         */
         protected BridgeContext ctx;
 
+        /**
+         * Creates a new DefaultContext.
+         */
         public DefaultContext(BridgeContext ctx, Element e) {
             this.ctx = ctx;
             this.e = e;
@@ -357,7 +374,7 @@ public abstract class UnitProcessor
          */
         public float getPixelToMM() {
             return getPixelUnitToMillimeter();
-            
+
         }
 
         /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManager.java
index 94dd638..99e1b14 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManager.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManager.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,34 +26,41 @@ import java.util.Collections;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-
+import java.util.Timer;
+import java.util.TimerTask;
+
+import org.apache.flex.forks.batik.bridge.svg12.DefaultXBLManager;
+import org.apache.flex.forks.batik.bridge.svg12.SVG12BridgeContext;
+import org.apache.flex.forks.batik.bridge.svg12.SVG12ScriptingEnvironment;
+import org.apache.flex.forks.batik.dom.events.AbstractEvent;
+import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.gvt.RootGraphicsNode;
 import org.apache.flex.forks.batik.gvt.UpdateTracker;
 import org.apache.flex.forks.batik.gvt.renderer.ImageRenderer;
 import org.apache.flex.forks.batik.util.EventDispatcher;
+import org.apache.flex.forks.batik.util.XMLConstants;
 import org.apache.flex.forks.batik.util.EventDispatcher.Dispatcher;
 import org.apache.flex.forks.batik.util.RunnableQueue;
 import org.w3c.dom.Document;
 import org.w3c.dom.events.DocumentEvent;
-import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventTarget;
 
 /**
  * This class provides features to manage the update of an SVG document.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: UpdateManager.java,v 1.38 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: UpdateManager.java 501843 2007-01-31 13:52:12Z deweese $
  */
 public class UpdateManager  {
 
-    static final long MIN_REPAINT_TIME;
+    static final int MIN_REPAINT_TIME;
     static {
-        long value = 20;
+        int value = 20;
         try {
             String s = System.getProperty
             ("org.apache.flex.forks.batik.min_repaint_time", "20");
-            value = Long.parseLong(s);
+            value = Integer.parseInt(s);
         } catch (SecurityException se) {
         } catch (NumberFormatException nfe){
         } finally {
@@ -64,7 +72,7 @@ public class UpdateManager  {
      * The bridge context.
      */
     protected BridgeContext bridgeContext;
-    
+
     /**
      * The document to manage.
      */
@@ -83,12 +91,12 @@ public class UpdateManager  {
     /**
      * Whether the update manager is running.
      */
-    protected boolean running;
+    protected volatile boolean running;
 
     /**
      * Whether the suspend() method was called.
      */
-    protected boolean suspendCalled;
+    protected volatile boolean suspendCalled;
 
     /**
      * The listeners.
@@ -121,6 +129,22 @@ public class UpdateManager  {
     protected boolean started;
 
     /**
+     * Array of resource documents' BridgeContexts.
+     */
+    protected BridgeContext[] secondaryBridgeContexts;
+
+    /**
+     * Array of resource documents' ScriptingEnvironments that should
+     * have their SVGLoad event dispatched.
+     */
+    protected ScriptingEnvironment[] secondaryScriptingEnvironments;
+
+    /**
+     * The current minRepaintTime
+     */
+    protected int minRepaintTime;
+
+    /**
      * Creates a new update manager.
      * @param ctx The bridge context.
      * @param gn GraphicsNode whose updates are to be tracked.
@@ -140,16 +164,84 @@ public class UpdateManager  {
 
         graphicsNode = gn;
 
-        scriptingEnvironment = new ScriptingEnvironment(ctx);
+        scriptingEnvironment = initializeScriptingEnvironment(bridgeContext);
+
+        // Any BridgeContexts for resource documents that exist
+        // when initializing the scripting environment for the
+        // primary document also need to have their scripting
+        // environments initialized.
+        secondaryBridgeContexts =
+            (BridgeContext[]) ctx.getChildContexts().clone();
+        secondaryScriptingEnvironments =
+            new ScriptingEnvironment[secondaryBridgeContexts.length];
+        for (int i = 0; i < secondaryBridgeContexts.length; i++) {
+            BridgeContext resCtx = secondaryBridgeContexts[i];
+            if (!((SVGOMDocument) resCtx.getDocument()).isSVG12()) {
+                continue;
+            }
+            resCtx.setUpdateManager(this);
+            ScriptingEnvironment se = initializeScriptingEnvironment(resCtx);
+            secondaryScriptingEnvironments[i] = se;
+        }
+        minRepaintTime = MIN_REPAINT_TIME;
+    }
+
+    public int getMinRepaintTime() {
+        return minRepaintTime;
+    }
+
+    public void setMinRepaintTime(int minRepaintTime) {
+        this.minRepaintTime = minRepaintTime;
+    }
+
+    /**
+     * Creates an appropriate ScriptingEnvironment and XBL manager for
+     * the given document.
+     */
+    protected ScriptingEnvironment initializeScriptingEnvironment
+            (BridgeContext ctx) {
+        SVGOMDocument d = (SVGOMDocument) ctx.getDocument();
+        ScriptingEnvironment se;
+        if (d.isSVG12()) {
+            se = new SVG12ScriptingEnvironment(ctx);
+            ctx.xblManager = new DefaultXBLManager(d, ctx);
+            d.setXBLManager(ctx.xblManager);
+        } else {
+            se = new ScriptingEnvironment(ctx);
+        }
+        return se;
     }
 
     /**
      * Dispatches an 'SVGLoad' event to the document.
      */
     public synchronized void dispatchSVGLoadEvent()
-        throws InterruptedException {
-        scriptingEnvironment.loadScripts();
-        scriptingEnvironment.dispatchSVGLoadEvent();
+            throws InterruptedException {
+        dispatchSVGLoadEvent(bridgeContext, scriptingEnvironment);
+        for (int i = 0; i < secondaryScriptingEnvironments.length; i++) {
+            BridgeContext ctx = secondaryBridgeContexts[i];
+            if (!((SVGOMDocument) ctx.getDocument()).isSVG12()) {
+                continue;
+            }
+            ScriptingEnvironment se = secondaryScriptingEnvironments[i];
+            dispatchSVGLoadEvent(ctx, se);
+        }
+        secondaryBridgeContexts = null;
+        secondaryScriptingEnvironments = null;
+    }
+
+    /**
+     * Dispatches an 'SVGLoad' event to the document.
+     */
+    protected void dispatchSVGLoadEvent(BridgeContext ctx,
+                                        ScriptingEnvironment se) {
+        se.loadScripts();
+        se.dispatchSVGLoadEvent();
+        if (ctx.isSVG12() && ctx.xblManager != null) {
+            SVG12BridgeContext ctx12 = (SVG12BridgeContext) ctx;
+            ctx12.addBindingListener();
+            ctx12.xblManager.startProcessing();
+        }
     }
 
     /**
@@ -184,7 +276,7 @@ public class UpdateManager  {
                 public void run() {
                     synchronized (UpdateManager.this) {
                         running = true;
-        
+
                         updateTracker = new UpdateTracker();
                         RootGraphicsNode root = graphicsNode.getRoot();
                         if (root != null){
@@ -276,7 +368,7 @@ public class UpdateManager  {
         //     UpdateManagerEvent ev = new UpdateManagerEvent
         //         (this, null, null);
         //     // FIXX: Must happen in a different thread!
-        //     fireEvent(suspendedDispatcher, ev); 
+        //     fireEvent(suspendedDispatcher, ev);
         //     fireEvent(resumedDispatcher, ev);
         // }
         if (updateRunnableQueue.getQueueState() != RunnableQueue.RUNNING) {
@@ -287,12 +379,8 @@ public class UpdateManager  {
     /**
      * Interrupts the manager tasks.
      */
-    public synchronized void interrupt() {
-        if (updateRunnableQueue.getThread() == null)
-            return;
-
-          // Preempt to cancel the pending tasks
-        updateRunnableQueue.preemptLater(new Runnable() {
+    public void interrupt() {
+        Runnable r = new Runnable() {
                 public void run() {
                     synchronized (UpdateManager.this) {
                         if (started) {
@@ -304,8 +392,15 @@ public class UpdateManager  {
                         }
                     }
                 }
-            });
-        resume();
+            };
+        try {
+            // Preempt to cancel the pending tasks
+            updateRunnableQueue.preemptLater(r);
+            updateRunnableQueue.resumeExecution(); // ensure runnable runs...
+        } catch (IllegalStateException ise) {
+            // Not running, which is probably ok since that's what we
+            // wanted.  Might be an issue if SVGUnload wasn't issued...
+        }
     }
 
     /**
@@ -322,15 +417,24 @@ public class UpdateManager  {
         updateRunnableQueue.preemptLater(new Runnable() {
                 public void run() {
                     synchronized (UpdateManager.this) {
-                        Event evt =
+                        AbstractEvent evt = (AbstractEvent)
                             ((DocumentEvent)document).createEvent("SVGEvents");
-                        evt.initEvent("SVGUnload", false, false);
+                        String type;
+                        if (bridgeContext.isSVG12()) {
+                            type = "unload";
+                        } else {
+                            type = "SVGUnload";
+                        }
+                        evt.initEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                        type,
+                                        false,    // canBubbleArg
+                                        false);   // cancelableArg
                         ((EventTarget)(document.getDocumentElement())).
                             dispatchEvent(evt);
                         running = false;
 
                         // Now shut everything down and disconnect
-                        // everything before we send the 
+                        // everything before we send the
                         // UpdateMangerStopped event.
                         scriptingEnvironment.interrupt();
                         updateRunnableQueue.getThread().halt();
@@ -395,7 +499,7 @@ public class UpdateManager  {
      * @param clearPaintingTransform Indicates if the painting transform
      *        should be cleared as a result of this update.
      */
-    protected void updateRendering(List areas, 
+    protected void updateRendering(List areas,
                                    boolean clearPaintingTransform) {
         try {
             UpdateManagerEvent ev = new UpdateManagerEvent
@@ -406,7 +510,7 @@ public class UpdateManager  {
             List l = new ArrayList(c);
 
             ev = new UpdateManagerEvent
-                (this, repaintManager.getOffScreen(), 
+                (this, repaintManager.getOffScreen(),
                  l, clearPaintingTransform);
             fireEvent(updateCompletedDispatcher, ev);
         } catch (ThreadDeath td) {
@@ -431,24 +535,37 @@ public class UpdateManager  {
      * Repaints the dirty areas, if needed.
      */
     protected void repaint() {
-        if (!updateTracker.hasChanged()) 
+        if (!updateTracker.hasChanged()) {
+            // No changes, nothing to repaint.
+            outOfDateTime = 0;
             return;
+        }
+
         long ctime = System.currentTimeMillis();
-        if (ctime-outOfDateTime < MIN_REPAINT_TIME) {
-            // We very recently did a repaint check if other 
+        if (ctime < allResumeTime) {
+            createRepaintTimer();
+            return;
+        }
+        if (allResumeTime > 0) {
+            // All suspendRedraw requests have expired.
+            releaseAllRedrawSuspension();
+        }
+
+        if (ctime-outOfDateTime < minRepaintTime) {
+            // We very recently did a repaint check if other
             // repaint runnables are pending.
             synchronized (updateRunnableQueue.getIteratorLock()) {
                 Iterator i = updateRunnableQueue.iterator();
                 while (i.hasNext())
                     if (!(i.next() instanceof NoRepaintRunnable))
                         // have a pending repaint runnable so we
-                        // will skip this repaint and we will let 
+                        // will skip this repaint and we will let
                         // the next one pick it up.
                         return;
-                
+
             }
         }
-        
+
         List dirtyAreas = updateTracker.getDirtyAreas();
         updateTracker.clear();
         if (dirtyAreas != null) {
@@ -457,6 +574,169 @@ public class UpdateManager  {
         outOfDateTime = 0;
     }
 
+    /**
+     * Users of Batik should essentially never call
+     * this directly from Java.  If the Canvas is not
+     * updating when you change the SVG Document it is almost
+     * certainly because you are not making your changes
+     * in the RunnableQueue (getUpdateRunnableQueue()).
+     * You will have problems if you are not making all
+     * changes to the document in the UpdateManager's
+     * RunnableQueue.
+     *
+     * This method exists to implement the
+     * 'SVGSVGElement.forceRedraw()' method.
+     */
+    public void forceRepaint() {
+        if (!updateTracker.hasChanged()) {
+            // No changes, nothing to repaint.
+            outOfDateTime = 0;
+            return;
+        }
+
+        List dirtyAreas = updateTracker.getDirtyAreas();
+        updateTracker.clear();
+        if (dirtyAreas != null) {
+            updateRendering(dirtyAreas, false);
+        }
+        outOfDateTime = 0;
+    }
+
+    protected class SuspensionInfo {
+        /**
+         * The index of this redraw suspension
+         */
+        int index;
+        /**
+         * The system time in millisec that this suspension
+         * will expire and redraws can resume (at least for
+         * this suspension.
+         */
+        long resumeMilli;
+        public SuspensionInfo(int index, long resumeMilli) {
+            this.index = index;
+            this.resumeMilli = resumeMilli;
+        }
+        public int getIndex() { return index; }
+        public long getResumeMilli() { return resumeMilli; }
+    }
+
+    protected class RepaintTimerTask extends TimerTask {
+        UpdateManager um;
+        RepaintTimerTask(UpdateManager um) {
+            this.um = um;
+        }
+        public void run() {
+            RunnableQueue rq = um.getUpdateRunnableQueue();
+            if (rq == null) return;
+            rq.invokeLater(new Runnable() {
+                    public void run() { }
+                });
+        }
+    }
+
+    List suspensionList = new ArrayList();
+    int nextSuspensionIndex = 1;
+    long allResumeTime = -1;
+    Timer repaintTriggerTimer = null;
+    TimerTask repaintTimerTask = null;
+
+    void createRepaintTimer() {
+        if (repaintTimerTask != null) return;
+        if (allResumeTime < 0)        return;
+        if (repaintTriggerTimer == null)
+            repaintTriggerTimer = new Timer(true);
+
+        long delay = allResumeTime - System.currentTimeMillis();
+        if (delay < 0) delay = 0;
+        repaintTimerTask = new RepaintTimerTask(this);
+        repaintTriggerTimer.schedule(repaintTimerTask, delay);
+        // System.err.println("CTimer delay: " + delay);
+    }
+    /**
+     * Sets up a timer that will trigger a repaint
+     * when it fires.
+     * If create is true it will construct a timer even
+     * if one
+     */
+    void resetRepaintTimer() {
+        if (repaintTimerTask == null) return;
+        if (allResumeTime < 0)        return;
+        if (repaintTriggerTimer == null)
+            repaintTriggerTimer = new Timer(true);
+
+        long delay = allResumeTime - System.currentTimeMillis();
+        if (delay < 0) delay = 0;
+        repaintTimerTask = new RepaintTimerTask(this);
+        repaintTriggerTimer.schedule(repaintTimerTask, delay);
+        // System.err.println("Timer delay: " + delay);
+    }
+
+    int addRedrawSuspension(int max_wait_milliseconds) {
+        long resumeTime = System.currentTimeMillis() + max_wait_milliseconds;
+        SuspensionInfo si = new SuspensionInfo(nextSuspensionIndex++,
+                                               resumeTime);
+        if (resumeTime > allResumeTime) {
+            allResumeTime = resumeTime;
+            // System.err.println("Added AllRes Time: " + allResumeTime);
+            resetRepaintTimer();
+        }
+        suspensionList.add(si);
+        return si.getIndex();
+    }
+
+    void releaseAllRedrawSuspension() {
+        suspensionList.clear();
+        allResumeTime = -1;
+        resetRepaintTimer();
+    }
+
+    boolean releaseRedrawSuspension(int index) {
+        if (index > nextSuspensionIndex) return false;
+        if (suspensionList.size() == 0) return true;
+
+        int lo = 0, hi=suspensionList.size()-1;
+        while (lo < hi) {
+            int mid = (lo+hi)>>1;
+            SuspensionInfo si = (SuspensionInfo)suspensionList.get(mid);
+            int idx = si.getIndex();
+            if      (idx == index) { lo = hi = mid; }
+            else if (idx <  index) { lo = mid+1; }
+            else                   { hi = mid-1; }
+        }
+
+        SuspensionInfo si = (SuspensionInfo)suspensionList.get(lo);
+        int idx = si.getIndex();
+        if (idx != index)
+            return true;  // currently not in list but was at some point...
+
+        suspensionList.remove(lo);
+        if (suspensionList.size() == 0) {
+            // No more active suspensions
+            allResumeTime = -1;
+            resetRepaintTimer();
+        } else {
+            // Check if we need to find a new 'bounding' suspension.
+            long resumeTime = si.getResumeMilli();
+            if (resumeTime == allResumeTime) {
+                allResumeTime = findNewAllResumeTime();
+                // System.err.println("New AllRes Time: " + allResumeTime);
+                resetRepaintTimer();
+            }
+        }
+        return true;
+    }
+
+    long findNewAllResumeTime() {
+        long ret = -1;
+        Iterator i = suspensionList.iterator();
+        while (i.hasNext()) {
+            SuspensionInfo si = (SuspensionInfo)i.next();
+            long t = si.getResumeMilli();
+            if (t > ret) ret = t;
+        }
+        return ret;
+    }
 
     /**
      * Adds a UpdateManagerListener to this UpdateManager.
@@ -568,10 +848,10 @@ public class UpdateManager  {
         return new UpdateManagerRunHander();
     }
 
-    protected class UpdateManagerRunHander 
+    protected class UpdateManagerRunHander
         extends RunnableQueue.RunHandlerAdapter {
 
-        public void runnableStart(RunnableQueue rq, Runnable r) { 
+        public void runnableStart(RunnableQueue rq, Runnable r) {
             if (running && !(r instanceof NoRepaintRunnable)) {
                 // Mark the document as updated when the
                 // runnable starts.
@@ -579,7 +859,7 @@ public class UpdateManager  {
                     outOfDateTime = System.currentTimeMillis();
             }
         }
-        
+
 
         /**
          * Called when the given Runnable has just been invoked and
@@ -590,7 +870,7 @@ public class UpdateManager  {
                 repaint();
             }
         }
-        
+
         /**
          * Called when the execution of the queue has been suspended.
          */
@@ -605,13 +885,13 @@ public class UpdateManager  {
                 }
             }
         }
-        
+
         /**
          * Called when the execution of the queue has been resumed.
          */
         public void executionResumed(RunnableQueue rq) {
             synchronized (UpdateManager.this) {
-                // System.err.println("Resumed: " + suspendCalled + 
+                // System.err.println("Resumed: " + suspendCalled +
                 //                    " : " + running);
                 if (suspendCalled && !running) {
                     running = true;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerAdapter.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerAdapter.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerAdapter.java
index 95a648d..6c497e1 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerAdapter.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerAdapter.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -22,7 +23,7 @@ package org.apache.flex.forks.batik.bridge;
  * It's methods do nothing.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: UpdateManagerAdapter.java,v 1.2 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: UpdateManagerAdapter.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class UpdateManagerAdapter implements UpdateManagerListener {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerEvent.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerEvent.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerEvent.java
index 02fd4a2..3a29629 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerEvent.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerEvent.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import java.util.List;
  * from a UpdateManager instance.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: UpdateManagerEvent.java,v 1.7 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: UpdateManagerEvent.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class UpdateManagerEvent extends EventObject {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerListener.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerListener.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerListener.java
index db71e63..9b96060 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerListener.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UpdateManagerListener.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * This interface represents a listener to the UpdateManagerEvent events.
  *
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: UpdateManagerListener.java,v 1.3 2004/08/18 07:12:36 vhardy Exp $
+ * @version $Id: UpdateManagerListener.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface UpdateManagerListener {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgent.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgent.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgent.java
index 59e9083..94c29e0 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgent.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/UserAgent.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,8 @@ import org.apache.flex.forks.batik.gvt.event.EventDispatcher;
 import org.apache.flex.forks.batik.gvt.text.Mark;
 import org.apache.flex.forks.batik.util.ParsedURL;
 import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGAElement;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * An interface that provides access to the User Agent informations
@@ -34,7 +36,7 @@ import org.w3c.flex.forks.dom.svg.SVGAElement;
  *
  * @author <a href="mailto:cjolif@ilog.fr">Christophe Jolif</a>
  * @author <a href="mailto:stephane@hillion.org">Stephane Hillion</a>
- * @version $Id: UserAgent.java,v 1.32 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: UserAgent.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface UserAgent {
 
@@ -285,4 +287,16 @@ public interface UserAgent {
     void checkLoadExternalResource(ParsedURL resourceURL,
                                    ParsedURL docURL) throws SecurityException;
 
+
+    /**
+     * This method should return an image to be displayed when an image
+     * can't be loaded.  If it returns 'null' then a BridgeException will
+     * be thrown.
+     *
+     * @param e   The &lt;image> element that can't be loaded.
+     * @param url The resolved url that can't be loaded.
+     * @param message As best as can be determined the reason it can't be
+     *                loaded (not available, corrupt, unknown format, ...).
+     */
+    SVGDocument getBrokenLinkDocument(Element e, String url, String message);
 }


[44/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as b/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
index 2410ca1..ad70490 100644
--- a/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
+++ b/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as
@@ -19,15 +19,16 @@
 
 package mx.styles
 {
-
+	
 import flash.display.DisplayObject;
-import flash.events.EventDispatcher;
 import flash.display.LoaderInfo;
+import flash.events.Event;
+import flash.events.EventDispatcher;
 import flash.events.IEventDispatcher;
 import flash.events.TimerEvent;
 import flash.system.ApplicationDomain;
 import flash.system.SecurityDomain;
-import flash.utils.Timer
+import flash.utils.Timer;
 import flash.utils.describeType;
 
 import mx.core.FlexVersion;
@@ -35,1674 +36,1826 @@ import mx.core.IFlexModuleFactory;
 import mx.core.mx_internal;
 import mx.events.FlexChangeEvent;
 import mx.events.ModuleEvent;
+import mx.events.Request;
 import mx.events.StyleEvent;
 import mx.managers.ISystemManager;
 import mx.managers.SystemManagerGlobals;
 import mx.modules.IModuleInfo;
-import mx.modules.ModuleManager
+import mx.modules.ModuleManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
-import mx.styles.IStyleModule;
 import mx.styles.IStyleManager2;
-import mx.events.Request;
+import mx.styles.IStyleModule;
 import mx.utils.MediaQueryParser;
-import flash.events.Event;
 
 use namespace mx_internal;
 
 [ExcludeClass]
 
 [ResourceBundle("styles")]
-    
+
+[Mixin]
+
 /**
  *  @private
  */
 public class StyleManagerImpl extends EventDispatcher implements IStyleManager2
 {
-    include "../core/Version.as";
-
-    //--------------------------------------------------------------------------
-    //
-    //  Class constants
-    //
-    //--------------------------------------------------------------------------
-
-    //--------------------------------------------------------------------------
-    //
-    //  Class variables
-    //
-    //--------------------------------------------------------------------------
-    /**
-     *  @private
-     */
-    private static var instance:IStyleManager2;
-
-    //--------------------------------------------------------------------------
-    //
-    //  Class methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    public static function getInstance():IStyleManager2
-    {
-        if (!instance)
-        {
-            // In Flex 4 each application/module creates its own style manager.
-            // There will be no style manager if the application/module was compiled for 
-            // Flex 3 compatibility. In that case create there will be no instance 
-            // associated with the top-level application so create a new instance.
-            instance = IStyleManager2(IFlexModuleFactory(SystemManagerGlobals.topLevelSystemManagers[0]).
-                       getImplementation("mx.styles::IStyleManager2"));
-            
-            if (!instance)
-                instance = new StyleManagerImpl(SystemManagerGlobals.topLevelSystemManagers[0]);
-        }
-        
-        return instance;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Constructor
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     * 
-     *  @param moduleFactory The module factory that is creating this instance. May not be null.
-     */
-    public function StyleManagerImpl(moduleFactory:IFlexModuleFactory)
-    {
-        super();
-
-        this.moduleFactory = moduleFactory;
-        this.moduleFactory.registerImplementation("mx.styles::IStyleManager2", this);
-        
-        // get our parent styleManager
-        if (moduleFactory is DisplayObject)
-        {
-            var request:Request = new Request(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST);
-            DisplayObject(moduleFactory).dispatchEvent(request); 
-            var parentModuleFactory:IFlexModuleFactory = request.value as IFlexModuleFactory;
-            if (parentModuleFactory)
-            {
-                _parent = IStyleManager2(parentModuleFactory.
-                                         getImplementation("mx.styles::IStyleManager2"));
-                if (_parent is IEventDispatcher)
-                {
-                    IEventDispatcher(_parent).addEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE, styleManagerChangeHandler, false, 0, true);
-                }
-            }
-                
-        }
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Variables
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  Used to assign the selectorIndex in CSSStyleDeclaration so we can track
-     *  the order they were added to the StyleManager.  
-     *  MatchStyleDeclarations has to return the declarations in the order 
-     *  they were declared
-     */ 
-    private var selectorIndex:int = 0;
-    
-    /**
-     *  @private
-     */
-    private var mqp:MediaQueryParser;
-    
-    /**
-     *  @private
-     *  Set of inheriting non-color styles.
-     *  This is not the complete set from CSS.
-     *  Some of the omitted we don't support at all,
-     *  others may be added later as needed.
-     *  The <code>isInheritingTextFormatStyle()</code> method queries this set.
-     */
-    private var inheritingTextFormatStyles:Object =
-        {
-            align: true,
-            bold: true,
-            color: true,
-            font: true,
-            indent: true,
-            italic: true,
-            size: true
-        };
-    
-    /**
-     *  @private
-     *  Set of styles for which setStyle() causes
-     *  invalidateSize() to be called on the component.
-     *  The method registerSizeInvalidatingStyle() adds to this set
-     *  and isSizeInvalidatingStyle() queries this set.
-     */
-    private var sizeInvalidatingStyles:Object =
-        {
-            alignmentBaseline: true,
-            baselineShift: true,
-            blockProgression: true,
-            borderStyle: true,
-            borderThickness: true,
-            breakOpportunity : true,
-            cffHinting: true,
-            columnCount: true,
-            columnGap: true,
-            columnWidth: true,
-            digitCase: true,
-            digitWidth: true,
-            direction: true,
-            dominantBaseline: true,
-            firstBaselineOffset: true,
-            fontAntiAliasType: true,
-            fontFamily: true,
-            fontGridFitType: true,
-            fontLookup: true,
-            fontSharpness: true,
-            fontSize: true,
-            fontStyle: true,
-            fontThickness: true,
-            fontWeight: true,
-            headerHeight: true,
-            horizontalAlign: true,
-            horizontalGap: true,
-            justificationRule: true,
-            justificationStyle: true,
-            kerning: true,
-            leading: true,
-            leadingModel: true,
-            letterSpacing: true,
-            ligatureLevel: true,
-            lineBreak: true,
-            lineHeight: true,
-            lineThrough: true,
-            listAutoPadding: true,
-            listStylePosition: true,
-            listStyleType: true,
-            locale: true,
-            marginBottom: true,
-            marginLeft: true,
-            marginRight: true,
-            marginTop: true,
-            paddingBottom: true,
-            paddingLeft: true,
-            paddingRight: true,
-            paddingTop: true,
-            paragraphEndIndent: true,
-            paragraphStartIndent: true,
-            paragraphSpaceAfter: true,
-            paragraphSpaceBefore: true,            
-            renderingMode: true,
-            strokeWidth: true,
-            tabHeight: true,
-            tabWidth: true,
-            tabStops: true,
-            textAlign: true,
-            textAlignLast: true,
-            textDecoration: true,
-            textIndent: true,
-            textJustify: true,
-            textRotation: true,
-            tracking: true,
-            trackingLeft: true,
-            trackingRight: true,
-            typographicCase: true,
-            verticalAlign: true,
-            verticalGap: true,
-            wordSpacing:true,
-            whitespaceCollapse: true
-        }
-    
-    /**
-     *  @private
-     *  Set of styles for which setStyle() causes
-     *  invalidateSize() to be called on the component's parent.
-     *  The method registerParentSizeInvalidatingStyle() adds to this set
-     *  and isParentSizeInvalidatingStyle() queries this set.
-     */
-    private var parentSizeInvalidatingStyles:Object =
-        {
-            baseline: true,
-            bottom: true,
-            horizontalCenter: true,
-            left: true,
-            right: true,
-            top: true,
-            verticalCenter: true
-        }
-    
-    /**
-     *  @private
-     *  Set of styles for which setStyle() causes
-     *  invalidateDisplayList() to be called on the component's parent.
-     *  The method registerParentDisplayListInvalidatingStyle() adds to this set
-     *  and isParentDisplayListInvalidatingStyle() queries this set.
-     */
-    private var parentDisplayListInvalidatingStyles:Object =
-        {
-            baseline: true,
-            bottom: true,
-            horizontalCenter: true,
-            left: true,
-            right: true,
-            top: true,
-            verticalCenter: true
-        }
-    
-    /**
-     *  @private
-     *  Set of color names.
-     *  The method registerColorName() adds to this set
-     *  and isColorName() queries this set.
-     *  All color names in this set are lowercase in order to support
-     *  case-insensitive mapping in the StyleManager methods getColorName(),
-     *  getColorNames(), registerColorName(), and isColorName().
-     *  We handle color names at runtime in a case-insensitive way
-     *  because the MXML compiler does this at compile time,
-     *  in conformance with the CSS spec.
-     */
-    private var colorNames:Object =
-        {
-            transparent: "transparent",
-            black: 0x000000,
-            blue: 0x0000FF,
-            green: 0x008000,
-            gray: 0x808080,
-            silver: 0xC0C0C0,
-            lime: 0x00FF00,
-            olive: 0x808000,
-            white: 0xFFFFFF,
-            yellow: 0xFFFF00,
-            maroon: 0x800000,
-            navy: 0x000080,
-            red: 0xFF0000,
-            purple: 0x800080,
-            teal: 0x008080,
-            fuchsia: 0xFF00FF,
-            aqua: 0x00FFFF,
-            magenta: 0xFF00FF,
-            cyan: 0x00FFFF,
-            
-            // IMPORTANT: Theme colors must also be updated
-            // in the Flex compiler's CSS parser
-            // (in \src\java\macromedia\css\Descriptor.java)
-            // and possibly other places as well. Grep for them!
-            halogreen: 0x80FF4D,
-            haloblue: 0x009DFF,
-            haloorange: 0xFFB600,
-            halosilver: 0xAECAD9
-        };
-    
-    /**
-     *  @private
-     *  Whether any advanced selectors have been registered with this style
-     *  manager.
-     */ 
-    private var _hasAdvancedSelectors:Boolean;
-
-    /**
-     *  @private
-     *  A map of CSS pseudo states. If a pseudo selector exists for a
-     *  particular state name, it is likely that styles need to be recalculated.
-     */ 
-    private var _pseudoCSSStates:Object;
-
-    /**
-     *  @private
-     *  A map of CSS selectors -- such as "global", "Button", and ".bigRed" --
-     *  to CSSStyleDeclarations.
-     *  This collection is accessed via getStyleDeclaration(),
-     *  setStyleDeclaration(), and clearStyleDeclaration().
-     */
-    private var _selectors:Object = {};
-
-    /**
-     *  @private
-     */
-    private var styleModules:Object = {};
-
-    /**
-     *  @private
-     *  A map of selector "subjects" to an ordered map of selector Strings and
-     *  their associated CSSStyleDeclarations.
-     *  The subject is the right most simple type selector in a potential chain
-     *  of selectors.
-     */ 
-    private var _subjects:Object = {};
-
+	include "../core/Version.as";
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class variables
+	//
+	//--------------------------------------------------------------------------
+	/**
+	 *  @private
+	 */
+	private static var instance:IStyleManager2;
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  @private
+	 */
+	public static function init(fbs:IFlexModuleFactory):void
+	{
+		var styleDataClassName:String = fbs.info()["styleDataClassName"];
+		if (styleDataClassName)
+		{
+			var sm:StyleManagerImpl = fbs.getImplementation("mx.styles::IStyleManager2") as StyleManagerImpl;
+			if (!sm)
+				sm = new StyleManagerImpl(fbs);
+			
+			var styleDataClass:Class = fbs.info()["currentDomain"].getDefinition(styleDataClassName);
+			var styleNames:Array = styleDataClass["inheritingStyles"];
+			for each (var s:String in styleNames)
+			{
+				sm.registerInheritingStyle(s);
+			}
+			generateCSSStyleDeclarations(sm, styleDataClass["factoryFunctions"], styleDataClass["data"]);
+			sm.initProtoChainRoots();
+		}
+	}
+	
+	public static function generateCSSStyleDeclarations(styleManager:StyleManagerImpl, factoryFunctions:Object, data:Array, newSelectors:Array = null, overrideMap:Object = null):void
+	{
+		var arr:Array = data;
+		
+		var conditions:Array = null;
+		var condition:CSSCondition = null;
+		var selector:CSSSelector = null;
+		var style:CSSStyleDeclaration;
+		var declarationName:String = "";
+		var segmentName:String = "";
+		var effects:Array;
+		
+		var mergedStyle:CSSStyleDeclaration;
+		
+		var conditionCombiners:Object = {};
+		conditionCombiners[CSSConditionKind.CLASS] = ".";
+		conditionCombiners[CSSConditionKind.ID] = "#";
+		conditionCombiners[CSSConditionKind.PSEUDO] = ':';    
+		var n:int = arr.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			var className:int = arr[i];
+			if (className == CSSClass.CSSSelector)
+			{
+				var selectorName:String = arr[++i];
+				selector = new CSSSelector(selectorName, conditions, selector);
+				segmentName = selectorName + segmentName;
+				if (declarationName != "")
+					declarationName += " ";
+				declarationName += segmentName;
+				segmentName = "";
+				conditions = null;
+			}
+			else if (className == CSSClass.CSSCondition)
+			{
+				if (!conditions)
+					conditions = [];
+				var conditionType:String = arr[++i];
+				var conditionName:String = arr[++i];
+				condition = new CSSCondition(conditionType, conditionName);
+				conditions.push(condition);
+				segmentName = segmentName + conditionCombiners[conditionType] + conditionName;
+			}
+			else if (className == CSSClass.CSSStyleDeclaration)
+			{
+				var factoryName:int = arr[++i]; // defaultFactory or factory
+				var defaultFactory:Boolean = factoryName == CSSFactory.DefaultFactory;
+				if (defaultFactory)
+				{
+					mergedStyle = styleManager.getMergedStyleDeclaration(declarationName);
+					style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
+				}
+				else
+				{
+					style = styleManager.getStyleDeclaration(declarationName);
+					if (!style)
+					{
+						style = new CSSStyleDeclaration(selector, styleManager, mergedStyle == null);
+						if (factoryName == CSSFactory.Override)
+							newSelectors.push(style);
+					}
+				}
+				if (defaultFactory)
+				{
+					if (style.defaultFactory == null)
+						style.defaultFactory = factoryFunctions[declarationName];
+				}
+				else
+				{
+					if (factoryName == CSSFactory.Factory)
+					{
+						if (style.factory == null)
+							style.factory = factoryFunctions[declarationName];
+					}
+					else
+					{
+						// apply overrides from CSS StyleModule
+						var moduleStyles:Object = new factoryFunctions[declarationName];
+						for (var styleProp:String in moduleStyles)
+						{
+							style.setLocalStyle(styleProp, moduleStyles[styleProp]);
+							if (!overrideMap[declarationName])
+								overrideMap[declarationName] = [];
+							overrideMap[declarationName].push(styleProp);
+						}
+					}
+				}
+				if (defaultFactory && mergedStyle != null && 
+					(mergedStyle.defaultFactory == null ||
+						compareFactories(new style.defaultFactory(), new mergedStyle.defaultFactory())))
+				{
+					styleManager.setStyleDeclaration(style.mx_internal::selectorString, style, false);
+				}
+				selector = null;
+				conditions = null;
+				declarationName = "";
+				mergedStyle = null;
+			}
+		}
+	}
+	
+	private static var propList1:Vector.<String> = new Vector.<String>();
+	private static var propList2:Vector.<String> = new Vector.<String>();
+	
+	/**
+	 *  @private
+	 */
+	private static function compareFactories(obj1:Object, obj2:Object):int
+	{
+		propList1.length = propList2.length = 0;
+		for (var p:String in obj1)
+			propList1.push(p);
+		
+		for (p in obj2)
+			propList2.push(p);
+		
+		if (propList1.length != propList2.length)
+			return 1;
+		
+		for each (p in propList1)
+		{
+			if (obj1[p] !== obj2[p])
+				return 1;
+		}
+		
+		return 0;
+	}
+	
+	/**
+	 *  @private
+	 */
+	public static function getInstance():IStyleManager2
+	{
+		if (!instance)
+		{
+			// In Flex 4 each application/module creates its own style manager.
+			// There will be no style manager if the application/module was compiled for 
+			// Flex 3 compatibility. In that case create there will be no instance 
+			// associated with the top-level application so create a new instance.
+			instance = IStyleManager2(IFlexModuleFactory(SystemManagerGlobals.topLevelSystemManagers[0]).
+				getImplementation("mx.styles::IStyleManager2"));
+			
+			if (!instance)
+				instance = new StyleManagerImpl(SystemManagerGlobals.topLevelSystemManagers[0]);
+		}
+		
+		return instance;
+	}
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Constructor
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  @private
+	 * 
+	 *  @param moduleFactory The module factory that is creating this instance. May not be null.
+	 */
+	public function StyleManagerImpl(moduleFactory:IFlexModuleFactory = null)
+	{
+		super();
+		
+		if (!moduleFactory) return;
+		
+		this.moduleFactory = moduleFactory;
+		this.moduleFactory.registerImplementation("mx.styles::IStyleManager2", this);
+		
+		// get our parent styleManager
+		if (moduleFactory is DisplayObject)
+		{
+			var request:Request = new Request(Request.GET_PARENT_FLEX_MODULE_FACTORY_REQUEST);
+			DisplayObject(moduleFactory).dispatchEvent(request); 
+			var parentModuleFactory:IFlexModuleFactory = request.value as IFlexModuleFactory;
+			if (parentModuleFactory)
+			{
+				_parent = IStyleManager2(parentModuleFactory.
+					getImplementation("mx.styles::IStyleManager2"));
+				if (_parent is IEventDispatcher)
+				{
+					IEventDispatcher(_parent).addEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE, styleManagerChangeHandler, false, 0, true);
+				}
+			}
+			
+		}
+	}
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  @private
+	 *  Used to assign the selectorIndex in CSSStyleDeclaration so we can track
+	 *  the order they were added to the StyleManager.  
+	 *  MatchStyleDeclarations has to return the declarations in the order 
+	 *  they were declared
+	 */ 
+	private var selectorIndex:int = 0;
+	
+	/**
+	 *  @private
+	 */
+	private var mqp:MediaQueryParser;
+	
+	/**
+	 *  @private
+	 *  Set of inheriting non-color styles.
+	 *  This is not the complete set from CSS.
+	 *  Some of the omitted we don't support at all,
+	 *  others may be added later as needed.
+	 *  The <code>isInheritingTextFormatStyle()</code> method queries this set.
+	 */
+	private var inheritingTextFormatStyles:Object =
+		{
+			align: true,
+			bold: true,
+			color: true,
+			font: true,
+			indent: true,
+			italic: true,
+			size: true
+		};
+	
+	/**
+	 *  @private
+	 *  Set of styles for which setStyle() causes
+	 *  invalidateSize() to be called on the component.
+	 *  The method registerSizeInvalidatingStyle() adds to this set
+	 *  and isSizeInvalidatingStyle() queries this set.
+	 */
+	private var sizeInvalidatingStyles:Object =
+		{
+			alignmentBaseline: true,
+			baselineShift: true,
+			blockProgression: true,
+			borderStyle: true,
+			borderThickness: true,
+			breakOpportunity : true,
+			cffHinting: true,
+			columnCount: true,
+			columnGap: true,
+			columnWidth: true,
+			digitCase: true,
+			digitWidth: true,
+			direction: true,
+			dominantBaseline: true,
+			firstBaselineOffset: true,
+			fontAntiAliasType: true,
+			fontFamily: true,
+			fontGridFitType: true,
+			fontLookup: true,
+			fontSharpness: true,
+			fontSize: true,
+			fontStyle: true,
+			fontThickness: true,
+			fontWeight: true,
+			headerHeight: true,
+			horizontalAlign: true,
+			horizontalGap: true,
+			justificationRule: true,
+			justificationStyle: true,
+			kerning: true,
+			leading: true,
+			leadingModel: true,
+			letterSpacing: true,
+			ligatureLevel: true,
+			lineBreak: true,
+			lineHeight: true,
+			lineThrough: true,
+			listAutoPadding: true,
+			listStylePosition: true,
+			listStyleType: true,
+			locale: true,
+			marginBottom: true,
+			marginLeft: true,
+			marginRight: true,
+			marginTop: true,
+			paddingBottom: true,
+			paddingLeft: true,
+			paddingRight: true,
+			paddingTop: true,
+			paragraphEndIndent: true,
+			paragraphStartIndent: true,
+			paragraphSpaceAfter: true,
+			paragraphSpaceBefore: true,            
+			renderingMode: true,
+			strokeWidth: true,
+			tabHeight: true,
+			tabWidth: true,
+			tabStops: true,
+			textAlign: true,
+			textAlignLast: true,
+			textDecoration: true,
+			textIndent: true,
+			textJustify: true,
+			textRotation: true,
+			tracking: true,
+			trackingLeft: true,
+			trackingRight: true,
+			typographicCase: true,
+			verticalAlign: true,
+			verticalGap: true,
+			wordSpacing:true,
+			whitespaceCollapse: true
+		}
+	
+	/**
+	 *  @private
+	 *  Set of styles for which setStyle() causes
+	 *  invalidateSize() to be called on the component's parent.
+	 *  The method registerParentSizeInvalidatingStyle() adds to this set
+	 *  and isParentSizeInvalidatingStyle() queries this set.
+	 */
+	private var parentSizeInvalidatingStyles:Object =
+		{
+			baseline: true,
+			bottom: true,
+			horizontalCenter: true,
+			left: true,
+			right: true,
+			top: true,
+			verticalCenter: true
+		}
+	
+	/**
+	 *  @private
+	 *  Set of styles for which setStyle() causes
+	 *  invalidateDisplayList() to be called on the component's parent.
+	 *  The method registerParentDisplayListInvalidatingStyle() adds to this set
+	 *  and isParentDisplayListInvalidatingStyle() queries this set.
+	 */
+	private var parentDisplayListInvalidatingStyles:Object =
+		{
+			baseline: true,
+			bottom: true,
+			horizontalCenter: true,
+			left: true,
+			right: true,
+			top: true,
+			verticalCenter: true
+		}
+	
+	/**
+	 *  @private
+	 *  Set of color names.
+	 *  The method registerColorName() adds to this set
+	 *  and isColorName() queries this set.
+	 *  All color names in this set are lowercase in order to support
+	 *  case-insensitive mapping in the StyleManager methods getColorName(),
+	 *  getColorNames(), registerColorName(), and isColorName().
+	 *  We handle color names at runtime in a case-insensitive way
+	 *  because the MXML compiler does this at compile time,
+	 *  in conformance with the CSS spec.
+	 */
+	private var colorNames:Object =
+		{
+			transparent: "transparent",
+			black: 0x000000,
+			blue: 0x0000FF,
+			green: 0x008000,
+			gray: 0x808080,
+			silver: 0xC0C0C0,
+			lime: 0x00FF00,
+			olive: 0x808000,
+			white: 0xFFFFFF,
+			yellow: 0xFFFF00,
+			maroon: 0x800000,
+			navy: 0x000080,
+			red: 0xFF0000,
+			purple: 0x800080,
+			teal: 0x008080,
+			fuchsia: 0xFF00FF,
+			aqua: 0x00FFFF,
+			magenta: 0xFF00FF,
+			cyan: 0x00FFFF,
+			
+			// IMPORTANT: Theme colors must also be updated
+			// in the Flex compiler's CSS parser
+			// (in \src\java\macromedia\css\Descriptor.java)
+			// and possibly other places as well. Grep for them!
+			halogreen: 0x80FF4D,
+			haloblue: 0x009DFF,
+			haloorange: 0xFFB600,
+			halosilver: 0xAECAD9
+		};
+	
+	/**
+	 *  @private
+	 *  Whether any advanced selectors have been registered with this style
+	 *  manager.
+	 */ 
+	private var _hasAdvancedSelectors:Boolean;
+	
+	/**
+	 *  @private
+	 *  A map of CSS pseudo states. If a pseudo selector exists for a
+	 *  particular state name, it is likely that styles need to be recalculated.
+	 */ 
+	private var _pseudoCSSStates:Object;
+	
+	/**
+	 *  @private
+	 *  A map of CSS selectors -- such as "global", "Button", and ".bigRed" --
+	 *  to CSSStyleDeclarations.
+	 *  This collection is accessed via getStyleDeclaration(),
+	 *  setStyleDeclaration(), and clearStyleDeclaration().
+	 */
+	private var _selectors:Object = {};
+	
+	/**
+	 *  @private
+	 */
+	private var styleModules:Object = {};
+	
+	/**
+	 *  @private
+	 *  A map of selector "subjects" to an ordered map of selector Strings and
+	 *  their associated CSSStyleDeclarations.
+	 *  The subject is the right most simple type selector in a potential chain
+	 *  of selectors.
+	 */ 
+	private var _subjects:Object = {};
+	
+	/**
+	 *  @private
+	 *  Used for accessing localized Error messages.
+	 */
+	private var resourceManager:IResourceManager =
+		ResourceManager.getInstance();
+	
+	/**
+	 *  @private
+	 *  Cache merged styles between this and parent.
+	 */
+	private var mergedInheritingStylesCache:Object;
+	
+	/**
+	 *  @private
+	 *  This style manager's flex module factory.
+	 */
+	private var moduleFactory:IFlexModuleFactory;
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Properties
+	//
+	//--------------------------------------------------------------------------
+	
+	//----------------------------------
+	//  parent
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */    
+	private var _parent:IStyleManager2;
+	
+	/**
+	 *  @private
+	 *   
+	 *  The style manager that is the parent of this StyleManager.
+	 *  
+	 *  @return the parent StyleManager or null if this is the top-level StyleManager.
+	 */
+	public function get parent():IStyleManager2
+	{
+		return _parent;
+	}
+	
+	//----------------------------------
+	//  qualifiedTypeSelectors
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */
+	private static var _qualifiedTypeSelectors:Boolean = true;
+	
+	public function get qualifiedTypeSelectors():Boolean
+	{
+		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+			return false;
+		
+		if (_qualifiedTypeSelectors)
+			return _qualifiedTypeSelectors;
+		
+		if (parent)
+			return parent.qualifiedTypeSelectors;
+		
+		return false;
+	}
+	
+	public function set qualifiedTypeSelectors(value:Boolean):void
+	{
+		_qualifiedTypeSelectors = value;
+	}
+	
+	//----------------------------------
+	//  stylesRoot
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */
+	private var _stylesRoot:Object;
+	
+	/**
+	 *  @private
+	 *  The root of all proto chains used for looking up styles.
+	 *  This object is initialized once by initProtoChainRoots() and
+	 *  then updated by calls to setStyle() on the global CSSStyleDeclaration.
+	 *  It is accessed by code that needs to construct proto chains,
+	 *  such as the initProtoChain() method of UIComponent.
+	 */
+	public function get stylesRoot():Object
+	{
+		return _stylesRoot;
+	}
+	public function set stylesRoot(value:Object):void
+	{
+		_stylesRoot = value;
+	}
+	
+	//----------------------------------
+	//  inheritingStyles
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */
+	private var _inheritingStyles:Object = {};
+	
+	/**
+	 *  @private
+	 *  Set of inheriting non-color styles.
+	 *  This is not the complete set from CSS.
+	 *  Some of the omitted we don't support at all,
+	 *  others may be added later as needed.
+	 *  The method registerInheritingStyle() adds to this set
+	 *  and isInheritingStyle() queries this set.
+	 */
+	public function get inheritingStyles():Object
+	{
+		if (mergedInheritingStylesCache)
+			return mergedInheritingStylesCache;
+		
+		var mergedStyles:Object = _inheritingStyles;
+		
+		if (parent)
+		{
+			var otherStyles:Object = parent.inheritingStyles;
+			
+			for (var obj:Object in otherStyles)
+			{
+				if (mergedStyles[obj] === undefined)
+					mergedStyles[obj] = otherStyles[obj];
+			}
+		}
+		
+		mergedInheritingStylesCache = mergedStyles;
+		
+		return mergedStyles;
+	}
+	
+	public function set inheritingStyles(value:Object):void
+	{
+		_inheritingStyles = value;
+		mergedInheritingStylesCache = null;
+		
+		if (hasEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE))
+			dispatchInheritingStylesChangeEvent();
+	}
+	
+	//----------------------------------
+	//  typeHierarchyCache
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */
+	private var _typeHierarchyCache:Object;
+	
+	/**
+	 *  @private
+	 */
+	public function get typeHierarchyCache():Object
+	{
+		if (_typeHierarchyCache == null)
+			_typeHierarchyCache = {};
+		
+		return _typeHierarchyCache;
+	}
+	
+	/**
+	 * @private
+	 */ 
+	public function set typeHierarchyCache(value:Object):void
+	{
+		_typeHierarchyCache = value;
+	}
+	
+	//----------------------------------
+	//  typeSelectorCache
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 */
+	private var _typeSelectorCache:Object;
+	
+	/**
+	 *  @private
+	 */
+	public function get typeSelectorCache():Object
+	{
+		if (_typeSelectorCache == null)
+			_typeSelectorCache = {};
+		
+		return _typeSelectorCache;
+	}
+	
+	/**
+	 * @private
+	 */ 
+	public function set typeSelectorCache(value:Object):void
+	{
+		_typeSelectorCache = value;
+	}
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Methods
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  @private
+	 *  This method is called by code autogenerated by the MXML compiler,
+	 *  after StyleManager.styles is popuplated with CSSStyleDeclarations.
+	 */
+	public function initProtoChainRoots():void
+	{
+		if (!stylesRoot)
+		{
+			var style:CSSStyleDeclaration = getMergedStyleDeclaration("global");
+			if (style != null)
+			{
+				stylesRoot = style.addStyleToProtoChain({}, null);
+			}
+		}
+	}
+	
+	/**
+	 *  Returns an array of strings of all CSS selectors registered with the StyleManager.
+	 *  Pass items in this array to the getStyleDeclaration function to get the corresponding CSSStyleDeclaration.
+	 *  Note that class selectors are prepended with a period.
+	 *  
+	 *  @return An array of all of the selectors
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */ 
+	public function get selectors():Array
+	{
+		var theSelectors:Array = [];
+		for (var i:String in _selectors)
+			theSelectors.push(i);
+		
+		if (parent)
+		{
+			var otherSelectors:Array = parent.selectors;
+			for (i in otherSelectors)
+				theSelectors.push(i);
+		}
+		
+		return theSelectors;
+	}
+	
+	/**
+	 *  Determines whether any of the selectors registered with the style
+	 *  manager have been advanced selectors (descendant selector, id selector,
+	 *  non-global class selector, pseudo selector).
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */ 
+	public function hasAdvancedSelectors():Boolean
+	{
+		if (_hasAdvancedSelectors)
+			return true;
+		
+		if (parent)
+			return parent.hasAdvancedSelectors();
+		
+		return false;
+	}
+	
+	/**
+	 * @private
+	 * Determines whether at least one pseudo-condition has been specified for
+	 * the given state.
+	 */ 
+	public function hasPseudoCondition(cssState:String):Boolean
+	{
+		if (_pseudoCSSStates != null && _pseudoCSSStates[cssState] != null)
+			return true;
+		
+		if (parent)
+			return parent.hasPseudoCondition(cssState);
+		
+		return false;
+	}
+	
+	private static var propNames:Array = ["class", "id", "pseudo", "unconditional"];
+	
+	/**
+	 *  Retrieve all style declarations applicable to this subject. The subject
+	 *  is the right most simple type selector in a selector chain. Returns a 
+	 *  map of selectors with four properties: class for class selectors,
+	 *  id for id selectors, pseudo for pseudo selectors and unconditional
+	 *  for selectors without conditions
+	 * 
+	 * 
+	 *  @param subject The subject of the style declaration's selector.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */ 
+	public function getStyleDeclarations(subject:String):Object
+	{
+		// For Flex 3 and earlier, if we were passed a subject with a package
+		// name, such as "mx.controls.Button", strip off the package name
+		// leaving just "Button" and look for that subject.
+		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+		{
+			if (subject.charAt(0) != ".")
+			{
+				var index:int = subject.lastIndexOf(".");
+				if (index != -1)
+					subject = subject.substr(index + 1);
+			}
+		}
+		
+		// NOTE: It's important the parent declarations come before this style
+		// manager's styles because the order here is the order they are added to the 
+		// prototype chain.
+		var theSubjects:Object = null;
+		
+		if (parent)
+			theSubjects = parent.getStyleDeclarations(subject);
+		
+		var subjectsObject:Object = _subjects[subject];
+		if (!theSubjects)
+		{
+			if (subjectsObject)
+				theSubjects = subjectsObject;
+		}
+		else if (subjectsObject)
+		{    
+			var mergedSubjects:Object = {};
+			for each (var prop:String in propNames)
+			{
+				mergedSubjects[prop] = subjectsObject[prop];
+			}
+			mergedSubjects.parent = theSubjects;
+			theSubjects = mergedSubjects;
+		}
+		
+		return theSubjects;
+	}
+	
+	private function isUnique(element:*, index:int, arr:Array):Boolean {
+		return (arr.indexOf(element) >= 0);
+	}
+	
+	/**
+	 *  Gets the CSSStyleDeclaration object that stores the rules
+	 *  for the specified CSS selector.
+	 *
+	 *  <p>If the <code>selector</code> parameter starts with a period (.),
+	 *  the returned CSSStyleDeclaration is a class selector and applies only to those instances
+	 *  whose <code>styleName</code> property specifies that selector
+	 *  (not including the period).
+	 *  For example, the class selector <code>".bigMargins"</code>
+	 *  applies to any UIComponent whose <code>styleName</code>
+	 *  is <code>"bigMargins"</code>.</p>
+	 *
+	 *  <p>If the <code>selector</code> parameter does not start with a period,
+	 *  the returned CSSStyleDeclaration is a type selector and applies to all instances
+	 *  of that type.
+	 *  For example, the type selector <code>"Button"</code>
+	 *  applies to all instances of Button and its subclasses.</p>
+	 *
+	 *  <p>The <code>global</code> selector is similar to a type selector
+	 *  and does not start with a period.</p>
+	 *
+	 *  @param selector The name of the CSS selector.
+	 *
+	 *  @return The style declaration whose name matches the <code>selector</code> property.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function getStyleDeclaration(selector:String):CSSStyleDeclaration
+	{
+		// For Flex 3 and earlier, if we were passed a selector with a package
+		// name, such as "mx.controls.Button", strip off the package name
+		// leaving just "Button" and look for that type selector.
+		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+		{
+			if (selector.charAt(0) != ".")
+			{
+				var index:int = selector.lastIndexOf(".");
+				if (index != -1)
+					selector = selector.substr(index + 1);
+			}
+		}
+		
+		return _selectors[selector];
+	}
+	
+	/** 
+	 * Gets a CSSStyleDeclaration object that stores the rules 
+	 * for the specified CSS selector. The CSSStyleDeclaration object is the created by merging
+	 * the properties of the specified CSS selector of this style manager with all of the parent
+	 * style managers.
+	 * 
+	 * <p>
+	 * If this style manager contains a style declaration for the given selector, its style properties
+	 * will be updated with properties from the parent style manager's merged style declaration. If
+	 * this style manager does not have a style declaration for a given selector, the parent's merged
+	 * style declaration will be set into this style manager depending on the value of the <code>
+	 * setSelector</code> parameter.
+	 * </p>
+	 * 
+	 * <p>If the <code>selector</code> parameter starts with a period (.), 
+	 * the returned CSSStyleDeclaration is a class selector and applies only to those instances 
+	 * whose <code>styleName</code> property specifies that selector 
+	 * (not including the period). 
+	 * For example, the class selector <code>".bigMargins"</code> 
+	 * applies to any UIComponent whose <code>styleName</code> 
+	 * is <code>"bigMargins"</code>.</p> 
+	 * 
+	 * <p>If the <code>selector</code> parameter does not start with a period, 
+	 * the returned CSSStyleDeclaration is a type selector and applies to all instances 
+	 * of that type. 
+	 * For example, the type selector <code>"Button"</code> 
+	 * applies to all instances of Button and its subclasses.</p> 
+	 * 
+	 * <p>The <code>global</code> selector is similar to a type selector 
+	 * and does not start with a period.</p> 
+	 * 
+	 * @param selector The name of the CSS selector. 
+	 * @param localOnly Controls whether the returned style declaration is the result of merging  
+	 * the properties of this and any parent style managers or if the style declaration is only 
+	 * from this style manager. 
+	 * 
+	 * @return The style declaration whose name matches the <code>selector</code> property. 
+	 *  
+	 * @langversion 3.0 
+	 * @playerversion Flash 9 
+	 * @playerversion AIR 1.1 
+	 * @productversion Flex 4 
+	 */     
+	public function getMergedStyleDeclaration(selector:String):CSSStyleDeclaration
+	{
+		var style:CSSStyleDeclaration = getStyleDeclaration(selector);
+		var parentStyle:CSSStyleDeclaration = null;
+		
+		// If we have a parent, get its style and merge them with our style.
+		if (parent)
+			parentStyle = parent.getMergedStyleDeclaration(selector);
+		
+		if (style || parentStyle)
+		{
+			style = new CSSMergedStyleDeclaration(style, parentStyle, 
+				style ? style.selectorString : parentStyle.selectorString, this, false);
+		}
+		
+		return style;
+	}
+	
+	/**
+	 *  Sets the CSSStyleDeclaration object that stores the rules
+	 *  for the specified CSS selector.
+	 *
+	 *  <p>If the <code>selector</code> parameter starts with a period (.),
+	 *  the specified selector is a class selector and applies only to those instances
+	 *  whose <code>styleName</code> property specifies that selector
+	 *  (not including the period).
+	 *  For example, the class selector <code>".bigMargins"</code>
+	 *  applies to any UIComponent whose <code>styleName</code>
+	 *  is <code>"bigMargins"</code>.</p>
+	 *
+	 *  <p>If the <code>selector</code> parameter does not start with a period,
+	 *  the specified selector is a "type selector" and applies to all instances
+	 *  of that type.
+	 *  For example, the type selector <code>"Button"</code>
+	 *  applies to all instances of Button and its subclasses.</p>
+	 *
+	 *  <p>The <code>global</code> selector is similar to a type selector
+	 *  and does not start with a period.</p>
+	 *
+	 *  <p>Note that the provided selector will update the selector and subject
+	 *  of the styleDeclaration to keep them in sync.</p>
+	 * 
+	 *  @param selector The name of the CSS selector.
+	 *  @param styleDeclaration The new style declaration.
+	 *  @param update Set to <code>true</code> to force an immediate update of the styles.
+	 *  Set to <code>false</code> to avoid an immediate update of the styles in the application.
+	 *  The styles will be updated the next time this method or the <code>clearStyleDeclaration()</code> method
+	 *  is called with the <code>update</code> property set to <code>true</code>.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function setStyleDeclaration(selector:String,
+										styleDeclaration:CSSStyleDeclaration,
+										update:Boolean):void
+	{
+		// For Flex 3 and earlier, if we were passed a selector with a package
+		// name, such as "mx.controls.Button", strip off the package name
+		// leaving just "Button" and look for that type selector.
+		if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
+		{
+			if (selector.charAt(0) != ".")
+			{
+				var index:int = selector.lastIndexOf(".");
+				if (index != -1)
+					selector = selector.substr(index + 1);
+			}
+		}
+		
+		// Populate the selectors Array for this style declaration
+		styleDeclaration.selectorRefCount++;
+		styleDeclaration.selectorIndex = selectorIndex++;
+		_selectors[selector] = styleDeclaration;
+		
+		// We also index by subject to help match advanced selectors
+		var subject:String = styleDeclaration.subject;
+		if (selector)
+		{
+			if (!styleDeclaration.subject)
+			{
+				// If the styleDeclaration does not yet have a subject we
+				// update its selector to keep it in sync with the provided
+				// selector.
+				styleDeclaration.selectorString = selector;
+				subject = styleDeclaration.subject;
+			}
+			else if (selector != styleDeclaration.selectorString)
+			{
+				// The styleDeclaration does not match the provided selector, so
+				// we ignore the subject on the styleDeclaration and try to
+				// determine the subject from the selector
+				var firstChar:String = selector.charAt(0); 
+				if (firstChar == "." || firstChar == ":" || firstChar == "#")
+				{
+					subject = "*";
+				}
+				else
+				{
+					// TODO: Support parsing Advanced CSS selectors for a 
+					// subject...
+					subject = selector;
+				}
+				
+				// Finally, we update the styleDeclaration's selector to keep
+				// it in sync with the provided selector.
+				styleDeclaration.selectorString = selector;
+			}
+		}
+		
+		if (subject != null)
+		{
+			// determine the kind of selector and add it to the appropriate 
+			// bin of selectors for this subject
+			var kind:String = styleDeclaration.selector.conditions ? 
+				styleDeclaration.selector.conditions[0].kind : 
+				"unconditional";
+			var declarations:Object = _subjects[subject];
+			if (declarations == null)
+			{
+				declarations = {};
+				declarations[kind] = [styleDeclaration];
+				_subjects[subject] = declarations;
+			}
+			else
+			{
+				var declarationList:Array = declarations[kind] as Array;
+				if (declarationList == null)
+					declarations[kind] = [styleDeclaration];   
+				else
+					declarationList.push(styleDeclaration);
+			}
+		}
+		
+		// Also remember subjects that have pseudo-selectors to optimize
+		// styles during component state changes.
+		var pseudoCondition:String = styleDeclaration.getPseudoCondition();
+		if (pseudoCondition != null)
+		{
+			if (_pseudoCSSStates == null)
+				_pseudoCSSStates = {};
+			
+			_pseudoCSSStates[pseudoCondition] = true;
+		}
+		
+		// Record whether this is an advanced selector so that style declaration
+		// look up can be optimized for when no advanced selectors have been
+		// declared
+		if (styleDeclaration.isAdvanced())
+			_hasAdvancedSelectors = true;
+		
+		// Flush cache and start over.
+		if (_typeSelectorCache)
+			_typeSelectorCache = {};
+		
+		if (update)
+			styleDeclarationsChanged();
+	}
+	
+	/**
+	 *  Clears the CSSStyleDeclaration object that stores the rules
+	 *  for the specified CSS selector.
+	 *
+	 *  <p>If the specified selector is a class selector (for example, ".bigMargins" or ".myStyle"),
+	 *  you must be sure to start the
+	 *  <code>selector</code> property with a period (.).</p>
+	 *
+	 *  <p>If the specified selector is a type selector (for example, "Button"), do not start the
+	 *  <code>selector</code> property with a period.</p>
+	 *
+	 *  <p>The <code>global</code> selector is similar to a type selector
+	 *  and does not start with a period.</p>
+	 *
+	 *  @param selector The name of the CSS selector to clear.
+	 *  @param update Set to <code>true</code> to force an immediate update of the styles.
+	 *  Set to <code>false</code> to avoid an immediate update of the styles in the application.
+	 *  The styles will be updated the next time this method or the <code>setStyleDeclaration()</code> method is
+	 *  called with the <code>update</code> property set to <code>true</code>.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function clearStyleDeclaration(selector:String,
+										  update:Boolean):void
+	{
+		var styleDeclaration:CSSStyleDeclaration =
+			getStyleDeclaration(selector);
+		
+		if (styleDeclaration && styleDeclaration.selectorRefCount > 0)
+			styleDeclaration.selectorRefCount--;
+		
+		// Clear out legacy selectors map
+		delete _selectors[selector];
+		
+		// Clear out matching decls from our selectors stored by subject
+		var decls:Array;
+		var i:int;
+		var decl:CSSStyleDeclaration;
+		
+		if (styleDeclaration && styleDeclaration.subject)
+		{
+			decls = _subjects[styleDeclaration.subject] as Array;
+			if (decls)
+			{
+				// Work from the back of the array so we can remove elements
+				// as we go.
+				for (i = decls.length - 1; i >= 0; i--)
+				{
+					decl = decls[i];
+					if (decl && decl.selectorString == selector)
+					{
+						if (decls.length == 1)
+							delete _subjects[styleDeclaration.subject];
+						else
+							decls.splice(i, 1);
+					}
+				}
+			}
+		}
+		else
+		{
+			// Without a subject, we start searching all declarations for this
+			// selector, clear out matching selectors if found and then assume
+			// this we can limit our search to this subject and stop looking.
+			var matchingSubject:Boolean = false;
+			for each (decls in _subjects)
+			{
+				if (decls)
+				{
+					// Work from the back of the array so we can remove elements
+					// as we go.
+					for (i = decls.length - 1; i >= 0; i--)
+					{
+						decl = decls[i];
+						if (decl && decl.selectorString == selector)
+						{
+							matchingSubject = true;
+							if (decls.length == 1)
+								delete _subjects[decl.subject];
+							else
+								decls.splice(i, 1);
+						}
+					}
+					
+					if (matchingSubject)
+						break;
+				}
+			}
+		}
+		
+		if (update)
+			styleDeclarationsChanged();
+	}
+	
+	/**
+	 *  @private
+	 *  After an entire selector is added, replaced, or removed,
+	 *  this method updates all the DisplayList trees.
+	 */
+	public function styleDeclarationsChanged():void
+	{
+		var sms:Array /* of SystemManager */ =
+			SystemManagerGlobals.topLevelSystemManagers;
+		var n:int = sms.length;
+		for (var i:int = 0; i < n; i++)
+		{
+			// Type as Object to avoid dependency on SystemManager or WindowedSystemManager
+			var sm:ISystemManager = sms[i];
+			var cm:Object = sm.getImplementation("mx.managers::ISystemManagerChildManager");
+			Object(cm).regenerateStyleCache(true);
+			Object(cm).notifyStyleChangeInChildren(null, true);
+		}
+	}
+	
 	/**
-	 *  @private
-	 *  Used for accessing localized Error messages.
+	 *  Adds to the list of styles that can inherit values
+	 *  from their parents.
+	 *
+	 *  <p><b>Note:</b> Ensure that you avoid using duplicate style names, as name
+	 *  collisions can result in decreased performance if a style that is
+	 *  already used becomes inheriting.</p>
+	 *
+	 *  @param styleName The name of the style that is added to the list of styles that can inherit values.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
-	private var resourceManager:IResourceManager =
-									ResourceManager.getInstance();
-
-    /**
-     *  @private
-     *  Cache merged styles between this and parent.
-     */
-    private var mergedInheritingStylesCache:Object;
-    
-    /**
-     *  @private
-     *  This style manager's flex module factory.
-     */
-    private var moduleFactory:IFlexModuleFactory;
-    
-    //--------------------------------------------------------------------------
-    //
-    //  Properties
-    //
-    //--------------------------------------------------------------------------
-
-    //----------------------------------
-    //  parent
-    //----------------------------------
-    
-    /**
-     *  @private
-     */    
-    private var _parent:IStyleManager2;
-    
-    /**
-     *  @private
-     *   
-     *  The style manager that is the parent of this StyleManager.
-     *  
-     *  @return the parent StyleManager or null if this is the top-level StyleManager.
-     */
-    public function get parent():IStyleManager2
-    {
-        return _parent;
-    }
-    
-    //----------------------------------
-    //  qualifiedTypeSelectors
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private static var _qualifiedTypeSelectors:Boolean = true;
-        
-    public function get qualifiedTypeSelectors():Boolean
-    {
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
-            return false;
-
-        if (_qualifiedTypeSelectors)
-            return _qualifiedTypeSelectors;
-        
-        if (parent)
-            return parent.qualifiedTypeSelectors;
-        
-        return false;
-    }
-    
-    public function set qualifiedTypeSelectors(value:Boolean):void
-    {
-        _qualifiedTypeSelectors = value;
-    }
-    
-    //----------------------------------
-    //  stylesRoot
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _stylesRoot:Object;
-
-    /**
-     *  @private
-     *  The root of all proto chains used for looking up styles.
-     *  This object is initialized once by initProtoChainRoots() and
-     *  then updated by calls to setStyle() on the global CSSStyleDeclaration.
-     *  It is accessed by code that needs to construct proto chains,
-     *  such as the initProtoChain() method of UIComponent.
-     */
-    public function get stylesRoot():Object
-    {
-        return _stylesRoot;
-    }
-    public function set stylesRoot(value:Object):void
-    {
-        _stylesRoot = value;
-    }
-
-    //----------------------------------
-    //  inheritingStyles
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _inheritingStyles:Object = {};
-
-    /**
-     *  @private
-     *  Set of inheriting non-color styles.
-     *  This is not the complete set from CSS.
-     *  Some of the omitted we don't support at all,
-     *  others may be added later as needed.
-     *  The method registerInheritingStyle() adds to this set
-     *  and isInheritingStyle() queries this set.
-     */
-    public function get inheritingStyles():Object
-    {
-        if (mergedInheritingStylesCache)
-            return mergedInheritingStylesCache;
-        
-        var mergedStyles:Object = _inheritingStyles;
-        
-        if (parent)
-        {
-            var otherStyles:Object = parent.inheritingStyles;
-            
-            for (var obj:Object in otherStyles)
-            {
-                if (mergedStyles[obj] === undefined)
-                    mergedStyles[obj] = otherStyles[obj];
-            }
-        }
-        
-        mergedInheritingStylesCache = mergedStyles;
-        
-        return mergedStyles;
-    }
-    
-    public function set inheritingStyles(value:Object):void
-    {
-        _inheritingStyles = value;
-        mergedInheritingStylesCache = null;
-        
-        if (hasEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE))
-            dispatchInheritingStylesChangeEvent();
-    }
-
-    //----------------------------------
-    //  typeHierarchyCache
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _typeHierarchyCache:Object;
-
-    /**
-     *  @private
-     */
-    public function get typeHierarchyCache():Object
-    {
-        if (_typeHierarchyCache == null)
-            _typeHierarchyCache = {};
-
-        return _typeHierarchyCache;
-    }
-
-    /**
-     * @private
-     */ 
-    public function set typeHierarchyCache(value:Object):void
-    {
-        _typeHierarchyCache = value;
-    }
-
-    //----------------------------------
-    //  typeSelectorCache
-    //----------------------------------
-
-    /**
-     *  @private
-     */
-    private var _typeSelectorCache:Object;
-
-    /**
-     *  @private
-     */
-    public function get typeSelectorCache():Object
-    {
-        if (_typeSelectorCache == null)
-            _typeSelectorCache = {};
-
-        return _typeSelectorCache;
-    }
-
-    /**
-     * @private
-     */ 
-    public function set typeSelectorCache(value:Object):void
-    {
-        _typeSelectorCache = value;
-    }
-
-    //--------------------------------------------------------------------------
-    //
-    //  Methods
-    //
-    //--------------------------------------------------------------------------
-
-    /**
-     *  @private
-     *  This method is called by code autogenerated by the MXML compiler,
-     *  after StyleManager.styles is popuplated with CSSStyleDeclarations.
-     */
-    public function initProtoChainRoots():void
-    {
-		if (!stylesRoot)
+	public function registerInheritingStyle(styleName:String):void
+	{
+		if (_inheritingStyles[styleName] != true)
 		{
-            var style:CSSStyleDeclaration = getMergedStyleDeclaration("global");
-			if (style != null)
+			_inheritingStyles[styleName] = true;
+			mergedInheritingStylesCache = null;
+			
+			if (hasEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE))
+				dispatchInheritingStylesChangeEvent();
+		}
+	}
+	
+	/**
+	 *  Tests to see if a style is inheriting.
+	 *
+	 *  @param styleName The name of the style that you test to see if it is inheriting.
+	 *
+	 *  @return Returns <code>true</code> if the specified style is inheriting.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isInheritingStyle(styleName:String):Boolean
+	{
+		if (mergedInheritingStylesCache)
+			return mergedInheritingStylesCache[styleName] == true;
+		
+		if (_inheritingStyles[styleName] == true)
+			return true;
+		
+		if (parent && parent.isInheritingStyle(styleName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Test to see if a TextFormat style is inheriting.
+	 *
+	 *  @param styleName The name of the style that you test to see if it is inheriting.
+	 *
+	 *  @return Returns <code>true</code> if the specified TextFormat style
+	 *  is inheriting.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isInheritingTextFormatStyle(styleName:String):Boolean
+	{
+		if (inheritingTextFormatStyles[styleName] == true)
+			return true;
+		
+		if (parent && parent.isInheritingTextFormatStyle(styleName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Adds to the list of styles which may affect the measured size
+	 *  of the component.
+	 *  When one of these styles is set with <code>setStyle()</code>,
+	 *  the <code>invalidateSize()</code> method is automatically called on the component
+	 *  to make its measured size get recalculated later.
+	 *
+	 *  @param styleName The name of the style that you add to the list.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function registerSizeInvalidatingStyle(styleName:String):void
+	{
+		sizeInvalidatingStyles[styleName] = true;
+	}
+	
+	/**
+	 *  Tests to see if a style changes the size of a component.
+	 *
+	 *  <p>When one of these styles is set with the <code>setStyle()</code> method,
+	 *  the <code>invalidateSize()</code> method is automatically called on the component
+	 *  to make its measured size get recalculated later.</p>
+	 *
+	 *  @param styleName The name of the style to test.
+	 *
+	 *  @return Returns <code>true</code> if the specified style is one
+	 *  which may affect the measured size of the component.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isSizeInvalidatingStyle(styleName:String):Boolean
+	{
+		if (sizeInvalidatingStyles[styleName] == true)
+			return true;
+		
+		if (parent && parent.isSizeInvalidatingStyle(styleName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Adds to the list of styles which may affect the measured size
+	 *  of the component's parent container.
+	 *  <p>When one of these styles is set with <code>setStyle()</code>,
+	 *  the <code>invalidateSize()</code> method is automatically called on the component's
+	 *  parent container to make its measured size get recalculated
+	 *  later.</p>
+	 *
+	 *  @param styleName The name of the style to register.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function registerParentSizeInvalidatingStyle(styleName:String):void
+	{
+		parentSizeInvalidatingStyles[styleName] = true;
+	}
+	
+	/**
+	 *  Tests to see if the style changes the size of the component's parent container.
+	 *
+	 *  <p>When one of these styles is set with <code>setStyle()</code>,
+	 *  the <code>invalidateSize()</code> method is automatically called on the component's
+	 *  parent container to make its measured size get recalculated
+	 *  later.</p>
+	 *
+	 *  @param styleName The name of the style to test.
+	 *
+	 *  @return Returns <code>true</code> if the specified style is one
+	 *  which may affect the measured size of the component's
+	 *  parent container.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isParentSizeInvalidatingStyle(styleName:String):Boolean
+	{
+		if (parentSizeInvalidatingStyles[styleName] == true)
+			return true;
+		
+		if (parent && parent.isParentSizeInvalidatingStyle(styleName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Adds to the list of styles which may affect the appearance
+	 *  or layout of the component's parent container.
+	 *  When one of these styles is set with <code>setStyle()</code>,
+	 *  the <code>invalidateDisplayList()</code> method is auomatically called on the component's
+	 *  parent container to make it redraw and/or relayout its children.
+	 *
+	 *  @param styleName The name of the style to register.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function registerParentDisplayListInvalidatingStyle(
+		styleName:String):void
+	{
+		parentDisplayListInvalidatingStyles[styleName] = true;
+	}
+	
+	/**
+	 *  Tests to see if this style affects the component's parent container in
+	 *  such a way as to require that the parent container redraws itself when this style changes.
+	 *
+	 *  <p>When one of these styles is set with <code>setStyle()</code>,
+	 *  the <code>invalidateDisplayList()</code> method is auomatically called on the component's
+	 *  parent container to make it redraw and/or relayout its children.</p>
+	 *
+	 *  @param styleName The name of the style to test.
+	 *
+	 *  @return Returns <code>true</code> if the specified style is one
+	 *  which may affect the appearance or layout of the component's
+	 *  parent container.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isParentDisplayListInvalidatingStyle(
+		styleName:String):Boolean
+	{
+		if (parentDisplayListInvalidatingStyles[styleName] == true)
+			return true;
+		
+		if (parent && parent.isParentDisplayListInvalidatingStyle(styleName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Adds a color name to the list of aliases for colors.
+	 *
+	 *  @param colorName The name of the color to add to the list; for example, "blue".
+	 *  If you later access this color name, the value is not case-sensitive.
+	 *
+	 *  @param colorValue Color value, for example, 0x0000FF.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function registerColorName(colorName:String, colorValue:uint):void
+	{
+		colorNames[colorName.toLowerCase()] = colorValue;
+	}
+	
+	/**
+	 *  Tests to see if the given String is an alias for a color value. For example,
+	 *  by default, the String "blue" is an alias for 0x0000FF.
+	 *
+	 *  @param colorName The color name to test. This parameter is not case-sensitive.
+	 *
+	 *  @return Returns <code>true</code> if <code>colorName</code> is an alias
+	 *  for a color.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function isColorName(colorName:String):Boolean
+	{
+		if (colorNames[colorName.toLowerCase()] !== undefined)
+			return true;
+		
+		if (parent && parent.isColorName(colorName))
+			return true;
+		
+		return false;
+	}
+	
+	/**
+	 *  Returns the numeric RGB color value that corresponds to the
+	 *  specified color string.
+	 *  The color string can be either a case-insensitive color name
+	 *  such as <code>"red"</code>, <code>"Blue"</code>, or
+	 *  <code>"haloGreen"</code>, a hexadecimal value such as 0xFF0000, or a #-hexadecimal String
+	 *  such as <code>"#FF0000"</code>.
+	 *
+	 *  <p>This method returns a uint, such as 4521830, that represents a color. You can convert
+	 *  this uint to a hexadecimal value by passing the numeric base (in this case, 16), to
+	 *  the uint class's <code>toString()</code> method, as the following example shows:</p>
+	 *  <pre>
+	 *  import mx.styles.StyleManager;
+	 *  private function getNewColorName():void {
+	 *      StyleManager.registerColorName("soylentGreen",0x44FF66);
+	 *      trace(StyleManager.getColorName("soylentGreen").toString(16));
+	 *  }
+	 *  </pre>
+	 *
+	 *  @param colorName The color name.
+	 *
+	 *  @return Returns a uint that represents the color value or <code>NOT_A_COLOR</code>
+	 *  if the value of the <code>colorName</code> property is not an alias for a color.
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public function getColorName(colorName:Object):uint
+	{
+		var n:Number;
+		
+		if (colorName is String)
+		{
+			if (colorName.charAt(0) == "#")
+			{
+				// Map "#77EE11" to 0x77EE11
+				n = Number("0x" + colorName.slice(1));
+				return isNaN(n) ? StyleManager.NOT_A_COLOR : uint(n);
+			}
+			
+			if (colorName.charAt(1) == "x" && colorName.charAt(0) == '0')
+			{
+				// Map "#77EE11" to 0x77EE11
+				n = Number(colorName);
+				return isNaN(n) ? StyleManager.NOT_A_COLOR : uint(n);
+			}
+			
+			// Map "red" or "Red" to 0xFF0000;
+			// Map "haloGreen" or "HaLoGrEeN" to 0x46FF00.
+			var c:* = colorNames[colorName.toLowerCase()];
+			if (c === undefined)
 			{
-			    stylesRoot = style.addStyleToProtoChain({}, null);
+				// If not found then try our parent
+				if (parent)
+					c = parent.getColorName(colorName);
 			}
+			
+			if (c === undefined)
+				return StyleManager.NOT_A_COLOR;                
+			
+			return uint(c);
 		}
-    }
-    
-    /**
-     *  Returns an array of strings of all CSS selectors registered with the StyleManager.
-     *  Pass items in this array to the getStyleDeclaration function to get the corresponding CSSStyleDeclaration.
-     *  Note that class selectors are prepended with a period.
-     *  
-     *  @return An array of all of the selectors
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */ 
-    public function get selectors():Array
-    {
-    	var theSelectors:Array = [];
-    	for (var i:String in _selectors)
-    		theSelectors.push(i);
-
-        if (parent)
-        {
-            var otherSelectors:Array = parent.selectors;
-            for (i in otherSelectors)
-                theSelectors.push(i);
-        }
-        
-    	return theSelectors;
-    }
-
-    /**
-     *  Determines whether any of the selectors registered with the style
-     *  manager have been advanced selectors (descendant selector, id selector,
-     *  non-global class selector, pseudo selector).
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */ 
-    public function hasAdvancedSelectors():Boolean
-    {
-        if (_hasAdvancedSelectors)
-            return true;
-        
-        if (parent)
-            return parent.hasAdvancedSelectors();
-        
-        return false;
-    }
-
-    /**
-     * @private
-     * Determines whether at least one pseudo-condition has been specified for
-     * the given state.
-     */ 
-    public function hasPseudoCondition(cssState:String):Boolean
-    {
-        if (_pseudoCSSStates != null && _pseudoCSSStates[cssState] != null)
-            return true;
-        
-        if (parent)
-            return parent.hasPseudoCondition(cssState);
-        
-        return false;
-    }
-
-    private static var propNames:Array = ["class", "id", "pseudo", "unconditional"];
-
-    /**
-     *  Retrieve all style declarations applicable to this subject. The subject
-     *  is the right most simple type selector in a selector chain. Returns a 
-     *  map of selectors with four properties: class for class selectors,
-     *  id for id selectors, pseudo for pseudo selectors and unconditional
-     *  for selectors without conditions
-     * 
-     * 
-     *  @param subject The subject of the style declaration's selector.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */ 
-    public function getStyleDeclarations(subject:String):Object
-    {
-        // For Flex 3 and earlier, if we were passed a subject with a package
-        // name, such as "mx.controls.Button", strip off the package name
-        // leaving just "Button" and look for that subject.
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
-        {
-            if (subject.charAt(0) != ".")
-            {
-                var index:int = subject.lastIndexOf(".");
-                if (index != -1)
-                    subject = subject.substr(index + 1);
-            }
-        }
-
-        // NOTE: It's important the parent declarations come before this style
-        // manager's styles because the order here is the order they are added to the 
-        // prototype chain.
-        var theSubjects:Object = null;
-
-        if (parent)
-            theSubjects = parent.getStyleDeclarations(subject);
-
-        var subjectsObject:Object = _subjects[subject];
-        if (!theSubjects)
-        {
-            if (subjectsObject)
-                theSubjects = subjectsObject;
-        }
-        else if (subjectsObject)
-        {    
-            var mergedSubjects:Object = {};
-            for each (var prop:String in propNames)
-            {
-                mergedSubjects[prop] = subjectsObject[prop];
-            }
-            mergedSubjects.parent = theSubjects;
-            theSubjects = mergedSubjects;
-        }
-        
-        return theSubjects;
-    }
-
-    private function isUnique(element:*, index:int, arr:Array):Boolean {
-        return (arr.indexOf(element) >= 0);
-    }
-
-    /**
-     *  Gets the CSSStyleDeclaration object that stores the rules
-     *  for the specified CSS selector.
-     *
-     *  <p>If the <code>selector</code> parameter starts with a period (.),
-     *  the returned CSSStyleDeclaration is a class selector and applies only to those instances
-     *  whose <code>styleName</code> property specifies that selector
-     *  (not including the period).
-     *  For example, the class selector <code>".bigMargins"</code>
-     *  applies to any UIComponent whose <code>styleName</code>
-     *  is <code>"bigMargins"</code>.</p>
-     *
-     *  <p>If the <code>selector</code> parameter does not start with a period,
-     *  the returned CSSStyleDeclaration is a type selector and applies to all instances
-     *  of that type.
-     *  For example, the type selector <code>"Button"</code>
-     *  applies to all instances of Button and its subclasses.</p>
-     *
-     *  <p>The <code>global</code> selector is similar to a type selector
-     *  and does not start with a period.</p>
-     *
-     *  @param selector The name of the CSS selector.
-     *
-     *  @return The style declaration whose name matches the <code>selector</code> property.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function getStyleDeclaration(selector:String):CSSStyleDeclaration
-    {
-        // For Flex 3 and earlier, if we were passed a selector with a package
-        // name, such as "mx.controls.Button", strip off the package name
-        // leaving just "Button" and look for that type selector.
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
-        {
-            if (selector.charAt(0) != ".")
-            {
-                var index:int = selector.lastIndexOf(".");
-                if (index != -1)
-                    selector = selector.substr(index + 1);
-            }
-        }
-
-        return _selectors[selector];
-    }
-
-    /** 
-     * Gets a CSSStyleDeclaration object that stores the rules 
-     * for the specified CSS selector. The CSSStyleDeclaration object is the created by merging
-     * the properties of the specified CSS selector of this style manager with all of the parent
-     * style managers.
-     * 
-     * <p>
-     * If this style manager contains a style declaration for the given selector, its style properties
-     * will be updated with properties from the parent style manager's merged style declaration. If
-     * this style manager does not have a style declaration for a given selector, the parent's merged
-     * style declaration will be set into this style manager depending on the value of the <code>
-     * setSelector</code> parameter.
-     * </p>
-     * 
-     * <p>If the <code>selector</code> parameter starts with a period (.), 
-     * the returned CSSStyleDeclaration is a class selector and applies only to those instances 
-     * whose <code>styleName</code> property specifies that selector 
-     * (not including the period). 
-     * For example, the class selector <code>".bigMargins"</code> 
-     * applies to any UIComponent whose <code>styleName</code> 
-     * is <code>"bigMargins"</code>.</p> 
-     * 
-     * <p>If the <code>selector</code> parameter does not start with a period, 
-     * the returned CSSStyleDeclaration is a type selector and applies to all instances 
-     * of that type. 
-     * For example, the type selector <code>"Button"</code> 
-     * applies to all instances of Button and its subclasses.</p> 
-     * 
-     * <p>The <code>global</code> selector is similar to a type selector 
-     * and does not start with a period.</p> 
-     * 
-     * @param selector The name of the CSS selector. 
-     * @param localOnly Controls whether the returned style declaration is the result of merging  
-     * the properties of this and any parent style managers or if the style declaration is only 
-     * from this style manager. 
-     * 
-     * @return The style declaration whose name matches the <code>selector</code> property. 
-     *  
-     * @langversion 3.0 
-     * @playerversion Flash 9 
-     * @playerversion AIR 1.1 
-     * @productversion Flex 4 
-     */     
-    public function getMergedStyleDeclaration(selector:String):CSSStyleDeclaration
-    {
-        var style:CSSStyleDeclaration = getStyleDeclaration(selector);
-        var parentStyle:CSSStyleDeclaration = null;
-        
-        // If we have a parent, get its style and merge them with our style.
-        if (parent)
-            parentStyle = parent.getMergedStyleDeclaration(selector);
-
-        if (style || parentStyle)
-        {
-            style = new CSSMergedStyleDeclaration(style, parentStyle, 
-                             style ? style.selectorString : parentStyle.selectorString, this, false);
-        }
-                
-        return style;
-    }
-
-    /**
-     *  Sets the CSSStyleDeclaration object that stores the rules
-     *  for the specified CSS selector.
-     *
-     *  <p>If the <code>selector</code> parameter starts with a period (.),
-     *  the specified selector is a class selector and applies only to those instances
-     *  whose <code>styleName</code> property specifies that selector
-     *  (not including the period).
-     *  For example, the class selector <code>".bigMargins"</code>
-     *  applies to any UIComponent whose <code>styleName</code>
-     *  is <code>"bigMargins"</code>.</p>
-     *
-     *  <p>If the <code>selector</code> parameter does not start with a period,
-     *  the specified selector is a "type selector" and applies to all instances
-     *  of that type.
-     *  For example, the type selector <code>"Button"</code>
-     *  applies to all instances of Button and its subclasses.</p>
-     *
-     *  <p>The <code>global</code> selector is similar to a type selector
-     *  and does not start with a period.</p>
-     *
-     *  <p>Note that the provided selector will update the selector and subject
-     *  of the styleDeclaration to keep them in sync.</p>
-     * 
-     *  @param selector The name of the CSS selector.
-     *  @param styleDeclaration The new style declaration.
-     *  @param update Set to <code>true</code> to force an immediate update of the styles.
-     *  Set to <code>false</code> to avoid an immediate update of the styles in the application.
-     *  The styles will be updated the next time this method or the <code>clearStyleDeclaration()</code> method
-     *  is called with the <code>update</code> property set to <code>true</code>.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function setStyleDeclaration(selector:String,
-                                styleDeclaration:CSSStyleDeclaration,
-                                update:Boolean):void
-    {
-        // For Flex 3 and earlier, if we were passed a selector with a package
-        // name, such as "mx.controls.Button", strip off the package name
-        // leaving just "Button" and look for that type selector.
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
-        {
-            if (selector.charAt(0) != ".")
-            {
-                var index:int = selector.lastIndexOf(".");
-                if (index != -1)
-                    selector = selector.substr(index + 1);
-            }
-        }
-
-        // Populate the selectors Array for this style declaration
-        styleDeclaration.selectorRefCount++;
-        styleDeclaration.selectorIndex = selectorIndex++;
-        _selectors[selector] = styleDeclaration;
-
-        // We also index by subject to help match advanced selectors
-        var subject:String = styleDeclaration.subject;
-        if (selector)
-        {
-            if (!styleDeclaration.subject)
-            {
-                // If the styleDeclaration does not yet have a subject we
-                // update its selector to keep it in sync with the provided
-                // selector.
-                styleDeclaration.selectorString = selector;
-                subject = styleDeclaration.subject;
-            }
-            else if (selector != styleDeclaration.selectorString)
-            {
-                // The styleDeclaration does not match the provided selector, so
-                // we ignore the subject on the styleDeclaration and try to
-                // determine the subject from the selector
-                var firstChar:String = selector.charAt(0); 
-                if (firstChar == "." || firstChar == ":" || firstChar == "#")
-                {
-                    subject = "*";
-                }
-                else
-                {
-                    // TODO: Support parsing Advanced CSS selectors for a 
-                    // subject...
-                    subject = selector;
-                }
-
-                // Finally, we update the styleDeclaration's selector to keep
-                // it in sync with the provided selector.
-                styleDeclaration.selectorString = selector;
-            }
-        }
-
-        if (subject != null)
-        {
-            // determine the kind of selector and add it to the appropriate 
-            // bin of selectors for this subject
-            var kind:String = styleDeclaration.selector.conditions ? 
-                    styleDeclaration.selector.conditions[0].kind : 
-                    "unconditional";
-            var declarations:Object = _subjects[subject];
-            if (declarations == null)
-            {
-                declarations = {};
-                declarations[kind] = [styleDeclaration];
-                _subjects[subject] = declarations;
-            }
-            else
-            {
-                var declarationList:Array = declarations[kind] as Array;
-                if (declarationList == null)
-                    declarations[kind] = [styleDeclaration];   
-                else
-                    declarationList.push(styleDeclaration);
-            }
-        }
-
-        // Also remember subjects that have pseudo-selectors to optimize
-        // styles during component state changes.
-        var pseudoCondition:String = styleDeclaration.getPseudoCondition();
-        if (pseudoCondition != null)
-        {
-            if (_pseudoCSSStates == null)
-                _pseudoCSSStates = {};
-
-            _pseudoCSSStates[pseudoCondition] = true;
-        }
-
-        // Record whether this is an advanced selector so that style declaration
-        // look up can be optimized for when no advanced selectors have been
-        // declared
-        if (styleDeclaration.isAdvanced())
-            _hasAdvancedSelectors = true;
-
-        // Flush cache and start over.
-        if (_typeSelectorCache)
-            _typeSelectorCache = {};
-
-        if (update)
-            styleDeclarationsChanged();
-    }
-
-    /**
-     *  Clears the CSSStyleDeclaration object that stores the rules
-     *  for the specified CSS selector.
-     *
-     *  <p>If the specified selector is a class selector (for example, ".bigMargins" or ".myStyle"),
-     *  you must be sure to start the
-     *  <code>selector</code> property with a period (.).</p>
-     *
-     *  <p>If the specified selector is a type selector (for example, "Button"), do not start the
-     *  <code>selector</code> property with a period.</p>
-     *
-     *  <p>The <code>global</code> selector is similar to a type selector
-     *  and does not start with a period.</p>
-     *
-     *  @param selector The name of the CSS selector to clear.
-     *  @param update Set to <code>true</code> to force an immediate update of the styles.
-     *  Set to <code>false</code> to avoid an immediate update of the styles in the application.
-     *  The styles will be updated the next time this method or the <code>setStyleDeclaration()</code> method is
-     *  called with the <code>update</code> property set to <code>true</code>.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function clearStyleDeclaration(selector:String,
-                                                 update:Boolean):void
-    {
-        var styleDeclaration:CSSStyleDeclaration =
-            getStyleDeclaration(selector);
-
-        if (styleDeclaration && styleDeclaration.selectorRefCount > 0)
-            styleDeclaration.selectorRefCount--;
-
-        // Clear out legacy selectors map
-        delete _selectors[selector];
-
-        // Clear out matching decls from our selectors stored by subject
-        var decls:Array;
-        var i:int;
-        var decl:CSSStyleDeclaration;
-
-        if (styleDeclaration && styleDeclaration.subject)
-        {
-            decls = _subjects[styleDeclaration.subject] as Array;
-            if (decls)
-            {
-                // Work from the back of the array so we can remove elements
-                // as we go.
-                for (i = decls.length - 1; i >= 0; i--)
-                {
-                    decl = decls[i];
-                    if (decl && decl.selectorString == selector)
-                    {
-                        if (decls.length == 1)
-                            delete _subjects[styleDeclaration.subject];
-                        else
-                            decls.splice(i, 1);
-                    }
-                }
-            }
-        }
-        else
-        {
-            // Without a subject, we start searching all declarations for this
-            // selector, clear out matching selectors if found and then assume
-            // this we can limit our search to this subject and stop looking.
-            var matchingSubject:Boolean = false;
-            for each (decls in _subjects)
-            {
-                if (decls)
-                {
-                    // Work from the back of the array so we can remove elements
-                    // as we go.
-                    for (i = decls.length - 1; i >= 0; i--)
-                    {
-                        decl = decls[i];
-                        if (decl && decl.selectorString == selector)
-                        {
-                            matchingSubject = true;
-                            if (decls.length == 1)
-                                delete _subjects[decl.subject];
-                            else
-                                decls.splice(i, 1);
-                        }
-                    }
-
-                    if (matchingSubject)
-                        break;
-                }
-            }
-        }
-
-        if (update)
-            styleDeclarationsChanged();
-    }
-
-    /**
-     *  @private
-     *  After an entire selector is added, replaced, or removed,
-     *  this method updates all the DisplayList trees.
-     */
-    public function styleDeclarationsChanged():void
-    {
-        var sms:Array /* of SystemManager */ =
-            SystemManagerGlobals.topLevelSystemManagers;
-        var n:int = sms.length;
-        for (var i:int = 0; i < n; i++)
-        {
-        	// Type as Object to avoid dependency on SystemManager or WindowedSystemManager
-            var sm:ISystemManager = sms[i];
-			var cm:Object = sm.getImplementation("mx.managers::ISystemManagerChildManager");
-            Object(cm).regenerateStyleCache(true);
-            Object(cm).notifyStyleChangeInChildren(null, true);
-        }
-    }
-
-    /**
-     *  Adds to the list of styles that can inherit values
-     *  from their parents.
-     *
-     *  <p><b>Note:</b> Ensure that you avoid using duplicate style names, as name
-     *  collisions can result in decreased performance if a style that is
-     *  already used becomes inheriting.</p>
-     *
-     *  @param styleName The name of the style that is added to the list of styles that can inherit values.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function registerInheritingStyle(styleName:String):void
-    {
-        if (_inheritingStyles[styleName] != true)
-        {
-            _inheritingStyles[styleName] = true;
-            mergedInheritingStylesCache = null;
-            
-            if (hasEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE))
-                dispatchInheritingStylesChangeEvent();
-        }
-    }
-
-    /**
-     *  Tests to see if a style is inheriting.
-     *
-     *  @param styleName The name of the style that you test to see if it is inheriting.
-     *
-     *  @return Returns <code>true</code> if the specified style is inheriting.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function isInheritingStyle(styleName:String):Boolean
-    {
-        if (mergedInheritingStylesCache)
-            return mergedInheritingStylesCache[styleName] == true;
-
-        if (_inheritingStyles[styleName] == true)
-            return true;
-        
-        if (parent && parent.isInheritingStyle(styleName))
-            return true;
-        
-        return false;
-    }
-
-    /**
-     *  Test to see if a TextFormat style is inheriting.
-     *
-     *  @param styleName The name of the style that you test to see if it is inheriting.
-     *
-     *  @return Returns <code>true</code> if the specified TextFormat style
-     *  is inheriting.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function isInheritingTextFormatStyle(styleName:String):Boolean
-    {
-        if (inheritingTextFormatStyles[styleName] == true)
-            return true;
-
-        if (parent && parent.isInheritingTextFormatStyle(styleName))
-            return true;
-
-        return false;
-    }
-
-    /**
-     *  Adds to the list of styles which may affect the measured size
-     *  of the component.
-     *  When one of these styles is set with <code>setStyle()</code>,
-     *  the <code>invalidateSize()</code> method is automatically called on the component
-     *  to make its measured size get recalculated later.
-     *
-     *  @param styleName The name of the style that you add to the list.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function registerSizeInvalidatingStyle(styleName:String):void
-    {
-        sizeInvalidatingStyles[styleName] = true;
-    }
-
-    /**
-     *  Tests to see if a style changes the size of a component.
-     *
-     *  <p>When one of these styles is set with the <code>setStyle()</code> method,
-     *  the <code>invalidateSize()</code> method is automatically called on the component
-     *  to make its measured size get recalculated later.</p>
-     *
-     *  @param styleName The name of the style to test.
-     *
-     *  @return Returns <code>true</code> if the specified style is one
-     *  which may affect the measured size of the component.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function isSizeInvalidatingStyle(styleName:String):Boolean
-    {
-        if (sizeInvalidatingStyles[styleName] == true)
-            return true;
-        
-        if (parent && parent.isSizeInvalidatingStyle(styleName))
-            return true;
-
-        return false;
-    }
-
-    /**
-     *  Adds to the list of styles which may affect the measured size
-     *  of the component's parent container.
-     *  <p>When one of these styles is set with <code>setStyle()</code>,
-     *  the <code>invalidateSize()</code> method is automatically called on the component's
-     *  parent container to make its measured size get recalculated
-     *  later.</p>
-     *
-     *  @param styleName The name of the style to register.
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function registerParentSizeIn

<TRUNCATED>

[34/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.bin.policy
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.bin.policy b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.bin.policy
deleted file mode 100644
index 72298f5..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.bin.policy
+++ /dev/null
@@ -1,93 +0,0 @@
-// -------------------------------------------------------------------------
-// Copyright 2002-2003 The Apache Software Foundation
-// 
-//    Licensed under the Apache License, Version 2.0 (the "License");
-//    you may not use this file except in compliance with the License.
-//    You may obtain a copy of the License at
-// 
-//        http://www.apache.org/licenses/LICENSE-2.0
-// 
-//    Unless required by applicable law or agreed to in writing, software
-//    distributed under the License is distributed on an "AS IS" BASIS,
-//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//    See the License for the specific language governing permissions and
-//    limitations under the License.
-// -------------------------------------------------------------------------
-
-grant codeBase "${app.jar.base}/lib/xerces_2_5_0.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/batik-squiggle.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-ext.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-dom.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-css.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-svg-dom.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-gvt.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-parser.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-script.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-bridge.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-swing.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-transcoder.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-gui-util.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-awt-util.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-util.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/batik-xml.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.jar.base}/lib/js.jar" {
-  permission java.lang.RuntimePermission "createClassLoader";
-  permission java.net.SocketPermission "*", "listen, connect, resolve, accept";
-  permission java.lang.RuntimePermission "accessDeclaredMembers";
-  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapter", "read";
-  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapterClassName", "read";
-  permission java.io.FilePermission "<<ALL FILES>>", "read";
-};
-
-grant {
-  permission java.io.FilePermission "lib/batik-svg-dom.jar", "read";
-};
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.policy
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.policy b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.policy
deleted file mode 100644
index 87cf846..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/svgbrowser.policy
+++ /dev/null
@@ -1,45 +0,0 @@
-// -------------------------------------------------------------------------
-// Copyright 2002-2003 The Apache Software Foundation
-// 
-//    Licensed under the Apache License, Version 2.0 (the "License");
-//    you may not use this file except in compliance with the License.
-//    You may obtain a copy of the License at
-// 
-//        http://www.apache.org/licenses/LICENSE-2.0
-// 
-//    Unless required by applicable law or agreed to in writing, software
-//    distributed under the License is distributed on an "AS IS" BASIS,
-//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-//    See the License for the specific language governing permissions and
-//    limitations under the License.
-// -------------------------------------------------------------------------
-
-grant codeBase "${app.dev.base}/classes/" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.dev.base}/lib/xerces_2_5_0.jar" {
-  permission java.security.AllPermission;
-};
-
-grant codeBase "${app.dev.base}/lib/js.jar" {
-  permission java.lang.RuntimePermission "createClassLoader";
-  permission java.net.SocketPermission "*", "listen, connect, resolve, accept";
-  permission java.lang.RuntimePermission "accessDeclaredMembers";
-  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapter", "read";
-  permission java.util.PropertyPermission "org.mozilla.javascript.JavaAdapterClassName", "read";
-  permission java.io.FilePermission "<<ALL FILES>>", "read";
-};
-
-grant {
-  permission java.io.FilePermission "resources/org/apache/batik/dom/svg/resources/svg10.dtd", "read";
-  permission java.io.FilePermission "resources/org/apache/batik/dom/svg/resources/UserAgentStyleSheet.css", "read";
-};
-
-
-
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userLanguagePref.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userLanguagePref.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userLanguagePref.gif
deleted file mode 100644
index 34bb03a..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userLanguagePref.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userStylesheetPref.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userStylesheetPref.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userStylesheetPref.gif
deleted file mode 100644
index 91b33be..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/userStylesheetPref.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomin.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomin.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomin.gif
deleted file mode 100644
index 5fcef4f..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomin.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomout.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomout.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomout.gif
deleted file mode 100644
index 5246870..0000000
Binary files a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgbrowser/resources/zoomout.gif and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgpp/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgpp/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgpp/resources/Messages.properties
deleted file mode 100644
index 6dba4bd..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/apps/svgpp/resources/Messages.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-# 
-# Copyright 2001-2003  The Apache Software Foundation 
-# 
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#     http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-#
-# The messages for the SVG pretty printer.
-#
-# Author: stephane@hillion.org
-#
-
-header = \
-\n\
-\tSVG pretty-printer - (C) Apache Software Foundation      \n\
-\t\thttp://xml.apache.org/batik\n
-
-syntax = \
-Syntax:\n\
-\tsvgpp [options] <input file> [<output file>]
-
-options = \
-Available Options:
-
-newline.description = \
--newline (cr | cr-lf | lf)\n\
-\tSpecifies the type of newline to output. Possible values are:\n\
-\tcr (mac), cr-lf (dos), lf (unix - the default).
-
-no-format.description = \
--no-format\n\
-\tDisables any formatting. Useful for doctype modifications,\n\
-\tnewline conversion, ...
-
-tab-width.description = \
--tab-width <number>\n\
-\tSets the tabulation width. The default is 4.
-
-doc-width.description = \
--doc-width <number>\n\
-\tSets the document preferred number of columns. The default is 80.
-
-doctype.description = \
--doctype (change | remove)\n\
-\tRemoves or changes the DOCTYPE declaration. 'change' is used \n\
-\tin conjonction with the '-public-id' and '-system-id' options.
-
-public-id.description = \
--public-id <string>\n\
-\tThe value to set to the public ID of the doctype.
-
-system-id.description = \
--system-id <string>\n\
-\tThe value to set to the system ID of the doctype.
-
-xml-decl.description = \
--xml-decl <string>\n\
-\tThe value to set to the XML declaraction.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/BrokenLink.svg
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/BrokenLink.svg b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/BrokenLink.svg
deleted file mode 100644
index 35b9bc4..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/BrokenLink.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
-   "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
-
-<!--
-   Copyright 2001-2003  The Apache Software Foundation 
-   
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-   
-       http://www.apache.org/licenses/LICENSE-2.0
-   
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-
-<svg viewBox="0 0 55.521 60.508" preserveAspectRatio="none"
-  xmlns="http://www.w3.org/2000/svg" 
-  xmlns:xlink="http://www.w3.org/1999/xlink"  >
-  <defs>
-    <g id="__Broken_Link_Border" style="stroke-width:0.2">
-      <path d="M21.927,58.088l4.999-6.834l-4.999-4.166l0.404-1.441l3.526-12.556l0.235-0.837l-2.489-3.268l-0.177-0.232l1.222-7.64c-0.656-0.432-1.607-0.455-2.575,0.15c-0.065,0.047-0.132,0.104-0.197,0.161c-0.379-0.118-0.806-0.078-1.253,0.162c0.737-0.991,1.604-2.324,2.37-3.884l-2.566-3.949l0.096-0.35l1.404-5.15l-1.151-6.167H1.927v56.333h19.798l0.202-0.333z"/>
-      <path d="M53.593,2.087h-24.11l-0.39,8.833l1.749,4.664l0.251,0.669l-0.124,0.965c0.061,0.173,0.13,0.331,0.21,0.468c-0.104,0.174-0.226,0.33-0.334,0.5l-0.585,4.567l0.072,1.644l0.261,5.856l-0.384,3.934l-0.283,2.9l2.875,6.468l0.459,1.032l-3.334,5.833l4,7.833l0.08,0.167h19.587V2.087z"/>
-    </g>
-  </defs>
-
-  <g style="fill-rule:nonzero; clip-rule:nonzero; stroke-miterlimit:4;">
-    <g style="stroke:none;">
-      <path style="stroke:black;fill:none;stroke-width:0.3" 
-        d="M55.371,60.358H0.15V0.15h55.221v60.208z"/>
-      <use xlink:href="#__Broken_Link_Border" fill="white" fill-opacity="0.5"/>
-      <path style="fill:#33CC33" 
-        d="M32.886,43.506c0.656-0.116,1.3-0.415,1.752-0.932c0.412-0.412,0.799-0.814,1.167-1.217c0.011,0.006,0.021,0.012,0.032,0.016c0.029-0.047,0.057-0.096,0.086-0.143c1.289-1.43,2.303-2.883,3.035-4.896c0.516-1.721-0.82-2.205-2.148-2.076c-0.212-1.113-1.281-1.869-2.893-1.283c-0.111,0.031-0.225,0.09-0.339,0.164c-0.809-0.396-2.029-0.135-2.78,0.314c-0.219,0.147-0.378,0.394-0.504,0.685l-0.282,2.9l2.874,6.468z"/>
-      <path style="fill:#33CC33" 
-        d="M21.198,37.293c-0.479,0.961-0.72,2.881,0.961,2.881c0.004,0.002,0.008,0,0.013,0.002c-0.304,0.807-0.617,1.613-0.974,2.398c-1.019,1.891-0.093,2.895,1.219,3.022l3.527-12.556c-1.904,1.104-3.428,2.277-4.746,4.252z"/>
-      <path style="fill:#6666FF" 
-        d="M24.734,21.065c-0.656-0.432-1.607-0.455-2.575,0.15c-0.065,0.047-0.132,0.104-0.197,0.161c-0.379-0.118-0.806-0.078-1.253,0.162c0.737-0.991,1.604-2.324,2.37-3.884l-2.566-3.949l0.096-0.35c-3.104,1.641-5.654,3.857-7.81,6.66c-0.72,0.96-1.92,2.88-0.96,4.319c0.619,1.034,2.126,0.464,2.993-0.327c-0.946,1.314-2.54,3.808-3.713,6.808c-0.96,2.4,0.479,4.799,2.88,3.119c1.376-0.951,2.7-1.955,3.942-3.023c0.134,0.188,0.406,0.115,0.857-0.336c0.221-0.221,0.44-0.445,0.661-0.668c0.672,0.652,1.843,0.77,2.938-0.053c0.061-0.09,0.136-0.168,0.203-0.252c0.35-0.127,0.725-0.373,1.088-0.665l-0.177-0.232l1.222-7.64z"/>
-      <path style="fill:#FF0000" 
-        d="M31.054,17.17c0.061,0.173,0.13,0.331,0.21,0.468c-0.104,0.174-0.226,0.33-0.334,0.5l-0.585,4.567l0.073,1.644c0.423,0.282,0.97,0.352,1.579-0.015c0.227-0.129,0.439-0.273,0.658-0.412c0.451,0.664,1.158,1.001,1.982,0.412c0.153-0.092,0.306-0.176,0.459-0.266c-0.298,1.618-0.162,3.473,1.434,3.401c0.37,0.98,1.139,1.785,2.188,1.186c1.439-0.959,2.879-1.92,4.32-2.879c1.439-0.721,2.158-2.641,1.92-4.321c0-1.08-0.977-2.341-2.223-2.058c0.021-0.034,0.041-0.068,0.063-0.103c0.719-1.199,1.199-2.64,0.719-4.079c-0.24-0.96-1.439-1.921-2.398-1.2c-1.075,0.645-2.147,1.24-3.201,1.832c-0.16-0.339-0.371-0.642-0.618-0.871c0.073-0.16,0.144-0.32,0.218-0.481c0.48-1.2,0.721-6-1.92-4.56c-1.199,0.72-2.16,1.439-3.119,2.399c-0.829,0.829-1.417,2.001-1.551,3.201l0.251,0.669l-0.124,0.965z"/>
-      <use xlink:href="#__Broken_Link_Border" 
-        fill="none" stroke="black"/>
-    </g>
-    <g id="__More_About">
-      <circle style="fill:#FFFF66;fill-opacity:0.7;stroke:black;stroke-width:0.6;" 
-        cx="48.4" cy="53.25" r="3.5"/>
-      <path style="fill:black;stroke:none;" d="M48.942,54.758c0,0.126,0,0.461,0.074,0.558c0.082,0.112,0.275,0.134,0.394,0.134v0.238c-0.297-0.007-0.602-0.022-0.914-0.029c-0.335,0.007-0.662,0.022-0.997,0.029v-0.238c0.119,0,0.313-0.022,0.395-0.134c0.074-0.097,0.074-0.431,0.074-0.558v-1.286c0-0.446-0.082-0.61-0.476-0.602v-0.246c0.483-0.037,0.959-0.104,1.45-0.223v2.356z M47.805,51.212c0-0.313,0.253-0.565,0.565-0.565c0.32,0,0.55,0.253,0.55,0.565c0,0.319-0.26,0.55-0.572,0.55c-0.283,0-0.543-0.268-0.543-0.55z"/>
-    </g>
-  </g>
-</svg>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/Messages.properties
index b8dcbcd..92b1ab3 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/Messages.properties
@@ -1,18 +1,22 @@
-# 
-# Copyright 2001-2003  The Apache Software Foundation 
-# 
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#     http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# -----------------------------------------------------------------------------
 #
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 attribute.missing = \
 {0}:{1}\n\
@@ -22,13 +26,22 @@ attribute.malformed = \
 {0}:{1}\n\
 The attribute "{3}" of the element <{2}> is invalid
 
+attribute.not.animatable = \
+{0}:{1}\n\
+The attribute "{4}" of the element <{3}> is not animatable
+
+type.not.animatable = \
+{0}:{1}\n\
+The attribute "{4}" of the element <{3}> cannot be animated with the \
+<{5}> element
+
 length.negative = \
 {0}:{1}\n\
-The attribute "{3}" of the element <{2}> can not be negative
+The attribute "{3}" of the element <{2}> cannot be negative
 
 css.length.negative = \
 {0}:{1}\n\
-The CSS property "{3}" found on the element <{2}> can not be negative
+The CSS property "{3}" found on the element <{2}> cannot be negative
 
 css.uri.badTarget = \
 {0}:{1}\n\
@@ -49,8 +62,7 @@ uri.badTarget = \
 {0}:{1}\n\
 Cannot find the referenced element:\n\
 "{3}"\n\
-specified on the element <{2}> - may be a problem of 'id'
-
+specified on the element <{2}> - may be a problem of ''id''
 
 uri.io = \
 {0}:{1}\n\
@@ -76,8 +88,15 @@ uri.image.invalid = \
 The URI "{3}"\n\
 specified on the element <{2}> is invalid
 
-broken.link.title = \
-Broken Link:
+uri.image.broken = \
+{0}:{1}\n\
+The URI "{3}"\n\
+on element <{2}> can''t be opened because:\n\
+{4}
+
+uri.image.error = \
+The URI can''t be opened:\n\
+{0}
 
 ##########################################################################
 # Messages for DefaultScriptSecurity
@@ -116,3 +135,6 @@ Inline {1} {0}:{2}
 
 BaseScriptingEnvironment.constant.event.script.description = \
 Event attribute {0}:{2} {1}
+
+SVG12ScriptingEnvironment.constant.handler.script.description = \
+Handler {0}:{3} {1} {2}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/help.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/help.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/help.gif
new file mode 100644
index 0000000..6a5de8c
Binary files /dev/null and b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/help.gif differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/move.gif
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/move.gif b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/move.gif
new file mode 100644
index 0000000..90bb091
Binary files /dev/null and b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/bridge/resources/move.gif differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/resources/Messages.properties
index 4a73c27..8081e3a 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/resources/Messages.properties
@@ -1,22 +1,22 @@
-# 
-# Copyright 2001-2003  The Apache Software Foundation 
-# 
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#     http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# -----------------------------------------------------------------------------
 #
-
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
 #
-# $Id: Messages.properties,v 1.3 2004/10/30 16:54:53 deweese Exp $
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 syntax.error.at = \
 {0}:\nInvalid CSS document.\n{1}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/value/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/value/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/value/resources/Messages.properties
index d20e579..fe2da25 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/value/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/engine/value/resources/Messages.properties
@@ -1,18 +1,22 @@
-# 
-# Copyright 2001-2003  The Apache Software Foundation 
-# 
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#     http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# -----------------------------------------------------------------------------
 #
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 invalid.access = \
 The invoked method is not enabled for the "{0}" property.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/parser/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/parser/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/parser/resources/Messages.properties
index 84fd36b..7d3639c 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/parser/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/css/parser/resources/Messages.properties
@@ -1,27 +1,25 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
 #
-# The error messages for the CSS parser.
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
-# Author: stephane@hillion.org
+#       http://www.apache.org/licenses/LICENSE-2.0
 #
-
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
-#  This file was modified by Adobe Flex.
+# The error messages for the CSS parser.
 #
+# Author: stephane@hillion.org
+# $Id: Messages.properties 569967 2007-08-27 02:54:20Z cam $
+# -----------------------------------------------------------------------------
 
 charset.string = \
 A string was expected in a @charset rule.
@@ -38,31 +36,17 @@ Unexpected end of file.
 eof.expected = \
 End of file expected.
 
-# Modified by Flex
 character = \
-Unexpected character: {0}.
+Unexpected character.
 
 string.or.uri = \
 String or URI expected.
 
-# Added by Flex
-prefix.or.namespace = \
-String representing a namespace prefix or namespace URI expected.
-
-# Added by Flex
-namespace = \
-Namespace URI String expected.
-
-# Added by Flex
-unresolved.namespace = \
-Namespace not found.
-
 identifier = \
 Identifier expected.
 
 identifier.character = \
-# Modified by Apache Flex
-Invalid identifier start character: {0}.
+Invalid identifier start character.
 
 identifier.or.string = \
 Identifier or string expected.
@@ -70,10 +54,6 @@ Identifier or string expected.
 left.curly.brace = \
 '{' expected.
 
-# Added by Flex
-left.brace = \
-'(' expected.
-
 right.curly.brace = \
 '}' expected.
 
@@ -83,10 +63,6 @@ right.brace = \
 right.bracket = \
 ']' expected.
 
-# Added by Flex
-space = \
-whitespace expected.
-
 token = \
 Unexpected token: {0} (see LexicalUnits).
 
@@ -102,6 +78,9 @@ Invalid number.
 duplicate.pseudo.element = \
 A pseudo element has already been defined.
 
+pseudo.element.position = \
+Pseudo element cannot occur before the end of the selector.
+
 pseudo.function = \
 Invalid pseudo-function.
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/resources/Messages.properties
index 330f7b5..da6ac5b 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/resources/Messages.properties
@@ -1,27 +1,35 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The error messages for DOM.
 #
 # Author: Stephane Hillion
-#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 add.ancestor = \
 Cannot add the given node as a child of the current node (type: {0}, \
-name: {1}) since it is an ancestor of this one.
+name: {1}) since it is an ancestor of (or the same as) this one.
+
+import.document = \
+A Document node cannot be imported.
+
+import.document.type = \
+A DocumentType node cannot be imported.
 
 add.self = \
 Cannot add a node as a child of it's self (name: {1})
@@ -29,9 +37,15 @@ Cannot add a node as a child of it's self (name: {1})
 attribute.missing = \
 The "{0}" attribute was not found.
 
+attribute.missing.ns = \
+The \{{0}, {1}\} attribute was not found.
+
 attribute.value = \
 The given attribute value "{0}" is invalid.
 
+cdata.section.split = \
+A CDATA section was split.
+
 child.missing = \
 The child node (type: {0}, name: {1}) is missing.
 
@@ -46,9 +60,22 @@ cloning.error = \
 An error occured while cloning a node (type: {0}, name: {1}). \
 The original error message was: "{2}".
 
+document.child.already.exists = \
+The node (type: {0}, name: {1}) cannot be inserted, since the document \
+node already has a node of type {0}.
+
 detached.iterator = \
 The iterator was detached from the document.
 
+domconfig.param.not.found = \
+The requested DOMConfiguration parameter "{0}" was not found.
+
+domconfig.param.type = \
+Invalid type when setting DOMConfiguration parameter "{0}".
+
+domconfig.param.value = \
+Unsupported value when setting DOMConfiguration parameter "{0}".
+
 import.node = \
 Cannot import node.
 
@@ -65,6 +92,9 @@ The current document is unable to create an element of the requested type \
 inuse.attribute = \
 The given attribute "{0}" is already in use.
 
+unspecified.event = \
+Event type was not specified before dispatch.
+
 namespace = \
 The invoked method requires the current node (type: {0}, name: {1}) to be \
 placed in a non-anonymous namespace.
@@ -104,11 +134,48 @@ The current node (type: {0}, name: {1}) cannot have parent.
 prefix = \
 The prefix "{2}" is invalid. Current node type: {0}, name: {1}.
 
+qname = \
+The QName "{2}" is invalid. Current node type: {0}, name: {1}.
+
 readonly.node = \
 The current node (type: {0}, name: {1}) is read-only.
 
+rename.document.element = \
+Cannot rename the document element.
+
+rename.node = \
+The current node (type: {0}, name: {1}) cannot be renamed.
+
 sibling.not.allowed = \
 The current node (type: {0}, name: {1}) cannot have siblings.
 
+unsupported.event = \
+The event object was not created with DocumentEvent.createEvent() or does not \
+support the CustomEvent interface.
+
+wf.invalid.character = \
+Invalid character found in node content (type: {0}, name: {1}): "{2}".
+
+wf.invalid.name = \
+Invalid character found in node name {0}.
+
+xml.version = \
+XML version {0} is not supported.
+
 xml.name = \
 The given name ("{0}") is an invalid XML name.
+
+xpath.invalid.expression = \
+Invalid XPath expression ({0}): "{1}".
+
+xpath.invalid.context.node = \
+Invalid context node (type: {0}, name: {1}) for XPath evaluation.
+
+xpath.invalid.result.type = \
+Invalid XPath result type {0}.
+
+xpath.cannot.convert.result = \
+Cannot convert result of XPath evaluation to type {0}: "{1}".
+
+xpath.error = \
+Error evaluationg XPath expression ({0}): "{1}".

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/Messages.properties
index 183b4a1..9c0c566 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/Messages.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2000-2003  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,10 +15,10 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The error message for SVG DOM.
 #
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 id.name = \
 "{0}" represents an invalid ID name for SVG.
@@ -25,8 +26,17 @@ id.name = \
 stylesheet.type = \
 "{0}" represents an unsupported stylesheet type.
 
-zoom.and.pane = \
-The given value ({0}) represents an invalid SVGZoomAndPane value.
+zoom.and.pan = \
+The given value ({0}) represents an invalid SVGZoomAndPan value.
+
+preserve.aspect.ratio = \
+The given value ({0}) represents an invalid SVGPreserveAspectRatio value.
+
+preserve.aspect.ratio.align = \
+The given value ({0}) represents an invalid SVGPreserveAspectRatio align value.
+
+preserve.aspect.ratio.meet.or.slice = \
+The given value ({0}) represents an invalid SVGPreserveAspectRatio meet-or-slice value.
 
 index.out.of.bounds = \
 The given index ({0}) is out of bounds.
@@ -38,7 +48,7 @@ css.parser.class = \
 The CSS parser class {0} cannot be found.
 
 css.parser.creation = \
-The CSS parser class '{0}' cannot be instanciated.
+The CSS parser class '{0}' cannot be instantiated.
 
 css.parser.access = \
 The CSS parser class '{0}' cannot be accessed.
@@ -46,9 +56,44 @@ The CSS parser class '{0}' cannot be accessed.
 noninvertiblematrix = \
 The matrix is not invertible.
 
-readonly.rect = \
-This SVGRect is readonly.
+readonly.length = \
+This SVGLength is readonly.
+
+readonly.length.list = \
+This SVGLength is readonly.
+
+readonly.pathseg.list = \
+This SVGPathSegList is readonly.
+
+readonly.transform.list = \
+This SVGTransformList is readonly.
+
+readonly.preserve.aspect.ratio = \
+This SVGPreserveAspectRatio is readonly.
 
 readonly.point = \
 This SVGPoint is readonly.
 
+readonly.point.list = \
+This SVGPointList is readonly.
+
+readonly.rect = \
+This SVGRect is readonly.
+
+readonly.angle = \
+This SVGAngle is readonly.
+
+animation.dur.indefinite = \
+The simple duration of the animation element is indefinite.
+
+expected.point = \
+Expected an object of type SVGPoint.
+
+expected.length = \
+Expected an object of type SVGLength.
+
+expected.transform = \
+Expected an object of type SVGTransform.
+
+invalid.suspend.handle = \
+Invalid suspend handle ID {0}.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/UserAgentStyleSheet.css
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/UserAgentStyleSheet.css b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/UserAgentStyleSheet.css
index 19ea78e..270d01d 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/UserAgentStyleSheet.css
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/UserAgentStyleSheet.css
@@ -1,19 +1,22 @@
 /*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
  *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
  */
+
 /*
  * The default SVG style sheet.
  */

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/dtdids.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/dtdids.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/dtdids.properties
index 409d6fe..a6e9bfe 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/dtdids.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/dtdids.properties
@@ -1,10 +1,11 @@
-###############################################################################
+# -----------------------------------------------------------------------------
 #
-#   Copyright 2001-2003  The Apache Software Foundation 
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
 #
 #       http://www.apache.org/licenses/LICENSE-2.0
 #
@@ -14,11 +15,11 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 #
-###############################################################################
-#
 # The publicIds property represents the list of SVG DTD IDs supported by
 # this SVG DOMImplementation.
 #
+# $Id: dtdids.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 publicIds = \
     -//W3C//DTD SVG 1.0//EN\

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animation.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animation.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animation.mod
index 7fd4b78..b540fd0 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animation.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animation.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-animation.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-animation.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animevents-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animevents-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animevents-attrib.mod
index f3db225..74e304c 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animevents-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-animevents-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-animevents-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-animevents-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-clip.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-clip.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-clip.mod
index 354070d..ffd7bb0 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-clip.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-clip.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-clip.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-clip.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-filter.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-filter.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-filter.mod
index 789e4a5..a17f674 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-filter.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-filter.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-filter.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-filter.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-font.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-font.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-font.mod
index 0b5510a..cd45b9a 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-font.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-font.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-font.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-font.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-graphics-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-graphics-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-graphics-attrib.mod
index d69fb99..75350bd 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-graphics-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-graphics-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-graphics-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-graphics-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-structure.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-structure.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-structure.mod
index 9db9359..7b597cc 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-structure.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-structure.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-structure.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-structure.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-text.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-text.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-text.mod
index bd76db8..7762373 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-text.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-basic-text.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-basic-text.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-basic-text.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-clip.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-clip.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-clip.mod
index aca7f28..989db97 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-clip.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-clip.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-clip.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-clip.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-conditional.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-conditional.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-conditional.mod
index 9d74a02..4e13ddb 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-conditional.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-conditional.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-conditional.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-conditional.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-container-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-container-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-container-attrib.mod
index 8bce57d..dd875e4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-container-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-container-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-container-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-container-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-core-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-core-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-core-attrib.mod
index 232dbb5..190a51f 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-core-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-core-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-core-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-core-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-cursor.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-cursor.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-cursor.mod
index 01bf447..7802e54 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-cursor.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-cursor.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-cursor.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-cursor.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-datatypes.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-datatypes.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-datatypes.mod
index b8d4eab..b7d05be 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-datatypes.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-datatypes.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-datatypes.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-datatypes.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-docevents-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-docevents-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-docevents-attrib.mod
index be5329e..5592783 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-docevents-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-docevents-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-docevents-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-docevents-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extensibility.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extensibility.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extensibility.mod
index dac8b34..bbe7186 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extensibility.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extensibility.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-extensibility.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-extensibility.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extresources-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extresources-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extresources-attrib.mod
index 1a87738..4f41864 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extresources-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-extresources-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-extresources-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-extresources-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-filter.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-filter.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-filter.mod
index 40daf96..c6427c4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-filter.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-filter.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-filter.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-filter.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-font.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-font.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-font.mod
index d8fa036..59b0b76 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-font.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-font.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-font.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-font.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-framework.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-framework.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-framework.mod
index b8eb017..f6fa0b5 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-framework.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-framework.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-framework.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-framework.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-gradient.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-gradient.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-gradient.mod
index 3552175..6353b01 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-gradient.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-gradient.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-gradient.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-gradient.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphevents-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphevents-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphevents-attrib.mod
index 9ca5ff1..d03addc 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphevents-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphevents-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-graphevents-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-graphevents-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphics-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphics-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphics-attrib.mod
index 9fcd60a..76dacf4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphics-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-graphics-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-graphics-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-graphics-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-hyperlink.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-hyperlink.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-hyperlink.mod
index 32503f0..2614c9d 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-hyperlink.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-hyperlink.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-hyperlink.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-hyperlink.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-image.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-image.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-image.mod
index 7ce282d..aa90313 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-image.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-image.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-image.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-image.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-marker.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-marker.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-marker.mod
index 902ad63..ad3ba4e 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-marker.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-marker.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-marker.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-marker.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-mask.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-mask.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-mask.mod
index 185abba..0afe8aa 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-mask.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-mask.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-mask.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-mask.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-opacity-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-opacity-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-opacity-attrib.mod
index 36b705b..fae12c7 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-opacity-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-opacity-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-opacity-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-opacity-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-paint-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-paint-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-paint-attrib.mod
index edd7362..a4db4c3 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-paint-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-paint-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-paint-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-paint-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-pattern.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-pattern.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-pattern.mod
index a92ce7b..39d682a 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-pattern.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-pattern.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-pattern.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-pattern.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-profile.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-profile.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-profile.mod
index 07106e8..519b70b 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-profile.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-profile.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-profile.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-profile.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-qname.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-qname.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-qname.mod
index 1388abc..933c974 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-qname.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-qname.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-qname.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-qname.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-script.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-script.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-script.mod
index 72ef02b..68f9e52 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-script.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-script.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-script.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-script.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-shape.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-shape.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-shape.mod
index 871df53..f4afc2d 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-shape.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-shape.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-shape.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-shape.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-structure.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-structure.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-structure.mod
index 773532c..d43a798 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-structure.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-structure.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-structure.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-structure.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-style.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-style.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-style.mod
index ea907f9..79fe614 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-style.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-style.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-style.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-style.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-text.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-text.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-text.mod
index 7f3c6af..59c4329 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-text.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-text.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-text.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-text.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-view.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-view.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-view.mod
index f30715a..0448817 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-view.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-view.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-view.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-view.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-viewport-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-viewport-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-viewport-attrib.mod
index 43b0213..6289ec6 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-viewport-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-viewport-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-viewport-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-viewport-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-xlink-attrib.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-xlink-attrib.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-xlink-attrib.mod
index 7b41248..5845a65 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-xlink-attrib.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg-xlink-attrib.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg-xlink-attrib.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg-xlink-attrib.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 


[60/62] [abbrv] git commit: [flex-sdk] [refs/heads/release4.11.0] - Revert "Merge Apache Flex 4.10 into trunk"

Posted by jm...@apache.org.
Revert "Merge Apache Flex 4.10 into trunk"

This reverts commit 1a4946a90099d312c9a3468c34927569542367e4, reversing
changes made to 97bedf755c9220026a3139730645e1bdfa5ab677.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/4f206356
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/4f206356
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/4f206356

Branch: refs/heads/release4.11.0
Commit: 4f20635628acdc09e8739c5f94ec644d20cbd959
Parents: 1a4946a
Author: Justin Mclean <jm...@apache.org>
Authored: Mon Jul 29 01:13:35 2013 +1000
Committer: Justin Mclean <jm...@apache.org>
Committed: Mon Jul 29 01:13:35 2013 +1000

----------------------------------------------------------------------
 .../apache/bundles/fr_AR/apache.properties      |  18 ----
 .../bundles/fr_AR/experimental.properties       |  18 ----
 .../components/gridClasses/GridSelection.as     |   4 +-
 frameworks/projects/textLayout/build.xml        |   1 -
 .../AIR_WindowedApplication_Properties.mxml     |  19 ----
 ...IR_WindowedApplication_Properties_Spark.mxml |  19 ----
 .../baselines/height_test3_SparkChrome.png      | Bin 80 -> 80 bytes
 .../baselines/height_test3_SparkChrome_mac.png  | Bin 80 -> 80 bytes
 .../height_test3_windowedApplicationSkin.png    | Bin 74 -> 74 bytes
 .../height_test4_windowedApplicationSkin.png    | Bin 346 -> 346 bytes
 .../height_test5_windowedApplicationSkin.png    | Bin 570 -> 570 bytes
 .../height_test6_windowedApplicationSkin.png    | Bin 525 -> 524 bytes
 .../height_test7_windowedApplicationSkin.png    | Bin 597 -> 591 bytes
 .../maximizable_false_test4_SparkChrome_mac.png | Bin 259 -> 286 bytes
 .../baselines/status_test2_systemChrome.png     | Bin 319 -> 319 bytes
 .../titleBar_test10_SparkChrome_mac.png         | Bin 259 -> 286 bytes
 .../titleBar_test3_SparkChrome_mac.png          | Bin 260 -> 288 bytes
 .../titleBar_test4_SparkChrome_mac.png          | Bin 241 -> 263 bytes
 .../titleBar_test5_SparkChrome_mac.png          | Bin 265 -> 292 bytes
 .../titleBar_test6_SparkChrome_mac.png          | Bin 263 -> 297 bytes
 .../titleBar_test7_SparkChrome_mac.png          | Bin 245 -> 271 bytes
 .../titleBar_test8_SparkChrome_mac.png          | Bin 273 -> 304 bytes
 .../titleBar_test9a_SparkChrome_mac.png         | Bin 259 -> 286 bytes
 .../titleBar_test9b_SparkChrome_mac.png         | Bin 260 -> 288 bytes
 .../titleBar_test9c_SparkChrome_mac.png         | Bin 263 -> 297 bytes
 .../Window/styles/baselines/skinClass_test1.png | Bin 452 -> 451 bytes
 .../Window/styles/baselines/skinClass_test4.png | Bin 452 -> 451 bytes
 .../properties/wa_properties_height_tests.mxml  |   2 +-
 .../BubbleSeries_sameAxis_diffRenderers.png     | Bin
 ...CandlestickSeries_sameAxis_diffRenderers.png | Bin
 .../ColumnSeries_sameAxis_diffRenderers.png     | Bin
 .../HLOCSeries_sameAxis_diffRenderers.png       | Bin
 .../LineSeries_sameAxis_diffRenderers.png       | Bin
 .../LineSeries_selectionMode_Multiple.png       | Bin
 .../LineSeries_selectionMode_Single.png         | Bin
 .../PieSeries_selectionMode_Multiple.png        | Bin
 .../Baselines/PieSeries_selectionMode_None.png  | Bin
 .../PieSeries_selectionMode_Single.png          | Bin
 .../Baselines/PlotSeries_axisAtSeriesLevel.png  | Bin
 .../PlotSeries_sameAxis_diffRenderers.png       | Bin
 .../Border/Properties/Border_Properties.mxml    |   4 +-
 .../ActionBar_ViewNavigator_Properties.mxml     |   2 +-
 ...temRendererFunction_test1@android_240ppi.png | Bin 487 -> 506 bytes
 .../properties/Label_Properties_tester1.mxml    |   6 +-
 .../properties/Label_Properties_tester2.mxml    |   2 +-
 .../baselines/Label_minWidth_5@240ppi.png       | Bin 88 -> 93 bytes
 .../baselines/Label_width_10@240ppi.png         | Bin 110 -> 117 bytes
 ...nds_blend_darken_radialgradient_fill@win.png | Bin 29220 -> 0 bytes
 ...blend_difference_radialgradient_fill@win.png | Bin 29149 -> 0 bytes
 ..._blend_hardlight_radialgradient_fill@win.png | Bin 25133 -> 0 bytes
 ...ends_blend_layer_radialgradient_fill@win.png | Bin 29220 -> 0 bytes
 ...s_blend_multiply_radialgradient_fill@win.png | Bin 29220 -> 0 bytes
 ...nds_blend_normal_radialgradient_fill@win.png | Bin 29220 -> 0 bytes
 ...s_blend_subtract_radialgradient_fill@win.png | Bin 29149 -> 0 bytes
 .../baselines/doc_structure_graphic_def@win.png | Bin 31759 -> 0 bytes
 .../baselines/doc_structure_library_def@win.png | Bin 27262 -> 0 bytes
 ...adial_gradient_fill_path_focal_point@win.png | Bin 46826 -> 0 bytes
 ...ial_gradient_fill_path_interpolation@win.png | Bin 50103 -> 0 bytes
 ...ent_radial_gradient_fill_path_matrix@win.png | Bin 11947 -> 0 bytes
 ...nt_radial_gradient_fill_path_spread2@win.png | Bin 30643 -> 0 bytes
 ...ent_radial_gradient_fill_path_spread@win.png | Bin 52767 -> 0 bytes
 ...dial_gradient_fill_shape_focal_point@win.png | Bin 37978 -> 0 bytes
 ...al_gradient_fill_shape_interpolation@win.png | Bin 43504 -> 0 bytes
 ...nt_radial_gradient_fill_shape_matrix@win.png | Bin 10215 -> 0 bytes
 ...nt_radial_gradient_fill_shape_spread@win.png | Bin 53505 -> 0 bytes
 .../baselines/filters_bevelfilter3@win.png      | Bin 19983 -> 0 bytes
 .../baselines/filters_blurfilter@win.png        | Bin 81394 -> 0 bytes
 .../baselines/filters_filters_group@win.png     | Bin 24862 -> 0 bytes
 .../baselines/filters_filters_transform@win.png | Bin 41206 -> 0 bytes
 .../baselines/filters_glowfilter3@win.png       | Bin 11192 -> 0 bytes
 .../filters_gradientglowfilter3@win.png         | Bin 12340 -> 0 bytes
 .../filters_hue_colormatrixfilter4@win.png      | Bin 25395 -> 0 bytes
 ...filters_luminance_colormatrixfilter4@win.png | Bin 21821 -> 0 bytes
 ...ilters_saturation_colormatrixfilter4@win.png | Bin 28619 -> 0 bytes
 .../properties/baselines/mask_clip_mask@win.png | Bin 48695 -> 0 bytes
 ...ial_gradient_stroke_path_focal_point@win.png | Bin 35733 -> 0 bytes
 ...l_gradient_stroke_path_interpolation@win.png | Bin 37723 -> 0 bytes
 ...e_radial_gradient_stroke_path_matrix@win.png | Bin 14679 -> 0 bytes
 ...e_radial_gradient_stroke_path_spread@win.png | Bin 63610 -> 0 bytes
 ...al_gradient_stroke_shape_focal_point@win.png | Bin 27206 -> 0 bytes
 ..._gradient_stroke_shape_interpolation@win.png | Bin 29508 -> 0 bytes
 ..._radial_gradient_stroke_shape_matrix@win.png | Bin 17790 -> 0 bytes
 ..._radial_gradient_stroke_shape_spread@win.png | Bin 82818 -> 0 bytes
 .../core/fxg/properties/fxgtemplate_masks.mxml  |   4 +-
 .../core/fxg/properties/fxgtemplate_tester.mxml | 104 +++++--------------
 .../properties/FXG_Ellipse_Mirroring.mxml       |   8 +-
 .../properties/FXG_Ellipse_PropertiesAS.mxml    |  52 +++-------
 ...G_Ellipse_RadialGradientStroke_fillX@win.png | Bin 3352 -> 0 bytes
 ...G_Ellipse_RadialGradientStroke_fillY@win.png | Bin 3925 -> 0 bytes
 ...Ellipse_RadialGradientStroke_strokeX@win.png | Bin 3350 -> 0 bytes
 ...Ellipse_RadialGradientStroke_strokeY@win.png | Bin 4121 -> 0 bytes
 ..._Ellipse_RadialGradientStroke_xy_0_0@win.png | Bin 3626 -> 0 bytes
 ...Ellipse_RadialGradientStroke_xy_0_20@win.png | Bin 3675 -> 0 bytes
 ...Ellipse_RadialGradientStroke_xy_20_0@win.png | Bin 3698 -> 0 bytes
 ...RadialGradientStroke_xy_fillRotation@win.png | Bin 4430 -> 0 bytes
 ...dialGradientStroke_xy_strokeRotation@win.png | Bin 4213 -> 0 bytes
 ...otation_matrix_onRadialGradient_fill@win.png | Bin 3091 -> 0 bytes
 ...ation_matrix_onRadialGradient_stroke@win.png | Bin 2779 -> 0 bytes
 ...ipse_XY_matrix_onRadialGradient_fill@win.png | Bin 3939 -> 0 bytes
 ...se_XY_matrix_onRadialGradient_stroke@win.png | Bin 3870 -> 0 bytes
 ...tionRTL_RadialGradientStroke_strokeY@win.png | Bin 4122 -> 0 bytes
 ...tionRTL_RadialGradientStroke_xy_0_20@win.png | Bin 3676 -> 0 bytes
 .../Rect/properties/FXG_Rect_PropertiesAS.mxml  |  52 +++-------
 .../FXG_Rect_RadialGradientStroke_fillX@win.png | Bin 2518 -> 0 bytes
 .../FXG_Rect_RadialGradientStroke_fillY@win.png | Bin 3175 -> 0 bytes
 ...XG_Rect_RadialGradientStroke_strokeX@win.png | Bin 2943 -> 0 bytes
 ...XG_Rect_RadialGradientStroke_strokeY@win.png | Bin 3382 -> 0 bytes
 ...FXG_Rect_RadialGradientStroke_xy_0_0@win.png | Bin 2925 -> 0 bytes
 ...XG_Rect_RadialGradientStroke_xy_0_20@win.png | Bin 2966 -> 0 bytes
 ...XG_Rect_RadialGradientStroke_xy_20_0@win.png | Bin 2971 -> 0 bytes
 ...RadialGradientStroke_xy_fillRotation@win.png | Bin 4080 -> 0 bytes
 ...dialGradientStroke_xy_strokeRotation@win.png | Bin 3630 -> 0 bytes
 ...otation_matrix_onRadialGradient_fill@win.png | Bin 2217 -> 0 bytes
 ...ation_matrix_onRadialGradient_stroke@win.png | Bin 2426 -> 0 bytes
 ...Rect_XY_matrix_onRadialGradient_fill@win.png | Bin 3765 -> 0 bytes
 ...ct_XY_matrix_onRadialGradient_stroke@win.png | Bin 3614 -> 0 bytes
 116 files changed, 64 insertions(+), 251 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/frameworks/projects/apache/bundles/fr_AR/apache.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/apache/bundles/fr_AR/apache.properties b/frameworks/projects/apache/bundles/fr_AR/apache.properties
deleted file mode 100644
index 29940f7..0000000
--- a/frameworks/projects/apache/bundles/fr_AR/apache.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
----------------------------------------------------------------------
diff --git a/frameworks/projects/experimental/bundles/fr_AR/experimental.properties b/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
deleted file mode 100644
index 29940f7..0000000
--- a/frameworks/projects/experimental/bundles/fr_AR/experimental.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-################################################################################
-##
-##  Licensed to the Apache Software Foundation (ASF) under one or more
-##  contributor license agreements.  See the NOTICE file distributed with
-##  this work for additional information regarding copyright ownership.
-##  The ASF licenses this file to You under the Apache License, Version 2.0
-##  (the "License"); you may not use this file except in compliance with
-##  the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-##  Unless required by applicable law or agreed to in writing, software
-##  distributed under the License is distributed on an "AS IS" BASIS,
-##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-##  See the License for the specific language governing permissions and
-##  limitations under the License.
-##
-################################################################################

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as b/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
index 88d01c6..bc28723 100644
--- a/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
+++ b/frameworks/projects/spark/src/spark/components/gridClasses/GridSelection.as
@@ -1389,7 +1389,7 @@ public class GridSelection
         var selectionChanged:Boolean = false;
         
         const oldRowIndex:int = event.oldLocation;
-        var newRowIndex:int = event.location;
+        const newRowIndex:int = event.location;
         
         selectionChanged = handleRowRemove(oldRowIndex);
         
@@ -1664,7 +1664,7 @@ public class GridSelection
             return false;
 
         const oldColumnIndex:int = event.oldLocation;
-        var newColumnIndex:int = event.location;
+        const newColumnIndex:int = event.location;
         
         var selectionChanged:Boolean = handleColumnRemove(oldColumnIndex);
         

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/frameworks/projects/textLayout/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/textLayout/build.xml b/frameworks/projects/textLayout/build.xml
index 7a2fb90..5dacbc9 100644
--- a/frameworks/projects/textLayout/build.xml
+++ b/frameworks/projects/textLayout/build.xml
@@ -25,7 +25,6 @@
 	<property file="${FLEX_HOME}/local.properties"/>
 	<property file="${FLEX_HOME}/build.properties"/>
 
-    <property name="source.dir" value="${basedir}/${tlf.version}"/>
 	<property name="output.file" value="${FLEX_HOME}/frameworks/libs/textLayout.swc"/>
 	<property name="output.docs" value="${FLEX_HOME}/tempDoc"/>
 	<property name="flexTasks.location" value="${FLEX_HOME}/lib/flexTasks.jar"/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
index 4db95ab..9dcff76 100644
--- a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
+++ b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties.mxml
@@ -97,14 +97,6 @@
 				<AssertPropertyValue target="" propertyName="height" value="34" />
 			</body>
 		</TestCase>
-		<TestCase testID="Window_Property_height_negative_win" keywords="[Window,property, height]">
-			<setup>
-				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
-			</setup>
-			<body>
-				<AssertPropertyValue target="" propertyName="height" value="38" />
-			</body>
-		</TestCase>
 		
 		<TestCase testID="Window_Property_maxHeight_positive" keywords="[Window,property, maximumHeight]">
 			<setup>
@@ -139,17 +131,6 @@
 				<AssertPropertyValue target="" propertyName="height" value="34" />
 			</body> 
 		</TestCase>		
-		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
-			<setup>
-				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
-				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
-				<WaitForEffectsToEnd/>
-			</setup>  
-			<body>  
-				<AssertPropertyValue target="" propertyName="maxHeight" value="38" /> 
-				<AssertPropertyValue target="" propertyName="height" value="38" />
-			</body> 
-		</TestCase>		
 		<TestCase testID="Window_Property_width_positive" keywords="[Window,width, Property]">
 			<setup>
 				<SetProperty target="" propertyName="width" value="800" waitEvent="updateComplete" waitTarget=""/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
index 20e0800..3b87f4c 100644
--- a/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
+++ b/mustella/tests/apollo/WindowedApplication/Properties/AIR_WindowedApplication_Properties_Spark.mxml
@@ -97,14 +97,6 @@
 				<AssertPropertyValue target="" propertyName="height" value="34" />
 			</body>
 		</TestCase>
-		<TestCase testID="Window_Property_height_negative_win" keywords="[Window,property, height]">
-			<setup>
-				<SetProperty target="" propertyName="height" value="-800" waitEvent="updateComplete" waitTarget=""/>
-			</setup>
-			<body>
-				<AssertPropertyValue target="" propertyName="height" value="38" />
-			</body>
-		</TestCase>
 		
 		<TestCase testID="Window_Property_maxHeight_positive" keywords="[Window,property, maximumHeight]">
 			<setup>
@@ -139,17 +131,6 @@
 				<AssertPropertyValue target="" propertyName="height" value="34" />
 			</body> 
 		</TestCase>		
-		<TestCase testID="Window_Property_maxHeight_negative_win" keywords="[Window,property, maximumHeight]">
-			<setup>
-				<SetProperty target="" propertyName="maxHeight" value="-300"/> 
-				<SetProperty target="" propertyName="height" value="375" waitTarget="" waitEvent="updateComplete"/>
-				<WaitForEffectsToEnd/>
-			</setup>  
-			<body>  
-				<AssertPropertyValue target="" propertyName="maxHeight" value="38" /> 
-				<AssertPropertyValue target="" propertyName="height" value="38" />
-			</body> 
-		</TestCase>		
 		<TestCase testID="Window_Property_width_positive" keywords="[Window,width, Property]">
 			<setup>
 				<SetProperty target="" propertyName="width" value="800" waitEvent="updateComplete" waitTarget=""/>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome.png
index 82ff76a..d254a62 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome_mac.png
index 12899e0..d254a62 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_windowedApplicationSkin.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_windowedApplicationSkin.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_windowedApplicationSkin.png
index fa49b85..7526e50 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_windowedApplicationSkin.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test3_windowedApplicationSkin.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test4_windowedApplicationSkin.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test4_windowedApplicationSkin.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test4_windowedApplicationSkin.png
index a315143..25989dc 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test4_windowedApplicationSkin.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test4_windowedApplicationSkin.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test5_windowedApplicationSkin.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test5_windowedApplicationSkin.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test5_windowedApplicationSkin.png
index b6e9a61..57a6877 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test5_windowedApplicationSkin.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test5_windowedApplicationSkin.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test6_windowedApplicationSkin.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test6_windowedApplicationSkin.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test6_windowedApplicationSkin.png
index 0b949a3..cfef6be 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test6_windowedApplicationSkin.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test6_windowedApplicationSkin.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test7_windowedApplicationSkin.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test7_windowedApplicationSkin.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test7_windowedApplicationSkin.png
index 8ca889d..798db5e 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test7_windowedApplicationSkin.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/height_test7_windowedApplicationSkin.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/maximizable_false_test4_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/maximizable_false_test4_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/maximizable_false_test4_SparkChrome_mac.png
index 27904bc..de2b0b3 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/maximizable_false_test4_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/maximizable_false_test4_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/properties/baselines/status_test2_systemChrome.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/properties/baselines/status_test2_systemChrome.png b/mustella/tests/apollo/spark/components/Window/properties/baselines/status_test2_systemChrome.png
index b81578f..f33f841 100644
Binary files a/mustella/tests/apollo/spark/components/Window/properties/baselines/status_test2_systemChrome.png and b/mustella/tests/apollo/spark/components/Window/properties/baselines/status_test2_systemChrome.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test10_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test10_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test10_SparkChrome_mac.png
index 27904bc..de2b0b3 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test10_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test10_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test3_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test3_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test3_SparkChrome_mac.png
index c13e016..e77221c 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test3_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test3_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test4_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test4_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test4_SparkChrome_mac.png
index ed4937d..8e92c4e 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test4_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test4_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test5_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test5_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test5_SparkChrome_mac.png
index ef795a0..9fe1821 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test5_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test5_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test6_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test6_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test6_SparkChrome_mac.png
index 8df739f..64aedce 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test6_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test6_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test7_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test7_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test7_SparkChrome_mac.png
index 5117623..786334e 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test7_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test7_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test8_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test8_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test8_SparkChrome_mac.png
index 11f87d3..2e22858 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test8_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test8_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9a_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9a_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9a_SparkChrome_mac.png
index 27904bc..de2b0b3 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9a_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9a_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9b_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9b_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9b_SparkChrome_mac.png
index c13e016..e77221c 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9b_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9b_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9c_SparkChrome_mac.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9c_SparkChrome_mac.png b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9c_SparkChrome_mac.png
index 8df739f..64aedce 100644
Binary files a/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9c_SparkChrome_mac.png and b/mustella/tests/apollo/spark/components/Window/skin/baselines/titleBar_test9c_SparkChrome_mac.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test1.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test1.png b/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test1.png
index c705c48..1182c76 100644
Binary files a/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test1.png and b/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test1.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test4.png
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test4.png b/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test4.png
index c705c48..1182c76 100644
Binary files a/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test4.png and b/mustella/tests/apollo/spark/components/Window/styles/baselines/skinClass_test4.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml b/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml
index 228500a..21f5148 100644
--- a/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml
+++ b/mustella/tests/apollo/spark/components/WindowedApplication/properties/wa_properties_height_tests.mxml
@@ -147,7 +147,7 @@ Test height
         <SetStyle target="" styleName="skinClass" valueExpression="value = SparkChromeWindowedApplicationSkin" waitEvent="updateComplete" />
         <SetProperty target="" propertyName="width" value="600" />
         <SetProperty target="" propertyName="height" value="35" waitEvent="resize" />
-        <AssertPropertyValue target="" propertyName="height" value="38" />
+        <AssertPropertyValue target="" propertyName="height" value="35" />
         <CompareBitmap target="" url="../properties/baselines/$testID.png" />
     </body>
 </TestCase>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/Bubble/Properties/Baselines/BubbleSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Candle/Properties/Baselines/CandlestickSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Candle/Properties/Baselines/CandlestickSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/Candle/Properties/Baselines/CandlestickSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Column/Properties/Baselines/ColumnSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Column/Properties/Baselines/ColumnSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/Column/Properties/Baselines/ColumnSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/HLOC/Properties/Baselines/HLOCSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/HLOC/Properties/Baselines/HLOCSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/HLOC/Properties/Baselines/HLOCSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Multiple.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Multiple.png b/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Multiple.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Single.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Single.png b/mustella/tests/components/Charts/Line/Properties/Baselines/LineSeries_selectionMode_Single.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Multiple.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Multiple.png b/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Multiple.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_None.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_None.png b/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_None.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Single.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Single.png b/mustella/tests/components/Charts/Pie/Properties/Baselines/PieSeries_selectionMode_Single.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_axisAtSeriesLevel.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_axisAtSeriesLevel.png b/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_axisAtSeriesLevel.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_sameAxis_diffRenderers.png
----------------------------------------------------------------------
diff --git a/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_sameAxis_diffRenderers.png b/mustella/tests/components/Charts/Plot/Properties/Baselines/PlotSeries_sameAxis_diffRenderers.png
old mode 100644
new mode 100755

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml b/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
index 61c5527..c7d9b29 100644
--- a/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
+++ b/mustella/tests/gumbo/components/Border/Properties/Border_Properties.mxml
@@ -322,9 +322,7 @@
 		</setup>
 		<body>						
 			<SetProperty target="myBorderGrpRGS.myBorder.borderStroke" propertyName="weight" value="80" waitEvent="updateComplete" waitTarget="myBorderGrpRGS.myBorder"/>
-			<CompareBitmap url="../Properties/Baselines/$testID_1.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS">
-				<ConditionalValue os="win" url="../Properties/Baselines/$testID_1@win.png"/>
-			</CompareBitmap>
+			<CompareBitmap url="../Properties/Baselines/$testID_1.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS" />
 			<SetProperty target="myBorderGrpRGS.myBorder" propertyName="height" value="300" waitEvent="updateComplete" />
 			<SetProperty target="myBorderGrpRGS.myBorder" propertyName="width" value="300" waitEvent="updateComplete" />
 			<CompareBitmap url="../Properties/Baselines/$testID_2.png" numColorVariances="5" ignoreMaxColorVariance="true" target="myBorderGrpRGS" />

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml b/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
index 282834d..0084843 100644
--- a/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
+++ b/mustella/tests/mobile/components/ActionBar/properties/ActionBar_ViewNavigator_Properties.mxml
@@ -1171,7 +1171,7 @@
 				<ResetComponent target="navigator.actionBar" className="spark.components.actionBar"/>
 				<WaitForLayoutManager />
 				<SetProperty target="navigator.actionBar" propertyName="navigationContent" valueExpression="value=twoEArray" waitTarget="navigator.actionBar" waitEvent="updateComplete"/>
-				<WaitForLayoutManager />
+				<Pause timeout="300" />
 			</setup>
 			<body>
 				<CompareBitmap url="../properties/baselines" target="navigator.actionBar">

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/ButtonBar/methods/baselines/defaultButtonBarItemRendererFunction_test1@android_240ppi.png
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/ButtonBar/methods/baselines/defaultButtonBarItemRendererFunction_test1@android_240ppi.png b/mustella/tests/mobile/components/ButtonBar/methods/baselines/defaultButtonBarItemRendererFunction_test1@android_240ppi.png
index 8373019..023d524 100644
Binary files a/mustella/tests/mobile/components/ButtonBar/methods/baselines/defaultButtonBarItemRendererFunction_test1@android_240ppi.png and b/mustella/tests/mobile/components/ButtonBar/methods/baselines/defaultButtonBarItemRendererFunction_test1@android_240ppi.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
index a980edc..08ac128 100644
--- a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
+++ b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester1.mxml
@@ -68,7 +68,7 @@
 			    <AssertPropertyValue target="navigator.activeView.lbl1" propertyName="width" value="0" />
 			    <AssertPropertyValue target="navigator.activeView.lbl1" propertyName="height" >
 					<ConditionalValue deviceDensity="160" os="win" value="15" />
-					<ConditionalValue deviceDensity="240" value="22" />
+					<ConditionalValue deviceDensity="240" value="25" />
 					<ConditionalValue deviceDensity="320" value="30" />
 					<ConditionalValue deviceDensity="160" os="qnx" value="16" />
 				</AssertPropertyValue>
@@ -126,7 +126,7 @@
 				</AssertPropertyValue>
 			    <AssertPropertyValue target="navigator.activeView.lbl1" propertyName="height" >
 					<ConditionalValue deviceDensity="160" os="win" value="15" />
-					<ConditionalValue deviceDensity="240" value="22" />
+					<ConditionalValue deviceDensity="240" value="25" />
 					<ConditionalValue deviceDensity="320" value="30" />
 					<ConditionalValue deviceDensity="160" os="qnx" value="16"/>
 			    </AssertPropertyValue>
@@ -157,7 +157,7 @@
 				</AssertPropertyValue>
 			    <AssertPropertyValue target="navigator.activeView.lbl1" propertyName="height" value="82" >
 					<ConditionalValue deviceDensity="160" os="win" value="53" />
-					<ConditionalValue deviceDensity="240" value="80" />
+					<ConditionalValue deviceDensity="240" value="82" />
 					<ConditionalValue deviceDensity="320" value="106" />
 					<ConditionalValue deviceDensity="160" os="qnx" value="55"/>
 				</AssertPropertyValue>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
index 8c9246d..806f470 100644
--- a/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
+++ b/mustella/tests/mobile/components/Label/properties/Label_Properties_tester2.mxml
@@ -60,7 +60,7 @@
 			<body>
 				<AssertPropertyValue propertyName="height" target="navigator.activeView.lbl1">
 					<ConditionalValue deviceDensity="160" os="win" value="15" />
-					<ConditionalValue deviceDensity="240" value="22" />
+					<ConditionalValue deviceDensity="240" value="25" />
 					<ConditionalValue deviceDensity="320" value="30" />
 					<ConditionalValue deviceDensity="160" os="qnx" value="16" />
 				</AssertPropertyValue>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/Label/properties/baselines/Label_minWidth_5@240ppi.png
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/Label/properties/baselines/Label_minWidth_5@240ppi.png b/mustella/tests/mobile/components/Label/properties/baselines/Label_minWidth_5@240ppi.png
index 7132906..4ecc058 100644
Binary files a/mustella/tests/mobile/components/Label/properties/baselines/Label_minWidth_5@240ppi.png and b/mustella/tests/mobile/components/Label/properties/baselines/Label_minWidth_5@240ppi.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/mobile/components/Label/properties/baselines/Label_width_10@240ppi.png
----------------------------------------------------------------------
diff --git a/mustella/tests/mobile/components/Label/properties/baselines/Label_width_10@240ppi.png b/mustella/tests/mobile/components/Label/properties/baselines/Label_width_10@240ppi.png
index 7a5b682..e6ec69e 100644
Binary files a/mustella/tests/mobile/components/Label/properties/baselines/Label_width_10@240ppi.png and b/mustella/tests/mobile/components/Label/properties/baselines/Label_width_10@240ppi.png differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_darken_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_darken_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_darken_radialgradient_fill@win.png
deleted file mode 100644
index 446ca63..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_darken_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_difference_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_difference_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_difference_radialgradient_fill@win.png
deleted file mode 100644
index 969e681..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_difference_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_hardlight_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_hardlight_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_hardlight_radialgradient_fill@win.png
deleted file mode 100644
index e78225c..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_hardlight_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_layer_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_layer_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_layer_radialgradient_fill@win.png
deleted file mode 100644
index 446ca63..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_layer_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_multiply_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_multiply_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_multiply_radialgradient_fill@win.png
deleted file mode 100644
index 446ca63..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_multiply_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_normal_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_normal_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_normal_radialgradient_fill@win.png
deleted file mode 100644
index 446ca63..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_normal_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_subtract_radialgradient_fill@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_subtract_radialgradient_fill@win.png b/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_subtract_radialgradient_fill@win.png
deleted file mode 100644
index 969e681..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/blend_mode_radial_gradient_blends_blend_subtract_radialgradient_fill@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_graphic_def@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_graphic_def@win.png b/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_graphic_def@win.png
deleted file mode 100644
index 031e965..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_graphic_def@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_library_def@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_library_def@win.png b/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_library_def@win.png
deleted file mode 100644
index 8c7a173f..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/doc_structure_library_def@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_focal_point@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_focal_point@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_focal_point@win.png
deleted file mode 100644
index c8bbd0a..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_focal_point@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_interpolation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_interpolation@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_interpolation@win.png
deleted file mode 100644
index 6706ebc..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_interpolation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_matrix@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_matrix@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_matrix@win.png
deleted file mode 100644
index 195d56a..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_matrix@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread2@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread2@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread2@win.png
deleted file mode 100644
index fc88707..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread2@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread@win.png
deleted file mode 100644
index ec9e87f..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_path_spread@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_focal_point@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_focal_point@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_focal_point@win.png
deleted file mode 100644
index 8b0e3ce..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_focal_point@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_interpolation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_interpolation@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_interpolation@win.png
deleted file mode 100644
index 46ecaa5..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_interpolation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_matrix@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_matrix@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_matrix@win.png
deleted file mode 100644
index 569642c..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_matrix@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_spread@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_spread@win.png b/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_spread@win.png
deleted file mode 100644
index a71bfb2..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/fill_radial_gradient_radial_gradient_fill_shape_spread@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_bevelfilter3@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_bevelfilter3@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_bevelfilter3@win.png
deleted file mode 100644
index 6a5d2b7..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_bevelfilter3@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_blurfilter@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_blurfilter@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_blurfilter@win.png
deleted file mode 100644
index b8f3081..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_blurfilter@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_group@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_group@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_group@win.png
deleted file mode 100644
index 0b141e2..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_group@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_transform@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_transform@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_transform@win.png
deleted file mode 100644
index b0ed0de..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_filters_transform@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_glowfilter3@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_glowfilter3@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_glowfilter3@win.png
deleted file mode 100644
index c032d8e..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_glowfilter3@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_gradientglowfilter3@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_gradientglowfilter3@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_gradientglowfilter3@win.png
deleted file mode 100644
index 1f8bd45..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_gradientglowfilter3@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_hue_colormatrixfilter4@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_hue_colormatrixfilter4@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_hue_colormatrixfilter4@win.png
deleted file mode 100644
index 04bfa82..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_hue_colormatrixfilter4@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_luminance_colormatrixfilter4@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_luminance_colormatrixfilter4@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_luminance_colormatrixfilter4@win.png
deleted file mode 100644
index f2735f9..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_luminance_colormatrixfilter4@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/filters_saturation_colormatrixfilter4@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/filters_saturation_colormatrixfilter4@win.png b/mustella/tests/spark/core/fxg/properties/baselines/filters_saturation_colormatrixfilter4@win.png
deleted file mode 100644
index c05433a..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/filters_saturation_colormatrixfilter4@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/mask_clip_mask@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/mask_clip_mask@win.png b/mustella/tests/spark/core/fxg/properties/baselines/mask_clip_mask@win.png
deleted file mode 100644
index cc0eceb..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/mask_clip_mask@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_focal_point@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_focal_point@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_focal_point@win.png
deleted file mode 100644
index 3ec5b23..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_focal_point@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_interpolation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_interpolation@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_interpolation@win.png
deleted file mode 100644
index 63ea694..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_interpolation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_matrix@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_matrix@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_matrix@win.png
deleted file mode 100644
index faed639..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_matrix@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_spread@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_spread@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_spread@win.png
deleted file mode 100644
index a01ef3d..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_path_spread@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_focal_point@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_focal_point@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_focal_point@win.png
deleted file mode 100644
index 8d4f923..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_focal_point@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_interpolation@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_interpolation@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_interpolation@win.png
deleted file mode 100644
index 6975cdb..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_interpolation@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_matrix@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_matrix@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_matrix@win.png
deleted file mode 100644
index 593cfba..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_matrix@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_spread@win.png
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_spread@win.png b/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_spread@win.png
deleted file mode 100644
index 958a70b..0000000
Binary files a/mustella/tests/spark/core/fxg/properties/baselines/stroke_radial_gradient_stroke_radial_gradient_stroke_shape_spread@win.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/fxgtemplate_masks.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/fxgtemplate_masks.mxml b/mustella/tests/spark/core/fxg/properties/fxgtemplate_masks.mxml
index 8dfe90e..111c0e2 100644
--- a/mustella/tests/spark/core/fxg/properties/fxgtemplate_masks.mxml
+++ b/mustella/tests/spark/core/fxg/properties/fxgtemplate_masks.mxml
@@ -61,9 +61,7 @@
                  <RunCode code="application.grp.addElement(new clip_mask)" waitEvent="updateComplete" waitTarget="grp"/>
 	     </setup>
 	     <body>
-                 <CompareBitmap url="../properties/baselines/"  numColorVariances="8" maxColorVariance="14" target="grp">
-					 <ConditionalValue os="win"/>
-				</CompareBitmap>
+                 <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" maxColorVariance="14" target="grp" />
 	     </body>
 	</TestCase>
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/4f206356/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml
----------------------------------------------------------------------
diff --git a/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml b/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml
index 0673319..8d3c3b3 100644
--- a/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml
+++ b/mustella/tests/spark/core/fxg/properties/fxgtemplate_tester.mxml
@@ -554,9 +554,7 @@
                     <RunCode code="application.grp.addElement(new blend_difference_radialgradient_fill)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -596,9 +594,7 @@
                     <RunCode code="application.grp.addElement(new blend_layer_radialgradient_fill)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -622,9 +618,7 @@
                     <RunCode code="application.grp.addElement(new blend_multiply_radialgradient_fill)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -636,9 +630,7 @@
                     <RunCode code="application.grp.addElement(new blend_normal_radialgradient_fill)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -676,9 +668,7 @@
                     <RunCode code="application.grp.addElement(new blend_subtract_radialgradient_fill)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -714,9 +704,7 @@
                     <RunCode code="application.grp.addElement(new graphic_def)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -742,9 +730,7 @@
                     <RunCode code="application.grp.addElement(new library_def)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1026,9 +1012,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_path_interpolation)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1040,9 +1024,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_path_matrix)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1054,9 +1036,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_path_spread)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1076,9 +1056,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_shape_focal_point)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1090,9 +1068,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_shape_interpolation)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1116,9 +1092,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_fill_shape_spread)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1178,9 +1152,7 @@
             <RunCode code="application.grp.addElement(new bevelfilter3)" waitEvent="updateComplete" waitTarget="grp"/>
         </setup>
         <body>
-            <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-				<ConditionalValue os="win"/>
-			</CompareBitmap>
+            <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
         </body>
     </TestCase> 
     <TestCase testID="filters_bevelfilter4" keywords="[fxg]" description="BitmapFill: distance,highlightAlpha,highlightColor,shadowAlpha,shadowColor,strength">
@@ -1255,9 +1227,7 @@
             <RunCode code="application.grp.addElement(new filters_group)" waitEvent="updateComplete" waitTarget="grp"/>
         </setup>
         <body>
-            <CompareBitmap url="../properties/baselines"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-				<ConditionalValue os="win"/>
-			</CompareBitmap>
+            <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
         </body>
     </TestCase>
         
@@ -1269,9 +1239,7 @@
             <RunCode code="application.grp.addElement(new filters_transform)" waitEvent="updateComplete" waitTarget="grp"/>
         </setup>
         <body>
-            <CompareBitmap url="../properties/baselines"  numColorVariances="16" ignoreMaxColorVariance="true"  target="grp">
-				<ConditionalValue os="win"/>
-			</CompareBitmap>
+            <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="16" ignoreMaxColorVariance="true"  target="grp" />
         </body>
     </TestCase>
         
@@ -1574,9 +1542,7 @@
                     <RunCode code="application.grp.addElement(new clip_mask)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -1872,9 +1838,7 @@
                     <RunCode code="application.grp.addElement(new shape_bmpgraphic_scalegridgroup)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2026,9 +1990,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_path_focal_point)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2040,9 +2002,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_path_interpolation)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2054,9 +2014,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_path_matrix)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2068,9 +2026,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_path_spread)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2082,9 +2038,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_shape_focal_point)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2096,9 +2050,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_shape_interpolation)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2110,9 +2062,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_shape_matrix)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         
@@ -2124,9 +2074,7 @@
                     <RunCode code="application.grp.addElement(new radial_gradient_stroke_shape_spread)" waitEvent="updateComplete" waitTarget="grp"/>
                 </setup>
                 <body>
-                    <CompareBitmap url="../properties/baselines/"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp">
-						<ConditionalValue os="win"/>
-					</CompareBitmap>
+                    <CompareBitmap url="../properties/baselines/$testID.png"  numColorVariances="8" ignoreMaxColorVariance="true"  target="grp" />
                 </body>
             </TestCase>
         


[05/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeContext.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeContext.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeContext.java
new file mode 100644
index 0000000..3d618d7
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeContext.java
@@ -0,0 +1,553 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.util.Iterator;
+
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.BridgeUpdateHandler;
+import org.apache.flex.forks.batik.bridge.DocumentLoader;
+import org.apache.flex.forks.batik.bridge.ScriptingEnvironment;
+import org.apache.flex.forks.batik.bridge.URIResolver;
+import org.apache.flex.forks.batik.bridge.UserAgent;
+import org.apache.flex.forks.batik.css.engine.CSSEngine;
+import org.apache.flex.forks.batik.dom.AbstractDocument;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.EventSupport;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg.SVGOMDocument;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.dom.svg12.XBLOMShadowTreeElement;
+import org.apache.flex.forks.batik.dom.xbl.NodeXBL;
+import org.apache.flex.forks.batik.dom.xbl.XBLManager;
+import org.apache.flex.forks.batik.script.Interpreter;
+import org.apache.flex.forks.batik.script.InterpreterPool;
+import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+import org.w3c.dom.svg.SVGDocument;
+
+/**
+ * Bridge context for SVG 1.2 documents.  This is primarily for dispatching
+ * XBL events to bridges and for handling resource documents.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12BridgeContext.java 502489 2007-02-02 04:57:56Z cam $
+ */
+public class SVG12BridgeContext extends BridgeContext {
+
+    /**
+     * The BindingListener for XBL binding events.
+     */
+    protected XBLBindingListener bindingListener;
+
+    /**
+     * The ContentSelectionChangedListener for xbl:content element events.
+     */
+    protected XBLContentListener contentListener;
+
+    /**
+     * The EventTarget that has the mouse capture.
+     */
+    protected EventTarget mouseCaptureTarget;
+
+    /**
+     * Whether the mouse capture event target will receive events
+     * that do not intersect with its geometry.
+     */
+    protected boolean mouseCaptureSendAll;
+
+    /**
+     * Whether the mouse capture will be released on mouse up.
+     */
+    protected boolean mouseCaptureAutoRelease;
+
+    /**
+     * Constructs a new bridge context.
+     * @param userAgent the user agent
+     */
+    public SVG12BridgeContext(UserAgent userAgent) {
+        super(userAgent);
+    }
+
+    /**
+     * Constructs a new bridge context.
+     * @param userAgent the user agent
+     * @param loader document loader
+     */
+    public SVG12BridgeContext(UserAgent userAgent,
+                              DocumentLoader loader) {
+        super(userAgent, loader);
+    }
+
+    /**
+     * Constructs a new bridge context.
+     * @param userAgent the user agent
+     * @param interpreterPool the interpreter pool
+     * @param documentLoader document loader
+     */
+    public SVG12BridgeContext(UserAgent userAgent,
+                              InterpreterPool interpreterPool,
+                              DocumentLoader documentLoader) {
+        super(userAgent, interpreterPool, documentLoader);
+    }
+
+    /**
+     * Returns a new URIResolver object.
+     */
+    public URIResolver createURIResolver(SVGDocument doc, DocumentLoader dl) {
+        return new SVG12URIResolver(doc, dl);
+    }
+
+    /**
+     * Adds the GVT listener for AWT event support.
+     */
+    public void addGVTListener(Document doc) {
+        SVG12BridgeEventSupport.addGVTListener(this, doc);
+    }
+
+    /**
+     * Disposes this BridgeContext.
+     */
+    public void dispose() {
+        clearChildContexts();
+
+        synchronized (eventListenerSet) {
+            // remove all listeners added by Bridges
+            Iterator iter = eventListenerSet.iterator();
+            while (iter.hasNext()) {
+                EventListenerMememto m = (EventListenerMememto)iter.next();
+                NodeEventTarget et = m.getTarget();
+                EventListener   el = m.getListener();
+                boolean         uc = m.getUseCapture();
+                String          t  = m.getEventType();
+                boolean         in = m.getNamespaced();
+                if (et == null || el == null || t == null) {
+                    continue;
+                }
+                if (m instanceof ImplementationEventListenerMememto) {
+                    String ns = m.getNamespaceURI();
+                    Node nde = (Node)et;
+                    AbstractNode n = (AbstractNode)nde.getOwnerDocument();
+                    if (n != null) {
+                        XBLEventSupport es;
+                        es = (XBLEventSupport) n.initializeEventSupport();
+                        es.removeImplementationEventListenerNS(ns, t, el, uc);
+                    }
+                } else if (in) {
+                    String ns = m.getNamespaceURI();
+                    et.removeEventListenerNS(ns, t, el, uc);
+                } else {
+                    et.removeEventListener(t, el, uc);
+                }
+            }
+        }
+
+        if (document != null) {
+            removeDOMListeners();
+            removeBindingListener();
+        }
+
+        if (animationEngine != null) {
+            animationEngine.dispose();
+            animationEngine = null;
+        }
+
+        Iterator iter = interpreterMap.values().iterator();
+        while (iter.hasNext()) {
+            Interpreter interpreter = (Interpreter)iter.next();
+            if (interpreter != null)
+                interpreter.dispose();
+        }
+        interpreterMap.clear();
+
+        if (focusManager != null) {
+            focusManager.dispose();
+        }
+    }
+
+    /**
+     * Adds a BindingListener to the XBLManager for the document, so that
+     * XBL binding events can be passed on to the BridgeUpdateHandlers.
+     */
+    public void addBindingListener() {
+        AbstractDocument doc = (AbstractDocument) document;
+        DefaultXBLManager xm = (DefaultXBLManager) doc.getXBLManager();
+        if (xm != null) {
+            bindingListener = new XBLBindingListener();
+            xm.addBindingListener(bindingListener);
+            contentListener = new XBLContentListener();
+            xm.addContentSelectionChangedListener(contentListener);
+        }
+    }
+
+    /**
+     * Removes the BindingListener from the XBLManager.
+     */
+    public void removeBindingListener() {
+        AbstractDocument doc = (AbstractDocument) document;
+        XBLManager xm = doc.getXBLManager();
+        if (xm instanceof DefaultXBLManager) {
+            DefaultXBLManager dxm = (DefaultXBLManager) xm;
+            dxm.removeBindingListener(bindingListener);
+            dxm.removeContentSelectionChangedListener(contentListener);
+        }
+    }
+
+    /**
+     * Adds EventListeners to the DOM and CSSEngineListener to the
+     * CSSEngine to handle any modifications on the DOM tree or style
+     * properties and update the GVT tree in response.  This overriden
+     * method adds implementation event listeners, so that mutations in
+     * shadow trees can be caught.
+     */
+    public void addDOMListeners() {
+        SVGOMDocument doc = (SVGOMDocument)document;
+        XBLEventSupport evtSupport
+            = (XBLEventSupport) doc.initializeEventSupport();
+
+        domAttrModifiedEventListener
+            = new EventListenerWrapper(new DOMAttrModifiedEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedEventListener, true);
+
+        domNodeInsertedEventListener
+            = new EventListenerWrapper(new DOMNodeInsertedEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedEventListener, true);
+
+        domNodeRemovedEventListener
+            = new EventListenerWrapper(new DOMNodeRemovedEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedEventListener, true);
+
+        domCharacterDataModifiedEventListener = 
+            new EventListenerWrapper(new DOMCharacterDataModifiedEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMCharacterDataModified",
+             domCharacterDataModifiedEventListener, true);
+
+        animatedAttributeListener = new AnimatedAttrListener();
+        doc.addAnimatedAttributeListener(animatedAttributeListener);
+        
+        focusManager = new SVG12FocusManager(document);
+
+        CSSEngine cssEngine = doc.getCSSEngine();
+        cssPropertiesChangedListener = new CSSPropertiesChangedListener();
+        cssEngine.addCSSEngineListener(cssPropertiesChangedListener);
+    }
+
+    /**
+     * Adds EventListeners to the input document to handle the cursor 
+     * property.
+     * This is not done in the addDOMListeners method because 
+     * addDOMListeners is only used for dynamic content whereas 
+     * cursor support is provided for all content.
+     * Also note that it is very important that the listeners be
+     * registered for the capture phase as the 'default' behavior
+     * for cursors is handled by the BridgeContext during the 
+     * capture phase and the 'custom' behavior (handling of 'auto'
+     * on anchors, for example), is handled during the bubbling phase.
+     */
+    public void addUIEventListeners(Document doc) {
+        EventTarget evtTarget = (EventTarget)doc.getDocumentElement();
+        AbstractNode n = (AbstractNode) evtTarget;
+        XBLEventSupport evtSupport
+            = (XBLEventSupport) n.initializeEventSupport();
+
+        EventListener domMouseOverListener
+            = new EventListenerWrapper(new DOMMouseOverEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOVER,
+             domMouseOverListener, true);
+        storeImplementationEventListenerNS
+            (evtTarget,
+             XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOVER,
+             domMouseOverListener, true);
+
+        EventListener domMouseOutListener
+            = new EventListenerWrapper(new DOMMouseOutEventListener());
+        evtSupport.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOUT,
+             domMouseOutListener, true);
+        storeImplementationEventListenerNS
+            (evtTarget,
+             XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             SVGConstants.SVG_EVENT_MOUSEOUT,
+             domMouseOutListener, true);
+    }
+
+    public void removeUIEventListeners(Document doc) {
+        EventTarget evtTarget = (EventTarget)doc.getDocumentElement();
+        AbstractNode n = (AbstractNode) evtTarget;
+        XBLEventSupport es = (XBLEventSupport) n.initializeEventSupport();
+
+        synchronized (eventListenerSet) {
+            Iterator i = eventListenerSet.iterator();
+            while (i.hasNext()) {
+                EventListenerMememto elm = (EventListenerMememto)i.next();
+                NodeEventTarget et = elm.getTarget();
+                if (et == evtTarget) {
+                    EventListener el = elm.getListener();
+                    boolean       uc = elm.getUseCapture();
+                    String        t  = elm.getEventType();
+                    boolean       in = elm.getNamespaced();
+                    if (et == null || el == null || t == null) {
+                        continue;
+                    }
+                    if (elm instanceof ImplementationEventListenerMememto) {
+                        String ns = elm.getNamespaceURI();
+                        es.removeImplementationEventListenerNS(ns, t, el, uc);
+                    } else if (in) {
+                        String ns = elm.getNamespaceURI();
+                        et.removeEventListenerNS(ns, t, el, uc);
+                    } else {
+                        et.removeEventListener(t, el, uc);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Removes event listeners from the DOM and CSS engine.
+     */
+    protected void removeDOMListeners() {
+        SVGOMDocument doc = (SVGOMDocument)document;
+
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMAttrModified",
+             domAttrModifiedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeInserted",
+             domNodeInsertedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMNodeRemoved",
+             domNodeRemovedEventListener, true);
+        doc.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMCharacterDataModified",
+             domCharacterDataModifiedEventListener, true);
+        
+        doc.removeAnimatedAttributeListener(animatedAttributeListener);
+
+        CSSEngine cssEngine = doc.getCSSEngine();
+        if (cssEngine != null) {
+            cssEngine.removeCSSEngineListener
+                (cssPropertiesChangedListener);
+            cssEngine.dispose();
+            doc.setCSSEngine(null);
+        }
+    }
+
+    /**
+     * Adds to the eventListenerSet the specified implementation event
+     * listener registration.
+     */
+    protected void storeImplementationEventListenerNS(EventTarget t,
+                                                      String ns,
+                                                      String s,
+                                                      EventListener l,
+                                                      boolean b) {
+        synchronized (eventListenerSet) {
+            ImplementationEventListenerMememto m
+                = new ImplementationEventListenerMememto(t, ns, s, l, b, this);
+            eventListenerSet.add(m);
+        }
+    }
+
+    public BridgeContext createSubBridgeContext(SVGOMDocument newDoc) {
+        CSSEngine eng = newDoc.getCSSEngine();
+        if (eng != null) {
+            return (BridgeContext)newDoc.getCSSEngine().getCSSContext();
+        }
+
+        BridgeContext subCtx = super.createSubBridgeContext(newDoc);
+        if (isDynamic() && subCtx.isDynamic()) {
+            setUpdateManager(subCtx, updateManager);
+            if (updateManager != null) {
+                ScriptingEnvironment se;
+                if (newDoc.isSVG12()) {
+                    se = new SVG12ScriptingEnvironment(subCtx);
+                } else {
+                    se = new ScriptingEnvironment(subCtx);
+                }
+                se.loadScripts();
+                se.dispatchSVGLoadEvent();
+                if (newDoc.isSVG12()) {
+                    DefaultXBLManager xm =
+                        new DefaultXBLManager(newDoc, subCtx);
+                    setXBLManager(subCtx, xm);
+                    newDoc.setXBLManager(xm);
+                    xm.startProcessing();
+                }
+            }
+        }
+        return subCtx;
+    }
+
+    /**
+     * Starts mouse capture.
+     */
+    public void startMouseCapture(EventTarget target, boolean sendAll,
+                                  boolean autoRelease) {
+        mouseCaptureTarget = target;
+        mouseCaptureSendAll = sendAll;
+        mouseCaptureAutoRelease = autoRelease;
+    }
+
+    /**
+     * Stops mouse capture.
+     */
+    public void stopMouseCapture() {
+        mouseCaptureTarget = null;
+    }
+
+    /**
+     * A class used to store an implementation EventListener added to the DOM.
+     */
+    protected static class ImplementationEventListenerMememto
+            extends EventListenerMememto {
+
+        /**
+         * Creates a new ImplementationEventListenerMememto.
+         */
+        public ImplementationEventListenerMememto(EventTarget t,
+                                                  String s,
+                                                  EventListener l,
+                                                  boolean b,
+                                                  BridgeContext c) {
+            super(t, s, l, b, c);
+        }
+
+        /**
+         * Creates a new ImplementationEventListenerMememto.
+         */
+        public ImplementationEventListenerMememto(EventTarget t,
+                                                  String n,
+                                                  String s,
+                                                  EventListener l,
+                                                  boolean b,
+                                                  BridgeContext c) {
+            super(t, n, s, l, b, c);
+        }
+    }
+
+    /**
+     * Wrapper for DOM event listeners so that they will see only
+     * original events (i.e., not retargetted).
+     */
+    protected class EventListenerWrapper implements EventListener {
+
+        /**
+         * The wrapped listener.
+         */
+        protected EventListener listener;
+
+        /**
+         * Creates a new EventListenerWrapper.
+         */
+        public EventListenerWrapper(EventListener l) {
+            listener = l;
+        }
+
+        /**
+         * Handles the event.
+         */
+        public void handleEvent(Event evt) {
+            listener.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+
+        /**
+         * String representation of this listener wrapper.
+         */
+        public String toString() {
+            return super.toString() + " [wrapping " + listener.toString() + "]";
+        }
+    }
+
+    /**
+     * The BindingListener.
+     */
+    protected class XBLBindingListener implements BindingListener {
+        
+        /**
+         * Invoked when the specified bindable element's binding has changed.
+         */
+        public void bindingChanged(Element bindableElement,
+                                   Element shadowTree) {
+            BridgeUpdateHandler h = getBridgeUpdateHandler(bindableElement);
+            if (h instanceof SVG12BridgeUpdateHandler) {
+                SVG12BridgeUpdateHandler h12 = (SVG12BridgeUpdateHandler) h;
+                try {
+                    h12.handleBindingEvent(bindableElement, shadowTree);
+                } catch (Exception e) {
+                    userAgent.displayError(e);
+                }
+            }
+        }
+    }
+
+    /**
+     * The ContentSelectionChangedListener.
+     */
+    protected class XBLContentListener
+            implements ContentSelectionChangedListener {
+        
+        /**
+         * Invoked after an xbl:content element has updated its selected
+         * nodes list.
+         * @param csce the ContentSelectionChangedEvent object
+         */
+        public void contentSelectionChanged(ContentSelectionChangedEvent csce) {
+            Element e = (Element) csce.getContentElement().getParentNode();
+            if (e instanceof XBLOMShadowTreeElement) {
+                e = ((NodeXBL) e).getXblBoundElement();
+            }
+            BridgeUpdateHandler h = getBridgeUpdateHandler(e);
+            if (h instanceof SVG12BridgeUpdateHandler) {
+                SVG12BridgeUpdateHandler h12 = (SVG12BridgeUpdateHandler) h;
+                try {
+                    h12.handleContentSelectionChangedEvent(csce);
+                } catch (Exception ex) {
+                    userAgent.displayError(ex);
+                }
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeEventSupport.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeEventSupport.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeEventSupport.java
new file mode 100644
index 0000000..bbbc94b
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeEventSupport.java
@@ -0,0 +1,833 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import java.awt.Point;
+import java.awt.event.KeyEvent;
+import java.awt.geom.Point2D;
+
+import org.apache.flex.forks.batik.bridge.BridgeContext;
+import org.apache.flex.forks.batik.bridge.BridgeEventSupport;
+import org.apache.flex.forks.batik.bridge.FocusManager;
+import org.apache.flex.forks.batik.bridge.UserAgent;
+import org.apache.flex.forks.batik.dom.events.AbstractEvent;
+import org.apache.flex.forks.batik.dom.events.DOMKeyboardEvent;
+import org.apache.flex.forks.batik.dom.events.DOMMouseEvent;
+import org.apache.flex.forks.batik.dom.events.DOMTextEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.dom.svg12.SVGOMWheelEvent;
+import org.apache.flex.forks.batik.dom.util.DOMUtilities;
+import org.apache.flex.forks.batik.gvt.GraphicsNode;
+import org.apache.flex.forks.batik.gvt.event.EventDispatcher;
+import org.apache.flex.forks.batik.gvt.event.GraphicsNodeKeyEvent;
+import org.apache.flex.forks.batik.gvt.event.GraphicsNodeMouseEvent;
+import org.apache.flex.forks.batik.gvt.event.GraphicsNodeMouseWheelEvent;
+import org.apache.flex.forks.batik.gvt.event.GraphicsNodeMouseWheelListener;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.EventListener;
+import org.w3c.dom.events.EventTarget;
+
+/**
+ * This class is responsible for tracking GraphicsNodeMouseEvents and
+ * forwarding them to the DOM as regular DOM MouseEvents.  This SVG 1.2
+ * specific class handles DOM Level 3 keyboard events and also ensures
+ * that mouse events under sXBL have appropriate bubble limits.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12BridgeEventSupport.java 575202 2007-09-13 07:45:18Z cam $
+ */
+public abstract class SVG12BridgeEventSupport extends BridgeEventSupport {
+
+    protected SVG12BridgeEventSupport() {}
+
+    /**
+     * Is called only for the root element in order to dispatch GVT
+     * events to the DOM.
+     */
+    public static void addGVTListener(BridgeContext ctx, Document doc) {
+        UserAgent ua = ctx.getUserAgent();
+        if (ua != null) {
+            EventDispatcher dispatcher = ua.getEventDispatcher();
+            if (dispatcher != null) {
+                final Listener listener = new Listener(ctx, ua);
+                dispatcher.addGraphicsNodeMouseListener(listener);
+                dispatcher.addGraphicsNodeMouseWheelListener(listener);
+                dispatcher.addGraphicsNodeKeyListener(listener);
+                // add an unload listener on the SVGDocument to remove
+                // that listener for dispatching events
+                EventListener l = new GVTUnloadListener(dispatcher, listener);
+                NodeEventTarget target = (NodeEventTarget) doc;
+                target.addEventListenerNS
+                    (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                     "SVGUnload",
+                     l, false, null);
+                storeEventListenerNS
+                    (ctx, target,
+                     XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                     "SVGUnload",
+                     l, false);
+            }
+        }
+    }
+
+    /**
+     * A GraphicsNodeMouseListener that dispatch DOM events accordingly.
+     */
+    protected static class Listener
+            extends BridgeEventSupport.Listener 
+            implements GraphicsNodeMouseWheelListener {
+
+        /**
+         * The BridgeContext downcasted to an SVG12BridgeContext.
+         */
+        protected SVG12BridgeContext ctx12;
+
+        public Listener(BridgeContext ctx, UserAgent u) {
+            super(ctx, u);
+            ctx12 = (SVG12BridgeContext) ctx;
+        }
+
+        // Key -------------------------------------------------------------
+
+        /**
+         * Invoked when a key has been pressed.
+         * @param evt the graphics node key event
+         */
+        public void keyPressed(GraphicsNodeKeyEvent evt) {
+            // XXX isDown is not preventing key repeats
+            if (!isDown) {
+                isDown = true;
+                dispatchKeyboardEvent("keydown", evt);
+            }
+            if (evt.getKeyChar() == KeyEvent.CHAR_UNDEFINED) {
+                // We will not get a KEY_TYPED event for this char
+                // so generate a keypress event here.
+                dispatchTextEvent(evt);
+            }
+        }
+
+        /**
+         * Invoked when a key has been released.
+         * @param evt the graphics node key event
+         */
+        public void keyReleased(GraphicsNodeKeyEvent evt) {
+            dispatchKeyboardEvent("keyup", evt);
+            isDown = false;
+        }
+
+        /**
+         * Invoked when a key has been typed.
+         * @param evt the graphics node key event
+         */
+        public void keyTyped(GraphicsNodeKeyEvent evt) {
+            dispatchTextEvent(evt);
+        }
+
+        /**
+         * Dispatch a DOM 3 Keyboard event.
+         */
+        protected void dispatchKeyboardEvent(String eventType,
+                                             GraphicsNodeKeyEvent evt) {
+            FocusManager fmgr = context.getFocusManager();
+            if (fmgr == null) {
+                return;
+            }
+
+            Element targetElement = (Element) fmgr.getCurrentEventTarget();
+            if (targetElement == null) {
+                targetElement = context.getDocument().getDocumentElement();
+            }
+            DocumentEvent d = (DocumentEvent) targetElement.getOwnerDocument();
+            DOMKeyboardEvent keyEvt
+                = (DOMKeyboardEvent) d.createEvent("KeyboardEvent");
+            String modifiers
+                = DOMUtilities.getModifiersList(evt.getLockState(),
+                                                evt.getModifiers());
+            keyEvt.initKeyboardEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                       eventType, 
+                                       true,
+                                       true,
+                                       null,
+                                       mapKeyCodeToIdentifier(evt.getKeyCode()),
+                                       mapKeyLocation(evt.getKeyLocation()),
+                                       modifiers);
+
+            try {
+                ((EventTarget)targetElement).dispatchEvent(keyEvt);
+            } catch (RuntimeException e) {
+                ua.displayError(e);
+            }
+        }
+
+        /**
+         * Dispatch a DOM 3 Text event.
+         */
+        protected void dispatchTextEvent(GraphicsNodeKeyEvent evt) {
+            FocusManager fmgr = context.getFocusManager();
+            if (fmgr == null) {
+                return;
+            }
+
+            Element targetElement = (Element) fmgr.getCurrentEventTarget();
+            if (targetElement == null) {
+                targetElement = context.getDocument().getDocumentElement();
+            }
+            DocumentEvent d = (DocumentEvent) targetElement.getOwnerDocument();
+            DOMTextEvent textEvt = (DOMTextEvent) d.createEvent("TextEvent");
+            textEvt.initTextEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                    "textInput", 
+                                    true,
+                                    true,
+                                    null,
+                                    String.valueOf(evt.getKeyChar()));
+
+            try {
+                ((EventTarget) targetElement).dispatchEvent(textEvt);
+            } catch (RuntimeException e) {
+                ua.displayError(e);
+            }
+        }
+
+        /**
+         * Maps Java KeyEvent location numbers to DOM 3 location numbers.
+         */
+        protected int mapKeyLocation(int location) {
+            return location - 1;
+        }
+
+        /**
+         * Array to hold the map of Java keycodes to DOM 3 key strings.
+         */
+        protected static String[][] IDENTIFIER_KEY_CODES = new String[256][];
+        static {
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_0,
+                                 KeyEvent.VK_0);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_1,
+                                 KeyEvent.VK_1);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_2,
+                                 KeyEvent.VK_2);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_3,
+                                 KeyEvent.VK_3);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_4,
+                                 KeyEvent.VK_4);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_5,
+                                 KeyEvent.VK_5);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_6,
+                                 KeyEvent.VK_6);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_7,
+                                 KeyEvent.VK_7);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_8,
+                                 KeyEvent.VK_8);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_9,
+                                 KeyEvent.VK_9);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ACCEPT,
+                                 KeyEvent.VK_ACCEPT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_AGAIN,
+                                 KeyEvent.VK_AGAIN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_A,
+                                 KeyEvent.VK_A);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ALL_CANDIDATES,
+                                 KeyEvent.VK_ALL_CANDIDATES);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ALPHANUMERIC,
+                                 KeyEvent.VK_ALPHANUMERIC);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ALT_GRAPH,
+                                 KeyEvent.VK_ALT_GRAPH);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ALT,
+                                 KeyEvent.VK_ALT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_AMPERSAND,
+                                 KeyEvent.VK_AMPERSAND);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_APOSTROPHE,
+                                 KeyEvent.VK_QUOTE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ASTERISK,
+                                 KeyEvent.VK_ASTERISK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_AT,
+                                 KeyEvent.VK_AT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_BACKSLASH,
+                                 KeyEvent.VK_BACK_SLASH);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_BACKSPACE,
+                                 KeyEvent.VK_BACK_SPACE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_B,
+                                 KeyEvent.VK_B);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CANCEL,
+                                 KeyEvent.VK_CANCEL);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CAPS_LOCK,
+                                 KeyEvent.VK_CAPS_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CIRCUMFLEX,
+                                 KeyEvent.VK_CIRCUMFLEX);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_C,
+                                 KeyEvent.VK_C);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CLEAR,
+                                 KeyEvent.VK_CLEAR);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CODE_INPUT,
+                                 KeyEvent.VK_CODE_INPUT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COLON,
+                                 KeyEvent.VK_COLON);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_ACUTE,
+                                 KeyEvent.VK_DEAD_ACUTE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_BREVE,
+                                 KeyEvent.VK_DEAD_BREVE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_CARON,
+                                 KeyEvent.VK_DEAD_CARON);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_CEDILLA,
+                                 KeyEvent.VK_DEAD_CEDILLA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_CIRCUMFLEX,
+                                 KeyEvent.VK_DEAD_CIRCUMFLEX);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_DIERESIS,
+                                 KeyEvent.VK_DEAD_DIAERESIS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_DOT_ABOVE,
+                                 KeyEvent.VK_DEAD_ABOVEDOT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_DOUBLE_ACUTE,
+                                 KeyEvent.VK_DEAD_DOUBLEACUTE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_GRAVE,
+                                 KeyEvent.VK_DEAD_GRAVE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_IOTA,
+                                 KeyEvent.VK_DEAD_IOTA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_MACRON,
+                                 KeyEvent.VK_DEAD_MACRON);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_OGONEK,
+                                 KeyEvent.VK_DEAD_OGONEK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_RING_ABOVE,
+                                 KeyEvent.VK_DEAD_ABOVERING);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMBINING_TILDE,
+                                 KeyEvent.VK_DEAD_TILDE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMMA,
+                                 KeyEvent.VK_COMMA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COMPOSE,
+                                 KeyEvent.VK_COMPOSE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CONTROL,
+                                 KeyEvent.VK_CONTROL);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CONVERT,
+                                 KeyEvent.VK_CONVERT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_COPY,
+                                 KeyEvent.VK_COPY);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_CUT,
+                                 KeyEvent.VK_CUT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_DELETE,
+                                 KeyEvent.VK_DELETE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_D,
+                                 KeyEvent.VK_D);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_DOLLAR,
+                                 KeyEvent.VK_DOLLAR);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_DOWN,
+                                 KeyEvent.VK_DOWN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_E,
+                                 KeyEvent.VK_E);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_END,
+                                 KeyEvent.VK_END);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ENTER,
+                                 KeyEvent.VK_ENTER);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_EQUALS,
+                                 KeyEvent.VK_EQUALS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ESCAPE,
+                                 KeyEvent.VK_ESCAPE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_EURO,
+                                 KeyEvent.VK_EURO_SIGN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_EXCLAMATION,
+                                 KeyEvent.VK_EXCLAMATION_MARK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F10,
+                                 KeyEvent.VK_F10);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F11,
+                                 KeyEvent.VK_F11);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F12,
+                                 KeyEvent.VK_F12);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F13,
+                                 KeyEvent.VK_F13);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F14,
+                                 KeyEvent.VK_F14);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F15,
+                                 KeyEvent.VK_F15);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F16,
+                                 KeyEvent.VK_F16);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F17,
+                                 KeyEvent.VK_F17);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F18,
+                                 KeyEvent.VK_F18);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F19,
+                                 KeyEvent.VK_F19);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F1,
+                                 KeyEvent.VK_F1);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F20,
+                                 KeyEvent.VK_F20);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F21,
+                                 KeyEvent.VK_F21);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F22,
+                                 KeyEvent.VK_F22);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F23,
+                                 KeyEvent.VK_F23);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F24,
+                                 KeyEvent.VK_F24);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F2,
+                                 KeyEvent.VK_F2);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F3,
+                                 KeyEvent.VK_F3);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F4,
+                                 KeyEvent.VK_F4);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F5,
+                                 KeyEvent.VK_F5);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F6,
+                                 KeyEvent.VK_F6);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F7,
+                                 KeyEvent.VK_F7);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F8,
+                                 KeyEvent.VK_F8);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F9,
+                                 KeyEvent.VK_F9);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_FINAL_MODE,
+                                 KeyEvent.VK_FINAL);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_FIND,
+                                 KeyEvent.VK_FIND);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_F,
+                                 KeyEvent.VK_F);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_FULL_STOP,
+                                 KeyEvent.VK_PERIOD);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_FULL_WIDTH,
+                                 KeyEvent.VK_FULL_WIDTH);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_G,
+                                 KeyEvent.VK_G);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_GRAVE,
+                                 KeyEvent.VK_BACK_QUOTE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_GREATER_THAN,
+                                 KeyEvent.VK_GREATER);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_HALF_WIDTH,
+                                 KeyEvent.VK_HALF_WIDTH);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_HASH,
+                                 KeyEvent.VK_NUMBER_SIGN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_HELP,
+                                 KeyEvent.VK_HELP);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_HIRAGANA,
+                                 KeyEvent.VK_HIRAGANA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_H,
+                                 KeyEvent.VK_H);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_HOME,
+                                 KeyEvent.VK_HOME);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_I,
+                                 KeyEvent.VK_I);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_INSERT,
+                                 KeyEvent.VK_INSERT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_INVERTED_EXCLAMATION,
+                                 KeyEvent.VK_INVERTED_EXCLAMATION_MARK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_JAPANESE_HIRAGANA,
+                                 KeyEvent.VK_JAPANESE_HIRAGANA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_JAPANESE_KATAKANA,
+                                 KeyEvent.VK_JAPANESE_KATAKANA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_JAPANESE_ROMAJI,
+                                 KeyEvent.VK_JAPANESE_ROMAN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_J,
+                                 KeyEvent.VK_J);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_KANA_MODE,
+                                 KeyEvent.VK_KANA_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_KANJI_MODE,
+                                 KeyEvent.VK_KANJI);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_KATAKANA,
+                                 KeyEvent.VK_KATAKANA);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_K,
+                                 KeyEvent.VK_K);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LEFT_BRACE,
+                                 KeyEvent.VK_BRACELEFT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LEFT,
+                                 KeyEvent.VK_LEFT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LEFT_PARENTHESIS,
+                                 KeyEvent.VK_LEFT_PARENTHESIS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LEFT_SQUARE_BRACKET,
+                                 KeyEvent.VK_OPEN_BRACKET);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LESS_THAN,
+                                 KeyEvent.VK_LESS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_L,
+                                 KeyEvent.VK_L);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_META,
+                                 KeyEvent.VK_META);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_META,
+                                 KeyEvent.VK_META);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_MINUS,
+                                 KeyEvent.VK_MINUS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_M,
+                                 KeyEvent.VK_M);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_MODE_CHANGE,
+                                 KeyEvent.VK_MODECHANGE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_N,
+                                 KeyEvent.VK_N);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_NONCONVERT,
+                                 KeyEvent.VK_NONCONVERT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_NUM_LOCK,
+                                 KeyEvent.VK_NUM_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_NUM_LOCK,
+                                 KeyEvent.VK_NUM_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_O,
+                                 KeyEvent.VK_O);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PAGE_DOWN,
+                                 KeyEvent.VK_PAGE_DOWN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PAGE_UP,
+                                 KeyEvent.VK_PAGE_UP);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PASTE,
+                                 KeyEvent.VK_PASTE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PAUSE,
+                                 KeyEvent.VK_PAUSE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_P,
+                                 KeyEvent.VK_P);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PLUS,
+                                 KeyEvent.VK_PLUS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PREVIOUS_CANDIDATE,
+                                 KeyEvent.VK_PREVIOUS_CANDIDATE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PRINT_SCREEN,
+                                 KeyEvent.VK_PRINTSCREEN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PROPS,
+                                 KeyEvent.VK_PROPS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_Q,
+                                 KeyEvent.VK_Q);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_QUOTE,
+                                 KeyEvent.VK_QUOTEDBL);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_RIGHT_BRACE,
+                                 KeyEvent.VK_BRACERIGHT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_RIGHT,
+                                 KeyEvent.VK_RIGHT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_RIGHT_PARENTHESIS,
+                                 KeyEvent.VK_RIGHT_PARENTHESIS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_RIGHT_SQUARE_BRACKET,
+                                 KeyEvent.VK_CLOSE_BRACKET);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_R,
+                                 KeyEvent.VK_R);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ROMAN_CHARACTERS,
+                                 KeyEvent.VK_ROMAN_CHARACTERS);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SCROLL,
+                                 KeyEvent.VK_SCROLL_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SCROLL,
+                                 KeyEvent.VK_SCROLL_LOCK);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SEMICOLON,
+                                 KeyEvent.VK_SEMICOLON);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SEMIVOICED_SOUND,
+                                 KeyEvent.VK_DEAD_SEMIVOICED_SOUND);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SHIFT,
+                                 KeyEvent.VK_SHIFT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SHIFT,
+                                 KeyEvent.VK_SHIFT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_S,
+                                 KeyEvent.VK_S);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SLASH,
+                                 KeyEvent.VK_SLASH);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SPACE,
+                                 KeyEvent.VK_SPACE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_STOP,
+                                 KeyEvent.VK_STOP);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_TAB,
+                                 KeyEvent.VK_TAB);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_T,
+                                 KeyEvent.VK_T);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_U,
+                                 KeyEvent.VK_U);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_UNDERSCORE,
+                                 KeyEvent.VK_UNDERSCORE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_UNDO,
+                                 KeyEvent.VK_UNDO);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_UNIDENTIFIED,
+                                 KeyEvent.VK_UNDEFINED);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_UP,
+                                 KeyEvent.VK_UP);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_V,
+                                 KeyEvent.VK_V);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_VOICED_SOUND,
+                                 KeyEvent.VK_DEAD_VOICED_SOUND);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_W,
+                                 KeyEvent.VK_W);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_X,
+                                 KeyEvent.VK_X);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_Y,
+                                 KeyEvent.VK_Y);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_Z,
+                                 KeyEvent.VK_Z);
+            // Java keycodes for duplicate keys
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_0,
+                                 KeyEvent.VK_NUMPAD0);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_1,
+                                 KeyEvent.VK_NUMPAD1);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_2,
+                                 KeyEvent.VK_NUMPAD2);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_3,
+                                 KeyEvent.VK_NUMPAD3);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_4,
+                                 KeyEvent.VK_NUMPAD4);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_5,
+                                 KeyEvent.VK_NUMPAD5);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_6,
+                                 KeyEvent.VK_NUMPAD6);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_7,
+                                 KeyEvent.VK_NUMPAD7);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_8,
+                                 KeyEvent.VK_NUMPAD8);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_9,
+                                 KeyEvent.VK_NUMPAD9);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_ASTERISK,
+                                 KeyEvent.VK_MULTIPLY);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_DOWN,
+                                 KeyEvent.VK_KP_DOWN);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_FULL_STOP,
+                                 KeyEvent.VK_DECIMAL);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_LEFT,
+                                 KeyEvent.VK_KP_LEFT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_MINUS,
+                                 KeyEvent.VK_SUBTRACT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_PLUS,
+                                 KeyEvent.VK_ADD);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_RIGHT,
+                                 KeyEvent.VK_KP_RIGHT);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_SLASH,
+                                 KeyEvent.VK_DIVIDE);
+            putIdentifierKeyCode(DOMKeyboardEvent.KEY_UP,
+                                 KeyEvent.VK_KP_UP);
+        }
+
+        /**
+         * Put a key code to key identifier mapping into the
+         * IDENTIFIER_KEY_CODES table.
+         */
+        protected static void putIdentifierKeyCode(String keyIdentifier,
+                                                   int keyCode) {
+            if (IDENTIFIER_KEY_CODES[keyCode / 256] == null) {
+                IDENTIFIER_KEY_CODES[keyCode / 256] = new String[256];
+            }
+            IDENTIFIER_KEY_CODES[keyCode / 256][keyCode % 256] = keyIdentifier;
+        }
+
+        /**
+         * Convert a Java key code to a DOM 3 key string.
+         */
+        protected String mapKeyCodeToIdentifier(int keyCode) {
+            String[] a = IDENTIFIER_KEY_CODES[keyCode / 256];
+            if (a == null) {
+                return DOMKeyboardEvent.KEY_UNIDENTIFIED;
+            }
+            return a[keyCode % 256];
+        }
+
+        // MouseWheel ------------------------------------------------------
+
+        public void mouseWheelMoved(GraphicsNodeMouseWheelEvent evt) {
+            Document doc = context.getPrimaryBridgeContext().getDocument();
+            Element targetElement = doc.getDocumentElement();
+            DocumentEvent d = (DocumentEvent) doc;
+            SVGOMWheelEvent wheelEvt
+                = (SVGOMWheelEvent) d.createEvent("WheelEvent");
+            wheelEvt.initWheelEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                      "wheel", 
+                                      true,
+                                      true,
+                                      null,
+                                      evt.getWheelDelta());
+
+            try {
+                ((EventTarget)targetElement).dispatchEvent(wheelEvt);
+            } catch (RuntimeException e) {
+                ua.displayError(e);
+            }
+        }
+
+        // Mouse -----------------------------------------------------------
+
+        public void mouseEntered(GraphicsNodeMouseEvent evt) {
+            Point clientXY = evt.getClientPoint();
+            GraphicsNode node = evt.getGraphicsNode();
+            Element targetElement = getEventTarget
+                (node, new Point2D.Float(evt.getX(), evt.getY()));
+            Element relatedElement = getRelatedElement(evt);
+            int n = 0;
+            if (relatedElement != null && targetElement != null) {
+                n = DefaultXBLManager.computeBubbleLimit(targetElement,
+                                                         relatedElement);
+            }
+            dispatchMouseEvent("mouseover", 
+                               targetElement,
+                               relatedElement,
+                               clientXY, 
+                               evt, 
+                               true,
+                               n);
+        }
+
+        public void mouseExited(GraphicsNodeMouseEvent evt) {
+            Point clientXY = evt.getClientPoint();
+            // Get the 'new' node for the DOM event.
+            GraphicsNode node = evt.getRelatedNode();
+            Element targetElement = getEventTarget(node, clientXY);
+            if (lastTargetElement != null) {
+                int n = 0;
+                if (targetElement != null) {
+                    // moving from one element to another
+                    n = DefaultXBLManager.computeBubbleLimit(lastTargetElement,
+                                                             targetElement);
+                }
+                dispatchMouseEvent("mouseout", 
+                                   lastTargetElement, // target
+                                   targetElement,     // relatedTarget
+                                   clientXY,
+                                   evt,
+                                   true,
+                                   n);
+                lastTargetElement = null;
+            }
+        }
+
+        public void mouseMoved(GraphicsNodeMouseEvent evt) {
+            Point clientXY = evt.getClientPoint();
+            GraphicsNode node = evt.getGraphicsNode();
+            Element targetElement = getEventTarget(node, clientXY);
+            Element holdLTE = lastTargetElement;
+            if (holdLTE != targetElement) {
+                if (holdLTE != null) {
+                    int n = 0;
+                    if (targetElement != null) {
+                        n = DefaultXBLManager.computeBubbleLimit(holdLTE,
+                                                                 targetElement);
+                    }
+                    dispatchMouseEvent("mouseout", 
+                                       holdLTE, // target
+                                       targetElement,     // relatedTarget
+                                       clientXY,
+                                       evt,
+                                       true,
+                                       n);
+                }
+                if (targetElement != null) {
+                    int n = 0;
+                    if (holdLTE != null) {
+                        n = DefaultXBLManager.computeBubbleLimit(targetElement,
+                                                                 holdLTE);
+                    }
+                    dispatchMouseEvent("mouseover", 
+                                       targetElement,     // target
+                                       holdLTE, // relatedTarget
+                                       clientXY,
+                                       evt,
+                                       true,
+                                       n);
+                }
+            }
+            dispatchMouseEvent("mousemove", 
+                               targetElement,     // target
+                               null,              // relatedTarget
+                               clientXY,
+                               evt,
+                               false,
+                               0);
+        }
+
+
+        /**
+         * Dispatches a DOM MouseEvent according to the specified
+         * parameters.
+         *
+         * @param eventType the event type
+         * @param targetElement the target of the event
+         * @param relatedElement the related target if any
+         * @param clientXY the mouse coordinates in the client space
+         * @param evt the GVT GraphicsNodeMouseEvent
+         * @param cancelable true means the event is cancelable
+         */
+        protected void dispatchMouseEvent(String eventType,
+                                          Element targetElement,
+                                          Element relatedElement,
+                                          Point clientXY,
+                                          GraphicsNodeMouseEvent evt,
+                                          boolean cancelable) {
+            dispatchMouseEvent(eventType, targetElement, relatedElement,
+                               clientXY, evt, cancelable, 0);
+        }
+
+        /**
+         * Dispatches a DOM MouseEvent according to the specified
+         * parameters.
+         *
+         * @param eventType the event type
+         * @param targetElement the target of the event
+         * @param relatedElement the related target if any
+         * @param clientXY the mouse coordinates in the client space
+         * @param evt the GVT GraphicsNodeMouseEvent
+         * @param cancelable true means the event is cancelable
+         * @param bubbleLimit the limit to the number of nodes the event
+         *                    will bubble to
+         */
+        protected void dispatchMouseEvent(String eventType,
+                                          Element targetElement,
+                                          Element relatedElement,
+                                          Point clientXY,
+                                          GraphicsNodeMouseEvent evt,
+                                          boolean cancelable,
+                                          int bubbleLimit) {
+            if (ctx12.mouseCaptureTarget != null) {
+                NodeEventTarget net = null;
+                if (targetElement != null) {
+                    net = (NodeEventTarget) targetElement;
+                    while (net != null && net != ctx12.mouseCaptureTarget) {
+                        net = net.getParentNodeEventTarget();
+                    }
+                }
+                if (net == null) {
+                    if (ctx12.mouseCaptureSendAll) {
+                        targetElement = (Element) ctx12.mouseCaptureTarget;
+                    } else {
+                        targetElement = null;
+                    }
+                }
+            }
+
+            if (targetElement != null) {
+                Point screenXY = evt.getScreenPoint();
+                // create the coresponding DOM MouseEvent
+                DocumentEvent d
+                    = (DocumentEvent) targetElement.getOwnerDocument();
+                DOMMouseEvent mouseEvt
+                    = (DOMMouseEvent) d.createEvent("MouseEvents");
+                String modifiers
+                    = DOMUtilities.getModifiersList(evt.getLockState(),
+                                                    evt.getModifiers());
+                mouseEvt.initMouseEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                                          eventType, 
+                                          true, 
+                                          cancelable, 
+                                          null,
+                                          evt.getClickCount(),
+                                          screenXY.x, 
+                                          screenXY.y,
+                                          clientXY.x,
+                                          clientXY.y,
+                                          (short) (evt.getButton() - 1), 
+                                          (EventTarget) relatedElement,
+                                          modifiers);
+
+                ((AbstractEvent) mouseEvt).setBubbleLimit(bubbleLimit);
+
+                try {
+                    ((EventTarget) targetElement).dispatchEvent(mouseEvt);
+                } catch (RuntimeException e) {
+                    ua.displayError(e);
+                } finally {
+                    lastTargetElement = targetElement;
+                }
+            }
+
+            if (ctx12.mouseCaptureTarget != null
+                    && ctx12.mouseCaptureAutoRelease
+                    && "mouseup".equals(eventType)) {
+                ctx12.stopMouseCapture();
+            }
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeExtension.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeExtension.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeExtension.java
index b3a73c9..789eba5 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeExtension.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeExtension.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2002,2004-2005  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,11 +24,16 @@ import java.util.Iterator;
 import org.apache.flex.forks.batik.bridge.BridgeContext;
 import org.apache.flex.forks.batik.bridge.SVGBridgeExtension;
 import org.apache.flex.forks.batik.util.SVGConstants;
+import org.apache.flex.forks.batik.util.SVG12Constants;
+import org.apache.flex.forks.batik.util.XBLConstants;
 import org.w3c.dom.Element;
 
 /**
  * This is a Service interface for classes that want to extend the
  * functionality of the Bridge, to support new tags in the rendering tree.
+ *
+ * @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
+ * @version $Id: SVG12BridgeExtension.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class SVG12BridgeExtension extends SVGBridgeExtension {
 
@@ -93,8 +99,48 @@ public class SVG12BridgeExtension extends SVGBridgeExtension {
         // bridges to handle elements in the SVG namespace
         super.registerTags(ctx);
 
+        // Bridges for SVG 1.2 elements
         ctx.putBridge(new SVGFlowRootElementBridge());
         ctx.putBridge(new SVGMultiImageElementBridge());
         ctx.putBridge(new SVGSolidColorElementBridge());
+
+        ctx.putBridge(new SVG12TextElementBridge());
+
+        // Bridges for XBL shadow trees and content elements
+        ctx.putBridge(new XBLShadowTreeElementBridge());
+        ctx.putBridge(new XBLContentElementBridge());
+
+        // Default bridge to handle bindable elements
+        ctx.setDefaultBridge(new BindableElementBridge());
+
+        // Namespaces to avoid for default bridges
+        ctx.putReservedNamespaceURI(null);
+        ctx.putReservedNamespaceURI(SVGConstants.SVG_NAMESPACE_URI);
+        ctx.putReservedNamespaceURI(XBLConstants.XBL_NAMESPACE_URI);
+    }
+
+    /**
+     * Whether the presence of the specified element should cause
+     * the document to be dynamic.  If this element isn't handled
+     * by this BridgeExtension, just return false.
+     *
+     * @param e The element to check.
+     */
+    public boolean isDynamicElement(Element e) {
+        String ns = e.getNamespaceURI();
+        if (XBLConstants.XBL_NAMESPACE_URI.equals(ns)) {
+            return true;
+        }
+        if (!SVGConstants.SVG_NAMESPACE_URI.equals(ns)) {
+            return false;
+        }
+        String ln = e.getLocalName();
+        if (ln.equals(SVGConstants.SVG_SCRIPT_TAG)
+                || ln.equals(SVG12Constants.SVG_HANDLER_TAG)
+                || ln.startsWith("animate")
+                || ln.equals("set")) {
+            return true;
+        }
+        return false;
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeUpdateHandler.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeUpdateHandler.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeUpdateHandler.java
new file mode 100644
index 0000000..480f5ee
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12BridgeUpdateHandler.java
@@ -0,0 +1,44 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.BridgeUpdateHandler;
+
+import org.w3c.dom.Element;
+
+/**
+ * A BridgeUpdateHandler interface for SVG 1.2 specific events.  This is
+ * for XBL event notification.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12BridgeUpdateHandler.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public interface SVG12BridgeUpdateHandler extends BridgeUpdateHandler {
+
+    /**
+     * Invoked when a bindable element's binding has changed.
+     */
+    void handleBindingEvent(Element bindableElement, Element shadowTree);
+
+    /**
+     * Invoked when the xblChildNodes property has changed because a
+     * descendant xbl:content element has updated its selected nodes.
+     */
+    void handleContentSelectionChangedEvent(ContentSelectionChangedEvent csce);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12FocusManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12FocusManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12FocusManager.java
new file mode 100644
index 0000000..0287579
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/svg12/SVG12FocusManager.java
@@ -0,0 +1,202 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge.svg12;
+
+import org.apache.flex.forks.batik.bridge.FocusManager;
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.dom.events.AbstractEvent;
+import org.apache.flex.forks.batik.dom.events.DOMUIEvent;
+import org.apache.flex.forks.batik.dom.events.EventSupport;
+import org.apache.flex.forks.batik.dom.svg12.XBLEventSupport;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.events.DocumentEvent;
+import org.w3c.dom.events.Event;
+import org.w3c.dom.events.EventTarget;
+
+/**
+ * Focus manager for SVG 1.2 documents.  Ensures bubble limits of DOM
+ * focus events are set appropriately for sXBL. support.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: SVG12FocusManager.java 475477 2006-11-15 22:44:28Z cam $
+ */
+public class SVG12FocusManager extends FocusManager {
+
+    /**
+     * Constructs a new <tt>SVG12FocusManager</tt> for the specified document.
+     *
+     * @param doc the document
+     */
+    public SVG12FocusManager(Document doc) {
+        super(doc);
+    }
+
+    /**
+     * Adds the event listeners to the document.
+     */
+    protected void addEventListeners(Document doc) {
+        AbstractNode n = (AbstractNode) doc;
+        XBLEventSupport es = (XBLEventSupport) n.initializeEventSupport();
+
+        mouseclickListener = new MouseClickTracker();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "click",
+             mouseclickListener, true);
+
+        mouseoverListener = new MouseOverTracker();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseover",
+             mouseoverListener, true);
+
+        mouseoutListener = new MouseOutTracker();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseout",
+             mouseoutListener, true);
+
+        domFocusInListener = new DOMFocusInTracker();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusIn",
+             domFocusInListener, true);
+
+        domFocusOutListener = new DOMFocusOutTracker();
+        es.addImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusOut",
+             domFocusOutListener, true);
+    }
+
+    /**
+     * Removes the event listeners from the document.
+     */
+    protected void removeEventListeners(Document doc) {
+        AbstractNode n = (AbstractNode) doc;
+        XBLEventSupport es = (XBLEventSupport) n.getEventSupport();
+
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "click",
+             mouseclickListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseover",
+             mouseoverListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseout",
+             mouseoutListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusIn",
+             domFocusInListener, true);
+        es.removeImplementationEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusOut",
+             domFocusOutListener, true);
+    }
+
+    /**
+     * The class that is responsible for tracking 'mouseclick' changes.
+     */
+    protected class MouseClickTracker extends FocusManager.MouseClickTracker {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * The class that is responsible for tracking 'DOMFocusIn' changes.
+     */
+    protected class DOMFocusInTracker extends FocusManager.DOMFocusInTracker {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * The class that is responsible for tracking 'mouseover' changes.
+     */
+    protected class MouseOverTracker extends FocusManager.MouseOverTracker {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * The class that is responsible for tracking 'mouseout' changes.
+     */
+    protected class MouseOutTracker extends FocusManager.MouseOutTracker {
+        public void handleEvent(Event evt) {
+            super.handleEvent(EventSupport.getUltimateOriginalEvent(evt));
+        }
+    }
+
+    /**
+     * Fires a 'DOMFocusIn' event to the specified target.
+     *
+     * @param target the newly focussed event target
+     * @param relatedTarget the previously focussed event target
+     */
+    protected void fireDOMFocusInEvent(EventTarget target,
+                                       EventTarget relatedTarget) {
+        DocumentEvent docEvt = 
+            (DocumentEvent)((Element)target).getOwnerDocument();
+        DOMUIEvent uiEvt = (DOMUIEvent)docEvt.createEvent("UIEvents");
+        uiEvt.initUIEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                            "DOMFocusIn",
+                            true,
+                            false,  // canBubbleArg
+                            null,   // cancelableArg
+                            0);     // detailArg
+        int limit = DefaultXBLManager.computeBubbleLimit((Node) relatedTarget,
+                                                         (Node) target);
+        ((AbstractEvent) uiEvt).setBubbleLimit(limit);
+        target.dispatchEvent(uiEvt);
+    }
+
+    /**
+     * Fires a 'DOMFocusOut' event to the specified target.
+     *
+     * @param target the previously focussed event target
+     * @param relatedTarget the newly focussed event target
+     */
+    protected void fireDOMFocusOutEvent(EventTarget target,
+                                        EventTarget relatedTarget) {
+        DocumentEvent docEvt = 
+            (DocumentEvent)((Element)target).getOwnerDocument();
+        DOMUIEvent uiEvt = (DOMUIEvent)docEvt.createEvent("UIEvents");
+        uiEvt.initUIEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                            "DOMFocusOut",
+                            true,
+                            false,  // canBubbleArg
+                            null,   // cancelableArg
+                            0);     // detailArg
+        int limit = DefaultXBLManager.computeBubbleLimit((Node) target,
+                                                         (Node) relatedTarget);
+        ((AbstractEvent) uiEvt).setBubbleLimit(limit);
+        target.dispatchEvent(uiEvt);
+    }
+}


[33/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-attribs.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-attribs.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-attribs.mod
index 2e9f1f5..dc31dc6 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-attribs.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-attribs.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-attribs.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-attribs.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-attribs.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-attribs.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-attribs.mod
index df68161..9e28e42 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-attribs.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-attribs.mod
@@ -4,7 +4,7 @@
 
      This is SVG Basic, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-attribs.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-attribs.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-flat.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-flat.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-flat.dtd
index 5392e9d..cdfc25f 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-flat.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-flat.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG Basic DTD.
@@ -76,7 +76,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -107,7 +107,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -201,7 +201,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -463,7 +463,7 @@
 
      This is SVG Basic, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -659,7 +659,7 @@
 
      This is SVG Basic, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -851,7 +851,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -909,7 +909,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -959,7 +959,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1080,7 +1080,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1132,7 +1132,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1209,7 +1209,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1276,7 +1276,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1364,7 +1364,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1421,7 +1421,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1509,7 +1509,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1553,7 +1553,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1902,7 +1902,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2043,7 +2043,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2144,7 +2144,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2233,7 +2233,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2560,7 +2560,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2996,7 +2996,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3077,7 +3077,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3235,7 +3235,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3370,7 +3370,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3479,7 +3479,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3620,7 +3620,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4182,7 +4182,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4268,7 +4268,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4399,7 +4399,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4471,7 +4471,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4542,7 +4542,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4828,7 +4828,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5214,7 +5214,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-model.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-model.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-model.mod
index f248c79..46e0479 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-model.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic-model.mod
@@ -4,7 +4,7 @@
 
      This is SVG Basic, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-basic-model.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-basic-model.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic.dtd
index d3463ca..7a824b2 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-basic.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11-basic.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11-basic.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG Basic DTD.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-flat.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-flat.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-flat.dtd
index 5a95b39..2e99adb 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-flat.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-flat.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG DTD.
@@ -76,7 +76,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -107,7 +107,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -201,7 +201,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -463,7 +463,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -665,7 +665,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -869,7 +869,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -927,7 +927,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -972,7 +972,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1022,7 +1022,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1143,7 +1143,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1195,7 +1195,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1272,7 +1272,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1339,7 +1339,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1427,7 +1427,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1484,7 +1484,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1572,7 +1572,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1616,7 +1616,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1965,7 +1965,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2106,7 +2106,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2207,7 +2207,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2296,7 +2296,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2623,7 +2623,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3059,7 +3059,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3202,7 +3202,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3283,7 +3283,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3441,7 +3441,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3576,7 +3576,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3685,7 +3685,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3826,7 +3826,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4641,7 +4641,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4727,7 +4727,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4858,7 +4858,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4930,7 +4930,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5001,7 +5001,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5287,7 +5287,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5673,7 +5673,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-model.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-model.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-model.mod
index d3947b4..4732fd9 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-model.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-model.mod
@@ -4,7 +4,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-model.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-model.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-attribs.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-attribs.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-attribs.mod
index bb19561..46e42fa 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-attribs.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-attribs.mod
@@ -4,7 +4,7 @@
 
      This is SVG Tiny, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-attribs.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-attribs.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-flat.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-flat.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-flat.dtd
index 88df8bd..1027f41 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-flat.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-flat.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG Tiny DTD.
@@ -76,7 +76,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -107,7 +107,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -201,7 +201,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -463,7 +463,7 @@
 
      This is SVG Tiny, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -607,7 +607,7 @@
 
      This is SVG Tiny, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -687,7 +687,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -745,7 +745,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -866,7 +866,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -917,7 +917,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -984,7 +984,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1072,7 +1072,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1129,7 +1129,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1217,7 +1217,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1261,7 +1261,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1578,7 +1578,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1719,7 +1719,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1820,7 +1820,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1909,7 +1909,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2236,7 +2236,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2438,7 +2438,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2569,7 +2569,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2641,7 +2641,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2712,7 +2712,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2998,7 +2998,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3334,7 +3334,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-flat.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-flat.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-model.mod
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-model.mod b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-model.mod
index a88e6c8..cb04a59 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-model.mod
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny-model.mod
@@ -4,7 +4,7 @@
 
      This is SVG Tiny, a proper subset of SVG.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg11-tiny-model.mod,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+     Revision: $Id: svg11-tiny-model.mod 201058 2002-11-13 09:51:12Z vhardy $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny.dtd
index 8706d32..abe5e67 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11-tiny.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11-tiny.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11-tiny.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG Tiny DTD.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11.dtd
index fe45b0b..f13da82 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg11.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg11.dtd,v 1.1 2002/11/13 09:51:12 vhardy Exp $
+        Revision: $Id: svg11.dtd 201058 2002-11-13 09:51:12Z vhardy $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG DTD.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg12-flat.dtd
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg12-flat.dtd b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg12-flat.dtd
index 8bacda4..c5290f3 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg12-flat.dtd
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/dom/svg/resources/svg12-flat.dtd
@@ -22,7 +22,7 @@
      It is provided "as is" without expressed or implied warranty.
 
         Author:   Jun Fujisawa <fu...@canon.co.jp>
-        Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+        Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
 -->
 <!-- This is the driver file for version 1.1 of the SVG DTD.
@@ -76,7 +76,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -107,7 +107,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -201,7 +201,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -463,7 +463,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -665,7 +665,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -869,7 +869,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -927,7 +927,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -972,7 +972,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1022,7 +1022,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1143,7 +1143,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1195,7 +1195,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1272,7 +1272,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1339,7 +1339,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1427,7 +1427,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1484,7 +1484,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1572,7 +1572,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1616,7 +1616,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -1965,7 +1965,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2106,7 +2106,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2207,7 +2207,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2296,7 +2296,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -2623,7 +2623,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3059,7 +3059,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3202,7 +3202,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3283,7 +3283,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3441,7 +3441,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3576,7 +3576,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3685,7 +3685,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -3826,7 +3826,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4641,7 +4641,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4727,7 +4727,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4858,7 +4858,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -4930,7 +4930,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5001,7 +5001,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5287,7 +5287,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 
@@ -5673,7 +5673,7 @@
 
      This is SVG, a language for describing two-dimensional graphics in XML.
      Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
-     Revision: $Id: svg12-flat.dtd,v 1.1 2004/11/18 01:46:49 deweese Exp $
+     Revision: $Id: svg12-flat.dtd 201394 2004-11-18 01:47:06Z deweese $
 
      This DTD module is identified by the PUBLIC and SYSTEM identifiers:
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/codec/properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/codec/properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/codec/properties
index b90596d..29940f7 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/codec/properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/codec/properties
@@ -16,91 +16,3 @@
 ##  limitations under the License.
 ##
 ################################################################################
-FileCacheSeekableStream0=pos < 0.
-FileSeekableStream0=pos < 0.
-FloatDoubleColorModel0=transferType must be DataBuffer.TYPE_FLOAT or DataBuffer.TYPE_DOUBLE.
-FloatDoubleColorModel10=elements required in the components array.
-FloatDoubleColorModel1=getRed(int) not supported by this ColorModel.
-FloatDoubleColorModel2=getGreen(int) not supported by this ColorModel.
-FloatDoubleColorModel3=getBlue(int) not supported by this ColorModel.
-FloatDoubleColorModel4=getAlpha(int) not supported by this ColorModel.
-FloatDoubleColorModel5=getRGB(int) not supported by this ColorModel.
-FloatDoubleColorModel6=raster transfer type must match that of this ColorModel.
-FloatDoubleColorModel7=Type of pixel does not match transfer type.
-FloatDoubleColorModel8=pixel array is not large enough to hold all color/alpha components.
-FloatDoubleColorModel9=Pixel values for FloatDoubleColorModel cannot be represented as a single integer.
-MemoryCacheSeekableStream0=pos < 0.
-PNGCodec0=PNG encoding not supported yet.
-PNGDecodeParam0=User exponent must not be negative.
-PNGDecodeParam1=Display exponent must not be negative.
-PNGEncodeParam0=Bad palette length.
-PNGEncodeParam10=Transparent RGB value has not been set.
-PNGEncodeParam11=Grayscale bit depth has not been set.
-PNGEncodeParam12=Chromaticity has not been set.
-PNGEncodeParam13=Gamma has not been set.
-PNGEncodeParam14=Palette histogram has not been set.
-PNGEncodeParam15=ICC profile has not been set.
-PNGEncodeParam16=Physical dimension information has not been set.
-PNGEncodeParam17=Suggested palette information has not been set.
-PNGEncodeParam18=Significant bits values have not been set.
-PNGEncodeParam19=sRGB rendereding intent has not been set.
-PNGEncodeParam1=Not divisible by 3.
-PNGEncodeParam20=Uncompressed text strings have not been set.
-PNGEncodeParam21=Modification time has not been set.
-PNGEncodeParam22=Compressed text strings have not been set.
-PNGEncodeParam23='unsetBackground' not implemented by the superclass 'PNGEncodeParam'.
-PNGEncodeParam24='isBackgroundSet' not implemented by the superclass 'PNGEncodeParam'.
-PNGEncodeParam2=Bit depth not equal to 1, 2, 4, or 8.
-PNGEncodeParam3=RGB palette has not been set.
-PNGEncodeParam4=background palette index has not been set.
-PNGEncodeParam5=Palette transparency has not been set.
-PNGEncodeParam6=Background gray level has not been set.
-PNGEncodeParam7=Transparent gray value has not been set.
-PNGEncodeParam8=Bit shift has not been set.
-PNGEncodeParam9=RGB background color has not been set.
-PNGImageDecoder0=PNG magic number not found.
-PNGImageDecoder10=Unsupported PNG filter method (not 0).
-PNGImageDecoder11=Unsupported PNG interlace method (not 0 or 1).
-PNGImageDecoder12=Unknown PNG pHYs unit specifier (not 0 or 1).
-PNGImageDecoder13=Illegal PNG sBit value (< 0 or > bit depth).
-PNGImageDecoder14=Too many PNG alpha palette entries.
-PNGImageDecoder15=PNG image already has alpha, can't have tRNS chunk.
-PNGImageDecoder16=Unknown PNG filter type (not 0-4).
-PNGImageDecoder17=Illegal tile requested from a PNG image.
-PNGImageDecoder18=PNG can't have hIST chunk without a PLTE chunk.
-PNGImageDecoder19=Illegal page requested from a PNG file.
-PNGImageDecoder1=Error reading PNG header.
-PNGImageDecoder2=I/O error reading PNG file.
-PNGImageDecoder3=Illegal bit depth for a PNG image.
-PNGImageDecoder4=Bad color type for a PNG image.
-PNGImageDecoder5=An RGB PNG image can't have a bit depth less than 8.
-PNGImageDecoder6=A palette-color PNG image can't have a bit depth of 16.
-PNGImageDecoder7=A PNG Gray+Alpha image can't have a bit depth less than 8.
-PNGImageDecoder8=A PNG RGB+Alpha image can't have a bit depth less than 8.
-PNGImageDecoder9=Unsupported PNG compression method (not 0).
-PNMImageDecoder0=Unrecognized magic value for PBM/PGM/PPM file.
-PNMImageDecoder1=IOException occured while processing PNM.
-PNMImageDecoder5=Illegal page requested from a PNM file.
-PNMImageEncoder0=Source image has float/double data type, unsuitable for PNM file format.
-PNMImageEncoder1=Image has an IndexColorModel whose map size is to small for the data type obtained from SampleModel.
-PNMImageEncoder1=Source image has unsuitable number of bands for PNM file format.
-PropertySet0=Not implemented.
-RasterFactory0=Number of bands must be greater than 0.
-RasterFactory10=parentY lies outside raster.
-RasterFactory11=(parentX + width) is outside raster.
-RasterFactory12=(parentY + height) is outside raster.
-RasterFactory13=Illegal value for transparency.
-RasterFactory14=Transparency cannot be opaque when useAlpha is true.
-RasterFactory15=bitsPerBands must be greater than 0.
-RasterFactory16=Size of array must be smaller than Integer.MAX_VALUE.
-RasterFactory1=Bank indices array is null.
-RasterFactory2=bankIndices.length != bandOffsets.length
-RasterFactory3=Unsupported data type.
-RasterFactory4=Band offsets array is null.
-RasterFactory5=Offsets between bands must be less than the scanline stride.
-RasterFactory6=Pixel stride times width must be less than the scanline stride.
-RasterFactory7=Pixel stride must be greater than or equal to the offset between bands.
-RasterFactory8=This method does not support the input data type.
-RasterFactory9=parentX lies outside raster.
-SegmentedSeekableStream0=Source stream does not support seeking backwards.
-SingleTileRenderedImage0=Illegal tile requested from a SingleTileRenderedImage.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/spi/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/spi/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/spi/resources/Messages.properties
index 1d12c5b..014d1f3 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/spi/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/awt/image/spi/resources/Messages.properties
@@ -1,18 +1,22 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
  
 stream.unreadable = \
 Stream data is corrupt or unsupported format
@@ -21,13 +25,10 @@ stream.format.unreadable = \
 {0} stream is corrupt or unsupported variant
 
 url.unreachable = \
-Unable to access URL: \n\
-{0}
+Unable to access URL
 
 url.uninterpretable = \
-URL data in unsupported format or corrupt: \n\
-{0}
+URL data in unsupported format or corrupt
 
 url.format.unreadable =\
-{0} URL is corrupt or unsupported variant: \n\
-{1}
+{0} URL is corrupt or unsupported variant

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/swing/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/swing/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/swing/resources/Messages.properties
deleted file mode 100644
index ed11900..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/ext/swing/resources/Messages.properties
+++ /dev/null
@@ -1,60 +0,0 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
-JAffineTransformChooser.label.angle = Angle
-
-JAffineTransformChooser.label.degree = �
-
-JAffineTransformChooser.label.percent = %
-
-JAffineTransformChooser.label.rotate = Rotate
-
-JAffineTransformChooser.label.scale = Scale
-
-JAffineTransformChooser.label.rx = rx
-
-JAffineTransformChooser.label.ry = ry
-
-JAffineTransformChooser.label.sx = sx
-
-JAffineTransformChooser.label.sy = sy
-
-JAffineTransformChooser.label.translate = Translate
-
-JAffineTransformChooser.label.tx = tx
-
-JAffineTransformChooser.label.ty = ty
-
-JAffineTransformChooser.label.ok = OK
-
-JAffineTransformChooser.label.cancel = Cancel
-
-JAffineTransformChooser.label.reset = Reset
-
-#
-# JAffineTransformChooser config
-# 
-
-JAffineTransformChooser.config.text.field.width = 7
-
-JAffineTransformChooser.config.top.pad = 5
-
-JAffineTransformChooser.config.left.pad = 10
-
-JAffineTransformChooser.config.bottom.pad = 5
-
-JAffineTransformChooser.config.right.pad = 10
-

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/extensions/README.txt
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/extensions/README.txt b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/extensions/README.txt
deleted file mode 100644
index c256cf9..0000000
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/extensions/README.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-The Jar files in this directory start the same application as in the
-parent directory, except they include the Batik Extensions on the jar
-file class path.  This means that that the Batik Extensions will work
-with the applications started by these jar files.
-
-Great care should be used when using the Batik Extensions as these are
-not part of the SVG standard.  If you write content that uses these
-extensions you must be aware that this is not conformant SVG content
-and other SVG renderers will not render these documents.  These
-extensions should only be used in content used in closed systems.
-
-The primary purpose of these extensions is demonstrative and to
-generate feedback to the development of the SVG standard.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/resources/Messages.properties
index e103701..bd95089 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/resources/Messages.properties
@@ -1,22 +1,24 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The messages for the micro-parsers API.
 #
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 character.expected = \
 The character ''{0}'' was expected. The current character code is: {1}.

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/style/resources/Messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/style/resources/Messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/style/resources/Messages.properties
index b39e599..4dcb546 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/style/resources/Messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/parser/style/resources/Messages.properties
@@ -1,22 +1,24 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The default messages for the style package, in english.
 #
+# $Id: Messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 unknown.attribute = \
 The attribute with namespace URI "{0}" and local name "{1}" do\n \

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/script/rhino/resources/messages.properties
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/script/rhino/resources/messages.properties b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/script/rhino/resources/messages.properties
index 50f1a55..54b15c4 100644
--- a/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/script/rhino/resources/messages.properties
+++ b/modules/thirdparty/batik/resources/org/apache/flex/forks/batik/script/rhino/resources/messages.properties
@@ -1,25 +1,25 @@
-###########################################################################
-# Copyright 1999-2003,2005 The Apache Software Foundation.
-###########################################################################
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-# 
-#      http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-###########################################################################
-
+# -----------------------------------------------------------------------------
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements.  See the NOTICE file distributed with
+#   this work for additional information regarding copyright ownership.
+#   The ASF licenses this file to You under the Apache License, Version 2.0
+#   (the "License"); you may not use this file except in compliance with
+#   the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
 #
 # The Rhino Interpreter resources
 #
 # Author: vhardy@apache.org
-# $Id: messages.properties,v 1.3 2005/04/01 02:28:10 deweese Exp $
-#
+# $Id: messages.properties 475477 2006-11-15 22:44:28Z cam $
+# -----------------------------------------------------------------------------
 
 RhinoInterpreterFactory.exception.could.not.find.rhino.interpreter.class = \
 Got an exception while loading the RhinoInterpreter class.


[18/62] [abbrv] [partial] Merged Apache Flex 4.9.0 release branch

Posted by jm...@apache.org.
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSFontFace.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSFontFace.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSFontFace.java
index 760cf92..e210231 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSFontFace.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSFontFace.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,7 +37,7 @@ import org.w3c.dom.css.CSSPrimitiveValue;
  * This class represents a &lt;font-face> element or @font-face rule
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: CSSFontFace.java,v 1.4 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: CSSFontFace.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class CSSFontFace extends FontFace implements SVGConstants {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSUtilities.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSUtilities.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSUtilities.java
index 46b1dfd..616e259 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSUtilities.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CSSUtilities.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -50,7 +51,7 @@ import org.w3c.dom.css.CSSValue;
  * concrete objects regarding to CSS properties.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: CSSUtilities.java,v 1.51 2004/08/20 19:29:46 deweese Exp $
+ * @version $Id: CSSUtilities.java 498740 2007-01-22 18:35:57Z dvholten $
  */
 public abstract class CSSUtilities
     implements CSSConstants, ErrorConstants, XMLConstants {
@@ -78,7 +79,7 @@ public abstract class CSSUtilities
     public static Value getComputedStyle(Element e, int property) {
         CSSEngine engine = getCSSEngine(e);
         if (engine == null) return null;
-        return engine.getComputedStyle((CSSStylableElement)e, 
+        return engine.getComputedStyle((CSSStylableElement)e,
                                        null, property);
     }
 
@@ -115,7 +116,8 @@ public abstract class CSSUtilities
                 case 's':
                     return GraphicsNode.VISIBLE_STROKE;
                 default:
-                    throw new Error(); // can't be reached
+                    // can't be reached
+                    throw new IllegalStateException("unexpected event, must be one of (p,f,s) is:" + s.charAt(7) );
                 }
             }
         case 'p':
@@ -129,7 +131,8 @@ public abstract class CSSUtilities
         case 'n':
             return GraphicsNode.NONE;
         default:
-            throw new Error(); // can't be reached
+            // can't be reached
+            throw new IllegalStateException("unexpected event, must be one of (v,p,f,s,a,n) is:" + s.charAt(0) );
         }
     }
 
@@ -162,7 +165,7 @@ public abstract class CSSUtilities
             return new Rectangle2D.Float(x, y, w, h);
 
         default:
-            throw new InternalError(); // Cannot happen
+            throw new IllegalStateException("Unexpected length:" + length ); // Cannot happen
         }
     }
 
@@ -209,8 +212,8 @@ public abstract class CSSUtilities
      * Checks if the cursor property on the input element is set to auto
      */
     public static boolean isAutoCursor(Element e) {
-        Value cursorValue = 
-            CSSUtilities.getComputedStyle(e, 
+        Value cursorValue =
+            CSSUtilities.getComputedStyle(e,
                                           SVGCSSEngine.CURSOR_INDEX);
 
         boolean isAuto = false;
@@ -229,9 +232,9 @@ public abstract class CSSUtilities
                        cursorValue.getLength() == 1) {
                 Value lValue = cursorValue.item(0);
                 if (lValue != null
-                    && 
+                    &&
                     lValue.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE
-                    && 
+                    &&
                     lValue.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT
                     &&
                     lValue.getStringValue().charAt(0) == 'a') {
@@ -306,7 +309,7 @@ public abstract class CSSUtilities
 
         if (hints == null)
             hints = new RenderingHints(null);
-        
+
         switch(s.charAt(0)) {
         case 'o': // optimizeSpeed
             hints.put(RenderingHints.KEY_RENDERING,
@@ -555,6 +558,9 @@ public abstract class CSSUtilities
      * @param e the element
      */
     public static boolean convertDisplay(Element e) {
+        if (!(e instanceof CSSStylableElement)) {
+            return true;
+        }
         Value v = getComputedStyle(e, SVGCSSEngine.DISPLAY_INDEX);
         return v.getStringValue().charAt(0) != 'n';
     }
@@ -578,7 +584,7 @@ public abstract class CSSUtilities
     // 'opacity'
     /////////////////////////////////////////////////////////////////////////
 
-    public final static Composite TRANSPARENT =
+    public static final Composite TRANSPARENT =
         AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0);
 
     /**
@@ -592,7 +598,7 @@ public abstract class CSSUtilities
         float f = v.getFloatValue();
         if (f <= 0f) {
             return TRANSPARENT;
-        } else if (f >= 1f) {
+        } else if (f >= 1.0f) {
             return AlphaComposite.SrcOver;
         } else {
             return AlphaComposite.getInstance(AlphaComposite.SRC_OVER, f);
@@ -626,7 +632,8 @@ public abstract class CSSUtilities
      */
     public static float[] convertClip(Element e) {
         Value v = getComputedStyle(e, SVGCSSEngine.CLIP_INDEX);
-        switch (v.getPrimitiveType()) {
+        int primitiveType = v.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_RECT:
             float [] off = new float[4];
             off[0] = v.getTop().getFloatValue();
@@ -637,7 +644,8 @@ public abstract class CSSUtilities
         case CSSPrimitiveValue.CSS_IDENT:
             return null; // 'auto' means no offsets
         default:
-            throw new Error(); // can't be reached
+            // can't be reached
+            throw new IllegalStateException("Unexpected primitiveType:" + primitiveType );
         }
     }
 
@@ -659,7 +667,8 @@ public abstract class CSSUtilities
                                        GraphicsNode filteredNode,
                                        BridgeContext ctx) {
         Value v = getComputedStyle(filteredElement, SVGCSSEngine.FILTER_INDEX);
-        switch (v.getPrimitiveType()) {
+        int primitiveType = v.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_IDENT:
             return null; // 'filter:none'
 
@@ -668,7 +677,7 @@ public abstract class CSSUtilities
             Element filter = ctx.getReferencedElement(filteredElement, uri);
             Bridge bridge = ctx.getBridge(filter);
             if (bridge == null || !(bridge instanceof FilterBridge)) {
-                throw new BridgeException(filteredElement,
+                throw new BridgeException(ctx, filteredElement,
                                           ERR_CSS_URI_BAD_TARGET,
                                           new Object[] {uri});
             }
@@ -677,8 +686,8 @@ public abstract class CSSUtilities
                                                        filteredElement,
                                                        filteredNode);
         default:
-            throw new InternalError(); // can't be reached
-            
+            throw new IllegalStateException("Unexpected primitive type:" + primitiveType ); // can't be reached
+
         }
     }
 
@@ -700,7 +709,8 @@ public abstract class CSSUtilities
                                             BridgeContext ctx) {
         Value v = getComputedStyle(clippedElement,
                                    SVGCSSEngine.CLIP_PATH_INDEX);
-        switch (v.getPrimitiveType()) {
+        int primitiveType = v.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_IDENT:
             return null; // 'clip-path:none'
 
@@ -709,7 +719,7 @@ public abstract class CSSUtilities
             Element cp = ctx.getReferencedElement(clippedElement, uri);
             Bridge bridge = ctx.getBridge(cp);
             if (bridge == null || !(bridge instanceof ClipBridge)) {
-                throw new BridgeException(clippedElement,
+                throw new BridgeException(ctx, clippedElement,
                                           ERR_CSS_URI_BAD_TARGET,
                                           new Object[] {uri});
             }
@@ -718,8 +728,7 @@ public abstract class CSSUtilities
                                                    clippedElement,
                                                    clippedNode);
         default:
-            throw new InternalError(); // can't be reached
-            
+            throw new IllegalStateException("Unexpected primitive type:" + primitiveType ); // can't be reached
         }
     }
 
@@ -753,7 +762,8 @@ public abstract class CSSUtilities
                                    GraphicsNode maskedNode,
                                    BridgeContext ctx) {
         Value v = getComputedStyle(maskedElement, SVGCSSEngine.MASK_INDEX);
-        switch (v.getPrimitiveType()) {
+        int primitiveType = v.getPrimitiveType();
+        switch ( primitiveType ) {
         case CSSPrimitiveValue.CSS_IDENT:
             return null; // 'mask:none'
 
@@ -762,7 +772,7 @@ public abstract class CSSUtilities
             Element m = ctx.getReferencedElement(maskedElement, uri);
             Bridge bridge = ctx.getBridge(m);
             if (bridge == null || !(bridge instanceof MaskBridge)) {
-                throw new BridgeException(maskedElement,
+                throw new BridgeException(ctx, maskedElement,
                                           ERR_CSS_URI_BAD_TARGET,
                                           new Object[] {uri});
             }
@@ -771,8 +781,7 @@ public abstract class CSSUtilities
                                                    maskedElement,
                                                    maskedNode);
         default:
-            throw new InternalError(); // can't be reached
-            
+            throw new IllegalStateException("Unexpected primitive type:" + primitiveType ); // can't be reached
         }
     }
 
@@ -875,12 +884,12 @@ public abstract class CSSUtilities
     public static void computeStyleAndURIs(Element refElement,
                                            Element localRefElement,
                                            String  uri) {
-	// Pull fragement id off first...
+        // Pull fragement id off first...
         int idx = uri.indexOf('#');
         if (idx != -1)
             uri = uri.substring(0,idx);
 
-	// Only set xml:base if we have a real URL.
+        // Only set xml:base if we have a real URL.
         if (uri.length() != 0)
             localRefElement.setAttributeNS(XML_NAMESPACE_URI,
                                            "base",
@@ -888,7 +897,7 @@ public abstract class CSSUtilities
 
         CSSEngine engine    = CSSUtilities.getCSSEngine(localRefElement);
         CSSEngine refEngine = CSSUtilities.getCSSEngine(refElement);
-        
+
         engine.importCascadedStyleMaps(refElement, refEngine, localRefElement);
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ClipBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ClipBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ClipBridge.java
index 74975af..8f9a3b9 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ClipBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ClipBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -27,7 +28,7 @@ import org.w3c.dom.Element;
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
  * @author <a href="mailto:Thomas.DeWeeese@Kodak.com">Thomas DeWeese</a>
- * @version $Id: ClipBridge.java,v 1.11 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: ClipBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface ClipBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CursorManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CursorManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CursorManager.java
index bd71fc8..805aa41 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CursorManager.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/CursorManager.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,31 +37,33 @@ import java.util.Map;
 
 import org.apache.flex.forks.batik.css.engine.SVGCSSEngine;
 import org.apache.flex.forks.batik.css.engine.value.Value;
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
+import org.apache.flex.forks.batik.dom.AbstractNode;
 import org.apache.flex.forks.batik.dom.util.XLinkSupport;
 import org.apache.flex.forks.batik.ext.awt.image.PadMode;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.AffineRable8Bit;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.Filter;
 import org.apache.flex.forks.batik.ext.awt.image.renderable.PadRable8Bit;
+import org.apache.flex.forks.batik.ext.awt.image.spi.BrokenLinkProvider;
 import org.apache.flex.forks.batik.ext.awt.image.spi.ImageTagRegistry;
 import org.apache.flex.forks.batik.gvt.GraphicsNode;
 import org.apache.flex.forks.batik.util.ParsedURL;
+import org.apache.flex.forks.batik.util.Platform;
 import org.apache.flex.forks.batik.util.SVGConstants;
 import org.apache.flex.forks.batik.util.SoftReferenceCache;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.css.CSSPrimitiveValue;
 import org.w3c.dom.css.CSSValue;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-import org.w3c.flex.forks.dom.svg.SVGPreserveAspectRatio;
+import org.w3c.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGPreserveAspectRatio;
 
 
 /**
- * The CursorManager class is a helper class which preloads the cursors 
+ * The CursorManager class is a helper class which preloads the cursors
  * corresponding to the SVG built in cursors.
  *
  * @author <a href="mailto:vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: CursorManager.java,v 1.17 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: CursorManager.java 594367 2007-11-13 00:40:53Z cam $
  */
 public class CursorManager implements SVGConstants, ErrorConstants {
     /**
@@ -71,7 +74,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
     /**
      * Default cursor when value is not found
      */
-    public static final Cursor DEFAULT_CURSOR 
+    public static final Cursor DEFAULT_CURSOR
         = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
 
     /**
@@ -96,6 +99,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
      * Static initialization of the cursorMap
      */
     static {
+        Toolkit toolkit = Toolkit.getDefaultToolkit();
         cursorMap = new Hashtable();
         cursorMap.put(SVG_CROSSHAIR_VALUE,
                       Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
@@ -103,8 +107,6 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                       Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
         cursorMap.put(SVG_POINTER_VALUE,
                       Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
-        cursorMap.put(SVG_MOVE_VALUE,
-                      Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
         cursorMap.put(SVG_E_RESIZE_VALUE,
                       Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR));
         cursorMap.put(SVG_NE_RESIZE_VALUE,
@@ -125,9 +127,27 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                       Cursor.getPredefinedCursor(Cursor.TEXT_CURSOR));
         cursorMap.put(SVG_WAIT_VALUE,
                       Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
-        cursorMap.put(SVG_HELP_VALUE, 
-                      Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));  
-        
+        Cursor moveCursor = Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR);
+        if (Platform.isOSX) {
+            try {
+                Image img = toolkit.createImage
+                    (CursorManager.class.getResource("resources/move.gif"));
+                moveCursor = toolkit.createCustomCursor
+                    (img, new Point(11, 11), "move");
+            } catch (Exception ex) {
+            }
+        }
+        cursorMap.put(SVG_MOVE_VALUE, moveCursor);
+        Cursor helpCursor;
+        try {
+            Image img = toolkit.createImage
+                (CursorManager.class.getResource("resources/help.gif"));
+            helpCursor = toolkit.createCustomCursor
+                (img, new Point(1, 3), "help");
+        } catch (Exception ex) {
+            helpCursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
+        }
+        cursorMap.put(SVG_HELP_VALUE, helpCursor);
     }
 
     /**
@@ -158,8 +178,6 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         return (Cursor)cursorMap.get(cursorName);
     }
 
-
-
     /**
      * Returns the Cursor corresponding to the input element's cursor property
      *
@@ -175,16 +193,16 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             if (cursorValue.getCssValueType() == CSSValue.CSS_PRIMITIVE_VALUE
                 &&
                 cursorValue.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) {
-                // Single Value : should be one of the predefined cursors or 
+                // Single Value : should be one of the predefined cursors or
                 // 'inherit'
                 cursorStr = cursorValue.getStringValue();
                 return convertBuiltInCursor(e, cursorStr);
-            } else if (cursorValue.getCssValueType() == 
+            } else if (cursorValue.getCssValueType() ==
                        CSSValue.CSS_VALUE_LIST) {
                 int nValues = cursorValue.getLength();
                 if (nValues == 1) {
                     cursorValue = cursorValue.item(0);
-                    if (cursorValue.getPrimitiveType() == 
+                    if (cursorValue.getPrimitiveType() ==
                         CSSPrimitiveValue.CSS_IDENT) {
                         cursorStr = cursorValue.getStringValue();
                         return convertBuiltInCursor(e, cursorStr);
@@ -197,18 +215,18 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                     return convertSVGCursor(e, cursorValue);
                 }
             }
-        } 
-        
+        }
+
         return convertBuiltInCursor(e, cursorStr);
     }
-    
+
     public Cursor convertBuiltInCursor(Element e, String cursorStr) {
         Cursor cursor = null;
 
         // The CSS engine guarantees an non null, non empty string
         // as the computed value for cursor. Therefore, the following
         // test is safe.
-        if (cursorStr.charAt(0) == 'a') { 
+        if (cursorStr.charAt(0) == 'a') {
             //
             // Handle 'auto' value.
             //
@@ -248,7 +266,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                            SVGConstants.SVG_TREF_TAG.equals(tag) ) {
                     cursor = CursorManager.TEXT_CURSOR;
                 } else if (SVGConstants.SVG_IMAGE_TAG.equals(tag)) {
-                    // Do not change the cursor 
+                    // Do not change the cursor
                     return null;
                 } else {
                     cursor = CursorManager.DEFAULT_CURSOR;
@@ -260,13 +278,13 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             // Specific, logical cursor
             cursor = CursorManager.getPredefinedCursor(cursorStr);
         }
-        
+
         return cursor;
     }
 
-       
+
     /**
-     * Returns a cursor for the given value list. Note that the 
+     * Returns a cursor for the given value list. Note that the
      * code assumes that the input value has at least two entries.
      * So the caller should check that before calling the method.
      * For example, CSSUtilities.convertCursor performs that check.
@@ -278,7 +296,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             Value cursorValue = l.item(i);
             if (cursorValue.getPrimitiveType() == CSSPrimitiveValue.CSS_URI) {
                 String uri = cursorValue.getStringValue();
-                
+
                 // If the uri does not resolve to a cursor element,
                 // then, this is not a type of cursor uri we can handle:
                 // go to the next or default to logical cursor
@@ -292,7 +310,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                         throw be;
                     }
                 }
-                
+
                 if (cursorElement != null) {
                     // We go an element, check it is of type cursor
                     String cursorNS = cursorElement.getNamespaceURI();
@@ -300,14 +318,14 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                         SVGConstants.SVG_CURSOR_TAG.equals
                         (cursorElement.getLocalName())) {
                         Cursor c = convertSVGCursorElement(cursorElement);
-                        if (c != null) { 
+                        if (c != null) {
                             return c;
                         }
                     }
                 }
             }
         }
-        
+
         // If we got to that point, it means that no cursorElement
         // produced a valid cursor, i.e., either a format we support
         // or a valid referenced image (no broken image).
@@ -317,7 +335,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         if (cursorValue.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) {
             cursorStr = cursorValue.getStringValue();
         }
-          
+
         return convertBuiltInCursor(e, cursorStr);
     }
 
@@ -329,11 +347,11 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         // Try to handle its image.
         String uriStr = XLinkSupport.getXLinkHref(cursorElement);
         if (uriStr.length() == 0) {
-            throw new BridgeException(cursorElement, ERR_ATTRIBUTE_MISSING,
+            throw new BridgeException(ctx, cursorElement, ERR_ATTRIBUTE_MISSING,
                                       new Object[] {"xlink:href"});
         }
 
-        String baseURI = XMLBaseSupport.getCascadedXMLBase(cursorElement);
+        String baseURI = AbstractNode.getBaseURI(cursorElement);
         ParsedURL purl;
         if (baseURI == null) {
             purl = new ParsedURL(uriStr);
@@ -344,7 +362,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         //
         // Convert the cursor's hot spot
         //
-        UnitProcessor.Context uctx 
+        UnitProcessor.Context uctx
             = UnitProcessor.createContext(ctx, cursorElement);
 
         String s = cursorElement.getAttributeNS(null, SVG_X_ATTRIBUTE);
@@ -370,22 +388,22 @@ public class CursorManager implements SVGConstants, ErrorConstants {
 
         if (cachedCursor != null) {
             return cachedCursor;
-        } 
-        
+        }
+
         //
-        // Load image into Filter f and transform hotSpot to 
+        // Load image into Filter f and transform hotSpot to
         // cursor space.
         //
         Point2D.Float hotSpot = new Point2D.Float(x, y);
-        Filter f = cursorHrefToFilter(cursorElement, 
-                                      purl, 
+        Filter f = cursorHrefToFilter(cursorElement,
+                                      purl,
                                       hotSpot);
         if (f == null) {
             cursorCache.clearCursor(desc);
             return null;
         }
-            
-        // The returned Filter is guaranteed to create a 
+
+        // The returned Filter is guaranteed to create a
         // default rendering of the desired size
         Rectangle cursorSize = f.getBounds2D().getBounds();
         RenderedImage ri = f.createScaledRendering(cursorSize.width,
@@ -410,23 +428,23 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         // The cursor image is now into 'img'
         //
         Cursor c = Toolkit.getDefaultToolkit()
-            .createCustomCursor(img, 
+            .createCustomCursor(img,
                                 new Point(Math.round(hotSpot.x),
                                           Math.round(hotSpot.y)),
                                 purl.toString());
 
         cursorCache.putCursor(desc, c);
-        return c;        
+        return c;
     }
 
     /**
-     * Converts the input ParsedURL into a Filter and transforms the 
+     * Converts the input ParsedURL into a Filter and transforms the
      * input hotSpot point (in image space) to cursor space
      */
-    protected Filter cursorHrefToFilter(Element cursorElement, 
+    protected Filter cursorHrefToFilter(Element cursorElement,
                                         ParsedURL purl,
                                         Point2D hotSpot) {
-        
+
         AffineRable8Bit f = null;
         String uriStr = purl.toString();
         Dimension cursorSize = null;
@@ -434,30 +452,30 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         // Try to load as an SVG Document
         DocumentLoader loader = ctx.getDocumentLoader();
         SVGDocument svgDoc = (SVGDocument)cursorElement.getOwnerDocument();
-        URIResolver resolver = new URIResolver(svgDoc, loader);
+        URIResolver resolver = ctx.createURIResolver(svgDoc, loader);
         try {
             Element rootElement = null;
             Node n = resolver.getNode(uriStr, cursorElement);
             if (n.getNodeType() == Node.DOCUMENT_NODE) {
                 SVGDocument doc = (SVGDocument)n;
                 // FIXX: really should be subCtx here.
-                ctx.initializeDocument(doc); 
+                ctx.initializeDocument(doc);
                 rootElement = doc.getRootElement();
             } else {
-                throw new BridgeException 
-                    (cursorElement, ERR_URI_IMAGE_INVALID,
+                throw new BridgeException
+                    (ctx, cursorElement, ERR_URI_IMAGE_INVALID,
                      new Object[] {uriStr});
             }
             GraphicsNode node = ctx.getGVTBuilder().build(ctx, rootElement);
 
             //
-            // The cursorSize define the viewport into which the 
-            // cursor is displayed. That viewport is platform 
+            // The cursorSize define the viewport into which the
+            // cursor is displayed. That viewport is platform
             // dependant and is not defined by the SVG content.
             //
             float width  = DEFAULT_PREFERRED_WIDTH;
             float height = DEFAULT_PREFERRED_HEIGHT;
-            UnitProcessor.Context uctx 
+            UnitProcessor.Context uctx
                 = UnitProcessor.createContext(ctx, rootElement);
 
             String s = rootElement.getAttribute(SVG_WIDTH_ATTRIBUTE);
@@ -465,31 +483,29 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                 width = UnitProcessor.svgHorizontalLengthToUserSpace
                 (s, SVG_WIDTH_ATTRIBUTE, uctx);
             }
-            
+
             s = rootElement.getAttribute(SVG_HEIGHT_ATTRIBUTE);
             if (s.length() != 0) {
                 height = UnitProcessor.svgVerticalLengthToUserSpace
                     (s, SVG_HEIGHT_ATTRIBUTE, uctx);
             }
 
-            cursorSize 
+            cursorSize
                 = Toolkit.getDefaultToolkit().getBestCursorSize
                 (Math.round(width), Math.round(height));
-            
+
             // Handle the viewBox transform
-            AffineTransform at 
-                = ViewBox.getPreserveAspectRatioTransform(rootElement,
-                                                          cursorSize.width,
-                                                          cursorSize.height);
+            AffineTransform at = ViewBox.getPreserveAspectRatioTransform
+                (rootElement, cursorSize.width, cursorSize.height, ctx);
             Filter filter = node.getGraphicsNodeRable(true);
             f = new AffineRable8Bit(filter, at);
         } catch (BridgeException ex) {
             throw ex;
         } catch (SecurityException ex) {
-            throw new BridgeException(cursorElement, ERR_URI_UNSECURE,
+            throw new BridgeException(ctx, cursorElement, ex, ERR_URI_UNSECURE,
                                       new Object[] {uriStr});
         } catch (Exception ex) {
-            /* Nothing to do */ 
+            /* Nothing to do */
         }
 
 
@@ -503,19 +519,18 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             }
 
             // Check if we got a broken image
-            if (filter.getProperty
-                (SVGBrokenLinkProvider.SVG_BROKEN_LINK_DOCUMENT_PROPERTY) != null) {
+            if (BrokenLinkProvider.hasBrokenLinkProperty(filter)) {
                 return null;
-            } 
-            
+            }
+
             Rectangle preferredSize = filter.getBounds2D().getBounds();
             cursorSize = Toolkit.getDefaultToolkit().getBestCursorSize
                 (preferredSize.width, preferredSize.height);
-            
+
             if (preferredSize != null && preferredSize.width >0
                 && preferredSize.height > 0 ) {
                 AffineTransform at = new AffineTransform();
-                if (preferredSize.width > cursorSize.width 
+                if (preferredSize.width > cursorSize.width
                     ||
                     preferredSize.height > cursorSize.height) {
                     at = ViewBox.getPreserveAspectRatioTransform
@@ -524,7 +539,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
                          true,
                          cursorSize.width,
                          cursorSize.height);
-                } 
+                }
                 f = new AffineRable8Bit(filter, at);
             } else {
                 // Invalid Size
@@ -542,15 +557,15 @@ public class CursorManager implements SVGConstants, ErrorConstants {
         //
         // In all cases, clip to the cursor boundaries
         //
-        Rectangle cursorViewport 
+        Rectangle cursorViewport
             = new Rectangle(0, 0, cursorSize.width, cursorSize.height);
 
-        PadRable8Bit cursorImage 
+        PadRable8Bit cursorImage
             = new PadRable8Bit(f, cursorViewport,
                                PadMode.ZERO_PAD);
 
         return cursorImage;
-            
+
     }
 
 
@@ -590,25 +605,25 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             this.y = y;
 
             // Desc is used for hascode as well as for toString()
-            this.desc = this.getClass().getName() + 
+            this.desc = this.getClass().getName() +
                 "\n\t:[" + this.purl + "]\n\t:[" + x + "]:[" + y + "]";
         }
 
         public boolean equals(Object obj) {
-            if (obj == null 
+            if (obj == null
                 ||
                 !(obj instanceof CursorDescriptor)) {
                 return false;
             }
 
             CursorDescriptor desc = (CursorDescriptor)obj;
-            boolean isEqual =  
+            boolean isEqual =
                 this.purl.equals(desc.purl)
                  &&
                  this.x == desc.x
                  &&
                  this.y == desc.y;
-                 
+
             return isEqual;
         }
 
@@ -622,7 +637,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
     }
 
     /**
-     * Simple extension of the SoftReferenceCache that 
+     * Simple extension of the SoftReferenceCache that
      * offers typed interface (Kind of needed as SoftReferenceCache
      * mostly has protected methods).
      */
@@ -634,7 +649,7 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             return (Cursor)requestImpl(desc);
         }
 
-        public void putCursor(CursorDescriptor desc, 
+        public void putCursor(CursorDescriptor desc,
                               Cursor cursor) {
             putImpl(desc, cursor);
         }
@@ -643,7 +658,4 @@ public class CursorManager implements SVGConstants, ErrorConstants {
             clearImpl(desc);
         }
     }
-
-
-
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultExternalResourceSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultExternalResourceSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultExternalResourceSecurity.java
index 577ebfb..8ada370 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultExternalResourceSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultExternalResourceSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * come from the same server as the document they are referenced from.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: DefaultExternalResourceSecurity.java,v 1.5 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: DefaultExternalResourceSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class DefaultExternalResourceSecurity implements ExternalResourceSecurity {
     public static final String DATA_PROTOCOL = "data";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultScriptSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultScriptSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultScriptSecurity.java
index f37b70f..9ec104f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultScriptSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DefaultScriptSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * come from the same server as the document they are included into.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: DefaultScriptSecurity.java,v 1.6 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: DefaultScriptSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class DefaultScriptSecurity implements ScriptSecurity {
     public static final String DATA_PROTOCOL = "data";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentBridge.java
new file mode 100644
index 0000000..e45852c
--- /dev/null
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentBridge.java
@@ -0,0 +1,56 @@
+/*
+
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+ */
+package org.apache.flex.forks.batik.bridge;
+
+import org.apache.flex.forks.batik.gvt.RootGraphicsNode;
+
+import org.w3c.dom.Document;
+
+/**
+ * Interface for bridge classes that operate on Document nodes.
+ *
+ * @author <a href="mailto:cam%40mcc%2eid%2eau">Cameron McCormack</a>
+ * @version $Id: DocumentBridge.java 582434 2007-10-06 02:11:51Z cam $
+ */
+public interface DocumentBridge extends Bridge {
+
+    /**
+     * Creates a <tt>GraphicsNode</tt> according to the specified parameters.
+     * This is called before children have been added to the
+     * returned GraphicsNode (obviously since you construct and return it).
+     *
+     * @param ctx the bridge context to use
+     * @param doc the document node that describes the graphics node to build
+     * @return a graphics node that represents the specified document node
+     */
+    RootGraphicsNode createGraphicsNode(BridgeContext ctx, Document doc);
+
+    /**
+     * Builds using the specified BridgeContext and element, the
+     * specified graphics node.  This is called after all the children
+     * of the node have been constructed and added, so it is safe to
+     * do work that depends on being able to see your children nodes
+     * in this method.
+     *
+     * @param ctx the bridge context to use
+     * @param doc the document node that describes the graphics node to build
+     * @param node the graphics node to build
+     */
+    void buildGraphicsNode(BridgeContext ctx, Document doc, RootGraphicsNode node);
+}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentJarClassLoader.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentJarClassLoader.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentJarClassLoader.java
index 6c11869..b6aa7d9 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentJarClassLoader.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentJarClassLoader.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -36,7 +37,7 @@ import java.util.Enumeration;
  * the document referencing them.
  *
  * @author <a mailto="vincent.hardy@sun.com">Vincent Hardy</a>
- * @version $Id: DocumentJarClassLoader.java,v 1.5 2004/10/30 16:54:53 deweese Exp $
+ * @version $Id: DocumentJarClassLoader.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class DocumentJarClassLoader extends URLClassLoader {
     /**
@@ -77,12 +78,12 @@ public class DocumentJarClassLoader extends URLClassLoader {
     {
         // First, get the permissions which may be granted 
         // through the policy file(s)
-	Policy p = Policy.getPolicy();
+        Policy p = Policy.getPolicy();
 
-	PermissionCollection pc = null;
-	if (p != null) {
-	    pc = p.getPermissions(codesource);
-	}
+        PermissionCollection pc = null;
+        if (p != null) {
+            pc = p.getPermissions(codesource);
+        }
 
         // Now, add permissions if the documentCodeSource is not null
         if (documentCodeSource != null){
@@ -99,6 +100,6 @@ public class DocumentJarClassLoader extends URLClassLoader {
             }
         }
 
-	return pc;
+        return pc;
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentLoader.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentLoader.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentLoader.java
index 06770fb..b32f47f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentLoader.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DocumentLoader.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -28,14 +29,14 @@ import org.apache.flex.forks.batik.util.CleanerThread;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * This class is responsible on loading an SVG document and
  * maintaining a cache.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: DocumentLoader.java,v 1.23 2005/01/03 10:48:05 deweese Exp $
+ * @version $Id: DocumentLoader.java 475685 2006-11-16 11:16:05Z cam $
  */
 public class DocumentLoader {
 
@@ -71,7 +72,7 @@ public class DocumentLoader {
         this.userAgent = userAgent;
         documentFactory = new SAXSVGDocumentFactory
             (userAgent.getXMLParserClassName(), true);
-	documentFactory.setValidating(userAgent.isXMLParserValidating());
+        documentFactory.setValidating(userAgent.isXMLParserValidating());
     }
 
     public Document checkCache(String uri) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DynamicGVTBuilder.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DynamicGVTBuilder.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DynamicGVTBuilder.java
index f5e857d..3b4b69e 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DynamicGVTBuilder.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/DynamicGVTBuilder.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * This class is responsible for creating a GVT tree using an SVG DOM tree.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: DynamicGVTBuilder.java,v 1.4 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: DynamicGVTBuilder.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class DynamicGVTBuilder extends GVTBuilder {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededExternalResourceSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededExternalResourceSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededExternalResourceSecurity.java
index f53786d..bc4eb75 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededExternalResourceSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededExternalResourceSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -25,7 +26,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * embeded with the data protocol.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: EmbededExternalResourceSecurity.java,v 1.4 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: EmbededExternalResourceSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class EmbededExternalResourceSecurity implements ExternalResourceSecurity {
     public static final String DATA_PROTOCOL = "data";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededScriptSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededScriptSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededScriptSecurity.java
index 6df8c80..42af0c1 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededScriptSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/EmbededScriptSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.apache.flex.forks.batik.util.ParsedURL;
  * embeded with the data protocol.
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: EmbededScriptSecurity.java,v 1.4 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: EmbededScriptSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class EmbededScriptSecurity implements ScriptSecurity {
     public static final String DATA_PROTOCOL = "data";

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ErrorConstants.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ErrorConstants.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ErrorConstants.java
index 520d9bf..16cf2c7 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ErrorConstants.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ErrorConstants.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2001-2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -21,7 +22,7 @@ package org.apache.flex.forks.batik.bridge;
  * The error code.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: ErrorConstants.java,v 1.8 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: ErrorConstants.java 478160 2006-11-22 13:35:06Z dvholten $
  */
 public interface ErrorConstants {
 
@@ -31,7 +32,7 @@ public interface ErrorConstants {
      * {0} = the name of the attribute
      * </pre>
      */
-    public static final String ERR_ATTRIBUTE_MISSING
+    String ERR_ATTRIBUTE_MISSING
         = "attribute.missing";
 
     /**
@@ -41,7 +42,7 @@ public interface ErrorConstants {
      * {1} = the wrong value
      * </pre>
      */
-    public static final String ERR_ATTRIBUTE_VALUE_MALFORMED
+    String ERR_ATTRIBUTE_VALUE_MALFORMED
         = "attribute.malformed";
 
     /**
@@ -50,7 +51,7 @@ public interface ErrorConstants {
      * {0} = the name of the attribute
      * </pre>
      */
-    public static final String ERR_LENGTH_NEGATIVE
+    String ERR_LENGTH_NEGATIVE
         = "length.negative";
 
     /**
@@ -59,7 +60,7 @@ public interface ErrorConstants {
      * {0} = property
      * </pre>
      */
-    public static final String ERR_CSS_LENGTH_NEGATIVE
+    String ERR_CSS_LENGTH_NEGATIVE
         = "css.length.negative";
 
     /**
@@ -69,7 +70,7 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_CSS_URI_BAD_TARGET
+    String ERR_CSS_URI_BAD_TARGET
         = "css.uri.badTarget";
 
     /**
@@ -78,7 +79,7 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_URI_BAD_TARGET
+    String ERR_URI_BAD_TARGET
         = "uri.badTarget";
 
     /**
@@ -88,14 +89,14 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES
+    String ERR_XLINK_HREF_CIRCULAR_DEPENDENCIES
         = "xlink.href.circularDependencies";
 
     /**
      * The error code when the bridge try to load a URI
      * {0} = the uri
      */
-    public static final String ERR_URI_MALFORMED
+    String ERR_URI_MALFORMED
         = "uri.malformed";
 
     /**
@@ -105,7 +106,7 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_URI_IO
+    String ERR_URI_IO
         = "uri.io";
 
     /**
@@ -113,7 +114,7 @@ public interface ErrorConstants {
      * while loading a URI
      * {0} = the uri
      */
-    public static final String ERR_URI_UNSECURE
+    String ERR_URI_UNSECURE
         = "uri.unsecure";
 
     /**
@@ -123,7 +124,7 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_URI_REFERENCE_A_DOCUMENT
+    String ERR_URI_REFERENCE_A_DOCUMENT
         = "uri.referenceDocument";
 
     /**
@@ -133,12 +134,25 @@ public interface ErrorConstants {
      * {0} = the uri
      * </pre>
      */
-    public static final String ERR_URI_IMAGE_INVALID
-        = "uri.image.invalid";
+    String ERR_URI_IMAGE_INVALID = "uri.image.invalid";
+
+    /**
+     * The error code when the bridge tries to read an image and the image
+     * url can't be opened or the contents aren't usable.
+     * <pre>
+     * {0} = the uri
+     * {1} = the reason it can't be opened.
+     * </pre>
+     */
+    String ERR_URI_IMAGE_BROKEN = "uri.image.broken";
 
     /**
-     * The resource that contains the title for the Broken Link message
+     * The error code when the bridge tries to read an image and the image
+     * url can't be opened:
+     * <pre>
+     * {0} = the reason it can't be opened.
+     * </pre>
      */
-    public static final String MSG_BROKEN_LINK_TITLE
-        = "broken.link.title";
+    String URI_IMAGE_ERROR = "uri.image.error";
+
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ExternalResourceSecurity.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ExternalResourceSecurity.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ExternalResourceSecurity.java
index 8dbb7a6..4097cfc 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ExternalResourceSecurity.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/ExternalResourceSecurity.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -23,7 +24,7 @@ package org.apache.flex.forks.batik.bridge;
  *
  *
  * @author <a href="mailto:vhardy@apache.org">Vincent Hardy</a>
- * @version $Id: ExternalResourceSecurity.java,v 1.4 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: ExternalResourceSecurity.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface ExternalResourceSecurity {
     /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterBridge.java
index 701f1ee..333ac1f 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -26,7 +27,7 @@ import org.w3c.dom.Element;
  *
  * @author <a href="mailto:vincent.hardy@eng.sun.com">Vincent Hardy</a>
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: FilterBridge.java,v 1.10 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: FilterBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface FilterBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterPrimitiveBridge.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterPrimitiveBridge.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterPrimitiveBridge.java
index 1facf26..911ad7b 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterPrimitiveBridge.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FilterPrimitiveBridge.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -29,7 +30,7 @@ import org.w3c.dom.Element;
  * a filter primitive.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: FilterPrimitiveBridge.java,v 1.8 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: FilterPrimitiveBridge.java 475477 2006-11-15 22:44:28Z cam $
  */
 public interface FilterPrimitiveBridge extends Bridge {
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FocusManager.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FocusManager.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FocusManager.java
index 3893388..6a185ec 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FocusManager.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FocusManager.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2002-2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -17,6 +18,10 @@
  */
 package org.apache.flex.forks.batik.bridge;
 
+import org.apache.flex.forks.batik.dom.events.DOMUIEvent;
+import org.apache.flex.forks.batik.dom.events.NodeEventTarget;
+import org.apache.flex.forks.batik.util.XMLConstants;
+
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.events.DocumentEvent;
@@ -24,13 +29,12 @@ import org.w3c.dom.events.Event;
 import org.w3c.dom.events.EventListener;
 import org.w3c.dom.events.EventTarget;
 import org.w3c.dom.events.MouseEvent;
-import org.w3c.dom.events.UIEvent;
 
 /**
  * A class that manages focus on elements.
  *
  * @author <a href="mailto:Thierry.Kormann@sophia.inria.fr">Thierry Kormann</a>
- * @version $Id: FocusManager.java,v 1.7 2004/08/18 07:12:31 vhardy Exp $
+ * @version $Id: FocusManager.java 475477 2006-11-15 22:44:28Z cam $
  */
 public class FocusManager {
 
@@ -76,22 +80,67 @@ public class FocusManager {
      */
     public FocusManager(Document doc) {
         document = doc;
-        EventTarget target = (EventTarget)doc;
-
-        mouseclickListener = new MouseClickTacker();
-        target.addEventListener("click", mouseclickListener, true);
-
-        mouseoverListener = new MouseOverTacker();
-        target.addEventListener("mouseover", mouseoverListener, true);
+        addEventListeners(doc);
+    }
 
-        mouseoutListener = new MouseOutTacker();
-        target.addEventListener("mouseout", mouseoutListener, true);
+    /**
+     * Adds the event listeners to the document.
+     */
+    protected void addEventListeners(Document doc) {
+        NodeEventTarget target = (NodeEventTarget) doc;
+
+        mouseclickListener = new MouseClickTracker();
+        target.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "click",
+             mouseclickListener, true, null);
+
+        mouseoverListener = new MouseOverTracker();
+        target.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseover",
+             mouseoverListener, true, null);
+
+        mouseoutListener = new MouseOutTracker();
+        target.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "mouseout",
+             mouseoutListener, true, null);
 
         domFocusInListener = new DOMFocusInTracker();
-        target.addEventListener("DOMFocusIn", domFocusInListener, true);
+        target.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusIn",
+             domFocusInListener, true, null);
 
         domFocusOutListener = new DOMFocusOutTracker();
-        target.addEventListener("DOMFocusOut", domFocusOutListener, true);
+        target.addEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI,
+             "DOMFocusOut",
+             domFocusOutListener, true, null);
+    }
+
+    /**
+     * Removes the event listeners from the document.
+     */
+    protected void removeEventListeners(Document doc) {
+        NodeEventTarget target = (NodeEventTarget) doc;
+
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "click",
+             mouseclickListener, true);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseover",
+             mouseoverListener, true);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "mouseout",
+             mouseoutListener, true);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusIn",
+             domFocusInListener, true);
+        target.removeEventListenerNS
+            (XMLConstants.XML_EVENTS_NAMESPACE_URI, "DOMFocusOut",
+             domFocusOutListener, true);
     }
 
     /**
@@ -106,12 +155,7 @@ public class FocusManager {
      */
     public void dispose() {
         if (document == null) return;
-        EventTarget target = (EventTarget)document;
-        target.removeEventListener("click", mouseclickListener, true);
-        target.removeEventListener("mouseover", mouseoverListener, true);
-        target.removeEventListener("mouseout", mouseoutListener, true);
-        target.removeEventListener("DOMFocusIn", domFocusInListener, true);
-        target.removeEventListener("DOMFocusOut", domFocusOutListener, true);
+        removeEventListeners(document);
         lastFocusEventTarget = null;
         document = null;
     }
@@ -119,7 +163,7 @@ public class FocusManager {
     /**
      * The class that is responsible for tracking 'mouseclick' changes.
      */
-    protected class MouseClickTacker implements EventListener {
+    protected class MouseClickTracker implements EventListener {
 
         public void handleEvent(Event evt) {
             MouseEvent mevt = (MouseEvent)evt;
@@ -133,9 +177,10 @@ public class FocusManager {
     protected class DOMFocusInTracker implements EventListener {
 
         public void handleEvent(Event evt) {
+            EventTarget newTarget = evt.getTarget();
             if (lastFocusEventTarget != null && 
-                lastFocusEventTarget != evt.getTarget()) {
-                fireDOMFocusOutEvent(lastFocusEventTarget);
+                lastFocusEventTarget != newTarget) {
+                fireDOMFocusOutEvent(lastFocusEventTarget, newTarget);
             }
             lastFocusEventTarget = evt.getTarget();
         }
@@ -146,6 +191,9 @@ public class FocusManager {
      */
     protected class DOMFocusOutTracker implements EventListener {
 
+        public DOMFocusOutTracker() {
+        }
+
         public void handleEvent(Event evt) {
             lastFocusEventTarget = null;
         }
@@ -155,11 +203,13 @@ public class FocusManager {
      * The class that is responsible to update the focus according to
      * 'mouseover' event.
      */
-    protected class MouseOverTacker implements EventListener {
+    protected class MouseOverTracker implements EventListener {
 
         public void handleEvent(Event evt) {
+            MouseEvent me = (MouseEvent) evt;
             EventTarget target = evt.getTarget();
-            fireDOMFocusInEvent(target);
+            EventTarget relatedTarget = me.getRelatedTarget();
+            fireDOMFocusInEvent(target, relatedTarget);
         }
     }
 
@@ -167,37 +217,53 @@ public class FocusManager {
      * The class that is responsible to update the focus according to
      * 'mouseout' event.
      */
-    protected class MouseOutTacker implements EventListener {
+    protected class MouseOutTracker implements EventListener {
 
         public void handleEvent(Event evt) {
+            MouseEvent me = (MouseEvent) evt;
             EventTarget target = evt.getTarget();
-            fireDOMFocusOutEvent(target);
+            EventTarget relatedTarget = me.getRelatedTarget();
+            fireDOMFocusOutEvent(target, relatedTarget);
         }
     }
 
     /**
      * Fires a 'DOMFocusIn' event to the specified target.
      *
-     * @param target the event target
+     * @param target the newly focussed event target
+     * @param relatedTarget the previously focussed event target
      */
-    protected void fireDOMFocusInEvent(EventTarget target) {
+    protected void fireDOMFocusInEvent(EventTarget target,
+                                       EventTarget relatedTarget) {
         DocumentEvent docEvt = 
             (DocumentEvent)((Element)target).getOwnerDocument();
-        UIEvent uiEvt = (UIEvent)docEvt.createEvent("UIEvents");
-        uiEvt.initUIEvent("DOMFocusIn", true, false, null, 0);
+        DOMUIEvent uiEvt = (DOMUIEvent)docEvt.createEvent("UIEvents");
+        uiEvt.initUIEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                            "DOMFocusIn",
+                            true,    // canBubbleArg
+                            false,   // cancelableArg
+                            null,    // viewArg
+                            0);      // detailArg
         target.dispatchEvent(uiEvt);
     }
 
     /**
      * Fires a 'DOMFocusOut' event to the specified target.
      *
-     * @param target the event target
+     * @param target the previously focussed event target
+     * @param relatedTarget the newly focussed event target
      */
-    protected void fireDOMFocusOutEvent(EventTarget target) {
+    protected void fireDOMFocusOutEvent(EventTarget target,
+                                        EventTarget relatedTarget) {
         DocumentEvent docEvt = 
             (DocumentEvent)((Element)target).getOwnerDocument();
-        UIEvent uiEvt = (UIEvent)docEvt.createEvent("UIEvents");
-        uiEvt.initUIEvent("DOMFocusOut", true, false, null, 0);
+        DOMUIEvent uiEvt = (DOMUIEvent)docEvt.createEvent("UIEvents");
+        uiEvt.initUIEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                            "DOMFocusOut",
+                            true,    // canBubbleArg
+                            false,   // cancelableArg
+                            null,    // viewArg
+                            0);      // detailArg
         target.dispatchEvent(uiEvt);
     }
     
@@ -210,8 +276,13 @@ public class FocusManager {
     protected void fireDOMActivateEvent(EventTarget target, int detailArg) {
         DocumentEvent docEvt = 
             (DocumentEvent)((Element)target).getOwnerDocument();
-        UIEvent uiEvt = (UIEvent)docEvt.createEvent("UIEvents");
-        uiEvt.initUIEvent("DOMActivate", true, true, null, detailArg);
+        DOMUIEvent uiEvt = (DOMUIEvent)docEvt.createEvent("UIEvents");
+        uiEvt.initUIEventNS(XMLConstants.XML_EVENTS_NAMESPACE_URI,
+                            "DOMActivate",
+                            true,    // canBubbleArg
+                            true,    // cancelableArg
+                            null,    // viewArg
+                            0);      // detailArg
         target.dispatchEvent(uiEvt);
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FontFace.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FontFace.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FontFace.java
index 5ca2c5b..99d9aee 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FontFace.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/FontFace.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2003  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -18,30 +19,27 @@
 package org.apache.flex.forks.batik.bridge;
 
 import java.awt.Font;
-import java.awt.GraphicsEnvironment;
-import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Set;
 
+import org.apache.flex.forks.batik.dom.AbstractNode;
+import org.apache.flex.forks.batik.gvt.font.AWTFontFamily;
+import org.apache.flex.forks.batik.gvt.font.FontFamilyResolver;
+import org.apache.flex.forks.batik.gvt.font.GVTFontFace;
+import org.apache.flex.forks.batik.gvt.font.GVTFontFamily;
 import org.apache.flex.forks.batik.util.ParsedURL;
+import org.apache.flex.forks.batik.util.XMLConstants;
 
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
-import org.w3c.flex.forks.dom.svg.SVGDocument;
-
-import org.apache.flex.forks.batik.dom.svg.XMLBaseSupport;
-import org.apache.flex.forks.batik.gvt.font.GVTFontFamily;
-import org.apache.flex.forks.batik.gvt.font.GVTFontFace;
-import org.apache.flex.forks.batik.gvt.font.AWTFontFamily;
-import org.apache.flex.forks.batik.gvt.font.FontFamilyResolver;
+import org.w3c.dom.svg.SVGDocument;
 
 /**
  * This class represents a &lt;font-face> element or @font-face rule
  *
  * @author <a href="mailto:bella.robinson@cmis.csiro.au">Bella Robinson</a>
- * @version $Id: FontFace.java,v 1.9 2005/02/22 09:12:57 cam Exp $
+ * @version $Id: FontFace.java 588550 2007-10-26 07:52:41Z dvholten $
  */
 public abstract class FontFace extends GVTFontFace
     implements ErrorConstants  {
@@ -82,7 +80,7 @@ public abstract class FontFace extends GVTFontFace
     public static CSSFontFace createFontFace(String familyName,
                                              FontFace src) {
         return new CSSFontFace
-            (new LinkedList(src.srcs), 
+            (new LinkedList(src.srcs),
              familyName, src.unitsPerEm, src.fontWeight,
              src.fontStyle, src.fontVariant, src.fontStretch,
              src.slope, src.panose1, src.ascent, src.descent,
@@ -90,7 +88,7 @@ public abstract class FontFace extends GVTFontFace
              src.underlinePosition, src.underlineThickness,
              src.overlinePosition, src.overlineThickness);
     }
-    
+
     /**
      * Returns the font associated with this rule or element.
      */
@@ -101,7 +99,7 @@ public abstract class FontFace extends GVTFontFace
             return new AWTFontFamily(ff);
         }
 
-        Iterator iter = srcs.iterator(); 
+        Iterator iter = srcs.iterator();
         while (iter.hasNext()) {
             Object o = iter.next();
             if (o instanceof String) {
@@ -120,14 +118,14 @@ public abstract class FontFace extends GVTFontFace
                     // Security violation notify the user but keep going.
                     ctx.getUserAgent().displayError(ex);
                 } catch (BridgeException ex) {
-                    // If Security violation notify 
+                    // If Security violation notify
                     // the user but keep going.
-                    if (ERR_URI_UNSECURE.equals(ex.getCode())) 
+                    if (ERR_URI_UNSECURE.equals(ex.getCode()))
                         ctx.getUserAgent().displayError(ex);
                 } catch (Exception ex) {
                     // Do nothing couldn't get Referenced URL.
                 }
-            }   
+            }
         }
 
         return new AWTFontFamily(this);
@@ -148,7 +146,7 @@ public abstract class FontFace extends GVTFontFace
             pDocURL = new ParsedURL(docURL);
 
         // try to load an SVG document
-        String baseURI = XMLBaseSupport.getCascadedXMLBase(e);
+        String baseURI = AbstractNode.getBaseURI(e);
         purl = new ParsedURL(baseURI, purlStr);
         UserAgent userAgent = ctx.getUserAgent();
 
@@ -161,7 +159,7 @@ public abstract class FontFace extends GVTFontFace
             // I'll vote yes just because it is a security exception (other
             // exceptions like font not available etc I would skip).
             userAgent.displayError(ex);
-            return null; 
+            return null;
         }
 
         if (purl.getRef() != null) {
@@ -178,14 +176,14 @@ public abstract class FontFace extends GVTFontFace
             Element fontElt = ref;
             if (doc != rdoc) {
                 fontElt = (Element)doc.importNode(ref, true);
-                String base = XMLBaseSupport.getCascadedXMLBase(ref);
+                String base = AbstractNode.getBaseURI(ref);
                 Element g = doc.createElementNS(SVG_NAMESPACE_URI, SVG_G_TAG);
                 g.appendChild(fontElt);
-                g.setAttributeNS(XMLBaseSupport.XML_NAMESPACE_URI,
+                g.setAttributeNS(XMLConstants.XML_NAMESPACE_URI,
                                  "xml:base", base);
                 CSSUtilities.computeStyleAndURIs(ref, fontElt, purlStr);
             }
-            
+
             // Search for a font-face element
             Element fontFaceElt = null;
             for (Node n = fontElt.getFirstChild();
@@ -198,12 +196,13 @@ public abstract class FontFace extends GVTFontFace
                     break;
                 }
             }
+            // todo : if the above loop fails to find a fontFaceElt, a null is passed to createFontFace()
             
             SVGFontFaceElementBridge fontFaceBridge;
             fontFaceBridge = (SVGFontFaceElementBridge)ctx.getBridge
                 (SVG_NAMESPACE_URI, SVG_FONT_FACE_TAG);
             GVTFontFace gff = fontFaceBridge.createFontFace(ctx, fontFaceElt);
-            
+
 
             return new SVGFontFamily(gff, fontElt, ctx);
         }
@@ -219,7 +218,7 @@ public abstract class FontFace extends GVTFontFace
     }
 
     /**
-     * Default implementation uses the root element of the document 
+     * Default implementation uses the root element of the document
      * associated with BridgeContext.  This is useful for CSS case.
      */
     protected Element getBaseElement(BridgeContext ctx) {

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/f690ea2f/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GVTBuilder.java
----------------------------------------------------------------------
diff --git a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GVTBuilder.java b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GVTBuilder.java
index 9345e35..08ef5e5 100644
--- a/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GVTBuilder.java
+++ b/modules/thirdparty/batik/sources/org/apache/flex/forks/batik/bridge/GVTBuilder.java
@@ -1,10 +1,11 @@
 /*
 
-   Copyright 2000-2004  The Apache Software Foundation 
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
 
        http://www.apache.org/licenses/LICENSE-2.0
 
@@ -31,7 +32,7 @@ import org.w3c.dom.Node;
  * This class is responsible for creating a GVT tree using an SVG DOM tree.
  *
  * @author <a href="mailto:tkormann@apache.org">Thierry Kormann</a>
- * @version $Id: GVTBuilder.java,v 1.30 2005/03/27 08:58:30 cam Exp $
+ * @version $Id: GVTBuilder.java 599681 2007-11-30 02:55:48Z cam $
  */
 public class GVTBuilder implements SVGConstants {
 
@@ -57,10 +58,14 @@ public class GVTBuilder implements SVGConstants {
         ctx.setGVTBuilder(this);
 
         // build the GVT tree
-        RootGraphicsNode rootNode = new RootGraphicsNode();
-        Element svgElement = document.getDocumentElement();
-        GraphicsNode topNode = null;
+        DocumentBridge dBridge = ctx.getDocumentBridge();
+        RootGraphicsNode rootNode = null;
         try {
+            // create the root node
+            rootNode = dBridge.createGraphicsNode(ctx, document);
+            Element svgElement = document.getDocumentElement();
+            GraphicsNode topNode = null;
+
             // get the appropriate bridge according to the specified element
             Bridge bridge = ctx.getBridge(svgElement);
             if (bridge == null || !(bridge instanceof GraphicsNodeBridge)) {
@@ -76,11 +81,12 @@ public class GVTBuilder implements SVGConstants {
 
             buildComposite(ctx, svgElement, (CompositeGraphicsNode)topNode);
             gnBridge.buildGraphicsNode(ctx, svgElement, topNode);
+
+            // finally, build the root node
+            dBridge.buildGraphicsNode(ctx, document, rootNode);
         } catch (BridgeException ex) {
             // update the exception with the missing parameters
             ex.setGraphicsNode(rootNode);
-            Element errElement = ex.getElement();
-            ex.setLineNumber(ctx.getDocumentLoader().getLineNumber(errElement));
             //ex.printStackTrace();
             throw ex; // re-throw the udpated exception
         }
@@ -90,7 +96,7 @@ public class GVTBuilder implements SVGConstants {
             ctx.addUIEventListeners(document);
 
             // register GVT listeners for AWT event support
-            BridgeEventSupport.addGVTListener(ctx, document);
+            ctx.addGVTListener(document);
         }
 
         // <!> FIXME: TO BE REMOVED
@@ -113,16 +119,20 @@ public class GVTBuilder implements SVGConstants {
         // get the appropriate bridge according to the specified element
         Bridge bridge = ctx.getBridge(e);
         if (bridge instanceof GenericBridge) {
-            // If it is a GenericBridge just handle it and return.
+            // If it is a GenericBridge just handle it and any GenericBridge
+            // descendents and return.
             ((GenericBridge) bridge).handleElement(ctx, e);
+            handleGenericBridges(ctx, e);
             return null;
         } else if (bridge == null || !(bridge instanceof GraphicsNodeBridge)) {
+            handleGenericBridges(ctx, e);
             return null;
         }
         // create the associated graphics node
         GraphicsNodeBridge gnBridge = (GraphicsNodeBridge)bridge;
         // check the display property
         if (!gnBridge.getDisplay(e)) {
+            handleGenericBridges(ctx, e);
             return null;
         }
         GraphicsNode gn = gnBridge.createGraphicsNode(ctx, e);
@@ -183,14 +193,18 @@ public class GVTBuilder implements SVGConstants {
         // get the appropriate bridge according to the specified element
         Bridge bridge = ctx.getBridge(e);
         if (bridge instanceof GenericBridge) {
-            // If it is a GenericBridge just handle it and return.
+            // If it is a GenericBridge just handle it and any GenericBridge
+            // descendents and return.
             ((GenericBridge) bridge).handleElement(ctx, e);
+            handleGenericBridges(ctx, e);
             return;
         } else if (bridge == null || !(bridge instanceof GraphicsNodeBridge)) {
+            handleGenericBridges(ctx, e);
             return;
         }
         // check the display property
         if (!CSSUtilities.convertDisplay(e)) {
+            handleGenericBridges(ctx, e);
             return;
         }
         GraphicsNodeBridge gnBridge = (GraphicsNodeBridge)bridge;
@@ -208,6 +222,8 @@ public class GVTBuilder implements SVGConstants {
                     handleGenericBridges(ctx, e);
                 }
                 gnBridge.buildGraphicsNode(ctx, e, gn);
+            } else {
+                handleGenericBridges(ctx, e);
             }
         } catch (BridgeException ex) {
             // some bridge may decide that the node in error can be
@@ -238,6 +254,7 @@ public class GVTBuilder implements SVGConstants {
                 if (b instanceof GenericBridge) {
                     ((GenericBridge) b).handleElement(ctx, e2);
                 }
+                handleGenericBridges(ctx, e2);
             }
         }
     }