FLEX-34343: Remove the fdbworkers directory before to merge to the develop branch
diff --git a/modules/fdbworkers/META-INF/MANIFEST.MF b/modules/fdbworkers/META-INF/MANIFEST.MF
deleted file mode 100644
index f750b36..0000000
--- a/modules/fdbworkers/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,27 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Apache Flex FDB OSGi Bundle
-Bundle-SymbolicName: com.adobe.flash.fdb
-Bundle-Version: 0.0.0
-Bundle-Vendor: Apache Software Foundation
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: com.adobe.flash.compiler;bundle-version="0.0.0"
-Export-Package:  flash.graphics.images,
- flash.localization,
- flash.swf,
- flash.swf.actions,
- flash.swf.builder.tags,
- flash.swf.builder.types,
- flash.swf.debug,
- flash.swf.tags,
- flash.swf.tools,
- flash.swf.types,
- flash.tools,
- flash.tools.debugger,
- flash.tools.debugger.concrete,
- flash.tools.debugger.events,
- flash.tools.debugger.expression,
- flash.tools.debugger.threadsafe,
- flash.util,
- flex.tools.debugger.cli
-Bundle-ClassPath: fdb.jar
diff --git a/modules/fdbworkers/build.properties b/modules/fdbworkers/build.properties
deleted file mode 100644
index f02bf6d..0000000
--- a/modules/fdbworkers/build.properties
+++ /dev/null
@@ -1,56 +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.
-##
-################################################################################
-bin.includes = META-INF/,\
-               plugin.xml,\
-               fdb.jar
-output.fdb.jar = bin/
-source.fdb.jar = src/,\
-				swf-utils-models/,\
-				generated/src/
-jars.compile.order = fdb.jar
-
-# description values 
-release=Flash Debugger
-release.version=1.0.0
-
-
-# JAR Manifest Entries
-manifest.sealed=false
-manifest.Implementation-Title=${release}
-manifest.Implementation-Version=${release.version}
-manifest.Implementation-Vendor=Apache Software Foundation
-main.class=flex.tools.debugger.cli.DebugCLI
-
-# Directories
-basedir.bin=${basedir}/bin
-basedir.lib=${basedir}/lib
-basedir.src=${basedir}/src
-basedir.swfutils=${basedir}/swf-utils-models
-basedir.generated.src=${basedir}/generated/src
-basedir.manifest=${basedir}/META-INF
-compiler.generated.lib=${basedir}/../../compiler/com.adobe.flash.compiler/generated/dist/sdk/lib
-generated=${basedir}/generated
-dist=${basedir}/dist
-
-#JAR names
-jar=fdb.jar
-jar.dependencies=asc-common.jar
-
-
-
diff --git a/modules/fdbworkers/build.xml b/modules/fdbworkers/build.xml
deleted file mode 100644
index 24b830a..0000000
--- a/modules/fdbworkers/build.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?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.
-
--->
-<project basedir="." default="jar" name="com.adobe.flash.fdb" >
-	<property file="build.properties" />
-	<!-- label is set by CruiseControl script based on P4 label incrementer -->
-	<condition property="build.number" value="${label}" else="0">
-	     <isset property="label" />
-	</condition>
-	<path id="classpath">
-			<fileset dir="${compiler.generated.lib}" includes="${jar.dependencies}" />
-		</path>
-
-		<target name="jar" depends="compile">
-		    <mkdir dir="${dist}" />
-			<jar destfile="${dist}/${jar}" basedir="${basedir.bin}" includes="**/*.class **/*.properties **/*.txt">
-				<manifest>
-	                <attribute name="Sealed" value="${manifest.sealed}" />
-	                <attribute name="Implementation-Title" value="${manifest.Implementation-Title}" />
-	                <attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}" />
-	                <attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}" />
-					<attribute name="Main-Class" value="${main.class}" />
-					<attribute name="Class-Path" value="${jar.dependencies}" />
-	            </manifest>
-			</jar>
-		</target>
-
-		<target name="compile" depends="clean, generate-burm" description="compile">
-			<javac includes="**/*.java" classpathref="classpath">
-				<src path="${basedir.swfutils}" />
-				<src path="${basedir.generated.src}" />
-				<src path="${basedir.src}" />
-			</javac>
-		</target>
-		
-		<target name="generate-burm">
-			    	<ant antfile="jburg-gen.xml" target="main" />
-			    </target>
-
-		<target name="clean" description="clean">
-			<echo message="Cleaning out dist dir: ${dist}" />
-			<ant antfile="jburg-gen.xml" target="clean" />
-			<delete quiet="true" includeemptydirs="true">
-				<fileset dir="${dist}" />
-			</delete>
-		</target>
-
-</project>
diff --git a/modules/fdbworkers/jburg-gen.xml b/modules/fdbworkers/jburg-gen.xml
deleted file mode 100644
index c01ad4e..0000000
--- a/modules/fdbworkers/jburg-gen.xml
+++ /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.
-
--->
-<project name="fdb" default="main" basedir=".">
-	<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${env.ANT_HOME}/lib/ant-contrib-1.0b2.jar"/>
-
-	<target name="main">
-		<if>
-			<available file="generated/src/flash/tools/debugger/expression/AS3DebuggerBURM.java" />
-			<then>
-				<echo>
-AS3DebuggerBURM.java is generated. (If your changes are not reflected, you might want to consider a clean,build)
-				</echo>
-			</then>
-			<else>
-				<mkdir dir="generated/src/flash/tools/debugger/expression/" />
-				<java classname="jburg.burg.JBurgMain" classpath="../../compiler/com.adobe.flash.compiler/generated/intermediates/classes" failonerror="yes" fork="yes" dir="">
-					<arg value="src/flash/tools/debugger/expression/AS3DebuggerBURM.jbg" />
-					<arg value="-outputdir" />
-					<arg value="generated/src/flash/tools/debugger/expression" />
-					<arg value="-outputfile" />
-					<arg value="AS3DebuggerBURM.java" />
-					<arg value="-g" />
-					<classpath>
-						<pathelement location="../../compiler/com.adobe.flash.compiler/lib/jburg-1.18.jar" />
-						<pathelement location="../../compiler/com.adobe.flash.compiler/lib/antlr.jar" />
-						<pathelement location="../../compiler/com.adobe.flash.compiler/generated/intermediates/classes" />
-					</classpath>
-				</java>
-			</else>
-		</if>
-	</target>
-	<target name="clean" description="clean">
-		<echo message="Cleaning out generated dir: generated/src/" />
-		<delete failonerror="false" quiet="true" includeemptydirs="true">
-			<fileset dir="generated/src/">
-				<include name="**/*" />
-				<exclude name="intermediates/eclipse/**/*" />
-			</fileset>
-		</delete>
-	</target>
-	<!-- End Debugger targets -->
-</project>
diff --git a/modules/fdbworkers/src/flash/tools/ActionLocation.java b/modules/fdbworkers/src/flash/tools/ActionLocation.java
deleted file mode 100644
index 741644e..0000000
--- a/modules/fdbworkers/src/flash/tools/ActionLocation.java
+++ /dev/null
@@ -1,53 +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.
- */
-
-package flash.tools;
-
-import flash.swf.types.ActionList;
-import flash.swf.actions.ConstantPool;
-import flash.swf.actions.DefineFunction;
-
-/**
- * ActionLocation record.  Used to contain
- * information regarding a specific location
- * within an action record.  
- * 
- * at and actions are typically guaranteed to 
- * be filled out.  The others are optional.
- * @see SwfActionContainer
- */
-public class ActionLocation
-{
-	public ActionLocation()						{ init(-1, null, null, null, null); }
-	public ActionLocation(ActionLocation base)	{ init(base.at, base.actions, base.pool, base.className, base.function); }
-
-	void init(int p1, ActionList p2, ConstantPool p3, String p4, DefineFunction p5)
-	{
-		at = p1;
-		actions = p2;
-		pool = p3;
-		className = p4;
-		function = p5;
-	}
-
-	public int				at = -1;
-	public ActionList		actions;
-	public ConstantPool		pool;
-	public String			className;
-	public DefineFunction	function;
-}
-
diff --git a/modules/fdbworkers/src/flash/tools/SwfActionContainer.java b/modules/fdbworkers/src/flash/tools/SwfActionContainer.java
deleted file mode 100644
index 40053be..0000000
--- a/modules/fdbworkers/src/flash/tools/SwfActionContainer.java
+++ /dev/null
@@ -1,295 +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.
- */
-
-package flash.tools;
-
-import flash.swf.Action;
-import flash.swf.Header;
-import flash.swf.TagDecoder;
-import flash.swf.TagHandler;
-import flash.swf.Dictionary;
-import flash.swf.ActionConstants;
-import flash.swf.MovieMetaData;
-import flash.swf.tags.DefineButton;
-import flash.swf.tags.DoAction;
-import flash.swf.tags.DoInitAction;
-import flash.swf.tags.PlaceObject;
-import flash.swf.tags.DefineSprite;
-import flash.swf.types.ActionList;
-import flash.swf.types.ButtonCondAction;
-import flash.swf.types.ClipActionRecord;
-import flash.swf.actions.DefineFunction;
-import flash.swf.actions.ConstantPool;
-import flash.util.Trace;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Iterator;
-
-/**
- * This class implements the TagHandler interface
- * and provides a mechanism for containing the
- * actions associated with a SWF.
- */
-public class SwfActionContainer extends TagHandler
-{
-	boolean		errorProcessing = true;
-	ActionList	m_master;
-
-	// temporaries used while decoding
-	Dictionary  m_dictionary; 
-	Header		m_header;
-
-    public SwfActionContainer(byte[] swf, byte[] swd)	{ this(new ByteArrayInputStream(swf), new ByteArrayInputStream(swd));	}
-    public SwfActionContainer(InputStream swfIn)		{ this(swfIn, null); }
-
-    public SwfActionContainer(InputStream swfIn, InputStream swdIn)
-	{
-		TagDecoder p = new TagDecoder(swfIn, swdIn);
-		try
-		{
-			process(p);
-			errorProcessing = false;
-		}
-		catch(IOException io)
-		{
-			if (Trace.error)
-				io.printStackTrace();
-		}
-	}
-
-	// getters 
-	public ActionList	getMasterList() { return m_master; }
-	public Header		getHeader()		{ return m_header; }
-	public Dictionary	getDictionary() { return m_dictionary; }
-
-	// Did we hit an error in processing the swf? 
-	public boolean hasErrors() { return errorProcessing; }
-
-	/**
-	 * Ask a TagDecoder to do its magic, calling us 
-	 * upon each encounter of a new tag.
-	 */
-	void process(TagDecoder d) throws IOException
-	{
-		m_master = new ActionList(true);
-        d.setKeepOffsets(true);
-		d.parse(this);
-	}
-
-	/**
-	 * Return a path to an ActionList that contains the given offset
-	 * if an exact match is not found then return the largest
-	 * that does not exceed offset.
-	 */
-	public ActionLocation locationLessOrEqualTo(int offset)
-	{
-		ActionLocation l = new ActionLocation();
-		locationLessOrEqualTo(l, m_master, offset);
-		return l;
-	}
-
-    public static ActionLocation locationLessOrEqualTo(ActionLocation location, ActionList list, int offset)
-	{
-		int at = findLessOrEqualTo(list, offset);
-		if (at > -1)
-		{
-			// we hit so mark it and extract a constant pool if any
-			location.at = at;
-			location.actions = list;
-
-			Action a = list.getAction(0);
-			if (a.code == ActionConstants.sactionConstantPool)
-				location.pool = (ConstantPool)a;
-
-			// then see if we need to traverse
-			a = list.getAction(at);
-			if ( (a.code == ActionConstants.sactionDefineFunction) ||
-				 (a.code == ActionConstants.sactionDefineFunction2) )
-			{
-				location.function = (DefineFunction)a;
-				locationLessOrEqualTo(location, ((DefineFunction)a).actionList, offset);
-			}
-			else if (a instanceof DummyAction)
-			{
-				// our dummy container, then we drop in
-				locationLessOrEqualTo(location, ((DummyAction)a).getActionList(), offset);
-			}
-		}
-		return location;
-	}
-
-	// find the index of the largest offset in the list that does not
-	// exceed the offset value provided. 
-	public static int findLessOrEqualTo(ActionList list, int offset)
-	{
-		int i = find(list, offset);
-		if (i < 0)
-		{
-			// means we didn't locate it, so get the next closest one
-			// which is 1 below the insertion point
-			i = (-i - 1) - 1;
-		}
-		return i;
-	}
-
-	// perform a binary search to locate the offset within the sorted
-	// list of offsets within the action list.
-	// if no match then (-i - 1) provides the index of where an insertion
-	// would occur for this offset in the list.
-	public static int find(ActionList list, int offset)
-	{
-        int lo = 0;
-        int hi = list.size()-1;
-
-        while (lo <= hi)
-        {
-            int i = (lo + hi)/2;
-            int m = list.getOffset(i);
-            if (offset > m)
-                lo = i + 1;
-            else if (offset < m)
-                hi = i - 1;
-            else
-                return i; // offset found
-        }
-        return -(lo + 1);  // offset not found, low is the insertion point
-	}
-
-	/**
-	 * Dummy Action container for housing all of  our
-	 * topmost level actionlists in a convenient form
-	 */
-	public class DummyAction extends Action
-	{
-		public DummyAction(ActionList list)
-		{
-			super(ActionConstants.sactionNone);
-			m_actionList = list;
-		}
-
-		// getters/setters
-		public ActionList		getActionList()					{ return m_actionList; }
-		public String			getClassName()					{ return m_className; }
-		public void				setClassName(String name)		{ m_className = name; }
-
-		private ActionList		m_actionList;
-		private String			m_className;
-	}
-
-	/**
-	 * Store away the ActionLists for later retrieval
-	 */
-    DummyAction recordActions(ActionList list)
-    {
-		DummyAction da = null;
-		if (list != null && list.size() > 0)
-		{
-			// use the first offset as our reference point
-			int offset = list.getOffset(0);
-
-			// now create a pseudo action for this action list in our master
-			da = new DummyAction(list);
-			m_master.setActionOffset(offset, da);
-		}
-		return da;
-	}
-
-	/**
-	 * -----------------------------------------------
-	 * The following APIs override TagHandler.
-	 * -----------------------------------------------
-	 */
-	@Override
-	public void doInitAction(DoInitAction tag)
-	{
-		DummyAction a = recordActions(tag.actionList);
-
-		// now fill in the class name if we can
-		if (m_header.version > 6 && tag.sprite != null)
-		{
-			String __Packages = MovieMetaData.idRef(tag.sprite, m_dictionary);
-			String className = (__Packages != null && __Packages.startsWith("__Packages")) ? __Packages.substring(11) : null; //$NON-NLS-1$
-			a.setClassName(className);
-		}
-	}
-
-	@Override
-	public void doAction(DoAction tag)
-	{
-		recordActions(tag.actionList);
-	}
-
-
-	@Override
-	public void defineSprite(DefineSprite tag)
-	{
-		// @todo need to support actions in sprites!!! 
-	}
-
-	@Override
-	public void placeObject2(PlaceObject tag)
-	{
-		if (tag.hasClipAction())
-		{
-            Iterator it = tag.clipActions.clipActionRecords.iterator();
-            while (it.hasNext())
-            {
-    		    ClipActionRecord record = (ClipActionRecord) it.next();
-   			    recordActions(record.actionList);
-            }
-		}
-	}
-
-	@Override
-	public void defineButton(DefineButton tag)
-	{
-		recordActions(tag.condActions[0].actionList);
-	}
-
-	@Override
-	public void defineButton2(DefineButton tag)
-	{
-        if (tag.condActions.length > 0)
-        {
-            for (int i=0; i < tag.condActions.length; i++)
-            {
-                ButtonCondAction cond = tag.condActions[i];
-                recordActions(cond.actionList);
-            }
-		}
-	}
-
-	@Override
-	public void setDecoderDictionary(Dictionary dict)
-	{
-		m_dictionary = dict;
-	}
-
-	@Override
-	public void header(Header h)
-	{
-		m_header = h;
-	}
-
-	/**
-	 * -----------------------------------------------
-	 * END: override TagHandler.
-	 * -----------------------------------------------
-	 */
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/AIRLaunchInfo.java b/modules/fdbworkers/src/flash/tools/debugger/AIRLaunchInfo.java
deleted file mode 100644
index 36d139b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/AIRLaunchInfo.java
+++ /dev/null
@@ -1,123 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.File;
-
-/**
- * @author mmorearty
- */
-public class AIRLaunchInfo
-{
-	/**
-	 * Full path to the AIR Debug Launcher, <code>adl.exe</code> (Windows) or
-	 * <code>adl</code> (Mac/Linux).  This is mandatory.
-	 */
-	public File airDebugLauncher;
-
-	/**
-	 * The directory that has runtime.dll, or <code>null</code> to
-	 * use the default.
-	 */
-	public File airRuntimeDir;
-
-	/**
-	 * The filename of the security policy to use, or <code>null</code> to
-	 * use the default.
-	 */
-	public File airSecurityPolicy;
-
-	/**
-	 * The directory to specify as the application's content root, or
-	 * <code>null</code> to not tell ADL where the content root is, in which
-	 * case ADL will use the directory of the application.xml file as the
-	 * content root.
-	 */
-	public File applicationContentRootDir;
-
-	/**
-	 * Array of command-line arguments for the user's program. These are
-	 * specific to the user's program; they are not processed by AIR itself,
-	 * just passed on to the user's app.
-	 * <p>
-	 * Note, this class has both <code>applicationArgumentsArray</code> and
-	 * {@link #applicationArguments}. <code>applicationArgumentsArray</code>
-	 * accepts an array of arguments, and passes them down as-is to the
-	 * operating system. <code>applicationArguments</code> takes a single
-	 * string, splits it into arguments, and passes the result to the operating
-	 * system. You can use whichever one is more convenient for you; typically,
-	 * one of these would be <code>null</code>. If both are non-
-	 * <code>null</code>, then <code>applicationArgumentsArray</code> takes
-	 * precedence, and <code>applicationArguments</code> is ignored.
-	 */
-	public String[] applicationArgumentsArray;
-
-	/**
-	 * Command-line arguments for the user's program. These are specific to the
-	 * user's program; they are not processed by AIR itself, just passed on to
-	 * the user's app.
-	 * <p>
-	 * Note, see the comment above on {@link #applicationArgumentsArray}.
-	 */
-	public String applicationArguments;
-
-	/**
-	 * The publisher ID to use; passed to adl's "-pubid" option.  If
-	 * null, no pubid is passed to adl.
-	 */
-	public String airPublisherID;
-
-	/**
-	 * The profile to pass to AIR 2.0's "-profile" argument, or null to omit 
-	 * the "-profile" argument.
-	 */
-	public String profile;
-	
-	/**
-	 * The screensize argument to pass to AIR 2.0's "-screensize" option.
-	 * A colon separated string indicating width and height of the screen
-	 * in normal and fullscreen modes. Only relevant in the mobileDevice 
-	 * profile.
-	 */
-	public String screenSize;
-	
-	/**
-	 * The dpi argument to pass to AIR 2.5's "-xscreenDPI" option.
-	 * TODO: this is apparently only going to be used in 2.5
-	 */
-	public int dpi;
-	
-	/**
-	 * The version platform argument to pass to AIR's "-XversionPlatform"
-	 * option. This overrides the three characters in Capabilities.os only
-	 * for the runtime in the AIR SDK.
-	 */
-	public String versionPlatform;
-	
-	/**
-	 * Directory to load native extensions from. Corresponds to the
-	 * -extdir argument of ADL.
-	 */
-	public String extDir;
-
-	/**
-	 * Directory to load native extensions from for devices. Corresponds to the
-	 * -XdeviceExtDir argument of ADL.
-	 */
-	public String deviceExtDir;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/AlreadyActiveApplicationException.java b/modules/fdbworkers/src/flash/tools/debugger/AlreadyActiveApplicationException.java
deleted file mode 100644
index 84432f6..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/AlreadyActiveApplicationException.java
+++ /dev/null
@@ -1,47 +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.
- */
-
-package flash.tools.debugger;
-import java.io.IOException;
-
-/**
- * AlreadyActiveApplicationException is thrown when run/debug the application while there is 
- * an already running application. 
- * Exception is detected with ADL exit code 1 (Successful invocation of an already running AIR application. ADL exits immediately.)
- * 
- * @author sakkus
- */
-public class AlreadyActiveApplicationException extends IOException {
-	private static final long serialVersionUID = 0L;
-	
-	private boolean m_isDebugging;
-	
-	public AlreadyActiveApplicationException (String detailedMessage,boolean isDebugging)
-	{
-		super(detailedMessage);
-		m_isDebugging=isDebugging;
-	}
-	
-    @Override
-	public String getMessage()
-	{
-    	if(m_isDebugging) 	//DEBUGGING
-    		return Bootstrap.getLocalizationManager().getLocalizedTextString("maybeAlreadyRunningForDebug"); //$NON-NLS-1$
-    	else    			//RUNNING
-    		return Bootstrap.getLocalizationManager().getLocalizedTextString("maybeAlreadyRunningForRun"); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Bootstrap.java b/modules/fdbworkers/src/flash/tools/debugger/Bootstrap.java
deleted file mode 100644
index ad0fea4..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Bootstrap.java
+++ /dev/null
@@ -1,53 +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.
- */
-
-package flash.tools.debugger;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.concrete.PlayerSessionManager;
-
-/**
- * Entry point for access to the general API.  A debugger uses this
- * class to gain access to a SessionManager from which debugging
- * sessions may be controlled or initiated.
- */
-public class Bootstrap
-{
-	static SessionManager m_mgr = null;
-	private static LocalizationManager m_localizationManager;
-
-	static
-	{
-        // set up for localizing messages
-        m_localizationManager = new LocalizationManager();
-        m_localizationManager.addLocalizer( new DebuggerLocalizer("flash.tools.debugger.djapi.") ); //$NON-NLS-1$
-	}
-
-	private Bootstrap () {}
-
-	public static SessionManager sessionManager()
-	{
-		if (m_mgr == null)
-			m_mgr = new PlayerSessionManager();
-		return m_mgr;
-	}
-
-	static LocalizationManager getLocalizationManager()
-	{
-		return m_localizationManager;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Browser.java b/modules/fdbworkers/src/flash/tools/debugger/Browser.java
deleted file mode 100644
index 7d64c02..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Browser.java
+++ /dev/null
@@ -1,82 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.File;
-
-/**
- * Describes a web browser.
- * 
- * @author mmorearty
- */
-public interface Browser
-{
-	/**
-	 * Indicates an unknown browser type.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int UNKNOWN = 0;
-
-	/**
-	 * Indicates Internet Explorer.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int INTERNET_EXPLORER = 1;
-
-	/**
-	 * Indicates Netscape Navigator.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int NETSCAPE_NAVIGATOR = 2;
-
-	/**
-	 * Indicates Opera.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int OPERA = 3;
-
-	/**
-	 * Indicates the Mozilla browser, but <i>not</i> Firefox.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int MOZILLA = 4;
-
-	/**
-	 * Indicates Firefox.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int MOZILLA_FIREFOX = 5;
-
-	/**
-	 * Returns what type of Player this is, e.g. <code>INTERNET_EXPLORER</code>, etc.
-	 */
-	public int getType();
-
-	/**
-	 * Returns the path to the web browser executable -- e.g. the path to
-	 * IExplore.exe, Firefox.exe, etc. (Filenames are obviously
-	 * platform-specific.)
-	 */
-	public File getPath();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/CommandLineException.java b/modules/fdbworkers/src/flash/tools/debugger/CommandLineException.java
deleted file mode 100644
index 247a92e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/CommandLineException.java
+++ /dev/null
@@ -1,79 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.IOException;
-
-/**
- * Represents an error that occurred while invoking a command-line
- * program.  Saves the text error message that was reported
- * by the command-line program.
- * 
- * @author mmorearty
- */
-public class CommandLineException extends IOException
-{
-	private static final long serialVersionUID = -5696392627123516956L;
-    
-    private String[] m_commandLine;
-	private String m_commandOutput;
-	private int m_exitValue;
-
-	/**
-	 * @param detailMessage
-	 *            the detail message, e.g. "Program failed" or whatever
-	 * @param commandLine
-	 *            the command and arguments that were executed, e.g.
-	 *            <code>{ "ls", "-l" }</code>
-	 * @param commandOutput
-	 *            the text error message that was reported by the command-line
-	 *            program. It is common for this message to be more than one
-	 *            line.
-	 * @param exitValue
-	 *            the exit value that was returned by the command-line program.
-	 */
-	public CommandLineException(String detailMessage, String[] commandLine, String commandOutput, int exitValue)
-	{
-		super(detailMessage);
-
-		m_commandLine = commandLine;
-		m_commandOutput = commandOutput;
-		m_exitValue = exitValue;
-	}
-
-	public String[] getCommandLine()
-	{
-		return m_commandLine;
-	}
-
-	/**
-	 * @return command line message, often multi-line, never <code>null</code>
-	 */
-	public String getCommandOutput()
-	{
-		return m_commandOutput;
-	}
-
-	/**
-	 * @return the exit value that was returned by the command-line program.
-	 */
-	public int getExitValue()
-	{
-		return m_exitValue;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/DebuggerLocalizer.java b/modules/fdbworkers/src/flash/tools/debugger/DebuggerLocalizer.java
deleted file mode 100644
index b406a16..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/DebuggerLocalizer.java
+++ /dev/null
@@ -1,102 +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.
- */
-
-package flash.tools.debugger;
-
-import java.util.Locale;
-import java.util.Map;
-
-import flash.localization.ILocalizedText;
-import flash.localization.ILocalizer;
-import flash.localization.ResourceBundleLocalizer;
-
-/**
- * An ILocalizer which does a couple of extra things:
- * 
- * <ol>
- * <li> If the requested string is not found, rather than returning <code>null</code>, we
- *      return a default string, to avoid a crash. </li>
- * <li> We replace any "\n" with the current platform's newline sequence. </li>
- * </ol>
- * 
- * @author mmorearty
- */
-public class DebuggerLocalizer implements ILocalizer
-{
-	private ResourceBundleLocalizer m_resourceBundleLocalizer = new ResourceBundleLocalizer();
-	private String m_prefix;
-	public final static String m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	public DebuggerLocalizer(String prefix)
-	{
-		m_prefix = prefix;
-	}
-
-	public ILocalizedText getLocalizedText(Locale locale, final String id)
-	{
-		// We hard-code our package name in here, so that callers can use
-		// a short string
-		ILocalizedText localizedText = m_resourceBundleLocalizer.getLocalizedText(locale, m_prefix + id);
-
-		// If no ILocalizedText was found, try English
-		if (localizedText == null && !Locale.getDefault().getLanguage().equals("en")) //$NON-NLS-1$
-		{
-			localizedText = m_resourceBundleLocalizer.getLocalizedText(Locale.ENGLISH, m_prefix + id);
-		}
-
-		// If still no ILocalizedText was found, create a default one
-		if (localizedText == null)
-		{
-			localizedText = new ILocalizedText()
-			{
-				public String format(Map parameters)
-				{
-					StringBuilder sb = new StringBuilder();
-					sb.append('!');
-					sb.append(id);
-					sb.append('!');
-					if (parameters != null && !parameters.isEmpty())
-					{
-						sb.append(' ');
-						sb.append(parameters.toString());
-					}
-					return sb.toString();
-				}
-			};
-		}
-
-		// If the current platform's newline sequence is something other
-		// than "\n", then replace all occurrences of "\n" with this platform's
-		// newline sequence.
-		if (m_newline.equals("\n")) //$NON-NLS-1$
-		{
-			return localizedText;
-		}
-		else
-		{
-			final ILocalizedText finalLocalizedText = localizedText;
-			return new ILocalizedText()
-			{
-				public String format(Map parameters)
-				{
-					String result = finalLocalizedText.format(parameters);
-					return result.replaceAll("\n", m_newline); //$NON-NLS-1$
-				}
-			};
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/DefaultDebuggerCallbacks.java b/modules/fdbworkers/src/flash/tools/debugger/DefaultDebuggerCallbacks.java
deleted file mode 100644
index d94ae46..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/DefaultDebuggerCallbacks.java
+++ /dev/null
@@ -1,431 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import flash.util.Trace;
-
-/**
- * @author mmorearty
- */
-public class DefaultDebuggerCallbacks implements IDebuggerCallbacks
-{
-	private boolean m_computedExeLocations;
-	private File m_httpExe;
-	private File m_playerExe;
-
-	private static final String UNIX_DEFAULT_BROWSER = "firefox"; //$NON-NLS-1$
-	private static final String UNIX_FLASH_PLAYER = "flashplayer"; //$NON-NLS-1$
-
-	private static final int WINDOWS = 0;
-	private static final int MAC = 1;
-	private static final int UNIX = 2;
-
-	// A pattern for a value that was output by reg.exe.  Warning,
-	// Windows XP and Windows Vista have different output; the following
-	// pattern needs to work for both.
-	private static final Pattern registryValuePattern = Pattern.compile("\\sREG_[^ \t]+\\s+(.*)$"); //$NON-NLS-1$
-
-	/**
-	 * Returns WINDOWS, MAC, or UNIX
-	 */
-	private static int getOS() {
-		String osName = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		if (osName.startsWith("windows")) //$NON-NLS-1$
-			return WINDOWS;
-		else if (osName.startsWith("mac os x")) // as per http://developer.apple.com/technotes/tn2002/tn2110.html //$NON-NLS-1$
-			return MAC;
-		else
-			return UNIX;
-	}
-
-	/*
-	 * @see flash.tools.debugger.IDebuggerCallbacks#getHttpExe()
-	 */
-	public synchronized File getHttpExe()
-	{
-		if (!m_computedExeLocations)
-			recomputeExeLocations();
-		return m_httpExe;
-	}
-
-	/*
-	 * @see flash.tools.debugger.IDebuggerCallbacks#getPlayerExe()
-	 */
-	public synchronized File getPlayerExe()
-	{
-		if (!m_computedExeLocations)
-			recomputeExeLocations();
-		return m_playerExe;
-	}
-
-	/*
-	 * @see flash.tools.debugger.IDebuggerCallbacks#recomputeExeLocations()
-	 */
-	public synchronized void recomputeExeLocations()
-	{
-		int os = getOS();
-		if (os == WINDOWS)
-		{
-			m_httpExe = getDefaultWindowsBrowser();
-			m_playerExe = determineExeForType("ShockwaveFlash.ShockwaveFlash"); //$NON-NLS-1$
-		}
-		else if (os == MAC)
-		{
-			m_httpExe = null;
-			m_playerExe = null;
-		}
-		else // probably Unix
-		{
-			// "firefox" is default browser for unix
-			m_httpExe = findUnixProgram(UNIX_DEFAULT_BROWSER);
-
-			// "flashplayer" is standalone flash player on unix
-			m_playerExe = findUnixProgram(UNIX_FLASH_PLAYER);
-		}
-		m_computedExeLocations = true;
-	}
-
-	public String getHttpExeName()
-	{
-		if (getOS() == UNIX)
-			return UNIX_DEFAULT_BROWSER;
-		else
-			return Bootstrap.getLocalizationManager().getLocalizedTextString("webBrowserGenericName"); //$NON-NLS-1$
-	}
-
-	public String getPlayerExeName()
-	{
-		if (getOS() == UNIX)
-			return UNIX_FLASH_PLAYER;
-		else
-			return Bootstrap.getLocalizationManager().getLocalizedTextString("flashPlayerGenericName"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Looks for a Unix program.  Checks the PATH, and if not found there,
-	 * checks the directory specified by the "application.home" Java property.
-	 * ("application.home" was set by the "fdb" shell script.)
-	 * 
-	 * @param program program to find, e.g. "firefox"
-	 * @return path, or <code>null</code> if not found.
-	 */
-	private File findUnixProgram(String program)
-	{
-		String[] cmd = { "/bin/sh", "-c", "which " + program }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		try
-		{
-			Process process = Runtime.getRuntime().exec(cmd);
-			BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
-			String line = reader.readLine();
-			if (line != null)
-			{
-				File f = new File(line);
-				if (f.exists())
-				{
-					return f;
-				}
-			}
-
-			// Check in the Flex SDK's "bin" directory.  The "application.home"
-			// property is set by the "fdb" shell script.
-			String flexHome = System.getProperty("application.home"); //$NON-NLS-1$
-			if (flexHome != null)
-			{
-				File f = new File(flexHome, "bin/" + program); //$NON-NLS-1$
-				if (f.exists())
-				{
-					return f;
-				}
-			}
-		}
-		catch (IOException e)
-		{
-			// ignore
-		}
-		return null;
-	}
-
-	private File getDefaultWindowsBrowser() {
-		try {
-			String browser = null;
-
-			double osVersion;
-			try {
-				osVersion = Double.parseDouble(System.getProperty("os.version")); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				osVersion = 0;
-			}
-
-			if (osVersion >= 6) { // Vista or higher
-				String progid = queryWindowsRegistry(
-					"HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice", //$NON-NLS-1$
-					"Progid"); //$NON-NLS-1$
-				if (progid != null) {
-					browser = getClassShellOpenCommand(progid);
-				}
-			}
-
-			if (browser == null) {
-				browser = getClassShellOpenCommand("http"); //$NON-NLS-1$
-			}
-
-			if (browser != null) {
-				browser = extractExenameFromCommandString(browser);
-				return new File(browser);
-			} else {
-				return null;
-			}
-		} catch (IOException e) {
-			return null;
-		}
-	}
-
-	private String getClassShellOpenCommand(String clazz) throws IOException {
-		return queryWindowsRegistry("HKEY_CLASSES_ROOT\\" + clazz + "\\shell\\open\\command", null); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Note, this function is Windows-specific.
-	 */
-	private File determineExeForType(String type)
-	{
-		String it = null;
-		try
-		{
-			String[] cmd = new String[] { "cmd", "/d", "/c", "ftype", type }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-			Process p = Runtime.getRuntime().exec(cmd);
-			LineNumberReader lnr = new LineNumberReader(new InputStreamReader(p.getInputStream()));
-			String line = null;
-			type += "="; //$NON-NLS-1$
-			while( it == null && (line = lnr.readLine()) != null)
-			{
-				if (line.length() < type.length() ||
-					line.substring(0, type.length()).compareToIgnoreCase(type) == 0)
-				{
-					it = line;
-					break;
-				}
-			}
-			p.destroy();
-
-			// if we have one extract cmd = " "
-			if (it != null)
-			{
-				int equalSign = it.indexOf('=');
-				if (equalSign != -1)
-					it = it.substring(equalSign+1);
-
-				it = extractExenameFromCommandString(it);
-			}
-		}
-		catch (IOException e)
-		{
-			// means it didn't work
-		}
-
-		if (it != null)
-			return new File(it);
-		else
-			return null;
-	}
-
-	/**
-	 * Given a command string of the form
-	 * 		"path_to_exe" args
-	 * or
-	 * 		path_to_exe args
-	 * 
-	 * return the path_to_exe.  Note that path_to_exe may contain spaces.
-	 */
-	protected String extractExenameFromCommandString(String cmd)
-	{
-		// now strip trailing junk if any
-		if (cmd.startsWith("\"")) { //$NON-NLS-1$
-			// ftype is enclosed in quotes
-			int closingQuote =  cmd.indexOf('"', 1);
-			if (closingQuote == -1)
-				closingQuote = cmd.length();
-			cmd = cmd.substring(1, closingQuote);
-		} else {
-			// Some ftypes don't use enclosing quotes.  This is tricky -- we have to
-			// scan through the string, stopping at each space and checking whether
-			// the filename up to that point refers to a valid filename.  For example,
-			// if the input string is
-			//
-			//     C:\Program Files\Macromedia\Flash 9\Players\SAFlashPlayer.exe %1
-			//
-			// then we need to stop at each space and see if that is an EXE name:
-			//
-			//     C:\Program.exe
-			//     C:\Program Files\Macromedia\Flash.exe
-			//     C:\Program Files\Macromedia\Flash 9\Players\SAFlashPlayer.exe
-
-			int endOfFilename = -1;
-			for (;;) {
-				int nextSpace = cmd.indexOf(' ', endOfFilename+1);
-				if (nextSpace == -1) {
-					endOfFilename = -1;
-					break;
-				}
-				String filename = cmd.substring(0, nextSpace);
-				if (!filename.toLowerCase().endsWith(".exe")) //$NON-NLS-1$
-					filename += ".exe"; //$NON-NLS-1$
-				if (new File(filename).exists()) {
-					endOfFilename = nextSpace;
-					break;
-				}
-				endOfFilename = nextSpace;
-			}
-			if (endOfFilename != -1 && endOfFilename < cmd.length())
-				cmd = cmd.substring(0, endOfFilename);
-		}
-		return cmd;
-	}
-
-	/*
-	 * @see flash.tools.debugger.IDebuggerCallbacks#launchDebugTarget(java.lang.String[])
-	 */
-	public Process launchDebugTarget(String[] cmd) throws IOException
-	{
-		return Runtime.getRuntime().exec(cmd);
-	}
-	
-	@Override
-	public Process launchDebugTarget(String[] cmd, ILauncher launcher) throws IOException {
-		return launcher.launch(cmd);
-	}
-	
-	/*
-	 * @see flash.tools.debugger.IDebuggerCallbacks#terminateDebugTarget(java.lang.Process)
-	 */
-	public void terminateDebugTarget(Process process) throws IOException
-	{
-		terminateDebugTarget(process, null);
-	}
-	
-	@Override
-	public void terminateDebugTarget(Process process, ILauncher launcher) throws IOException {
-		if(null == launcher)
-		{
-			process.destroy();
-		}
-		else
-		{
-			launcher.terminate(process);
-		}
-		
-	}
-	
-	public String queryWindowsRegistry(String key, String value) throws IOException
-	{
-		return queryWindowsRegistry(key, value, 0);
-	}
-
-	/**
-	 * This implementation of queryWindowsRegistry() does not make any native
-	 * calls.  I had to do it this way because it is too hard, at this point,
-	 * to add native code to the Flex code tree.
-	 */
-	public String queryWindowsRegistry(String key, String value, int registryBitMode) throws IOException
-	{
-		Process p = null;
-		String result = null;
-
-		List<String> arguments = new ArrayList<String>(6);
-		arguments.add("reg.exe"); //$NON-NLS-1$
-		arguments.add("query"); //$NON-NLS-1$
-		arguments.add(key);
-		if (value == null || value.length() == 0)
-		{
-			arguments.add("/ve"); //$NON-NLS-1$
-		}
-		else
-		{
-			arguments.add("/v"); //$NON-NLS-1$
-			arguments.add(value);
-		}
-
-		// This line must not be in try/catch -- if it throws an exception,
-		// we want that to propagate out to our caller.
-		p = Runtime.getRuntime().exec(arguments.toArray(new String[arguments.size()]));
-
-		try
-		{
-			BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
-
-			String line;
-			while ((line = reader.readLine()) != null)
-			{
-				if (line.equalsIgnoreCase(key))
-				{
-					line = reader.readLine();
-					if (line != null)
-					{
-						Matcher matcher = registryValuePattern.matcher(line);
-						if (matcher.find()) {
-							result = matcher.group(1);
-						}
-					}
-					break;
-				}
-			}
-		}
-		catch (IOException e)
-		{
-			if (Trace.error)
-				e.printStackTrace();
-		}
-		finally
-		{
-			if (p != null)
-			{
-				p.destroy();
-				p = null;
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Default implementation does not know how to get the version
-	 * of an application.
-	 */
-	public int[] getAppVersion(File application) throws IOException {
-		return null;
-	}
-	
-	/**
-	 * Default application does not have any extra arguments for the
-	 * browser.
-	 */
-	public String[] getBrowserParameters(String uri)
-	{
-		return null;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Frame.java b/modules/fdbworkers/src/flash/tools/debugger/Frame.java
deleted file mode 100644
index 9c757ec..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Frame.java
+++ /dev/null
@@ -1,122 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * The Frame object represents a single frame of the actionscript call stack.
- * Each Frame contains a Location object, which identifies the line of source 
- * for the frame, and a set of variables that are available within the frame.
- * The set of variables includes a 'this' pointer, arguments passed into 
- * the function and locals available within the scope of the function.
- * A given frame is only valid when execution has suspended.  
- * @since Version 2
- */
-public interface Frame
-{
-	/**
-	 * Location object related to this frame.
-	 */
-	public Location getLocation();
-
-	/**
-	 * 'this' variable for the frame.  Will return null
-	 * if no 'this' pointer available for the frame.
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException
-	 * @throws NotConnectedException
-	 */
-    public Variable getThis(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException;
-
-	/**
-	 * Arguments that were passed into the function.  An empty
-	 * array is used to denote that no arguments were passed into 
-	 * this function scope.
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException 
-	 * @throws NotConnectedException 
-	 */
-    public Variable[] getArguments(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException;
-
-	/**
-	 * Locals used within this function scope.  An empty
-	 * array is used to denote no locals are available 
-	 * within this function scope.
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException 
-	 * @throws NotConnectedException 
-	 */
-    public Variable[] getLocals(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException;
-
-	/**
-	 * Returns a string which contains the raw signature of
-	 * the call.  This information can be used for display
-	 * purposes in the event the Location object contains
-	 * a null SourceFile, which happens when a call is
-	 * made into or through a non-debug executable.
-	 * The format of the string is one of the following:
-	 * <ul>
-	 *  <li> <code>declaringClass/[[namespace::]function]</code> (for regular functions) </li>
-	 *  <li> <code>declaringClass$cinit</code> (class constructor for statics) </li>
-	 *  <li> <code>declaringClass$iinit</code> (class instance ctor)</li>
-	 *  <li> <code>global$init</code> </li>
-	 * </ul>
-	 *<p>
-	 * where <code>declaringClass</code> is the name of the
-	 * class in which the function is declared (even if it
-	 * is an anonymous inner function); <code>namespace</code>
-	 * is the namespace of the function (the meaning of this
-	 * varies depending on whether the function is private,
-	 * protected etc.; see <code>Variable.getNamespace()</code>
-	 * for more information); and <code>function</code> is
-	 * the name of the function, or <code>""</code> if the
-	 * function is anonymous.
-	 *</p><p> 
-	 * If the signature is unknown then the value
-	 * "" will be returned.  Note: this may occur even when
-	 * Location contains a non-null SourceFile.
-	 * </p><p>
-	 * Examples:
-	 * <ul>
-	 * <li> <code>MyClass/myFunction</code> for a public function </li>
-	 * <li> <code>MyClass/MyClass::myFunction</code> for a private function </li>
-	 * <li> <code>MyClass/</code> for an anonymous inner function declared
-	 *      somewhere inside <code>MyClass</code> </li>
-	 * <li> <code>""</code> if unknown </li>
-	 * </ul>
-	 * </p>
-	 */
-	public String getCallSignature();
-
-	/**
-	 * Returns a list of objects which make up the scope chain of
-	 * this frame.
-	 * <p>
-	 * Some of the entries will be classes; some will be instances
-	 * of classes; some will be functions; etc.
-	 * <p>
-	 * <b>Bug:</b> Currently, this does <em>not</em> include any
-	 * scope chain entries which were created via "with var".
-	 */
-	public Variable[] getScopeChain(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException;
-	
-	/**
-	 * Returns the worker ID associated to this frame. This will return
-	 * Isolate.DEFAULT_ID, that is, the main worker.
-	 */
-	public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/IDebuggerCallbacks.java b/modules/fdbworkers/src/flash/tools/debugger/IDebuggerCallbacks.java
deleted file mode 100644
index 8c97bca..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/IDebuggerCallbacks.java
+++ /dev/null
@@ -1,150 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Miscellaneous callbacks from the DJAPI to the debugger which is using it.
- * 
- * @author mmorearty
- */
-public interface IDebuggerCallbacks
-{
-	/**
-	 * Tells the debugger to recompute the values which will be returned by
-	 * getHttpExe() and getPlayerExe().
-	 * 
-	 * This does NOT need to be called before the first call to either of
-	 * those functions.  The intent of this function is to allow the debugger
-	 * to cache any expensive calculations, but still allow for the possibility
-	 * of recalculating the values from time to time (e.g. when a new launch
-	 * is going to happen).
-	 */
-	public void recomputeExeLocations();
-
-	/**
-	 * Returns the executable of the browser to launch for http: URLs, or
-	 * <code>null</code> if not known.
-	 */
-	public File getHttpExe();
-	
-	/**
-	 * Returns the parameters to pass to the browser or null if non-existent.
-	 * If this is present, URL is assumed to already exist in this array.
-	 */
-	public String[] getBrowserParameters(String uri);
-	
-	/**
-	 * Returns the executable for the standalone Flash player, or <code>null</code>
-	 * if not known.
-	 */
-	public File getPlayerExe();
-
-	/**
-	 * Returns a name such as "firefox" or "Web browser", the name of the
-	 * browser, useful for error messages. Never returns <code>null</code>.
-	 */
-	public String getHttpExeName();
-
-	/**
-	 * Returns a name such as "SAFlashPlayer.exe" or "gflashplayer" or "Flash
-	 * player", the name of the standalone player, useful for error messages.
-	 * Never returns <code>null</code>.
-	 */
-	public String getPlayerExeName();
-
-	/**
-	 * Launches a debug target.  The arguments are the same as those of
-	 * Runtime.exec().
-	 */
-	public Process launchDebugTarget(String[] cmd) throws IOException;
-
-	/**
-	 * Terminates a debug target process.
-	 */
-	public void terminateDebugTarget(Process process) throws IOException;
-	
-	/**
-	 * Launches a debug target using the launcher instance<code>ILauncher.launch(cmd)</code>.
-	 * 
-	 */
-	public Process launchDebugTarget(String[] cmd, ILauncher launcher) throws IOException;
-
-	/**
-	 * Terminates a debug target process by invoking <code>ILauncher.terminate(process)</code>
-	 */
-	public void terminateDebugTarget(Process process, ILauncher launcher) throws IOException;
-
-
-	/**
-	 * Query the Windows registry.
-	 * 
-	 * @param key
-	 *            The registry key, in a format suitable for the REG.EXE
-	 *            program. You must use full key names such as
-	 *            HKEY_LOCAL_MACHINE rather the shorter abbreviations such as
-	 *            HKLM.
-	 * @param value
-	 *            The value within that key, or null for the unnamed ("empty")
-	 *            value
-	 * @return the value stored at the location, or null if key or value was not
-	 *         found
-	 * @throws IOException
-	 *             indicates the registry query failed -- warning, this can
-	 *             really happen! Some implementations of this function don't
-	 *             work on Windows 2000. So, this function should not be counted
-	 *             on too heavily -- you should have a backup plan.
-	 */
-	public String queryWindowsRegistry(String key, String value) throws IOException;
-	
-	/**
-	 * Same as queryWindowsRegistry, but allows specific access to the 32-bit
-	 * or 64-bit part of the registry.
-	 */
-	public String queryWindowsRegistry(String key, String value, int registryBitMode) throws IOException;
-
-	/**
-	 * Returns the version number of an application. For example, Firefox 3.5.4
-	 * would return new int[] { 3, 5 }.
-	 * <p>
-	 * As of this writing, the only thing this is used for is to determine, on
-	 * Windows, whether the user is running IE 8; if he is, we need to pass the
-	 * "-noframemerging" command-line argument. It is generally okay to just
-	 * return <code>null</code> from this function; a robust implementation is
-	 * not required.
-	 * 
-	 * @param application
-	 *            the application whose version number is desired. On Windows,
-	 *            this will typically be a path to a .exe file. On Mac, it may
-	 *            point to a .app directory such as "/Applications/Safari.app",
-	 *            or it may point to the underlying binary, such as
-	 *            "/Applications/Safari.app/Contents/MacOS/Safari".
-	 * @return an array of two integers if the version can be determined, or
-	 *         null if it cannot be determined. The first integer is the major
-	 *         version number, and the second integer is the minor version
-	 *         number. More detailed information cannot be provided, because
-	 *         this function needs to be cross- platform, and the format of
-	 *         version information tends to vary widely from one platform to
-	 *         another.
-	 * @throws IOException
-	 *             e.g. for file not found, etc.
-	 */
-	public int[] getAppVersion(File application) throws IOException;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/ILaunchNotification.java b/modules/fdbworkers/src/flash/tools/debugger/ILaunchNotification.java
deleted file mode 100644
index e01d724..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/ILaunchNotification.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.IOException;
-
-/**
- * Used to notify caller in case of ADL Exit Code 1: Successful invocation of an already running 
- * AIR application. ADL exits immediately.
- * 
- * @author sakkus
- */
-public interface ILaunchNotification
-{
-	/**
-	 * Notifies the listener that the launch is done, and, if it failed,
-	 * an exception with information about why it failed.
-	 * 
-	 * @param e
-	 *            an exception if the launch failed, or null if the launch
-	 *            succeeded.
-	 */
-	public void notify(IOException e);
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/ILauncher.java b/modules/fdbworkers/src/flash/tools/debugger/ILauncher.java
deleted file mode 100644
index 68c87f7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/ILauncher.java
+++ /dev/null
@@ -1,49 +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.
- */
-package flash.tools.debugger;
-
-import java.io.IOException;
-
-/**
- * A ILauncher which handles the launching of the URI or the command.
- * 
- * ILauncher is to provide more flexibility to handle the Player launch in different platforms.
- * 
- * @author ugs
- *
- */
-public interface ILauncher {
-
-	/**
-	 * Launches the debug target. 
-	 * 
-	 * @param cmd - Launch URL and other arguments
-	 * @return A handle to the process.
-	 * 
-	 * @throws IOException
-	 */
-	public Process launch(String[] cmd) throws IOException;
-
-	/**
-	 * Terminate the process started by launch method.
-	 * @param process - process started by launch.
-	 * @throws IOException
-	 */
-	public void terminate(Process process) throws IOException;
-	
-	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/IProgress.java b/modules/fdbworkers/src/flash/tools/debugger/IProgress.java
deleted file mode 100644
index f63ec68..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/IProgress.java
+++ /dev/null
@@ -1,36 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * A simple interface to report progress on some operation.
- * 
- * @author mmorearty
- */
-public interface IProgress
-{
-	/**
-	 * Reports how much work has been done.
-	 * 
-	 * @param current
-	 *            how much progress has been made toward the total
-	 * @param total
-	 *            the total amount of work
-	 */
-	public void setProgress(int current, int total);
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/InProgressException.java b/modules/fdbworkers/src/flash/tools/debugger/InProgressException.java
deleted file mode 100644
index 3bf6f2a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/InProgressException.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * InProgressException is thrown when a request cannot
- * be fulfilled because some other activity is currently
- * taking place that will alter the result of the request.
- */
-public class InProgressException extends PlayerDebugException
-{
-    private static final long serialVersionUID = -8307030350432666820L;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Isolate.java b/modules/fdbworkers/src/flash/tools/debugger/Isolate.java
deleted file mode 100644
index 982c2dd..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Isolate.java
+++ /dev/null
@@ -1,40 +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.
- */
-package flash.tools.debugger;
-
-/**
- * The Isolate object uniquely identifies a "Worker" in ActionScript.
- * Workers are conceptually similar to Threads, but their implementation
- * closely follows more that of a web worker than an actual OS Thread.
- * 
- * By default there is a default isolate object with id DEFAULT_ID.
- * @author anirudhs
- *
- */
-public interface Isolate {
-	
-	public static final int DEFAULT_ID = 1;
-	
-	/**
-	 * Get the unique integer ID associated with the
-	 * worker. This is Isolate.DEFAULT_ID for the
-	 * primordial. 
-	 * @return unique integer ID
-	 */
-	public int getId();
-	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/IsolateController.java b/modules/fdbworkers/src/flash/tools/debugger/IsolateController.java
deleted file mode 100644
index ed09477..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/IsolateController.java
+++ /dev/null
@@ -1,184 +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.
- */
-package flash.tools.debugger;
-
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * Worker specific debug session commands. These are a subset of Session that
- * can be individually routed to a specific worker (including the main worker if
- * the player does not support concurrency). This is implemented by
- * PlayerSession and used by the getWorkerSession() api.
- * 
- * @see flash.tools.debugger.IsolateSession,
- *      flash.tools.debugger.Session#getWorkerSession(int)
- * @author anirudhs
- * 
- */
-public interface IsolateController {
-	
-	/**
-	 * @see flash.tools.debugger.Session#resume()
-	 */
-	public void resumeWorker(int isolateId) throws NotSuspendedException, NotConnectedException, NoResponseException;
-
-	/**
-	 * @see flash.tools.debugger.Session#suspend()
-	 */
-	public void suspendWorker(int isolateId) throws SuspendedException, NotConnectedException, NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#isSuspended()
-	 */
-	public boolean isWorkerSuspended(int isolateId) throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#isSuspended()
-	 */
-	public int suspendReasonWorker(int isolateId) throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getFrames()
-	 */
-	public Frame[] getFramesWorker(int isolateId) throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepInto()
-	 */
-	public void stepIntoWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepOut()
-	 */
-	public void stepOutWorker(int isolateId)  throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepOver()
-	 */
-	public void stepOverWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepContinue()
-	 */
-	public void stepContinueWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getSwfs()
-	 */
-	public SwfInfo[] getSwfsWorker(int isolateId) throws NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#setBreakpoint(int, int)
-	 */
-	public Location setBreakpointWorker(int fileId, int lineNum, int isolateId) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getWatchList()
-	 */
-	public Watch[] getWatchListWorker(int isolateId) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getVariableList()
-	 */
-	public Variable[] getVariableListWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getValue(long)
-	 */
-	public Value getValueWorker(long valueId, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * @see flash.tools.debugger.Session#getGlobal(String)
-	 */
-	public Value getGlobalWorker(String name, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#evalIs(Value, Value)
-	 */
-	public boolean evalIsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalIs(Value, String)
-	 */
-	public boolean evalIsWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalInstanceof(Value, Value)
-	 */
-	public boolean evalInstanceofWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalInstanceof(Value, String)
-	 */
-	public boolean evalInstanceofWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalIn(Value, Value)
-	 */
-	public boolean evalInWorker(Value property, Value object, int isolateId) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalAs(Value, Value)
-	 */
-	public Value evalAsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#callFunction(Value, String, Value[])
-	 */
-	public Value callFunctionWorker(Value thisObject, String functionName, Value[] args, int isolateId) throws PlayerDebugException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#callConstructor(String, Value[])
-	 */
-	public Value callConstructorWorker(String classname, Value[] args, int isolateId) throws PlayerDebugException;
-
-	/**
-	 * @see flash.tools.debugger.Session#setExceptionBreakpoint(String)
-	 */
-	public boolean setExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String)
-	 */
-	public boolean clearExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException;
-
-	/**
-	 * @see flash.tools.debugger.Session#breakOnCaughtExceptions(boolean)
-	 */
-	public void breakOnCaughtExceptions(boolean b, int isolateId) throws NotSupportedException, NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#supportsWatchpoints()
-	 */
-	public boolean supportsWatchpoints(int isolateId);
-	
-	/**
-	 * @see flash.tools.debugger.Session#playerCanBreakOnAllExceptions()
-	 */
-	public boolean playerCanBreakOnAllExceptions(int isolateId);
-	
-	/**
-	 * @see flash.tools.debugger.Session#supportsWideLineNumbers()
-	 */
-	public boolean supportsWideLineNumbers(int isolateId);
-	
-	/**
-	 * @see flash.tools.debugger.Session#playerCanCallFunctions(String)
-	 */
-	public boolean playerCanCallFunctions(int isolateId);
-	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/IsolateSession.java b/modules/fdbworkers/src/flash/tools/debugger/IsolateSession.java
deleted file mode 100644
index 6b57d62..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/IsolateSession.java
+++ /dev/null
@@ -1,177 +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.
- */
-package flash.tools.debugger;
-
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * Used to issue commands to a particular worker (isolate).
- * @see Session
- * @author anirudhs
- */
-public interface IsolateSession {
-	
-	/**
-	 * @see flash.tools.debugger.Session#resume()
-	 */
-	public void resume() throws NotSuspendedException, NotConnectedException, NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#suspend()
-	 */
-	public void suspend() throws SuspendedException, NotConnectedException, NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#isSuspended()
-	 */
-	public boolean isSuspended() throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#isSuspended()
-	 */
-	public int suspendReason() throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getFrames()
-	 */
-	public Frame[] getFrames() throws NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepInto()
-	 */
-	public void stepInto() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepOut()
-	 */
-	public void stepOut()  throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepOver()
-	 */
-	public void stepOver() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#stepContinue()
-	 */
-	public void stepContinue() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getSwfs()
-	 */
-	public SwfInfo[] getSwfs() throws NoResponseException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#setBreakpoint(int, int)
-	 */
-	public Location setBreakpoint(int fileId, int lineNum) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getWatchList()
-	 */
-	public Watch[] getWatchList() throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getVariableList()
-	 */
-	public Variable[] getVariableList() throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#getValue(long)
-	 */
-	public Value getValue(long valueId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * @see flash.tools.debugger.Session#getGlobal(String)
-	 */
-	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#evalIs(Value, Value)
-	 */
-	public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalIs(Value, String)
-	 */
-	public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalInstanceof(Value, Value)
-	 */
-	public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalInstanceof(Value, String)
-	 */
-	public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalIn(Value, Value)
-	 */
-	public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * @see flash.tools.debugger.Session#evalAs(Value, Value)
-	 */
-	public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#resume()
-	 */
-	public Value callFunction(Value thisObject, String functionName, Value[] args) throws PlayerDebugException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#callFunction(Value, String, Value[])
-	 */
-	public Value callConstructor(String classname, Value[] args) throws PlayerDebugException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#setExceptionBreakpoint(String)
-	 */
-	public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String)
-	 */
-	public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * @see flash.tools.debugger.Session#breakOnCaughtExceptions(boolean)
-	 */
-	public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException;
-
-	/**
-	 * @see flash.tools.debugger.Session#supportsWatchpoints()
-	 */
-	public boolean supportsWatchpoints();
-	
-	/**
-	 * @see flash.tools.debugger.Session#playerCanBreakOnAllExceptions()
-	 */
-	public boolean playerCanBreakOnAllExceptions();
-	
-	/**
-	 * @see flash.tools.debugger.Session#supportsWideLineNumbers()
-	 */
-	public boolean supportsWideLineNumbers();
-	
-	/**
-	 * @see flash.tools.debugger.Session#playerCanCallFunctions()
-	 */
-	public boolean playerCanCallFunctions();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Location.java b/modules/fdbworkers/src/flash/tools/debugger/Location.java
deleted file mode 100644
index bf6103c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Location.java
+++ /dev/null
@@ -1,41 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * The Location object identifies a specific line number with a SourceFile.
- * It is used for breakpoint manipulation and obtaining stack frame context.
- */
-public interface Location
-{
-	/**
-	 * Source file for this location 
-	 */
-	public SourceFile getFile();
-
-	/**
-	 * Line number within the source for this location 
-	 */
-    public int getLine();
-    
-    /**
-     * Worker to which this location belongs.
-     */
-    public int getIsolateId();
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/NoResponseException.java b/modules/fdbworkers/src/flash/tools/debugger/NoResponseException.java
deleted file mode 100644
index b6756e6..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/NoResponseException.java
+++ /dev/null
@@ -1,61 +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.
- */
-
-package flash.tools.debugger;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * NoResponseException is thrown when the Player does
- * not respond to the command that was issued.
- * 
- * The field m_waitedFor contains the number of
- * milliseconds waited for the response.
- */
-public class NoResponseException extends PlayerDebugException
-{
-	private static final long serialVersionUID = -3704426811630352537L;
-    
-    /**
-	 * Number of milliseconds that elapsed causing the timeout
-	 * -1 means unknown.
-	 */
-	public int m_waitedFor;
-
-	public NoResponseException(int t) 
-	{
-		m_waitedFor = t;
-	}
-
-	@Override
-	public String getMessage()
-	{
-		Map<String, String> args = new HashMap<String, String>();
-		String formatString;
-		if (m_waitedFor != -1 && m_waitedFor != 0)
-		{
-			formatString = "timeout"; //$NON-NLS-1$
-			args.put("time", Integer.toString(m_waitedFor)); //$NON-NLS-1$
-		}
-		else
-		{
-			formatString = "timeoutAfterUnknownDelay"; //$NON-NLS-1$
-		}
-		return Bootstrap.getLocalizationManager().getLocalizedTextString(formatString, args);
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/NotConnectedException.java b/modules/fdbworkers/src/flash/tools/debugger/NotConnectedException.java
deleted file mode 100644
index 662a10a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/NotConnectedException.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * NotConnectedException is thrown when the Session
- * is no longer connnected to the Player
- */
-public class NotConnectedException extends PlayerDebugException
-{
-	private static final long serialVersionUID = -9087367591357152206L;
-
-    @Override
-	public String getMessage()
-	{
-		return Bootstrap.getLocalizationManager().getLocalizedTextString("notConnected"); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/NotSupportedException.java b/modules/fdbworkers/src/flash/tools/debugger/NotSupportedException.java
deleted file mode 100644
index 8e6dbd3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/NotSupportedException.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * Indicates that a debugger feature is not supported by the Flash
- * player that is being targeted.  For example, newer players
- * support the ability to have the debugger call arbitrary
- * functions, but older ones do not.
- * 
- * @author Mike Morearty
- */
-public class NotSupportedException extends PlayerDebugException {
-	private static final long serialVersionUID = -8873935118857320824L;
-
-	/**
-	 * @param s an error message, e.g. "Target player does not support
-	 * function calls," or "Target player does not support watchpoints".
-	 */
-	public NotSupportedException(String s)
-	{
-		super(s);
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/NotSuspendedException.java b/modules/fdbworkers/src/flash/tools/debugger/NotSuspendedException.java
deleted file mode 100644
index c5dad0e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/NotSuspendedException.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * NotSuspendedException is thrown when the Player 
- * is in a state for which the action cannot be performed.
- */
-public class NotSuspendedException extends PlayerDebugException
-{
-	private static final long serialVersionUID = 1373922470760042675L;
-
-    @Override
-	public String getMessage()
-	{
-		return Bootstrap.getLocalizationManager().getLocalizedTextString("notSuspended"); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Player.java b/modules/fdbworkers/src/flash/tools/debugger/Player.java
deleted file mode 100644
index 8b83250..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Player.java
+++ /dev/null
@@ -1,82 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.File;
-
-/**
- * Describes a Flash player.
- * 
- * @author mmorearty
- */
-public interface Player
-{
-	/**
-	 * Indicates a standalone Flash player, e.g. FlashPlayer.exe.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int STANDALONE = 1;
-
-	/**
-	 * Indicates a Netscape-plugin Flash player, e.g. NPSWF32.dll. Used on
-	 * Windows by all Netscape-based browsers (e.g. Firefox etc.), and on Mac
-	 * and Linux by all browsers.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int NETSCAPE_PLUGIN = 2;
-
-	/**
-	 * Indicates an ActiveX-control Flash player, e.g. Flash.ocx.  Used on Windows
-	 * by Internet Explorer.
-	 * 
-	 * @see #getType()
-	 */
-	public static final int ACTIVEX = 3;
-
-	/**
-	 * Indicates the Flash player inside AIR.
-	 */
-	public static final int AIR = 4;
-
-	/**
-	 * Returns what type of Player this is: <code>STANDALONE</code>, <code>NETSCAPE_PLUGIN</code>,
-	 * <code>ACTIVEX</code>, or <code>AIR</code>.
-	 */
-	public int getType();
-
-	/**
-	 * Returns the path to the Flash player file -- e.g. the path to
-	 * FlashPlayer.exe, NPSWF32.dll, Flash.ocx, or adl.exe -- or
-	 * <code>null</code> if not known. (Filenames are obviously
-	 * platform-specific.)
-	 * 
-	 * <p>
-	 * Note that the file is not guaranteed to exist. You can use File.exists()
-	 * to test that.
-	 */
-	public File getPath();
-
-	/**
-	 * Returns the web browser with which this player is associated,
-	 * or <code>null</code> if this is the standalone player or AIR,
-	 * or if we're not sure which browser will be run.
-	 */
-	public Browser getBrowser();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/PlayerDebugException.java b/modules/fdbworkers/src/flash/tools/debugger/PlayerDebugException.java
deleted file mode 100644
index a8e9f7c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/PlayerDebugException.java
+++ /dev/null
@@ -1,30 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * PlayerDebugException is the base class for all
- * exceptions thrown by the playerdebug API
- */
-public class PlayerDebugException extends Exception
-{
-	private static final long serialVersionUID = 757986761482127248L;
-
-    public PlayerDebugException()				{ super(); }
-	public PlayerDebugException(String s)		{ super(s); }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Session.java b/modules/fdbworkers/src/flash/tools/debugger/Session.java
deleted file mode 100644
index 35ebed4..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Session.java
+++ /dev/null
@@ -1,604 +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.
- */
-
-package flash.tools.debugger;
-
-import flash.tools.debugger.events.DebugEvent;
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * The Session object manages all aspects of debugging session with
- * the Flash Player.  A program can be suspended, resumed, single
- * stepping can be performed and state information can be obtained
- * through this object.
- */
-public interface Session
-{
-	/**
-	 * Returns the URL that identifies this Session.
-	 * Note: this may not be unique across Sessions if
-	 * the same launching mechanism and SWF are used.
-	 * @return URI received from the connected Player.
-	 * It identifies the debugging session
-	 */
-	public String getURI();
-
-	/**
-	 * Returns the Process object, if any, that triggered this Session.
-	 * @return the Process object that was used to create this Session.
-	 * If SessionManager.launch() was not used, then null is returned.
-	 */
-	public Process getLaunchProcess();
-
-	/**
-	 * Adjust the preferences for this session; see SessionManager
-	 * for a list of valid preference strings.
-	 *
-	 * If an invalid preference is passed, it will be silently ignored.
-	 * @param pref preference name, one of the strings listed above
-	 * @param value value to set for preference
-	 */
-	public void setPreference(String pref, int value);
-
-	/**
-	 * Return the value of a particular preference item
-	 *
-	 * @param pref preference name, one of the strings listed in <code>SessionManager</code>
-	 * @throws NullPointerException if pref does not exist
-	 * @see SessionManager
-	 */
-	public int getPreference(String pref) throws NullPointerException;
-
-	/**
-	 * Is the Player currently connected for this session.  This function
-	 * must be thread-safe.
-	 *
-	 * @return true if connection is alive
-	 */
-	public boolean isConnected();
-
-	/**
-	 * Allow the session to start communicating with the player.  This
-	 * call must be made PRIOR to any other Session method call.
-	 * @return true if bind was successful.
-	 * @throws VersionException connected to Player which does not support all API completely
-	 */
-	public boolean bind() throws VersionException;
-
-	/**
-	 * Permanently stops the debugging session and breaks the
-	 * connection.  If this Session is used for any subsequent
-	 * calls exceptions will be thrown.
-	 * <p>
-	 * Note: this method allows the caller to disconnect
-	 * from the debugging session (and Player) without
-	 * terminating the Player.  A subsequent call to terminate()
-	 * will destroy the Player process.
-	 * <p>
-	 * Under normal circumstances this method need not be
-	 * called since a call to terminate() performs both
-	 * actions of disconnecting from the Player and destroying
-	 * the Player process.
-	 */
-	public void unbind();
-
-	/**
-	 * Permanently stops the debugging session and breaks the connection. If
-	 * this session ID is used for any subsequent calls exceptions will be
-	 * thrown.
-	 * <p>
-	 * Note that due to platform and browser differences, it should not be
-	 * assumed that this function will necessarily kill the process being
-	 * debugged. For example:
-	 *
-	 * <ul>
-	 * <li> On all platforms, Firefox cannot be terminated. This is because when
-	 * we launch a new instance of Firefox, Firefox actually checks to see if
-	 * there is another already-running instance. If there is, then the new
-	 * instance just passes control to that old instance. So, the debugger
-	 * doesn't know the process ID of the browser. It would be bad to attempt to
-	 * figure out the PID and then kill that process, because the user might
-	 * have other browser windows open that they don't want to lose. </li>
-	 * <li> On Mac, similar problems apply to the Safari and Camino browsers:
-	 * all browsers are launched with /usr/bin/open, so we never know the
-	 * process ID, and we can't kill it. However, for Safari and Camino, what we
-	 * do attempt to do is communicate with the browser via AppleScript, and
-	 * tell it to close the window of the program that is being debugged. </li>
-	 * </ul>
-	 *
-	 * <p>
-	 * If SessionManager.launch() was used to initiate the Session then calling
-	 * this function also causes getLaunchProcess().destroy() to be called.
-	 * <p>
-	 * Note: this method first calls unbind() if needed.
-	 */
-	public void terminate();
-
-	/**
-	 * Continue a halted session.  Execution of the ActionScript
-	 * will commence until a reason for halting exists. That
-	 * is, a breakpoint is reached or the <code>suspend()</code> method is called.
-	 * <p>
-	 * This method will NOT block.  It will return immediately
-	 * after the Player resumes execution.  Use the isSuspended
-	 * method to determine when the Player has halted.
-	 *
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is already running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void resume() throws NotSuspendedException, NotConnectedException, NoResponseException;
-
-	/**
-	 * Halt a running session.  Execution of the ActionScript
-	 * will stop at the next possible breakpoint.
-	 * <p>
-	 * This method WILL BLOCK until the Player halts for some
-	 * reason or an error occurs. During this period, one or
-	 * more callbacks may be initiated.
-	 *
-	 * @throws NoResponseException if times out
-	 * @throws SuspendedException if Player is already suspended
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void suspend() throws SuspendedException, NotConnectedException, NoResponseException;
-	
-	/**
-	 * Is the Player currently halted awaiting requests, such as continue,
-	 * stepOut, stepIn, stepOver. This function is guaranteed to be thread-safe.
-	 *
-	 * @return true if player halted
-	 * @throws NotConnectedException
-	 *             if Player is disconnected from Session
-	 */
-	public boolean isSuspended() throws NotConnectedException;
-
-	/**
-	 * Returns a SuspendReason integer which indicates
-	 * why the Player has suspended execution.
-	 * @return see SuspendReason
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public int suspendReason() throws NotConnectedException;
-	
-	/**
-	 * Returns an array of frames that identify the location and contain
-	 * arguments, locals and 'this' information for each frame on the
-	 * function call stack.   The 0th frame contains the current location
-	 * and context for the actionscript program.  Likewise
-	 * getFrames[getFrames().length] is the topmost (or outermost) frame
-	 * of the call stack.
-	 * @return array of call frames with 0th element representing the current frame.
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public Frame[] getFrames() throws NotConnectedException;
-	
-	/**
-	 * Step to the next executable source line within the
-	 * program, will enter into functions.
-	 * <p>
-	 * This method will NOT block.  It will return immediately
-	 * after the Player resumes execution.  Use the isSuspended
-	 * method to determine when the Player has halted.
-	 *
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void stepInto() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Step out of the current method/function onto the
-	 * next executable soruce line.
-	 * <p>
-	 * This method will NOT block.  It will return immediately
-	 * after the Player resumes execution.  Use the isSuspended
-	 * method to determine when the Player has halted.
-	 *
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void stepOut()  throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * Step to the next executable source line within
-	 * the program, will NOT enter into functions.
-	 * <p>
-	 * This method will NOT block.  It will return immediately
-	 * after the Player resumes execution.  Use the isSuspended
-	 * method to determine when the Player has halted.
-	 *
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void stepOver() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Continue the process of stepping.
-	 * This call should only be issued if a previous
-	 * stepXXX() call was made and the Player suspended
-	 * execution due to a breakpoint being hit.
-	 * That is getSuspendReason() == SuspendReason.Break
-	 * This operation can be used for assisting with
-	 * the processing of conditional breakpoints.
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public void stepContinue() throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Obtain information about the various SWF(s) that have been
-	 * loaded into the Player, for this session.
-	 *
-	 * Note: As SWFs are loaded by the Player a SwfLoadedEvent is
-	 * fired.  At this point, a call to getSwfInfo() will provide
-	 * updated information.
-	 *
-	 * @return array of records describing the SWFs
-	 * @throws NoResponseException if times out
-	 */
-	public SwfInfo[] getSwfs() throws NoResponseException;
-	
-	/**
-	 * Get a list of the current breakpoints.  No specific ordering
-	 * of the breakpoints is implied by the array.
-	 * @return breakpoints currently set.
-	 * @throws NoResponseException if times out
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public Location[] getBreakpointList() throws NoResponseException, NotConnectedException;
-
-	/**
-	 * Set a breakpoint on a line within the given file.
-	 * <p>
-	 * <em>Warning:</em> <code>setBreakpoint()</code> and
-	 * <code>clearBreakpoint()</code> do not keep track of how many times they
-	 * have been called for a given Location. For example, if you make two calls
-	 * to <code>setBreakpoint()</code> for file X.as line 10, and then one
-	 * call to <code>clearBreakpoint()</code> for that same file and line,
-	 * then the breakpoint is gone. So, the caller is responsible for keeping
-	 * track of whether the user has set two breakpoints at the same location.
-	 *
-	 * @return null if breakpoint not set, otherwise
-	 * Location of breakpoint.
-	 * @throws NoResponseException if times out
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public Location setBreakpoint(int fileId, int lineNum) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * Remove a breakpoint at given location. The Location obtain can be a
-	 * clone/copy of a Location object returned from a previous call to
-	 * getBreakpointList().
-	 * <p>
-	 * <em>Warning:</em> <code>setBreakpoint()</code> and
-	 * <code>clearBreakpoint()</code> do not keep track of how many times they
-	 * have been called for a given Location. For example, if you make two calls
-	 * to <code>setBreakpoint()</code> for file X.as line 10, and then one
-	 * call to <code>clearBreakpoint()</code> for that same file and line,
-	 * then the breakpoint is gone. So, the caller is responsible for keeping
-	 * track of whether the user has set two breakpoints at the same location.
-	 *
-	 * @return null if breakpoint was not removed.
-	 * @throws NoResponseException
-	 *             if times out
-	 * @throws NotConnectedException
-	 *             if Player is disconnected from Session
-	 */
-	public Location clearBreakpoint(Location location) throws NoResponseException, NotConnectedException;
-
-	/**
-	 * Get a list of the current watchpoint.  No specific ordering
-	 * of the watchpoints is implied by the array.  Also, the
-	 * list may contain watchpoints that are no longer relevant due
-	 * to the variable going out of scope.
-	 * @return watchpoints currently set.
-	 * @throws NoResponseException if times out
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 * @since Version 2
-	 */
-	public Watch[] getWatchList() throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * Set a watchpoint on a given variable.  A watchpoint is used
-	 * to suspend Player execution upon access of a particular variable.
-	 * If the variable upon which the watchpoint is set goes out of scope,
-	 * the watchpoint will NOT be automatically removed.
-	 * <p>
-	 * Specification of the variable item to be watched requires two
-	 * pieces of information (similar to setScalarMember())
-	 * The Variable and the name of the particular member to be watched
-	 * within the variable.
-	 * For example if the watchpoint is to be applied to 'a.b.c'.  First the
-	 * Value for object 'a.b' must be obtained and then the call
-	 * setWatch(v, "c", ...) can be issued.
-	 * The watchpoint can be triggered (i.e. the Player suspended) when either a read
-	 * or write (or either) occurs on the variable.  If the Player is suspended
-	 * due to a watchpoint being fired, then the suspendReason() call will
-	 * return SuspendReason.WATCH.
-	 * <p>
-	 * Setting a watchpoint multiple times on the same variable will result
-	 * in the old watchpoint being removed from the list and a new watchpoint
-	 * being added to the end of the list.
-	 * <p>
-	 * Likewise, if a previously existing watchpoint is modified by
-	 * specifiying a different kind variable then the old watchpoint
-	 * will be removed from the list and a new watchpoint will be added
-	 * to the end of the list.
-	 *
-	 * @param v the variable, upon whose member, the watch is to be placed.
-	 * @param varName is the mmeber name upon which the watch
-	 * should be placed.  This variable name may NOT contain the dot ('.')
-	 * character and MUST be a member of v.
-	 * @param kind access type that will trigger the watchpoint to fire --
-	 * read, write, or read/write.  See <code>WatchKind</code>.
-	 * @return null if watchpoint was not created.
-	 * @throws NoResponseException if times out
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 * @throws NotSupportedException if the Player does not support watchpoints,
-	 * or does not support watchpoints on this particular member (e.g. because
-	 * it is a getter or a dynamic variable).
-	 * @since Version 2
-	 * @see WatchKind
-	 */
-	public Watch setWatch(Value v, String memberName, int kind) throws NoResponseException, NotConnectedException, NotSupportedException;
-	
-	/**
-	 * Enables or disables a watchpoint.
-	 *
-	 * @param watch
-	 *            the watch to enable or disable
-	 * @param enabled
-	 *            whether to enable it or disable it
-	 * @throws NotSupportedException
-	 * @throws NotConnectedException
-	 * @throws NoResponseException
-	 */
-	public Watch setWatch(Watch watch) throws NoResponseException, NotConnectedException, NotSupportedException;
-
-	/**
-	 * Remove a previously created watchpoint.  The watchpoint
-	 * that was removed will be returned upon a sucessful call.
-	 * @return null if watchpoint was not removed.
-	 * @throws NoResponseException if times out
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 * @since Version 2
-	 */
-	public Watch clearWatch(Watch watch) throws NoResponseException, NotConnectedException;
-	
-	/**
-	 * Obtains a list of variables that are local to the current
-	 * halted state.
-	 * @deprecated As of version 2.
-	 * @see Frame#getLocals
-	 */
-	public Variable[] getVariableList() throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException;
-	
-	/**
-	 * From a given value identifier return a Value.  This call
-	 * allows tools to access a specific value whenever the Player has
-	 * suspended.  A Value's id is maintained for the life of the
-	 * Value and is guaranteed not to change.  Values that
-	 * go out of scope are no longer accessible and will result
-	 * in a null being returned.   Also note, that scalar
-	 * variables do not contain an id that can be referenced in
-	 * this manner.  Therefore the caller must also maintain the
-	 * 'context' in which the variable was obtained.  For example
-	 * if a Number b exists on a, then the reference 'a.b' must be
-	 * managed, as the id of 'a' will be needed to obtain the
-	 * value of 'b'.
-	 * @param valueId identifier from Value class or
-	 * from a call to Value.getId()
-	 * @return null, if value cannot be found or
-	 * value with the specific id.
-	 * @throws NoResponseException if times out
-	 * @throws NotSuspendedException if Player is running
-	 * @throws NotConnectedException if Player is disconnected from Session
-	 */
-	public Value getValue(long valueId) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Looks up a global name, like "MyClass", "String", etc.
-	 *
-	 * @return its value, or <code>null</code> if the global does not exist.
-	 */
-	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Events provide a mechanism whereby status information is provided from
-	 * the Player in a timely fashion.
-	 * <p>
-	 * The caller has the option of either polling the event queue via
-	 * <code>nextEvent()</code> or calling <code>waitForEvent()</code> which
-	 * blocks the calling thread until one or more events exist in the queue.
-	 *
-	 * @throws NotConnectedException
-	 *             if Session is disconnected from Player
-	 * @throws InterruptedException
-	 */
-	public void waitForEvent() throws NotConnectedException, InterruptedException;
-
-	/**
-	 * Returns the number of events currently in the queue.  This function
-	 * is guaranteed to be thread-safe.
-	 */
-	public int getEventCount();
-
-	/**
-	 * Removes and returns the next event from queue
-	 */
-	public DebugEvent nextEvent();
-
-	/**
-	 * Gets the SourceLocator for this session.  If none has been
-	 * specified, returns null.
-	 */
-    public SourceLocator getSourceLocator();
-
-	/**
-	 * Sets the SourceLocator for this session.  This can be used in order
-	 * to override the default rules used for finding source files.
-	 */
-	public void setSourceLocator(SourceLocator sourceLocator);
-
-	/**
-	 * Invokes a constructor in the player. Returns the newly created object.
-	 * Not supported in Player 9 or AIR 1.0. If you call this function and the
-	 * player to which you are connected doesn't support this feature, this will
-	 * throw a PlayerDebugException.
-	 */
-	public Value callConstructor(String classname, Value[] args) throws PlayerDebugException;
-
-	/**
-	 * Invokes a function. For example, calling
-	 * <code>callFunction(myobj, "toString", new Value[0])</code> will call
-	 * <code>myobj.toString()</code>. Not supported in Player 9 or AIR 1.0.
-	 * If you call this function and the player to which you are connected
-	 * doesn't support this feature, this will throw a PlayerDebugException.
-	 */
-	public Value callFunction(Value thisObject, String functionName, Value[] args) throws PlayerDebugException;
-	
-	/**
-	 * The player always halts on exceptions that are not going to be caught;
-	 * this call allows the debugger to control its behavior when an exception
-	 * that *will* be caught is thrown.
-	 *
-	 * @throws NotSupportedException
-	 *             thrown by older players that don't support this feature.
-	 * @throws NoResponseException
-	 */
-	public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException;
-
-	/**
-	 * Evaluate the ActionScript expression "value is type"
-	 *
-	 * @throws PlayerDebugException
-	 * @throws PlayerFaultException
-	 */
-	public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * Evaluate the ActionScript expression "value is type"
-	 *
-	 * @throws PlayerDebugException
-	 * @throws PlayerFaultException
-	 */
-	public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * Evaluate the ActionScript expression "value instanceof type"
-	 *
-	 * @throws PlayerFaultException
-	 * @throws PlayerDebugException
-	 */
-	public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * Evaluate the ActionScript expression "value instanceof type"
-	 *
-	 * @throws PlayerFaultException
-	 * @throws PlayerDebugException
-	 */
-	public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * Evaluate the ActionScript expression "property in object"
-	 *
-	 * @throws PlayerFaultException
-	 * @throws PlayerDebugException
-	 */
-	public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException;
-
-	/**
-	 * Evaluate the ActionScript expression "value as type"
-	 *
-	 * @throws PlayerDebugException
-	 * @throws PlayerFaultException
-	 */
-	public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException;
-	
-	/**
-	 * Returns whether the target player supports watchpoints.
-	 * @see #setWatch(Value, String, int)
-	 */
-	public boolean supportsWatchpoints();
-	
-	/**
-	 * Returns the root SocketException that caused the rxMessage()
-	 * thread to shut down. This works in conjunction with 
-	 * PREF_SOCKET_TIMEOUT and helps in detecting broken connections.
-	 */
-	public Exception getDisconnectCause();
-
-	/**
-	 * Set an exception breakpoint. Returns true if succeeded.
-	 * @param exceptionClass
-	 * @return
-	 * @throws NoResponseException
-	 * @throws NotConnectedException
-	 */
-	public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException;
-
-	/**
-	 * Clears an exception breakpoint. Returns true if succeeded.
-	 * @param exceptionClass
-	 * @return
-	 * @throws NoResponseException
-	 * @throws NotConnectedException
-	 */
-	public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException;
-	
-	// Concurrency begin
-	
-	/**
-	 * Returns whether the target player supports concurrency.
-	 * @see #setActiveIsolate(Value)
-	 */
-	public boolean supportsConcurrency();
-	
-	/**
-	 * Get an array of all workers that the debugger knows of.
-	 */
-	public Isolate[] getWorkers();
-	
-	/**
-	 * Ask the player again for a list of all workers. Use this
-	 * method with caution as it will also reset all state about
-	 * workers that the debugger is aware of.
-	 */
-	public Isolate[] refreshWorkers() throws  NotSupportedException, NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Return the worker specific session object that can be used
-	 * to communicate with that worker.
-	 */
-	public IsolateSession getWorkerSession(int isolateId);
-	
-	/**
-	 * 
-	 * Sets the ILauncher instance which is associated with this session. 
-	 * ILauncher instance is used to terminate the process at the end of the debugging session.
-	 *
-	 * @param launcher 
-	 * 				ILauncher instance used to launch & terminate the process.
-	 */
-	public void setLauncher(ILauncher launcher);
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SessionManager.java b/modules/fdbworkers/src/flash/tools/debugger/SessionManager.java
deleted file mode 100644
index e67e68b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SessionManager.java
+++ /dev/null
@@ -1,390 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.IOException;
-
-/**
- * A SessionManager controls connection establishment and preferences 
- * for all debugging sessions with the Flash Player.
- * 
- * To begin a new debugging session:
- * 
- * <ol>
- * <li> Get a <code>SessionManager</code> from <code>Bootstrap.sessionManager()</code> </li>
- * <li> Call <code>SessionManager.startListening()</code> </li>
- * <li> If you want to have the API launch the Flash Player for you, call
- *      <code>SessionManager.launch()</code>.  If you want to launch the Flash Player
- *      and then have the API connect to it, then launch the Flash Player and then
- *      call <code>SessionManager.accept()</code>. <em>Note:</em> <code>launch()</code> 
- *      and <code>accept()</code> are both blocking calls, so you probably don't want
- *      to call them from your main UI thread. </li>
- * <li> Finally, call <code>SessionManager.stopListening()</code>.
- * </ol>
- */
-public interface SessionManager
-{
-	/**
-	 * The preferences are set using the setPreference() method, and
-	 * take effect immediately thereafter.
-	 */
-
-	/**
-	 * The value used for <code>$accepttimeout</code> controls how long (in
-	 * milliseconds) <code>accept()</code> waits before timing out. The
-	 * default value for this preference is 120000 (2 minutes).
-	 */
-	public static final String PREF_ACCEPT_TIMEOUT				= "$accepttimeout"; //$NON-NLS-1$
-
-	/**
-	 * Valid values for <code>$urimodification</code> are 0 (off) and 1 (on).
-	 * The default value is 1 (on), which allows this API to modify the URI
-	 * passed to <code>launch()</code> as necessary for creating a debuggable
-	 * version of an MXML file.
-	 */
-	public static final String PREF_URI_MODIFICATION			= "$urimodification"; //$NON-NLS-1$
-
-	/**
-	 *-----------------------------------------------------------------
-	 * The following are Session specific preferences.  These can be
-	 * modified in this class, resulting in all future sessions using
-	 * the values or they can be modified at the session level via
-	 * Session.setPreference().
-	 *-----------------------------------------------------------------
-	 */
-
-	/**
-	 * <code>$responsetimeout</code> is used to determine how long (in
-	 * milliseconds) the session will wait, for a player response before giving
-	 * up on the request and throwing an Exception.
-	 */
-	public static final String PREF_RESPONSE_TIMEOUT			= "$responsetimeout"; //$NON-NLS-1$
-	
-	/**
-	 * <code>$sockettimeout</code> is used to determine how long (in
-	 * milliseconds) the session will wait on a Socket recv call.
-	 * On timeout, we do not immediately abort the session, instead we
-	 * write a squelch message to player. If the write succeeds, we assume
-	 * everything is normal.This helps identify broken connections that 
-	 * are relevant when performing WiFi debugging. 
-	 * This is -1 by default to indicate no timeout 
-	 * (for backward compatibility).
-	 */
-	public static final String PREF_SOCKET_TIMEOUT			= "$sockettimeout"; //$NON-NLS-1$
-
-	/**
-	 * <code>$contextresponsetimeout</code> is used to determine how long (in
-	 * milliseconds) the session will wait for a player response from a request
-	 * to get context, before giving up on the request and throwing an
-	 * Exception.
-	 */
-	public static final String PREF_CONTEXT_RESPONSE_TIMEOUT	= "$contextresponsetimeout"; //$NON-NLS-1$
-
-	/**
-	 * <code>$getvarresponsetimeout</code> is used to determine how long (in
-	 * milliseconds) the session will wait, for a player response to a get
-	 * variable request before giving up on the request and throwing an
-	 * Exception.
-	 */
-	public static final String PREF_GETVAR_RESPONSE_TIMEOUT		= "$getvarresponsetimeout"; //$NON-NLS-1$
-
-	/**
-	 * <code>$setvarresponsetimeout</code> is the amount of time (in
-	 * milliseconds) that a setter in the user's code will be given to execute,
-	 * before the player interrupts it with a ScriptTimeoutError. Default value
-	 * is 5000 ms.
-	 */
-	public static final String PREF_SETVAR_RESPONSE_TIMEOUT		= "$setvarresponsetimeout"; //$NON-NLS-1$
-
-	/**
-	 * <code>$swfswdloadtimeout<code> is used to determine how long (in milliseconds)
-	 * the session will wait, for a player response to a swf/swd load 
-	 * request before giving up on the request and throwing an Exception.
-	 */
-	public static final String PREF_SWFSWD_LOAD_TIMEOUT			= "$swfswdloadtimeout"; //$NON-NLS-1$
-
-	/**
-	 * <code>$suspendwait</code> is the amount of time (in milliseconds) that
-	 * a Session will wait for the Player to suspend, after a call to
-	 * <code>suspend()</code>.
-	 */
-	public static final String PREF_SUSPEND_WAIT				= "$suspendwait"; //$NON-NLS-1$
-
-	/**
-	 * <code>$invokegetters</code> is used to determine whether a getter
-	 * property is invoked or not when requested via <code>getVariable()</code>
-	 * The default value is for this to be enabled.
-	 */
-	public static final String PREF_INVOKE_GETTERS				= "$invokegetters"; //$NON-NLS-1$
-
-	public static final String PLAYER_SUPPORTS_GET				= "$playersupportsget"; //$NON-NLS-1$
-
-	/**
-	 * <code>$hiervars</code> is used to determine whether the members of
-	 * a variable are shown in a hierchical way.
-	 */
-	public static final String PREF_HIERARCHICAL_VARIABLES		= "$hiervars"; //$NON-NLS-1$
-
-	/**
-	 * The value used for <code>$connecttimeout</code> controls how long (in
-	 * milliseconds) <code>connect()</code> waits before timing out. The
-	 * default value for this preference is 120000 (2 minutes).
-	 */
-	public static final String PREF_CONNECT_TIMEOUT				= "$connecttimeout"; //$NON-NLS-1$
-
-	 /**
-     * The value used for <code>$connectwaitinterval</code> controls how long (in
-     * milliseconds) we wait between subsequent <code>connect()</code> calls. The
-     * default value for this preference is 250.
-     */
-    public static final String PREF_CONNECT_WAIT_INTERVAL = "$connectwaitinterval"; //$NON-NLS-1$
-
-    /**
-     * The value used for <code>$connectretryattempts</code> controls how many times
-     * the debugger retries connecting to the application. This is time bound by 
-     * <code>$connecttimeout</code>. The default value for this preference is -1 and
-     * indicates that the debugger should retry till the timeout period has elapsed.
-     * Setting this to zero will disable the retry mechanism.
-     */
-    public static final String PREF_CONNECT_RETRY_ATTEMPTS = "$connectretryattempts"; //$NON-NLS-1$
-    
-	/**
-	 * Set preference for this manager and for subsequent Sessions 
-	 * that are initiated after this call.
-	 * 
-	 * If an invalid preference is passed, it will be silently ignored.
-	 * @param pref preference name, one of the strings listed above
-	 * @param value value to set for preference
-	 */
-	public void setPreference(String pref, int value);
-
-	/**
-	 * Set preference for this manager and for subsequent Sessions 
-	 * that are initiated after this call.
-	 * 
-	 * If an invalid preference is passed, it will be silently ignored.
-	 * @param pref preference name, one of the strings listed above
-	 * @param value value to set for preference
-	 */
-	public void setPreference(String pref, String value);
-
-	/**
-	 * Return the value of a particular preference item
-	 * 
-	 * @param pref preference name, one of the strings listed above
-	 * @throws NullPointerException if pref does not exist
-	 */
-	public int getPreference(String pref) throws NullPointerException;
-
-	/**
-	 * Listens for Player attempts to open a debug session. This method must be
-	 * called prior to <code>accept()</code> being invoked.
-	 * 
-	 * @throws IOException
-	 *             if opening the server side socket fails
-	 */
-	public void startListening() throws IOException;
-
-	/**
-	 * Stops listening for new Player attempts to open a debug session. The
-	 * method DOES NOT terminate currently connected sessions, but will cause
-	 * threads blocked in <code>accept</code> to throw SocketExceptions.
-	 */
-	public void stopListening() throws IOException;
-
-	/**
-	 * Is this object currently listening for Debug Player connections 
-	 * @return TRUE currently listening 
-	 */
-	public boolean isListening();
-
-	/**
-	 * Launches a Player using the given string as a URI, as defined by RFC2396.
-	 * It is expected that the operating system will be able to launch the
-	 * appropriate player application given this URI.
-	 * <p>
-	 * For example "http://localhost:8100/flex/my.mxml" or for a local file on
-	 * Windows, "file://c:/my.swf"
-	 * <p>
-	 * This call will block until a session with the newly launched player is
-	 * created.
-	 * <p>
-	 * It is the caller's responsibility to ensure that no other thread is
-	 * blocking in <code>accept()</code>, since that thread will gain control
-	 * of this session.
-	 * <p>
-	 * Before calling <code>launch()</code>, you should first call
-	 * <code>supportsLaunch()</code>. If <code>supportsLaunch()</code>
-	 * returns false, then you will have to tell the user to manually launch the
-	 * Flash player.
-	 * <p>
-	 * Also, before calling <code>launch()</code>, you must call
-	 * <code>startListening()</code>.
-	 * 
-	 * @param uri
-	 *            which will launch a Flash player under running OS. For
-	 *            Flash/Flex apps, this can point to either a SWF or an HTML
-	 *            file. For AIR apps, this must point to the application.xml
-	 *            file for the application.
-	 * @param airLaunchInfo
-	 *            If trying to launch an AIR application, this argument must be
-	 *            specified; it gives more information about how to do the
-	 *            launch. If trying to launch a regular web-based Flash or Flex
-	 *            application, such as one that will be in a browser or in the
-	 *            standalone Flash Player, this argument should be
-	 *            <code>null</code>.
-	 * @param forDebugging
-	 *            if <code>true</code>, then the launch is for the purposes
-	 *            of debugging. If <code>false</code>, then the launch is
-	 *            simply because the user wants to run the movie but not debug
-	 *            it; in that case, the return value of this function will be
-	 *            <code>null</code>.
-	 * @param waitReporter
-	 *            a progress monitor to allow accept() to notify its parent how
-	 *            long it has been waiting for the Flash player to connect to
-	 *            it. May be <code>null</code> if the caller doesn't need to
-	 *            know how long it's been waiting.
-	 * @param launchNotification
-	 *            a notifier to notify the caller about ADL Exit Code.
-	 *            Main usage is for ADL Exit Code 1 (Successful invocation of an 
-	 *            already running AIR application. ADL exits immediately).
-	 *            May be <code>null</code> if no need to listen ADL. 
-	 *            Will only be called if forDebugging is false.  (If forDebugging
-	 *            is true, error conditions are handled by throwing an exception.)
-	 *			  The callback will be called on a different thread.
-	 * @return a Session to use for debugging, or null if forDebugging==false.
-	 *         The return value is not used to indicate an error -- exceptions
-	 *         are used for that. If this function returns without throwing an
-	 *         exception, then the return value will always be non-null if
-	 *         forDebugging==true, or null if forDebugging==false.
-	 * @throws BindException
-	 *             if <code>isListening()</code> == false
-	 * @throws FileNotFoundException
-	 *             if file cannot be located
-	 * @throws CommandLineException
-	 *             if the program that was launched exited unexpectedly. This
-	 *             will be returned, for example, when launching an AIR
-	 *             application, if adl exits with an error code.
-	 *             CommandLineException includes functions to return any error
-	 *             text that may have been sent to stdout/stderr, and the exit
-	 *             code of the program.
-	 * @throws IOException
-	 *             see Runtime.exec()
-	 */
-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo,
-			boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification) throws IOException;
-
-	/**
-	 * Returns information about the Flash player which will be used to run the
-	 * given URI.
-	 * 
-	 * @param uri
-	 *            The URI which will be passed to <code>launch()</code> -- for
-	 *            example, <code>http://flexserver/mymovie.mxml</code> or
-	 *            <code>c:\mymovie.swf</code>. If launching an AIR app, this
-	 *            should point to the app's *-app.xml file.
-	 * @param airLaunchInfo
-	 *            If launching an AIR app, this should, if possible, contain
-	 *            info about the version of AIR being launched, but it can be
-	 *            null if you don't have that information. If launching a
-	 *            web-based app, this should be null.
-	 * @return a {@link Player} which can be used to determine information about
-	 *         the player -- for example, whether it is a debugger-enabled
-	 *         player. Returns <code>null</code> if the player cannot be
-	 *         determined. <em>Important:</em> There are valid situations in
-	 *         which this will return <code>null</code>
-	 */
-	public Player playerForUri(String uri, AIRLaunchInfo airLaunchInfo);
-
-	/**
-	 * Returns whether this platform supports the <code>launch()</code>
-	 * command; that is, whether the debugger can programmatically launch the
-	 * Flash player. If this function returns false, then the debugger will have
-	 * to tell the user to manually launch the Flash player.
-	 * 
-	 * @return true if this platform supports the <code>launch()</code>
-	 *         command.
-	 */
-	public boolean supportsLaunch();
-
-	/**
-	 * Blocks until the next available player debug session commences, or until
-	 * <code>getPreference(PREF_ACCEPT_TIMEOUT)</code> milliseconds pass.
-	 * <p>
-	 * Before calling <code>launch()</code>, you must call
-	 * <code>startListening()</code>.
-	 * <p>
-	 * Once a Session is obtained, Session.bind() must be called prior to any
-	 * other Session method.
-	 * 
-	 * @param waitReporter
-	 *            a progress monitor to allow accept() to notify its parent how
-	 *            long it has been waiting for the Flash player to connect to it.
-	 *            May be <code>null</code> if the caller doesn't need to know how
-	 *            long it's been waiting.
-	 * @throws BindException
-	 *             if isListening() == false
-	 * @throws IOException -
-	 *             see java.net.ServerSocket.accept()
-	 */
-	public Session accept(IProgress waitReporter) throws IOException;
-
-	/**
-	 * Tells the session manager to use the specified IDebuggerCallbacks for
-	 * performing certain operatios, such as finding the Flash Player and
-	 * launching the debug target. If you do not call this, the session manager
-	 * will use a <code>DefaultDebuggerCallbacks</code> object.
-	 */
-	public void setDebuggerCallbacks(IDebuggerCallbacks debugger);
-
-	/**
-	 * Initiate a debug session by connecting to the specified port. Blocks 
-	 * until a connection is made, or until 
-	 * <code>getPreference(PREF_CONNECT_TIMEOUT)</code> milliseconds pass.
-	 * <p>
-	 * This work-flow is a reverse of <code>accept()</code> and suited for 
-	 * cases where the player is unable to initiate the connection. The 
-	 * player must be listening on the specified port for an incoming debug 
-	 * connection. In addition, this function calls bind() on the session
-	 * to determine if the handshake was successful so that retry works
-	 * correctly even across port-forwards.
-	 * <p> 
-	 * Use <code>stopConnecting()</code> to cancel connect,
-	 * <code>isConnecting()</code> to check if we are currently trying to 
-	 * connect.
-	 * 
-	 * @param port - The port to connect to. See DProtocol.DEBUG_CONNECT_PORT.
-	 * @param waitReporter
-	 * @return A Session object on which bind() has already been called.
-	 * @throws IOException - This may have a wrapped VersionException due to bind()
-	 */
-	public Session connect(int port, IProgress waitReporter) throws IOException;
-	
-	/**
-	 * Stops connecting to the Player for a debug session. The
-	 * method DOES NOT terminate currently connected sessions, but will cause
-	 * threads blocked in <code>connect</code> to throw SocketExceptions.
-	 */
-	public void stopConnecting() throws IOException;
-
-	/**
-	 * Is this object currently connecting to the Debug Player 
-	 * @return TRUE currently connecting 
-	 */
-	public boolean isConnecting();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SessionManager2.java b/modules/fdbworkers/src/flash/tools/debugger/SessionManager2.java
deleted file mode 100644
index c1801d9..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SessionManager2.java
+++ /dev/null
@@ -1,184 +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.
- */
-package flash.tools.debugger;

-

-import java.io.IOException;

-

-public interface SessionManager2 extends SessionManager {

-	

-	/**

-	 * This is, functionally, a clone of the SessionManager.launch() method. There are however some differences.

-	 * 	-This is to be called only for run launches. only for debug launches, the launch() method creates a Session and

-	 * binds it to the launch and since the launch() method returns the Session, which will be null in a Run Launch case,

-	 * we have no way of accessing the Process that was created for the launch.

-	 * 	-To enable auto termination of run launches, we need to know the system Process for us to terminate it when

-	 * necessary.

-	 *  -This method creates the process and binds a process listener to it and then returns the process.

-	 *

-	 * 

-	 * @param uri

-	 *            which will launch a Flash player under running OS. For

-	 *            Flash/Flex apps, this can point to either a SWF or an HTML

-	 *            file. For AIR apps, this must point to the application.xml

-	 *            file for the application.

-	 * @param airLaunchInfo

-	 *            If trying to launch an AIR application, this argument must be

-	 *            specified; it gives more information about how to do the

-	 *            launch. If trying to launch a regular web-based Flash or Flex

-	 *            application, such as one that will be in a browser or in the

-	 *            standalone Flash Player, this argument should be

-	 *            <code>null</code>.

-	 * @param waitReporter

-	 *            a progress monitor to allow accept() to notify its parent how

-	 *            long it has been waiting for the Flash player to connect to

-	 *            it. May be <code>null</code> if the caller doesn't need to

-	 *            know how long it's been waiting.

-	 * @param launchNotification

-	 *            a notifier to notify the caller about ADL Exit Code.

-	 *            Main usage is for ADL Exit Code 1 (Successful invocation of an 

-	 *            already running AIR application. ADL exits immediately).

-	 *            May be <code>null</code> if no need to listen ADL. 

-	 *			  The callback will be called on a different thread.

-	 * @return a Process to use for the run launch.

-	 *         The return value is not used to indicate an error -- exceptions

-	 *         are used for that. If this function returns without throwing an

-	 *         exception, then the return value will always be non-null.

-	 * @throws IOException

-	 *             see Runtime.exec()

-	 */

-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo,

-			 IProgress waitReporter, ILaunchNotification launchNotification) throws IOException;

-	/**

-	 * This is, functionally, a clone of the SessionManager.launch() method. There are however some differences.

-	 * 	-This is to be called only for run launches. only for debug launches, the launch() method creates a Session and

-	 * binds it to the launch and since the launch() method returns the Session, which will be null in a Run Launch case,

-	 * we have no way of accessing the Process that was created for the launch.

-	 * 	-To enable auto termination of run launches, we need to know the system Process for us to terminate it when

-	 * necessary.

-	 *  -This method creates the process and binds a process listener to it and then returns the process.

-	 *

-	 *  - This method used the ILauncher instance passed to launch the application.

-	 *  

-	 * @param uri

-	 *  		  which will launch a Flash player under running OS. For

-	 *            Flash/Flex apps, this can point to either a SWF or an HTML

-	 *            file. For AIR apps, this must point to the application.xml

-	 *            file for the application.

-	  * @param airLaunchInfo

-	 *            If trying to launch an AIR application, this argument must be

-	 *            specified; it gives more information about how to do the

-	 *            launch. If trying to launch a regular web-based Flash or Flex

-	 *            application, such as one that will be in a browser or in the

-	 *            standalone Flash Player, this argument should be

-	 *            <code>null</code>.

-	 * @param waitReporter

-	 *            a progress monitor to allow accept() to notify its parent how

-	 *            long it has been waiting for the Flash player to connect to

-	 *            it. May be <code>null</code> if the caller doesn't need to

-	 *            know how long it's been waiting.

-	 * @param launchNotification

-	 *            a notifier to notify the caller about ADL Exit Code.

-	 *            Main usage is for ADL Exit Code 1 (Successful invocation of an 

-	 *            already running AIR application. ADL exits immediately).

-	 *            May be <code>null</code> if no need to listen ADL. 

-	 *			  The callback will be called on a different thread.

-	 * @param launcher

-	 * 			  a launcher instance which will be used to launch.

-	 * @return a Process to use for the run launch.

-	 *         The return value is not used to indicate an error -- exceptions

-	 *         are used for that. If this function returns without throwing an

-	 *         exception, then the return value will always be non-null.

-	 * @throws IOException

-	 */

-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo,

-			 IProgress waitReporter, ILaunchNotification launchNotification, ILauncher launcher) throws IOException;

-	

-	

-	/**

-	 * Launches the given string as a URI using the ILauncher Instance.

-	 * 

-	 * This API is to provide more flexibility to handle the Player launch in different platforms.

-	 * 

-	 * This call will block until a session with the newly launched player is

-	 * created.

-	 * <p>

-	 * It is the caller's responsibility to ensure that no other thread is

-	 * blocking in <code>accept()</code>, since that thread will gain control

-	 * of this session.

-	 * <p>

-	 * Before calling <code>launch()</code>, you should first call

-	 * <code>supportsLaunch()</code>. If <code>supportsLaunch()</code>

-	 * returns false, then you will have to tell the user to manually launch the

-	 * Flash player.

-	 * <p>

-	 * Also, before calling <code>launch()</code>, you must call

-	 * <code>startListening()</code>.

-	 * 

-	 * @param uri

-	 *            which will launch a Flash player under running OS. For

-	 *            Flash/Flex apps, this can point to either a SWF or an HTML

-	 *            file. For AIR apps, this must point to the application.xml

-	 *            file for the application.

-	 * @param airLaunchInfo

-	 *            If trying to launch an AIR application, this argument must be

-	 *            specified; it gives more information about how to do the

-	 *            launch. If trying to launch a regular web-based Flash or Flex

-	 *            application, such as one that will be in a browser or in the

-	 *            standalone Flash Player, this argument should be

-	 *            <code>null</code>.

-	 * @param forDebugging

-	 *            if <code>true</code>, then the launch is for the purposes

-	 *            of debugging. If <code>false</code>, then the launch is

-	 *            simply because the user wants to run the movie but not debug

-	 *            it; in that case, the return value of this function will be

-	 *            <code>null</code>.

-	 * @param waitReporter

-	 *            a progress monitor to allow accept() to notify its parent how

-	 *            long it has been waiting for the Flash player to connect to

-	 *            it. May be <code>null</code> if the caller doesn't need to

-	 *            know how long it's been waiting.

-	 * @param launchNotification

-	 *            a notifier to notify the caller about ADL Exit Code.

-	 *            Main usage is for ADL Exit Code 1 (Successful invocation of an 

-	 *            already running AIR application. ADL exits immediately).

-	 *            May be <code>null</code> if no need to listen ADL. 

-	 *            Will only be called if forDebugging is false.  (If forDebugging

-	 *            is true, error conditions are handled by throwing an exception.)

-	 *			  The callback will be called on a different thread.

-	 * @return a Session to use for debugging, or null if forDebugging==false.

-	 *         The return value is not used to indicate an error -- exceptions

-	 *         are used for that. If this function returns without throwing an

-	 *         exception, then the return value will always be non-null if

-	 *         forDebugging==true, or null if forDebugging==false.

-	 * @throws BindException

-	 *             if <code>isListening()</code> == false

-	 * @throws FileNotFoundException

-	 *             if file cannot be located

-	 * @throws CommandLineException

-	 *             if the program that was launched exited unexpectedly. This

-	 *             will be returned, for example, when launching an AIR

-	 *             application, if adl exits with an error code.

-	 *             CommandLineException includes functions to return any error

-	 *             text that may have been sent to stdout/stderr, and the exit

-	 *             code of the program.

-	 * @throws IOException 

-	 * 				Exception during launch.

-	 */

-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo,

-			boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification, ILauncher launcher) throws IOException;

-

-}

diff --git a/modules/fdbworkers/src/flash/tools/debugger/SourceFile.java b/modules/fdbworkers/src/flash/tools/debugger/SourceFile.java
deleted file mode 100644
index 6fe0978..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SourceFile.java
+++ /dev/null
@@ -1,124 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * A SourceFile contains information about a specific segment 
- * of ActionScript source code.  The source code could be
- * derived from a number of locations; an ActionScript file, a 
- * snip-it of code from a frame, compiler generated code, etc.
- */
-public interface SourceFile
-{
-	/**
-	 * Base path for this filename, without the package-name portion.  For
-	 * example, if class mx.controls.Button.as was in
-	 * C:\flex\sdk\frameworks\mx\controls\Button.as, then getBasePath()
-	 * would return "C:\flex\sdk\frameworks" (note that the "mx\controls"
-	 * part would NOT be returned).
-	 * @return base path, or null
-	 */
-	public String getBasePath();
-
-	/**
-	 * Get the package name portion of the path for this file. For example, if
-	 * class mx.controls.Button.as was in
-	 * C:\flex\sdk\frameworks\mx\controls\Button.as, then getPackageName() would
-	 * return "mx\controls".
-	 * 
-	 * @return package name, or "" (never null)
-	 */
-	public String getPackageName();
-
-	/**
-	 * File name of this SourceFile.  In the case of a disk-based SourceFile,
-	 * this is the same as the filename with no path, e.g. 'myfile.as'
-	 * @return filename, or "" (never null)
-	 */
-	public String getName();
-
-	/**
-	 * Full path and file name, if its exists, for this SourceFile.  For
-	 * disk-based SourceFiles, this is equivalent to
-	 *     <code>getBasePath + slash + getPackageName() + slash + getName()</code>
-	 * where "slash" is a platform-specific slash character.
-	 * @return path, never null
-	 */
-	public String getFullPath();
-
-	/**
-	 * Raw, unprocessed file name for this SourceFile.
-	 * @since As of Version 2
-	 */
-	public String getRawName();
-
-	/**
-	 * Returns the number of source lines in the given file
-	 * @return -1 indicates an error.  Call getError() to 
-	 * obtain specific reason code.
-	 */
-	public int getLineCount();
-
-	/**
-	 * Return a unique identifier for this SourceFile. 
-	 */
-	public int getId();
-
-	/**
-	 * Obtains the textual content of the given line
-	 * from within a source file.  
-	 * Line numbers start at 1 and go to getLineCount().
-	 * 
-	 * @return the line of source of the file.  Any carriage
-	 *		   return and/or line feed are stripped from the
-	 *		   end of the string.
-	 */
-	public String getLine(int lineNum);
-
-	/**
-	 *---------------------------------------------------
-	 * WARNING:  The functions below will return null
-	 *			 and/or 0 values while 
-	 *			 Session.fileMetaDataLoaded() is false.
-	 *---------------------------------------------------
-	 */
-
-	/**
-	 * Return the function name for a given line number, or <code>null</code>
-	 * if not known or if the line matches more than one function.
-     * @since Version 3.
-	 */
-	public String getFunctionNameForLine(Session s, int lineNum);
-
-	/**
-	 * Return the line number for the given function name
-	 * if it doesn't exists -1 is returned
-	 */
-	public int getLineForFunctionName(Session s, String name);
-
-	/**
-	 * Get a list of all function names for this SourceFile
-	 */
-	public String[] getFunctionNames(Session s);
-
-	/**
-	 * Return the offset within the SWF for a given line 
-	 * number.
-	 */
-	public int getOffsetForLine(int lineNum);
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SourceLocator.java b/modules/fdbworkers/src/flash/tools/debugger/SourceLocator.java
deleted file mode 100644
index 23d49d7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SourceLocator.java
+++ /dev/null
@@ -1,51 +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.
- */
-
-package flash.tools.debugger;
-
-import java.io.InputStream;
-
-/**
- * A callback interface which should be implemented by the client debugger
- * (such as fdb), to locate source files.
- * 
- * This is only necessary if the client debugger wants the DJAPI to "own"
- * the source code.  Zorn, for example, will probably *not* want to
- * implement this interface, because Eclipse itself will load the source
- * files from disk.
- */
-public interface SourceLocator
-{
-	/**
-	 * Callback from DJAPI to the debugger, to find a source file.
-	 * Returns null if it can't find the file.
-	 */
-    public InputStream locateSource(String path, String pkg, String name);
-
-	/**
-	 * Returns a number which indicates how many times this SourceLocator's
-	 * search algorithm has been changed since it was created.  For example,
-	 * if a SourceLocator allows the user to change the list of directories
-	 * that are searched, then each time the user changes that list of
-	 * directories, the return value from getChangeCount() should change.
-	 * 
-	 * The DJAPI uses this in order to figure out if it should try again
-	 * to look for a source file that it had previously been unable to
-	 * find.
-	 */
-	public int getChangeCount();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SuspendReason.java b/modules/fdbworkers/src/flash/tools/debugger/SuspendReason.java
deleted file mode 100644
index b35c748..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SuspendReason.java
+++ /dev/null
@@ -1,48 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * Reasons for which the Flash Player will suspend itself
- */
-public interface SuspendReason
-{
-	public static final int Unknown			= 0;
-	
-	/** We hit a breakpoint */
-	public static final int Breakpoint  	= 1;
-	
-	/** A watchpoint was triggered */
-	public static final int Watch			= 2;
-	
-	/** A fault occurred */
-	public static final int Fault			= 3;
-
-	public static final int StopRequest		= 4;
-
-	/** A step completed */
-	public static final int Step			= 5;
-
-	public static final int HaltOpcode		= 6;
-	
-	/**
-	 * Either a new SWF was loaded, or else one or more scripts (ABCs)
-	 * from an existing SWF were loaded.
-	 */
-	public static final int ScriptLoaded	= 7;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SuspendedException.java b/modules/fdbworkers/src/flash/tools/debugger/SuspendedException.java
deleted file mode 100644
index 49c2308..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SuspendedException.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * SuspendedException is thrown when the Player 
- * is in a state for which the action cannot be performed.
- */
-public class SuspendedException extends PlayerDebugException
-{
-	private static final long serialVersionUID = 1168900295788494483L;
-
-    @Override
-	public String getMessage()
-	{
-		return Bootstrap.getLocalizationManager().getLocalizedTextString("suspended"); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/SwfInfo.java b/modules/fdbworkers/src/flash/tools/debugger/SwfInfo.java
deleted file mode 100644
index c1632a8..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/SwfInfo.java
+++ /dev/null
@@ -1,110 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * The SwfInfo object contains information relating to
- * a particular swf file that was loaded by the Player.
- * Each SWF file contains a list of actionscript source
- * files from which execution is performed.
- * 
- * It is important to note 2 or more SWF files may contain
- * multiple copies of the same source code.  From the 
- * Player's perspective and the API perspective these
- * copies are unique and it is up to the user of the 
- * API to detect these 'duplicate' files and either
- * filter them from the user and/or present an
- * appropriate disambiguous representation of 
- * the file names.  Also internally they are treated
- * as two distinct files and thus breakpoints 
- * will most likely need to be set on both files
- * independently.
- */
-public interface SwfInfo
-{
-	/**
-	 * The full path of the SWF.
-	 */
-	public String getPath();
-
-	/**
-	 * The URL for the SWF.  Includes any options
-	 * at the end of the URL. For example ?debug=true
-	 */
-	public String getUrl();
-
-	/**
-	 * The size of this SWF in bytes
-	 */
-	public int getSwfSize();
-
-	/**
-	 * The size of the debug SWD file, if any
-	 * This may also be zero if the SWD load is in progress
-	 * @throws InProgressException if the SWD has not yet been loaded
-	 */
-	public int getSwdSize(Session s) throws InProgressException;
-
-	/**
-	 * Indication that this SWF, which was previously loaded into
-	 * the Player, is now currently unloaded.  All breakpoints
-	 * set on any of the files contained within this SWF will
-	 * be inactive.  These breakpoints will still exist in the 
-	 * list returned by Session.getBreakpointList()
-	 */
-	public boolean isUnloaded();
-	
-	/**
-	 * Indicates whether the contents of the SWF file
-	 * have been completely processed.
-	 * Completely processed means that calls to getSwdSize
-	 * and other calls that may throw an InProgressException will
-	 * not throw this exception.  Additionally the function
-	 * and offset related calls within SourceFile will return
-	 * non-null values once this call returns true.
-	 * @since Version 2
-	 */
-	public boolean isProcessingComplete();
-
-	/**
-	 * Number of source files in this SWF.
-	 * May be zero if no debug 
-	 * @throws InProgressException if the SWD has not yet been loaded
-	 */
-	public int getSourceCount(Session s) throws InProgressException;
-
-	/**
-	 * List of source files that are contained within 
-	 * this SWF.
-	 * @throws InProgressException if the SWD has not yet been loaded
-	 * @since Version 2
-	 */
-	public SourceFile[] getSourceList(Session s) throws InProgressException;
-
-	/**
-	 * Returns true if the given source file is contained 
-	 * within this SWF. 
-	 * @since Version 2
-	 */
-	public boolean containsSource(SourceFile f);
-	
-	/**
-	 * Return the worker ID to which this SWF belongs.
-	 */
-	public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Value.java b/modules/fdbworkers/src/flash/tools/debugger/Value.java
deleted file mode 100644
index 1f97e9e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Value.java
+++ /dev/null
@@ -1,255 +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.
- */
-
-package flash.tools.debugger;
-
-import flash.tools.debugger.concrete.DVariable;
-
-/**
- * An ActionScript value, for example, the value of a variable or constant.
- * 
- * @author mmorearty
- */
-public interface Value
-{
-	/**
-	 * A special object representing ActionScript's "undefined" value.
-	 */
-	public static final Object UNDEFINED = new Object() {
-		@Override
-		public String toString() {
-			return "undefined";  //$NON-NLS-1$
-		}
-	};
-
-	/**
-	 * The value returned if somone calls getId() for a Variable
-	 * which stores a variable of simple type such as String or
-	 * integer, rather than an Object or MovieClip.
-	 * @see getId()
-	 */
-	public static final long UNKNOWN_ID							= -1;
-
-	/**
-	 * The special ID for pseudo-variable "_global".  (Note, this only
-	 * exists in AS2, not AS3.)
-	 * @see getId()
-	 */
-	public static final long GLOBAL_ID							= -2;
-
-	/**
-	 * The special ID for pseudo-variable "this".
-	 * @see getId()
-	 */
-	public static final long THIS_ID							= -3;
-
-	/**
-	 * The special ID for pseudo-variable "_root".  (Note, this only
-	 * exists in AS2, not AS3.)
-	 * @see getId()
-	 */
-	public static final long ROOT_ID							= -4;
-
-	/**
-	 * The special ID for the top frame of the stack.  Locals and
-	 * arguments are "members" of this pseudo-variable.
-	 * 
-	 * All the stack frames have IDs counting down from here.  For example,
-	 * the top stack frame has ID <code>BASE_ID</code>; the next
-	 * stack frame has ID <code>BASE_ID - 1</code>; and so on.
-	 * 
-	 * @see getId()
-	 */
-	public static final long BASE_ID							= -100;
-
-	/**
-	 * _level0 == LEVEL_ID, _level1 == LEVEL_ID-1, ...
-	 * 
-	 * all IDs below this line are dynamic.
-	 */
-	public static final long LEVEL_ID							= -300;
-
-	/**
-	 * The return value of getTypeName() if this value represents the traits of a class.
-	 */
-	public static final String TRAITS_TYPE_NAME					= "traits"; //$NON-NLS-1$
-
-	/**
-	 * Variable type can be one of VariableType.OBJECT,
-	 * VariableType.FUNCTION, VariableType.NUMBER, VariableType.STRING,
-	 * VariableType.UNDEFINED, VariableType.NULL.
-	 */
-	public int			getType();
-
-	/**
-	 * The type name of the value:
-	 * 
-	 * <ul>
-	 * <li> <code>"Number"</code> </li>
-	 * <li> <code>"Boolean"</code> </li>
-	 * <li> <code>"String"</code> </li>
-	 * <li> <code>"null"</code> </li>
-	 * <li> <code>"undefined"</code> </li>
-	 * <li> <code>Value.TRAITS_TYPE_NAME</code> if this value represents the
-	 * traits of a class </li>
-	 * <li> <code>"[package::]Classname@hexaddr"</code> if this value
-	 * represents an instance of a non-primitive object. For example, if this is
-	 * an instance of mx.core.Application, the type name might be
-	 * "mx.core::Application@1234abcd". </li>
-	 * </ul>
-	 */
-	public String		getTypeName();
-
-	/**
-	 * The class name of the value. This isn't actually very useful, and should
-	 * probably go away; it had more relevant in ActionScript 2, when the return
-	 * value from this function could have been any one of the strings returned
-	 * by {@link DVariable#classNameFor(long, boolean)}.
-	 * 
-	 * In the AS3 world, the only possible return values from this function are:
-	 * 
-	 * <ul>
-	 * <li> <code>"Object"</code> for instances of non-primitive classes such
-	 * as Object, Array, etc. </li>
-	 * <li> <code>""</code> all primitive values (Number, Boolean, String,
-	 * null, undefined), or the traits of a class. </li>
-	 * </ul>
-	 */
-	public String		getClassName();
-
-	/**
-	 * Variable attributes define further information 
-	 * regarding the variable.  They are bitfields identified
-	 * as VariableAttribute.xxx
-	 * 
-	 * @see VariableAttribute
-	 */
-	public int			getAttributes();
-
-	/**
-	 * @see VariableAttribute
-	 */
-	public boolean		isAttributeSet(int variableAttribute);
-
-	/**
-	 * Returns a unique ID for the object referred to by this variable.
-	 * If two variables point to the same underlying object, their
-	 * getId() functions will return the same value.
-	 * 
-	 * This is only meaningful for variables that store an Object or
-	 * MovieClip.  For other types of variables (e.g. integers and
-	 * strings), this returns <code>UNKNOWN_ID</code>.
-	 */
-	public long			getId();
-
-	/**
-	 * Returns the value of the variable, as an Object.  The return
-	 * value will always be one of the following:
-	 * 
-	 * <ul>
-	 * <li> <code>null</code> </li>
-	 * <li> <code>Value.UNDEFINED</code> </li>
-	 * <li> a <code>Boolean</code> </li>
-	 * <li> a <code>Double</code> (careful, it might be <code>Double.NaN</code>) </li>
-	 * <li> a <code>String</code> </li>
-	 * <li> a <code>Long</code> if this value represents a non-primitive
-	 * type, such as an Object.  If it is a Long, then it is the id of
-	 * the Value (the same value returned by <code>getId()</code>).
-	 * </ul>
-	 */
-	public Object		getValueAsObject();
-
-	/**
-	 * Returns the value of the variable, converted to a string.  Strings
-	 * are returned as the exact value of the string itself, with no
-	 * extra quotation marks and no escaping of characters within the
-	 * string.
-	 */
-	public String		getValueAsString();
-
-	/**
-	 * Returns all child members of this variable.  Can only be called for
-	 * variables of type Object or MovieClip.
-	 * @throws NotConnectedException 
-	 * @throws NoResponseException 
-	 * @throws NotSuspendedException 
-	 */
-	public Variable[]	getMembers(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * Returns a specific child member of this variable.  Can only be called for
-	 * variables of type <code>Object<code> or <code>MovieClip<code>.
-	 * @param s the session
-	 * @param name just a varname name, without its namespace (see <code>getName()</code>)
-	 * @return the specified child member, or null if there is no such child.
-	 * @throws NotConnectedException 
-	 * @throws NoResponseException 
-	 * @throws NotSuspendedException 
-	 */
-	public Variable     getMemberNamed(Session s, String name) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * Returns the number of child members of this variable.  If called for
-	 * a variable which has a simple type such as integer or string,
-	 * returns zero.
-	 * @throws NotConnectedException 
-	 * @throws NoResponseException 
-	 * @throws NotSuspendedException 
-	 */
-	public int			getMemberCount(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * Returns the list of classes that contributed members to this object, from
-	 * the class itself all the way down to <code>Object</code> (or, if
-	 * allLevels == false, down to the lowest-level class that actually
-	 * contributed members).
-	 * 
-	 * @param allLevels
-	 *            if <code>true</code>, the caller wants the entire class
-	 *            hierarchy. If <code>false</code>, the caller wants only
-	 *            that portion of the class hierarchy that actually contributed
-	 *            member variables to the object. For example,
-	 *            <code>Object</code> has no members, so if the caller passes
-	 *            <code>true</code> then the returned array of strings will
-	 *            always end with <code>Object</code>, but if the caller
-	 *            passes <code>false</code> then the returned array of strings
-	 *            will <em>never</em> end with <code>Object</code>.
-	 * @return an array of fully qualified class names.
-	 */
-	public String[]		getClassHierarchy(boolean allLevels);
-	
-	/**
-	 * Returns all child members of this variable that are private and are present 
-	 * in its inheritance chain. Only relevant after a call to getMembers().
-	 * 
-	 * Warning: This may contain variables with the same name (when there is more
-	 * than two level inheritance).
-	 */
-	public Variable[]	getPrivateInheritedMembers();
-	
-	/**
-	 * Get all the private variables with the given name. Usually one, but more
-	 * may be present if the inheritance chain is long.
-	 * @param name Variable name.
-	 */
-	public Variable[] getPrivateInheritedMemberNamed(String name);
-	
-	/**
-	 * Get the worker id of the isolate to which this value belongs.
-	 */
-	public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/ValueAttribute.java b/modules/fdbworkers/src/flash/tools/debugger/ValueAttribute.java
deleted file mode 100644
index 00b62c8..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/ValueAttribute.java
+++ /dev/null
@@ -1,42 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * @author mmorearty
- */
-public interface ValueAttribute
-{
-
-	/**
-	 * Indicates that the value that has been returned for a variable
-	 * is actually not its real value; instead, it is the message of
-	 * an exception that was thrown while executing the getter for
-	 * the variable.
-	 */
-	public static final int IS_EXCEPTION			= 0x00040000;
-
-	/**
-	 * Indicates that an object is actually a Class.  For example, if you have
-	 *
-	 * <pre>    var someClass:Class = Button;</pre>
-	 * 
-	 * ... then someClass will have IS_CLASS set to true.
-	 */
-	public static final int IS_CLASS				= 0x04000000;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Variable.java b/modules/fdbworkers/src/flash/tools/debugger/Variable.java
deleted file mode 100644
index a424525..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Variable.java
+++ /dev/null
@@ -1,169 +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.
- */
-
-package flash.tools.debugger;
-
-import flash.tools.debugger.events.FaultEvent;
-
-/**
- * A Variable is any ActionScript variable, such as a String, Number, etc.
- * It encapsulates the concept of a type and a value.
- */
-public interface Variable
-{
-	/**
-	 * The name of the variable.
-	 */
-	public String		getName();
-
-	/**
-	 * The fully qualified name of the variable, i.e. "namespace::name"
-	 * if there is a namespace, or just "name" if not.
-	 */
-	public String		getQualifiedName();
-
-	/**
-	 * The namespace of the variable.  This is everything before the
-	 * "::".  For example:
-	 * 
-	 * <ul>
-	 * <li> If a variable was declared "private var x", then the
-	 *      namespace is "ClassName$3", where "3" might be
-	 *      any number. </li>
-	 * <li> If a variable was declared within a namespace, e.g.
-	 *      "mynamespace var x", then the namespace might be
-	 *      "http://blahblah::x", where "http://blahblah" is the URL
-	 *      of the namespace.
-	 * <li> If a variable was declared neither public nor private
-	 *      (and is therefore "internal"), and it is inside of a
-	 *      package, then the namespace might be
-	 *      "packagename". </li>
-	 * </ul>
-	 * 
-	 * @return namespace or "", never <code>null</code>
-	 */
-	public String		getNamespace();
-
-	/**
-	 * Returns just the scope bits of the attributes. The scope values from
-	 * VariableAttribute (PUBLIC_SCOPE etc.) are NOT bitfields, so the returned
-	 * value can be compared directly to VariableAttribute.PUBLIC_SCOPE, etc.
-	 * using "==".
-	 * 
-	 * @see VariableAttribute
-	 */
-	public int			getScope();
-
-	/**
-	 * For a member variable of an instance of some class, its "level" indicates
-	 * how far up the class hierarchy it is from the actual class of the instance.
-	 * For example, suppose you have this code:
-	 * 
-	 * <pre>
-	 *    class A           { int a }
-	 *    class B extends A { int b }
-	 *    class C extends B { int c }
-	 *    var myObject: C
-	 * </pre>
-	 * 
-	 * In this case, for <code>myObject</code>, the "level" of variable <code>c</code>
-	 * is 0; the level of <code>b</code> is 1; and the level of <code>a</code> is 2.
-	 */
-	public int			getLevel();
-
-	/**
-	 * The class in which this member was actually defined.  For example, if class
-	 * B extends class A, and class A has member variable V, then for variable
-	 * V, the defining class is always "A", even though the parent variable might
-	 * be an instance of class B.
-	 */
-	public String		getDefiningClass();
-
-	/**
-	 * Variable attributes define further information 
-	 * regarding the variable.  They are bitfields identified
-	 * as VariableAttribute.xxx
-	 * 
-	 * @see VariableAttribute
-	 */
-	public int			getAttributes();
-
-	/**
-	 * @see VariableAttribute
-	 */
-	public boolean		isAttributeSet(int variableAttribute);
-
-	/**
-	 * Returns the value of the variable.
-	 */
-	public Value		getValue();
-
-	/**
-	 * Returns whether the value of the variable has changed since the last
-	 * time the program was suspended.  If the previous value of the
-	 * variable is unknown, this function will return <code>false</code>.
-	 */
-	public boolean		hasValueChanged(Session s);
-
-	/**
-	 * Changes the value of a variable. New members cannot be added to a Variable,
-	 * only the value of existing scalar members can be modified.
-	 * 
-	 * @param type
-	 *            the type of the member which is being set. Use
-	 *            VariableType.UNDEFINED in order to set the variable to an
-	 *            undefined state; the contents of 'value' will be ignored.
-	 * @param value
-	 *            the string value of the member. May be 'true' or 'false' for
-	 *            Boolean types or any valid number for Number types.
-	 * @return null, if set was successful; or a FaultEvent if a setter was
-	 *         invoked and the setter threw an exception. In that case, look at
-	 *         FaultEvent.information to see the error text of the exception
-	 *         that occurred.
-	 * @throws NoResponseException
-	 *             if times out
-	 * @throws NotSuspendedException
-	 *             if Player is running
-	 * @throws NotConnectedException
-	 *             if Player is disconnected from Session
-	 */
-	public FaultEvent setValue(Session s, int type, String value) throws NotSuspendedException, NoResponseException, NotConnectedException;
-
-	/**
-	 * @return True if this variable has a getter, and the getter has not yet been invoked.
-	 */
-	public boolean needsToInvokeGetter();
-
-	/**
-	 * Executes the getter for this variable, and changes its value accordingly.  Note that
-	 * the <code>HAS_GETTER</code> flag is not affected by this call -- even after this
-	 * call, <code>HAS_GETTER</code> will still be true.  If you want to test whether the
-	 * getter has already been executed, call <code>needsToInvokeGetter()</code>.
-	 * <p>
-	 * Has no effect if <code>needsToInvokeGetter()</code> is false.
-	 * 
-	 * @throws NotSuspendedException
-	 * @throws NoResponseException
-	 * @throws NotConnectedException
-	 */
-	public void invokeGetter(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException;
-	
-	/**
-	 * Get the worker id of the isolate to which this value belongs.
-	 */
-	public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/VariableAttribute.java b/modules/fdbworkers/src/flash/tools/debugger/VariableAttribute.java
deleted file mode 100644
index 8283137..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/VariableAttribute.java
+++ /dev/null
@@ -1,168 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * Specific attributes which further qualify a Variable. The values in the low
- * 16 bits correspond to the enumeration fields defined in the player's
- * "splay.h" file, e.g. <code>kDontEnumerate</code> etc. The values from the
- * high 16 bits correspond to <code>enum InVariableFlags</code> from
- * playerdebugger.h, e.g. <code>kIsArgument</code> etc.
- */
-public interface VariableAttribute
-{
-	/**
-	 * Indicates that this member is invisible to an enumeration
-	 * of its parent.
-	 */
-	public static final int DONT_ENUMERATE			= 0x00000001;
-
-	/**
-	 * Indicates that a variable is read-only.
-	 */
-	public static final int READ_ONLY				= 0x00000004;
-
-	/**
-	 * Indicates that a variable is a local.
-	 */
-	public static final int IS_LOCAL 				= 0x00000020;
-
-	/**
-	 * Indicates that a variable is an argument to a function.
-	 */
-	public static final int IS_ARGUMENT				= 0x00010000;
-
-	/**
-	 * Indicates that a variable is "dynamic" -- that is, whether it
-	 * is a dynamic property of a class declared with keyword "dynamic".
-	 * Note, this attribute only works with AS3 and above.
-	 */
-	public static final int IS_DYNAMIC				= 0x00020000;
-
-	// 0x00040000 is reserved for IS_EXCEPTION, which is now part of
-	// ValueAttribute rather than VariableAttribute.
-
-	/**
-	 * Indicates that a variable has a getter.
-	 */
-	public static final int HAS_GETTER				= 0x00080000;
-
-	/**
-	 * Indicates that a variable has a setter.
-	 */
-	public static final int HAS_SETTER				= 0x00100000;
-
-	/**
-	 * Indicates that a variable is a static member of its parent.
-	 */
-	public static final int IS_STATIC				= 0x00200000;
-
-	/**
-	 * Indicates that a variable was declared "const". READ_ONLY, on the other
-	 * hand, applies both to "const" variables and also to various other types
-	 * of objects. IS_CONST implies READ_ONLY; READ_ONLY does not imply
-	 * IS_CONST.
-	 */
-	public static final int IS_CONST				= 0x00400000;
-
-	/**
-	 * Indicates that a variable is a public member of its parent.
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.PUBLIC_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int PUBLIC_SCOPE			= 0x00000000;
-
-	/**
-	 * Indicates that a variable is a private member of its parent.
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.PRIVATE_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int PRIVATE_SCOPE			= 0x00800000;
-
-	/**
-	 * Indicates that a variable is a protected member of its parent.
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.PROTECTED_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int PROTECTED_SCOPE			= 0x01000000;
-
-	/**
-	 * Indicates that a variable is an internal member of its parent.
-	 * Internally scoped variables are visible to all classes that
-	 * are in the same package.
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.INTERNAL_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int INTERNAL_SCOPE			= 0x01800000;
-
-	/**
-	 * Indicates that a variable is scoped by a namespace.  For
-	 * example, it may have been declared as:
-	 * <code>my_namespace var x;</code>
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.NAMESPACE_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int NAMESPACE_SCOPE			= 0x02000000;
-
-	/**
-	 * A mask which can be used to get back only the scope-related
-	 * attributes.
-	 *
-	 * Note: the scope attributes are not bitfields.  To determine the scope
-	 * of a variable, use variable.getScope() and compare the result to the
-	 * various *_SCOPE values using ==.  For example:
-	 *
-	 * <pre>
-	 * 		if (myVar.getScope() == VariableAttribute.PRIVATE_SCOPE) ...
-	 * </pre>
-	 */
-	public static final int SCOPE_MASK				= PUBLIC_SCOPE|PRIVATE_SCOPE|PROTECTED_SCOPE|INTERNAL_SCOPE|NAMESPACE_SCOPE;
-
-	// 0x04000000 is reserved for IS_CLASS, which is now part of
-	// ValueAttribute rather than VariableAttribute.
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/VariableType.java b/modules/fdbworkers/src/flash/tools/debugger/VariableType.java
deleted file mode 100644
index 48554da..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/VariableType.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * An identifier for the type of a Variable.
- */
-public interface VariableType
-{
-    public static final int NUMBER					=  0;
-    public static final int BOOLEAN					=  1;
-    public static final int STRING					=  2;
-    public static final int OBJECT					=  3;
-    public static final int FUNCTION				=  4;
-    public static final int MOVIECLIP				=  5;
-    public static final int NULL				    =  6;
-    public static final int UNDEFINED				=  7;
-	public static final int UNKNOWN					=  8;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/VersionException.java b/modules/fdbworkers/src/flash/tools/debugger/VersionException.java
deleted file mode 100644
index 5ecb0ca..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/VersionException.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * VersionException is thrown when the Session
- * is connected to a Player that does not support
- * a given operation.
- */
-public class VersionException extends PlayerDebugException
-{
-	private static final long serialVersionUID = 4966523681921720567L;
-
-    @Override
-	public String getMessage()
-	{
-		return Bootstrap.getLocalizationManager().getLocalizedTextString("unexpectedPlayerVersion"); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/Watch.java b/modules/fdbworkers/src/flash/tools/debugger/Watch.java
deleted file mode 100644
index d8d9aef..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/Watch.java
+++ /dev/null
@@ -1,52 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * The Watch object represents a single watchpoint within a Session
- * A watchpoint is a mechanism by which execution of the Player
- * can be halted when a particular variable is accessed.  The 
- * access type can be one of read, write or read/write.
- * @since Version 2
- */
-public interface Watch
-{
-	/**
-	 * Value id of the value whose member is being watched.
-	 * For example if the watch is placed on 'a.b.c' then the id
-	 * will be that of the value 'a.b'.  Session.getVariable()
-	 * can be used to obtain the variable.  This combined with
-	 * the memberName() forms the unique identifier for the Watch.
-	 */
-	public long getValueId();
-
-	/**
-	 * Name of variable member that is being watched.  
-	 */
-	public String getMemberName();
-
-	/**
-	 * The kind of watch placed on the variable being watched.
-	 */
-    public int getKind();
-    
-    /**
-     * The isolate to which this watchpoint belongs.
-     */
-    public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/WatchKind.java b/modules/fdbworkers/src/flash/tools/debugger/WatchKind.java
deleted file mode 100644
index b5a9d01..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/WatchKind.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger;
-
-/**
- * A descriptor for the type of watchpoint.
- * It may be one of three values; read, write or
- * both read and write.
- * @since Version 2
- */
-public interface WatchKind
-{
-	/* kind of a watchpoint (one of) */
-    public static final int NONE					=  0;
-    public static final int READ					=  1;
-    public static final int WRITE					=  2;
-    public static final int READWRITE				=  3;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/AIRPlayer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/AIRPlayer.java
deleted file mode 100644
index 2aeefd3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/AIRPlayer.java
+++ /dev/null
@@ -1,64 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-import flash.tools.debugger.Browser;
-import flash.tools.debugger.Player;
-
-/**
- * @author Mike Morearty
- */
-public class AIRPlayer implements Player
-{
-	File m_adl;
-
-	/**
-	 * @param adl
-	 *            The path to adl (Mac/Linux) or adl.exe (Windows); may be null
-	 */
-	public AIRPlayer(File adl)
-	{
-		m_adl = adl;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getType()
-	 */
-	public int getType()
-	{
-		return AIR;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getPath()
-	 */
-	public File getPath()
-	{
-		return m_adl;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getBrowser()
-	 */
-	public Browser getBrowser()
-	{
-		return null;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/AbstractPlayer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/AbstractPlayer.java
deleted file mode 100644
index d147768..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/AbstractPlayer.java
+++ /dev/null
@@ -1,55 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-import flash.tools.debugger.Browser;
-import flash.tools.debugger.Player;
-
-/**
- * @author mmorearty
- */
-public abstract class AbstractPlayer implements Player
-{
-	private Browser m_browser;
-	private File m_flashPlayer;
-
-	public AbstractPlayer(File webBrowser, File flashPlayer)
-	{
-		if (webBrowser != null)
-			m_browser = new DBrowser(webBrowser);
-		m_flashPlayer = flashPlayer;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getPath()
-	 */
-	public File getPath()
-	{
-		return m_flashPlayer;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getBrowser()
-	 */
-	public Browser getBrowser()
-	{
-		return m_browser; // this is null if we're using the standalone player
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/ActiveXPlayer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/ActiveXPlayer.java
deleted file mode 100644
index 45cf5eb..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/ActiveXPlayer.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-/**
- * @author mmorearty
- */
-public class ActiveXPlayer extends AbstractPlayer
-{
-	public ActiveXPlayer(File iexploreExe, File path)
-	{
-		super(iexploreExe, path);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getType()
-	 */
-	public int getType()
-	{
-		return ACTIVEX;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/BinaryOp.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/BinaryOp.java
deleted file mode 100644
index d5bd0b4..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/BinaryOp.java
+++ /dev/null
@@ -1,47 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-/**
- * @author Mike Morearty
- */
-public enum BinaryOp {
-	// These correspond to the values in the player, in playerdebugger.h,
-	// enum BinaryOp.  These values must be kept synchronized with those
-	// ones.
-	Is(0, "is"), //$NON-NLS-1$
-	Instanceof(1, "instanceof"), //$NON-NLS-1$
-	In(2, "in"), //$NON-NLS-1$
-	As(3, "as"); //$NON-NLS-1$
-
-	private int m_value;
-	private String m_name;
-
-	private BinaryOp(int value, String name) {
-		m_value = value;
-		m_name = name;
-	}
-
-	public int getValue() {
-		return m_value;
-	}
-
-	public String getName() {
-		return m_name;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DBrowser.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DBrowser.java
deleted file mode 100644
index cd69fa4..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DBrowser.java
+++ /dev/null
@@ -1,65 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-import flash.tools.debugger.Browser;
-
-/**
- * @author mmorearty
- */
-public class DBrowser implements Browser
-{
-	private File m_path;
-	private int m_type;
-
-	public DBrowser(File exepath)
-	{
-		m_path = exepath;
-		String exename = exepath.getName().toLowerCase();
-		if (exename.equals("iexplore.exe")) //$NON-NLS-1$
-			m_type = INTERNET_EXPLORER;
-		else if (exename.equals("mozilla.exe")) //$NON-NLS-1$
-			m_type = MOZILLA;
-		else if (exename.equals("firefox.exe")) //$NON-NLS-1$
-			m_type = MOZILLA_FIREFOX;
-		else if (exename.equals("opera.exe")) //$NON-NLS-1$
-			m_type = OPERA;
-		else if (exename.equals("netscape.exe")) //$NON-NLS-1$
-			m_type = NETSCAPE_NAVIGATOR;
-		else
-			m_type = UNKNOWN;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Browser#getType()
-	 */
-	public int getType()
-	{
-		return m_type;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Browser#getPath()
-	 */
-	public File getPath()
-	{
-		return m_path;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DIsolate.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DIsolate.java
deleted file mode 100644
index 3a0b21b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DIsolate.java
+++ /dev/null
@@ -1,49 +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.
- */
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * Concrete implementation of an Isolate.
- * @author anirudhs
- */
-public class DIsolate implements Isolate {
-
-	/** Isolate object behind the primordial or main thread (always exists) */
-	public static final DIsolate DEFAULT_ISOLATE = new DIsolate(Isolate.DEFAULT_ID);
-	
-	private int id;
-	
-	public DIsolate(int id) {
-		this.id = id;
-	}
-	
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Isolate#getId()
-	 */
-	@Override
-	public int getId() {
-		return id;
-	}
-
-	@Override
-	public String toString() {		
-		return "Worker " + getId(); //$NON-NLS-1$
-	}	
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DLocation.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DLocation.java
deleted file mode 100644
index 01c5ab3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DLocation.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.Location;
-import flash.tools.debugger.SourceFile;
-
-public class DLocation implements Location
-{
-	SourceFile	m_source;
-	int			m_line;
-	int m_isolateId;
-	boolean     m_removed;
-
-	DLocation(SourceFile src, int line, int isolateId)
-	{
-		m_source = src;
-		m_line = line;
-		m_removed = false;
-		m_isolateId = isolateId;
-	}
-
-	/* getters/setters */
-	public SourceFile	getFile()						{ return m_source; }
-    public int		    getLine()						{ return m_line; }
-	public boolean		isRemoved()						{ return m_removed; }
-	public void			setRemoved(boolean removed)		{ m_removed = removed; }
-
-	public int			getId() { return encodeId(getFile().getId(), getLine()); }
-
-	/* encode /decode */
-	public static final int encodeId(int fileId, int line)
-	{
-		return ( (line << 16) | fileId );
-	}
-	
-	public static final int decodeFile(long id)
-	{
-		return (int)(id & 0xffff);
-	}
-
-	public static final int decodeLine(long id)
-	{
-		return (int)(id >> 16 & 0xffff);
-	}
-	
-	/** for debugging */
-	@Override
-	public String toString()
-	{
-		return m_source.toString() + ":" + m_line; //$NON-NLS-1$
-	}
-
-	@Override
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DManager.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DManager.java
deleted file mode 100644
index a8b1c8a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DManager.java
+++ /dev/null
@@ -1,2583 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.InputStream;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.SourceLocator;
-import flash.tools.debugger.SuspendReason;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.VariableAttribute;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.events.BreakEvent;
-import flash.tools.debugger.events.ConsoleErrorFault;
-import flash.tools.debugger.events.DebugEvent;
-import flash.tools.debugger.events.DivideByZeroFault;
-import flash.tools.debugger.events.ExceptionFault;
-import flash.tools.debugger.events.FaultEvent;
-import flash.tools.debugger.events.FileListModifiedEvent;
-import flash.tools.debugger.events.InvalidWithFault;
-import flash.tools.debugger.events.IsolateCreateEvent;
-import flash.tools.debugger.events.IsolateExitEvent;
-import flash.tools.debugger.events.ProtoLimitFault;
-import flash.tools.debugger.events.RecursionLimitFault;
-import flash.tools.debugger.events.ScriptTimeoutFault;
-import flash.tools.debugger.events.StackUnderFlowFault;
-import flash.tools.debugger.events.SwfLoadedEvent;
-import flash.tools.debugger.events.SwfUnloadedEvent;
-import flash.tools.debugger.events.TraceEvent;
-import flash.util.Trace;
-
-/**
- * Implements the receiving and updating of debug state from the socket
- * connection of the Flash Player.
- */
-public class DManager implements DProtocolNotifierIF, SourceLocator {
-	private final HashMap<String, String> m_parms;
-
-	private final HashMap<Integer, DIsolate> m_isolates; /*
-														 * WARNING: accessed
-														 * from multiple threads
-														 */
-
-	/**
-	 * The currently active isolate or worker
-	 */
-	private Isolate m_activeIsolate = DEFAULT_ISOLATE;
-
-	private LinkedList<DebugEvent> m_event; /*
-											 * our event queue; WARNING:
-											 * accessed from multiple threads
-											 */
-	private SourceLocator m_sourceLocator;
-
-
-	private boolean m_squelchEnabled; /*
-									 * true if we are talking to a squelch
-									 * enabled debug player
-									 */
-	private int m_playerVersion; /*
-								 * player version number obtained from InVersion
-								 * message; e.g. 9 for Flash Player 9.0
-								 */
-
-	private boolean m_sourceListModified; /*
-										 * deprecated; indicates m_source has
-										 * changed since last call to
-										 * getSource(). WARNING: lock with
-										 * synchronized (m_source) { ... }
-										 */
-	private byte[] m_actions; /* deprecated */
-	private String[] m_lastConstantPool; /* deprecated */
-
-	// SWF/SWD fetching and parsing
-	private String m_uri;
-	private byte[] m_swf; // latest swf obtained from get swf
-	private byte[] m_swd; // latest swd obtained from get swd
-
-	private Map<String, String> m_options = new HashMap<String, String>(); // Player
-																			// options
-																			// that
-																			// have
-																			// been
-																			// queried
-																			// by
-																			// OutGetOption,
-																			// and
-																			// come
-																			// back
-																			// via
-																			// InOption
-
-	public static final String ARGUMENTS_MARKER = "$arguments"; //$NON-NLS-1$
-	public static final String SCOPE_CHAIN_MARKER = "$scopechain"; //$NON-NLS-1$
-	
-	private static final DIsolate DEFAULT_ISOLATE = DIsolate.DEFAULT_ISOLATE;
-	private Isolate m_inIsolate = DEFAULT_ISOLATE;
-	private final Object m_inIsolateLock;
-	private final Object m_activeIsolateLock;
-	private boolean m_wideLines;
-	private DManagerIsolateState m_mainState;
-	private HashMap<Integer, DManagerIsolateState> m_isolateState;
-
-
-	class DManagerIsolateState {
-		public DSuspendInfo m_suspendInfo;
-		public DSwfInfo m_lastSwfInfo; /*
-										 * hack for syncing swfinfo records with
-										 * incoming InScript messages
-										 */
-		public DVariable m_lastInGetVariable;/*
-											 * hack for getVariable call to work
-											 * with getters
-											 */
-		public boolean m_attachChildren; /*
-										 * hack for getVariable call to work
-										 * with getters
-										 */
-		public DVariable m_lastInCallFunction; /* hack for callFunction to work */
-		public DVariable m_lastInBinaryOp;
-		private boolean m_executingPlayerCode;
-		private FaultEvent m_faultEventDuringPlayerCodeExecution;
-
-		public final ArrayList<DLocation> m_breakpoints; /*
-														 * WARNING: accessed
-														 * from multiple threads
-														 */
-		public final Map<Integer, DModule> m_source; /*
-													 * WARNING: accessed from
-													 * multiple threads
-													 */
-		private final ArrayList<DSwfInfo> m_swfInfo; /*
-													 * WARNING: accessed from
-													 * multiple threads
-													 */
-		private final ArrayList<DWatch> m_watchpoints; /*
-														 * WARNING: accessed
-														 * from multiple threads
-														 */
-
-		/**
-		 * The currently active stack frames.
-		 */
-		public ArrayList<DStackContext> m_frames;
-
-		/**
-		 * The stack frames that were active the last time the player was
-		 * suspended.
-		 */
-		public ArrayList<DStackContext> m_previousFrames;
-
-		/**
-		 * A list of all known variables in the player. Stored as a mapping from
-		 * an object's id to its DValue.
-		 */
-		public Map<Long, DValue> m_values;
-
-		/**
-		 * A list of all known variables in the player from the previous time
-		 * the player was suspended. Stored as a mapping from an object's id to
-		 * its DValue.
-		 */
-		public Map<Long, DValue> m_previousValues;
-
-		public DManagerIsolateState() {
-			m_source = new HashMap<Integer, DModule>();
-			m_values = new HashMap<Long, DValue>();
-			m_previousValues = new HashMap<Long, DValue>();
-			m_frames = new ArrayList<DStackContext>();
-			m_previousFrames = new ArrayList<DStackContext>();
-			m_suspendInfo = null;
-			m_lastInCallFunction = null;
-			m_breakpoints = new ArrayList<DLocation>();
-			m_swfInfo = new ArrayList<DSwfInfo>();
-			m_watchpoints = new ArrayList<DWatch>();
-			m_suspendInfo = null;
-			m_lastInGetVariable = null;
-			m_attachChildren = true;
-			m_lastInCallFunction = null;
-
-		}
-	}
-
-	private DManagerIsolateState getIsolateState(int isolateId) {
-		if (isolateId == Isolate.DEFAULT_ID)
-			return m_mainState;
-		
-		DManagerIsolateState isolateState = null;
-		if (!m_isolateState.containsKey(isolateId)) {
-			isolateState = new DManagerIsolateState();
-			m_isolateState.put(isolateId, isolateState);
-		} else
-			isolateState = m_isolateState.get(isolateId);
-		return isolateState;
-	}
-
-	public DManager() {
-		m_parms = new HashMap<String, String>();
-		
-		m_isolates = new HashMap<Integer, DIsolate>();
-		m_isolates.put(Isolate.DEFAULT_ID, DEFAULT_ISOLATE);
-		m_event = new LinkedList<DebugEvent>();
-		m_sourceLocator = null;
-		m_squelchEnabled = false;
-		m_lastConstantPool = null;
-		m_playerVersion = -1; // -1 => unknown
-		m_isolateState = new HashMap<Integer, DManagerIsolateState>();
-		m_mainState = new DManagerIsolateState();
-		m_isolateState.put(Isolate.DEFAULT_ID, m_mainState);
-		m_inIsolateLock = new Object();
-		m_activeIsolateLock = new Object();
-		m_wideLines = false;
-	}
-
-	public void setWideLines(boolean value) {
-		m_wideLines = value;
-	}
-	
-	public String getURI() {
-		return m_uri;
-	}
-
-	public byte[] getSWF() {
-		return m_swf;
-	}
-
-	public byte[] getSWD() {
-		return m_swd;
-	}
-
-	public byte[] getActions() {
-		return m_actions;
-	}
-
-	/** Returns the Flash Player version number; e.g. 9 for Flash Player 9.0 */
-	public int getVersion() {
-		return m_playerVersion;
-	}
-
-	public SourceLocator getSourceLocator() {
-		return m_sourceLocator;
-	}
-
-	public void setSourceLocator(SourceLocator sl) {
-		m_sourceLocator = sl;
-	}
-
-	/**
-	 * If this feature is enabled then we do not attempt to attach child
-	 * variables to parents.
-	 */
-	public void enableChildAttach(boolean enable, int isolateId) {
-		getIsolateState(isolateId).m_attachChildren = enable;
-	}
-
-	// return/clear the last variable seen from an InGetVariable message
-	public DVariable lastVariable(int isolateId) {
-		return getIsolateState(isolateId).m_lastInGetVariable;
-	}
-
-	public void clearLastVariable(int isolateId) {
-		getIsolateState(isolateId).m_lastInGetVariable = null;
-	}
-
-	// return/clear the last variable seen from an InCallFunction message
-	public DVariable lastFunctionCall(int isolateId) {
-		return getIsolateState(isolateId).m_lastInCallFunction;
-	}
-
-	public void clearLastFunctionCall(int isolateId) {
-		getIsolateState(isolateId).m_lastInCallFunction = null;
-	}
-
-	// return/clear the last binary op result seen from an InBinaryOp message
-	public DVariable lastBinaryOp(int isolateId) {
-		return getIsolateState(isolateId).m_lastInBinaryOp;
-	}
-
-	public void clearLastBinaryOp(int isolateId) {
-		getIsolateState(isolateId).m_lastInBinaryOp = null;
-	}
-
-	/*
-	 * Frees up any information we have kept about
-	 */
-	void freeCaches(int isolateId) {
-		clearFrames(isolateId);
-		freeValueCache(isolateId);
-	}
-
-	void freeValueCache(int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		state.m_previousValues = state.m_values;
-		state.m_values = new HashMap<Long, DValue>();
-
-		int size = getFrameCount(isolateId);
-		for (int i = 0; i < size; i++)
-			getFrame(i, isolateId).markStale();
-	}
-
-	// continuing our execution
-	void continuing(int isolateId) {
-		freeCaches(isolateId);
-		getIsolateState(isolateId).m_suspendInfo = null;
-	}
-
-	/**
-	 * Variables
-	 */
-	DValue getOrCreateValue(long id, int isolateId) {
-		DValue v = getValue(id, isolateId);
-		if (v == null) {
-			v = new DValue(id, isolateId);
-			putValue(id, v, isolateId);
-		}
-		return v;
-	}
-
-	public DSwfInfo[] getSwfInfos(int isolateId) {
-		ArrayList<DSwfInfo> swfInfos = getIsolateState(isolateId).m_swfInfo;
-		synchronized (swfInfos) {
-			return swfInfos.toArray(new DSwfInfo[swfInfos.size()]);
-		}
-	}
-
-	public DSwfInfo getSwfInfo(int at, int isolateId) {
-		ArrayList<DSwfInfo> swfInfos = getIsolateState(isolateId).m_swfInfo;
-		synchronized (swfInfos) {
-			return swfInfos.get(at);
-		}
-	}
-
-	public int getSwfInfoCount(int isolateId) {
-		ArrayList<DSwfInfo> swfInfos = getIsolateState(isolateId).m_swfInfo;
-		synchronized (swfInfos) {
-			return swfInfos.size();
-		}
-	}
-
-	/**
-	 * Obtains a SwfInfo object at the given index or if one doesn't yet exist
-	 * at that location, creates a new empty one there and returns it.
-	 */
-	DSwfInfo getOrCreateSwfInfo(int at, int isolateId) {
-		ArrayList<DSwfInfo> swfInfos = getIsolateState(isolateId).m_swfInfo;
-		synchronized (swfInfos) {
-			DSwfInfo i = (at > -1 && at < getSwfInfoCount(isolateId)) ? getSwfInfo(
-					at, isolateId) : null;
-			if (i == null) {
-				// are we above water
-				at = (at < 0) ? 0 : at;
-
-				// fill all the gaps with null; really shouldn't be any...
-				while (at >= swfInfos.size())
-					swfInfos.add(null);
-
-				i = new DSwfInfo(at, isolateId);
-				swfInfos.set(at, i);
-			}
-			return i;
-		}
-	}
-
-	/**
-	 * Get the most recently active swfInfo object. We define active as the most
-	 * recently seen swfInfo
-	 */
-	DSwfInfo getActiveSwfInfo(int isolateId) {
-		int count = getSwfInfoCount(isolateId);
-
-		// pick up the last one seen
-		DSwfInfo swf = getIsolateState(isolateId).m_lastSwfInfo;
-
-		// still don't have one then get or create the most recent one
-		// works if count = 0
-		if (swf == null)
-			swf = getOrCreateSwfInfo(count - 1, isolateId);
-
-		if (swf.hasAllSource()) {
-			// already full so create a new one on the end
-			swf = getOrCreateSwfInfo(count, isolateId);
-		}
-		return swf;
-	}
-
-	/**
-	 * Walk the list of scripts and add them to our swfInfo object This method
-	 * may be called when min/max are zero and the swd has not yet fully loaded
-	 * in the player or it could be called before we have all the scripts.
-	 */
-	void tieScriptsToSwf(DSwfInfo info, int isolateId) {
-		if (!info.hasAllSource()) {
-			int min = info.getFirstSourceId();
-			int max = info.getLastSourceId();
-			// System.out.println("attaching scripts "+min+"-"+max+" to "+info.getUrl());
-			for (int i = min; i <= max; i++) {
-				DModule m = getSource(i, isolateId);
-				if (m == null) {
-					// this is ok, it means the scripts are coming...
-				} else {
-					info.addSource(i, m);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Record a new source file.
-	 * 
-	 * @param name
-	 *            filename in "basepath;package;filename" format
-	 * @param swfIndex
-	 *            the index of the SWF with which this source is associated, or
-	 *            -1 is we don't know
-	 * @return true if our list of source files was modified, or false if we
-	 *         already knew about that particular source file.
-	 */
-	private boolean putSource(int swfIndex, int moduleId, int bitmap,
-			String name, String text, int isolateId) {
-		// if isolateIndex is not -1, augment swfIndex and moduleId with isolate
-		// info.
-		Map<Integer, DModule> source = getIsolateState(isolateId).m_source;
-		synchronized (source) {
-			// if we haven't already recorded this script then do so.
-			if (!source.containsKey(moduleId)) {
-				DModule s = new DModule(this, moduleId, bitmap, name, text, isolateId);
-
-				// put source in our large pool
-				source.put(moduleId, s);
-
-				// put the source in the currently active swf
-				DSwfInfo swf;
-				if (swfIndex == -1) // caller didn't tell us what swf thi is for
-					swf = getActiveSwfInfo(isolateId); // ... so guess
-				else
-					swf = getOrCreateSwfInfo(swfIndex, isolateId);
-
-				swf.addSource(moduleId, s);
-
-				return true;
-			}
-
-			return false;
-		}
-	}
-
-	/**
-	 * Remove our record of a particular source file.
-	 * 
-	 * @param id
-	 *            the id of the file to forget about.
-	 * @return true if source file was removed; false if we didn't know about it
-	 *         to begin with.
-	 */
-	private boolean removeSource(int id, int isolateId) {
-		Map<Integer, DModule> source = getIsolateState(isolateId).m_source;
-		synchronized (source) {
-			try {
-				source.remove(id);
-			} catch (Exception e) {
-				return false;
-			}
-			return true;
-		}
-	}
-
-	public DModule getSource(int id, int isolateId) {
-		Map<Integer, DModule> source = getIsolateState(isolateId).m_source;
-		synchronized (source) {
-			return source.get(id);
-		}
-	}
-
-	// @deprecated
-	public DModule[] getSources() {
-		Map<Integer, DModule> source = getIsolateState(Isolate.DEFAULT_ID).m_source;
-		synchronized (source) {
-			m_sourceListModified = false;
-
-			/* find out the size of the array */
-			int count = source.size();
-			DModule[] ar = new DModule[count];
-
-			count = 0;
-			for (DModule sf : source.values())
-				ar[count++] = sf;
-			return ar;
-		}
-	}
-
-	// @deprecated
-	boolean sourceListModified() {
-		Map<Integer, DModule> source = getIsolateState(Isolate.DEFAULT_ID).m_source;
-		synchronized (source) {
-			return m_sourceListModified;
-		}
-	}
-
-	public DValue getValue(long id, int isolateId) {
-		return getIsolateState(isolateId).m_values.get(id);
-	}
-
-	/**
-	 * Returns the previous value object for the given id -- that is, the value
-	 * that that object had the last time the player was suspended. Never
-	 * requests it from the player (because it can't, of course). Returns
-	 * <code>null</code> if we don't have a value for that id.
-	 */
-	public DValue getPreviousValue(long id, int isolateId) {
-		return getIsolateState(isolateId).m_previousValues.get(id);
-	}
-
-	void putValue(long id, DValue v, int isolateId) {
-		if (id != Value.UNKNOWN_ID) {
-			getIsolateState(isolateId).m_values.put(id, v);
-		}
-	}
-
-	DValue removeValue(long id, int isolateId) {
-		return getIsolateState(isolateId).m_values.remove((int)id);
-	}
-
-	void addVariableMember(long parentId, DVariable child, int isolateId) {
-		DValue parent = getValue(parentId, isolateId);
-		addVariableMember(parent, child, isolateId);
-	}
-
-	void addVariableMember(DValue parent, DVariable child, int isolateId) {
-		if (getIsolateState(isolateId).m_attachChildren) {
-			// There are certain situations when the Flash player will send us
-			// more
-			// than one variable or getter with the same name. Basically, when a
-			// subclass implements (or overrides) something that was also
-			// declared in a
-			// superclass, then we'll see that variable or getter in both the
-			// superclass and the subclass.
-			//
-			// Here are a few situations where that affects the debugger in
-			// different
-			// ways:
-			//
-			// 1. When a class implements an interface, the class instance
-			// actually has
-			// *two* members for each implemented function: One which is public
-			// and
-			// represents the implementation function, and another which is
-			// internal
-			// to the interface, and represents the declaration of the function.
-			// Both of these come in to us. In the UI, the one we want to show
-			// is
-			// the public one. They come in in random order (they are stored in
-			// a
-			// hash table in the VM), so we don't know which one will come
-			// first.
-			//
-			// 2. When a superclass has a private member "m", and a subclass has
-			// its own
-			// private member with the same name "m", we will receive both of
-			// them.
-			// (They are scoped by different packages.) In this case, the first
-			// one
-			// the player sent us is the one from the subclass, and that is the
-			// one
-			// we want to display in the debugger.
-			//
-			// The following logic correctly deals with all variations of those
-			// cases.
-			if (parent != null) {
-				DVariable existingChildWithSameName = parent.findMember(child
-						.getName());
-				if (existingChildWithSameName != null) {
-					int existingScope = existingChildWithSameName.getScope();
-					int newScope = child.getScope();
-
-					if (existingScope == VariableAttribute.NAMESPACE_SCOPE
-							&& newScope == VariableAttribute.PUBLIC_SCOPE) {
-						// This is the case described above where a class
-						// implements an interface,
-						// so that class's definition includes both a
-						// namespace-scoped declaration
-						// and a public declaration, in random order; in this
-						// case, the
-						// namespace-scoped declaration came first. We want to
-						// use the public
-						// declaration.
-						parent.addMember(child);
-					} else if (existingScope == VariableAttribute.PUBLIC_SCOPE
-							&& newScope == VariableAttribute.NAMESPACE_SCOPE) {
-						// One of two things happened here:
-						//
-						// 1. This is the case described above where a class
-						// implements an interface,
-						// so that class's definition includes both a
-						// namespace-scoped declaration
-						// and a public declaration, in random order; in this
-						// case, the
-						// public declaration came first. It is tempting to use
-						// the public
-						// member in this case, but there is a catch...
-						// 2. It might be more complicated than that: Perhaps
-						// there is interface I,
-						// and class C1 implements I, but class C2 extends C1,
-						// and overrides
-						// one of the members of I that was already implemented
-						// by C1. In this
-						// case, the public declaration from C2 came first, but
-						// now we are seeing
-						// a namespace-scoped declaration in C1. We need to
-						// record that the
-						// member is public, but we also need to record that it
-						// is a member
-						// of the base class, not just a member of the
-						// superclass.
-						//
-						// The easiest way to deal with both cases is to use the
-						// child that came from
-						// the superclass, but to change its scope to public.
-						child.makePublic();
-						parent.addMember(child);
-					} else if (existingScope != VariableAttribute.PRIVATE_SCOPE
-							&& existingScope == newScope) {
-						// This is a public, protected, internal, or
-						// namespace-scoped member which
-						// was defined in a base class and overridden in a
-						// subclass. We want to
-						// use the member from the base class, to that the
-						// debugger knows where the
-						// variable was actually defined.
-						parent.addMember(child);
-					} else if (existingScope == VariableAttribute.PRIVATE_SCOPE
-							&& existingScope == newScope) {
-						parent.addInheritedPrivateMember(child);
-					}
-				} else {
-					parent.addMember(child);
-				}
-			}
-			// put child in the registry if it has an id and not already there
-			DValue childValue = (DValue) child.getValue();
-			long childId = childValue.getId();
-			if (childId != Value.UNKNOWN_ID) {
-				DValue existingValue = getValue(childId, isolateId);
-				if (existingValue != null) {
-					assert existingValue == childValue; // TODO is this right?
-														// what about getters?
-				} else {
-					putValue(childId, childValue, isolateId);
-				}
-			}
-		}
-	}
-
-	// TODO is this right?
-	void addVariableMember(long parentId, DVariable child, long doubleAsId,
-			int isolateId) {
-		addVariableMember(parentId, child, isolateId);
-
-		// double book the child under another id
-		if (getIsolateState(isolateId).m_attachChildren)
-			putValue(doubleAsId, (DValue) child.getValue(), isolateId);
-	}
-
-	// @deprecated last pool that was read
-	public String[] getConstantPool() {
-		return m_lastConstantPool;
-	}
-
-	/**
-	 * Breakpoints
-	 */
-	public DLocation getBreakpoint(int id, int isolateId) {
-		ArrayList<DLocation> breakpoints = getIsolateState(isolateId).m_breakpoints;
-		synchronized (breakpoints) {
-			DLocation loc = null;
-			int which = findBreakpoint(id, isolateId);
-			if (which > -1)
-				loc = breakpoints.get(which);
-			return loc;
-		}
-	}
-
-	int findBreakpoint(int id, int isolateId) {
-		ArrayList<DLocation> breakpoints = getIsolateState(isolateId).m_breakpoints;
-		synchronized (breakpoints) {
-			int which = -1;
-			int size = breakpoints.size();
-			for (int i = 0; which < 0 && i < size; i++) {
-				DLocation l = breakpoints.get(i);
-				if (l.getId() == id)
-					which = i;
-			}
-			return which;
-		}
-	}
-
-	DLocation removeBreakpoint(int id, int isolateId) {
-		ArrayList<DLocation> breakpoints = getIsolateState(isolateId).m_breakpoints;
-		synchronized (breakpoints) {
-			DLocation loc = null;
-			int which = findBreakpoint(id, isolateId);
-			if (which > -1) {
-				loc = breakpoints.get(which);
-				breakpoints.remove(which);
-			}
-
-			return loc;
-		}
-	}
-
-	void addBreakpoint(int id, DLocation l, int isolateId) {
-		ArrayList<DLocation> breakpoints = getIsolateState(isolateId).m_breakpoints;
-		synchronized (breakpoints) {
-			breakpoints.add(l);
-		}
-	}
-
-	public DLocation[] getBreakpoints(int isolateId) {
-		ArrayList<DLocation> breakpoints = getIsolateState(isolateId).m_breakpoints;
-		synchronized (breakpoints) {
-			return breakpoints.toArray(new DLocation[breakpoints.size()]);
-		}
-	}
-
-	/**
-	 * Watchpoints
-	 */
-	public DWatch getWatchpoint(int at, int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		synchronized (state.m_watchpoints) {
-			return state.m_watchpoints.get(at);
-		}
-	}
-
-	public int getWatchpointCount(int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		synchronized (state.m_watchpoints) {
-			return state.m_watchpoints.size();
-		}
-	}
-
-	public DWatch[] getWatchpoints(int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		synchronized (state.m_watchpoints) {
-			return state.m_watchpoints.toArray(new DWatch[state.m_watchpoints.size()]);
-		}
-	}
-
-	boolean addWatchpoint(DWatch w, int isolateId) {
-		ArrayList<DWatch> lockObject = getIsolateState(isolateId).m_watchpoints;
-		synchronized (lockObject) {
-			return lockObject.add(w);
-		}
-	}
-
-	DWatch removeWatchpoint(int tag, int isolateId) {
-		ArrayList<DWatch> lockObject = getIsolateState(isolateId).m_watchpoints;
-		synchronized (lockObject) {
-			DWatch w = null;
-			int at = findWatchpoint(tag, isolateId);
-			if (at > -1)
-				w = lockObject.remove(at);
-			return w;
-		}
-	}
-
-	int findWatchpoint(int tag, int isolateId) {
-		ArrayList<DWatch> lockObject = getIsolateState(isolateId).m_watchpoints;
-		synchronized (lockObject) {
-			int at = -1;
-			int size = getWatchpointCount(isolateId);
-			for (int i = 0; i < size && at < 0; i++) {
-				DWatch w = getWatchpoint(i, isolateId);
-				if (w.getTag() == tag)
-					at = i;
-			}
-			return at;
-		}
-	}
-
-	/**
-	 * Isolates
-	 */
-	public DIsolate getIsolate(int at) {
-
-		if (at == Isolate.DEFAULT_ID)
-			return (DIsolate) DEFAULT_ISOLATE;
-
-		synchronized (m_isolates) {
-			return m_isolates.get(at);
-		}
-	}
-
-	public DIsolate getOrCreateIsolate(int at) {
-		synchronized (m_isolates) {
-			if (m_isolates.containsKey(at)) {
-				return m_isolates.get(at);
-			} else {
-				DIsolate isolate = new DIsolate(at);
-				m_isolates.put(at, isolate);
-				return isolate;
-			}
-		}
-	}
-
-	public int getIsolateCount() {
-		synchronized (m_isolates) {
-			return m_isolates.size();
-		}
-	}
-
-	public DIsolate[] getIsolates() {
-		synchronized (m_isolates) {
-			return m_isolates.values().toArray(new DIsolate[m_isolates.size()]);
-		}
-	}
-
-	boolean addIsolate(DIsolate t) {
-		synchronized (m_isolates) {
-			m_isolates.put(t.getId(), t);
-			return true;
-		}
-	}
-
-	void clearIsolates() {
-		synchronized (m_isolates) {
-			m_isolates.clear();
-		}
-	}
-
-	DIsolate removeIsolate(int id) {
-		synchronized (m_isolates) {
-			DIsolate t = null;
-			int at = findIsolate(id);
-			if (at > -1)
-				t = m_isolates.remove(at);
-			return t;
-		}
-	}
-
-	int findIsolate(int id) {
-		synchronized (m_isolates) {
-			if (m_isolates.containsKey(id))
-				return id;
-			else
-				return -1;
-		}
-	}
-
-	void setActiveIsolate(Isolate t) {
-		synchronized (m_activeIsolateLock) {
-			if (t == null) {
-				m_activeIsolate = DEFAULT_ISOLATE;
-			} else
-				m_activeIsolate = t;
-		}
-	}
-	
-	Isolate getActiveIsolate() {
-		synchronized (m_activeIsolateLock) {
-			return m_activeIsolate;
-		}
-	}
-
-
-	void setInIsolate(Isolate t) {
-		synchronized (m_inIsolateLock) {
-			if (t == null) {
-				m_inIsolate = DEFAULT_ISOLATE;
-			} else
-				m_inIsolate = t;
-		}
-	}
-
-	Isolate getInIsolate() {
-		synchronized (m_inIsolateLock) {
-			return m_inIsolate;
-		}
-	}
-
-	Isolate getDefaultIsolate() {
-		return DEFAULT_ISOLATE;
-	}
-
-
-	/**
-	 * Frame stack management related stuff
-	 * 
-	 * @return true if we added this frame; false if we ignored it
-	 */
-	boolean addFrame(DStackContext ds, int isolateId) {
-		getIsolateState(isolateId).m_frames.add(ds);
-		return true;
-	}
-
-	void clearFrames(int isolateId) {
-		if (getIsolateState(isolateId).m_frames.size() > 0)
-			getIsolateState(isolateId).m_previousFrames = getIsolateState(isolateId).m_frames;
-		getIsolateState(isolateId).m_frames = new ArrayList<DStackContext>();
-	}
-
-	public DStackContext getFrame(int at, int isolateId) {
-		return getIsolateState(isolateId).m_frames.get(at);
-	}
-
-	public int getFrameCount(int isolateId) {
-		return getIsolateState(isolateId).m_frames.size();
-	}
-
-	public DStackContext[] getFrames(int isolateId) {
-		ArrayList<DStackContext> frames = getIsolateState(isolateId).m_frames;
-		return frames.toArray(new DStackContext[frames.size()]);
-	}
-
-	private boolean stringsEqual(String s1, String s2) {
-		if (s1 == null)
-			return s2 == null;
-		else
-			return s1.equals(s2);
-	}
-
-	/**
-	 * Correlates the old list of stack frames, from the last time the player
-	 * was suspended, with the new list of stack frames, attempting to guess
-	 * which frames correspond to each other. This is done so that
-	 * Variable.hasValueChanged() can work correctly for local variables.
-	 */
-	private void mapOldFramesToNew(int isolateId) {
-		ArrayList<DStackContext> previousFrames = null;
-		ArrayList<DStackContext> frames = null;
-		Map<Long, DValue> previousValues = null;
-
-		previousFrames = getIsolateState(isolateId).m_previousFrames;
-		frames = getIsolateState(isolateId).m_frames;
-		previousValues = getIsolateState(isolateId).m_previousValues;
-
-		int oldSize = previousFrames.size();
-		int newSize = frames.size();
-
-		// discard all old frames (we will restore some of them below)
-		DValue[] oldFrames = new DValue[oldSize];
-		for (int depth = 0; depth < oldSize; depth++) {
-			oldFrames[depth] = (DValue) previousValues.remove(Value.BASE_ID
-					- depth);
-		}
-
-		// Start at the end of the stack (the stack frame farthest from the
-		// current one), and try to match up stack frames
-		int oldDepth = oldSize - 1;
-		int newDepth = newSize - 1;
-		while (oldDepth >= 0 && newDepth >= 0) {
-			DStackContext oldFrame = previousFrames.get(oldDepth);
-			DStackContext newFrame = frames.get(newDepth);
-			if (oldFrame != null && newFrame != null) {
-				if (stringsEqual(oldFrame.getCallSignature(),
-						newFrame.getCallSignature())) {
-					DValue frame = oldFrames[oldDepth];
-					if (frame != null)
-						previousValues.put(Value.BASE_ID - newDepth, frame);
-				}
-			}
-			oldDepth--;
-			newDepth--;
-		}
-	}
-
-	/**
-	 * Get function is only supported in players that recognize the squelch
-	 * message.
-	 */
-	public boolean isGetSupported() {
-		return m_squelchEnabled;
-	}
-
-
-	/**
-	 * Returns a suspend information on why the Player has suspended execution.
-	 * 
-	 * @return see SuspendReason
-	 */
-	public DSuspendInfo getSuspendInfo(int isolateId) {
-		if (m_isolateState.containsKey(isolateId)) {
-			return m_isolateState.get(isolateId).m_suspendInfo;
-		}
-		return null;
-	}
-
-	public ArrayList<SwfInfo> getIsolateSwfList() {
-		ArrayList<SwfInfo> result = new ArrayList<SwfInfo>();
-
-		for (DManagerIsolateState state : m_isolateState.values()) {
-			if (state.m_swfInfo != null) {
-				result.addAll(state.m_swfInfo);
-			}
-		}
-
-		return result;
-	}
-
-	/**
-	 * Event management related stuff
-	 */
-	public int getEventCount() {
-		synchronized (m_event) {
-			return m_event.size();
-		}
-	}
-
-	/**
-	 * Get an object on which callers can call wait(), in order to wait until
-	 * something happens.
-	 * 
-	 * Note: The object will be signalled when EITHER of the following happens:
-	 * (1) An event is added to the event queue; (2) The network connection is
-	 * broken (and thus there will be no more events).
-	 * 
-	 * @return an object on which the caller can call wait()
-	 */
-	public Object getEventNotifier() {
-		return m_event;
-	}
-
-	public DebugEvent nextEvent() {
-		DebugEvent s = null;
-		synchronized (m_event) {
-			if (m_event.size() > 0)
-				s = m_event.removeFirst();
-		}
-		return s;
-	}
-
-	public synchronized void addEvent(DebugEvent e) {
-		synchronized (m_event) {
-			m_event.add(e);
-			m_event.notifyAll(); // wake up listeners (see getEventNotifier())
-		}
-	}
-
-	/**
-	 * Issued when the socket connection to the player is cut
-	 */
-	public void disconnected() {
-		synchronized (m_event) {
-			m_event.notifyAll(); // see getEventNotifier()
-		}
-	}
-
-	/**
-	 * This is the core routine for decoding incoming messages and deciding what
-	 * should be done with them. We have registered ourself with DProtocol to be
-	 * notified when any incoming messages have been received.
-	 * 
-	 * It is important to note that we should not rely on the contents of the
-	 * message since it may be reused after we exit this method.
-	 */
-	public void messageArrived(DMessage msg, DProtocol which) {
-		/*
-		 * at this point we just open up a big switch statement and walk through
-		 * all possible cases
-		 */
-		int type = msg.getType();
-		// System.out.println("manager msg = "+DMessage.inTypeName(type));
-		int inIsolateId = getInIsolate() != null ? getInIsolate().getId()
-				: Isolate.DEFAULT_ID;
-		if (inIsolateId != Isolate.DEFAULT_ID) {
-			msg.setTargetIsolate(inIsolateId);
-		}
-		switch (type) {
-		case DMessage.InVersion: {
-			long ver = msg.getDWord();
-			m_playerVersion = (int) ver;
-
-			// Newer players will send another byte, which is the pointer size
-			// that is used by the player (in bytes).
-			int pointerSize;
-			if (msg.getRemaining() >= 1)
-				pointerSize = msg.getByte();
-			else
-				pointerSize = 4;
-			DMessage.setSizeofPtr(pointerSize);
-			break;
-		}
-
-		case DMessage.InErrorExecLimit: {
-			handleFaultEvent(new RecursionLimitFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorWith: {
-			handleFaultEvent(new InvalidWithFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorProtoLimit: {
-			handleFaultEvent(new ProtoLimitFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorURLOpen: {
-//			String url = msg.getString();
-//			handleFaultEvent(new InvalidURLFault(url, msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorTarget: {
-//			String name = msg.getString();
-//			handleFaultEvent(new InvalidTargetFault(name, msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorException: {
-			long offset = msg.getDWord();
-			// As of FP9, the player will also send the "toString()" message
-			// of the exception. But for backward compatibility with older
-			// players, we won't assume that that is there.
-			String exceptionMessage;
-			boolean willExceptionBeCaught = false;
-			Value thrown = null;
-			if (msg.getRemaining() > 0) {
-				exceptionMessage = msg.getString();
-				if (msg.getRemaining() > 0) {
-					if (msg.getByte() != 0) {
-						willExceptionBeCaught = (msg.getByte() != 0 ? true
-								: false);
-						msg.getPtr();
-						DVariable thrownVar = extractVariable(msg);
-						thrown = thrownVar.getValue();
-					}
-				}
-			} else {
-				exceptionMessage = ""; //$NON-NLS-1$
-			}
-			ExceptionFault exceptionFault = new ExceptionFault(
-					exceptionMessage, willExceptionBeCaught, thrown, msg.getTargetIsolate());
-			exceptionFault.isolateId = msg.getTargetIsolate();
-			handleFaultEvent(exceptionFault);
-			break;
-		}
-
-		case DMessage.InErrorStackUnderflow: {
-//			long offset = msg.getDWord();
-			handleFaultEvent(new StackUnderFlowFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorZeroDivide: {
-//			long offset = msg.getDWord();
-			handleFaultEvent(new DivideByZeroFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorScriptStuck: {
-			handleFaultEvent(new ScriptTimeoutFault(msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InErrorConsole: {
-			String s = msg.getString();
-			handleFaultEvent(new ConsoleErrorFault(s, msg.getTargetIsolate()));
-			break;
-		}
-
-		case DMessage.InTrace: {
-			String text = msg.getString();
-			addEvent(new TraceEvent(text));
-			break;
-		}
-
-		case DMessage.InSquelch: {
-			long state = msg.getDWord();
-			m_squelchEnabled = (state != 0) ? true : false;
-			break;
-		}
-
-		case DMessage.InParam: {
-			String name = msg.getString();
-			String value = msg.getString();
-
-			// here's where we get movie = URL and password which I'm not sure
-			// what to do with?
-			// System.out.println(name+"="+value);
-			m_parms.put(name, value);
-
-			// if string is a "movie", then this is a URL
-			if (name.startsWith("movie")) //$NON-NLS-1$
-				m_uri = convertToURI(value);
-			break;
-		}
-
-		case DMessage.InPlaceObject: {
-			long objId = msg.getPtr();
-			String path = msg.getString();
-			// m_bag.placeObject((int)objId, path);
-			break;
-		}
-
-		case DMessage.InSetProperty: {
-			long objId = msg.getPtr();
-			int item = msg.getWord();
-			String value = msg.getString();
-			break;
-		}
-
-		case DMessage.InNewObject: {
-			long objId = msg.getPtr();
-			break;
-		}
-
-		case DMessage.InRemoveObject: {
-			long objId = msg.getPtr();
-			// m_bag.removeObject((int)objId);
-			break;
-		}
-
-		case DMessage.InSetVariable: {
-			long objId = msg.getPtr();
-			String name = msg.getString();
-			int dType = msg.getWord();
-			int flags = (int) msg.getDWord();
-			String value = msg.getString();
-
-			// m_bag.createVariable((int)objId, name, dType, flags, value);
-			break;
-		}
-
-		case DMessage.InDeleteVariable: {
-			long objId = msg.getPtr();
-			String name = msg.getString();
-			// m_bag.deleteVariable((int)objId, name);
-			break;
-		}
-
-		case DMessage.InScript: {
-			int module = (int) msg.getDWord();
-			int bitmap = (int) msg.getDWord();
-			String name = msg.getString(); // in "basepath;package;filename"
-											// format
-			String text = msg.getString();
-			int swfIndex = -1;
-			int isolateIndex = -1;
-
-			/* new in flash player 9: player tells us what swf this is for */
-			if (msg.getRemaining() >= 4)
-				swfIndex = (int) msg.getDWord();
-
-			isolateIndex = msg.getTargetIsolate();
-			getOrCreateIsolate(isolateIndex);
-			if (putSource(swfIndex, module, bitmap, name, text,
-					isolateIndex)) {
-				// have we changed the list since last query
-				if (!m_sourceListModified)
-					addEvent(new FileListModifiedEvent());
-
-				m_sourceListModified = true; 
-			}
-			break;
-		}
-
-		case DMessage.InRemoveScript: {
-			long module = msg.getDWord();
-			int isolateId = msg.getTargetIsolate();
-			Map<Integer, DModule> source = getIsolateState(isolateId).m_source;
-			synchronized (source) {
-				if (removeSource((int) module, isolateId)) {
-					// have we changed the list since last query
-					if (!m_sourceListModified)
-						addEvent(new FileListModifiedEvent());
-
-					m_sourceListModified = true; /* current source list is stale */
-				}
-			}
-			break;
-		}
-
-		case DMessage.InAskBreakpoints: {
-			// the player has just loaded a swf and we know the player
-			// has halted, waiting for us to continue. The only caveat
-			// is that it looks like it still does a number of things in
-			// the background which take a few seconds to complete.
-			int targetIsolate = msg.getTargetIsolate();
-			DSuspendInfo iSusInfo = getIsolateState(targetIsolate).m_suspendInfo;
-			if (iSusInfo == null) {
-				iSusInfo = new DSuspendInfo(SuspendReason.ScriptLoaded, 0,
-						0, 0, 0);
-			}
-			break;
-		}
-
-		case DMessage.InBreakAt: {
-			long bp = 0, wideLine = 0, wideModule = 0;
-			if (!m_wideLines) {
-				bp = msg.getDWord();
-			}
-			else {
-				wideModule = msg.getDWord();
-				wideLine = msg.getDWord();
-			}
-			long id = msg.getPtr();
-			String stack = msg.getString();
-			int targetIsolate = msg.getTargetIsolate();
-
-			int module = DLocation.decodeFile(bp);
-			int line = DLocation.decodeLine(bp);
-			if (m_wideLines) {
-				module = (int)wideModule;
-				line = (int)wideLine;
-			}
-			addEvent(new BreakEvent(module, line, targetIsolate));
-			break;
-		}
-
-		case DMessage.InContinue: {
-			/* we are running again so trash all our variable contents */
-			continuing(msg.getTargetIsolate());
-			break;
-		}
-
-		case DMessage.InSetLocalVariables: {
-//			long objId = msg.getPtr();
-			// m_bag.markObjectLocal((int)objId, true);
-			break;
-		}
-
-		case DMessage.InSetBreakpoint: {
-			long count = msg.getDWord();
-			int targetIsolate = msg.getTargetIsolate();
-			while (count-- > 0) {
-				long bp = 0, moduleNumber = 0, lineNumber = 0;
-				if (!m_wideLines) {
-					bp = msg.getDWord();
-				}
-				else {
-					moduleNumber = msg.getDWord();
-					lineNumber = msg.getDWord();
-				}
-
-				int fileId = DLocation.decodeFile(bp);
-				int line = DLocation.decodeLine(bp);
-				if (m_wideLines) {
-					fileId = (int)moduleNumber;
-					line = (int)lineNumber;
-				}
-
-				DModule file = null;
-				file = getSource(fileId, targetIsolate);
-
-				DLocation l = new DLocation(file, line, targetIsolate);
-
-				if (file != null) {
-					addBreakpoint((int) bp, l, targetIsolate);
-				}
-			}
-			break;
-		}
-
-		case DMessage.InNumScript: {
-			/* lets us know how many scripts there are */
-			int num = (int) msg.getDWord();
-			int targetIsolate = msg.getTargetIsolate();
-			DSwfInfo swf;
-
-			/*
-			 * New as of flash player 9: another dword indicating which swf this
-			 * is for. That means we don't have to guess whether this is for an
-			 * old SWF which has just had some more modules loaded, or for a new
-			 * SWF!
-			 */
-			if (msg.getRemaining() >= 4) {
-				int swfIndex = (int) msg.getDWord();
-				swf = getOrCreateSwfInfo(swfIndex, targetIsolate);
-				getIsolateState(targetIsolate).m_lastSwfInfo = swf;
-			} else {
-				/*
-				 * This is not flash player 9 (or it is an early build of fp9).
-				 * 
-				 * We use this message as a trigger that a new swf has been
-				 * loaded, so make sure we are ready to accept the scripts.
-				 */
-				swf = getActiveSwfInfo(targetIsolate);
-			}
-
-			// It is NOT an error for the player to have sent us a new,
-			// different sourceExpectedCount from whatever we had before!
-			// In fact, this happens all the time, whenever a SWF has more
-			// than one ABC.
-			swf.setSourceExpectedCount(num);
-			break;
-		}
-
-		case DMessage.InRemoveBreakpoint: {
-			long count = msg.getDWord();
-			int isolateId = msg.getTargetIsolate();
-			while (count-- > 0) {
-				long bp = msg.getDWord();
-				removeBreakpoint((int) bp, isolateId);
-			}
-			break;
-
-		}
-
-		case DMessage.InBreakAtExt: {
-			long bp = 0, wideLine = 0, wideModule = 0;
-			if (!m_wideLines) {
-				bp = msg.getDWord();
-			}
-			else {
-				wideModule = msg.getDWord();
-				wideLine = msg.getDWord();
-			}
-			long num = msg.getDWord();
-
-			int targetIsolate = msg.getTargetIsolate();
-			// System.out.println(msg.getInTypeName()+",bp="+(bp&0xffff)+":"+(bp>>16));
-			/* we have stack info to store away */
-			clearFrames(targetIsolate); // just in case
-			int depth = 0;
-
-			while (num-- > 0) {
-				long bpi = 0, wideLinei= 0, wideModulei = 0;
-				if (!m_wideLines) {
-					bpi = msg.getDWord();
-				}
-				else {
-					wideModulei = msg.getDWord();
-					wideLinei = msg.getDWord();
-				}
-				long id = msg.getPtr();
-				String stack = msg.getString();
-				int module = DLocation.decodeFile(bpi);
-				int line = DLocation.decodeLine(bpi);
-				if (m_wideLines) {
-					module = (int)wideModulei;
-					line = (int)wideLinei;
-				}
-				DModule m = null;
-				m = getSource(module, targetIsolate);
-				DStackContext c = new DStackContext(module, line, m, id, stack,
-						depth, targetIsolate);
-				// If addFrame() returns false, that means it chose to ignore
-				// this
-				// frame, so we do NOT want to increment our depth for the next
-				// time through the loop. If it returns true, then we do want
-				// to.
-				if (addFrame(c, targetIsolate))
-					++depth;
-				// System.out.println("   this="+id+",@"+(bpi&0xffff)+":"+(bpi>>16)+",stack="+stack);
-			}
-			mapOldFramesToNew(targetIsolate);
-			if (targetIsolate != Isolate.DEFAULT_ID) {
-				// ask for isolate id if it is present
-				appendIsolateInfoToFrame(targetIsolate);
-
-			}
-			break;
-
-		}
-
-		case DMessage.InFrame: {
-			// For InFrame the first element is really our frame id
-			DValue frame = null;
-			DVariable child = null;
-			ArrayList<DVariable> v = new ArrayList<DVariable>();
-			ArrayList<DVariable> registers = new ArrayList<DVariable>();
-			int targetIsolate = msg.getTargetIsolate();
-			int depth = (int) msg.getDWord(); // depth of frame
-
-			// make sure we have a valid depth
-			if (depth > -1) {
-				// first thing is number of registers
-				int num = (int) msg.getDWord();
-				for (int i = 0; i < num; i++)
-					registers.add(extractRegister(msg, i + 1));
-			}
-
-			int currentArg = -1;
-			boolean gettingScopeChain = false;
-
-			// then our frame itself
-			while (msg.getRemaining() > 0) {
-				long frameId = msg.getPtr();
-
-				if (frame == null) {
-					frame = getOrCreateValue(frameId, targetIsolate);
-					extractVariable(msg); // put the rest of the info in the
-											// trash
-				} else {
-					child = extractVariable(msg);
-					if (currentArg == -1
-							&& child.getName().equals(ARGUMENTS_MARKER)) {
-						currentArg = 0;
-						gettingScopeChain = false;
-					} else if (child.getName().equals(SCOPE_CHAIN_MARKER)) {
-						currentArg = -1;
-						gettingScopeChain = true;
-					} else if (currentArg >= 0) {
-						// work around a compiler bug: If the variable's name is
-						// "undefined",
-						// then change its name to "_argN", where "N" is the
-						// argument index,
-						// e.g. _arg1, _arg2, etc.
-						++currentArg;
-						if (child.getName().equals("undefined")) //$NON-NLS-1$
-							child.setName("_arg" + currentArg); //$NON-NLS-1$
-					}
-
-					// All args and locals get added as "children" of
-					// the frame; but scope chain entries do not.
-					if (!gettingScopeChain)
-						addVariableMember(frameId, child, targetIsolate);
-
-					// Everything gets added to the ordered list of
-					// variables that came in.
-					v.add(child);
-				}
-			}
-
-			// let's transfer our newly gained knowledge into the stack context
-			if (depth == 0)
-				populateRootNode(frame, v, targetIsolate);
-			else
-				populateFrame(depth, v, targetIsolate);
-
-			break;
-		}
-
-		case DMessage.InOption: {
-			String s = msg.getString();
-			String v = msg.getString();
-			m_options.put(s, v);
-			break;
-		}
-
-		case DMessage.InGetVariable: {
-			// For InGetVariable the first element is the original entity we
-			// requested
-			DValue parent = null;
-			DVariable child = null;
-			String definingClass = null;
-			int level = 0;
-			int targetIsolate = msg.getTargetIsolate();
-			int highestLevelWithMembers = -1;
-			List<String> classes = new ArrayList<String>();
-
-			while (msg.getRemaining() > 0) {
-				long parentId = msg.getPtr();
-
-				// build or get parent node
-				if (parent == null) {
-					String name = msg.getString();
-
-					// pull the contents of the node which normally are disposed
-					// of except if we did a 0,name call
-					getIsolateState(targetIsolate).m_lastInGetVariable = extractVariable(msg, name); 
-
-					parent = getOrCreateValue(parentId, targetIsolate);
-				} else {
-					// extract the child and add it to the parent.
-					child = extractVariable(msg);
-					if (showMember(child)) {
-						if (child.isAttributeSet(VariableAttribute.IS_DYNAMIC)) {
-							// Dynamic attributes always come in marked as a
-							// member of
-							// class "Object"; but to the user, it makes more
-							// sense to
-							// consider them as members of the topmost class.
-							if (classes.size() > 0) {
-								child.setDefiningClass(0, classes.get(0));
-								highestLevelWithMembers = Math.max(
-										highestLevelWithMembers, 0);
-							}
-						} else {
-							child.setDefiningClass(level, definingClass);
-							if (definingClass != null) {
-								highestLevelWithMembers = Math.max(
-										highestLevelWithMembers, level);
-							}
-						}
-						addVariableMember(parent.getId(), child, targetIsolate);
-					} else {
-						if (isTraits(child)) {
-							definingClass = child.getQualifiedName();
-							level = classes.size();
-
-							// If the traits name end with "$", then it
-							// represents a class object --
-							// in other words, the variables inside it are
-							// static variables of that
-							// class. In that case, we need to juggle the
-							// information. For example,
-							// if we are told that a variable is a member of
-							// "MyClass$", we actually
-							// store it into the information for "MyClass".
-							if (definingClass.endsWith("$")) { //$NON-NLS-1$
-								String classWithoutDollar = definingClass
-										.substring(0,
-												definingClass.length() - 1);
-								int indexOfClass = classes
-										.indexOf(classWithoutDollar);
-								if (indexOfClass != -1) {
-									level = indexOfClass;
-									definingClass = classWithoutDollar;
-								}
-							}
-
-							// It wasn't static -- so, add this class to the end
-							// of the list of classes
-							if (level == classes.size()) {
-								classes.add(definingClass);
-							}
-						}
-					}
-				}
-			}
-
-			if (parent != null && parent.getClassHierarchy(true) == null) {
-				parent.setClassHierarchy(
-						classes.toArray(new String[classes.size()]),
-						highestLevelWithMembers + 1);
-			}
-
-			break;
-		}
-
-		case DMessage.InWatch: // for AS2; sends 16-bit ID field
-		case DMessage.InWatch2: // for AS3; sends 32-bit ID field
-		{
-			// This message is sent whenever a watchpoint is added
-			// modified or removed.
-			//
-			// For an addition, flags will be non-zero and
-			// success will be true.
-			//
-			// For a modification flags will be non-zero.
-			// and oldFlags will be non-zero and success
-			// will be true. Additionally oldFlags will not
-			// be equal to flags.
-			//
-			// For a removal flags will be zero. oldFlags
-			// will be non-zero.
-			//
-			// flags identifies the type of watchpoint added,
-			// see WatchKind.
-			//
-			// success indicates whether the operation was successful
-			//
-			// request. It will be associated with the watchpoint.
-			int success = msg.getWord();
-			int oldFlags = msg.getWord();
-			int oldTag = msg.getWord();
-			int flags = msg.getWord();
-			int tag = msg.getWord();
-			// for AS2, the ID came in above as a Word. For AS3, the above value
-			// is
-			// bogus, and it has been sent again as a DWord.
-			long id = ((type == DMessage.InWatch2) ? msg.getPtr() : msg
-					.getWord());
-			String name = msg.getString();
-			int targetIsolate = msg.getTargetIsolate();
-
-			if (success != 0) {
-				if (flags == 0) {
-					removeWatchpoint(oldTag, targetIsolate);
-				} else {
-					// modification or addition is the same to us
-					// a new watch is created and added into the table
-					// while any old entry if it exists is removed.
-					removeWatchpoint(oldTag, targetIsolate);
-					DWatch w = new DWatch(id, name, flags, tag, targetIsolate);
-					addWatchpoint(w, targetIsolate);
-				}
-			}
-			break;
-		}
-
-		case DMessage.InGetSwf: {
-			// we only house the swf temporarily, PlayerSession then
-			// pieces it back into swfinfo record. Also, we don't
-			// send any extra data in the message so that we need not
-			// copy the bytes.
-			m_swf = msg.getData();
-			break;
-		}
-
-		case DMessage.InGetSwd: {
-			// we only house the swd temporarily, PlayerSession then
-			// pieces it back into swfinfo record.
-			m_swd = msg.getData();
-			break;
-		}
-
-		case DMessage.InBreakReason: {
-			// the id map 1-1 with out SuspendReason interface constants
-			int suspendReason = msg.getWord();
-			int suspendPlayer = msg.getWord(); // item index of player
-			int breakOffset = (int) msg.getDWord(); // current script offset
-			int prevBreakOffset = (int) msg.getDWord(); // prev script offset
-			int nextBreakOffset = (int) msg.getDWord(); // next script offset
-			int targetIsolate = msg.getTargetIsolate();
-
-			getIsolateState(targetIsolate).m_suspendInfo = new DSuspendInfo(
-					suspendReason, suspendPlayer, breakOffset,
-					prevBreakOffset, nextBreakOffset);
-
-			// augment the current frame with this information. It
-			// should work ok since we only get this message after a
-			// InBreakAtExt message
-			try {
-				DStackContext c = getFrame(0, targetIsolate);
-				c.setOffset(breakOffset);
-				c.setSwfIndex(suspendPlayer);
-			} catch (Exception e) {
-				if (Trace.error) {
-					Trace.trace("Oh my god, gag me with a spoon...getFrame(0) call failed"); //$NON-NLS-1$
-					e.printStackTrace();
-				}
-			}
-			break;
-		}
-
-			// obtain raw action script byte codes
-		case DMessage.InGetActions: {
-			int item = msg.getWord();
-			int rsvd = msg.getWord();
-			int at = (int) msg.getDWord();
-			int len = (int) msg.getDWord();
-			int i = 0;
-
-			m_actions = (len <= 0) ? null : new byte[len];
-			while (len-- > 0)
-				m_actions[i++] = (byte) msg.getByte();
-
-			break;
-		}
-
-			// obtain data about a SWF
-		case DMessage.InSwfInfo: {
-			int count = msg.getWord();
-			int targetIsolate = msg.getTargetIsolate();
-			for (int i = 0; i < count; i++) {
-				long index = msg.getDWord();
-				long id = msg.getPtr();
-
-				// get it
-				DSwfInfo info = null;
-
-				info = getOrCreateSwfInfo((int) index, targetIsolate);
-				getIsolateState(targetIsolate).m_lastSwfInfo = info;
-
-				// remember which was last seen
-
-				if (id != 0) {
-					boolean debugComing = (msg.getByte() == 0) ? false : true;
-					byte vmVersion = (byte) msg.getByte(); // AS vm version
-															// number (1 = avm+,
-															// 0 == avm-)
-					int rsvd1 = msg.getWord();
-
-					long swfSize = msg.getDWord();
-					long swdSize = msg.getDWord();
-					long scriptCount = msg.getDWord();
-					long offsetCount = msg.getDWord();
-					long breakpointCount = msg.getDWord();
-
-					long port = msg.getDWord();
-					String path = msg.getString();
-					String url = msg.getString();
-					String host = msg.getString();
-					Map<Long, Integer> local2global = new HashMap<Long, Integer>();
-					int minId = Integer.MAX_VALUE;
-					int maxId = Integer.MIN_VALUE;
-					// now we read in the swd debugging map (which provides
-					// local to global mappings of the script ids
-					/* anirudhs: Parsing this is only necessary if we are in
-					   AVM1. (See PlayerSession::run(), there is a vmVersion 
-					   check before calling parseSwfSwd(). */ 
-					if (swdSize > 0) {
-						long num = msg.getDWord();
-						for (int j = 0; j < num; j++) {
-							if (msg.getRemaining() < DMessage.getSizeofPtr()) {
-								/* The SWD debugging map sent out by 
-								 * AVM2 often runs short usually in 64-bit
-								 * debug player. We can stop with what we know
-								 * and move on.
-								 */
-								break;
-							}
-							long local = msg.getPtr();
-							int global = (int) msg.getDWord();
-							local2global.put(local, global);
-							minId = (global < minId) ? global : minId;
-							maxId = (global > maxId) ? global : maxId;
-						}
-					}
-					// If its a new record then the swf size would have been
-					// unknown at creation time
-					boolean justCreated = (info.getSwfSize() == 0);
-
-					// if we are a avm+ engine then we don't wait for the swd to
-					// load
-					if (vmVersion > 0) {
-						debugComing = false;
-						info.setVmVersion(vmVersion);
-						info.setPopulated(); // added by mmorearty on 9/5/05 for
-												// RSL debugging
-					}
-
-					// update this swfinfo with the lastest data
-					info.freshen(id, path, url, host, port, debugComing,
-							swfSize, swdSize, breakpointCount, offsetCount,
-							scriptCount, local2global, minId, maxId);
-					// now tie any scripts that have been loaded into this
-					// swfinfo object
-					tieScriptsToSwf(info, targetIsolate);
-
-					// notify if its newly created
-					if (justCreated)
-						addEvent(new SwfLoadedEvent(id, (int) index, path, url,
-								host, port, swfSize));
-				} else {
-					// note our state before marking it
-					boolean alreadyUnloaded = info.isUnloaded();
-
-					// clear it out
-					info.setUnloaded();
-
-					// notify if this information is new.
-					if (!alreadyUnloaded)
-						addEvent(new SwfUnloadedEvent(info.getId(),
-								info.getPath(), (int) index));
-				}
-				// System.out.println("[SWFLOAD] Loaded "+path+", size="+swfSize+", scripts="+scriptCount);
-			}
-			break;
-		}
-
-			// obtain the constant pool of some player
-		case DMessage.InConstantPool: {
-			int item = msg.getWord();
-			int count = (int) msg.getDWord();
-
-			String[] pool = new String[count];
-			for (int i = 0; i < count; i++) {
-				long id = msg.getPtr();
-				DVariable var = extractVariable(msg);
-
-				// we only need the contents of the variable
-				pool[i] = var.getValue().getValueAsString();
-			}
-			m_lastConstantPool = pool;
-			break;
-		}
-
-			// obtain one or more function name line number mappings.
-		case DMessage.InGetFncNames: {
-			long id = msg.getDWord(); // module id
-			long count = msg.getDWord(); // number of entries
-
-			// get the DModule
-			DModule m = getSource((int) id, msg.getTargetIsolate());
-			if (m != null) {
-				for (int i = 0; i < count; i++) {
-					int offset = (int) msg.getDWord();
-					int firstLine = (int) msg.getDWord();
-					int lastLine = (int) msg.getDWord();
-					String name = msg.getString();
-
-					// now add the entries
-					m.addLineFunctionInfo(offset, firstLine, lastLine, name);
-				}
-			}
-			break;
-		}
-
-		case DMessage.InCallFunction:
-		case DMessage.InBinaryOp: {
-			// For InCallFunction the first element is the original function we
-			// requested
-			DValue parent = null;
-			int targetIsolate = msg.getTargetIsolate();
-			DVariable child = null;
-			String definingClass = null;
-			int level = 0;
-			int highestLevelWithMembers = -1;
-			List<String> classes = new ArrayList<String>();
-
-			if (type == DMessage.InBinaryOp)
-				msg.getDWord(); // id
-
-			while (msg.getRemaining() > 0) {
-				long parentId = msg.getPtr();
-
-				// build or get parent node
-				if (parent == null) {
-					String name = msg.getString();
-
-					// pull the contents of the node which normally are disposed
-					// of except if we did a 0,name call
-					DVariable var = extractVariable(msg, name);
-					if (type == DMessage.InCallFunction) {
-						getIsolateState(targetIsolate).m_lastInCallFunction = var;
-					}
-					else {
-						getIsolateState(targetIsolate).m_lastInBinaryOp = var;
-					}
-
-					parent = getOrCreateValue(parentId, targetIsolate);
-				} else {
-					// extract the child and add it to the parent.
-					child = extractVariable(msg);
-					if (showMember(child)) {
-						if (child.isAttributeSet(VariableAttribute.IS_DYNAMIC)) {
-							// Dynamic attributes always come in marked as a
-							// member of
-							// class "Object"; but to the user, it makes more
-							// sense to
-							// consider them as members of the topmost class.
-							if (classes.size() > 0) {
-								child.setDefiningClass(0, classes.get(0));
-								highestLevelWithMembers = Math.max(
-										highestLevelWithMembers, 0);
-							}
-						} else {
-							child.setDefiningClass(level, definingClass);
-							if (definingClass != null) {
-								highestLevelWithMembers = Math.max(
-										highestLevelWithMembers, level);
-							}
-						}
-						addVariableMember(parent.getId(), child, targetIsolate);
-					} else {
-						if (isTraits(child)) {
-							definingClass = child.getQualifiedName();
-							level = classes.size();
-
-							// If the traits name end with "$", then it
-							// represents a class object --
-							// in other words, the variables inside it are
-							// static variables of that
-							// class. In that case, we need to juggle the
-							// information. For example,
-							// if we are told that a variable is a member of
-							// "MyClass$", we actually
-							// store it into the information for "MyClass".
-							if (definingClass.endsWith("$")) { //$NON-NLS-1$
-								String classWithoutDollar = definingClass
-										.substring(0,
-												definingClass.length() - 1);
-								int indexOfClass = classes
-										.indexOf(classWithoutDollar);
-								if (indexOfClass != -1) {
-									level = indexOfClass;
-									definingClass = classWithoutDollar;
-								}
-							}
-
-							// It wasn't static -- so, add this class to the end
-							// of the list of classes
-							if (level == classes.size()) {
-								classes.add(definingClass);
-							}
-						}
-					}
-				}
-			}
-
-			if (parent != null && parent.getClassHierarchy(true) == null) {
-				parent.setClassHierarchy(
-						classes.toArray(new String[classes.size()]),
-						highestLevelWithMembers + 1);
-			}
-
-			break;
-		}
-
-		case DMessage.InIsolateCreate: {
-			long id = msg.getDWord();
-			isolateCreate((int) id);
-
-			break;
-		}
-
-		case DMessage.InIsolateExit: {
-			long id = msg.getDWord();
-			// Implementation dependency on runtime in case id mechanism is
-			// changed:
-			// Typecast id into an int.
-			DIsolate isolate = removeIsolate((int) id);
-			addEvent(new IsolateExitEvent(isolate));
-
-			break;
-		}
-
-		case DMessage.InIsolateEnumerate: {
-			// clearIsolates();
-			//
-			// long lenIsolate = msg.getDWord();
-			//
-			// for ( int i = 0; i < lenIsolate; i++) {
-			// long id = msg.getDWord();
-			// addIsolate(new DIsolate(id));
-			// }
-
-			break;
-		}
-
-		case DMessage.InSetActiveIsolate: {
-			long id = msg.getDWord();
-
-			boolean success = msg.getByte() != 0 ? true : false;
-
-			/** Ignore inset since we don't wait
-			 * for response anymore.
-			 */
-//			synchronized (m_activeIsolateLock) {
-//				if (success) {
-//					int at = findIsolate((int) id);
-//					if (at > -1)
-//						setActiveIsolate(getIsolate(at));
-//				} else {
-//					setActiveIsolate(null);
-//				}
-//			}
-
-			break;
-		}
-
-		case DMessage.InIsolate: {
-			long id = msg.getDWord();
-			synchronized (m_inIsolateLock) {
-				int at = findIsolate((int) id);
-				if (at != -1)
-					setInIsolate(getIsolate(at));
-				else {
-					if (id != Isolate.DEFAULT_ID) {
-						setInIsolate(isolateCreate((int) id));
-					} else
-						setInIsolate(null);
-				}
-			}
-			break;
-		}
-		
-		case DMessage.InSetExceptionBreakpoint: {
-
-			int result = msg.getWord();
-			String exceptionBP = msg.getString();
-			int remaining = msg.getRemaining();
-			break;
-		}
-
-		case DMessage.InRemoveExceptionBreakpoint: {
-			int result = msg.getWord();
-			String exceptionBP = msg.getString();
-			int remaining = msg.getRemaining();
-			break;
-		}
-
-		default: {
-			break;
-		}
-		}
-	}
-
-	private DIsolate isolateCreate(int id) {
-		int idx = findIsolate(id);
-		if (idx == -1) {
-			DIsolate isolate = new DIsolate(id);
-			addIsolate(isolate);
-			setInIsolate(isolate);
-			addEvent(new IsolateCreateEvent(isolate));
-			return isolate;
-		}
-		return getIsolate(idx);
-
-	}
-
-	private void appendIsolateInfoToFrame(int isolateid) {
-		// augment the current frame with this information. It
-		// should work ok since we only get this message after a
-		// InBreakAtExt message
-		try {
-			DStackContext c = getFrame(0, isolateid);
-			c.setIsolateId(isolateid);
-		} catch (Exception e) {
-			if (Trace.error) {
-				Trace.trace("Oh my god, gag me with a spoon...getFrame(0) call failed"); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-		}
-	}
-
-	/**
-	 * Returns whether a given child member should be shown, or should be
-	 * filtered out.
-	 */
-	private boolean showMember(DVariable child) {
-		if (isTraits(child))
-			return false;
-		return true;
-	}
-
-	/**
-	 * Returns whether this is not a variable at all, but is instead a
-	 * representation of a "traits" object. A "traits" object is the Flash
-	 * player's way of describing one class.
-	 */
-	private boolean isTraits(DVariable variable) {
-		Value value = variable.getValue();
-		if (value.getType() == VariableType.UNKNOWN
-				&& Value.TRAITS_TYPE_NAME.equals(value.getTypeName())) {
-			return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Here's where some ugly stuff happens. Since our context contains more
-	 * info than what's contained within the stackcontext, we augment it with
-	 * the variables. Also, we build up a list of variables that appears under
-	 * root, that can be accessed without further qualification; this includes
-	 * args, locals and _global.
-	 */
-	void populateRootNode(DValue frame, ArrayList<DVariable> orderedChildList,
-			int isolateId) {
-		// first populate the stack node with children
-		populateFrame(0, orderedChildList, isolateId);
-
-		/**
-		 * We mark it as members obtained so that we don't go to the player and
-		 * request it, which would be bad, since its our artifical creation.
-		 */
-		DValue base = getOrCreateValue(Value.BASE_ID, isolateId);
-		base.setMembersObtained(true);
-
-		/**
-		 * Technically, we don't need to create the following nodes, but we like
-		 * to give them nice type names
-		 */
-
-		// now let's create a _global node and attach it to base
-	}
-
-	/**
-	 * We are done, so let's look for a number of special variables, since our
-	 * frame comes in 3 pieces. First off is a "this" pointer, followed by a
-	 * "$arguments" dummy node, followed by a "super" which marks the end of the
-	 * arguments.
-	 * 
-	 * All of this stuff gets pulled apart after we build the frame node.
-	 */
-	void populateFrame(int depth, ArrayList<DVariable> frameVars, int isolateId) {
-		// get our stack context
-		DStackContext context = null;
-		boolean inArgs = false;
-		int nArgs = -1;
-		boolean inScopeChain = false;
-
-		// create a root node for each stack frame; first is at BASE_ID
-		DValue root = getOrCreateValue(Value.BASE_ID - depth, isolateId);
-
-		if (depth < getFrameCount(isolateId))
-			context = getFrame(depth, isolateId);
-
-		// trim all current args from this context
-		if (context != null)
-			context.removeAllVariables();
-
-		// use the ordered child list
-		Iterator<DVariable> e = frameVars.iterator();
-		while (e.hasNext()) {
-			DVariable v = e.next();
-			String name = v.getName();
-
-			// let's clear a couple of attributes that may get in our way
-			v.clearAttribute(VariableAttribute.IS_LOCAL);
-			v.clearAttribute(VariableAttribute.IS_ARGUMENT);
-			if (name.equals("this")) //$NON-NLS-1$
-			{
-				if (context != null)
-					context.setThis(v);
-
-				// from our current frame, put a pseudo this entry into the
-				// cache and hang it off base, mark it as an implied arg
-				v.setAttribute(VariableAttribute.IS_ARGUMENT);
-				addVariableMember(root, v, isolateId);
-
-				// also add this variable under THIS_ID
-				if (depth == 0)
-					putValue(Value.THIS_ID, (DValue) v.getValue(), isolateId);
-			} else if (name.equals("super")) //$NON-NLS-1$
-			{
-				// we are at the end of the arg list and let's make super part
-				// of global
-				inArgs = false;
-			} else if (name.equals(ARGUMENTS_MARKER)) {
-				inArgs = true;
-
-				// see if we can extract an arg count from this variable
-				try {
-					nArgs = ((Number) (v.getValue().getValueAsObject()))
-							.intValue();
-				} catch (NumberFormatException nfe) {
-				}
-			} else if (name.equals(SCOPE_CHAIN_MARKER)) {
-				inArgs = false;
-				inScopeChain = true;
-			} else {
-				// add it to our root, marking it as an arg if we know,
-				// otherwise local
-				if (inArgs) {
-					v.setAttribute(VariableAttribute.IS_ARGUMENT);
-
-					if (context != null)
-						context.addArgument(v);
-
-					// decrement arg count if we have it
-					if (nArgs > -1) {
-						if (--nArgs <= 0)
-							inArgs = false;
-					}
-				} else if (inScopeChain) {
-					if (context != null)
-						context.addScopeChainEntry(v);
-				} else {
-					v.setAttribute(VariableAttribute.IS_LOCAL);
-					if (context != null)
-						context.addLocal(v);
-				}
-
-				// add locals and arguments to root
-				if (!inScopeChain)
-					addVariableMember(root, v, isolateId);
-			}
-		}
-	}
-
-	/**
-	 * Map DMessage / Player attributes to VariableAttributes
-	 */
-	int toAttributes(int pAttr) {
-		int attr = pAttr; /* 1-1 mapping */
-		return attr;
-	}
-
-	DVariable extractVariable(DMessage msg) {
-		DVariable v = extractVariable(msg, msg.getString());
-		return v;
-	}
-
-	/**
-	 * Build a variable based on the information we can extract from the
-	 * messsage
-	 */
-	DVariable extractVariable(DMessage msg, String name) {
-		int oType = msg.getWord();
-		int flags = (int) msg.getDWord();
-		return extractAtom(msg, name, oType, flags);
-	}
-
-	/**
-	 * Extracts an builds a register variable
-	 */
-	DVariable extractRegister(DMessage msg, int number) {
-		int oType = msg.getWord();
-		return extractAtom(msg, "$" + number, oType, 0); //$NON-NLS-1$
-	}
-
-	/**
-	 * Does the job of pulling together a variable based on the type of object
-	 * encountered.
-	 */
-	DVariable extractAtom(DMessage msg, String name, int oType, int flags) {
-		int vType = VariableType.UNKNOWN;
-		Object value = null;
-		String typeName = ""; //$NON-NLS-1$
-		String className = ""; //$NON-NLS-1$
-		boolean isPrimitive = false;
-
-		/* now we vary depending upon type */
-		switch (oType) {
-		case DMessage.kNumberType: {
-			String s = msg.getString();
-			double dval = Double.NaN;
-			try {
-				dval = Double.parseDouble(s);
-			} catch (NumberFormatException nfe) {
-			}
-
-			value = new Double(dval);
-			isPrimitive = true;
-			break;
-		}
-
-		case DMessage.kBooleanType: {
-			int bval = msg.getByte();
-			value = new Boolean((bval == 0) ? false : true);
-			isPrimitive = true;
-			break;
-		}
-
-		case DMessage.kStringType: {
-			String s = msg.getString();
-
-			value = s;
-			isPrimitive = true;
-			break;
-		}
-
-		case DMessage.kObjectType:
-		case DMessage.kNamespaceType: {
-			long oid = msg.getPtr();
-			long cType = (oid == -1) ? 0 : msg.getDWord();
-			int isFnc = (oid == -1) ? 0 : msg.getWord();
-			int rsvd = (oid == -1) ? 0 : msg.getWord();
-			typeName = (oid == -1) ? "" : msg.getString(); //$NON-NLS-1$
-			/* anirudhs: Date fix for expression evaluation */
-			/* Player 10.2 onwards, the typename for Date comes
-			 * as <dateformat>@oid where example of date format is:
-			 * <Tue Feb 7 15:41:16 GMT+0530 2012>
-			 * We have to fix the typename to how it originally
-			 * appeared prior to this bug which is Date@oid.
-			 * Note that even player 9 did not send oType as 11,
-			 * instead oType was Object where as typeName was Date.
-			 * What the customer sees is expression evaluation will
-			 * always try to interpret date as a number. (ECMA.defaultValue
-			 * has a check for preferredType of Date to be String) 
-			 */
-			if (typeName.startsWith("<")) { //$NON-NLS-1$
-				int atIndex = typeName.indexOf('@');
-				String dateVal = typeName;
-				if (atIndex > -1) {
-					dateVal = typeName.substring(0, atIndex);
-				}
-				SimpleDateFormat dFormat = new SimpleDateFormat("<EEE MMM d HH:mm:ss 'GMT'z yyyy>"); //$NON-NLS-1$
-				try {
-					Date dateObj = dFormat.parse(dateVal);
-					if (dateObj != null && dateObj.getTime() != 0) {
-						oType = DMessage.kDateType;
-						typeName = "Date" + typeName.substring(atIndex); //$NON-NLS-1$
-					}
-				}
-				catch (ParseException e) {
-					//ignore
-				}
-			}
-			
-			className = DVariable.classNameFor(cType, false);
-			value = new Long(oid);
-			vType = (isFnc == 0) ? VariableType.OBJECT : VariableType.FUNCTION;
-			break;
-		}
-
-		case DMessage.kMovieClipType: {
-			long oid = msg.getPtr();
-			long cType = (oid == -1) ? 0 : msg.getDWord();
-			long rsvd = (oid == -1) ? 0 : msg.getDWord();
-			typeName = (oid == -1) ? "" : msg.getString(); //$NON-NLS-1$
-			className = DVariable.classNameFor(cType, true);
-
-			value = new Long(oid);
-			vType = VariableType.MOVIECLIP;
-			break;
-		}
-
-		case DMessage.kNullType: {
-			value = null;
-			isPrimitive = true;
-			break;
-		}
-
-		case DMessage.kUndefinedType: {
-			value = Value.UNDEFINED;
-			isPrimitive = true;
-			break;
-		}
-
-		case DMessage.kTraitsType: {
-			// This one is special: When passed to the debugger, it indicates
-			// that the "variable" is not a variable at all, but rather is a
-			// class name. For example, if class Y extends class X, then
-			// we will send a kDTypeTraits for class Y; then we'll send all the
-			// members of class Y; then we'll send a kDTypeTraits for class X;
-			// and then we'll send all the members of class X. This is only
-			// used by the AVM+ debugger.
-			vType = VariableType.UNKNOWN;
-			typeName = Value.TRAITS_TYPE_NAME;
-			break;
-		}
-
-		case DMessage.kReferenceType:
-		case DMessage.kArrayType:
-		case DMessage.kObjectEndType:
-		case DMessage.kStrictArrayType:
-		case DMessage.kDateType:
-		case DMessage.kLongStringType:
-		case DMessage.kUnsupportedType:
-		case DMessage.kRecordSetType:
-		case DMessage.kXMLType:
-		case DMessage.kTypedObjectType:
-		case DMessage.kAvmPlusObjectType:
-		default: {
-			// System.out.println("<unknown>");
-			break;
-		}
-		}
-		int isolateId = msg.getTargetIsolate();
-		// create the variable based on the content we received.
-		DValue valueObject = null;
-
-		// If value is a Long, then it is the ID of a non-primitive object;
-		// look up to see if we already have that object in our cache. If
-		// it is already in our cache, then we just want to modify the
-		// existing object with the new values.
-		if (value instanceof Long) {
-			valueObject = getValue(((Long) value).longValue(), isolateId);
-		}
-
-		if (valueObject == null) {
-			// we didn't find it in the cache, so make a new Value
-
-			if (isPrimitive) {
-				valueObject = DValue.forPrimitive(value, isolateId);
-				valueObject.setAttributes(toAttributes(flags));
-			} else {
-				valueObject = new DValue(vType, typeName, className,
-						toAttributes(flags), value, isolateId);
-			}
-
-			if (value instanceof Long
-					&& (toAttributes(flags) & VariableAttribute.HAS_GETTER) == 0)
-				putValue(((Long) value).longValue(), valueObject, isolateId);
-		} else {
-			// we found it in the cache, so just modify the properties
-			// of the old Value
-
-			if (isPrimitive) {
-				// figure out some of the properties
-				DValue temp = DValue.forPrimitive(value, isolateId);
-				vType = temp.getType();
-				typeName = temp.getTypeName();
-				className = temp.getClassName();
-			}
-
-			valueObject.setType(vType);
-			valueObject.setTypeName(typeName);
-			valueObject.setClassName(className);
-			valueObject.setAttributes(toAttributes(flags));
-			valueObject.setValue(value);
-		}
-		if (valueObject != null) {
-			valueObject.setIsolateId(isolateId);
-		}
-		DVariable var = new DVariable(name, valueObject, isolateId);
-		return var;
-	}
-
-	/**
-	 * The player sends us a URI using '|' instead of ':'
-	 */
-	public static String convertToURI(String playerURL) {
-		int index = playerURL.indexOf('|');
-		StringBuilder sb = new StringBuilder(playerURL);
-		while (index > 0) {
-			sb.setCharAt(index, ':');
-			index = playerURL.indexOf('|', index + 1);
-		}
-		return sb.toString();
-	}
-
-	/**
-	 * Tell us that we are about to start executing user code in the player,
-	 * such as a getter, a setter, or a function call. If a FaultEvent comes in
-	 * while the code is executing, it is not added to the event queue in the
-	 * normal way -- instead, it is saved, and is returned when
-	 * endPlayerCodeExecution() is called.
-	 */
-	public void beginPlayerCodeExecution(int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		state.m_executingPlayerCode = true;
-		state.m_faultEventDuringPlayerCodeExecution = null;
-	}
-
-	/**
-	 * Informs us that user code is no longer executing, and returns the fault,
-	 * if any, which occurred while the code was executing.
-	 */
-	public FaultEvent endPlayerCodeExecution(int isolateId) {
-		DManagerIsolateState state = getIsolateState(isolateId);
-		state.m_executingPlayerCode = false;
-		FaultEvent e = state.m_faultEventDuringPlayerCodeExecution;
-		state.m_faultEventDuringPlayerCodeExecution = null;
-		return e;
-	}
-
-	/**
-	 * When we've just received any FaultEvent from the player, this function
-	 * gets called. If a getter/setter is currently executing, we'll save the
-	 * fault for someone to get later by calling endGetterSetter(). Otherwise,
-	 * normal code execution is taking place, so we'll add the event to the
-	 * event queue.
-	 */
-	private void handleFaultEvent(FaultEvent faultEvent) {
-		DManagerIsolateState isolateState = getIsolateState(faultEvent.isolateId);
-		boolean executingPlayerCode = isolateState.m_executingPlayerCode;
-		if (executingPlayerCode) {
-			FaultEvent faultEventDuringPlayerCodeExecution = isolateState.m_faultEventDuringPlayerCodeExecution;
-			
-			if (faultEventDuringPlayerCodeExecution == null) // only save the
-																// first fault
-			{
-				// save the event away so that when someone later calls
-				// endGetterSetter(), we can return the fault that
-				// occurred
-				isolateState.m_faultEventDuringPlayerCodeExecution = faultEvent;
-			}
-		} else {
-			// regular code is running; so post the event to the
-			// event queue which the client debugger will see
-			addEvent(faultEvent);
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see flash.tools.debugger.SourceLocator#locateSource(java.lang.String,
-	 * java.lang.String, java.lang.String)
-	 */
-	public InputStream locateSource(String path, String pkg, String name) {
-		if (m_sourceLocator != null)
-			return m_sourceLocator.locateSource(path, pkg, name);
-
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see flash.tools.debugger.SourceLocator#getChangeCount()
-	 */
-	public int getChangeCount() {
-		if (m_sourceLocator != null)
-			return m_sourceLocator.getChangeCount();
-
-		return 0;
-	}
-
-	/**
-	 * Returns the value of a Flash Player option that was requested by
-	 * OutGetOption and returned by InOption.
-	 * 
-	 * @param optionName
-	 *            the name of the option
-	 * @return its value, or null
-	 */
-	public String getOption(String optionName) {
-		return m_options.get(optionName);
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessage.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessage.java
deleted file mode 100644
index a0658a5..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessage.java
+++ /dev/null
@@ -1,1016 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.lang.ArrayIndexOutOfBoundsException;
-import java.io.UnsupportedEncodingException;
-
-import flash.tools.debugger.Isolate;
-import flash.util.FieldFormat;
-import flash.util.Trace;
-
-/**
- * DMessage.java
- *
- *    Wraps the contents of a specific message and provides a set of APIs that allow for
- *    typed extraction of fields within the message.
- *
- *    No interpretation of the messages contents is performed, this is left to the
- *    user of this class.  The code was constructed in this fashion, so that it more
- *    closely mimics the DataReader/DataWriter classes used in the Player code.
- *
- *    The type of the message should be one of the InXXX or OutXXX constant integers,
- *    but no checking of conformance is provided in this class.
- */
-public class DMessage
-{
-	/**
-     * This set of constants defines the message types RECEIVED from the player
-	 * through our debug socket
-	 */
-	public static final int InUnknown					= -1;
-	public static final int InSetMenuState				=  0;
-	public static final int InSetProperty				=  1;
-	public static final int InExit						=  2;
-	public static final int InNewObject					=  3;
-	public static final int InRemoveObject				=  4;
-	public static final int InTrace						=  5;
-	public static final int InErrorTarget				=  6;
-	public static final int InErrorExecLimit			=  7;
-	public static final int InErrorWith					=  8;
-	public static final int InErrorProtoLimit			=  9;
-	public static final int InSetVariable				= 10;
-	public static final int InDeleteVariable			= 11;
-	public static final int InParam						= 12;
-	public static final int InPlaceObject				= 13;
-	public static final int InScript					= 14;
-	public static final int InAskBreakpoints			= 15;
-	public static final int InBreakAt					= 16;
-	public static final int InContinue					= 17;
-	public static final int InSetLocalVariables			= 18;
-	public static final int InSetBreakpoint				= 19;
-	public static final int InNumScript					= 20;
-	public static final int InRemoveScript				= 21;
-	public static final int InRemoveBreakpoint			= 22;
-	public static final int InNotSynced					= 23;
-	public static final int InErrorURLOpen				= 24;
-	public static final int InProcessTag				= 25;
-	public static final int InVersion					= 26;
-	public static final int InBreakAtExt				= 27;
-	public static final int InSetVariable2				= 28;
-	public static final int InSquelch					= 29;
-	public static final int InGetVariable				= 30;
-	public static final int InFrame						= 31;
-	public static final int InOption					= 32;
-    public static final int InWatch						= 33;
-    public static final int InGetSwf					= 34;
-    public static final int InGetSwd					= 35;
-	public static final int InErrorException			= 36;
-	public static final int InErrorStackUnderflow		= 37;
-	public static final int InErrorZeroDivide			= 38;
-	public static final int InErrorScriptStuck			= 39;
-	public static final int InBreakReason				= 40;
-	public static final int InGetActions				= 41;
-	public static final int InSwfInfo					= 42;
-	public static final int InConstantPool				= 43;
-	public static final int InErrorConsole				= 44;
-    public static final int InGetFncNames				= 45;
-	// 46 through 52 are for profiling
-    public static final int InCallFunction				= 54;
-    public static final int InWatch2					= 55;
-    public static final int InPassAllExceptionsToDebugger = 56;
-    public static final int InBinaryOp					= 57;
-    public static final int InIsolateCreate				= 58;
-    public static final int InIsolateExit   			= 59;
-    public static final int InIsolateEnumerate			= 60;
-    public static final int InSetActiveIsolate			= 61;
-    public static final int InIsolate			        = 62;
-    public static final int InSetExceptionBreakpoint	= 63;
-    public static final int InRemoveExceptionBreakpoint	= 64;
-    // If you add another message here, adjust the following line
-    // and add a new case to the inTypeName() method below.
-	public static final int InSIZE						= InRemoveExceptionBreakpoint + 1;	 /* last ID used +1 */
-
-	/**
-	 * This set of constants defines the message types SENT to the player from our
-     * debug socket (WARNING: ID space overlaps with InXXX)
-	 */
-	public static final int OutUnknown					= -2;
-	public static final int OutZoomIn					=  0;
-	public static final int OutZoomOut					=  1;
-	public static final int OutZoom100					=  2;
-	public static final int OutHome						=  3;
-	public static final int OutSetQuality				=  4;
-	public static final int OutPlay						=  5;
-	public static final int OutLoop						=  6;
-	public static final int OutRewind					=  7;
-	public static final int OutForward					=  8;
-	public static final int OutBack						=  9;
-	public static final int OutPrint					= 10;
-	public static final int OutSetVariable				= 11;
-	public static final int OutSetProperty				= 12;
-	public static final int OutExit						= 13;
-	public static final int OutSetFocus					= 14;
-	public static final int OutContinue					= 15;
-	public static final int OutStopDebug				= 16;
-	public static final int OutSetBreakpoints			= 17;
-	public static final int OutRemoveBreakpoints		= 18;
-	public static final int OutRemoveAllBreakpoints		= 19;
-	public static final int OutStepOver					= 20;
-	public static final int OutStepInto					= 21;
-	public static final int OutStepOut					= 22;
-	public static final int OutProcessedTag				= 23;
-	public static final int OutSetSquelch				= 24;
-	public static final int OutGetVariable				= 25;
-	public static final int OutGetFrame					= 26;
-	public static final int OutGetOption				= 27;
-	public static final int OutSetOption				= 28;
-	public static final int OutAddWatch					= 29; // 16-bit id; used for as2
-	public static final int OutRemoveWatch				= 30; // 16-bit id; used for as2
-    public static final int OutStepContinue				= 31;
-    public static final int OutGetSwf				    = 32;
-    public static final int OutGetSwd				    = 33;
-	public static final int OutGetVariableWhichInvokesGetter = 34;
-	public static final int OutGetBreakReason			= 35;
-	public static final int OutGetActions				= 36;
-	public static final int OutSetActions				= 37;
-	public static final int OutSwfInfo					= 38;
-	public static final int OutConstantPool				= 39;
-    public static final int OutGetFncNames              = 40;
-	// 41 through 47 are for profiling
-    public static final int OutCallFunction				= 48;
-    public static final int OutAddWatch2				= 49; // 32-bit id; used for as3
-    public static final int OutRemoveWatch2				= 50; // 32-bit id; used for as3
-    public static final int OutPassAllExceptionsToDebugger = 51;
-    public static final int OutBinaryOp					= 52;
-    public static final int OutIsolateEnumerate			= 53;
-    public static final int OutSetActiveIsolate         = 54;
-    public static final int OutSetExceptionBreakpoint   = 55;
-    public static final int OutRemoveExceptionBreakpoint= 56;
-    // If you add another message here, adjust the following line
-    // and add a new case to the outTypeName() method below.
-	public static final int OutSIZE						= OutRemoveExceptionBreakpoint + 1;	 /* last ID used +1 */
-
-	/**
-	 * Enums originally extracted from shared_tcserver/tcparser.h; these correspond
-	 * to Flash player values that are currently in playerdebugger.h, class DebugAtomType.
-	 */
-	public static final int kNumberType			= 0;
-	public static final int kBooleanType		= 1;
-	public static final int kStringType			= 2;
-	public static final int kObjectType			= 3;
-	public static final int kMovieClipType		= 4;
-	public static final int kNullType			= 5;
-	public static final int kUndefinedType		= 6;
-	public static final int kReferenceType		= 7;
-	public static final int kArrayType			= 8;
-	public static final int kObjectEndType		= 9;
-	public static final int kStrictArrayType	= 10;
-	public static final int kDateType			= 11;
-	public static final int kLongStringType		= 12;
-	public static final int kUnsupportedType	= 13;
-	public static final int kRecordSetType		= 14;
-	public static final int kXMLType			= 15;
-	public static final int kTypedObjectType	= 16;
-	public static final int kAvmPlusObjectType	= 17;
-	public static final int kNamespaceType		= 18;
-	public static final int kTraitsType			= 19;	// This one is special: When passed to the debugger, it indicates
-														// that the "variable" is not a variable at all, but rather is a
-														// class name.  For example, if class Y extends class X, then
-														// we will send a kDTypeTraits for class Y; then we'll send all the
-														// members of class Y; then we'll send a kDTypeTraits for class X;
-														// and then we'll send all the members of class X.  This is only
-														// used by the AVM+ debugger.
-
-	/* byte array of our message and current index into it */
-	byte[] m_content;	/* the data bytes of the message */
-	int	   m_index;		/* current position within the content array */
-	int    m_type;		/* one of OutXXX or InXXX integer constants */
-
-	/**
-	 * Pointer size (in bytes) expected by the Flash player; either
-	 * 4 for the 32-bit player, or 8 for the 64-bit player.
-	 */
-	private static int m_sizeofPtr;
-
-	/* Debugging only: The contents of this message, formatted as a string for display */
-	private StringBuilder m_debugFormatted;
-	/* Debugging only: The number of bytes from the input that we have formatted into m_debugFormatted */
-	private int m_debugFormattedThroughIndex;
-
-	private int m_targetIsolate;
-	
-	/* used by our cache to create empty DMessages */
-	public DMessage(int size)
-	{
-		m_content = new byte[size];
-		m_debugFormatted = new StringBuilder();
-		m_debugFormattedThroughIndex = 0;
-		m_targetIsolate = Isolate.DEFAULT_ID;
-		clear();
-	}
-
-	/* getters/setters */
-	public int    getType()				{ return m_type; }
-	public String getInTypeName()		{ return inTypeName(getType()); }
-	public String getOutTypeName()		{ return outTypeName(getType()); }
-	public byte[] getData()				{ return m_content; }
-	public int    getSize()				{ return (m_content == null) ? 0 : m_content.length; }
-	public int    getRemaining()		{ return getSize()-m_index; }
-	public int    getPosition()			{ return m_index; }
-	public int getTargetIsolate()      { return m_targetIsolate; }
-	public void   setType(int t)		{ m_type = t; }
-	public void setTargetIsolate(int id) {m_targetIsolate = id;}
-
-	/**
-	 * Gets pointer size (in bytes) expected by the Flash player; either
-	 * 4 for the 32-bit player, or 8 for the 64-bit player.
-	 */
-	public static int getSizeofPtr()
-	{
-		assert m_sizeofPtr != 0;
-		return m_sizeofPtr;
-	}
-
-	/**
-	 * Sets pointer size (in bytes) expected by the Flash player; either
-	 * 4 for the 32-bit player, or 8 for the 64-bit player.
-	 */
-	public static void setSizeofPtr(int size)
-	{
-		assert size != 0;
-		m_sizeofPtr = size;
-	}
-
-	/**
-	 * Allow the message to be 're-parsed' by someone else
-	 */
-	public void reset()
-	{
-		m_index = 0;
-	}
-
-	/**
-	 * Allow the message to be reused later
-	 */
-	public void clear()
-	{
-		setType(-1);
-		setTargetIsolate(Isolate.DEFAULT_ID);
-		m_debugFormatted.setLength(0);
-		m_debugFormattedThroughIndex = 0;
-		reset();
-	}
-
-	private long get(int bytes) throws ArrayIndexOutOfBoundsException
-	{
-		if (m_index+bytes > m_content.length)
-			throw new ArrayIndexOutOfBoundsException(m_content.length-m_index+" < "+bytes); //$NON-NLS-1$
-
-		long value = 0;
-		for (int i=0; i<bytes; ++i) {
-			long byteValue = m_content[m_index++] & 0xff;
-			long byteValueShifted = byteValue << (8*i);
-			value |= byteValueShifted;
-		}
-
-		debugAppendNumber(value, bytes);
-		return value;
-	}
-
-	/**
-	 * Extract the next byte
-	 */
-	public int getByte() throws ArrayIndexOutOfBoundsException
-	{
-		return (int) get(1);
-	}
-
- 	/**
-	 * Extract the next 2 bytes, which form a 16b integer, from the message
-	 */
-	public int getWord() throws ArrayIndexOutOfBoundsException
-	{
-		return (int) get(2);
-	}
-
-	/**
-	 * Extract the next 4 bytes, which form a 32b integer, from the message
-	 */
-	public long getDWord() throws ArrayIndexOutOfBoundsException
-	{
-		return get(4);
-	}
-
-	/**
-	 * Extract the next 8 bytes, which form a 64b integer, from the message
-	 */
-	public long getLong() throws ArrayIndexOutOfBoundsException
-	{
-		return get(8);
-	}
-
-	/**
-	 * Extract a pointer from the message -- either 8 bytes or 4 bytes,
-	 * depending on how big pointers are in the target Flash player
-	 */
-	public long getPtr() throws ArrayIndexOutOfBoundsException
-	{
-		return get(getSizeofPtr());
-	}
-
-	/**
-	 * Heart wrenchingly slow but since we don't have a length so we can't
-	 * do much better
-	 */
-	public String getString() throws ArrayIndexOutOfBoundsException
-	{
-		int startAt = m_index;
-		boolean done = false;
-
-		/* scan looking for a terminating null */
-		while(!done)
-		{
-		    int ch = m_content[m_index++];
-			if (ch == 0)
-				done = true;
-			else if (m_index > m_content.length)
-				throw new ArrayIndexOutOfBoundsException("no string terminator found @"+m_index); //$NON-NLS-1$
-		}
-
-		/* build a new string and return it */
-		String s;
-		try
-		{
-			// The player uses UTF-8
-			s = new String(m_content, startAt, m_index-startAt-1, "UTF-8"); //$NON-NLS-1$
-		}
-		catch(UnsupportedEncodingException uee)
-		{
-			// couldn't convert so let's try the default
-			s = new String(m_content, startAt, m_index-startAt-1);
-		}
-		debugAppendString(s);
-		return s;
-	}
-
-	/**
-	 * Appends a number to the end of the message
-	 * @param val the number
-	 * @param bytes how many bytes should be written
-	 */
-	public void put(long val, int bytes) throws ArrayIndexOutOfBoundsException
-	{
-		if (m_index+bytes > m_content.length)
-			throw new ArrayIndexOutOfBoundsException(m_content.length-m_index+" < "+bytes); //$NON-NLS-1$
-
-		for (int i=0; i<bytes; ++i)
-			m_content[m_index++] = (byte)(val >> 8*i);
-
-		debugAppendNumber(val, bytes);
-	}
-
-	/**
-	 * Appends a byte to the end of the message
-	 */
-	public void putByte(byte val) throws ArrayIndexOutOfBoundsException
-	{
-		put(val, 1);
-	}
-
-	/**
-	 * Appends 2 bytes, which form a 16b integer, into the message
-	 */
-	public void putWord(int val) throws ArrayIndexOutOfBoundsException
-	{
-		put(val, 2);
-	}
-
-	/**
-	 * Appends 4 bytes, which form a 32b integer, into the message
-	 */
-	public void putDWord(int val) throws ArrayIndexOutOfBoundsException
-	{
-		put(val, 4);
-	}
-
-	/**
-	 * Appends 8 bytes, which form a 64b integer, into the message
-	 */
-	public void putLong(long val) throws ArrayIndexOutOfBoundsException
-	{
-		put(val, 8);
-	}
-
-	/**
-	 * Appends a pointer into the message -- either 8 bytes or 4 bytes,
-	 * depending on how big pointers are in the target Flash player
-	 */
-	public void putPtr(long val) throws ArrayIndexOutOfBoundsException
-	{
-		put(val, getSizeofPtr());
-	}
-
-	/**
-	 * Helper to get the number of bytes that a string will need when it is sent
-	 * across the socket to the Flash player.  Do *not* use string.length(),
-	 * because that will return an incorrect result for strings that have non-
-	 * ASCII characters.
-	 */
-	public static int getStringLength(String s)
-	{
-		try
-		{
-			return s.getBytes("UTF-8").length; //$NON-NLS-1$
-		}
-		catch (UnsupportedEncodingException e)
-		{
-			if (Trace.error) Trace.trace(e.toString());
-			return 0;
-		}
-	}
-
-	/**
-	 * Place a string into the message (using UTF-8 encoding)
-	 */
-	public void putString(String s) throws ArrayIndexOutOfBoundsException, UnsupportedEncodingException
-	{
-		/* convert the string into a byte array */
-		byte[] bytes = s.getBytes("UTF-8"); //$NON-NLS-1$
-		int length = bytes.length;
-		int endAt = m_index + length + 1;
-
-		if (endAt > m_content.length)
-			throw new ArrayIndexOutOfBoundsException(endAt+" > "+m_content.length); //$NON-NLS-1$
-
-		/* copy the string as a byte array */
-		System.arraycopy(bytes, 0, m_content, m_index, length);
-		m_index += length;
-
-		/* now the null terminator */
-		m_content[m_index++] = '\0';
-		
-		debugAppendString(s);
-	}
-
-	// Debugging helper function: we've parsed a number out of the stream of input bytes,
-	// so record that as a hex number of the appropriate length, e.g. "0x12" or "0x1234"
-	// or "0x12345678", depending on numBytes.
-	private void debugAppendNumber(long value, int numBytes)
-	{
-		if (PlayerSession.m_debugMsgOn || PlayerSession.m_debugMsgFileOn)
-		{
-			StringBuilder sb = new StringBuilder();
-			sb.append("0x"); //$NON-NLS-1$
-			FieldFormat.formatLongToHex(sb, value, numBytes * 2, true);
-			debugAppend(sb.toString());
-		}
-	}
-
-	// Debugging helper function: we've parsed a string out of the stream of input bytes,
-	// so record it as a quoted string in the formatted debugging output.
-	private void debugAppendString(String s)
-	{
-		if (PlayerSession.m_debugMsgOn || PlayerSession.m_debugMsgFileOn)
-			debugAppend('"' + s + '"');
-	}
-
-	// Debugging helper function: append a string to the formatted debugging output.
-	private void debugAppend(String s)
-	{
-		if (PlayerSession.m_debugMsgOn || PlayerSession.m_debugMsgFileOn)
-		{
-			if (m_index > m_debugFormattedThroughIndex)
-			{
-				m_debugFormattedThroughIndex = m_index;
-				if (m_debugFormatted.length() > 0)
-					m_debugFormatted.append(' ');
-				m_debugFormatted.append(s);
-			}
-		}
-	}
-
-	public String inToString() { return inToString(16); }
-
-	public String inToString(int maxContentBytes)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append(getInTypeName());
-		sb.append('[');
-		sb.append(getSize());
-		sb.append("] "); //$NON-NLS-1$
-		if (getSize() > 0)
-			appendContent(sb, maxContentBytes);
-
-		return sb.toString();
-	}
-
-	public String outToString() { return outToString(16); }
-
-	public String outToString(int maxContentBytes)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append(getOutTypeName());
-		sb.append('[');
-		sb.append(getSize());
-		sb.append("] "); //$NON-NLS-1$
-		if (getSize() > 0)
-			appendContent(sb, maxContentBytes);
-
-		return sb.toString();
-	}
-
-	public StringBuilder appendContent(StringBuilder sb, int max)
-	{
-		int size = getSize();
-		byte[] data = getData();
-		int i = 0;
-
-		// First, output formatted content -- content for which some of the other functions
-		// in this class, such as getDWord and getString, did formatting.
-		sb.append(m_debugFormatted);
-
-		// Now, for any left-over bytes which no one bothered to parse, output them as hex. 
-		for(i=0; i<max && i+m_debugFormattedThroughIndex<size; i++)
-		{
-			int v = data[i+m_debugFormattedThroughIndex] & 0xff;
-			sb.append(" 0x"); //$NON-NLS-1$
-			FieldFormat.formatLongToHex(sb, v, 2, true);
-		}
-
-		if (i+m_debugFormattedThroughIndex < size)
-			sb.append(" ..."); //$NON-NLS-1$
-
-		return sb;
-	}
-
-	/**
-	 * Convenience function for converting a type into a name used mainly for debugging
-	 * but can also be used during trace facility of command line session
-	 */
-	public static String inTypeName(int type)
-	{
-        String s = "InUnknown(" + type + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		switch(type)
-		{
-			case InSetMenuState:
-				s = "InSetMenuState"; //$NON-NLS-1$
-				break;
-
-			case InSetProperty:
-				s = "InSetProperty"; //$NON-NLS-1$
-				break;
-
-			case InExit:
-				s = "InExit"; //$NON-NLS-1$
-				break;
-
-			case InNewObject:
-				s = "InNewObject"; //$NON-NLS-1$
-				break;
-
-			case InRemoveObject:
-				s = "InRemoveObject"; //$NON-NLS-1$
-				break;
-
-		    case InTrace:
-				s = "InTrace"; //$NON-NLS-1$
-				break;
-
-			case InErrorTarget:
-				s = "InErrorTarget"; //$NON-NLS-1$
-				break;
-
-			case InErrorExecLimit:
-				s = "InErrorExecLimit"; //$NON-NLS-1$
-				break;
-
-			case InErrorWith:
-				s = "InErrorWith"; //$NON-NLS-1$
-				break;
-
-			case InErrorProtoLimit:
-				s = "InErrorProtoLimit"; //$NON-NLS-1$
-				break;
-
-			case InSetVariable:
-				s = "InSetVariable"; //$NON-NLS-1$
-				break;
-
-			case InDeleteVariable:
-				s = "InDeleteVariable"; //$NON-NLS-1$
-				break;
-
-			case InParam:
-				s = "InParam"; //$NON-NLS-1$
-				break;
-
-			case InPlaceObject:
-				s = "InPlaceObject"; //$NON-NLS-1$
-				break;
-
-			case InScript:
-				s = "InScript"; //$NON-NLS-1$
-				break;
-
-			case InAskBreakpoints:
-				s = "InAskBreakpoints"; //$NON-NLS-1$
-				break;
-
-			case InBreakAt:
-				s = "InBreakAt"; //$NON-NLS-1$
-				break;
-
-			case InContinue:
-				s = "InContinue"; //$NON-NLS-1$
-				break;
-
-			case InSetLocalVariables:
-				s = "InSetLocalVariables"; //$NON-NLS-1$
-				break;
-
-			case InSetBreakpoint:
-				s = "InSetBreakpoint"; //$NON-NLS-1$
-				break;
-
-			case InNumScript:
-				s = "InNumScript"; //$NON-NLS-1$
-				break;
-
-			case InRemoveScript:
-				s = "InRemoveScript"; //$NON-NLS-1$
-				break;
-
-			case InRemoveBreakpoint:
-				s = "InRemoveBreakpoint"; //$NON-NLS-1$
-				break;
-
-			case InNotSynced:
-				s = "InNotSynced"; //$NON-NLS-1$
-				break;
-
-			case InErrorURLOpen:
-				s = "InErrorURLOpen"; //$NON-NLS-1$
-				break;
-
-			case InProcessTag:
-				s = "InProcessTag"; //$NON-NLS-1$
-				break;
-
-			case InVersion:
-				s = "InVersion"; //$NON-NLS-1$
-				break;
-
-			case InBreakAtExt:
-				s = "InBreakAtExt"; //$NON-NLS-1$
-				break;
-
-			case InSetVariable2:
-				s = "InSetVariable2"; //$NON-NLS-1$
-				break;
-
-			case InSquelch:
-				s = "InSquelch"; //$NON-NLS-1$
-				break;
-
-			case InGetVariable:
-				s = "InGetVariable"; //$NON-NLS-1$
-				break;
-
-			case InFrame:
-				s = "InFrame"; //$NON-NLS-1$
-				break;
-
-			case InOption:
-				s = "InOption"; //$NON-NLS-1$
-				break;
-
-			case InWatch:
-				s = "InWatch"; //$NON-NLS-1$
-				break;
-
-			case InGetSwf:
-				s = "InGetSwf"; //$NON-NLS-1$
-				break;
-
-			case InGetSwd:
-				s = "InGetSwd"; //$NON-NLS-1$
-				break;
-
-			case InErrorException:
-				s = "InErrorException"; //$NON-NLS-1$
-				break;
-
-			case InErrorStackUnderflow:
-				s = "InErrorStackUnderflow"; //$NON-NLS-1$
-				break;
-
-			case InErrorZeroDivide:
-				s = "InErrorZeroDivide"; //$NON-NLS-1$
-				break;
-
-			case InErrorScriptStuck:
-				s = "InErrorScriptStuck"; //$NON-NLS-1$
-				break;
-
-			case InBreakReason:
-				s = "InBreakReason"; //$NON-NLS-1$
-				break;
-
-			case InGetActions:
-				s = "InGetActions"; //$NON-NLS-1$
-				break;
-
-			case InSwfInfo:
-				s = "InSwfInfo"; //$NON-NLS-1$
-				break;
-
-			case InConstantPool:
-				s = "InConstantPool"; //$NON-NLS-1$
-				break;
-
-			case InErrorConsole:
-				s = "InErrorConsole"; //$NON-NLS-1$
-				break;
-
-            case InGetFncNames:
-                s = "InGetFncNames"; //$NON-NLS-1$
-                break;
-                
-            case InCallFunction:
-            	s = "InCallFunction"; //$NON-NLS-1$
-            	break;
-            	
-            case InWatch2:
-            	s = "InWatch2"; //$NON-NLS-1$
-            	break;
-
-            case InPassAllExceptionsToDebugger:
-            	s = "InPassAllExceptionsToDebugger"; //$NON-NLS-1$
-            	break;
-
-            case InBinaryOp:
-            	s = "InBinaryOp"; //$NON-NLS-1$
-            	break;
-            	
-            case InIsolateCreate:
-            	s = "InIsolateCreate"; //$NON-NLS-1$
-            	break;
-            	
-            case InIsolateExit:
-            	s = "InIsolateExit"; //$NON-NLS-1$
-            	break;
-            	
-            case InIsolateEnumerate:
-            	s = "InIsolateEnumerate"; //$NON-NLS-1$
-            	break;
-            	
-            case InSetActiveIsolate:
-            	s = "InSetActiveIsolate"; //$NON-NLS-1$
-            	break;
-            	
-            case InIsolate:
-            	s = "InIsolate"; //$NON-NLS-1$
-            	break;
-            	
-            case InSetExceptionBreakpoint:
-            	s = "InSetExceptionBreakpoint"; //$NON-NLS-1$
-            	break;
-            	
-            case InRemoveExceptionBreakpoint:
-            	s = "InRemoveExceptionBreakpoint"; //$NON-NLS-1$
-            	break;
-		}
-		return s;
-	}
-
-	/**
-	 * Convenience function for converting a type into a name used mainly for debugging
-	 * but can also be used during trace facility of command line session
-	 */
-	public static String outTypeName(int type)
-	{
-		String s = "OutUnknown(" + type + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		switch(type)
-		{
-			case OutZoomIn:
-				s = "OutZoomIn"; //$NON-NLS-1$
-				break;
-
-			case OutZoomOut:
-				s = "OutZoomOut"; //$NON-NLS-1$
-				break;
-
-			case OutZoom100:
-				s = "OutZoom100"; //$NON-NLS-1$
-				break;
-
-			case OutHome:
-				s = "OutHome"; //$NON-NLS-1$
-				break;
-
-			case OutSetQuality:
-				s = "OutSetQuality"; //$NON-NLS-1$
-				break;
-
-			case OutPlay:
-				s = "OutPlay"; //$NON-NLS-1$
-				break;
-
-			case OutLoop:
-				s = "OutLoop"; //$NON-NLS-1$
-				break;
-
-			case OutRewind:
-				s = "OutRewind"; //$NON-NLS-1$
-				break;
-
-			case OutForward:
-				s = "OutForward"; //$NON-NLS-1$
-				break;
-
-			case OutBack:
-				s = "OutBack"; //$NON-NLS-1$
-				break;
-
-			case OutPrint:
-				s = "OutPrint"; //$NON-NLS-1$
-				break;
-
-			case OutSetVariable:
-				s = "OutSetVariable"; //$NON-NLS-1$
-				break;
-
-			case OutSetProperty:
-				s = "OutSetProperty"; //$NON-NLS-1$
-				break;
-
-			case OutExit:
-				s = "OutExit"; //$NON-NLS-1$
-				break;
-
-			case OutSetFocus:
-				s = "OutSetFocus"; //$NON-NLS-1$
-				break;
-
-			case OutContinue:
-				s = "OutContinue"; //$NON-NLS-1$
-				break;
-
-			case OutStopDebug:
-				s = "OutStopDebug"; //$NON-NLS-1$
-				break;
-
-			case OutSetBreakpoints:
-				s = "OutSetBreakpoints"; //$NON-NLS-1$
-				break;
-
-			case OutRemoveBreakpoints:
-				s = "OutRemoveBreakpoints"; //$NON-NLS-1$
-				break;
-
-			case OutRemoveAllBreakpoints:
-				s = "OutRemoveAllBreakpoints"; //$NON-NLS-1$
-				break;
-
-			case OutStepOver:
-				s = "OutStepOver"; //$NON-NLS-1$
-				break;
-
-			case OutStepInto:
-				s = "OutStepInto"; //$NON-NLS-1$
-				break;
-
-			case OutStepOut:
-				s = "OutStepOut"; //$NON-NLS-1$
-				break;
-
-			case OutProcessedTag:
-				s = "OutProcessedTag"; //$NON-NLS-1$
-				break;
-
-			case OutSetSquelch:
-				s = "OutSetSquelch"; //$NON-NLS-1$
-				break;
-
-			case OutGetVariable:
-				s = "OutGetVariable"; //$NON-NLS-1$
-				break;
-
-			case OutGetFrame:
-				s = "OutGetFrame"; //$NON-NLS-1$
-				break;
-
-			case OutGetOption:
-				s = "OutGetOption"; //$NON-NLS-1$
-				break;
-
-			case OutSetOption:
-				s = "OutSetOption"; //$NON-NLS-1$
-				break;
-
-			case OutAddWatch:
-				s = "OutAddWatch"; //$NON-NLS-1$
-				break;
-
-			case OutRemoveWatch:
-				s = "OutRemoveWatch"; //$NON-NLS-1$
-				break;
-
-			case OutStepContinue:
-				s = "OutStepContinue"; //$NON-NLS-1$
-				break;
-
-			case OutGetSwf:
-				s = "OutGetSwf"; //$NON-NLS-1$
-				break;
-
-			case OutGetSwd:
-				s = "OutGetSwd"; //$NON-NLS-1$
-				break;
-
-			case OutGetVariableWhichInvokesGetter:
-				s = "OutGetVariableWhichInvokesGetter"; //$NON-NLS-1$
-				break;
-
-			case OutGetBreakReason:
-				s = "OutGetBreakReason"; //$NON-NLS-1$
-				break;
-
-			case OutGetActions:
-				s = "OutGetActions"; //$NON-NLS-1$
-				break;
-
-			case OutSetActions:
-				s = "OutSetActions"; //$NON-NLS-1$
-				break;
-
-			case OutSwfInfo:
-				s = "OutSwfInfo"; //$NON-NLS-1$
-				break;
-
-			case OutConstantPool:
-				s = "OutConstantPool"; //$NON-NLS-1$
-				break;
-
-            case OutGetFncNames:
-                s = "OutGetFncNames"; //$NON-NLS-1$
-                break;
-
-            case OutCallFunction:
-            	s = "OutCallFunction"; //$NON-NLS-1$
-            	break;
-            	
-            case OutAddWatch2:
-            	s = "OutAddWatch2"; //$NON-NLS-1$
-            	break;
-            	
-            case OutRemoveWatch2:
-            	s = "OutRemoveWatch2"; //$NON-NLS-1$
-            	break;
-
-            case OutPassAllExceptionsToDebugger:
-            	s = "OutPassAllExceptionsToDebugger"; //$NON-NLS-1$
-            	break;
-
-            case OutBinaryOp:
-            	s = "OutBinaryOp"; //$NON-NLS-1$
-            	break;
-            	
-            case OutIsolateEnumerate:
-            	s = "OutIsolateEnumerate"; //$NON-NLS-1$
-            	break;
-            	
-            case OutSetActiveIsolate:
-            	s = "OutSetActiveIsolate"; //$NON-NLS-1$
-            	break;
-            	
-            case OutSetExceptionBreakpoint:
-            	s = "OutSetExceptionBreakpoint"; //$NON-NLS-1$
-            	break;
-            	
-            case OutRemoveExceptionBreakpoint:
-            	s = "OutRemoveExceptionBreakpoint"; //$NON-NLS-1$
-            	break;
-            	
-		}
-   		return s;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCache.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCache.java
deleted file mode 100644
index 319235b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCache.java
+++ /dev/null
@@ -1,110 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-/**
- * This cache directly manages the creation/destruction of DMessages
- * by allowing DMessages to be re-used.
- * 
- * It has been observed that the Player send a tremendous number of
- * small (< 8Byte of data) messages and that by allocating a fixed
- * number of these, and then re-using them, we can assist the garbage
- * collector greatly.
- * 
- * The cache is arranged as an array whereby DMessages with 'index'
- * number of bytes for data are housed.  It is asssumed that at
- * any moment in time only one DMessage will be required and thus
- * this technique works.  If DMessages are to be stored for 
- * later processing (implying that many will exist at any moment)
- * then we need to implement a more sophisticated cache (probably
- * storing a Vector of DMessages at each index).
- *
- * Very large DMessages are currently not cached.
- * 
- * This is class is a singleton.
- */
-public class DMessageCache
-{
-	public static final int MAX_CACHED_DATA_SIZE		= 128;  /* should consume around 4n + n(n+1)/2 bytes */
-
-	/* our cache */
-	static DMessage[] m_cache = new DMessage[MAX_CACHED_DATA_SIZE];
-
-	/**
-	 * Obtain a DMessage from the cache if possible, otherwise make one for me.
-	 */
-	public static DMessage alloc(int size)
-	{
-		DMessage msg;
-
-		int index = size2Index(size);
-
-		/**
-		 * We see if this could possibly be found in our cache,
-		 * if so, then see if there is one for us to use,
-		 * otherwise create a new one 
-		 */
-		if (index < 0)
-			msg = new DMessage(size);
-		else if (m_cache[index] == null)
-			msg = new DMessage(size);
-        else
-		{
-			msg = m_cache[index];
-			m_cache[index] = null;
-		}
-
-//		System.out.println("msgsize="+size+uft());
-		return msg;
-	}
-
-	private static String uft()
-	{
-		Runtime rt = Runtime.getRuntime();
-		long free = rt.freeMemory(), total = rt.totalMemory(), used =  total - free;
-//		long max = rt.maxMemory();
-		java.text.NumberFormat nf = java.text.NumberFormat.getInstance() ;
-//        System.out.println("used: "+nf.format(used)+" free: "+nf.format(free)+" total: "+nf.format(total)+" max: "+nf.format(max));
-        return ", used "+nf.format(used)+", free "+nf.format(free)+", total "+nf.format(total); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-	/**
-	 * Put a DMessage into the cache for reuse
-	 */
-	public static void free(DMessage msg)
-	{
-		int index = size2Index(msg.getSize());
-
-		msg.clear(); /* clear stuff up for re-use */
-
-		/** 
-		 * If it is too big we don't store cache, assuming
-		 * the GC can do a better job than us at reusing the memory,
-		 * Otherwise we put it in our cache
-		 */
-		if (index < 0)
-			;
-		else if (m_cache[index] != null)
-			; /* bad => need to use a Vector in the array to house multiple DMessages */
-		else
-			m_cache[index] = msg;
-	}
-
-	public static int size2Index(int size) { return ((size < MAX_CACHED_DATA_SIZE) ? size : -1); }
-//	public static int size2Index(int size) { return -1; }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCounter.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCounter.java
deleted file mode 100644
index e13d601..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DMessageCounter.java
+++ /dev/null
@@ -1,208 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * This class can be to count the number of messages
- * received during a debug session.
- *
- */
-public class DMessageCounter implements DProtocolNotifierIF
-{
-	long[] m_inCounts;
-	long[] m_outCounts;
-	long m_lastIsolate;
-	Object m_isolateLock;
-	boolean m_isolate;
-	
-	Map<Long, DMessageCounter> m_isolateCounterMap;
-
-	public DMessageCounter()
-	{
-		m_inCounts = new long[DMessage.InSIZE+1];
-		m_outCounts = new long[DMessage.OutSIZE+1];
-		m_lastIsolate = 1;
-		m_isolateCounterMap = new HashMap<Long, DMessageCounter>();
-		m_isolateLock = new Object();
-		clearArray(m_inCounts);
-		clearArray(m_outCounts);
-	}
-
-	public void disconnected()
-	{
-		// We're being notified (via the DProtocolNotifierIF interface) that
-		// the socket connection has been broken.  If anyone is waiting for
-		// a message to come in, they ain't gonna get one.  So, we'll notify()
-		// them so that they can wake up and realize that the connection has
-		// been broken.
-		Object inLock = getInLock();
-		synchronized (inLock) { inLock.notifyAll(); }
-		Object outLock = getOutLock();
-		synchronized (outLock) { outLock.notifyAll(); }
-	}
-
-	/**
-	 * Returns the object on which external code can call "wait" in order
-	 * to block until a message is received.
-	 */
-	public Object getInLock() { return m_inCounts; }
-
-	/**
-	 * Returns the object on which external code can call "wait" in order
-	 * to block until a message is sent.
-	 */
-	public Object getOutLock() { return m_outCounts; }
-	
-	/**
-	 * Collect stats on outgoing messages 
-	 */
-	public void messageSent(DMessage msg)
-	{
-	    int type = msg.getType();
-		if (type < 0 || type >=DMessage.OutSIZE)
-			type = DMessage.OutSIZE;
-		long targetIsolate = msg.getTargetIsolate();
-		Object outLock = getOutLock();
-		if (!m_isolate) {
-			synchronized (m_isolateLock) {
-				if (m_lastIsolate != Isolate.DEFAULT_ID) {
-					DMessageCounter counter = m_isolateCounterMap.get(m_lastIsolate);
-					outLock = counter.getOutLock();
-				}
-			}
-		}
-		synchronized (outLock) {
-			
-			if (!m_isolate && targetIsolate != Isolate.DEFAULT_ID) {
-//				if (m_isolateCounterMap.containsKey(targetIsolate)) {
-					DMessageCounter counter = m_isolateCounterMap.get(targetIsolate);				
-					counter.messageSent(msg);
-					m_outCounts[type] += 1;
-					outLock.notifyAll(); // tell anyone who is waiting that a message has been sent
-					//counter.getOutLock().notifyAll();
-//				}
-//				else {
-//					System.out.println("No counter for worker " + targetIsolate);
-//					m_outCounts[type] += 1;
-//					outLock.notifyAll(); // tell anyone who is waiting that a message has been sent
-//				}
-			}
-			else {
-				m_outCounts[type] += 1;
-				outLock.notifyAll(); // tell anyone who is waiting that a message has been sent
-			}
-		}
-	}
-	
-	public void setIsolate(boolean value) {
-		m_isolate = value;
-	}
-
-	/** 
-	 * Collect stats on the messages 
-	 */
-	public void messageArrived(DMessage msg, DProtocol which)
-	{
-		/* extract type */
-		int type = msg.getType();
-
-//		System.out.println("msg counter ="+type);
-
-		/* anything we don't know about goes in a special slot at the end of the array. */
-		if (type < 0 || type >= DMessage.InSIZE)
-			type = DMessage.InSIZE;
-		Object inLock = getInLock();
-		if (!m_isolate) {
-			synchronized (m_isolateLock) {
-				if (m_lastIsolate != Isolate.DEFAULT_ID) {
-					DMessageCounter counter = m_isolateCounterMap.get(m_lastIsolate);
-					inLock = counter.getInLock();
-				}
-			}
-		}
-		
-		synchronized (inLock) {
-			if (type == DMessage.InIsolate) {
-				long isolate = msg.getDWord();				
-				if (isolate != Isolate.DEFAULT_ID) {
-					/** Check if our map has a counter for this isolate */
-					if (!m_isolateCounterMap.containsKey(isolate)) {
-						DMessageCounter isolateCounter = new DMessageCounter();
-						isolateCounter.setIsolate(true);
-						m_isolateCounterMap.put(isolate, isolateCounter);
-					}
-				}
-				synchronized (m_isolateLock) {
-					m_lastIsolate = isolate;
-				}
-				m_inCounts[type] += 1;
-				inLock.notifyAll(); // tell anyone who is waiting that a message has been received
-			}
-			else if (!m_isolate && m_lastIsolate != Isolate.DEFAULT_ID) {
-				DMessageCounter counter = m_isolateCounterMap.get(m_lastIsolate);
-				counter.messageArrived(msg, which);
-				synchronized (counter.getInLock()) {
-					counter.getInLock().notifyAll();
-				}
-				
-			}
-			else {
-				m_inCounts[type] += 1;
-				inLock.notifyAll(); // tell anyone who is waiting that a message has been received
-			}
-		}
-	}
-
-	/* getters */
-	public long   getInCount(int type)  { synchronized (getInLock()) { return m_inCounts[type]; } }
-	public long   getOutCount(int type) { synchronized (getOutLock()) { return m_outCounts[type]; } }
-	
-	public long   getIsolateInCount(long isolate, int type)  { 
-		DMessageCounter counter = m_isolateCounterMap.get(isolate);
-		return counter.getInCount(type); 
-	}
-
-	public long getIsolateOutCount(long isolate, int type) { 
-		DMessageCounter counter = m_isolateCounterMap.get(isolate);
-		return counter.getOutCount(type); 
-	}
-
-	public Object getIsolateInLock(long isolate)  { 
-		DMessageCounter counter = m_isolateCounterMap.get(isolate);
-		return counter.getInLock(); 
-	}
-
-
-	/* setters */
-	public void clearInCounts()			{ synchronized (getInLock()) { clearArray(m_inCounts); } }
-	public void clearOutCounts()		{ synchronized (getOutLock()) { clearArray(m_outCounts); } }
-
-	/**
-	 * Clear out the array 
-	 */
-	void clearArray(long[] ar)
-	{
-		for(int i=0; i<ar.length; i++)
-			ar[i] = 0;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DModule.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DModule.java
deleted file mode 100644
index d2577cb..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DModule.java
+++ /dev/null
@@ -1,832 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SourceLocator;
-import flash.tools.debugger.VersionException;
-import flash.util.FileUtils;
-
-/**
- * A module which is uniquly identified by an id, contains
- * a short and long name and also a script
- */
-public class DModule implements SourceFile
-{
-	private ScriptText			m_script;			// lazy-initialized by getScript()
-	private boolean				m_gotRealScript;
-	private final String		m_rawName;
-	private final String		m_shortName;
-	private final String		m_path;
-	private final String		m_basePath;
-	private final int			m_id;
-	private final int			m_bitmap;
-	private final ArrayList<Integer>		m_line2Offset;
-	private final ArrayList<Object>			m_line2Func;		// each array is either null, String, or String[]
-	private final HashMap<String, Integer>	m_func2FirstLine;	// maps function name (String) to first line of function (Integer)
-	private final HashMap<String, Integer>	m_func2LastLine;	// maps function name (String) to last line of function (Integer)
-	private String				m_packageName;
-	private boolean				m_gotAllFncNames;
-	private int					m_anonymousFunctionCounter = 0;
-	private SourceLocator		m_sourceLocator;
-	private int					m_sourceLocatorChangeCount;
-	private int m_isolateId;
-	private final static String	m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	/**
-	 * @param name filename in "basepath;package;filename" format
-	 */
-	public DModule(SourceLocator sourceLocator, int id, int bitmap, String name, String script, int isolateId)
-	{
-		// If the caller gave us the script text, then we will create m_script
-		// now.  But if the caller gave us an empty string, then we won't bother
-		// looking for a disk file until someone actually asks for it.
-		if (script != null && script.length() > 0)
-		{
-			m_script = new ScriptText(script);
-			m_gotRealScript = true;
-		}
-
-		NameParser nameParser = new NameParser(name);
-
-		m_sourceLocator = sourceLocator;
-		m_rawName = name;
-		m_basePath = nameParser.getBasePath(); // may be null
-		m_bitmap = bitmap;
-		m_id = id;
-		m_shortName = generateShortName(nameParser);
-		m_path = generatePath(nameParser);
-		m_line2Offset = new ArrayList<Integer>();
-		m_line2Func = new ArrayList<Object>();
-		m_func2FirstLine = new HashMap<String, Integer>();
-		m_func2LastLine = new HashMap<String, Integer>();
-		m_packageName = nameParser.getPackage();
-        m_gotAllFncNames = false;
-        m_isolateId = isolateId;
-	}
-
-	public synchronized ScriptText getScript()
-	{
-		// If we have been using "dummy" source, and the user has changed the list of
-		// directories that are searched for source, then we want to search again
-		if (!m_gotRealScript &&
-			m_sourceLocator != null &&
-			m_sourceLocator.getChangeCount() != m_sourceLocatorChangeCount)
-		{
-			m_script = null;
-		}
-
-		// lazy-initialize m_script, so that we don't read a disk file until
-		// someone actually needs to look at the file
-		if (m_script == null)
-		{
-            String script = scriptFromDisk(getRawName());
-			if (script == null)
-			{
-				script = ""; // use dummy source for now //$NON-NLS-1$
-			}
-			else
-			{
-				m_gotRealScript = true; // we got the real source
-			}
-			m_script = new ScriptText(script);
-		}
-		return m_script;
-	}
-
-	/* getters */
-	public String		getBasePath()			{ return m_basePath; }
-	public String		getName()				{ return m_shortName; }
-	public String		getFullPath()			{ return m_path; }
-	public String       getPackageName()		{ return (m_packageName == null) ? "" : m_packageName; } //$NON-NLS-1$
-	public String		getRawName()			{ return m_rawName; }
-	public int			getId()					{ return m_id; }
-	public int			getBitmap()				{ return m_bitmap; }
-	public int			getLineCount()			{ return getScript().getLineCount(); }
-	public String		getLine(int i)			{ return (i > getLineCount()) ? "// code goes here" : getScript().getLine(i); } //$NON-NLS-1$
-
-	void setPackageName(String name)    { m_packageName = name; }
-
-	/**
-	 * @return the offset within the swf for a given line 
-	 * of source.  0 if unknown.
-	 */
-	public int getOffsetForLine(int line)
-	{ 
-		int offset = 0;
-		if (line < m_line2Offset.size())
-		{
-			Integer i = m_line2Offset.get(line);
-			if (i != null)
-				offset = i.intValue();
-		}
-		return offset;
-	}
-
-	public int getLineForFunctionName(Session s, String name)
-	{
-		int value = -1;
-        primeAllFncNames(s);
-		Integer i = m_func2FirstLine.get(name);
-		if (i != null)
-			value = i.intValue();
-
-		return value;
-	}
-
-    /*
-     * @see flash.tools.debugger.SourceFile#getFunctionNameForLine(flash.tools.debugger.Session, int)
-     */
-    public String getFunctionNameForLine(Session s, int line)
-    {
-        primeFncName(s, line);
-
-    	String[] funcNames = getFunctionNamesForLine(s, line);
-
-    	if (funcNames != null && funcNames.length == 1)
-    		return funcNames[0];
-    	else
-    		return null;
-    }
-
-	/**
-	 * Return the function names for a given line number, or an empty array
-	 * if there are none; never returns <code>null</code>.
-	 */
-    private String[] getFunctionNamesForLine(Session s, int line)
-    {
-        primeFncName(s, line);
-
-		if (line < m_line2Func.size())
-		{
-			Object obj = m_line2Func.get(line);
-			
-			if (obj instanceof String)
-				return new String[] { (String) obj };
-			else if (obj instanceof String[])
-				return (String[]) obj;
-		}
-
-		return new String[0];
-    }
-
-	public String[] getFunctionNames(Session s)
-	{
-		/* find out the size of the array */
-        primeAllFncNames(s);
-		int count = m_func2FirstLine.size();
-		return m_func2FirstLine.keySet().toArray(new String[count]);
-	}
-
-	private static String generateShortName(NameParser nameParser)
-	{
-		String name = nameParser.getOriginalName();
-		String s = name;
-
-		if (nameParser.isPathPackageAndFilename()) {
-			s = nameParser.getFilename();
-		} else {
-			/* do we have a file name? */
-			int dotAt = name.lastIndexOf('.');
-			if (dotAt > 1)
-			{
-				/* yes let's strip the directory off */
-				int lastSlashAt = name.lastIndexOf('\\', dotAt);
-				lastSlashAt = Math.max(lastSlashAt, name.lastIndexOf('/', dotAt));
-	
-				s = name.substring(lastSlashAt+1);
-			}
-			else
-			{
-				/* not a file name ... */
-				s = name;
-			}
-		}
-		return s.trim();
-	}
-
-	/**
-	 * Produce a name that contains a file specification including full path.
-	 * File names may come in as 'mx.bla : file:/bla.foo.as' or as
-	 * 'file://bla.foo.as' or as 'C:\'(?) or as 'basepath;package;filename'
-	 */
-	private static String generatePath(NameParser nameParser)
-	{
-		String name = nameParser.getOriginalName();
-		String s = name;
-
-		/* strip off first colon of stuff if package exists */
-		int colonAt = name.indexOf(':');
-		if (colonAt > 1 && !name.startsWith("Actions for")) //$NON-NLS-1$
-		{
-			if (name.charAt(colonAt+1) == ' ')
-				s = name.substring(colonAt+2);
-		}
-		else if (name.indexOf('.') > -1 && name.charAt(0) != '<' )
-		{
-			/* some other type of file name */
-			s = nameParser.recombine();
-		}
-		else
-		{
-			// no path
-			s = ""; //$NON-NLS-1$
-		}
-		return s.trim();
-	}
-
-	public void lineMapping(StringBuilder sb)
-	{
-		Map<String, String> args = new HashMap<String, String>();
-		args.put("fileName", getName() ); //$NON-NLS-1$
-		args.put("fileNumber", Integer.toString(getId()) ); //$NON-NLS-1$
-        sb.append(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("functionsInFile", args)); //$NON-NLS-1$
-		sb.append(m_newline);
-
-		String[] funcNames = m_func2FirstLine.keySet().toArray(new String[m_func2FirstLine.size()]);
-		Arrays.sort(funcNames, new Comparator<String>() {
-
-			public int compare(String o1, String o2) {
-				int line1 = m_func2FirstLine.get(o1).intValue();
-				int line2 = m_func2FirstLine.get(o2).intValue();
-				return line1 - line2;
-			}
-			
-		});
-
-		for (int i=0; i<funcNames.length; ++i)
-		{
-			String name = funcNames[i];
-			int firstLine = m_func2FirstLine.get(name).intValue();
-			int lastLine = m_func2LastLine.get(name).intValue();
-
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(name);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(firstLine);
-			sb.append(" "); //$NON-NLS-1$
-			sb.append(lastLine);
-			sb.append(m_newline);
-		}
-	}
-
-    int compareTo(DModule other)
-    {
-        return getName().compareTo(other.getName());
-    }
-
-    /**
-     * Called in order to make sure that we have a function name available
-     * at the given location.  For AVM+ swfs we don't need a swd and therefore
-     * don't have access to function names in the same fashion.
-     * We need to ask the player for a particular function name.
-     */
-    void primeFncName(Session s, int line)
-    {
-		// for now we do all, optimize later
-		primeAllFncNames(s);
-    }
-
-    void primeAllFncNames(Session s)
-    {
-        // send out the request for all functions that the player knows
-        // about for this module
-
-        // we block on this call waiting for an answer and after we get it
-        // the DManager thread should have populated our mapping tables
-        // under the covers.  If its fails then no biggie we just won't
-        // see anything in the tables.
-        PlayerSession ps = (PlayerSession)s;
-        if (!m_gotAllFncNames && ps.playerVersion() >= 9)
-        {
-            try
-            {
-                ps.requestFunctionNames(m_id, -1, m_isolateId);
-            }
-            catch (VersionException e)
-            {
-                ;
-            }
-            catch (NoResponseException e)
-            {
-                ;
-            }
-        }
-        m_gotAllFncNames = true;
-    }
-
-	void addLineFunctionInfo(int offset, int line, String funcName)
-	{
-		addLineFunctionInfo(offset, line, line, funcName);
-	}
-
-	/**
-	 * Called by DSwfInfo in order to add function name / line / offset mapping
-	 * information to the module.  
-	 */
-	void addLineFunctionInfo(int offset, int firstLine, int lastLine, String funcName)
-	{
-		int line;
-
-		// strip down the function name
-		if (funcName == null || funcName.length() == 0)
-		{
-			funcName = "<anonymous$" + (++m_anonymousFunctionCounter) + ">"; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		else
-		{
-			// colons or slashes then this is an AS3 name, strip off the core::
-			int colon = funcName.lastIndexOf(':');
-			int slash = funcName.lastIndexOf('/');
-			if (colon > -1 || slash > -1)
-			{
-				int greater = Math.max(colon, slash);
-                funcName = funcName.substring(greater+1);
-            }
-            else
-            {
-    			int dot = funcName.lastIndexOf('.');
-	    		if (dot > -1)
-		    	{
-                    // extract function and package
-                    String pkg = funcName.substring(0, dot);
-                    funcName = funcName.substring(dot+1);
-
-                    // attempt to set the package name while we're in here
-                    setPackageName(pkg);
-//					System.out.println(m_id+"-func="+funcName+",pkg="+pkg);
-                }
-            }
-		}
-
-//		System.out.println(m_id+"@"+offset+"="+getPath()+".adding func="+funcName);
-
-		// make sure m_line2Offset is big enough for the lines we're about to set
-		m_line2Offset.ensureCapacity(firstLine+1);
-		while (firstLine >= m_line2Offset.size())
-			m_line2Offset.add(null);
-
-		// add the offset mapping
-		m_line2Offset.set(firstLine, new Integer(offset));
-
-		// make sure m_line2Func is big enough for the lines we're about to se
-		m_line2Func.ensureCapacity(lastLine+1);
-		while (lastLine >= m_line2Func.size())
-			m_line2Func.add(null);
-
-		// offset and byteCode ignored currently, only add the name for the first hit
-		for (line = firstLine; line <= lastLine; ++line)
-		{
-			Object funcs = m_line2Func.get(line);
-			// A line can correspond to more than one function.  The most common case
-			// of that is an MXML tag with two event handlers on the same line, e.g.
-			//		<mx:Button mouseOver="overHandler()" mouseOut="outHandler()" />;
-			// another case is the line that declares an inner anonymous function:
-			//		var f:Function = function() { trace('hi') }
-			// In any such case, we store a list of function names separated by commas,
-			// e.g. "func1, func2"
-			if (funcs == null)
-			{
-				m_line2Func.set(line, funcName);
-			}
-			else if (funcs instanceof String)
-			{
-				String oldFunc = (String) funcs;
-				m_line2Func.set(line, new String[] { oldFunc, funcName });
-			}
-			else if (funcs instanceof String[])
-			{
-				String[] oldFuncs = (String[]) funcs;
-				String[] newFuncs = new String[oldFuncs.length + 1];
-				System.arraycopy(oldFuncs, 0, newFuncs, 0, oldFuncs.length);
-				newFuncs[newFuncs.length - 1] = funcName;
-				m_line2Func.set(line, newFuncs);
-			}
-		}
-
-		// add to our function name list
-		if (m_func2FirstLine.get(funcName) == null)
-		{
-			m_func2FirstLine.put(funcName, new Integer(firstLine));
-			m_func2LastLine.put(funcName, new Integer(lastLine));
-		}
-	}
-
-    /**
-     * Scan the disk looking for the location of where the source resides.  May
-     * also peel open a swd file looking for the source file.
-     * @param name original full path name of the source file
-     * @return string containing the contents of the file, or null if not found
-     */
-    private String scriptFromDisk(String name)
-    {
-        // we expect the form of the filename to be in the form
-        // "c:/src/project;debug;myFile.as"
-        // where the semicolons demark the include directory searched by the
-        // compiler followed by package directories then file name.
-        // any slashes are to be forward slash only!
-
-        // translate to neutral form
-        name = name.replace('\\','/');  //@todo remove this when compiler is complete
-
-        // pull the name apart
-        final char SEP = ';';
-        String pkgPart = ""; //$NON-NLS-1$
-        String pathPart = ""; //$NON-NLS-1$
-        String namePart = ""; //$NON-NLS-1$
-        int at = name.indexOf(SEP);
-        if (at > -1)
-        {
-            // have at least 2 parts to name
-            int nextAt = name.indexOf(SEP, at+1);
-            if (nextAt > -1)
-            {
-                // have 3 parts
-                pathPart = name.substring(0, at);
-                pkgPart = name.substring(at+1, nextAt);
-                namePart = name.substring(nextAt+1);
-            }
-            else
-            {
-                // 2 parts means no package.
-                pathPart = name.substring(0, at);
-                namePart = name.substring(at+1);
-            }
-        }
-        else
-        {
-            // should not be here....
-            // trim by last slash
-            at = name.lastIndexOf('/');
-            if (at > -1)
-            {
-				// cheat by looking for dirname "mx" in path
-				int mx = name.lastIndexOf("/mx/"); //$NON-NLS-1$
-				if (mx > -1)
-				{
-					pathPart = name.substring(0, mx);
-					pkgPart = name.substring(mx+1, at);
-				}
-				else
-				{
-					pathPart = name.substring(0, at);
-				}
-				
-                namePart = name.substring(at+1);
-            }
-            else
-            {
-                pathPart = "."; //$NON-NLS-1$
-                namePart = name;
-            }
-        }
-
-        String script = null;
-        try
-        {
-            // now try to locate the thing on disk or in a swd.
-        	Charset realEncoding = null;
-        	Charset bomEncoding = null;
-        	InputStream in = locateScriptFile(pathPart, pkgPart, namePart);
-        	if (in != null)
-        	{
-        		try
-        		{
-        			// Read the file using the appropriate encoding, based on
-        			// the BOM (if there is a BOM) or the default charset for
-        			// the system (if there isn't a BOM)
-                    BufferedInputStream bis = new BufferedInputStream( in );
-                    bomEncoding = getEncodingFromBOM(bis);
-        			script = pullInSource(bis, bomEncoding);
-
-        			// If the file is an XML file with an <?xml> directive,
-        			// it may specify a different directive 
-        			realEncoding = getEncodingFromXMLDirective(script);
-        		}
-        		finally
-        		{
-        			try { in.close(); } catch (IOException e) {}
-        		}
-        	}
-        	
-        	// If we found an <?xml> directive with a specified encoding, and
-        	// it doesn't match the encoding we used to read the file initially,
-        	// start over.
-        	if (realEncoding != null && !realEncoding.equals(bomEncoding))
-        	{
-	            in = locateScriptFile(pathPart, pkgPart, namePart);
-	            if (in != null)
-	            {
-					try
-					{
-						// Read the file using the real encoding, based on the
-						// <?xml...> directive
-	                    BufferedInputStream bis = new BufferedInputStream( in );
-	                    getEncodingFromBOM(bis);
-	        			script = pullInSource(bis, realEncoding);
-					}
-					finally
-					{
-						try { in.close(); } catch (IOException e) {}
-					}
-	            }
-        	}
-        }
-        catch(FileNotFoundException fnf)
-        {
-            fnf.printStackTrace();  // shouldn't really happen
-        }
-        return script;
-    }
-
-    /**
-     * Logic to poke around on disk in order to find the given
-     * filename.  We look under the mattress and all other possible
-     * places for the silly thing.  We always try locating
-     * the file directly first, if that fails then we hunt out
-     * the swd.
-     */
-    InputStream locateScriptFile(String path, String pkg, String name) throws FileNotFoundException
-    {
-		if (m_sourceLocator != null)
-		{
-			m_sourceLocatorChangeCount = m_sourceLocator.getChangeCount();
-			InputStream is = m_sourceLocator.locateSource(path, pkg, name);
-			if (is != null)
-				return is;
-		}
-
-        // convert slashes first
-        path = path.replace('/', File.separatorChar);
-        pkg = pkg.replace('/', File.separatorChar);
-        File f;
-
-        // use a package base directory if it exists
-		if (path.length() > 0)
-		{
-	        try
-	        {
-				String pkgAndName = ""; //$NON-NLS-1$
-				if (pkg.length() > 0) // have to do this so we don't end up with just "/filename"
-					pkgAndName += pkg + File.separatorChar;
-				pkgAndName += name;
-	            f = new File(path, pkgAndName);
-	            if (f.exists())
-	                return new FileInputStream(f);
-	        }
-	        catch(NullPointerException npe)
-	        {
-	            // skip it.
-	        }
-		}
-
-        // try the current directory plus package
-		if (pkg.length() > 0) // new File("", foo) looks in root directory!
-		{
-			f = new File(pkg, name);
-			if (f.exists())
-				return new FileInputStream(f);
-		}
-
-        // look in the current directory without the package
-        f = new File(name);
-        if (f.exists())
-            return new FileInputStream(f);
-
-        // @todo try to pry open a swd file...
-               
-        return null;
-    }
-    
-    /**
-     * See if this document starts with a BOM and try to figure
-     * out an encoding from it.
-     * @param bis		BufferedInputStream for document (so that we can reset the stream
-     * 					if we establish that the first characters aren't a BOM)
-     * @return			CharSet from BOM (or system default / null)
-     */
-	private Charset getEncodingFromBOM(BufferedInputStream bis)
-	{
-		Charset bomEncoding = null;
-		bis.mark(3);
-		String bomEncodingString;
-		try
-		{
-			bomEncodingString = FileUtils.consumeBOM(bis, null);
-		}
-		catch (IOException e)
-		{
-			bomEncodingString = System.getProperty("file.encoding"); //$NON-NLS-1$
-		}
-
-		bomEncoding = Charset.forName(bomEncodingString);
-
-		return bomEncoding;
-	}
-
-    /**
-     * Syntax for an <?xml ...> directive with an encoding (used by getEncodingFromXMLDirective)
-     */
-    private static final Pattern sXMLDeclarationPattern = Pattern.compile("^<\\?xml[^>]*encoding\\s*=\\s*(\"([^\"]*)\"|'([^']*)')"); //$NON-NLS-1$
-    
-    /**
-     * See if this document starts with an <?xml ...> directive and
-     * try to figure out an encoding from it.
-     * @param entireSource		source of document
-     * @return					specified Charset (or null)
-     */
-    private Charset getEncodingFromXMLDirective(String entireSource)
-    {
-    	String encoding = null;
-    	Matcher xmlDeclarationMatcher = sXMLDeclarationPattern.matcher(entireSource);
-    	if (xmlDeclarationMatcher.find())
-    	{
-    		encoding = xmlDeclarationMatcher.group(2);
-    		if (encoding == null)
-    			encoding = xmlDeclarationMatcher.group(3);
-    		
-    		try
-    		{
-    			return Charset.forName(encoding);
-    		}
-    		catch (IllegalArgumentException e)
-    		{}
-    	}
-    	return null;
-    }
-
-    /**
-     * Given an input stream containing source file contents, read in each line
-     * @param in			stream of source file contents (with BOM removed)
-     * @param encoding		encoding to use (based on BOM, system default, or <?xml...> directive
-     * 						if this is null, the system default will be used)
-     * @return				source file contents (as String)
-     */
-    String pullInSource(InputStream in, Charset encoding)
-    {
-        String script = ""; //$NON-NLS-1$
-        BufferedReader f = null;
-        try
-        {
-        	StringBuilder sb = new StringBuilder();
-        	Reader reader = null;
-        	if (encoding == null)
-        		reader = new InputStreamReader(in);
-        	else
-        		reader = new InputStreamReader(in, encoding);
-            f = new BufferedReader(reader);
-            String line;
-            while((line = f.readLine()) != null)
-            {
-                sb.append(line);
-                sb.append('\n');
-            }
-            script = sb.toString();
-        }
-        catch (IOException e)
-        {
-            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-        }
-        return script;
-    }
-
-    /** for debugging */
-    @Override
-	public String toString()
-    {
-    	return getFullPath();
-    }
- 
-	/**
-	 * Given a filename of the form "basepath;package;filename", return an
-	 * array of 3 strings, one for each segment.
-	 * @param name a string which *may* be of the form "basepath;package;filename"
-	 * @return an array of 3 strings for the three pieces; or, if 'name' is
-	 * not of expected form, returns null
-	 */
-	private static class NameParser
-	{
-		private String fOriginalName;
-		private String fBasePath;
-		private String fPackage;
-		private String fFilename;
-		private String fRecombinedName;
-
-		public NameParser(String name)
-		{
-			fOriginalName = name;
-
-			/* is it of "basepath;package;filename" format? */
-			int semicolonCount = 0;
-			int i = 0;
-			int firstSemi = -1;
-			int lastSemi = -1;
-			while ( (i = name.indexOf(';', i)) >= 0 )
-			{
-				++semicolonCount;
-				if (firstSemi == -1)
-					firstSemi = i;
-				lastSemi = i;
-				++i;
-			}
-
-			if (semicolonCount == 2)
-			{
-				fBasePath = name.substring(0, firstSemi);
-				fPackage = name.substring(firstSemi+1, lastSemi);
-				fFilename = name.substring(lastSemi+1);
-			}
-		}
-
-		public boolean isPathPackageAndFilename()
-		{
-			return (fBasePath != null);
-		}
-
-		public String getOriginalName()
-		{
-			return fOriginalName;
-		}
-
-		public String getBasePath()
-		{
-			return fBasePath;
-		}
-
-		public String getFilename()
-		{
-			return fFilename;
-		}
-
-		public String getPackage()
-		{
-			return fPackage;
-		}
-
-		/**
-		 * Returns a "recombined" form of the original name.
-		 * 
-		 * For filenames which came in in the form "basepath;package;filename",
-		 * the recombined name is the original name with the semicolons replaced
-		 * by platform-appropriate slash characters.  For any other type of original
-		 * name, the recombined name is the same as the incoming name.
-		 */
-		public String recombine()
-		{
-			if (fRecombinedName == null)
-			{
-				if (isPathPackageAndFilename())
-				{
-					char slashChar;
-					if (fOriginalName.indexOf('\\') != -1)
-						slashChar = '\\';
-					else
-						slashChar = '/';
-
-					fRecombinedName = fOriginalName.replaceAll(";;", ";").replace(';', slashChar); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else
-				{
-					fRecombinedName = fOriginalName;
-				}
-			}
-			return fRecombinedName;
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocol.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocol.java
deleted file mode 100644
index 7965acb..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocol.java
+++ /dev/null
@@ -1,495 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.util.EnumMap;
-
-import flash.tools.debugger.SessionManager;
-import flash.util.Trace;
-
-/**
- * Implements the lower portion of Flash Player debug protocol.  This class is able to
- * communicate with the Flash Player sending and receiving any and all messages neccessary
- * in order to continue a debug session with the Player.
- * 
- * It does not understand the context of messages that it receives and merely provides
- * a channel for formatting and unformatting the messages.
- *  
- * The messages are defined on the flash side in core/debugtags.h and handled in the 
- * code under core/playerdebugger.cpp
- * 
- * Messages that are received via this class are packaged in a DMessage and then
- * provided to any listeners if requested.   Filtering of incoming messages 
- * at this level is not supported.
- */
-public class DProtocol implements Runnable
-{
-	public static final int DEBUG_PORT = 7935;
-	
-	/* We connect to AIR in the case of AIR on Android over USB */
-	public static final int DEBUG_CONNECT_PORT = 7936;
-
-	private final BufferedInputStream	m_in;
-	private final BufferedOutputStream	m_out;
-	private final EnumMap<ListenerIndex, DProtocolNotifierIF> m_listeners; // WARNING: accessed from multiple threads
-	private long						m_msgRx;		// WARNING: accessed from multiple threads; use synchronized (this)
-	private long						m_msgTx;		// WARNING: accessed from multiple threads; use synchronized (this)
-	private volatile boolean			m_stopRx;		// WARNING: accessed from multiple threads
-	private volatile Thread				m_rxThread;		// WARNING: accessed from multiple threads
-	private volatile Exception m_disconnectCause;
-	private volatile Socket m_socket;
-	private boolean m_detectBrokenSocket;
-
-	public enum ListenerIndex
-	{
-		PlayerSession,
-
-		/**
-		 * The DMessageCounter must always be the LAST listener, so that the message has
-		 * been fully processed before we wake up any threads that were waiting until a
-		 * message comes in.
-		 */
-		MessageCounter
-	}
-
-	public DProtocol(BufferedInputStream in, BufferedOutputStream out)
-	{
-		m_in = in;
-		m_out = out;
-		m_listeners = new EnumMap<ListenerIndex, DProtocolNotifierIF>(ListenerIndex.class);
-		m_msgRx = 0;
-		m_msgTx = 0;
-		m_stopRx = false;
-		m_rxThread = null;
-		m_socket = null;
-		m_detectBrokenSocket = false;
-		// Create a message counter, which will listen to us for messages
-		addListener(ListenerIndex.MessageCounter, new DMessageCounter());
-	}
-	
-	public DProtocol(BufferedInputStream in, BufferedOutputStream out, 
-			Socket s, boolean detectBrokenSocket)
-	{
-		this(in, out);
-		m_socket = s;
-		m_detectBrokenSocket = detectBrokenSocket;
-	}
-	
-	
-	/**
-	 * Set the base socket options
-	 * @throws SocketException
-	 */
-	static void applyBaseSocketSettings(Socket s) throws SocketException 
-	{
-		// For performance reasons, it is very important that we setTcpNoDelay(true),
-		// thus disabling Nagle's algorithm.  Google for TCP_NODELAY or Nagle
-		// for more information.
-		//
-		// In addition, we now use a BufferedOutputStream instead of an OutputStream.
-		//
-		// These changes result in a huge speedup on the Mac.
-		s.setTcpNoDelay(true);		
-	}
-	
-	static DProtocol createDProtocolFromSocket(Socket s, boolean detectBrokenSocket) throws IOException
-	{
-		BufferedInputStream in = new BufferedInputStream(s.getInputStream());
-		BufferedOutputStream out = new BufferedOutputStream(s.getOutputStream());
-
-		DProtocol dp = new DProtocol(in, out, s, detectBrokenSocket);
-		return dp;
-	}
-
-	/**
-     * Build a DProtocol object from a the given socket connection.
-     */
-	static DProtocol createFromSocket(Socket s) throws IOException
-	{
-		applyBaseSocketSettings(s);
-		return createDProtocolFromSocket(s, false);
-	}
-	
-	/**
-     * Build a DProtocol object from a the given socket connection
-     * and applies socket specific settings set in SessionManager
-     * like socket timeout.
-     */
-	static DProtocol createFromSocket(Socket s, SessionManager sessionManager) throws IOException
-	{
-		applyBaseSocketSettings(s);
-		int socketTimeout = sessionManager.getPreference(SessionManager.PREF_SOCKET_TIMEOUT);
-		boolean checkSocket = false;
-		if (socketTimeout > 0)
-		{
-			s.setSoTimeout(socketTimeout);
-			checkSocket = true;
-		}
-		return createDProtocolFromSocket(s, checkSocket);
-	}
-
-	/**
-	 * Allow outside entities to listen for incoming DMessages.
-	 * 
-	 * @param index
-	 *            the index of this listener. Listeners have a strictly defined
-	 *            order.
-	 * @param n
-	 *            the listener
-	 */
-	public boolean addListener(ListenerIndex index, DProtocolNotifierIF n)
-	{
-		synchronized (m_listeners)
-		{
-			m_listeners.put(index, n);
-		}
-		return true;
-	}
-
-	public long messagesReceived()		{ synchronized (this) { return m_msgRx; } }
-	public long messagesSent()			{ synchronized (this) { return m_msgTx; } }
-
-	/**
-	 * Entry point for our receive thread 
-	 */
-	public void run()
-	{
-		try
-		{
-			m_stopRx = false;
-			listenForMessages();
-		}
-		catch(Exception ex) 
-		{  
-			m_disconnectCause = ex;
-			if (Trace.error &&
-				!(ex instanceof SocketException && ex.getMessage().equalsIgnoreCase("socket closed"))) // closed-socket is not an error //$NON-NLS-1$
-			{
-				ex.printStackTrace();
-			}
-		}
-
-		/* notify our listeners that we are no longer listening;  game over */
-		DProtocolNotifierIF[] listeners;
-		synchronized (m_listeners)
-		{
-			listeners = m_listeners.values().toArray(new DProtocolNotifierIF[m_listeners.size()]); // copy the list to avoid multithreading problems
-		}
-		for (int i=0; i<listeners.length; ++i)
-		{
-			DProtocolNotifierIF elem = listeners[i];
-			try
-			{
-				elem.disconnected();
-			}
-			catch(Exception exc) /* catch unchecked exceptions */
-			{
-				if (Trace.error)
-					exc.printStackTrace();
-			}
-		}
-
-		// final notice that this thread is dead! 
-		m_rxThread = null;
-		m_socket = null;
-	}
-
-	/** 
-	 * Create and start up a thread for our receiving messages.  
-	 */
-	public boolean bind()
-	{
-		/* create a new thread object for us which just listens to incoming messages */
-		boolean worked = true;
-		if (m_rxThread == null)
-		{
-			getMessageCounter().clearInCounts();
-			getMessageCounter().clearOutCounts();
-
-			m_rxThread = new Thread(this, "DJAPI message listener"); //$NON-NLS-1$
-			m_rxThread.setDaemon(true);
-			m_rxThread.start();
-		}
-		else
-			worked = false;
-
-		return worked;
-	}
-
-	/**
-	 * Shutdown our receive thread 
-	 */
-	public boolean unbind()
-	{
-		boolean worked = true;
-		if (m_rxThread == null)
-			worked = false;
-		else
-			m_stopRx = true;
-
-		return worked;
-	}
-
-	/**
-	 * Main rx loop which waits for commands and then issues them to anyone listening.
-     */
-	void listenForMessages() throws IOException
-	{
-		DProtocolNotifierIF[] listeners = new DProtocolNotifierIF[0];
-
-		while(!m_stopRx)
-		{
-			/* read the data */
-			try
-			{
-				DMessage msg = rxMessage();
-
-				/* Now traverse our list of interested parties and let them deal with the message */
-				synchronized (m_listeners)
-				{
-					listeners = m_listeners.values().toArray(listeners); // copy the array to avoid multithreading problems
-				}
-				for (int i=0; i<listeners.length; ++i)
-				{
-					DProtocolNotifierIF elem = listeners[i];
-					try
-					{
-						elem.messageArrived(msg, this);
-					}
-					catch (Exception exc) /* catch unchecked exceptions */
-					{
-//						if (Trace.error) 
-//						{
-							System.err.println("Error in listener parsing incoming message :"); //$NON-NLS-1$
-							System.err.println(msg.inToString(16));
-							exc.printStackTrace(); 
-//						}
-					}
-					msg.reset();  /* allow others to reparse the message */
-				}
-
-				/* now dispose with the message */
-				DMessageCache.free(msg);
-			}
-			catch(InterruptedIOException iio)
-			{ 
-				// this is a healthy exception that we simply ignore, since it means we haven't seen
-				// data for a while; is all.
-			}
-		}
-	}
-
-	/**
-	 * Transmit the message down the socket.
-	 * 
-	 * This function is not synchronized; it is only called from one place, which is
-	 * PlayerSession.sendMessage().  That function is synchronized.
-	 */
-	void txMessage(DMessage message) throws IOException
-	{
-		int size = message.getSize();
-		int command = message.getType();
-
-        //System.out.println("txMessage: " + DMessage.outTypeName(command) + " size=" + size);
-
-        writeDWord(size);
-		writeDWord(command);
-		writeData(message.getData(), size);
-
-		m_out.flush();
-		synchronized (this) { m_msgTx++; }
-		getMessageCounter().messageSent(message);
-	}
-
-	class SendThread extends Thread {
-		public IOException exception = null;
-		public volatile boolean completed = false;
-		
-		@Override
-		public void run() {
-			try {
-				DMessage dm = DMessageCache.alloc(4);
-				dm.setType(DMessage.OutSetSquelch);
-				dm.putDWord(1);
-				txMessage(dm);
-				DMessageCache.free(dm);
-				this.completed = true;
-			}
-			catch (IOException e) {
-				this.exception = e;
-			}
-		}
-	}
-	/** 
-     * Get the next message on the input stream, using the context contained within 
-     * the message itself to demark its end
-     */
-	private DMessage rxMessage() throws IOException
-	{
-        int size = -1;
-		int command = 0;
-
-		try 
-		{
-			size = (int)readDWord();
-			command = (int)readDWord();
-		}
-		catch (SocketTimeoutException e) 
-		{
-			if (!m_detectBrokenSocket)
-				throw e;
-			//schedule a simple message to be sent for
-			//heartbeat check 
-			/**
-			 * Our logic kicks in after PREF_SOCKET_TIMEOUT 
-			 * milliseconds to try and detect broken connection by writing 
-			 * a squelch message to the player. If the write 
-			 * succeeds, we assume everything is normal 
-			 * (we don't wait for an ack). Otherwise, we save the error
-			 * that clients of FDB can use.
-			 * 
-			 * On Mac, the write() blocks which is why it must
-			 * be done in a separate thread. The thread may take
-			 * upto five minutes to die even after interrupt().
-			 * 
-			 * On Windows, the write() succeeds, but we later get
-			 * a recv abort.
-			 */
-			int oldBufferSize = -1;
-			
-			if (m_socket != null) {
-				oldBufferSize = m_socket.getSendBufferSize();
-				m_socket.setSendBufferSize(1);				
-			}
-			
-			SendThread t = new SendThread();
-			t.start();
-			long waitBegin = System.currentTimeMillis();
-			
-			while (true) {
-				try {
-					t.join(1000);
-					if (t.completed)
-						break;
-				} catch (InterruptedException e1) {
-					break;
-				}
-				long waitEnd = System.currentTimeMillis();
-				if (waitEnd - waitBegin > 10000)
-					break;
-			}
-			boolean success = true;
-			if (t.isAlive()) {
-				t.interrupt();
-				success = false;
-			}
-			if (oldBufferSize > 0) {
-				m_socket.setSendBufferSize(oldBufferSize);
-			}
-			if (!t.completed) {
-				success = false;
-			}
-			if (t.exception != null) {
-				throw t.exception;
-			}
-			if (success)
-				throw e;
-			else
-				throw new SocketException("Broken pipe"); //$NON-NLS-1$
-		}
-        //System.out.println("rxMessage: " + DMessage.inTypeName(command) + " size=" + size);
-
-		if (size < 0)
-			throw new IOException("socket closed"); //$NON-NLS-1$
-
-//		if (DMessage.inTypeName(command).startsWith("InUnknown")) {
-//			System.out.println("Ignoring unknown message");
-//			size = 0; 
-//		}
-		
-		/** 
-		 * Ask our message cache for a message
-		 */
-		DMessage message = DMessageCache.alloc(size);
-		byte[] messageContent = message.getData();
-		int offset = 0;
-
-		/* block until we get the entire message, which may come in pieces */
-		while (offset < size)
-			offset += m_in.read(messageContent, offset, size - offset);
-
-		/* now we have the data of the message, set its type and we are done */
-		message.setType(command);
-		synchronized (this) { m_msgRx++; }
-		return message;
-	}
-
-	void writeDWord(long dw) throws IOException
-	{
-		byte b0 = (byte)(dw & 0xff);
-		byte b1 = (byte)((dw >> 8) & 0xff);
-		byte b2 = (byte)((dw >> 16) & 0xff);
-		byte b3 = (byte)((dw >> 24) & 0xff);
-
-		m_out.write(b0);
-		m_out.write(b1);
-		m_out.write(b2);
-		m_out.write(b3);
-	}
-
-	void writeData(byte[] data, long size) throws IOException
-	{
-		if (size > 0)
-			m_out.write(data, 0, (int)size);
-	}
-
-
-	/**
-	 * Extract the next 4 bytes, which form a 32b integer, from the stream
-	 */
-	long readDWord() throws IOException
-	{
-		int b0 = m_in.read();
-		int b1 = m_in.read();
-		int b2 = m_in.read();
-		int b3 = m_in.read();
-		
-		long value = ((b3 << 24) & 0xff000000) | ((b2 << 16) & 0xff0000) | ((b1 << 8) & 0xff00) | (b0 & 0xff);
-		return value;
-	}
-
-	public DMessageCounter getMessageCounter()
-	{
-		synchronized (m_listeners)
-		{
-			return (DMessageCounter) m_listeners.get(ListenerIndex.MessageCounter);
-		}
-	}
-
-	public Exception getDisconnectCause() {
-		return m_disconnectCause;
-	}
-	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocolNotifierIF.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocolNotifierIF.java
deleted file mode 100644
index 8144711..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DProtocolNotifierIF.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-/**
- * Interface for receiving DMessages from the DProtocol object 
- */
-public interface DProtocolNotifierIF
-{
-	/**
-	 * Issused when a message has been received from the socket
-	 */
-	public void messageArrived(DMessage message, DProtocol which);
-
-	/**
-	 * Issued when the socket connection to the player is cut 
-	 */
-	public void disconnected();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DStackContext.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DStackContext.java
deleted file mode 100644
index 855082e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DStackContext.java
+++ /dev/null
@@ -1,176 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Variable;
-
-public class DStackContext implements Frame
-{
-	private DModule		m_source;
-	private String		m_functionSignature;
-	private int			m_depth;
-	private int			m_module;
-	private int			m_line;
-	private DVariable	m_this;
-	private Map<String, DVariable> m_args;
-	private Map<String, DVariable> m_locals;
-	private List<DVariable>        m_scopeChain;
-	private DLocation	m_location;
-	private int			m_swfIndex; /* index of swf that we halted within (really part of location) */
-	private int			m_offset;   /* offset within swf where we halted. (really part of location) */
-	private boolean		m_populated;
-	private DVariable	m_activationObject;
-	private int  m_isolateId;
-
-	public DStackContext(int module, int line, DModule f, long thisId /* bogus */,
-			String functionSignature, int depth, int isolateId)
-	{
-		m_source = f;
-		m_module = module;
-		m_line = line;
-		// the passed-in 'thisId' seems to always be equal to one, which does more harm than good
-		m_this = null;
-		m_functionSignature = functionSignature;
-		m_depth = depth;
-		m_args = new LinkedHashMap<String, DVariable>(); // preserves order
-		m_locals = new LinkedHashMap<String, DVariable>(); // preserves order
-		m_scopeChain = new ArrayList<DVariable>();
-		m_populated = false;
-		m_isolateId = isolateId;
-		m_location = new DLocation(m_source, line, isolateId);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Frame#getLocation()
-	 */
-	public Location   getLocation()
-	{
-		return m_location;
-	}
-
-    /*
-     * @see flash.tools.debugger.Frame#getArguments(flash.tools.debugger.Session)
-     */
-    public Variable[] getArguments(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException
-    {
-    	populate(s);
-    	return m_args.values().toArray( new Variable[m_args.size()] );
-    }
-
-	/*
-	 * @see flash.tools.debugger.Frame#getLocals(flash.tools.debugger.Session)
-	 */
-	public Variable[] getLocals(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException
-	{
-		populate(s);
-		return m_locals.values().toArray( new Variable[m_locals.size()] );
-	}
-
-    /*
-     * @see flash.tools.debugger.Frame#getThis(flash.tools.debugger.Session)
-     */
-    public Variable getThis(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException
-	{
-		populate(s);
-		return getThis();
-	}
-
-	/*
-	 * @see flash.tools.debugger.Frame#getScopeChain()
-	 */
-	public Variable[] getScopeChain(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException
-	{
-		populate(s);
-		return m_scopeChain.toArray(new Variable[m_scopeChain.size()]);
-	}
-
-	/* getters */
-	public String		getCallSignature()		{ return m_functionSignature; }
-	public int			getModule()				{ return m_module; }
-	public int			getLine()				{ return m_line; }
-	public DVariable	getThis()				{ return m_this; }
-
-	/* setters */
-	void addArgument(DVariable v)				{ m_args.put(v.getName(), v); }
-	void addLocal(DVariable v)					{ m_locals.put(v.getName(), v); }
-	void addScopeChainEntry(DVariable v)		{ m_scopeChain.add(v); }
-	void removeAllArguments()					{ m_args.clear(); }
-	void removeAllLocals()						{ m_locals.clear(); m_activationObject = null; }
-	void removeAllScopeChainEntries()			{ m_scopeChain.clear(); }
-	void removeAllVariables()					{ removeAllLocals(); removeAllArguments(); removeAllScopeChainEntries(); }
-	void setDepth(int depth)					{ m_depth = depth; }
-	void setThis(DVariable v)					{ m_this = v; }
-	void setSwfIndex(int index)					{ m_swfIndex = index; }
-	void setOffset(int offset)					{ m_offset = offset; }
-	void setIsolateId(int id)					{ m_isolateId = id; }
-	void markStale()							{ m_populated = false; } // triggers a reload of variables.
-
-	/**
-	 * Removes the specified variable from the list of locals, and
-	 * remembers that the specified variable is the "activation object"
-	 * for this frame.  See bug 155031.
-	 */
-	void convertLocalToActivationObject(DVariable v)
-	{
-		m_activationObject = v;
-		m_locals.remove(v.getName());
-	}
-
-	/**
-	 * Gets the activation object for this frame, or <code>null</code>
-	 * if none.  See bug FB-2674.
-	 */
-	DVariable getActivationObject()
-	{
-		return m_activationObject;
-	}
-
-	/**
-	 * Populate ensures that we have some locals and args. That is
-	 * that we have triggered a InFrame call to the player
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException
-	 * @throws NotConnectedException
-	 */
-	void populate(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException
-	{
-		if (!m_populated)
-		{
-			PlayerSession ses = ((PlayerSession)s);
-			ses.requestFrame(m_depth, m_isolateId);
-			
-			m_populated = true;
-		}
-	}
-
-	public int getIsolateId() 
-	{
-		return m_isolateId;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DSuspendInfo.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DSuspendInfo.java
deleted file mode 100644
index e051c21..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DSuspendInfo.java
+++ /dev/null
@@ -1,57 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.SuspendReason;
-
-/**
- * The suspend information object returns information about the
- * current halted state of the Player.
- */
-public class DSuspendInfo
-{
-	int m_reason;
-	int m_actionIndex;  // which script caused the halt
-	int m_offset;		// offset into the actions that the player has halted
-	int m_previousOffset;  // previous offset, if any, which lies on the same source line (-1 means unknown)
-	int m_nextOffset;  // next offset, if any, which lies on the same source line (-1 means unknown)
-
-	public DSuspendInfo()
-	{
-		m_reason = SuspendReason.Unknown;
-		m_actionIndex =	-1;
-		m_offset = -1;	
-		m_previousOffset = -1;
-		m_nextOffset = -1;
-	}
-
-	public DSuspendInfo(int reason, int actionIndex, int offset, int previousOffset, int nextOffset)
-	{
-		m_reason = reason;
-		m_actionIndex =	actionIndex;
-		m_offset = offset;	
-		m_previousOffset = previousOffset;
-		m_nextOffset = nextOffset;
-	}
-
-    public int getReason()			{ return m_reason; }
-	public int getActionIndex()		{ return m_actionIndex; }
-    public int getOffset()			{ return m_offset; }
-	public int getPreviousOffset()	{ return m_previousOffset; }
-	public int getNextOffset()		{ return m_nextOffset; }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DSwfInfo.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DSwfInfo.java
deleted file mode 100644
index 226dd72..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DSwfInfo.java
+++ /dev/null
@@ -1,323 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.util.Map;
-
-import flash.swf.debug.DebugModule;
-import flash.swf.debug.LineRecord;
-import flash.tools.ActionLocation;
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.events.FunctionMetaDataAvailableEvent;
-import flash.util.IntMap;
-
-public class DSwfInfo implements SwfInfo
-{
-	private int			m_index;
-	private long		m_id;
-	private IntMap		m_source;
-	private String		m_path;
-	private String		m_url;
-	private String		m_host;
-	private int			m_port;
-	private boolean		m_swdLoading;
-	private int			m_swfSize;
-	private int			m_swdSize;
-	private int			m_bpCount;
-	private int			m_offsetCount;
-	private int			m_scriptsExpected;
-	private int			m_minId;		// first script id in the swf
-	private int			m_maxId;		// last script id in this swf
-	private byte[]		m_swf;			// actual swf contents
-	private byte[]		m_swd;			// actual swd contents
-	private boolean		m_unloaded;		// set if the player has unloaded this swf
-	private Map<Long,Integer> m_local2Global; // local script id to global script id mapping table
-	private int			m_numRefreshes; // number of refreshes we have taken
-	private int         m_vmVersion;    // version of the vm
-
-	private boolean						m_populated;	// set if we have already tried to load swf/swd for this info
-	private LineFunctionContainer		m_container;	// used for pulling out detailed info about the swf
-
-	private final static String UNKNOWN = PlayerSessionManager.getLocalizationManager().getLocalizedTextString("unknown"); //$NON-NLS-1$
-
-	public DSwfInfo(int index, int isolateId)	
-	{	
-		// defaults values of zero
-		m_id = 0;
-		m_index = index;
-		m_source = new IntMap();
-		m_path = UNKNOWN;
-		m_url = UNKNOWN;
-		m_host = UNKNOWN;
-		m_port = 0;
-		m_swdLoading = true;
-		m_scriptsExpected = -1;  // means not yet set by anyone!
-		m_isolateId = isolateId;
-		// rest default to null, 0 or false
-	}
-
-	/** SwfInfo interface */
-	public String		getPath()												{ return m_path; }
-	public String		getUrl()												{ return m_url; }
-	public int			getSwfSize()											{ return m_swfSize; }
-	public int			getSwdSize(Session s) throws InProgressException		{ swdLoaded(s); return m_swdSize; } 
-	public boolean		isUnloaded()											{ return m_unloaded; }
-	public boolean		isProcessingComplete()									{ return isPopulated(); } 
-	public boolean		containsSource(SourceFile f)							{ return m_source.contains(f.getId()); }
-
-	/* getters */
-	public long			getId()					{ return m_id; }
-	public String		getHost()				{ return m_host; }
-	public int			getPort()				{ return m_port; }
-	public int			getSwdSize() 			{ return m_swdSize; }
-	public int			getRefreshCount()		{ return m_numRefreshes; }
-	public boolean		isSwdLoading()			{ return m_swdLoading; }
-	public boolean		isPopulated()			{ return m_populated; }
-	public byte[]		getSwf()				{ return m_swf; }
-	public byte[]		getSwd()				{ return m_swd; }
-	public int			getSourceExpectedCount()	{ return m_scriptsExpected; }
-    public int          getVmVersion()          { return m_vmVersion;  }
-
-//	public int			getBreakpointCount() throws InProgressException	{ swdLoading(); return m_bpCount; }
-//	public int			getOffsetCount() 		{ swdLoading(); return m_offsetCount; }
-	public int			getSourceCount() 	{ return m_source.size(); }
-	public int			getFirstSourceId() 	{ return m_minId; }
-	public int			getLastSourceId() 	{ return m_maxId; }
-
-    public void         setVmVersion(int vmVersion) { m_vmVersion = vmVersion;  }
-	public void			setUnloaded()			{ m_unloaded = true; }
-	public void			setSwf(byte[] swf)		{ m_swf = swf; }
-	public void			setSwd(byte[] swd)		{ m_swd = swd; }
-	public void			setPopulated()			{ m_swdLoading = false; m_populated = true; }  // no more waiting for swd, we're done
-	public void			setSourceExpectedCount(int c) { m_scriptsExpected = c; }
-
-	public void			addSource(int i, DModule m) { m_source.put(i, m); }
-
-	/**
-	 * Return the number of sources that we have
-	 */
-	public int getSourceCount(Session s) throws InProgressException	
-	{ 
-		// only if we don't have it all yet
-		// then try to force a load
-		if (!hasAllSource())
-			swdLoaded(s); 
-
-		return getSourceCount(); 
-	}
-
-	/**
-	 * Return a list of our sources
-	 */
-	public SourceFile[] getSourceList(Session s) throws InProgressException		
-	{
-		// only if we don't have it all yet
-		// then try to force a load
-		if (!hasAllSource())
-			swdLoaded(s); 
-
-		return (SourceFile[])m_source.valuesToArray( new SourceFile[m_source.size()] ); 
-	}
-
-	/**
-	 * Make sure that the player has loaded our swd.  If not
-	 * we continue InProgressException to query the player for when its complete.
-	 * At some point we give up and finally admit that
-	 * we don't have a swd associated with this swf.
-	 */
-	void swdLoaded(Session s) throws InProgressException
-	{
-		if (isSwdLoading() && !isUnloaded())
-		{
-			// make the request 
-//			System.out.println("Swdloaded " + m_isolateId);
-			try { ((PlayerSession)s).requestSwfInfo(m_index, m_isolateId); } catch(NoResponseException nre) {}
-
-			// I should now be complete
-			if (!m_swdLoading)
-				;  // done!
-			else if (getSourceExpectedCount() > -1 && m_numRefreshes > 10)
-				setPopulated();  // tried too many times, so bail big time, no swd available (only if we already have our expected count)
-			else
-				throw new InProgressException(); // still loading!!!
-		}
-	}
-
-	/**
-	 * This method returns true once we have all the scripts
-	 * that we expect to ever have.  We can get the information about
-	 * how many scripts we should get from two sources, 1) we may
-	 * get an InSwfInfo message from the player which contains
-	 * this value and 2) we may get a InNumScript message which
-	 * contains a script count.  A small caveat of course, is that
-	 * in case 1. we may also not get the a value if the swd has
-	 * not been fully processed by the player yet. 
-	 */
-	public boolean hasAllSource()
-	{
-		boolean yes = false;
-		int expect = getSourceExpectedCount();
-		int have = getSourceCount();
-
-		// if they are equal we are done, unless
-		// our expectation has not been set and have not yet loaded our swd
-		if (expect == -1 && isSwdLoading())
-			yes = false;
-		else if (expect == have)
-			yes = true;
-		else
-			yes = false;
-
-		return yes;
-	}
-
-	public void freshen(long id, String path, String url, String host, long port, boolean swdLoading, long swfSize, long swdSize, long bpCount, long offsetCount, long scriptCount, Map<Long,Integer> map, int minId, int maxId)
-	{
-		m_id = (int)id;
-		m_path = path;
-		m_url = url;
-		m_host = host;
-		m_port = (int)port;
-		m_swfSize = (int)swfSize;
-		m_swdSize = (int)swdSize;
-		m_bpCount = (int)bpCount;
-		m_offsetCount = (int)offsetCount;
-		m_local2Global = map;
-		m_minId = (swdSize > 0) ? minId : 0;
-		m_maxId = (swdSize > 0) ? maxId : 0;
-		m_swdLoading = swdLoading;
-		m_numRefreshes++;
-
-		// only touch expected count if swd already loaded
-		if (!swdLoading)
-			m_scriptsExpected = (int)scriptCount;
-	}
-
-	/**
-	 * Locate the given offset within the swf
-	 */
-	public ActionLocation locate(int offset)
-	{
-		return m_container.locationLessOrEqualTo(offset);
-	}
-
-	/**
-	 * Ask the container to locate the next line
-	 * record following the location specified in the 
-	 * location, without spilling over into the next
-	 * action list
-	 */
-	public ActionLocation locateSourceLineEnd(ActionLocation l)
-	{
-		return locateSourceLineEnd(l, -1);
-	}
-
-	public ActionLocation locateSourceLineEnd(ActionLocation l, int stopAt)
-	{
-		ActionLocation end = m_container.endOfSourceLine(l);
-		if (stopAt > -1 && end.at > stopAt)
-			end.at = stopAt;
-		return end;
-	}
-
-	/**
-	 * Use the local2global script id map that was provided by the
-	 * Player, so that we can take the local id contained in the swd
-	 * and convert it to a global one that the player has annointed
-	 * to this script.
-	 */
-	int local2Global(long id)
-	{
-		Integer g = m_local2Global.get(id);
-		if (g != null)
-			id = g.intValue();
-
-		return (int) id;
-	}
-
-	/**
-	 * Freshen the contents of this object with the given swf info
-	 * The items that we touch are all swd related, as everything else
-	 * has arrriave
-	 */
-
-	// temporary while we parse
-	DManager m_manager;
-	private int m_isolateId = Isolate.DEFAULT_ID;
-
-	/**
-	 * Extracts information out of the SWF/SWD in order to populate
-	 * function line number tables in SourceFile variabels.
-	 */
-	public void parseSwfSwd(DManager manager)
-	{
-		m_manager = manager;
-
-		// suck in the swf/swd into action lists and then walk the lists
-		// looking for LineRecords
-		m_container = new LineFunctionContainer(m_swf, m_swd);
-		m_container.combForLineRecords(this);
-
-		// we are done, sucess or no
-		setPopulated();
-
-		// log event that we have complete done
-		manager.addEvent(new FunctionMetaDataAvailableEvent());
-		m_manager = null;
-	}
-
-	/**
-	 * This is a callback function from LineFunctionContainer.combForLineRecords()
-	 * We extract what we want and then update the associated module
-	 */
-	public void processLineRecord(ActionLocation where, LineRecord r)
-	{
-		int line = r.lineno;
-		String func = (where.function == null) ? null : where.function.name;
-		DebugModule dm = r.module;
-
-		// locate the source file
-		int id = -1;
-		DModule module;
-
-		if (dm == null || where.at == -1)
-			;
-		else if ( (id = local2Global(dm.id)) < 0 )
-			;
-		else if ( (module = m_manager.getSource(id, Isolate.DEFAULT_ID)) == null )
-			;
-		else
-			module.addLineFunctionInfo(where.actions.getOffset(where.at), line, func);
-	}
-
-	/* for debugging */
-	@Override
-	public String toString() {
-		return m_path;
-	}
-
-	@Override
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DValue.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DValue.java
deleted file mode 100644
index 2652ba1..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DValue.java
+++ /dev/null
@@ -1,534 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.ValueAttribute;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.expression.Context;
-
-/**
- * Implementation of an ActionScript value.
- */
-public class DValue implements Value
-{
-	/** @see VariableType */
-	private int			m_type;
-
-	/** @see Variable#getTypeName() */
-	private String		m_typeName;
-
-	/** @see Variable#getClassName() */
-	private String		m_className;
-
-	/** @see ValueAttribute */
-	private int			m_attribs;
-
-	/** Maps "varname" (without its namespace) to a Variable */
-	private Map<String, DVariable> m_members;
-
-	/**
-	 * Either my own ID, or else my parent's ID if I am <code>__proto__</code>.
-	 */
-	long				m_nonProtoId;
-
-	/**
-	 * <code>m_value</code> can have one of several possible meanings:
-	 *
-	 * <ul>
-	 * <li> If this variable's value is an <code>Object</code> or a <code>MovieClip</code>,
-	 *      then <code>m_value</code> contains the ID of the <code>Object</code> or
-	 *      <code>MovieClip</code>, stored as a <code>Long</code>. </li>
-	 * <li> If this variable refers to a Getter which has not yet been invoked, then
-	 *      <code>m_value</code> contains the ID of the Getter, stored as a
-	 *      <code>Long</code>. </li>
-	 * <li> If this variable's value is <code>undefined</code>, then <code>m_value</code>
-	 *      will be equal to <code>Value.UNDEFINED</code>.
-	 * <li> Otherwise, this variable's value is a simple type such as <code>int</code> or
-	 *      <code>String</code>, in which case <code>m_value</code> holds the actual value.
-	 * </ul>
-	 */
-	private Object		m_value;
-
-	/**
-	 * The list of classes that contributed members to this object, from
-	 * the class itself all the way down to Object.
-	 */
-	private String[] m_classHierarchy;
-
-	/**
-	 * How many members of <code>m_classHierarchy</code> actually contributed
-	 * members to this object.
-	 */
-	private int m_levelsWithMembers;
-
-	private Session m_session;
-	
-	/** Maps duplicate private "varname" to a list of Variable objects */
-	private Map<String, List<DVariable>> m_inheritedPrivates;
-	
-	private int m_isolateId;
-
-
-	/**
-	 * Create a top-level variable which has no parent.  This may be used for
-	 * _global, _root, stack frames, etc.
-	 *
-	 * @param id the ID of the variable
-	 */
-	public DValue(long id, int isolateId)
-	{
-		init(VariableType.UNKNOWN, null, null, 0, new Long(id));
-		setIsolateId(isolateId);
-	}
-
-	/**
-	 * Create a value.
-	 *
-	 * @param type see <code>VariableType</code>
-	 * @param typeName
-	 * @param className
-	 * @param attribs
-	 *            the attributes of this value; see <code>ValueAttribute</code>
-	 * @param value
-	 *            for an Object or MovieClip, this should be a Long which contains the
-	 *            ID of this variable.  For a variable of any other type, such as integer
-	 *            or string, this should be the value of the variable.
-	 * @param isolateId
-	 * 			  the worker to which this value belongs
-	 */
-	public DValue(int type, String typeName, String className, int attribs, Object value, int isolateId)
-	{
-		init(type, typeName, className, attribs, value);
-		setIsolateId(isolateId);
-	}
-
-	/**
-	 * Constructs a DValue for a primitive value (null, undefined, Boolean, Number, String).
-	 * 
-	 * There is nothing special about these objects -- it would be just as legitimate for
-	 * anyone who wants a Value for a primitive to make their own subclass of Value.
-	 */
-	public static DValue forPrimitive(Object primitiveValue, int isolateId)
-	{
-		if (primitiveValue == null)
-			return new DValue(VariableType.NULL, "null", "", 0, primitiveValue, isolateId); //$NON-NLS-1$ //$NON-NLS-2$
-		else if (primitiveValue == Value.UNDEFINED)
-			return new DValue(VariableType.UNDEFINED, "undefined", "", 0, primitiveValue, isolateId); //$NON-NLS-1$ //$NON-NLS-2$
-		else if (primitiveValue instanceof Boolean)
-			return new DValue(VariableType.BOOLEAN, "Boolean", "", 0, primitiveValue, isolateId); //$NON-NLS-1$ //$NON-NLS-2$
-		else if (primitiveValue instanceof Double)
-			return new DValue(VariableType.NUMBER, "Number", "", 0, primitiveValue, isolateId); //$NON-NLS-1$ //$NON-NLS-2$
-		else if (primitiveValue instanceof String)
-			return new DValue(VariableType.STRING, "String", "", 0, primitiveValue, isolateId); //$NON-NLS-1$ //$NON-NLS-2$
-		assert false;
-		return null;
-	}
-
-	/**
-	 * Initialize a variable.
-	 *
-	 * For the meanings of the arguments, see the DVariable constructor.
-	 */
-	private void init(int type, String typeName, String className, int attribs, Object value)
-	{
-		if (value == null && type == VariableType.UNDEFINED)
-			value = Value.UNDEFINED;
-
-		m_type = type;
-		m_typeName = typeName;
-		m_className = className;
-		m_attribs = attribs;
-		m_value = value;
-		m_members = null;
-		m_inheritedPrivates = null;
-		m_nonProtoId = getId();
-		m_isolateId = Isolate.DEFAULT_ID;
-	}
-	
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-	
-	public void setIsolateId(int isolateid) {
-		m_isolateId = isolateid;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getAttributes()
-	 */
-	public int getAttributes()
-	{
-		return m_attribs;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getClassName()
-	 */
-	public String getClassName()
-	{
-		return m_className;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getId()
-	 */
-	public long getId()
-	{
-		// see if we support an id concept
-		if (m_value instanceof Long)
-			return ((Long)m_value).longValue();
-		else
-			return Value.UNKNOWN_ID;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getMemberCount(flash.tools.debugger.Session)
-	 */
-	public int getMemberCount(Session s) throws NotSuspendedException,
-			NoResponseException, NotConnectedException
-	{
-		obtainMembers(s);
-		return (m_members == null) ? 0 : m_members.size();
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getMemberNamed(flash.tools.debugger.Session, java.lang.String)
-	 */
-	public Variable getMemberNamed(Session s, String name)
-			throws NotSuspendedException, NoResponseException,
-			NotConnectedException
-	{
-		obtainMembers(s);
-		return findMember(name);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getClassHierarchy(boolean)
-	 */
-	public String[] getClassHierarchy(boolean allLevels) {
-		if (allLevels) {
-			return m_classHierarchy;
-		} else {
-			String[] partialClassHierarchy;
-
-			if (m_classHierarchy != null)
-			{
-				partialClassHierarchy = new String[m_levelsWithMembers];
-				System.arraycopy(m_classHierarchy, 0, partialClassHierarchy, 0, m_levelsWithMembers);
-			}
-			else
-			{
-				partialClassHierarchy = new String[0];
-			}
-			return partialClassHierarchy;
-		}
-	}
-
-	/* TODO should this really be public? */
-	public DVariable findMember(String named)
-	{
-		if (m_members == null)
-			return null;
-		else
-			return m_members.get(named);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getMembers(flash.tools.debugger.Session)
-	 */
-	public Variable[] getMembers(Session s) throws NotSuspendedException,
-			NoResponseException, NotConnectedException
-	{
-		obtainMembers(s);
-
-		/* find out the size of the array */
-		int count = getMemberCount(s);
-		DVariable[] ar = new DVariable[count];
-
-		if (count > 0)
-		{
-			count = 0;
-			Iterator<DVariable> itr = m_members.values().iterator();
-			while(itr.hasNext())
-			{
-				DVariable  sf = itr.next();
-				ar[count++] = sf;
-			}
-
-			// sort the member list by name
-			Arrays.sort(ar);
-		}
-
-		return ar;
-	}
-
-	/**
-	 * WARNING: this call will initiate a call to the session to obtain the members
-	 * the first time around.
-	 * @throws NotConnectedException
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException
-	 */
-	private void obtainMembers(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		if (s == null)
-			s = m_session;
-		else
-			m_session = s;
-
-		if (m_members == null && s != null)
-		{
-			// performing a get on this variable obtains all its members
-			long id = getId();
-			if (id != Value.UNKNOWN_ID)
-			{
-				if (((PlayerSession)s).getRawValue(id, m_isolateId) == this)
-					((PlayerSession)s).obtainMembers(id, m_isolateId);
-				if (m_members != null)
-				{
-					Iterator<DVariable> iter = m_members.values().iterator();
-					while (iter.hasNext())
-					{
-						Object next = iter.next();
-						if (next instanceof DVariable)
-						{
-							((DVariable)next).setSession(s);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	public boolean membersObtained()
-	{
-		return (getId() == UNKNOWN_ID || m_members != null);
-	}
-
-	public void setMembersObtained(boolean obtained)
-	{
-		if (obtained)
-		{
-			if (m_members == null)
-				m_members = Collections.emptyMap();
-			if (m_inheritedPrivates == null)
-				m_inheritedPrivates = Collections.emptyMap();
-		}
-		else
-		{
-			m_members = null;
-			m_inheritedPrivates = null;
-		}
-	}
-
-	public void addMember(DVariable v)
-	{
-		if (m_members == null)
-			m_members = new HashMap<String, DVariable>();
-
-		// if we are a proto member house away our original parent id
-		String name = v.getName();
-		DValue val = (DValue) v.getValue();
-		val.m_nonProtoId = (name != null && name.equals("__proto__")) ? m_nonProtoId : val.getId(); //$NON-NLS-1$ // TODO is this right?
-		v.m_nonProtoParentId = m_nonProtoId;
-
-		m_members.put(name, v);
-	}
-	
-	public void addInheritedPrivateMember(DVariable v)
-	{
-		if (m_inheritedPrivates == null)
-			m_inheritedPrivates = new HashMap<String, List<DVariable>>();
-
-		// if we are a proto member house away our original parent id
-		String name = v.getName();
-		DValue val = (DValue) v.getValue();
-		val.m_nonProtoId = (name != null && name.equals("__proto__")) ? m_nonProtoId : val.getId(); //$NON-NLS-1$ // TODO is this right?
-		v.m_nonProtoParentId = m_nonProtoId;
-		List<DVariable> resultList = m_inheritedPrivates.get(name);
-		if (resultList == null) {
-			resultList = new ArrayList<DVariable>();
-			resultList.add(v);
-			m_inheritedPrivates.put(name, resultList);
-		}
-		else
-			resultList.add(v);
-		//m_inheritedPrivates.put(name, v);
-	}
-
-	public void removeAllMembers()
-	{
-		m_members = null;
-		m_inheritedPrivates = null;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getType()
-	 */
-	public int getType()
-	{
-		return m_type;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getTypeName()
-	 */
-	public String getTypeName()
-	{
-		return m_typeName;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getValueAsObject()
-	 */
-	public Object getValueAsObject()
-	{
-		return m_value;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#getValueAsString()
-	 */
-	public String getValueAsString()
-	{
-		return getValueAsString(m_value);
-	}
-
-	/**
-	 * @param value an object which might be one of these types:
-	 * Boolean, Integer, Long, Double, String, Value.UNDEFINED (representing
-	 * the value 'undefined'); or null.
-	 */
-	public static String getValueAsString(Object value)
-	{
-		if (value == null)
-			return "null"; //$NON-NLS-1$
-
-		if (value instanceof Double)
-		{
-			// Java often formats whole numbers in ugly ways.  For example,
-			// the number 3 might be formatted as "3.0" and, even worse,
-			// the number 12345678 might be formatted as "1.2345678E7" !
-			// So, if the number has no fractional part, then we override
-			// the default display behavior.
-			double doubleValue = ((Double)value).doubleValue();
-			long longValue = (long) doubleValue;
-			if (doubleValue == longValue)
-				return Long.toString(longValue);
-		}
-
-		return value.toString();
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#isAttributeSet(int)
-	 */
-	public boolean isAttributeSet(int variableAttribute)
-	{
-		return (m_attribs & variableAttribute) != 0;
-	}
-
-	public void	setTypeName(String s)	{ m_typeName = s; }
-	public void	setClassName(String s)	{ m_className = s; }
-	public void setType(int t)			{ m_type = t; }
-	public void setValue(Object o)		{ m_value = o; }
-	public void setAttributes(int f)	{ m_attribs = f; }
-
-	public void setClassHierarchy(String[] classHierarchy, int levelsWithMembers)
-	{
-		m_classHierarchy = classHierarchy;
-		m_levelsWithMembers = levelsWithMembers;
-	}
-
-	public String membersToString()
-	{
-		StringBuilder sb = new StringBuilder();
-
-		/* find out the size of the array */
-		if (m_members == null)
-			sb.append(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("empty")); //$NON-NLS-1$
-		else
-		{
-			Iterator<DVariable> itr = m_members.values().iterator();
-			while(itr.hasNext())
-			{
-				DVariable  sf = itr.next();
-				sb.append(sf);
-				sb.append(",\n"); //$NON-NLS-1$
-			}
-		}
-		return sb.toString();
-	}
-
-	public void setSession(Session s)
-	{
-		m_session = s;
-	}
-
-	/**
-	 * Necessary for expression evaluation.
-	 * @see Context#lookup(Object)
-	 */
-	@Override
-	public String toString() { return getValueAsString(); }
-
-	public Variable[] getPrivateInheritedMembers() {
-		if (m_inheritedPrivates == null)
-			return new DVariable[0];
-		
-		ArrayList<DVariable> finalList = new ArrayList<DVariable>();
-		
-		Iterator<List<DVariable>> itr = m_inheritedPrivates.values().iterator();
-		while(itr.hasNext())
-		{
-			List<DVariable>  varList = itr.next();
-			finalList.addAll(varList);
-		}
-		
-		DVariable[] ar = finalList.toArray(new DVariable[0]);
-		// sort the member list by name
-		Arrays.sort(ar);
-
-		return ar;
-	}
-	
-	public Variable[] getPrivateInheritedMemberNamed(String name) {
-		if (m_inheritedPrivates == null)
-			return new DVariable[0];
-		List<DVariable> list = m_inheritedPrivates.get(name);
-		if (list != null) {
-			return list.toArray(new Variable[0]);
-		}
-		return new DVariable[0];
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DVariable.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DVariable.java
deleted file mode 100644
index 16d6799..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DVariable.java
+++ /dev/null
@@ -1,517 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableAttribute;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.events.FaultEvent;
-import flash.tools.debugger.expression.Context;
-
-public class DVariable implements Variable, Comparable
-{
-	/**
-	 * The raw name, exactly as it came back from the Player.  For example, this
-	 * might be <code>mynamespace@12345678::myvar</code>, which indicates that
-	 * the variable is in namespace "mynamespace", which has atom 12345678.
-	 */
-	private String		m_rawName;
-
-	/** Just name, without namespace */
-	private String		m_name;
-
-	/** @see Variable#getNamespace() */
-	private String		m_namespace = ""; //$NON-NLS-1$
-
-	/** @see VariableAttribute */
-	private int			m_attribs;
-
-	/**
-	 * The variable's value.
-	 */
-	protected Value		m_value;
-
-	/**
-	 * Whether we have fired the getter for this value.  Only applicable if
-	 * the VariableAttribute.HAS_GETTER attribute is set.
-	 */
-	private boolean		m_firedGetter;
-
-	/**
-	 * The class in which this member was actually defined.  For example, if class
-	 * B extends class A, and class A has member variable V, then for variable
-	 * V, the defining class is always "A", even though the parent variable might
-	 * be an instance of class B.
-	 */
-	private String		m_definingClass;
-
-	/**
-	 * The variable's "level" -- see <code>Variable.getLevel()</code>
-	 * @see Variable#getLevel()
-	 */
-	private byte		m_level;
-
-	/**
-	 * The session object that was used when creating this variable, if known.
-	 */
-	private Session		m_session;
-
-	/**
-	 * My parent's <code>m_nonProtoId</code>.  In other words, either my
-	 * parent's ID, or else my parent's parent's ID if my parent is <code>__proto__</code>.
-	 */
-	long				m_nonProtoParentId;
-	
-	/**
-	 * The worker to which this variable belongs.
-	 */
-	private int m_isolateId;
-
-	/**
-	 * Create a variable and its value.
-	 *
-	 * @param name
-	 *            the name of the variable within the context of its parent.  For example,
-	 *            when resolving member "bar" of object "foo", the name will be "bar".
-	 * @param value
-	 *            the variable's value.
-	 */
-	public DVariable(String name, DValue value, int isolateId)
-	{
-		m_rawName = name;
-		m_attribs = value.getAttributes();
-		
-		// If the name contains "::", then the name is of the form "namespace::name"
-		if (name != null)
-		{
-			/**
-			 * anirudhs - Compute namespace only for non-public variables.
-			 * This check helps us avoid cases where public variables have
-			 * dynamic keys with :: in them. See FB-26126.
-			 */
-			if (!isAttributeSet(VariableAttribute.PUBLIC_SCOPE)) 
-			{
-				int doubleColon = name.lastIndexOf("::"); //$NON-NLS-1$
-				if (doubleColon >= 0)
-				{
-					m_namespace = name.substring(0, doubleColon);
-					int at = m_namespace.indexOf('@');
-					if (at != -1)
-						m_namespace = m_namespace.substring(0, at);
-					
-					name = name.substring(doubleColon+2);
-				}
-			}
-		}
-
-		m_name = name;
-		m_nonProtoParentId = Value.UNKNOWN_ID;
-		m_value = value;
-		value.setSession(m_session);
-		m_isolateId = isolateId;
-	}
-
-	/* getters/setters */
-	public String		getName()				{ return m_name; }
-	public int			getAttributes()			{ return m_attribs; }
-	public String		getNamespace()			{ return m_namespace; }
-	public int			getScope()				{ return m_attribs & VariableAttribute.SCOPE_MASK; }
-	public int			getLevel()				{ return m_level; }
-	public String		getDefiningClass()		{ return m_definingClass; }
-	
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-	
-	public void makePublic()
-	{
-		int attributes = getAttributes();
-		attributes &= ~VariableAttribute.SCOPE_MASK;
-		attributes |= VariableAttribute.PUBLIC_SCOPE;
-		setAttributes(attributes);
-		
-		m_namespace = ""; //$NON-NLS-1$
-	}
-
-	/*
-	 * @see flash.tools.debugger.Variable#getValue()
-	 */
-	public Value getValue()
-	{
-		if (m_session != null && m_session.getPreference(SessionManager.PREF_INVOKE_GETTERS) != 0) {
-			try {
-				invokeGetter(m_session);
-			} catch (NotSuspendedException e) {
-				// fall through -- return raw value without invoking getter
-			} catch (NoResponseException e) {
-				// fall through -- return raw value without invoking getter
-			} catch (NotConnectedException e) {
-				// fall through -- return raw value without invoking getter
-			}
-		}
-
-		return m_value;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Variable#hasValueChanged(flash.tools.debugger.Session)
-	 */
-	public boolean hasValueChanged(Session s)
-	{
-		boolean hasValueChanged = false;
-		if (s instanceof PlayerSession)
-		{
-			Value previousParent = ((PlayerSession)s).getPreviousValue(m_nonProtoParentId, m_isolateId);
-			if (previousParent != null)
-			{
-				try {
-					Variable previousMember = previousParent.getMemberNamed(null, getName());
-					// If the old variable had a getter but never invoked that getter,
-					// then it's too late, we don't know the old value. 
-					if (previousMember instanceof DVariable && !previousMember.needsToInvokeGetter())
-					{
-						Value previousValue = ((DVariable)previousMember).m_value;
-						if (previousValue != null)
-						{
-							String previousValueAsString = previousValue.getValueAsString();
-							if (previousValueAsString != null)
-							{
-								if (!previousValueAsString.equals(getValue().getValueAsString()))
-								{
-									hasValueChanged = true;
-								}
-							}
-						}
-					}
-				} catch (PlayerDebugException e) {
-					// ignore
-				}
-			}
-		}
-		return hasValueChanged;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#setScalarMember(int, java.lang.String, int, java.lang.String)
-	 */
-	public FaultEvent setValue(Session s, int type, String value) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		return ((PlayerSession)s).setScalarMember(m_nonProtoParentId, m_rawName, type, value, m_isolateId);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Variable#isAttributeSet(int)
-	 */
-	public boolean isAttributeSet(int att)
-	{
-		if ((att & VariableAttribute.SCOPE_MASK) == att)
-			return (getScope() == att);
-		else
-			return ( ( (getAttributes() & att) == att) ? true : false );
-	}
-
-	public void clearAttribute(int att)
-	{
-		if ((att & VariableAttribute.SCOPE_MASK) == att)
-			m_attribs = (m_attribs & ~VariableAttribute.SCOPE_MASK) | VariableAttribute.PUBLIC_SCOPE;
-		else
-			m_attribs &= ~att;
-	}
-
-	public void setAttribute(int att)
-	{
-		if ((att & VariableAttribute.SCOPE_MASK) == att)
-			m_attribs = (m_attribs & ~VariableAttribute.SCOPE_MASK) | att;
-		else
-			m_attribs |= att;
-	}
-
-	public String getRawName()
-	{
-		return m_rawName;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Variable#getQualifiedName()
-	 */
-	public String getQualifiedName()
-	{
-		if (m_namespace.length() > 0)
-			return m_namespace + "::" + m_name; //$NON-NLS-1$
-		else
-			return m_name;
-	}
-
-	/**
-	 * Comparator interface for sorting Variables
-	 */
-	public int compareTo(Object o2)
-	{
-		Variable v2 = (Variable)o2;
-
-		String n1 = getName();
-		String n2 = v2.getName();
-		
-		return String.CASE_INSENSITIVE_ORDER.compare(n1, n2);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Variable#needsToFireGetter()
-	 */
-	public boolean needsToInvokeGetter()
-	{
-		// If this variable has a getter, and the getter has not yet been invoked
-		return (isAttributeSet(VariableAttribute.HAS_GETTER) && m_value.getId() != Value.UNKNOWN_ID && !m_firedGetter);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Value#invokeGetter(flash.tools.debugger.Session)
-	 */
-	public void invokeGetter(Session s) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		if (needsToInvokeGetter())
-		{
-			PlayerSession playerSession = (PlayerSession) s;
-
-			// If this Variable is stale (that is, the program has run since this Variable
-			// was created), then we can't invoke the getter.
-			if (playerSession.getRawValue(m_value.getId(), m_isolateId) == m_value)
-			{
-				// temporarily turn on "invoke getters" preference
-				int oldInvokeGetters = playerSession.getPreference(SessionManager.PREF_INVOKE_GETTERS);
-				playerSession.setPreference(SessionManager.PREF_INVOKE_GETTERS, 1);
-
-				try {
-					// fire the getter using the original object id. make sure we get something reasonable back
-					Value v = playerSession.getValue(m_nonProtoParentId, getRawName(), m_isolateId);
-					if (v != null)
-					{
-						m_value = v;
-						m_firedGetter = true;
-						if (m_value instanceof DValue)
-							((DValue)m_value).setSession(s);
-					}
-				} finally {
-					playerSession.setPreference(SessionManager.PREF_INVOKE_GETTERS, oldInvokeGetters);
-				}
-			}
-		}
-	}
-
-	public void	setName(String s)		{ m_name = s; }
-	public void setAttributes(int f)	{ m_attribs = f; ((DValue)getValue()).setAttributes(f); }
-
-	public void setSession(Session s)
-	{
-		m_session = s;
-		if (m_value instanceof DValue)
-			((DValue)m_value).setSession(s);
-	}
-
-	public void setDefiningClass(int level, String definingClass)
-	{
-		m_level = (byte) Math.min(level, 255);
-		m_definingClass = definingClass;
-	}
-
-	/**
-	 * Added so that expressions such as <code>a.b.c = e.f</code> work in the command-line interface.
-	 * @see Context#lookup(Object)
-	 */
-	@Override
-	public String toString() { return getValue().getValueAsString(); }
-
-	/**
-	 * Return the internal player string type representation for this variable.
-	 * Currently used for passing in the type to the Player when doing
-	 * a set variable command
-	 */
-	public static String typeNameFor(int type)
-	{
-		String s = "string"; //$NON-NLS-1$
-		switch(type)
-		{
-			case VariableType.NUMBER:
-				s = "number"; //$NON-NLS-1$
-				break;
-
-			case VariableType.BOOLEAN:
-				s = "boolean"; //$NON-NLS-1$
-				break;
-
-			case VariableType.STRING:
-				s = "string"; //$NON-NLS-1$
-				break;
-
-			case VariableType.OBJECT:
-				s = "object"; //$NON-NLS-1$
-				break;
-
-			case VariableType.FUNCTION:
-				s = "function"; //$NON-NLS-1$
-				break;
-
-			case VariableType.MOVIECLIP:
-				s = "movieclip"; //$NON-NLS-1$
-				break;
-
-			case VariableType.NULL:
-				s = "null"; //$NON-NLS-1$
-				break;
-
-			case VariableType.UNDEFINED:
-			case VariableType.UNKNOWN:
-			default:
-				s = "undefined"; //$NON-NLS-1$
-				break;
-		}
-		return s;
-	}
-
-	/**
-	 * These values are obtained directly from the Player.
-	 * See ScriptObject in splay.h.
-	 */
-	public static final int kNormalObjectType			= 0;
-	public static final int kXMLSocketObjectType		= 1;
-	public static final int kTextFieldObjectType		= 2;
-	public static final int kButtonObjectType			= 3;
-	public static final int kNumberObjectType			= 4;
-	public static final int kBooleanObjectType			= 5;
-	public static final int kNativeStringObject			= 6;
-	public static final int kNativeArrayObject			= 7;
-	public static final int kDateObjectType				= 8;
-	public static final int kSoundObjectType			= 9;
-	public static final int kNativeXMLDoc				= 10;
-	public static final int kNativeXMLNode				= 11;
-	public static final int kNativeCameraObject			= 12;
-	public static final int kNativeMicrophoneObject		= 13;
-	public static final int kNativeCommunicationObject	= 14;
-	public static final int kNetConnectionObjectType  	= 15;
-	public static final int kNetStreamObjectType		= 16;
-	public static final int kVideoObjectType			= 17;
-	public static final int kTextFormatObjectType		= 18;
-	public static final int kSharedObjectType			= 19;
-	public static final int kSharedObjectDataType		= 20;
-	public static final int kPrintJobObjectType			= 21;
-	public static final int kMovieClipLoaderObjectType	= 22;
-	public static final int kStyleSheetObjectType		= 23;
-	public static final int kFapPacketDummyObject		= 24;
-	public static final int kLoadVarsObject				= 25;
-	public static final int kTextSnapshotType			= 26;
-
-	public static String classNameFor(long clsType, boolean isMc)
-	{
-		String clsName;
-		switch ((int)clsType)
-		{
-			case kNormalObjectType:
-				clsName = (isMc) ? "MovieClip" : "Object"; //$NON-NLS-1$ //$NON-NLS-2$
-				break;
-			case kXMLSocketObjectType:
-				clsName = "XMLSocket"; //$NON-NLS-1$
-				break;
-			case kTextFieldObjectType:
-				clsName = "TextField"; //$NON-NLS-1$
-				break;
-			case kButtonObjectType:
-				clsName = "Button"; //$NON-NLS-1$
-				break;
-			case kNumberObjectType:
-				clsName = "Number"; //$NON-NLS-1$
-				break;
-			case kBooleanObjectType:
-				clsName = "Boolean"; //$NON-NLS-1$
-				break;
-			case kNativeStringObject:
-				clsName = "String"; //$NON-NLS-1$
-				break;
-			case kNativeArrayObject:
-				clsName = "Array"; //$NON-NLS-1$
-				break;
-			case kDateObjectType:
-				clsName = "Date"; //$NON-NLS-1$
-				break;
-			case kSoundObjectType:
-				clsName = "Sound"; //$NON-NLS-1$
-				break;
-			case kNativeXMLDoc:
-				clsName = "XML"; //$NON-NLS-1$
-				break;
-			case kNativeXMLNode:
-				clsName = "XMLNode"; //$NON-NLS-1$
-				break;
-			case kNativeCameraObject:
-				clsName = "Camera"; //$NON-NLS-1$
-				break;
-			case kNativeMicrophoneObject:
-				clsName = "Microphone"; //$NON-NLS-1$
-				break;
-			case kNativeCommunicationObject:
-				clsName = "Communication"; //$NON-NLS-1$
-				break;
-			case kNetConnectionObjectType:
-				clsName = "Connection"; //$NON-NLS-1$
-				break;
-			case kNetStreamObjectType:
-				clsName = "Stream"; //$NON-NLS-1$
-				break;
-			case kVideoObjectType:
-				clsName = "Video"; //$NON-NLS-1$
-				break;
-			case kTextFormatObjectType:
-				clsName = "TextFormat"; //$NON-NLS-1$
-				break;
-			case kSharedObjectType:
-				clsName = "SharedObject"; //$NON-NLS-1$
-				break;
-			case kSharedObjectDataType:
-				clsName = "SharedObjectData"; //$NON-NLS-1$
-				break;
-			case kPrintJobObjectType:
-				clsName = "PrintJob"; //$NON-NLS-1$
-				break;
-			case kMovieClipLoaderObjectType:
-				clsName = "MovieClipLoader"; //$NON-NLS-1$
-				break;
-			case kStyleSheetObjectType:
-				clsName = "StyleSheet"; //$NON-NLS-1$
-				break;
-			case kFapPacketDummyObject:
-				clsName = "FapPacket"; //$NON-NLS-1$
-				break;
-			case kLoadVarsObject:
-				clsName = "LoadVars"; //$NON-NLS-1$
-				break;
-			case kTextSnapshotType:
-				clsName = "TextSnapshot"; //$NON-NLS-1$
-				break;
-			default:
-				clsName = PlayerSessionManager.getLocalizationManager().getLocalizedTextString("unknown") + "<" + clsType + ">"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				break;
-		}
-		return clsName;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/DWatch.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/DWatch.java
deleted file mode 100644
index 35b2c41..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/DWatch.java
+++ /dev/null
@@ -1,50 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.Watch;
-
-/**
- * Holder of Watchpoint information
- */
-public class DWatch implements Watch
-{
-	long		m_parentValueId;
-	String		m_rawMemberName; // corresponds to Variable.getRawName()
-	int			m_kind;
-	int			m_tag;
-	int m_isolateId;
-
-	public DWatch(long id, String name, int kind, int tag, int isolateId)
-	{
-		m_parentValueId = id;
-		m_rawMemberName = name;
-		m_kind = kind;
-		m_tag = tag;
-		m_isolateId = isolateId;
-	}
-
-    public long			getValueId()	{ return m_parentValueId; }
-	public String		getMemberName()	{ return m_rawMemberName; }
-    public int			getKind()		{ return m_kind; }
-    public int			getTag()		{ return m_tag; }
-    
-    public int getIsolateId() {
-    	return m_isolateId;
-    }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/GetVariableFlag.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/GetVariableFlag.java
deleted file mode 100644
index f7604ec..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/GetVariableFlag.java
+++ /dev/null
@@ -1,63 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-/**
- * Flags to the OutGetVariable and OutGetVariableWhichInvokesGetter commands
- * which are sent from the debugger to the player.
- * 
- * These values must be kept in sync with 'enum OutGetVariableFlags' in
- * the player's playerdebugger.h file.
- *
- * @author mmorearty
- */
-public interface GetVariableFlag
-{
-	/**
-	 * Indicates that if the variable which is being retrieved is a
-	 * getter, then the player should invoke the getter and return
-	 * the result.  If this flag is *not* set, then the player will
-	 * simply return the address of the getter itself.
-	 */
-	public static final int INVOKE_GETTER			= 0x00000001;
-
-	/**
-	 * Indicates that if the variable which is being retrieved is a
-	 * compound object (e.g. an instance of a class, as opposed to
-	 * a string or int or something like that), then the player
-	 * should also return all of the child members of the object.
-	 */
-	public static final int ALSO_GET_CHILDREN		= 0x00000002;
-	
-	/**
-	 * Indicates that when retrieving children, we only want fields
-	 * and getters -- we are not interested in regular functions.
-	 * This is an optimization to decrease the amount of network
-	 * traffic.
-	 */
-	public static final int DONT_GET_FUNCTIONS		= 0x00000004;
-
-	/**
-	 * Indicates that when retrieving children, we also want to
-	 * know exactly which class each child was defined in.  For
-	 * example, if the variable is of class Foo which extends
-	 * class Bar, we want to know which member fields came from
-	 * Foo and which ones came from Bar.
-	 */
-	public static final int GET_CLASS_HIERARCHY		= 0x00000008;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/IsolatePlayerSession.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/IsolatePlayerSession.java
deleted file mode 100644
index 887b9c0..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/IsolatePlayerSession.java
+++ /dev/null
@@ -1,221 +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.
- */
-package flash.tools.debugger.concrete;
-
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.IsolateController;
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSupportedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VersionException;
-import flash.tools.debugger.Watch;
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * Concrete implementation of IsolateSession. Re-routes
- * calls to the *worker() method equivalents.
- * @author anirudhs
- *
- */
-public class IsolatePlayerSession implements IsolateSession {
-
-	private IsolateController fSession;
-	private int fIsolateId;
-	
-	public IsolatePlayerSession(int isolateId, IsolateController mainSession) {
-		fIsolateId = isolateId;
-		fSession = mainSession;
-	}
-	
-	@Override
-	public void resume() throws NotSuspendedException, NotConnectedException,
-			NoResponseException {
-		fSession.resumeWorker(fIsolateId);
-	}
-
-	@Override
-	public void suspend() throws SuspendedException, NotConnectedException,
-			NoResponseException {
-		fSession.suspendWorker(fIsolateId);
-	}
-
-	@Override
-	public boolean isSuspended() throws NotConnectedException {
-		return fSession.isWorkerSuspended(fIsolateId);
-	}
-
-	@Override
-	public int suspendReason() throws NotConnectedException {
-		return fSession.suspendReasonWorker(fIsolateId);
-	}
-
-	@Override
-	public Frame[] getFrames() throws NotConnectedException {
-		return fSession.getFramesWorker(fIsolateId);
-	}
-
-	@Override
-	public void stepInto() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		fSession.stepIntoWorker(fIsolateId);
-	}
-
-	@Override
-	public void stepOut() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		fSession.stepOutWorker(fIsolateId);
-	}
-
-	@Override
-	public void stepOver() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		fSession.stepOverWorker(fIsolateId);
-	}
-
-	@Override
-	public void stepContinue() throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		fSession.stepContinueWorker(fIsolateId);
-	}
-
-	@Override
-	public SwfInfo[] getSwfs() throws NoResponseException {
-		return fSession.getSwfsWorker(fIsolateId);
-	}
-
-	@Override
-	public Location setBreakpoint(int fileId, int lineNum)
-			throws NoResponseException, NotConnectedException {
-		return fSession.setBreakpointWorker(fileId, lineNum, fIsolateId);
-	}
-
-	@Override
-	public Watch[] getWatchList() throws NoResponseException,
-			NotConnectedException {
-		return fSession.getWatchListWorker(fIsolateId);
-	}
-
-	@Override
-	public Variable[] getVariableList() throws NotSuspendedException,
-			NoResponseException, NotConnectedException, VersionException {
-		return fSession.getVariableListWorker(fIsolateId);
-	}
-
-	@Override
-	public Value getValue(long valueId) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		return fSession.getValueWorker(valueId, fIsolateId);
-	}
-
-	@Override
-	public Value getGlobal(String name) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		return fSession.getGlobalWorker(name, fIsolateId);
-	}
-
-	@Override
-	public boolean evalIs(Value value, Value type) throws PlayerDebugException,
-			PlayerFaultException {
-		return fSession.evalIsWorker(value, type, fIsolateId);
-	}
-
-	@Override
-	public boolean evalIs(Value value, String type)
-			throws PlayerDebugException, PlayerFaultException {
-		return fSession.evalIsWorker(value, type, fIsolateId);
-	}
-
-	@Override
-	public boolean evalInstanceof(Value value, Value type)
-			throws PlayerDebugException, PlayerFaultException {
-		return fSession.evalInstanceofWorker(value, type, fIsolateId);
-	}
-
-	@Override
-	public boolean evalInstanceof(Value value, String type)
-			throws PlayerDebugException, PlayerFaultException {
-		return fSession.evalInstanceofWorker(value, type, fIsolateId);
-	}
-
-	@Override
-	public boolean evalIn(Value property, Value object)
-			throws PlayerDebugException, PlayerFaultException {
-		return fSession.evalInWorker(property, object, fIsolateId);
-	}
-
-	@Override
-	public Value evalAs(Value value, Value type) throws PlayerDebugException,
-			PlayerFaultException {
-		return fSession.evalAsWorker(value, type, fIsolateId);
-	}
-
-	@Override
-	public Value callFunction(Value thisObject, String functionName,
-			Value[] args) throws PlayerDebugException {
-		return fSession.callFunctionWorker(thisObject, functionName, args, fIsolateId);
-	}
-
-	@Override
-	public Value callConstructor(String classname, Value[] args)
-			throws PlayerDebugException {
-		return fSession.callConstructorWorker(classname, args, fIsolateId);
-	}
-	
-	@Override
-	public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException {
-		return fSession.setExceptionBreakpointWorker(exceptionClass, fIsolateId);
-	}
-
-	@Override
-	public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException {
-		return fSession.clearExceptionBreakpointWorker(exceptionClass, fIsolateId);
-	}
-
-	@Override
-	public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException {
-		fSession.breakOnCaughtExceptions(b, fIsolateId);
-	}
-
-	@Override
-	public boolean supportsWatchpoints() {
-		return fSession.supportsWatchpoints(fIsolateId);
-	}
-
-	@Override
-	public boolean playerCanBreakOnAllExceptions() {
-		return fSession.playerCanBreakOnAllExceptions(fIsolateId);
-	}
-
-	@Override
-	public boolean supportsWideLineNumbers() {
-		return fSession.supportsWideLineNumbers(fIsolateId);
-	}
-
-	@Override
-	public boolean playerCanCallFunctions() {
-		return fSession.playerCanCallFunctions(fIsolateId);
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/LineFunctionContainer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/LineFunctionContainer.java
deleted file mode 100644
index 57d1d31..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/LineFunctionContainer.java
+++ /dev/null
@@ -1,162 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import flash.swf.Action;
-import flash.swf.ActionConstants;
-import flash.swf.types.ActionList;
-import flash.swf.actions.DefineFunction;
-import flash.swf.debug.LineRecord;
-import flash.tools.ActionLocation;
-import flash.swf.MovieMetaData;
-import flash.tools.SwfActionContainer;
-import flash.util.Trace;
-
-/**
- * This class extends the SwfActionContainer.
- * It performs a number of passes on the master
- * action list in order to extract line/function
- * mapping information.
- */
-public class LineFunctionContainer extends SwfActionContainer
-{
-    public LineFunctionContainer(byte[] swf, byte[] swd)
-	{
-		super(swf, swd);
-
-		// now that we've got all the action lists
-		// nicely extracted and lined up we perform a 
-		// bit of magic which modifies the DefineFunction 
-		// records augmenting them with function names 
-		// if they have have none.
-		buildFunctionNames(getMasterList(), getHeader().version);
-	}
-
-	/**
-	 * Use the action list located in the given location
-	 * and return a new action location that corresponds
-	 * to the next line record that is encountered
-	 * after this location.  This routine does not 
-	 * span into another action list.
-	 */
-	public ActionLocation endOfSourceLine(ActionLocation l)
-	{
-		ActionLocation current = new ActionLocation(l);
-		int size = l.actions.size();
-		for(int i= l.at+1; i<size; i++)
-		{
-			// hit a line record => we done
-			Action a = l.actions.getAction(i);
-			if (a.code == ActionList.sactionLineRecord)
-				break;
-
-			// hit a function => we are done
-			if ( (a.code == ActionConstants.sactionDefineFunction) ||
-				 (a.code == ActionConstants.sactionDefineFunction2) )
-				break;
-
-			current.at = i;
-		}
-		return current;
-	}
-
-	/**
-	 * This routine is called from the DSwfInfo object
-	 * and is used to obtain LineRecord information 
-	 * from the ActionLists
-	 */
-	public void combForLineRecords(DSwfInfo info)
-	{
-		probeForLineRecords(getMasterList(), new ActionLocation(), info);
-	}
-
-	/**
-	 * This routine is called from the DSwfInfo object
-	 * and is used to obtain LineRecord information 
-	 * from the ActionLists
-	 * 
-	 * The ActionLocation record is used as a holding
-	 * container for state as we traverse the lists
-	 */
-	void probeForLineRecords(ActionList list, ActionLocation where, DSwfInfo info)
-	{
-		int size = list.size();
-		for(int i=0; i<size; i++)
-		{
-			try
-			{
-				// set our context
-				where.at = i;
-				where.actions = list;
-
-				// pull the action
-				Action a = list.getAction(i);
-
-				// then see if we need to traverse
-				if ( (a.code == ActionConstants.sactionDefineFunction) ||
-					 (a.code == ActionConstants.sactionDefineFunction2) )
-				{
-					where.function = (DefineFunction)a;
-					probeForLineRecords(((DefineFunction)a).actionList, where, info);
-					where.function = null;
-				}
-				else if (a.code == ActionList.sactionLineRecord)
-				{
-					// hit a line record, so let's do our callback
-					info.processLineRecord(where, (LineRecord)a);
-				}
-				else if (a instanceof DummyAction)
-				{
-					// our dummy container, then we drop in
-					where.className = ((DummyAction)a).getClassName();
-					probeForLineRecords(((DummyAction)a).getActionList(), where, info);
-					where.className = null;
-				}
-			}		
-			catch(Exception e)
-			{
-				// this is fairly bad and probably means that we have corrupt line
-				// records in the swd, the exception being an ArrayIndexOutOfBoundsException. 
-				// I've seen this in cases where a bad swc is built by authoring wherein a
-				// script id collision occurs and thus the offset table will contain references
-				// to line numbers that are non existent in one of the scripts.
-				// If its another type of exception...well, hopefully the trace message will
-				// help you track it down :)
-				if (Trace.error)
-				{
-					Trace.trace("Error processing ActionList at "+where.at+" at offset "+where.actions.getOffset(where.at)+" in swf "+info.getUrl()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					e.printStackTrace();
-				}
-			}
-		}
-	}
-
-	/**
-	 * Go off and fill our DefineFunction records with function names.
-	 * @see MovieMetaData#walkActions for a discussion on how this is done.
-	 */
-	void buildFunctionNames(ActionList list, int version)
-	{
-		int size = list.size();
-		for(int i=0; i<size; i++)
-		{
-			DummyAction a = (DummyAction)list.getAction(i);
-			MovieMetaData.walkActions( a.getActionList(), version, null, a.getClassName(), null );
-		}		
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/NetscapePluginPlayer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/NetscapePluginPlayer.java
deleted file mode 100644
index 757c84d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/NetscapePluginPlayer.java
+++ /dev/null
@@ -1,42 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-/**
- * @author mmorearty
- */
-public class NetscapePluginPlayer extends AbstractPlayer
-{
-	/**
-	 * @param path
-	 */
-	public NetscapePluginPlayer(File browserExe, File path)
-	{
-		super(browserExe, path);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getType()
-	 */
-	public int getType()
-	{
-		return NETSCAPE_PLUGIN;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSession.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSession.java
deleted file mode 100644
index f41ed19..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSession.java
+++ /dev/null
@@ -1,3069 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import flash.tools.debugger.AIRLaunchInfo;
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.IDebuggerCallbacks;
-import flash.tools.debugger.ILauncher;
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.IsolateController;
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSupportedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SourceLocator;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.ValueAttribute;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableAttribute;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.VersionException;
-import flash.tools.debugger.Watch;
-import flash.tools.debugger.concrete.DProtocol.ListenerIndex;
-import flash.tools.debugger.events.DebugEvent;
-import flash.tools.debugger.events.ExceptionFault;
-import flash.tools.debugger.events.FaultEvent;
-import flash.tools.debugger.expression.ECMA;
-import flash.tools.debugger.expression.PlayerFaultException;
-import flash.util.Trace;
-
-
-public class PlayerSession implements Session, DProtocolNotifierIF, Runnable, IsolateController
-{
-	public static final int MAX_STACK_DEPTH = 256;
-	public static final long MAX_TERMINATE_WAIT_MILLIS = 10000;
-
-	private Socket				m_socket;
-	private DProtocol			m_protocol;
-	private DManager			m_manager;
-	private IDebuggerCallbacks	m_debuggerCallbacks;
-	private Process				m_process;
-	private Map<String, Object> m_prefs; // WARNING -- accessed from multiple threads
-	private static final String	s_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	private volatile boolean m_isConnected; // WARNING -- accessed from multiple threads
-	private volatile boolean m_isHalted; // WARNING -- accessed from multiple threads
-	private volatile boolean m_incoming; // WARNING -- accessed from multiple threads
-	private volatile boolean m_lastResponse;  // whether there was a reponse from the last message to the Player
-	private volatile HashMap<Integer, PlayerSessionIsolateStatus> m_isolateStatus = new HashMap<Integer, PlayerSessionIsolateStatus>();
-	
-	private int				m_watchTransactionTag;
-	private Boolean			m_playerCanCallFunctions;
-	private Boolean			m_playerSupportsWatchpoints;
-	private Boolean			m_playerCanBreakOnAllExceptions;
-	private Boolean			m_playerSupportsConcurrency;
-	private Boolean			m_playerSupportsWideLine;
-	
-	private ILauncher launcher;
-
-	/**
-	 * The URL that was launched, or <code>null</code> if not known.  Note:
-	 * This is NOT the value returned by getURI().  getURI() returns the
-	 * URL that came from the Player, and is therefore probably the URI of
-	 * the SWF; but m_launchedUrl contains the URL that we tried to launch,
-	 * which might be an HTML wrapper, e.g. http://localhost/myapp.html
-	 */
-	private String				m_launchUrl;
-
-	private AIRLaunchInfo	m_airLaunchInfo; // null if this is not an AIR app
-
-	static volatile boolean	m_debugMsgOn;		// debug ONLY; turned on with "set $debug_messages = 1"
-	volatile int			m_debugMsgSize;		// debug ONLY; controlled with "set $debug_message_size = NNN"
-	static volatile boolean	m_debugMsgFileOn;	// debug ONLY for file dump; turned on with "set $debug_message_file = 1"
-	volatile int			m_debugMsgFileSize;	// debug ONLY for file dump; controlled with "set $debug_message_file_size = NNN"
-
-	//FIXME: Make this concurrency aware
-	/**
-	 * A simple cache of previous "is" and "instanceof" queries, in order to
-	 * avoid having to send redundant messages to the player.
-	 */
-	private Map<String, Boolean> m_evalIsAndInstanceofCache = new HashMap<String, Boolean>();
-	
-	private volatile int m_lastPreIsolate = Isolate.DEFAULT_ID;
-	
-	private final Map<Integer, IsolateSession> m_isolateSessions;
-
-	private static final String DEBUG_MESSAGES = "$debug_messages"; //$NON-NLS-1$
-	private static final String DEBUG_MESSAGE_SIZE = "$debug_message_size"; //$NON-NLS-1$
-	private static final String DEBUG_MESSAGE_FILE = "$debug_message_file"; //$NON-NLS-1$
-	private static final String DEBUG_MESSAGE_FILE_SIZE = "$debug_message_file_size"; //$NON-NLS-1$
-
-	private static final String CONSOLE_ERRORS = "$console_errors"; //$NON-NLS-1$
-
-	private static final String FLASH_PREFIX = "$flash_"; //$NON-NLS-1$
-	
-	PlayerSession(Socket s, DProtocol proto, DManager manager, IDebuggerCallbacks debuggerCallbacks)
-	{
-		m_isConnected = false;
-		m_isHalted = false;
-		m_socket = s;
-		m_protocol = proto;
-		m_manager = manager;
-		m_prefs = Collections.synchronizedMap(new HashMap<String, Object>());
-		m_incoming = false;
-		m_debugMsgOn = false;
-		m_debugMsgSize = 16;
-		m_debugMsgFileOn = false;
-		m_debugMsgFileSize = 128;
-		m_watchTransactionTag = 1;  // number that is sent for each watch transaction that occurs
-		m_playerCanCallFunctions = null;
-		m_debuggerCallbacks = debuggerCallbacks;
-		m_isolateSessions = Collections.synchronizedMap(new HashMap<Integer, IsolateSession>());
-	}
-	
-	private static PlayerSession createFromSocketHelper(Socket s, IDebuggerCallbacks debuggerCallbacks, DProtocol proto) throws IOException
-	{
-		// let the manager hear incoming messages
-		DManager manager = new DManager();
-
-		PlayerSession session = new PlayerSession(s, proto, manager, debuggerCallbacks);
-		return session;
-	}
-
-	/**
-	 * @deprecated Use createFromSocketWithOptions
-	 * @param s
-	 * @param debuggerCallbacks
-	 * @return
-	 * @throws IOException
-	 */
-	public static PlayerSession createFromSocket(Socket s, IDebuggerCallbacks debuggerCallbacks) throws IOException
-	{
-		DProtocol proto = DProtocol.createFromSocket(s);
-
-		return createFromSocketHelper(s, debuggerCallbacks, proto);
-	}
-	
-	/**
-	 * Creates a session from the socket. Sets session specific 
-	 * socket settings and stores the callback object.
-	 * @param s
-	 * @param debuggerCallbacks
-	 * @param sessionManager
-	 * @return
-	 * @throws IOException
-	 */
-	public static PlayerSession createFromSocketWithOptions(Socket s, IDebuggerCallbacks debuggerCallbacks, SessionManager sessionManager) throws IOException
-	{
-		DProtocol proto = DProtocol.createFromSocket(s, sessionManager);
-
-		return createFromSocketHelper(s, debuggerCallbacks, proto);
-	}
-
-	/* getter */
-	public DMessageCounter		getMessageCounter()		{ return m_protocol.getMessageCounter(); }
-	public String				getURI()				{ return m_manager.getURI(); }
-	public boolean				playerSupportsGet()		{ return m_manager.isGetSupported(); }
-    public int                  playerVersion()         { return m_manager.getVersion(); }
-    public SourceLocator        getSourceLocator()      { return m_manager.getSourceLocator(); }
-
-	/*
-	 * @see flash.tools.debugger.Session#setSourceLocator(flash.tools.debugger.SourceLocator)
-	 */
-	public void setSourceLocator(SourceLocator sourceLocator)
-	{
-		m_manager.setSourceLocator(sourceLocator);
-	}
-
-	/**
-	 * If the manager started the process for us, then note it here. We will attempt to kill
-	 * it when we go down
-	 */
-	void setProcess(Process proc)
-	{
-		m_process = proc;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getLaunchProcess()
-	 */
-	public Process getLaunchProcess()
-	{
-		return m_process;
-	}
-
-	/**
-	 * Set preference
-	 * If an invalid preference is passed, it will be silently ignored.
-	 */
-	public void			setPreferences(Map<String, ? extends Object> map)	{ m_prefs.putAll(map); mapBack(); }
-	public Set<String>	keySet()								{ return m_prefs.keySet(); }
-	public Object		getPreferenceAsObject(String pref)		{ return m_prefs.get(pref); }
-
-	/**
-	 * Set a property. Special logic for debug message boolean
-	 */
-	public void setPreference(String pref, int value)
-	{
-		m_prefs.put(pref, new Integer(value));
-		mapBack();
-
-		// change in console messages?
-		if (pref.equals(CONSOLE_ERRORS))
-			sendConsoleErrorsAsTrace(value == 1);
-
-		// generic message for flash player wherein "$flash_xxx" causes "xxx" to be sent
-		if (pref.startsWith(FLASH_PREFIX))
-			sendOptionMessage(pref.substring(FLASH_PREFIX.length()), Integer.toString(value));
-	}
-
-	// helper for mapBack()
-	private int mapBackOnePreference(String preferenceName, int defaultValue)
-	{
-		Object prefValue = getPreferenceAsObject(preferenceName);
-		if (prefValue != null)
-			return ((Integer)prefValue).intValue();
-		else
-			return defaultValue;
-	}
-
-	// helper for mapBack()
-	private boolean mapBackOnePreference(String preferenceName, boolean defaultValue)
-	{
-		Object prefValue = getPreferenceAsObject(preferenceName);
-		if (prefValue != null)
-			return ((Integer)prefValue).intValue() != 0 ? true : false;
-		else
-			return defaultValue;
-	}
-
-	// look for preferences, that map back to variables
-	private void mapBack()
-	{
-		m_debugMsgOn = mapBackOnePreference(DEBUG_MESSAGES, m_debugMsgOn);
-		m_debugMsgSize = mapBackOnePreference(DEBUG_MESSAGE_SIZE, m_debugMsgSize);
-
-		m_debugMsgFileOn = mapBackOnePreference(DEBUG_MESSAGE_FILE, m_debugMsgFileOn);
-		m_debugMsgFileSize = mapBackOnePreference(DEBUG_MESSAGE_FILE_SIZE, m_debugMsgFileSize);
-	}
-
-	public int getPreference(String pref)
-	{
-		int val = 0;
-		Integer i = (Integer)m_prefs.get(pref);
-		if (i == null)
-			throw new NullPointerException();
-		else
-			val = i.intValue();
-		return val;
-	}
-
-
-	/*
-	 * @see flash.tools.debugger.Session#isConnected()
-	 */
-	public boolean isConnected()
-	{
-		return m_isConnected;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#isSuspended()
-	 */
-	public boolean isSuspended() throws NotConnectedException
-	{
-		if (!isConnected())
-			throw new NotConnectedException();
-
-		return m_isHalted;
-	}
-	
-	/*
-	 * @see flash.tools.debugger.Session#isIsolateSuspended()
-	 */
-	public boolean isWorkerSuspended(int isolateId) throws NotConnectedException
-	{
-		if (isolateId == Isolate.DEFAULT_ID)
-			return isSuspended();
-		
-		if (!isConnected())
-			throw new NotConnectedException();
-		
-		if (m_isolateStatus.containsKey(isolateId)) {
-			return m_isolateStatus.get(isolateId).m_isHalted;
-		}
-		
-		return false;
-	}
-
-	/**
-	 * Start up the session listening for incoming messages on the socket
-	 */
-	public boolean bind() throws VersionException
-	{
-		boolean bound = false;
-
-		if (m_isConnected)
-			return false;
-		
-		// mark that we are connected
-		m_isConnected = true;
-
-		// attach us to the pipe (we are last to ensure that DManager and msg counter
-		// get updated first
-		m_protocol.addListener(ListenerIndex.PlayerSession, this);
-
-		// start up the receiving thread
-		bound = m_protocol.bind();
-
-		// transmit our first few adjustment messages
-		sendStopWarning();
-		sendStopOnFault();
-		sendEnumerateOverride();
-		sendFailureNotify();
-		sendInvokeSetters();
-		sendSwfloadNotify();
-		sendGetterTimeout();
-		sendSetterTimeout();
-		boolean responded = sendSquelch(true, Isolate.DEFAULT_ID);
-
-		// now note in our preferences whether get is working or not.
-		setPreference(SessionManager.PLAYER_SUPPORTS_GET, playerSupportsGet() ? 1 : 0);
-		if (supportsConcurrency()) {
-			sendConcurrentDebugger();
-		}
-		
-		if (supportsWideLineNumbers()) {
-			sendWideLineDebugger();
-		}
-
-		// Spawn a background thread which fetches the SWF and SWD
-		// from the Player and uses them to build function name tables
-		// for each source file
-		Thread t = new Thread(this, "SWF/SWD reader"); //$NON-NLS-1$
-		t.setDaemon(true);
-		t.start();
-
-		// we're probably using a bad version
-		if (!responded)
-			throw new VersionException();
-
-		return bound;
-	}
-
-	/**
-	 * Permanently stops the debugging session and breaks the
-	 * connection to the Player
-	 */
-	public void unbind()
-	{
-		unbind(false);
-	}
-
-	/**
-	 * @param requestTerminate
-	 *            if true, and if the player to which we are attached is capable
-	 *            of terminating itself (e.g. Adobe AIR), then the player will
-	 *            be told to terminate.
-	 * @return true if the player is capable of terminating itself and has been
-	 *         told to do so
-	 */
-	private boolean unbind(boolean requestTerminate)
-	{
-		// If the caller asked us to terminate the player, then we first check
-		// whether the player to which we are connected is capable of that.
-		// (The web-based players are not; Adobe AIR is.)
-		requestTerminate = requestTerminate && playerCanTerminate();
-		DMessage dm = DMessageCache.alloc(1);
-		dm.setType(DMessage.OutExit);
-		dm.putByte((byte)(requestTerminate ? 1 : 0));
-		sendMessage(dm);
-
-		// unbind from the socket, so that we don't receive any more messages
-		m_protocol.unbind();
-
-		// kill the socket
-		try { m_socket.close(); } catch(IOException io) {}
-
-		m_isConnected = false;
-		m_isHalted = false;
-
-		return requestTerminate; // true if player was told to terminate
-	}
-
-	/**
-	 * Execute the specified AppleScript by passing it to /usr/bin/osascript.
-	 *
-	 * @param appleScript
-	 *            the AppleScript to execute, as a series of lines
-	 * @param argv
-	 *            any arguments; these can be accessed from within your
-	 *            AppleScript via "item 1 or argv", "item 2 of argv", etc.
-	 * @return any text which was sent to stdout by /usr/bin/osascript, with the
-	 *         trailing \n already removed
-	 */
-	private String executeAppleScript(String[] appleScript, String[] argv)
-	{
-		StringBuilder retval = new StringBuilder();
-		try
-		{
-			List<String> execArgs = new LinkedList<String>();
-			// "osascript" is the command-line way of executing AppleScript.
-			execArgs.add("/usr/bin/osascript"); //$NON-NLS-1$
-			execArgs.add("-"); //$NON-NLS-1$
-			if (argv != null)
-			{
-				for (int i=0; i<argv.length; ++i)
-					execArgs.add(argv[i]);
-			}
-			Process osascript = Runtime.getRuntime().exec(execArgs.toArray(new String[execArgs.size()]));
-			// feed our AppleScript code to osascript's stdin
-			OutputStream outputStream = osascript.getOutputStream();
-			PrintWriter writer = new PrintWriter(outputStream, true);
-			writer.println("on run argv"); //$NON-NLS-1$ // this gives the name "argv" to the command-line args
-			for (int i=0; i<appleScript.length; ++i)
-				writer.println(appleScript[i]);
-			writer.println("end run"); //$NON-NLS-1$
-			writer.close();
-			InputStreamReader reader = new InputStreamReader(osascript.getInputStream());
-			int ch;
-			while ( (ch=reader.read()) != -1 )
-				retval.append((char)ch);
-		}
-		catch (IOException e)
-		{
-			// ignore
-		}
-		return retval.toString().replaceAll("\n$", ""); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * Execute the specified AppleScript by passing it to /usr/bin/osascript.
-	 *
-	 * @param appleScriptFilename
-	 *            The name of the file containing AppleScript to execute.  This
-	 *            must be relative to PlayerSession.java.
-	 * @param argv
-	 *            any arguments; these can be accessed from within your
-	 *            AppleScript via "item 1 or argv", "item 2 of argv", etc.
-	 * @return any text which was sent to stdout by /usr/bin/osascript, with the
-	 *         trailing \n already removed
-	 * @throws IOException
-	 */
-	private String executeAppleScript(String appleScriptFilename, String[] argv) throws IOException
-	{
-		InputStream stm = null;
-		try {
-			stm = PlayerSession.class.getResourceAsStream(appleScriptFilename);
-			BufferedReader reader = new BufferedReader(new InputStreamReader(stm));
-			String line;
-			List<String> appleScriptLines = new ArrayList<String>();
-			while ( (line=reader.readLine()) != null )
-				appleScriptLines.add(line);
-			String[] lines = appleScriptLines.toArray(new String[appleScriptLines.size()]);
-			return executeAppleScript(lines, argv);
-		} finally {
-			if (stm != null) {
-				stm.close();
-			}
-		}
-	}
-
-	/**
-	 * Checks whether the specified Macintosh web browser is currently
-	 * running.  You should only call this function if you have already
-	 * checked that you are running on a Mac.
-	 *
-	 * @param browserName a name, e.g. "Safari", "Firefox", "Camino"
-	 * @return true if currently running
-	 */
-	private Set<String> runningApplications()
-	{
-		String running = executeAppleScript(
-			new String[]
-        	{
-				"tell application \"System Events\"", //$NON-NLS-1$
-				"	name of processes", //$NON-NLS-1$
-				"end tell" //$NON-NLS-1$
-        	},
-        	null
-		);
-		String[] apps = running.split(", "); //$NON-NLS-1$
-		Set<String> retval = new HashSet<String>();
-		for (int i=0; i<apps.length; ++i)
-			retval.add(apps[i]);
-		return retval;
-	}
-
-	/**
-	 * Destroys all objects related to the connection
-	 * including the process that was tied to this
-	 * session via SessionManager.launch(), if it
-	 * exists.
-	 */
-	public void terminate()
-	{
-		boolean playerWillTerminateItself = false;
-
-		// unbind first
-		try
-		{
-			// Tell player to end session.  Note that this is just a hint, and will often
-			// do nothing.  For example, the Flash player running in a browser will
-			// currently never terminate when you tell it to, but the AIR player will
-			// terminate.
-			playerWillTerminateItself = unbind(true);
-		} catch(Exception e)
-		{
-		}
-
-		if (!playerWillTerminateItself)
-		{
-			if (System.getProperty("os.name").toLowerCase().startsWith("mac os x")) //$NON-NLS-1$ //$NON-NLS-2$
-			{
-				if (m_airLaunchInfo != null)
-				{
-					// nothing we need to do -- Process.destroy() will kill the AIR app
-				}
-				else if (m_launchUrl != null && m_launchUrl.length() > 0)
-				{
-					boolean closedAnyWindows = false;
-					Set<String> runningApps = runningApplications();
-
-					if (!closedAnyWindows && runningApps.contains("Safari")) //$NON-NLS-1$
-					{
-						try {
-							String url = m_launchUrl.replaceAll(" ", "%20"); //$NON-NLS-1$ //$NON-NLS-2$
-							String safariClosedAnyWindows = executeAppleScript("appleScriptCloseSafariWindow.txt", new String[] { url }); //$NON-NLS-1$
-							if ("true".equals(safariClosedAnyWindows)) { //$NON-NLS-1$ 								
-								closedAnyWindows = true;								
-							}
-							else if ( "appquit".equals(safariClosedAnyWindows) ) { //$NON-NLS-1$
-								closedAnyWindows = true;
-								//we closed Safari, verify safari was closed
-								runningApps = waitForMacAppQuit("Safari"); //$NON-NLS-1$
-							}
-						} catch (IOException e) {
-							// ignore
-						}
-					}
-										
-					if (!closedAnyWindows && runningApps.contains("Camino")) //$NON-NLS-1$
-					{
-						// For local file: URLs, Camino uses "file://localhost/..." instead of "file:///..."
-						String url = m_launchUrl.replaceFirst("^file:///", "file://localhost/"); //$NON-NLS-1$ //$NON-NLS-2$
-						try {
-							String caminoClosedAnyWindows = executeAppleScript("appleScriptCloseCaminoWindow.txt", new String[] { url }); //$NON-NLS-1$
-							if ("true".equals(caminoClosedAnyWindows)) { //$NON-NLS-1$								
-								closedAnyWindows = true;
-							}
-							else if ( "appquit".equals(caminoClosedAnyWindows) ) { //$NON-NLS-1$
-								closedAnyWindows = true;
-								//we closed camino, verify camino was closed
-								runningApps = waitForMacAppQuit("Camino"); //$NON-NLS-1$
-							}
-								
-						} catch (IOException e) {
-							// ignore
-						}
-					}
-
-					// The standalone player on the Mac has gone through several name changes,
-					// so we have to look for all of these.
-					String[] macStandalonePlayerNames =
-					{
-						"Flash Player Debugger",	// New name as of Player 10.1	//$NON-NLS-1$
-						"Flash Player",				// New name as of 12/4/06		//$NON-NLS-1$
-						"SAFlashPlayer",			// An older name				//$NON-NLS-1$
-						"standalone"				// Another older name			//$NON-NLS-1$
-					};
-
-					for (int i=0; !closedAnyWindows && i<macStandalonePlayerNames.length; ++i)
-					{
-						if (runningApps.contains(macStandalonePlayerNames[i]))
-						{
-							executeAppleScript(new String[] { "tell application \"" + macStandalonePlayerNames[i] + "\" to quit" }, null); //$NON-NLS-1$ //$NON-NLS-2$
-							waitForMacAppQuit(macStandalonePlayerNames[i]);
-							closedAnyWindows = true;
-						}
-					}
-				}
-			}
-
-			// if we have a process pop it
-			if (m_process != null)
-			{
-				try
-				{
-					//if a launcher is set for handling the launcher operations then use it.
-					if(null != launcher)
-					{
-						m_debuggerCallbacks.terminateDebugTarget(m_process,launcher);
-					}
-					else
-					{
-						m_debuggerCallbacks.terminateDebugTarget(m_process);
-					}
-				}
-				catch (IOException e)
-				{
-					// ignore
-				}
-			}
-		}
-		else if (m_process != null) {
-			try {
-				m_process.waitFor();
-			}
-			catch (Exception e) {
-			}
-		}
-
-		// now clear it all
-		m_isConnected = false;
-		m_isHalted = false;
-	}
-
-	/**
-	 * Utility function to wait for a mac application to quit.
-	 * This waits for a maximum of MAX_TERMINATE_WAIT_MILLIS.
-	 * 
-	 * Waiting is important because applescript "quit" is not
-	 * synchronous and launching a URL while the browser is
-	 * quitting is not good. (See FB-21879)
-	 * @return Set<String> of running applications.
-	 */
-	private Set<String> waitForMacAppQuit(String browser) {
-		Set<String> runningApps;
-		boolean appClosed = true;
-		final long startMillis = System.currentTimeMillis();		
-		final long waitMillis = 100;
-		do {
-			runningApps = runningApplications();
-			if ( runningApps.contains(browser) ) {
-				appClosed = false;
-				
-				try {
-					Thread.sleep(waitMillis);					
-				} catch (InterruptedException e) {
-					return runningApps;
-				}
-				
-				long currentMillis = System.currentTimeMillis();
-				
-				if ( currentMillis - startMillis >= MAX_TERMINATE_WAIT_MILLIS )
-					break;
-			}
-			else {
-				appClosed = true;
-			}
-		}
-		while ( !appClosed );
-		return runningApps;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#resume()
-	 */
-	public void resume() throws NotSuspendedException, NotConnectedException, NoResponseException
-	{
-		resumeWorker(Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#suspend()
-	 */
-	public void suspend() throws SuspendedException, NotConnectedException, NoResponseException
-	{
-		suspendWorker(Isolate.DEFAULT_ID);
-	}
-
-	/**
-	 * Obtain all the suspend information
-	 */
-	public DSuspendInfo getSuspendInfo()
-	{
-		return getSuspendInfoIsolate(Isolate.DEFAULT_ID);
-	}
-
-	/**
-	 * Return the reason that the player has suspended itself.
-	 */
-	public int suspendReason()
-	{
-		DSuspendInfo info = getSuspendInfo();
-		return info.getReason();
-	}
-
-	/**
-	 * Return the offset in which the player has suspended itself.  The BreakReason
-	 * message contains both reason and offset.
-	 */
-	public int getSuspendOffset()
-	{
-		DSuspendInfo info = getSuspendInfo();
-		return info.getOffset();
-	}
-
-	/**
-	 * Return the offset in which the player has suspended itself.  The BreakReason
-	 * message contains both reason and offset.
-	 */
-	public int getSuspendActionIndex()
-	{
-		DSuspendInfo info = getSuspendInfo();
-		return info.getActionIndex();
-	}
-
-	/**
-	 * Obtain information about the various SWF(s) that have been
-	 * loaded into the Player, for this session.
-	 *
-	 * Note: As SWFs are loaded by the Player a SwfLoadedEvent is
-	 * fired.  At this point, a call to getSwfInfo() will provide
-	 * updated information.
-	 *
-	 * @return array of records describing the SWFs
-	 */
-	public SwfInfo[] getSwfs() throws NoResponseException
-	{
-		return getSwfsWorker(Isolate.DEFAULT_ID);
-	}
-
-	/**
-	 * Request information on a particular swf, used by DSwfInfo
-	 * to fill itself correctly
-	 */
-	public void requestSwfInfo(int at, int isolateId) throws NoResponseException
-	{
-		// nope don't have it...might as well go out and ask for all of them.
-		DMessage dm = DMessageCache.alloc(4);
-		dm.setType( DMessage.OutSwfInfo );
-		dm.setTargetIsolate(isolateId);
-		dm.putWord(at);
-		dm.putWord(0);  // rserved
-
-		int to = getPreference(SessionManager.PREF_CONTEXT_RESPONSE_TIMEOUT);
-
-		if (!simpleRequestResponseMessage(dm, DMessage.InSwfInfo, to))
-			throw new NoResponseException(to);
-	}
-
-	/**
-	 * Request a set of actions from the player
-	 */
-	public byte[] getActions(int which, int at, int len) throws NoResponseException
-	{
-		byte[] actions = null;
-
-		// send a actions message
-		DMessage dm = DMessageCache.alloc(12);
-		dm.setType( DMessage.OutGetActions );
-		dm.putWord(which);
-		dm.putWord(0); // rsrvd
-		dm.putDWord(at);
-		dm.putDWord(len);
-
-		// request action bytes
-		int to = getPreference(SessionManager.PREF_CONTEXT_RESPONSE_TIMEOUT);
-		if (simpleRequestResponseMessage(dm, DMessage.InGetActions, to))
-			actions = m_manager.getActions();
-		else
-			throw new NoResponseException(to);
-
-		return actions;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#stepInto()
-	 */
-	public void stepInto() throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		stepIntoWorker(Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#stepOut()
-	 */
-	public void stepOut() throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		stepOutWorker(Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#stepOver()
-	 */
-	public void stepOver() throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		stepOverWorker(Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#stepContinue()
-	 */
-	public void stepContinue() throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		if (!isSuspended())
-			throw new NotSuspendedException();
-
-		// send a step-continue message and then wait for the Flash player to tell us that is has
-		// resumed execution
-		if (!simpleRequestResponseMessage(DMessage.OutStepContinue, DMessage.InContinue))
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-	}
-
-    /**
-     * Sends a request to the player to obtain function names.
-     * The resultant message end up populating the function name array
-     * for the given DModule.
-     *
-     * @param moduleId
-     * @param lineNbr
-     * @return
-     */
-    public void requestFunctionNames(int moduleId, int lineNbr, int isolateId) throws VersionException, NoResponseException
-    {
-        // only player 9 supports this message
-        if (m_manager.getVersion() >= 9)
-        {
-            DMessage dm = DMessageCache.alloc(8);
-            dm.setType(DMessage.OutGetFncNames);
-            dm.setTargetIsolate(isolateId);
-            dm.putDWord(moduleId);
-            dm.putDWord(lineNbr);
-
-            if (!simpleRequestResponseMessage(dm, DMessage.InGetFncNames))
-                throw new NoResponseException(0);
-        }
-        else
-        {
-            throw new VersionException();
-        }
-    }
-
-	/**
-	 * From a given file identifier return a source file object
-	 */
-	public SourceFile getFile(int fileId, int isolateId)
-	{
-		return m_manager.getSource(fileId, isolateId);
-	}
-
-	/**
-	 * Get a list of breakpoints
-	 */
-	public Location[] getBreakpointList()
-	{
-		return m_manager.getBreakpoints(Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#setBreakpoint(int, int)
-	 */
-	public Location setBreakpoint(int fileId, int lineNum) throws NoResponseException, NotConnectedException
-	{
-		return setBreakpointWorker(fileId, lineNum, Isolate.DEFAULT_ID);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#clearBreakpoint(flash.tools.debugger.Location)
-	 */
-	public Location clearBreakpoint(Location local)
-	{
-		/* first find it */
-		SourceFile source = local.getFile();
-		int fileId = source.getId();
-		int lineNum = local.getLine();
-		int bp = DLocation.encodeId(fileId, lineNum);
-		int isolateId = local.getIsolateId();
-		Location l = null;
-		l = m_manager.getBreakpoint(bp, isolateId);
-		
-		if (l != null)
-		{
-			/* send the message */
-			int wideLineSize = 0;
-			if (supportsWideLineNumbers())
-				wideLineSize = 4;
-			DMessage dm = DMessageCache.alloc(8 + wideLineSize);
-			dm.setType(DMessage.OutRemoveBreakpoints);
-			dm.setTargetIsolate(isolateId);
-			dm.putDWord(1);
-			if (!supportsWideLineNumbers())
-				dm.putDWord(bp);
-			else {
-				dm.putDWord(fileId);
-				dm.putDWord(lineNum);
-			}
-			sendMessage(dm);
-
-			/* no callback from the player so we remove it ourselves */
-			m_manager.removeBreakpoint(bp, isolateId);
-		}
-		return l;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getWatchList()
-	 */
-	public Watch[] getWatchList() throws NoResponseException, NotConnectedException
-	{
-		return getWatchListWorker(Isolate.DEFAULT_ID);
-	}
-	
-	/*
-	 * @see flash.tools.debugger.Session#getWatchList()
-	 */
-	public Watch[] getWatchListWorker(int isolateId) throws NoResponseException, NotConnectedException
-	{
-			return m_manager.getWatchpoints(isolateId);
-	}
-
-	private Watch setWatch(long varId, String memberName, int kind, int isolateId) throws NoResponseException, NotConnectedException, NotSupportedException
-	{
-		// we really have two cases here, one where we add a completely new
-		// watchpoint and the other where we modify an existing one.
-		// In either case the DManager logic is such that the last watchpoint
-		// in the list will contain our id if successful.
-		Watch w = null;
-		int tag = m_watchTransactionTag++;
-
-		if (addWatch(varId, memberName, kind, tag, isolateId))
-		{
-			// good that we got a response now let's check that
-			// it actually worked.
-			int count = m_manager.getWatchpointCount(isolateId);
-			if (count > 0)
-			{
-				DWatch lastWatch = m_manager.getWatchpoint(count-1, isolateId);
-				if (lastWatch.getTag() == tag)
-					w = lastWatch;
-			}
-		}
-		return w;
-	}
-	
-	/*
-	 * @see flash.tools.debugger.Session#setWatch(flash.tools.debugger.Variable, java.lang.String, int)
-	 */
-	public Watch setWatch(Value v, String memberName, int kind) throws NoResponseException, NotConnectedException, NotSupportedException
-	{
-		return setWatch(v.getId(), memberName, kind, v.getIsolateId());
-	}
-
-	public Watch setWatch(Watch watch) throws NoResponseException, NotConnectedException, NotSupportedException
-	{
-		return setWatch(watch.getValueId(), watch.getMemberName(), watch.getKind(), watch.getIsolateId());
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#clearWatch(flash.tools.debugger.Watch)
-	 */
-	public Watch clearWatch(Watch watch) throws NoResponseException, NotConnectedException
-	{
-		Watch[] list = getWatchListWorker(watch.getIsolateId());
-		Watch w = null;
-		if ( removeWatch(watch.getValueId(), watch.getMemberName(), watch.getIsolateId()) )
-		{
-			// now let's first check the size of the list, it
-			// should now be one less
-			if (m_manager.getWatchpointCount(watch.getIsolateId()) < list.length)
-			{
-				// ok we made a change. So let's compare list and see which
-				// one went away
-				Watch[] newList = getWatchListWorker(watch.getIsolateId());
-				for(int i=0; i<newList.length; i++)
-				{
-					// where they differ is the missing one
-					if (list[i] != newList[i])
-					{
-						w = list[i];
-						break;
-					}
-				}
-
-				// might be the last one...
-				if (w == null)
-					w = list[list.length-1];
-			}
-		}
-		return w;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getVariableList()
-	 */
-	public Variable[] getVariableList() throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException
-	{
-		return getVariableListWorker(Isolate.DEFAULT_ID);
-	}
-	
-	public Variable[] getVariableListWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException
-	{
-		// make sure the player has stopped and send our message awaiting a response
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		requestFrame(0, isolateId);  // our 0th frame gets our local context
-
-		// now let's request all of the special variables too
-		getValueWorker(Value.GLOBAL_ID, isolateId);
-		getValueWorker(Value.THIS_ID, isolateId);
-		getValueWorker(Value.ROOT_ID, isolateId);
-
-		// request as many levels as we can get
-		int i = 0;
-		Value v = null;
-		do
-		{
-			v = getValueWorker(Value.LEVEL_ID-i, isolateId);
-		}
-		while( i++ < 128 && v != null);
-
-		// now that we've primed the DManager we can request the base variable whose
-		// children are the variables that are available
-		v = m_manager.getValue(Value.BASE_ID, isolateId);
-		if (v == null)
-			throw new VersionException();
-		return v.getMembers(this);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getFrames()
-	 */
-	public Frame[] getFrames() throws NotConnectedException
-	{
-		return m_manager.getFrames(Isolate.DEFAULT_ID);
-	}
-
-	/**
-	 * Asks the player to return information regarding our current context which includes
-	 * this pointer, arguments for current frame, locals, etc.
-	 */
-	public void requestFrame(int depth, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		if (playerSupportsGet())
-		{
-			if (!isWorkerSuspended(isolateId))
-				throw new NotSuspendedException();
-
-			int timeout = getPreference(SessionManager.PREF_CONTEXT_RESPONSE_TIMEOUT);
-
-			DMessage dm = DMessageCache.alloc(4);
-			dm.setType(DMessage.OutGetFrame);
-			dm.setTargetIsolate(isolateId);
-			dm.putDWord(depth);  // depth of zero
-			if (!simpleRequestResponseMessage(dm,  DMessage.InFrame, timeout)) {
-				throw new NoResponseException(timeout);
-			}
-
-			pullUpActivationObjectVariables(depth, isolateId);
-		}
-	}
-	
-	/**
-	 * The compiler sometimes creates special local variables called
-	 * "activation objects."  When it decides to do this (e.g. if the
-	 * current function contains any anonymous functions, try/catch
-	 * blocks, complicated E4X expressions, or "with" clauses), then
-	 * all locals and arguments are actually stored as children of
-	 * this activation object, rather than the usual way.
-	 *
-	 * We need to hide this implementation detail from the user.  So,
-	 * if we find any activation objects among the locals of the current
-	 * function, then we will "pull up" its members, and represent them
-	 * as if they were actually args/locals of the function itself.
-	 *
-	 * @param depth the depth of the stackframe we are fixing; 0 is topmost
-	 */
-	private void pullUpActivationObjectVariables(int depth, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		DValue frame = m_manager.getValue(Value.BASE_ID-depth, isolateId);
-		if (frame == null)
-			return;
-		DStackContext context = m_manager.getFrame(depth, isolateId);		
-		DVariable[] frameVars = (DVariable[]) frame.getMembers(this);
-		Map<String, DVariable> varmap = new LinkedHashMap<String, DVariable>(frameVars.length); // preserves order
-		List<DVariable> activationObjects = new ArrayList<DVariable>();
-		Pattern activationObjectNamePattern = Pattern.compile("^.*\\$\\d+$"); //$NON-NLS-1$
-
-		// loop through all frame variables, and separate them into two
-		// groups: activation objects, and all others (locals and arguments)
-		for (int i=0; i<frameVars.length; ++i)
-		{
-			DVariable member = frameVars[i];
-			Matcher matcher = activationObjectNamePattern.matcher(member.getName());
-			if (matcher.matches())
-				activationObjects.add(member);
-			else
-				varmap.put(member.getName(), member);
-		}
-
-		// If there are no activation objects, then we don't need to do anything
-		if (activationObjects.size() == 0)
-			return;
-
-		// overwrite existing args and locals with ones pulled from the activation objects
-		for (int i=0; i<activationObjects.size(); ++i)
-		{
-			DVariable activationObject = activationObjects.get(i);
-			DVariable[] activationMembers = (DVariable[]) activationObject.getValue().getMembers(this);
-			for (int j=0; j<activationMembers.length; ++j)
-			{
-				DVariable member = activationMembers[j];
-				int attributes = member.getAttributes();
-
-				// For some odd reason, the activation object often contains a whole bunch of
-				// other variables that we shouldn't be displaying.  I don't know what they
-				// are, but I do know that they are all marked "static".
-				if ((attributes & VariableAttribute.IS_STATIC) != 0)
-					continue;
-
-				// No matter what the activation object member's scope is, we want all locals
-				// and arguments to be considered "public"
-				attributes &= ~(VariableAttribute.PRIVATE_SCOPE | VariableAttribute.PROTECTED_SCOPE | VariableAttribute.NAMESPACE_SCOPE);
-				attributes |= VariableAttribute.PUBLIC_SCOPE;
-				member.setAttributes(attributes);
-
-				String name = member.getName();
-				DVariable oldvar = varmap.get(name);
-				int vartype;
-				if (oldvar != null)
-					vartype = oldvar.getAttributes() & (VariableAttribute.IS_ARGUMENT | VariableAttribute.IS_LOCAL);
-				else
-					vartype = VariableAttribute.IS_LOCAL;
-				member.setAttributes(member.getAttributes() | vartype);
-				varmap.put(name, member);
-			}
-
-			context.convertLocalToActivationObject(activationObject);
-		}
-
-		for (DVariable var: varmap.values())
-		{
-			frame.addMember(var);
-			if (var.isAttributeSet(VariableAttribute.IS_LOCAL))
-			{
-				context.addLocal(var);
-			}
-			else if (var.isAttributeSet(VariableAttribute.IS_ARGUMENT))
-			{
-				if (var.getName().equals("this")) //$NON-NLS-1$
-					context.setThis(var);
-				else
-					context.addArgument(var);
-			}
-		}
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getValue(int)
-	 */
-	public Value getValue(long valueId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		return getValueWorker(valueId, Isolate.DEFAULT_ID);
-	}
-	
-	public Value getValueWorker(long valueId, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		DValue val = null;
-
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		// get it from cache if we can
-		val = m_manager.getValue(valueId, isolateId);
-
-		if (val == null)
-		{
-			// if a special variable, then we need to trigger a local frame call, otherwise just use id to get it
-			if (valueId < Value.UNKNOWN_ID)
-			{
-				requestFrame(0, isolateId); // force our current frame to get populated, BASE_ID will be available
-			}
-			else if (valueId > Value.UNKNOWN_ID)
-			{
-				requestVariable(valueId, null, isolateId);
-			}
-
-			// after all this we should have our variable cache'd so try again if it wasn't there the first time
-			val = m_manager.getValue(valueId, isolateId);
-		}
-
-		return val;
-	}
-
-	/**
-	 * Returns the current value object for the given id; never requests it from the player.
-	 */
-	public Value getRawValue(long valueId, int isolateId)
-	{
-		return m_manager.getValue(valueId, isolateId);
-	}
-
-	/**
-	 * Returns the previous value object for the given id -- that is, the value that that
-	 * object had the last time the player was suspended.  Never requests it from the
-	 * player (because it can't, of course).  Returns <code>null</code> if we don't have
-	 * a value for that id.
-	 */
-	public Value getPreviousValue(long valueId, int isolateId)
-	{
-		return m_manager.getPreviousValue(valueId, isolateId);
-	}
-
-	/**
-	 * Launches a request to obtain all the members of the specified variable, and
-	 * store them in the variable which would be returned by
-	 * {@link DManager#getVariable(long)}.
-	 *
-	 * @param valueId id of variable whose members we want; underlying Variable must
-	 * already be known by the PlayerSessionManager.
-	 *
-	 * @throws NoResponseException
-	 * @throws NotConnectedException
-	 * @throws NotSuspendedException
-	 */
-	void obtainMembers(long valueId, int isolateId) throws NoResponseException, NotConnectedException, NotSuspendedException
-	{
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		// Get it from cache.  Normally, this should never fail; however, in
-		// the case of Flex Builder, which is multithreaded, it is possible
-		// that a thread has called this even after a different thread has
-		// single-stepped, so that the original variable is no longer valid.
-		// So, we'll check for a null return value.
-		DValue v = m_manager.getValue(valueId, isolateId);
-
-		if (v != null && !v.membersObtained())
-		{
-			requestVariable(valueId, null, false, true, isolateId);
-		}
-	}
-
-	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		return getGlobalWorker(name, Isolate.DEFAULT_ID);
-	}
-	
-	public Value getGlobalWorker(String name, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		Value v = getValue(0, name, isolateId);
-
-		if (v==null || v.getType() == VariableType.UNDEFINED)
-			return null;
-		else
-			return v;
-	}
-
-	/**
-	 * Get the value of the variable named 'name' using varId
-	 * as the context id for the Variable.
-	 *
-	 * This call is used to fire getters, where the id must
-	 * be that of the original object and not the object id
-	 * of where the getter actually lives.  For example
-	 * a getter a() may live under o.__proto__.__proto__
-	 * but you must use the id of o and the name of 'a'
-	 * in order for the getter to fire correctly.  [Note: This
-	 * paragraph was written for AS2; __proto__ doesn't exist
-	 * in AS3.  TODO: revise this paragraph]
-	 */
-	public Value getValue(long varId, String name, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		Value v = null;
-		if (isWorkerSuspended(isolateId))
-		{
-			int fireGetter = getPreference(SessionManager.PREF_INVOKE_GETTERS);
-
-			// disable children attaching to parent variables and clear our
-			// most recently seen variable
-			m_manager.clearLastVariable(isolateId);
-			m_manager.enableChildAttach(false, isolateId);
-
-			try
-			{
-				requestVariable(varId, name, (fireGetter != 0), false, isolateId);
-
-				DVariable lastVariable = m_manager.lastVariable(isolateId);
-				if (lastVariable != null)
-					v = lastVariable.getValue();
-				else
-					v = DValue.forPrimitive(Value.UNDEFINED, isolateId);
-			}
-			catch (NoResponseException e)
-			{
-				if (fireGetter != 0)
-				{
-					// We fired a getter -- most likely, what happened is that that getter
-					// (which is actual code in the user's movie) just took too long to
-					// calculate its value.  So rather than throwing an exception, we store
-					// some error text for the value of the variable itself.
-					//
-					// TODO [mmorearty 4/20/06] Even though I wrote the below code, I now
-					// am wondering if it is incorrect that I am calling addVariableMember(),
-					// because in every other case, this function does not add members to
-					// existing objects.  Need to revisit this.
-					v = new DValue(VariableType.STRING, "String", "String", ValueAttribute.IS_EXCEPTION, //$NON-NLS-1$ //$NON-NLS-2$
-							e.getLocalizedMessage(), isolateId);
-					if (varId != 0) {
-						DVariable var = new DVariable(name, (DValue)v, isolateId);
-						m_manager.enableChildAttach(true, isolateId);
-						m_manager.addVariableMember(varId, var, isolateId);
-					}
-				}
-				else
-				{
-					throw e; // re-throw
-				}
-			}
-			finally
-			{
-				// reset our attach flag, so that children attach to parent variables.
-				m_manager.enableChildAttach(true, isolateId);
-			}
-		}
-		else
-			throw new NotSuspendedException();
-
-		return v;
-	}
-
-	private void requestVariable(long id, String name, int isolateId) throws NoResponseException, NotConnectedException, NotSuspendedException
-	{
-		requestVariable(id, name, false, false, isolateId);
-	}
-
-	/**
-	 * @param thisValue the value of the "this" pointer; meaningless if isConstructor is true
-	 * @param isConstructor whether we're calling a constructor as opposed to a regular function
-	 * @param funcname the name of the function to call (or class whose constructor we're calling)
-	 * @param args the args to the function
-	 * @return the return value of the function
-	 */
-	private Value callFunction(Value thisValue, boolean isConstructor, String funcname, Value[] args, int isolateId) throws PlayerDebugException
-	{
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		if (!playerCanCallFunctions(isolateId))
-			throw new NotSupportedException(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("functionCallsNotSupported")); //$NON-NLS-1$
-
-		// name = getRawMemberName(id, name);
-
-		m_manager.clearLastFunctionCall(isolateId);
-
-		DMessage dm = buildCallFunctionMessage(isConstructor, thisValue, funcname, args);
-
-		dm.setTargetIsolate(isolateId);
-		
-		// make sure any exception during the setter gets held onto
-		m_manager.beginPlayerCodeExecution(isolateId);
-
-		// TODO wrong timeout
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-		timeout += 500; // give the player enough time to raise its timeout exception
-
-		boolean result = simpleRequestResponseMessage(dm, DMessage.InCallFunction, timeout);
-
-		// tell manager we're done; ignore returned FaultEvent
-		m_manager.endPlayerCodeExecution(isolateId);
-
-		if (!result)
-			throw new NoResponseException(timeout);
-
-		DVariable lastFunctionCall = m_manager.lastFunctionCall(isolateId);
-		if (lastFunctionCall != null)
-			return lastFunctionCall.getValue();
-		else
-			return DValue.forPrimitive(Value.UNDEFINED, isolateId);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#callFunction(flash.tools.debugger.Value, java.lang.String, flash.tools.debugger.Value[])
-	 */
-	public Value callFunction(Value thisValue, String funcname, Value[] args) throws PlayerDebugException
-	{
-		return callFunctionWorker(thisValue, funcname, args, Isolate.DEFAULT_ID);
-	}
-	
-	public Value callFunctionWorker(Value thisValue, String funcname, Value[] args, int isolateId) throws PlayerDebugException
-	{
-		Value retval = callPseudoFunction(thisValue, funcname, args, isolateId);
-		if (retval != null) {
-			return retval;
-		}
-
-		return callFunction(thisValue, false, funcname, args, isolateId);
-	}
-
-	/**
-	 * Checks to see if the function being called is a debugger pseudofunction such as
-	 * $obj(), and if so, handles that directly rather than calling the player.  Returns
-	 * null if the function being called is not a pseudofunction.
-	 */
-	private Value callPseudoFunction(Value thisValue, String funcname, Value[] args, int isolateId) throws PlayerDebugException{
-		if (thisValue.getType() == VariableType.UNDEFINED || thisValue.getType() == VariableType.NULL) {
-			if ("$obj".equals(funcname)) { //$NON-NLS-1$
-				return callObjPseudoFunction(args, isolateId);
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Handles a call to the debugger pseudofunction $obj() -- e.g. $obj(1234) returns
-	 * a pointer to the object with id 1234.
-	 */
-	private Value callObjPseudoFunction(Value[] args, int isolateId) throws PlayerDebugException {
-		if (args.length != 1) {
-			return DValue.forPrimitive(DValue.UNDEFINED, isolateId);
-		}
-		double arg = ECMA.toNumber(this, args[0]);
-		long id = (long) arg;
-		if (id != arg) {
-			return DValue.forPrimitive(DValue.UNDEFINED, isolateId);
-		}
-		DValue value = m_manager.getValue(id, isolateId);
-		if (value == null) {
-			return DValue.forPrimitive(DValue.UNDEFINED, isolateId);
-		}
-		return value;
-	}
-
-	public Value callConstructor(String funcname, Value[] args) throws PlayerDebugException
-	{
-		return callConstructorWorker(funcname, args, Isolate.DEFAULT_ID);
-	}
-	
-	public Value callConstructorWorker(String funcname, Value[] args, int isolateId) throws PlayerDebugException
-	{
-		return callFunction(DValue.forPrimitive(null, isolateId), true, funcname, args, isolateId);
-	}
-
-	private DMessage buildCallFunctionMessage(boolean isConstructor, Value thisValue, String funcname, Value[] args)
-	{
-		funcname = (funcname == null) ? "" : funcname; //$NON-NLS-1$
-
-		int messageSize = 8; // DWORD representing flags + DWORD representing frame
-		String thisType = DVariable.typeNameFor(thisValue.getType());
-		String thisValueString = thisValue.getValueAsString();
-		messageSize += DMessage.getStringLength(thisType)+1;
-		messageSize += DMessage.getStringLength(thisValueString)+1;
-		messageSize += DMessage.getStringLength(funcname)+1;
-		messageSize += 4; // DWORD representing the number of args
-		String[] argTypes = new String[args.length];
-		String[] argValues = new String[args.length];
-		for (int i=0; i<args.length; ++i)
-		{
-			argTypes[i] = DVariable.typeNameFor(args[i].getType());
-			argValues[i] = args[i].getValueAsString();
-			messageSize += DMessage.getStringLength(argValues[i])+1;
-			messageSize += DMessage.getStringLength(argTypes[i])+1;
-		}
-
-		DMessage dm = DMessageCache.alloc(messageSize);
-		dm.setType(DMessage.OutCallFunction);
-		try
-		{
-			dm.putDWord(isConstructor ? 1 : 0);
-			dm.putDWord(0); // TODO: the currently active frame number
-			dm.putString(thisType);
-			dm.putString(thisValueString);
-			dm.putString(funcname);
-			dm.putDWord(args.length);
-			for (int i=0; i<args.length; ++i)
-			{
-				dm.putString(argTypes[i]);
-				dm.putString(argValues[i]);
-			}
-		}
-		catch(UnsupportedEncodingException uee)
-		{
-			// couldn't write out the string, so just terminate it and complete anyway
-			dm.putByte((byte)'\0');
-		}
-
-		return dm;
-	}
-
-	private void requestVariable(long id, String name, boolean fireGetter, boolean alsoGetChildren, int isolateId) throws NoResponseException, NotConnectedException, NotSuspendedException
-	{
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		name = getRawMemberName(id, name, isolateId);
-
-		DMessage dm = buildOutGetMessage(id, name, fireGetter, alsoGetChildren);
-
-		dm.setTargetIsolate(isolateId);
-		
-		// make sure any exception during the setter gets held onto
-		m_manager.beginPlayerCodeExecution(isolateId);
-
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-		timeout += 500; // give the player enough time to raise its timeout exception
-
-		boolean result = simpleRequestResponseMessage(dm, DMessage.InGetVariable, timeout);
-
-		// tell manager we're done; ignore returned FaultEvent
-		m_manager.endPlayerCodeExecution(isolateId);
-
-		if (!result)
-			throw new NoResponseException(timeout);
-	}
-
-	private DMessage buildOutGetMessage(long id, String name, boolean fireGetter, boolean alsoGetChildren)
-	{
-		final int FLAGS_SIZE = 4;
-		name = (name == null) ? "" : name; //$NON-NLS-1$
-
-		DMessage dm = DMessageCache.alloc(DMessage.getSizeofPtr() + DMessage.getStringLength(name)+1 + FLAGS_SIZE);
-		dm.setType( (!fireGetter) ? DMessage.OutGetVariable : DMessage.OutGetVariableWhichInvokesGetter );
-		dm.putPtr(id);
-		try
-		{
-			dm.putString(name);
-		}
-		catch(UnsupportedEncodingException uee)
-		{
-			// couldn't write out the string, so just terminate it and complete anyway
-			dm.putByte((byte)'\0');
-		}
-
-		// as an optimization, newer player builds allow us to tell them not to
-		// send all the children of an object along with the object, because
-		// frequently we don't care about the children
-		int flags = GetVariableFlag.DONT_GET_FUNCTIONS; // we never want functions
-		if (fireGetter)
-			flags |= GetVariableFlag.INVOKE_GETTER;
-		if (alsoGetChildren)
-			flags |= GetVariableFlag.ALSO_GET_CHILDREN | GetVariableFlag.GET_CLASS_HIERARCHY;
-		dm.putDWord(flags);
-
-		return dm;
-	}
-
-	public FaultEvent setScalarMember(long varId, String memberName, int type, String value, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		// If the varId is that of a stack frame, then we need to check whether that
-		// stack frame has an "activation object".  If it does, then all of the
-		// arguments and locals are actually kept as members of that activation
-		// object, and so we need to change varId to be the ID of that activation
-		// object -- that way, the player will modify the member of the activation
-		// object rather than modifying the "regular" argument or local.  See bug
-		// 155031.
-		if (varId <= Value.BASE_ID && varId > Value.LEVEL_ID)
-		{
-			int depth = (int) (Value.BASE_ID - varId);
-			DStackContext context = m_manager.getFrame(depth,isolateId);
-			DVariable activationObject = context.getActivationObject();
-			if (activationObject != null)
-				varId = activationObject.getValue().getId();
-		}
-
-		memberName = getRawMemberName(varId, memberName, isolateId);
-
-		// see if it is our any of our special variables
-		FaultEvent faultEvent = requestSetVariable( isPseudoVarId(varId) ? 0 : varId, memberName, type, value, isolateId);
-
-		// now that we sent it out, we need to clear our variable cache
-		// if it is our special context then mark the frame as stale.
-		if (isPseudoVarId(varId) && m_manager.getFrameCount(isolateId) > 0)
-		{
-			m_manager.getFrame(0, isolateId).markStale();
-		}
-		else
-		{
-			DValue parent = m_manager.getValue(varId,isolateId);
-			if (parent != null)
-				parent.removeAllMembers();
-		}
-
-		return faultEvent;
-	}
-
-	/**
-	 * Returns whether a variable ID is "real" or not.  For example,
-	 * Value.THIS_ID is a "pseudo" varId, as are all the other special
-	 * hard-coded varIds in the Value class.
-	 */
-	private boolean isPseudoVarId(long varId)
-	{
-		/*
-		 * Unfortunately, this is actually just taking a guess.  The old code
-		 * used "varId &lt; 0"; however, the Linux player sometimes has real
-		 * variable IDs which are less than zero.
-		 */
-		return (varId < 0 && varId > -65535);
-	}
-
-	/**
-	 * <code>memberName</code> might be just <code>"varname"</code>, or it
-	 * might be <code>"namespace::varname"</code>, or it might be
-	 * <code>"namespace@hexaddr::varname"</code>.  In the third case, it is
-	 * fully resolved, and there is nothing we need to do.  But in the first
-	 * and second cases, we may need to fully resolve it so that the Player
-	 * will recognize it.
-	 */
-	private String getRawMemberName(long parentValueId, String memberName, int isolateId)
-	{
-		if (memberName != null)
-		{
-			DValue parent = m_manager.getValue(parentValueId, isolateId);
-			if (parent != null)
-			{
-				int doubleColon = memberName.indexOf("::"); //$NON-NLS-1$
-				String shortName = (doubleColon==-1) ? memberName : memberName.substring(doubleColon+2);
-				DVariable member = parent.findMember(shortName);
-				if (member != null)
-					memberName = member.getRawName();
-			}
-		}
-		return memberName;
-	}
-
-	/**
-	 * @return null for success, or fault event if a setter in the player threw an exception
-	 */
-	private FaultEvent requestSetVariable(long id, String name, int t, String value, int isolateId) throws NoResponseException
-	{
-		// convert type to typeName
-		String type = DVariable.typeNameFor(t);
-		DMessage dm = buildOutSetMessage(id, name, type, value);
-		dm.setTargetIsolate(isolateId);
-		FaultEvent faultEvent = null;
-//		System.out.println("setmsg id="+id+",name="+name+",t="+type+",value="+value);
-
-		// make sure any exception during the setter gets held onto
-		m_manager.beginPlayerCodeExecution(isolateId);
-
-		// turn off squelch so we can hear the response
-		sendSquelch(false, isolateId);
-
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-
-		if (!simpleRequestResponseMessage(dm, (t == VariableType.STRING) ? DMessage.InSetVariable : DMessage.InSetVariable2, timeout))
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-
-		// turn it back on
-		sendSquelch(true, isolateId);
-
-		// tell manager we're done, and get exception if any
-		faultEvent = m_manager.endPlayerCodeExecution(isolateId);
-
-		// hammer the variable cache and context array
-		m_manager.freeValueCache(isolateId);
-		return faultEvent;
-	}
-
-	private DMessage buildOutSetMessage(long id, String name, String type, String v)
-	{
-		DMessage dm = DMessageCache.alloc(DMessage.getSizeofPtr()+
-				DMessage.getStringLength(name)+
-				DMessage.getStringLength(type)+
-				DMessage.getStringLength(v)+
-				3);
-		dm.setType(DMessage.OutSetVariable);
-		dm.putPtr(id);
-		try { dm.putString(name); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		try { dm.putString(type); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		try { dm.putString(v); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		return dm;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#waitForEvent()
-	 */
-	public void waitForEvent() throws NotConnectedException, InterruptedException
-	{
-		Object eventNotifier = m_manager.getEventNotifier();
-		synchronized (eventNotifier)
-		{
-			while (getEventCount() == 0 && isConnected())
-			{
-				eventNotifier.wait();
-			}
-		}
-
-		// We should NOT call isConnected() to test for a broken connection!  That
-		// is because we may have received one or more events AND lost the connection,
-		// almost simultaneously.  If there are any messages available for the
-		// caller to process, we should not throw an exception.
-		if (getEventCount() == 0 && !isConnected())
-			throw new NotConnectedException();
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#getEventCount()
-	 */
-	public int getEventCount()
-	{
-		return m_manager.getEventCount();
-	}
-
-	/*
-	 * @see flash.tools.debugger.Session#nextEvent()
-	 */
-	public DebugEvent nextEvent()
-	{
-		return m_manager.nextEvent();
-	}
-
-	/**
-	 * Adds a watchpoint on the given expression
-	 * @throws NotConnectedException
-	 * @throws NoResponseException
-	 * @throws NotSupportedException
-	 * @throws NotSuspendedException
-	 */
-	public boolean addWatch(long varId, String varName, int type, int tag, int isolateId) throws NoResponseException, NotConnectedException, NotSupportedException
-	{
-		// TODO check for NoResponse, NotConnected
-
-		if (!supportsWatchpoints(isolateId))
-			throw new NotSupportedException(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("watchpointsNotSupported")); //$NON-NLS-1$
-
-		varName = getRawMemberName(varId, varName, isolateId);
-		DMessage dm = DMessageCache.alloc(4+DMessage.getSizeofPtr()+DMessage.getStringLength(varName)+1);
-		dm.setType(DMessage.OutAddWatch2);
-		dm.setTargetIsolate(isolateId);
-		dm.putPtr(varId);
-		try { dm.putString(varName); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		dm.putWord(type);
-		dm.putWord(tag);
-
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-		boolean result = simpleRequestResponseMessage(dm, DMessage.InWatch2, timeout);
-		return result;
-	}
-
-	/**
-	 * Removes a watchpoint on the given expression
-	 * @throws NotConnectedException
-	 * @throws NoResponseException
-	 * @throws NotSuspendedException
-	 */
-	public boolean removeWatch(long varId, String memberName, int isolateId) throws NoResponseException, NotConnectedException
-	{
-		memberName = getRawMemberName(varId, memberName, isolateId);
-		DMessage dm = DMessageCache.alloc(DMessage.getSizeofPtr()+DMessage.getStringLength(memberName)+1);
-		dm.setType(DMessage.OutRemoveWatch2);
-		dm.putPtr(varId);
-		try { dm.putString(memberName); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-		boolean result = simpleRequestResponseMessage(dm, DMessage.InWatch2, timeout);
-		return result;
-	}
-
-	/**
-	 * Send a message that contains no data
-	 */
-	void sendMessage(int message)
-	{
-		DMessage dm = DMessageCache.alloc(0);
-		dm.setType(message);
-		sendMessage(dm);
-	}
-	
-	/**
-	 * Send a message that contains no data
-	 */
-	void sendMessageIsolate(int message, int isolateId)
-	{
-		DMessage dm = DMessageCache.alloc(0);
-		dm.setTargetIsolate(isolateId);
-		dm.setType(message);
-		sendMessage(dm);
-	}
-
-	/**
-	 * Send a fully formed message and release it when done
-	 */
-	synchronized void sendMessage(DMessage dm)
-	{
-		try
-		{
-			if (dm.getType() != DMessage.OutSetActiveIsolate) {
-				int isolate = dm.getTargetIsolate();
-				if (isolate != getActiveIsolate().getId()) {
-					DMessage dm1 = DMessageCache.alloc(4);
-					dm1.setTargetIsolate(isolate);
-					dm1.setType(DMessage.OutSetActiveIsolate);
-					dm1.putDWord(isolate);
-
-					/* Use sendMessage here to avoid waiting for a response. 
-					 * The assumption is that once the message is sent, subsequent
-					 * messages are for that isolate regardless of the player confirming
-					 * it. With this change, performance has improved considerably; player
-					 * debugger has not gone out of sync since the ProcessTag messages
-					 * flood issue was resolved. */
-					sendMessage(dm1);
-
-					m_manager.setActiveIsolate(m_manager.getIsolate(isolate));
-
-				}
-			}
-			m_protocol.txMessage(dm);
-
-			if (m_debugMsgOn || m_debugMsgFileOn)
-				trace(dm, false);
-		}
-		catch(IOException io)
-		{
-			if (Trace.error)
-			{
-				Trace.trace("Attempt to send message "+dm.outToString()+" failed"); //$NON-NLS-1$ //$NON-NLS-2$
-				io.printStackTrace();
-			}
-		}
-		DMessageCache.free(dm);
-	}
-
-	/**
-	 * Tell the player to shut-up
-	 */
-	boolean sendSquelch(boolean on, int isolateId)
-	{
-		boolean responded;
-		DMessage dm = DMessageCache.alloc(4);
-		dm.setType(DMessage.OutSetSquelch);
-		dm.setTargetIsolate(isolateId);
-		dm.putDWord( on ? 1 : 0);
-		responded = simpleRequestResponseMessage(dm, DMessage.InSquelch);
-		return responded;
-	}
-
-	void sendStopWarning()
-	{
-		// Currently, "disable_script_stuck_dialog" only works for AS2, not for AS3.
-		String option = "disable_script_stuck_dialog"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-
-		// HACK: Completely disable the script-stuck notifications, so that we can
-		// get AS3 debugging working.
-		option = "disable_script_stuck"; //$NON-NLS-1$
-		value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendStopOnFault()
-	{
-		String option = "break_on_fault"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendEnumerateOverride()
-	{
-		String option = "enumerate_override"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendFailureNotify()
-	{
-		String option = "notify_on_failure"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendInvokeSetters()
-	{
-		String option = "invoke_setters"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendSwfloadNotify()
-	{
-		String option = "swf_load_messages"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendConsoleErrorsAsTrace(boolean on)
-	{
-		String option = "console_errors"; //$NON-NLS-1$
-		String value = (on) ? "on" : "off"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendGetterTimeout()
-	{
-		String option = "getter_timeout"; //$NON-NLS-1$
-		String value = "" + getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT); //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-
-	void sendSetterTimeout()
-	{
-		String option = "setter_timeout"; //$NON-NLS-1$
-		String value = "" + getPreference(SessionManager.PREF_SETVAR_RESPONSE_TIMEOUT); //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-	
-	void sendConcurrentDebugger()
-	{
-		String option = "concurrent_debugger"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-	}
-	
-	void sendWideLineDebugger()
-	{
-		String option = "wide_line_debugger"; //$NON-NLS-1$
-		String value = "on"; //$NON-NLS-1$
-
-		sendOptionMessage(option, value);
-		m_manager.setWideLines(true);
-	}
-
-	void sendOptionMessage(String option, String value)
-	{
-		int msgSize = DMessage.getStringLength(option)+DMessage.getStringLength(value)+2;  // add 2 for trailing nulls of each string
-
-		DMessage dm = DMessageCache.alloc(msgSize);
-		dm.setType(DMessage.OutSetOption);
-		try { dm.putString(option); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		try { dm.putString(value); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		simpleRequestResponseMessage(dm, DMessage.InOption);
-	}
-
-	public boolean supportsWatchpoints()
-	{
-		return supportsWatchpoints(Isolate.DEFAULT_ID);
-	}
-	
-	public boolean supportsWatchpoints(int isolateId)
-	{
-		if (m_playerSupportsWatchpoints == null)
-			m_playerSupportsWatchpoints = new Boolean(getOption("can_set_watchpoints", false, isolateId)); //$NON-NLS-1$
-		return m_playerSupportsWatchpoints.booleanValue();
-	}
-
-	public boolean playerCanBreakOnAllExceptions()
-	{
-		return playerCanBreakOnAllExceptions(Isolate.DEFAULT_ID);
-	}
-	
-	public boolean playerCanBreakOnAllExceptions(int isolateId)
-	{
-		if (m_playerCanBreakOnAllExceptions == null)
-			m_playerCanBreakOnAllExceptions = new Boolean(getOption("can_break_on_all_exceptions", false, isolateId)); //$NON-NLS-1$
-		return m_playerCanBreakOnAllExceptions.booleanValue();
-	}
-	
-	public boolean supportsConcurrency(int isolateId)
-	{
-		if (m_playerSupportsConcurrency == null)
-			m_playerSupportsConcurrency = new Boolean(getOption("concurrent_player", false, isolateId)); //$NON-NLS-1$
-		return m_playerSupportsConcurrency.booleanValue();
-	}
-	
-	public boolean supportsConcurrency()
-	{
-		return supportsConcurrency(Isolate.DEFAULT_ID);
-	}
-	
-	public boolean supportsWideLineNumbers()
-	{
-		return supportsWideLineNumbers(Isolate.DEFAULT_ID);
-	}
-	
-	public boolean supportsWideLineNumbers(int isolateId)
-	{
-		if (m_playerSupportsWideLine == null)
-			m_playerSupportsWideLine = new Boolean(getOption("wide_line_player", false, isolateId)); //$NON-NLS-1$
-		return m_playerSupportsWideLine.booleanValue();
-	}
-
-	public boolean playerCanTerminate()
-	{
-		return getOption("can_terminate", false, Isolate.DEFAULT_ID); //$NON-NLS-1$
-	}
-
-	public boolean playerCanCallFunctions()
-	{
-		return playerCanCallFunctions(Isolate.DEFAULT_ID);
-	}
-	
-	public boolean playerCanCallFunctions(int isolateId)
-	{
-		if (m_playerCanCallFunctions == null)
-			m_playerCanCallFunctions = new Boolean(getOption("can_call_functions", false, isolateId)); //$NON-NLS-1$
-		return m_playerCanCallFunctions.booleanValue();
-	}
-
-	/**
-	 * Returns the value of a Flash Player boolean option that was requested by
-	 * OutGetOption and returned by InOption.
-	 *
-	 * @param optionName
-	 *            the name of the option
-	 * @return its value, or null
-	 */
-	public boolean getOption(String optionName, boolean defaultValue, int isolateId)
-	{
-		boolean retval = defaultValue;
-		String optionValue = getOption(optionName, null, isolateId);
-
-		if (optionValue != null)
-			retval = Boolean.valueOf(optionValue).booleanValue();
-
-		return retval;
-	}
-
-	/**
-	 * Returns the value of a Flash Player string option that was requested by
-	 * OutGetOption and returned by InOption.
-	 *
-	 * @param optionName
-	 *            the name of the option
-	 * @return its value, or null
-	 */
-	public String getOption(String optionName, String defaultValue, int isolateId)
-	{
-		String optionValue = defaultValue;
-
-		int msgSize = DMessage.getStringLength(optionName)+1;  // add 1 for trailing null of string
-
-		DMessage dm = DMessageCache.alloc(msgSize);
-		dm.setTargetIsolate(isolateId);
-		dm.setType(DMessage.OutGetOption);
-		try { dm.putString(optionName); } catch(UnsupportedEncodingException uee) { dm.putByte((byte)'\0'); }
-		if (simpleRequestResponseMessage(dm, DMessage.InOption))
-			optionValue = m_manager.getOption(optionName);
-		return optionValue;
-	}
-	
-	long getMessageInCount(DMessageCounter counter, long isolate, int msgType) {
-		if (isolate == Isolate.DEFAULT_ID) {
-			return counter.getInCount(msgType);
-		}
-		else {
-			return counter.getIsolateInCount(isolate, msgType);
-		}
-	}
-	
-	Object getMessageInLock(DMessageCounter counter, long isolate) {
-		if (isolate == Isolate.DEFAULT_ID) {
-			return counter.getInLock();
-		}
-		else {
-			return counter.getIsolateInLock(isolate);
-		}
-	}
-
-	/**
-	 * Send our message and assume that the next response that is received is
-	 * ours.  Primitive but there is no use in setting up a full request / response
-	 * pattern since the player doesn't follow it.
-	 *
-	 * @return false is no response.
-	 */
-	boolean simpleRequestResponseMessage(DMessage msg, int msgType, int timeout)
-	{
-		boolean response = false;
-
-		//FIXME: Check if timeout needs to adjust to the isolate switching
-		// delay
-		// use default or user supplied timeout
-		timeout = (timeout > 0) ? timeout : getPreference(SessionManager.PREF_RESPONSE_TIMEOUT);
-
-		// note the number of messages of this type before our send
-		DMessageCounter msgCounter = getMessageCounter();
-		int isolate = msg.getTargetIsolate();
-		long num = getMessageInCount(msgCounter, isolate, msgType);
-		long expect = num+1;
-
-		// send the message
-		sendMessage(msg);
-
-		long startTime = System.currentTimeMillis();
-//		System.out.println("sending- "+DMessage.outTypeName(msg.getType())+",timeout="+timeout+",start="+start);
-
-		// now wait till we see a message come in
-		m_incoming = false;
-		synchronized (getMessageInLock(msgCounter, isolate))
-		{
-			while( (expect > getMessageInCount(msgCounter, isolate, msgType)) &&
-					System.currentTimeMillis() < startTime + timeout &&
-					isConnected())
-			{
-				// block until the message counter tells us that some message has been received
-				try
-				{
-					getMessageInLock(msgCounter, isolate).wait(timeout);
-				}
-				catch (InterruptedException e)
-				{
-					// this should never happen
-					e.printStackTrace();
-					//FIXME: Will resetting the interrupted status here
-					//cause any problems?
-//		            Thread.currentThread().interrupt();
-				}
-
-				// if we see incoming messages, then we should reset our timeout
-				synchronized (this)
-				{
-					if (m_incoming)
-					{
-						startTime = System.currentTimeMillis();
-						m_incoming = false;
-					}
-				}
-			}
-		}
-
-		if (getMessageInCount(msgCounter, isolate, msgType) >= expect)
-			response = true;
-		else if (timeout <= 0 && Trace.error)
-			Trace.trace("Timed-out waiting for "+DMessage.inTypeName(msgType)+" response to message "+msg.outToString()); //$NON-NLS-1$ //$NON-NLS-2$
-
-//		long endTime = System.currentTimeMillis();
-//		System.out.println("    response- "+response+",timeout="+timeout+",elapsed="+(endTime-startTime));
-		m_lastResponse = response;
-		return response;
-	}
-
-	// use default timeout
-	boolean simpleRequestResponseMessage(DMessage msg, int msgType) 	{ return simpleRequestResponseMessage(msg, msgType, -1); 	}
-	
-	boolean simpleRequestResponseMessageIsolate(DMessage msg, int msgType, int isolateId) 	{ 
-		return simpleRequestResponseMessageIsolate(msg, msgType, -1, isolateId); 			
-	}
-	
-	boolean simpleRequestResponseMessageIsolate(DMessage msg, int msgType, int timeout, int isolateId)
-	{
-		msg.setTargetIsolate(isolateId);
-		return simpleRequestResponseMessage(msg, msgType, timeout);
-	}
-	
-	boolean simpleRequestResponseMessage(int msg, int msgType)			{ return simpleRequestResponseMessage(msg, msgType, -1); 	}
-	
-	boolean simpleRequestResponseMessageIsolate(int msg, int msgType, int isolateId) { 
-		return simpleRequestResponseMessageIsolate(msg, msgType, -1, isolateId);
-	}
-
-	boolean simpleRequestResponseMessageIsolate(int msg, int msgType, int timeout, int isolateId)
-	{
-		DMessage dm = DMessageCache.alloc(0);
-		dm.setType(msg);
-		dm.setTargetIsolate(isolateId);
-		return simpleRequestResponseMessage(dm, msgType, timeout);
-	}
-	
-	// Convenience function
-	boolean simpleRequestResponseMessage(int msg, int msgType, int timeout)
-	{
-		DMessage dm = DMessageCache.alloc(0);
-		dm.setType(msg);
-		return simpleRequestResponseMessage(dm, msgType, timeout);
-	}
-
-	/**
-	 * We register ourself as a listener to DMessages from the pipe for the
-	 * sole purpose of monitoring the state of the debugger.  All other
-	 * object management occurs with DManager
-	 */
-	/**
-	 * Issued when the socket connection to the player is cut
-	 */
-	public void disconnected()
-	{
-		m_isHalted = false;
-		m_isConnected = false;
-		m_manager.disconnected();
-	}
-
-	/**
-	 * This is the core routine for decoding incoming messages and deciding what should be
-	 * done with them.  We have registered ourself with DProtocol to be notified when any
-	 * incoming messages have been received.
-	 *
-	 * It is important to note that we should not rely on the contents of the message
-	 * since it may be reused after we exit this method.
-	 */
-	public void messageArrived(DMessage msg, DProtocol which)
-	{
-		preMessageArrived(msg, which);
-		msg.reset(); // allow the message to be re-parsed
-		m_manager.messageArrived(msg, which);
-		msg.reset(); // allow the message to be re-parsed
-		postMessageArrived(msg, which);
-	}
-
-	/**
-	 * Processes the message before it is passed to the DManager.
-	 */
-	private void preMessageArrived(DMessage msg, DProtocol which)
-	{
-		switch (msg.getType())
-		{
-		case DMessage.InIsolate:
-
-				m_lastPreIsolate = (int)msg.getDWord();
-			
-			break;
-		
-			case DMessage.InAskBreakpoints:
-			case DMessage.InBreakAt:
-			case DMessage.InBreakAtExt:
-			{
-				// We need to set m_isHalted to true before the DManager processes
-				// the message, because the DManager may add a BreakEvent to the
-				// event queue, which the host debugger may immediately process;
-				// if the debugger calls back to the Session, the Session must be
-				// correctly marked as halted.
-				if (m_lastPreIsolate == Isolate.DEFAULT_ID)
-					m_isHalted = true;
-				else
-					updateHaltIsolateStatus(m_lastPreIsolate, true);
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Processes the message after it has been passed to the DManager.
-	 */
-	private void postMessageArrived(DMessage msg, DProtocol which)
-	{
-		if (m_debugMsgOn || m_debugMsgFileOn)
-			trace(msg, true);
-
-		/* at this point we just open up a big switch statement and walk through all possible cases */
-		int type = msg.getType();
-		switch(type)
-		{
-			case DMessage.InExit:
-			{
-				m_isConnected = false;
-				break;
-			}
-
-			case DMessage.InProcessTag:
-			{
-				// need to send a response to this message to keep the player going
-				sendMessageIsolate(DMessage.OutProcessedTag, msg.getTargetIsolate());
-				break;
-			}
-
-			case DMessage.InContinue:
-			{
-				if (msg.getTargetIsolate() == Isolate.DEFAULT_ID)
-					m_isHalted = false;
-				else {
-					updateHaltIsolateStatus(msg.getTargetIsolate(), false);
-				}
-				break;
-			}
-
-			case DMessage.InOption:
-			{
-				//workers inherit options, so only store options
-				//from main thread.
-				if (msg.getTargetIsolate() == Isolate.DEFAULT_ID) {
-					String s = msg.getString();
-					String v = msg.getString();
-
-					// add it to our properties, for DEBUG purposes only
-					m_prefs.put(s, v);
-				}
-				break;
-			}
-
-			case DMessage.InSwfInfo:
-			case DMessage.InScript:
-			case DMessage.InRemoveScript:
-			{
-				//FIXME: Clear this cache only for affected
-				//workers. Right now, the key contains worker
-				//id, so we are safe. But we unnecessarily flush
-				//the queue.
-				m_evalIsAndInstanceofCache.clear();
-				
-				m_incoming = true;
-				break;
-			}
-
-			default:
-			{
-				/**
-				 * Simple indicator that we have received a message.  We
-				 * put this indicator in default so that InProcessTag msgs
-				 * wouldn't generate false triggers.  Mainly, we want to
-				 * reset our timeout counter when we receive trace messages.
-				 */
-				m_incoming = true;
-				break;
-			}
-		}
-
-		// something came in so assume that we can now talk
-		// to the player
-		m_lastResponse = true;
-	}
-
-    private void updateHaltIsolateStatus(int targetIsolate, boolean value) {
-    	if (!m_isolateStatus.containsKey(targetIsolate)) {
-    		PlayerSessionIsolateStatus status = new PlayerSessionIsolateStatus();
-    		status.m_isHalted = value;
-    		m_isolateStatus.put(targetIsolate, status);    		
-    	}
-    	else {
-    		m_isolateStatus.get(targetIsolate).m_isHalted = value;
-    	}
-	}
-
-	/**
-     * A background thread which wakes up periodically and fetches the SWF and SWD
-     * from the Player for new movies that have loaded.  It then uses these to create
-	 * an instance of MovieMetaData (a class shared with the Profiler) from which
-	 * fdb can cull function names.
-     * This work is done on a background thread because it can take several
-     * seconds, and we want the fdb user to be able to execute other commands
-     * while it is happening.
-     */
-    public void run()
-    {
-    	long last = 0;
-    	while(isConnected())
-    	{
-    		// try every 250ms
-    		try { Thread.sleep(250); } catch(InterruptedException ie) {}
-
-    		try
-    		{
-    			// let's make sure that the traffic level is low before
-    			// we do our requests.
-    			long current = m_protocol.messagesReceived();
-    			long delta = last - current;
-    			last = current;
-
-    			// if the last message that went out was not responded to
-    			// or we are not suspended and have high traffic
-    			// then wait for later.
-    			if (!m_lastResponse || (!isSuspended() && delta > 5))
-    				throw new NotSuspendedException();
-
-    			// we are either suspended or low enough traffic
-
-    			// get the list of swfs we have
-    			for (Isolate isolate : m_manager.getIsolates()) {
-    				int isolateId = isolate.getId();
-    				if (isolateId != Isolate.DEFAULT_ID && !isWorkerSuspended(isolateId) && delta > 5) {
-    					throw new NotSuspendedException();
-    				}
-    				int count = m_manager.getSwfInfoCount(isolateId);
-    				for(int i=0; i<count; i++)
-    				{
-    					DSwfInfo info = m_manager.getSwfInfo(i, isolateId);
-
-    					// no need to process if it's been removed
-    					if (info == null || info.isUnloaded() || info.isPopulated() || (info.getVmVersion() > 0) )
-    						continue;
-
-    					// see if the swd has been loaded, throws exception if unable to load it.
-    					// Also triggers a callback into the info object to freshen its contents
-    					// if successful
-    					//FIXME: remove sysout
-    					info.getSwdSize(this);
-    					// check since our vm version info could get updated in between.
-    					if (info.getVmVersion() > 0)
-    					{
-    						// mark it populated if we haven't already done so
-    						info.setPopulated();
-    						continue;
-    					}
-
-    					// so by this point we know that we've got good swd data,
-    					// or we've made too many attempts and gave up.
-    					if (!info.isSwdLoading() && !info.isUnloaded())
-    					{
-    						// now load the swf, if we haven't already got it
-    						if (info.getSwf() == null && !info.isUnloaded())
-    							info.setSwf(requestSwf(i));
-
-    						// only get the swd if we haven't got it
-    						if (info.getSwd() == null && !info.isUnloaded())
-    							info.setSwd(requestSwd(i));
-
-    						try
-    						{
-    							// now go populate the functions tables...
-    							if (!info.isUnloaded())
-    								info.parseSwfSwd(m_manager);
-    						}
-    						catch(Throwable e)
-    						{
-    							// oh this is not good and means that we should probably
-    							// give up.
-    							if (Trace.error)
-    							{
-    								Trace.trace("Error while parsing swf/swd '"+info.getUrl()+"'. Giving up and marking it processed"); //$NON-NLS-1$ //$NON-NLS-2$
-    								e.printStackTrace();
-    							}
-
-    							info.setPopulated();
-    						}
-    					}
-    				}
-    			}
-    		}
-    		catch(InProgressException ipe)
-    		{
-    			// swd is still loading so give us a bit of
-    			// time and then come back and try again
-    		}
-    		catch(NoResponseException nre)
-    		{
-    			// timed out on one of our requests so don't bother
-    			// continuing right now,  try again later
-    		}
-    		catch(NotSuspendedException nse)
-    		{
-    			// probably want to wait until we are halted before
-    			// doing this heavy action
-    		}
-    		catch(Exception e)
-    		{
-    			// maybe not good
-    			if (Trace.error)
-    			{
-    				Trace.trace("Exception in background swf/swd processing thread"); //$NON-NLS-1$
-    				e.printStackTrace();
-    			}
-    		}
-    	}
-    }
-
-	byte[] requestSwf(int index) throws NoResponseException
-	{
-		/* send the message */
-		int to = getPreference(SessionManager.PREF_SWFSWD_LOAD_TIMEOUT);
-		byte[] swf = null;
-
-		// the query
-		DMessage dm = DMessageCache.alloc(2);
-		dm.setType(DMessage.OutGetSwf);
-		dm.putWord(index);
-
-		if (simpleRequestResponseMessage(dm, DMessage.InGetSwf, to))
-			swf = m_manager.getSWF();
-		else
-			throw new NoResponseException(to);
-
-		return swf;
-	}
-
-	byte[] requestSwd(int index) throws NoResponseException
-	{
-		/* send the message */
-		int to = getPreference(SessionManager.PREF_SWFSWD_LOAD_TIMEOUT);
-		byte[] swd = null;
-
-		// the query
-		DMessage dm = DMessageCache.alloc(2);
-		dm.setType(DMessage.OutGetSwd);
-		dm.putWord(index);
-
-		if (simpleRequestResponseMessage(dm, DMessage.InGetSwd, to))
-			swd = m_manager.getSWD();
-		else
-			throw new NoResponseException(to);
-
-		return swd;
-	}
-
-	//
-	// Debug purposes only.  Dump contents of our messages to the screen
-	// and/or file.
-	//
-	synchronized void trace(DMessage dm, boolean in)
-	{
-		try
-		{
-			if (m_debugMsgOn) {
-				System.out.println( (in) ? dm.inToString(m_debugMsgSize) : dm.outToString(m_debugMsgSize) );
-			}
-
-			if (m_debugMsgFileOn)
-			{
-				traceFile().write( (in) ? dm.inToString(m_debugMsgFileSize) : dm.outToString(m_debugMsgFileSize) );
-				m_trace.write(s_newline);
-				m_trace.flush();
-			}
-		}
-		catch(Exception e) {}
-	}
-
-	// i/o for tracing
-    java.io.Writer m_trace;
-	
-
-	java.io.Writer traceFile() throws IOException
-	{
-		if (m_trace == null)
-		{
-			m_trace = new java.io.FileWriter("mm_debug_api_trace.txt"); //$NON-NLS-1$
-			try { m_trace.write(new java.util.Date().toString()); } catch(Exception e) { m_trace.write("Date unknown"); } //$NON-NLS-1$
-			try
-			{
-				m_trace.write(s_newline);
-
-				// java properties dump
-				java.util.Properties props = System.getProperties();
-				props.list(new java.io.PrintWriter(m_trace));
-
-				m_trace.write(s_newline);
-
-				// property dump
-				for (String key: m_prefs.keySet())
-				{
-					Object value = m_prefs.get(key);
-					m_trace.write(key);
-					m_trace.write(" = "); //$NON-NLS-1$
-					m_trace.write(value.toString());
-					m_trace.write(s_newline);
-				}
-			}
-			catch(Exception e) { if (Trace.error) e.printStackTrace(); }
-			m_trace.write(s_newline);
-		}
-		return m_trace;
-	}
-
-	public void setLaunchUrl(String url)
-	{
-		if (url.startsWith("/")) { //$NON-NLS-1$
-			url = "file://" + url; //$NON-NLS-1$
-		}
-		m_launchUrl = url;
-	}
-
-	public void setAIRLaunchInfo(AIRLaunchInfo airLaunchInfo)
-	{
-		m_airLaunchInfo = airLaunchInfo;
-	}
-
-	public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException {
-		breakOnCaughtExceptions(b, Isolate.DEFAULT_ID);
-	}
-	
-	public void breakOnCaughtExceptions(boolean b, int isolateId) throws NotSupportedException, NoResponseException {
-		if (!playerCanBreakOnAllExceptions(isolateId))
-			throw new NotSupportedException(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("exceptionBreakpointsNotSupported")); //$NON-NLS-1$
-
-		DMessage dm = DMessageCache.alloc(1);
-		dm.setType(DMessage.OutPassAllExceptionsToDebugger);
-		dm.putByte((byte)(b ? 1 : 0));
-		dm.setTargetIsolate(isolateId);
-		/* TODO: Verify that sendMessage below is a bug */
-//		sendMessage(dm);
-		if (!simpleRequestResponseMessage(dm, DMessage.InPassAllExceptionsToDebugger))
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-	}
-
-
-	public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Is, value, type, Isolate.DEFAULT_ID);
-	}
-
-	public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Is, value, type, Isolate.DEFAULT_ID);
-	}
-
-	public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Instanceof, value, type, Isolate.DEFAULT_ID);
-	}
-
-	public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Instanceof, value, type, Isolate.DEFAULT_ID);
-	}
-	
-	// isolate version
-	
-	public boolean evalIsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Is, value, type, isolateId);
-	}
-
-	public boolean evalIsWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Is, value, type, isolateId);
-	}
-
-	public boolean evalInstanceofWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Instanceof, value, type, isolateId);
-	}
-
-	public boolean evalInstanceofWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		return evalIsOrInstanceof(BinaryOp.Instanceof, value, type, isolateId);
-	}
-
-	private boolean evalIsOrInstanceof(BinaryOp op, Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		String key = value.getTypeName() + " " + op + " " + type.getTypeName() + " " + String.valueOf(isolateId); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		Boolean retval = m_evalIsAndInstanceofCache.get(key);
-		if (retval == null)
-		{
-			retval = new Boolean(ECMA.toBoolean(evalBinaryOp(op, value, type, isolateId)));
-			m_evalIsAndInstanceofCache.put(key, retval);
-		}
-
-		return retval.booleanValue();
-	}
-
-	private boolean evalIsOrInstanceof(BinaryOp op, Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		String key = value.getTypeName() + " " + op + " " + type + " " + String.valueOf(isolateId); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		Boolean retval = m_evalIsAndInstanceofCache.get(key);
-		if (retval == null)
-		{
-			Value typeval = getGlobalWorker(type, isolateId);
-			if (typeval == null)
-				retval = Boolean.FALSE;
-			else
-				retval = new Boolean(ECMA.toBoolean(evalBinaryOp(op, value, typeval, isolateId)));
-			m_evalIsAndInstanceofCache.put(key, retval);
-		}
-
-		return retval.booleanValue();
-	}
-
-	public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException
-	{
-		return ECMA.toBoolean(evalBinaryOp(BinaryOp.In, property, object, Isolate.DEFAULT_ID));
-	}
-
-	public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException {
-		return evalBinaryOp(BinaryOp.As, value, type, Isolate.DEFAULT_ID);
-	}
-
-	private Value evalBinaryOp(BinaryOp op, Value lhs, Value rhs, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		if (!playerCanCallFunctions(isolateId))
-		{
-			Map<String,String> parameters = new HashMap<String,String>();
-			parameters.put("operator", op.getName()); //$NON-NLS-1$
-			String message = PlayerSessionManager.getLocalizationManager().getLocalizedTextString("operatorNotSupported", parameters); //$NON-NLS-1$
-			throw new NotSupportedException(message);
-		}
-
-		int id = (int) (Math.random() * 65536); // good 'nuff
-		DMessage dm = buildBinaryOpMessage(id, op, lhs, rhs);
-
-		dm.setTargetIsolate(isolateId);
-		m_manager.clearLastBinaryOp(isolateId);
-
-		// make sure any exception gets held onto
-		m_manager.beginPlayerCodeExecution(isolateId);
-
-		// TODO wrong timeout
-		int timeout = getPreference(SessionManager.PREF_GETVAR_RESPONSE_TIMEOUT);
-		timeout += 500; // give the player enough time to raise its timeout exception
-
-		boolean result = simpleRequestResponseMessage(dm, DMessage.InBinaryOp, timeout);
-
-		// tell manager we're done; ignore returned FaultEvent
-		m_manager.endPlayerCodeExecution(isolateId);
-
-		if (!result)
-			throw new NoResponseException(timeout);
-
-		DVariable lastBinaryOp = m_manager.lastBinaryOp(isolateId);
-		Value v;
-		if (lastBinaryOp != null)
-			v = lastBinaryOp.getValue();
-		else
-			v = DValue.forPrimitive(Value.UNDEFINED, isolateId);
-
-		if (v.isAttributeSet(ValueAttribute.IS_EXCEPTION))
-			throw new PlayerFaultException(new ExceptionFault(v.getValueAsString(), false, v, isolateId));
-
-		return v;
-	}
-
-	private DMessage buildBinaryOpMessage(int id, BinaryOp op, Value lhs, Value rhs) {
-		int messageSize = 5; // DWORD representing id + byte representing op
-		String lhsType = DVariable.typeNameFor(lhs.getType());
-		String lhsValueString = lhs.getValueAsString();
-		String rhsType = DVariable.typeNameFor(rhs.getType());
-		String rhsValueString = rhs.getValueAsString();
-		messageSize += DMessage.getStringLength(lhsType)+1;
-		messageSize += DMessage.getStringLength(lhsValueString)+1;
-		messageSize += DMessage.getStringLength(rhsType)+1;
-		messageSize += DMessage.getStringLength(rhsValueString)+1;
-
-		DMessage dm = DMessageCache.alloc(messageSize);
-		dm.setType(DMessage.OutBinaryOp);
-		try
-		{
-			dm.putDWord(id);
-			dm.putByte((byte) op.getValue());
-			dm.putString(lhsType);
-			dm.putString(lhsValueString);
-			dm.putString(rhsType);
-			dm.putString(rhsValueString);
-		}
-		catch(UnsupportedEncodingException uee)
-		{
-			// couldn't write out the string, so just terminate it and complete anyway
-			dm.putByte((byte)'\0');
-		}
-
-		return dm;
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#getDisconnectCause()
-	 */
-	public Exception getDisconnectCause() {
-		if (m_protocol != null)
-			return m_protocol.getDisconnectCause();
-		
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#refreshIsolates()
-	 */
-	public Isolate[] refreshWorkers() throws NotSupportedException,
-			NotSuspendedException, NoResponseException, NotConnectedException {
-		if (!supportsConcurrency()) {
-			throw new NotSupportedException(PlayerSessionManager.getLocalizationManager().getLocalizedTextString("concurrencyNotSupported")); //$NON-NLS-1$
-		}
-		if (!isSuspended())
-			throw new NotSuspendedException();
-		
-		boolean response = simpleRequestResponseMessage(DMessage.OutIsolateEnumerate, DMessage.InIsolateEnumerate);
-		
-		if (response) {
-			return m_manager.getIsolates();
-		}
-		return null;
-	}
-
-	private Isolate getActiveIsolate() {
-		return m_manager.getActiveIsolate();
-	}
-
-	@Override
-	public Isolate[] getWorkers() {
-		return m_manager.getIsolates();
-	}
-
-	@Override
-	public void resumeWorker(int isolateId) throws NotSuspendedException,
-			NotConnectedException, NoResponseException {
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		if (!simpleRequestResponseMessageIsolate(DMessage.OutContinue, DMessage.InContinue, isolateId))
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-	}
-
-	@Override
-	public int suspendReasonWorker(int isolateId) throws NotConnectedException {
-		DSuspendInfo info = getSuspendInfoIsolate(isolateId);
-		return info.getReason();
-	}
-	
-	public DSuspendInfo getSuspendInfoIsolate(int isolateId)
-	{
-		DSuspendInfo info = m_manager.getSuspendInfo(isolateId);
-		if (info == null)
-		{
-			if (simpleRequestResponseMessageIsolate(DMessage.OutGetBreakReason, DMessage.InBreakReason, isolateId))
-				info = m_manager.getSuspendInfo(isolateId);
-
-			// if we still can't get any info from the manager...
-			if (info == null)
-				info = new DSuspendInfo();  // empty unknown break information
-		}
-		return info;
-	}
-
-	@Override
-	public void stepContinueWorker(int isolateId)
-			throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		if (!isWorkerSuspended(isolateId))
-			throw new NotSuspendedException();
-
-		// send a step-continue message and then wait for the Flash player to tell us that is has
-		// resumed execution
-		if (!simpleRequestResponseMessageIsolate(DMessage.OutStepContinue, DMessage.InContinue, isolateId))
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-	}
-
-	@Override
-	public Location setBreakpointWorker(int fileId, int lineNum, int isolateId)
-			throws NoResponseException, NotConnectedException {
-		/* send the message to the player and await a response */
-		Location l = null;
-		int bp = DLocation.encodeId(fileId, lineNum);
-		int wideLineSize = 0;
-		if (supportsWideLineNumbers())
-			wideLineSize = 4;
-		DMessage dm = DMessageCache.alloc(8 + wideLineSize);
-		dm.setType(DMessage.OutSetBreakpoints);
-		dm.putDWord(1);
-		if (!supportsWideLineNumbers())
-			dm.putDWord(bp);
-		else {
-			dm.putDWord(fileId);
-			dm.putDWord(lineNum);
-		}
-
-		boolean gotResponse = simpleRequestResponseMessageIsolate(dm, DMessage.InSetBreakpoint, isolateId);
-		if(gotResponse)
-		{
-			/* even though we think we got an answer check that the breakpoint was added */
-			l = m_manager.getBreakpoint(bp, isolateId);
-		}
-		else
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-
-		return l;
-	}
-
-	@Override
-	public Frame[] getFramesWorker(int isolateId) throws NotConnectedException {
-		return m_manager.getFrames(isolateId);		
-	}
-
-	@Override
-	public SwfInfo[] getSwfsWorker(int isolateId) throws NoResponseException {
-		int swfCount = 0;
-		swfCount = m_manager.getSwfInfoCount(isolateId);
-		if (swfCount == 0)
-		{
-			// need to help out on the first one since the player
-			// doesn't send it
-			requestSwfInfo(0, isolateId);
-		}
-		//SwfInfo[] swfs = m_manager.getSwfInfos();
-		
-		ArrayList<SwfInfo> swfList = new ArrayList<SwfInfo>(); 
-
-		for ( SwfInfo info : m_manager.getSwfInfos(isolateId) ) {
-			swfList.add(info);
-		}
-
-		return swfList.toArray(new SwfInfo[0]);
-	}
-
-	@Override
-	public void stepIntoWorker(int isolateId) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		if (isWorkerSuspended(isolateId))
-		{
-			// send a step-into message and then wait for the Flash player to tell us that is has
-			// resumed execution
-			if (!simpleRequestResponseMessageIsolate(DMessage.OutStepInto, DMessage.InContinue, isolateId))
-				throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-		}
-		else
-			throw new NotSuspendedException();
-		
-	}
-
-	@Override
-	public void stepOutWorker(int isolateId) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		if (isWorkerSuspended(isolateId))
-		{
-			// send a step-out message and then wait for the Flash player to tell us that is has
-			// resumed execution
-			if (!simpleRequestResponseMessageIsolate(DMessage.OutStepOut, DMessage.InContinue, isolateId))
-				throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-		}
-		else
-			throw new NotSuspendedException();
-		
-	}
-
-	@Override
-	public void stepOverWorker(int isolateId) throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		if (isWorkerSuspended(isolateId))
-		{
-			// send a step-over message and then wait for the Flash player to tell us that is has
-			// resumed execution
-			if (!simpleRequestResponseMessageIsolate(DMessage.OutStepOver, DMessage.InContinue, isolateId))
-				throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-		}
-		else
-			throw new NotSuspendedException();
-		
-	}
-
-	public boolean evalInWorker(Value property, Value object, int isolateId) throws PlayerDebugException, PlayerFaultException
-	{
-		return ECMA.toBoolean(evalBinaryOp(BinaryOp.In, property, object, isolateId));
-	}
-
-	public Value evalAsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException {
-		return evalBinaryOp(BinaryOp.As, value, type, isolateId);
-	}
-
-	@Override
-	public void suspendWorker(int isolateId) throws SuspendedException,
-			NotConnectedException, NoResponseException {
-		// send a halt message
-		int wait = getPreference(SessionManager.PREF_SUSPEND_WAIT);
- 		int every = 50; // wait this long for a response.  The lower the number the more aggressive we are!
-
-		if (isWorkerSuspended(isolateId))
-			throw new SuspendedException();
-
-		while (!isWorkerSuspended(isolateId) && wait > 0)
-		{
-			simpleRequestResponseMessageIsolate(DMessage.OutStopDebug, DMessage.InBreakAtExt, every, isolateId);
-			wait -= every;
-		}
-
-		if (!isWorkerSuspended(isolateId))
-			throw new NoResponseException(wait);	
-	}
-
-	@Override
-	public IsolateSession getWorkerSession(int isolateId) {
-		if (m_isolateSessions.containsKey(isolateId)) {
-			return m_isolateSessions.get(isolateId);
-		}
-		else {
-			IsolateSession workerSession = new IsolatePlayerSession(isolateId, this);
-			m_isolateSessions.put(isolateId, workerSession);
-			return workerSession;
-		}
-		
-	}
-	
-	public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException {
-		return setExceptionBreakpointWorker(exceptionClass, Isolate.DEFAULT_ID);
-	}
-	
-	public boolean setExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException {
-		int messageSize = DMessage.getStringLength(exceptionClass) + 1;
-		
-		DMessage dm = DMessageCache.alloc(messageSize);
-		dm.setType(DMessage.OutSetExceptionBreakpoint);
-		dm.setTargetIsolate(isolateId);
-		try {
-			dm.putString(exceptionClass);
-		} catch (UnsupportedEncodingException e) {
-			// couldn't write out the string, so just terminate it and complete anyway
-			dm.putByte((byte)'\0');
-		}
-
-		boolean gotResponse = simpleRequestResponseMessageIsolate(dm, DMessage.InSetExceptionBreakpoint, isolateId);
-		if(gotResponse)
-		{
-			return true;
-		}
-		else
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-
-	}
-	
-	@Override
-	public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException {
-		return clearExceptionBreakpointWorker(exceptionClass, Isolate.DEFAULT_ID);
-	}
-
-	@Override
-	public boolean clearExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException {
-		int messageSize = DMessage.getStringLength(exceptionClass) + 1;
-		DMessage dm = DMessageCache.alloc(messageSize);
-		dm.setType(DMessage.OutRemoveExceptionBreakpoint);
-		dm.setTargetIsolate(isolateId);
-		try {
-			dm.putString(exceptionClass);
-		} catch (UnsupportedEncodingException e) {
-			// couldn't write out the string, so just terminate it and complete anyway
-			dm.putByte((byte)'\0');
-		}
-
-		boolean gotResponse = simpleRequestResponseMessageIsolate(dm, DMessage.InRemoveExceptionBreakpoint, isolateId);
-		if(gotResponse)
-		{
-			return true;
-		}
-		else
-			throw new NoResponseException(getPreference(SessionManager.PREF_RESPONSE_TIMEOUT));
-
-	}
-
-	@Override
-	public void setLauncher(ILauncher launcher) {
-		this.launcher = launcher;
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionIsolateStatus.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionIsolateStatus.java
deleted file mode 100644
index 96700cb..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionIsolateStatus.java
+++ /dev/null
@@ -1,25 +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.
- */
-package flash.tools.debugger.concrete;
-
-public class PlayerSessionIsolateStatus {
-
-	/**
-	 * Corresponding to playersession::m_isHalted, but for isolate.
-	 */
-	public boolean m_isHalted;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionManager.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionManager.java
deleted file mode 100644
index 8f8f755..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/PlayerSessionManager.java
+++ /dev/null
@@ -1,1211 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.BindException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketTimeoutException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.AIRLaunchInfo;
-import flash.tools.debugger.DebuggerLocalizer;
-import flash.tools.debugger.DefaultDebuggerCallbacks;
-import flash.tools.debugger.IDebuggerCallbacks;
-import flash.tools.debugger.ILaunchNotification;
-import flash.tools.debugger.ILauncher;
-import flash.tools.debugger.IProgress;
-import flash.tools.debugger.Player;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager2;
-import flash.tools.debugger.VersionException;
-import flash.util.URLHelper;
-
-public class PlayerSessionManager implements SessionManager2
-{
-	private ServerSocket m_serverSocket;
-	private HashMap<String, Object> m_prefs;
-	private IDebuggerCallbacks m_debuggerCallbacks;
-	private static LocalizationManager m_localizationManager;
-	private Socket m_connectSocket;
-	private boolean m_cancelConnect;
-	
-	static
-	{
-        // set up for localizing messages
-        m_localizationManager = new LocalizationManager();
-        m_localizationManager.addLocalizer( new DebuggerLocalizer("flash.tools.debugger.concrete.djapi.") ); //$NON-NLS-1$
-	}
-
-	public PlayerSessionManager()
-	{
-		m_debuggerCallbacks = new DefaultDebuggerCallbacks();
-
-		m_serverSocket = null;
-		m_connectSocket = null;
-		m_cancelConnect = false;
-		m_prefs = new HashMap<String, Object>();
-
-		// manager
-		setPreference(PREF_ACCEPT_TIMEOUT, 120000); // 2 minutes
-		setPreference(PREF_URI_MODIFICATION, 1);
-		setPreference(PREF_CONNECT_TIMEOUT, 120000); // 2 minutes
-		setPreference(PREF_CONNECT_WAIT_INTERVAL, 250); // 0.25 seconds
-		setPreference(PREF_CONNECT_RETRY_ATTEMPTS, -1); // Retry till timeout
-		
-		// session
-
-		// response to requests
-		setPreference(PREF_SOCKET_TIMEOUT, -1); // no timeout by default
-		setPreference(PREF_RESPONSE_TIMEOUT, 750); // 0.75s
-		setPreference(PREF_CONTEXT_RESPONSE_TIMEOUT, 1000); // 1s
-		setPreference(PREF_GETVAR_RESPONSE_TIMEOUT, 1500); // 1.5s
-		setPreference(PREF_SETVAR_RESPONSE_TIMEOUT, 5000); // 5s
-		setPreference(PREF_SWFSWD_LOAD_TIMEOUT, 5000);  // 5s
-
-		// wait for a suspend to occur after a halt
-		setPreference(PREF_SUSPEND_WAIT, 7000);
-
-		// invoke getters by default
-		setPreference(PREF_INVOKE_GETTERS, 1);
-
-		// hierarchical variables view
-		setPreference(PREF_HIERARCHICAL_VARIABLES, 0);
-	}
-
-	/**
-	 * Set preference 
-	 * If an invalid preference is passed, it will be silently ignored.
-	 */
-	public void			setPreference(String pref, int value)	{ m_prefs.put(pref, new Integer(value)); }
-	public void			setPreference(String pref, String value){ m_prefs.put(pref, value);	}
-	public Set<String>	keySet()								{ return m_prefs.keySet(); }
-	public Object		getPreferenceAsObject(String pref)		{ return m_prefs.get(pref); }
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#getPreference(java.lang.String)
-	 */
-	public int getPreference(String pref)
-	{
-		int val = 0;
-		Integer i = (Integer)m_prefs.get(pref);
-		if (i == null)
-			throw new NullPointerException();
-		val = i.intValue();
-		return val;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#startListening()
-	 */
-	public void startListening() throws IOException 
-	{
-		if (m_serverSocket == null)
-			m_serverSocket = new ServerSocket(DProtocol.DEBUG_PORT);
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#stopListening()
-	 */
-	public void stopListening() throws IOException
-	{
-		if (m_serverSocket != null)
-		{
-			m_serverSocket.close();
-			m_serverSocket = null;
-		}
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#isListening()
-	 */
-	public boolean isListening()
-	{
-		return (m_serverSocket == null) ? false : true;
-	}
-
-	private class LaunchInfo
-	{
-		private String m_uri;
-
-		public LaunchInfo(String uri)
-		{
-			m_uri = uri;
-		}
-
-		public boolean isAbout()
-		{
-			return m_uri.startsWith("about:"); //$NON-NLS-1$
-		}
-
-		public boolean isHttpOrAbout()
-		{
-			return m_uri.startsWith("http:") || m_uri.startsWith("https:") || isAbout(); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public boolean isWebPage()
-		{
-			return isHttpOrAbout() || m_uri.endsWith(".htm") || m_uri.endsWith(".html"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		public boolean isWebBrowserNativeLaunch()
-		{
-			return isWebPage() && (m_debuggerCallbacks.getHttpExe() != null);
-		}
-
-		public boolean isPlayerNativeLaunch()
-		{
-			return m_uri.length() > 0 && !isWebPage() && (m_debuggerCallbacks.getPlayerExe() != null);
-		}
-		
-		public boolean isAIRLaunch()
-		{
-			return m_uri.startsWith("file:") && (m_uri.endsWith("-app.xml") || m_uri.endsWith("application.xml")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-
-	private enum OS {
-		Mac,
-		Windows,
-		Unix
-	}
-
-	private OS getOS()
-	{
-		String osName = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		if (osName.startsWith("mac os x")) //$NON-NLS-1$
-		{
-			return OS.Mac;
-		}
-		else if (osName.startsWith("windows")) //$NON-NLS-1$
-		{
-			return OS.Windows;
-		}
-		else
-		{
-			return OS.Unix;
-		}
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#launch(java.lang.String, flash.tools.debugger.AIRLaunchInfo, boolean, flash.tools.debugger.IProgress)
-	 */
-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo, boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification) throws IOException
-	{
-		String[] launchCommand = getLaunchCommand(uri, airLaunchInfo,forDebugging);
-
-		// create the process and attach a thread to watch it during our accept phase
-		Process proc = m_debuggerCallbacks.launchDebugTarget(launchCommand);
-
-		ProcessListener processListener = startProcessListener(airLaunchInfo,forDebugging, launchNotification, launchCommand, proc,false); 
-		PlayerSession session = null;
-
-		if (forDebugging)
-		{
-			session = waitForConnection(uri, airLaunchInfo, waitReporter, proc, processListener);
-		}
-
-		return session;
-	}
-
-	private PlayerSession waitForConnection(String uri,
-			AIRLaunchInfo airLaunchInfo, IProgress waitReporter, Process proc,
-			ProcessListener pl) throws IOException {
-		/* now wait for a connection */
-		PlayerSession session = (PlayerSession)accept(pl, waitReporter);
-		session.setProcess(proc);
-		session.setLaunchUrl(uri);
-		session.setAIRLaunchInfo(airLaunchInfo);
-		return session;
-	}
-
-	/**
-	 * Tweaks the launch URI if necessary, e.g. may append "?debug=true"
-	 */
-	private String tweakNativeLaunchUri(String uri, boolean forDebugging,
-			LaunchInfo launchInfo) throws IOException, FileNotFoundException
-	{
-		// first let's see if it's an HTTP URL or not
-		if (launchInfo.isHttpOrAbout())
-		{
-			boolean modify = (getPreference(PREF_URI_MODIFICATION) != 0);
-
-			if (modify && forDebugging && !launchInfo.isAbout())
-			{
-				// escape spaces if we have any
-				uri = URLHelper.escapeSpace(uri);
-
-		        // be sure that ?debug=true is included in query string
-				URLHelper urlHelper = new URLHelper(uri);
-				Map<String, String> params = urlHelper.getParameterMap();
-				params.put("debug", "true"); //$NON-NLS-1$ //$NON-NLS-2$
-				urlHelper.setParameterMap(params);
-
-				uri = urlHelper.getURL();
-		    }
-		}
-		else
-		{
-			// ok, its not an http: type request therefore we should be able to see
-			// it on the file system, right?  If not then it's probably not valid
-			File f = null;
-			if (uri.startsWith("file:")) //$NON-NLS-1$
-			{
-				try
-				{
-					f = new File(new URI(uri));
-				}
-				catch (URISyntaxException e)
-				{
-					IOException ioe = new IOException(e.getMessage());
-					ioe.initCause(e);
-					throw ioe;
-				}
-			}
-			else
-			{
-				f = new File(uri);
-			}
-
-			if (f != null && f.exists()) {
-				// Do not use getCanonicalPath() -- see FB-24595
-				uri = f.getAbsolutePath();
-			} else {
-				throw new FileNotFoundException(uri);
-			}
-		}
-
-		return uri;
-	}
-
-	/**
-	 * Gets the arguments needed for launching a swf that needs to run
-	 * in a web browser or the standalone player.
-	 */
-	private String[] getFlashLaunchArgs(String uri, LaunchInfo launchInfo) throws FileNotFoundException
-	{
-		String[] launchCommand;
-
-		OS os = getOS();
-
-		/**
-		 * Various ways to launch this stupid thing.  If we have the exe
-		 * values for the player, then we can launch it directly, monitor
-		 * it and kill it when we die; otherwise we launch it through
-		 * a command shell (cmd.exe, open, or bash) and our Process object
-		 * dies right away since it spawned another process to run the
-		 * Player within.
-		 */
-		if (os == OS.Mac)
-		{
-			if (launchInfo.isWebBrowserNativeLaunch())
-			{
-				File httpExe = m_debuggerCallbacks.getHttpExe();
-				String[] customParams = m_debuggerCallbacks.getBrowserParameters(uri);
-				if (customParams == null) {
-					launchCommand = new String[] { "/usr/bin/open", "-a", httpExe.toString(), uri }; //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else {
-					final int prependLen = 4;
-					launchCommand = new String[customParams.length + prependLen ];
-					launchCommand[0] = "/usr/bin/open"; //$NON-NLS-1$
-					launchCommand[1] = "-a"; //$NON-NLS-1$
-					launchCommand[2] = httpExe.toString();
-					launchCommand[3] = "--args"; //$NON-NLS-1$
-					for ( int i = 0; i < customParams.length; i++) {
-						launchCommand[i + prependLen] = customParams[i];
-					}
-				}
-			}
-			else if (launchInfo.isPlayerNativeLaunch())
-			{
-				File playerExe = m_debuggerCallbacks.getPlayerExe();
-				launchCommand = new String[] { "/usr/bin/open", "-a", playerExe.toString(), uri }; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			else
-			{
-				launchCommand = new String[] { "/usr/bin/open", uri }; //$NON-NLS-1$
-			}
-		}
-		else // Windows or *nix
-		{
-			if (launchInfo.isWebBrowserNativeLaunch())
-			{
-				File httpExe = m_debuggerCallbacks.getHttpExe();
-				String[] customParams = m_debuggerCallbacks.getBrowserParameters(uri);
-				if (customParams == null) {
-					if (os == OS.Windows)
-						launchCommand = getWindowsBrowserLaunchArgs(httpExe, uri);
-					else
-						launchCommand = new String[] { httpExe.toString(), uri };
-				}
-				else {
-					final int prependLen = 1;
-					launchCommand = new String[customParams.length + prependLen];
-					launchCommand[0] = httpExe.toString();
-					for ( int i = 0; i < customParams.length; i++) {
-						launchCommand[i + prependLen] = customParams[i];
-					}
-				}
-			}
-			else if (launchInfo.isPlayerNativeLaunch())
-			{
-				File playerExe = m_debuggerCallbacks.getPlayerExe();
-				launchCommand = new String[] { playerExe.toString(), uri };
-			}
-			else
-			{
-				if (os == OS.Windows)
-				{
-					// We must quote all ampersands in the URL; if we don't, then
-					// cmd.exe will interpret the ampersand as a command separator.
-					uri = uri.replaceAll("&", "\"&\""); //$NON-NLS-1$ //$NON-NLS-2$
-
-					launchCommand = new String[] { "cmd", "/c", "start", uri }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				else
-				{
-					String exeName;
-					if (launchInfo.isWebPage())
-						exeName = m_debuggerCallbacks.getHttpExeName();
-					else
-						exeName = m_debuggerCallbacks.getPlayerExeName();
-					throw new FileNotFoundException(exeName);
-				}
-			}
-		}
-		return launchCommand;
-	}
-
-	
-
-	/**
-	 * Gets the arguments needed for launching a web browser on Windows.
-	 */
-	private String[] getWindowsBrowserLaunchArgs(File httpExe, String uri)
-	{
-		if (httpExe.getName().equalsIgnoreCase("chrome.exe")) //$NON-NLS-1$
-		{
-			// FB-16779: Adding "--disable-hang-monitor" to prevent Chrome
-			// from warning us that a plug-inappears to be hung; it does
-			// that when the user hits a breakpoint.
-			return new String[] { httpExe.toString(), "--disable-hang-monitor", uri }; //$NON-NLS-1$
-		}
-		else if (httpExe.getName().equalsIgnoreCase("iexplore.exe")) //$NON-NLS-1$
-		{
-			boolean isIE8 = false;
-
-			try
-			{
-				int[] ieVersion = m_debuggerCallbacks.getAppVersion(httpExe);
-				if (ieVersion != null)
-					isIE8 = (ieVersion[0] >= 8);
-			} catch (IOException e) {
-				// ignore
-			}
-
-			if (isIE8)
-			{
-				// FB-22107: Tell IE to keep using the new process we are
-				// launching, rather than merging the new process into the
-				// old one.  This allows us to terminate the new IE
-				// debugging session.
-				return new String[] { httpExe.toString(), "-noframemerging", uri }; //$NON-NLS-1$
-			}
-		}
-
-		return new String[] { httpExe.toString(), uri };
-	}
-
-	/**
-	 * Gets the arguments needed for launching a swf that needs to run
-	 * in AIR.
-	 */
-	private String[] getAIRLaunchArgs(String uri, AIRLaunchInfo airLaunchInfo)
-			throws IOException
-	{
-		List<String> cmdList = new LinkedList<String>();
-
-		cmdList.add(airLaunchInfo.airDebugLauncher.getPath());
-
-		if (airLaunchInfo.airRuntimeDir != null)
-		{
-			cmdList.add("-runtime"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.airRuntimeDir.getPath());
-		}
-
-		if (airLaunchInfo.airSecurityPolicy != null)
-		{
-			cmdList.add("-security-policy"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.airSecurityPolicy.getPath());
-		}
-
-		if (airLaunchInfo.airPublisherID != null && airLaunchInfo.airPublisherID.length() > 0)
-		{
-			cmdList.add("-pubid"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.airPublisherID);
-		}
-
-		if (airLaunchInfo.profile != null && airLaunchInfo.profile.length() > 0)
-		{
-			cmdList.add("-profile"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.profile);
-		}
-		
-		if (airLaunchInfo.screenSize != null && airLaunchInfo.screenSize.length() > 0)
-		{
-			cmdList.add("-screensize"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.screenSize);
-		}
-		
-		if (airLaunchInfo.dpi > 0)
-		{
-			//TODO: this is apparently only going to be used in AIR 2.5.
-			//Figure out permanent solution when AIR 3.0 comes along.
-			cmdList.add("-XscreenDPI"); //$NON-NLS-1$
-			cmdList.add(String.valueOf(airLaunchInfo.dpi));
-		}
-		
-		if (airLaunchInfo.versionPlatform != null && airLaunchInfo.versionPlatform.length() > 0)
-		{
-			cmdList.add("-XversionPlatform"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.versionPlatform);
-		}
-		
-		if (airLaunchInfo.extDir != null && airLaunchInfo.extDir.length() > 0) {
-			cmdList.add("-extdir"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.extDir);
-		}
-		
-		if (airLaunchInfo.deviceExtDir != null && airLaunchInfo.deviceExtDir.length() > 0) {
-			cmdList.add("-XdeviceExtDir"); //$NON-NLS-1$
-			cmdList.add(airLaunchInfo.deviceExtDir);
-		}
-		
-		// If it's a "file:" URL, then pass the actual filename; otherwise, use the URL
-		// ok, its not an http: type request therefore we should be able to see
-		// it on the file system, right?  If not then it's probably not valid
-		File f = null;
-		if (uri.startsWith("file:")) //$NON-NLS-1$
-		{
-			try
-			{
-				f = new File(new URI(uri));
-				cmdList.add(f.getPath());
-			}
-			catch (URISyntaxException e)
-			{
-				IOException ioe = new IOException(e.getMessage());
-				ioe.initCause(e);
-				throw ioe;
-			}
-		}
-		else
-		{
-			cmdList.add(uri);
-		}
-
-		if (airLaunchInfo.applicationContentRootDir != null)
-		{
-			cmdList.add(airLaunchInfo.applicationContentRootDir.getAbsolutePath());
-		}
-
-		List<String> args = null;
-		if (airLaunchInfo.applicationArgumentsArray != null)
-		{
-			args = Arrays.asList(airLaunchInfo.applicationArgumentsArray);
-		}
-		else if (airLaunchInfo.applicationArguments != null)
-		{
-			args = splitArgs(airLaunchInfo.applicationArguments);
-		}
-
-		if (args != null && args.size() > 0)
-		{
-			cmdList.add("--"); //$NON-NLS-1$
-			cmdList.addAll(args);
-		}
-
-		return cmdList.toArray(new String[cmdList.size()]);
-	}
-
-	/**
-	 * This is annoying: We must duplicate the operating system's behavior
-	 * with regard to splitting arguments.
-	 * 
-	 * @param arguments A single string of arguments that are intended to
-	 * be passed to an AIR application.  The tricky part is that some
-	 * of the arguments may be quoted, and if they are, then the quoting
-	 * will be in a way that is specific to the current platform.  For
-	 * example, on Windows, strings are quoted with the double-quote character
-	 * ("); on Mac and Unix, strings can be quoted with either double-quote
-	 * or single-quote.
-	 * @return The equivalent
-	 */
-	private List<String> splitArgs(String arguments)
-	{
-		List<String> retval = new ArrayList<String>();
-
-		arguments = arguments.trim();
-
-		// Windows quotes only with double-quote; Mac and Unix also allow single-quote.
-		boolean isWindows = System.getProperty("os.name").toLowerCase().startsWith("win"); //$NON-NLS-1$ //$NON-NLS-2$
-		boolean isMacOrUnix = !isWindows;
-
-		int i=0;
-		while (i<arguments.length()) {
-			char ch = arguments.charAt(i);
-			if (ch == ' ' || ch == '\t') {
-				// keep looping
-				i++;
-			} else if (ch == '"' || (isMacOrUnix && ch == '\'')) {
-				char quote = ch;
-				int nextQuote = arguments.indexOf(quote, i+1);
-				if (nextQuote == -1) {
-					retval.add(arguments.substring(i+1));
-					return retval;
-				} else {
-					retval.add(arguments.substring(i+1, nextQuote));
-					i = nextQuote+1;
-				}
-			} else {
-				int startPos = i;
-				while (i<arguments.length()) {
-					ch = arguments.charAt(i);
-					if (ch == ' ' || ch == '\t') {
-						break;
-					}
-					i++;
-				}
-				retval.add(arguments.substring(startPos, i));
-			}
-		}
-
-		return retval;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#playerForUri(java.lang.String, flash.tools.debugger.AIRLaunchInfo)
-	 */
-	public Player playerForUri(String url, AIRLaunchInfo airLaunchInfo)
-	{
-		LaunchInfo launchInfo = new LaunchInfo(url);
-
-		if (airLaunchInfo != null)
-		{
-			return new AIRPlayer(airLaunchInfo.airDebugLauncher);
-		}
-		else if (launchInfo.isAIRLaunch())
-		{
-			return new AIRPlayer(null);
-		}
-		else
-		{
-			// Find the Netscape plugin
-			if (getOS() == OS.Mac)
-			{
-				if (!launchInfo.isWebBrowserNativeLaunch())
-				{
-					File playerExe = m_debuggerCallbacks.getPlayerExe();
-					return new StandalonePlayer(playerExe);
-				}
-				File flashPlugin = new File("/Library/Internet Plug-Ins/Flash Player.plugin"); //$NON-NLS-1$
-				return new NetscapePluginPlayer(m_debuggerCallbacks.getHttpExe(), flashPlugin);
-			}
-			else
-			{
-				if (launchInfo.isWebBrowserNativeLaunch())
-				{
-					File httpExe = m_debuggerCallbacks.getHttpExe();
-					if (httpExe.getName().equalsIgnoreCase("iexplore.exe")) //$NON-NLS-1$
-					{
-						// IE on Windows: Find the ActiveX control
-						String activeXFile = null;
-						final String registryKey = "HKEY_CLASSES_ROOT\\CLSID\\{D27CDB6E-AE6D-11cf-96B8-444553540000}\\InprocServer32";  //$NON-NLS-1$
-						//check if this is a 64-bit machine
-						boolean is64Bit = (System.getenv("ProgramFiles(x86)") != null); //$NON-NLS-1$
-						try
-						{
-							if (is64Bit) {
-								//now we have to ensure that we only query the registry
-								//that is 32 or 64-bit depending upon whether we are
-								//launching 32 or 64-bit IE.
-								if (httpExe.getCanonicalPath().contains("(x86)")) { //$NON-NLS-1$
-									activeXFile = m_debuggerCallbacks.queryWindowsRegistry(registryKey, null, 1);
-								}
-								else { 
-									activeXFile = m_debuggerCallbacks.queryWindowsRegistry(registryKey, null, 2);
-								}	
-							}
-							else {
-								activeXFile = m_debuggerCallbacks.queryWindowsRegistry(registryKey, null, 1);
-							}
-							
-						}
-						catch (IOException e)
-						{
-							// ignore
-						}
-						if (activeXFile == null)
-							return null; // we couldn't find the player
-						File file = new File(activeXFile);
-						return new ActiveXPlayer(httpExe, file);
-					}
-					else
-					{
-						// Find the Netscape plugin
-						File browserDir = httpExe.getParentFile();
-	
-						// Opera puts plugins under "program\plugins" rather than under "plugins"
-						if (httpExe.getName().equalsIgnoreCase("opera.exe")) //$NON-NLS-1$
-							browserDir = new File(browserDir, "program"); //$NON-NLS-1$
-	
-						File pluginsDir = new File(browserDir, "plugins"); //$NON-NLS-1$
-						File flashPlugin = new File(pluginsDir, "NPSWF32.dll"); // WARNING, Windows-specific //$NON-NLS-1$
-
-						// Bug FB-4691: The player is now installed via a registry key, not
-						// in the "plugins" directory.
-						//
-						// Although Mozilla does not document this, the actual behavior of
-						// the browser seems to be that it looks first in the "plugins" directory,
-						// and then, if the file is not found there, it looks in the registry.
-						// So, we mimic that behavior.
-						if (!flashPlugin.exists())
-						{
-							File pathFromRegistry = getWindowsMozillaPlayerPathFromRegistry();
-
-							if (pathFromRegistry != null)
-								flashPlugin = pathFromRegistry;
-						}
-	
-						return new NetscapePluginPlayer(httpExe, flashPlugin);
-					}
-				}
-				else if (launchInfo.isPlayerNativeLaunch())
-				{
-					File playerExe = m_debuggerCallbacks.getPlayerExe();
-					return new StandalonePlayer(playerExe);
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/**
-	 * Look in the Windows registry for the Mozilla version of the Flash player.
-	 */
-	private File getWindowsMozillaPlayerPathFromRegistry()
-	{
-		final String KEY = "\\SOFTWARE\\MozillaPlugins\\@adobe.com/FlashPlayer"; //$NON-NLS-1$
-		final String PATH = "Path"; //$NON-NLS-1$
-
-		// According to
-		//
-		//    http://developer.mozilla.org/en/docs/Plugins:_The_first_install_problem
-		//
-		// the MozillaPlugins key can be written to either HKEY_CURRENT_USER or
-		// HKEY_LOCAL_MACHINE.  Unfortunately, as of this writing, Firefox
-		// (version 2.0.0.2) doesn't actually work that way -- it only checks
-		// HKEY_LOCAL_MACHINE, but not HKEY_CURRENT_USER.
-		//
-		// But in hopeful anticipation of a fix for that, we are going to check both
-		// locations.  On current builds, that won't do any harm, because the
-		// current Flash Player installer only writes to HKEY_LOCAL_MACHINE.  In the
-		// future, if Mozilla gets fixed and then the Flash player installer gets
-		// updated, then our code will already work correctly.
-		//
-		// Another quirk: In my opinion, it would be better for Mozilla to look first
-		// in HKEY_CURRENT_USER, and then in HKEY_LOCAL_MACHINE.  However, according to
-		//
-		//    http://developer.mozilla.org/en/docs/Installing_plugins_to_Gecko_embedding_browsers_on_Windows
-		//
-		// they don't agree with that -- they want HKEY_LOCAL_MACHINE first.
-		String[] roots = { "HKEY_LOCAL_MACHINE", "HKEY_CURRENT_USER" }; //$NON-NLS-1$ //$NON-NLS-2$
-		for (int i=0; i<roots.length; ++i)
-		{
-			try
-			{
-				String path = m_debuggerCallbacks.queryWindowsRegistry(roots[i] + KEY, PATH, 1);
-				if (path != null)
-					return  new File(path);
-			}
-			catch (IOException e)
-			{
-				// ignore
-			}
-		}
-
-		return null;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#supportsLaunch()
-	 */
-	public boolean supportsLaunch()
-	{
-		return true;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#accept(flash.tools.debugger.IProgress)
-	 */
-	public Session accept(IProgress waitReporter) throws IOException
-	{
-		return accept(null, waitReporter);
-	}
-
-	/**
-	 * A private variation on <code>accept()</code> that also has an argument
-	 * indicating that the process we are waiting for has terminated.
-	 * 
-	 * @param pl
-	 *            Optional process listener. If non-null, this is used to detect
-	 *            if a process that was launched has terminated unexpectedly.
-	 *            For example, if launch() launches adl, but adl exits, then we
-	 *            don't want to continue to wait for a socket connection.
-	 */
-	private Session accept(ProcessListener pl, IProgress waitReporter) throws IOException
-	{
-		// get timeout 
-		int timeout = getPreference(PREF_ACCEPT_TIMEOUT);
-		int totalTimeout = timeout;
-		int iterateOn = 100;
-
-		PlayerSession session = null;
-		try
-		{
-			m_serverSocket.setSoTimeout(iterateOn);
-
-			// Wait 100ms per iteration.  We have to do that so that we can report how long
-			// we have been waiting.
-			Socket s = null;
-			while (s == null && !airAppTerminated(pl))
-			{
-				try
-				{
-					s = m_serverSocket.accept();
-				}
-				catch(IOException ste)
-				{
-					timeout -= iterateOn;
-					if (timeout < 0 || m_serverSocket == null || m_serverSocket.isClosed())
-						throw ste; // we reached the timeout, or someome called stopListening()
-				}
-
-				// Tell the progress monitor we've waited a little while longer,
-				// so that the Eclipse progress bar can keep chugging along
-				if (waitReporter != null)
-					waitReporter.setProgress(totalTimeout - timeout, totalTimeout);
-			}
-
-			if (s == null && airAppTerminated(pl))
-			{
-				throw pl.createLaunchFailureException();
-			}
-
-			/* create a new session around this socket */
-			session = PlayerSession.createFromSocketWithOptions(s, m_debuggerCallbacks, this);
-
-			// transfer preferences
-			session.setPreferences(m_prefs);
-		}
-		catch(NullPointerException npe)
-		{
-			throw new BindException(getLocalizationManager().getLocalizedTextString("serverSocketNotListening")); //$NON-NLS-1$
-		}
-
-		return session;
-	}
-
-	/**
-	 * Returns true if the passed-in process listener is for an AIR application
-	 * that has terminated. This is used by accept() in order to detect that it
-	 * should give up listening on the socket.
-	 * 
-	 * The reason we can't do this for Flash player-based apps is that unlike
-	 * AIR apps, the process that we launched sometimes acts as just sort of a
-	 * "launcher" process that terminates quickly, and the actual Flash player
-	 * is in some other process. For example, on Mac, we often invoke the "open"
-	 * program to open a web browser; and on Windows, if you launch firefox.exe
-	 * but it detects that there is already a running instance of firefox.exe,
-	 * the new instance will just pass a message to the old instance, and then
-	 * the new instance will terminate.
-	 * 
-	 * @param pl
-	 *            a process listener, or <code>null</code>
-	 * @return true if pl refers to an AIR app that has terminated.
-	 */
-	private boolean airAppTerminated(ProcessListener pl)
-	{
-		if (pl != null)
-		{
-			if (pl.isAIRApp())
-			{
-				if (pl.isProcessDead())
-				{
-					return true;
-				}
-			}
-		}
-
-		return false;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#getDebuggerCallbacks()
-	 */
-	public IDebuggerCallbacks getDebuggerCallbacks()
-	{
-		return m_debuggerCallbacks;
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#setDebuggerCallbacks(flash.tools.debugger.IDebuggerCallbacks)
-	 */
-	public void setDebuggerCallbacks(IDebuggerCallbacks debuggerCallbacks)
-	{
-		m_debuggerCallbacks = debuggerCallbacks;
-	}
-	
-	/**
-	 * A private variation on <code>connect()</code> that also has an argument
-	 * indicating that the process we are waiting for has terminated.
-	 * 
-	 * @param pl
-	 *            Optional process listener. If non-null, this is used to detect
-	 *            if a process that was launched has terminated unexpectedly.
-	 *            For example, if launch() launches adl, but adl exits, then we
-	 *            don't want to continue to wait for a socket connection.
-	 */
-	public Session connect(int port, IProgress waitReporter) throws IOException
-	{
-		final int waitTime = getPreference(PREF_CONNECT_WAIT_INTERVAL);
-		final int maxRetryAttempts = getPreference(PREF_CONNECT_RETRY_ATTEMPTS);
-		final int totalTimeout = getPreference(PREF_CONNECT_TIMEOUT);
-		final long timeForConnectStart = System.currentTimeMillis();
-		
-		long elapsedTime = 0;
-		int retryAttempts = -1;
-		PlayerSession session = null;
-		Socket s = null;		
-		
-		m_cancelConnect = false;		
-		
-		// Try to see if a connect happens till totalTimeout
-		// If the connection was refused in between, retry
-		// again after waitTime until totalTimeout is elapsed.
-		// Retry mechanism is disabled if PREF_CONNECT_RETRY_ATTEMPTS
-		// is 0.
-		while (s == null)
-		{
-			try
-			{
-				InetSocketAddress localAddress = new InetSocketAddress(InetAddress.getByName(null), port);
-				s = new Socket();
-				//save the socket for canceling connect
-				m_connectSocket = s;
-				//connect to loopback address at the specified port
-				s.connect(localAddress, totalTimeout);
-			}
-			catch(IOException ste)
-			{
-				if (ste instanceof SocketTimeoutException) {
-					//if we timed out, abort connect
-					abortConnect(ste);
-				}
-
-				safeCloseSocket(s);
-				
-				s = null;
-				retryAttempts++;
-				
-				//if we should not retry, checkConnectTimeout 
-				//throws an exception
-				elapsedTime = checkConnectTimeout(waitTime, maxRetryAttempts,
-						totalTimeout, retryAttempts, timeForConnectStart, ste);
-			}
-
-			// Tell the progress monitor we've waited a little while longer,
-			// so that the Eclipse progress bar can keep chugging along
-			if (waitReporter != null)
-				waitReporter.setProgress((int)elapsedTime, totalTimeout);
-			
-			if (s != null) {
-				/** If we connected, make sure that we get some response 
-				 * back after sending the handshake. This is required because
-				 * of the way port forwarding works. A connect will be successful
-				 * if port forwarding is set up, but we won't get any response 
-				 * unless the application is actually listening. 				
-				 */				
-				/* create a new session around this socket */
-				session = PlayerSession.createFromSocketWithOptions(s, m_debuggerCallbacks, this);
-				// transfer preferences
-				session.setPreferences(m_prefs);
-				try {
-					session.bind();					
-				}
-				catch (VersionException ex) {
-					session.unbind();
-					safeCloseSocket(s);
-					
-					s = null;					
-					retryAttempts++;
-					
-					/** The VersionException here is considered as an IOException
-					 * because we do not know if there was even a valid application
-					 * listening on the port. Once the port is forwarded, connect
-					 * succeeds and we get a VersionException even if player is not
-					 * listening on that port.
-					 */
-					elapsedTime = checkConnectTimeout(waitTime, maxRetryAttempts, 
-							totalTimeout, retryAttempts, timeForConnectStart, 
-							new IOException(ex.getLocalizedMessage()));
-				}
-			}
-		}
-		m_connectSocket = null;
-		
-		return session;
-	}
-
-	/**
-	 * @param waitTime
-	 * @param maxRetryAttempts
-	 * @param totalTimeout
-	 * @param retryAttempts
-	 * @param startTime
-	 * @param caughtException
-	 * @return
-	 * @throws IOException
-	 */
-	private long checkConnectTimeout(final int waitTime,
-			final int maxRetryAttempts, final int totalTimeout,
-			int retryAttempts, final long startTime, IOException caughtException)
-			throws IOException {
-		long elapsedTime;
-		long endTime = System.currentTimeMillis();
-		elapsedTime = endTime - startTime;
-		
-		// check if we should retry
-		boolean retryFinished = (maxRetryAttempts != -1 && retryAttempts >= maxRetryAttempts);
-		
-		// check if we timed out or somebody called stopConnecting()
-		if (retryFinished ||
-				elapsedTime > totalTimeout || 
-				m_cancelConnect ) {
-			abortConnect(caughtException);
-		}
-
-		//wait a bit before retrying
-		try {
-			Thread.sleep(waitTime);
-		} catch (InterruptedException e) {
-			abortConnect(caughtException);
-		}
-
-		//check cancel before resuming
-		if (m_cancelConnect ) {
-			abortConnect(caughtException);
-		}
-		return elapsedTime;
-	}
-
-	/**
-	 * @param ste
-	 * @throws IOException
-	 */
-	private void abortConnect(IOException ste) throws IOException {
-		m_connectSocket = null;
-		m_cancelConnect = false;
-		throw ste;
-	}
-
-	/**
-	 * @param s
-	 */
-	private void safeCloseSocket(Socket s) {
-		//clean up the socket
-		if (s != null && !s.isClosed()) {
-			try {
-				s.close();
-			}
-			catch (IOException closeException) {
-				//ignore
-			}
-		}
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#stopConnecting()
-	 */
-	public void stopConnecting() throws IOException
-	{
-		if (!m_cancelConnect) {
-			m_cancelConnect = true;
-			if (m_connectSocket != null)
-			{			
-				m_connectSocket.close();
-				m_connectSocket = null;
-			}
-		}		
-	}
-
-	/*
-	 * @see flash.tools.debugger.SessionManager#isConnecting()
-	 */
-	public boolean isConnecting()
-	{
-		return (m_connectSocket == null) ? false : true;
-	}
-	
-	/**
-	 * Returns the localization manager.  Use this for all localized strings.
-	 */
-	public static LocalizationManager getLocalizationManager()
-	{
-		return m_localizationManager;
-	}
-
-	@Override
-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo,
-			IProgress waitReporter, ILaunchNotification launchNotification)
-			throws IOException {
-		String[] launchCommand = getLaunchCommand(uri, airLaunchInfo, false);
-
-		// create the process and attach a thread to watch it during our accept phase
-		Process proc = m_debuggerCallbacks.launchDebugTarget(launchCommand);
-		//forDebugging = false
-		// If launching an AIR app, and forDebugging=false (meaning we are just running it,
-		// not debugging it), start a background thread that will call the launchNotification
-		// when the launch is complete.
-		startProcessListener(airLaunchInfo, false,launchNotification,
-				launchCommand, proc,true);
-				
-		return proc;
-	}
-
-	private ProcessListener startProcessListener(AIRLaunchInfo airLaunchInfo, boolean forDebugging,
-			ILaunchNotification launchNotification, String[] launchCommand,
-			Process proc, boolean isRunLaunch) {
-
-		 ProcessListener processListener = new ProcessListener(launchCommand, proc, launchNotification, forDebugging, airLaunchInfo != null); // BUG FB-9874: launchNotifier added
-		 processListener.setIsRunLaunch(isRunLaunch);
-
-		// If launching an AIR app, and forDebugging=false (meaning we are just running it,
-		// not debugging it), start a background thread that will call the launchNotification
-		// when the launch is complete.
-		if (!forDebugging && airLaunchInfo != null && launchNotification != null)
-			processListener.startLaunchNotifier();
-
-		return processListener;
-	}
-
-	private String[] getLaunchCommand(String uri, AIRLaunchInfo airLaunchInfo, boolean forDebugging)
-			throws IOException, FileNotFoundException {
-
-		String[] launchCommand;
-		
-		uri = uri.trim();
-
-		if (airLaunchInfo == null)
-		{
-			LaunchInfo launchInfo = new LaunchInfo(uri);
-
-			uri = tweakNativeLaunchUri(uri, forDebugging, launchInfo);
-
-			launchCommand = getFlashLaunchArgs(uri, launchInfo);
-		}
-		else // else, AIR
-		{
-			launchCommand = getAIRLaunchArgs(uri, airLaunchInfo);
-		}
-		return launchCommand;
-	}
-
-	@Override
-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo, IProgress waitReporter, ILaunchNotification launchNotification,
-			ILauncher launcher) throws IOException {
-
-		String[] launchCommand = getLaunchCommandForLauncher(uri, airLaunchInfo,false);
-
-		// create the process and attach a thread to watch it during our accept phase
-		Process proc = m_debuggerCallbacks.launchDebugTarget(launchCommand,launcher);
-		//forDebugging = false
-		// If launching an AIR app, and forDebugging=false (meaning we are just running it,
-		// not debugging it), start a background thread that will call the launchNotification
-		// when the launch is complete.
-		startProcessListener(airLaunchInfo, false,launchNotification,
-				launchCommand, proc, true);;
-				
-		return proc;
-	}
-
-	private String[] getLaunchCommandForLauncher(String uri, AIRLaunchInfo airLaunchInfo,boolean forDebugging)
-			throws IOException, FileNotFoundException {
-		String[] launchCommand;
-		if (airLaunchInfo == null)
-		{
-			LaunchInfo launchInfo = new LaunchInfo(uri);
-
-			uri = tweakNativeLaunchUri(uri, forDebugging, launchInfo);
-
-			launchCommand = new String[]{uri};
-		}
-		else // else, AIR
-		{
-			launchCommand = getAIRLaunchArgs(uri, airLaunchInfo);
-		}
-		return launchCommand;
-	}
-
-	@Override
-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo, boolean forDebugging, IProgress waitReporter,
-			ILaunchNotification launchNotification, ILauncher launcher) throws IOException {
-		
-		String[] launchCommand = getLaunchCommandForLauncher(uri, airLaunchInfo,forDebugging);
-
-		// create the process and attach a thread to watch it during our accept phase
-		Process proc = m_debuggerCallbacks.launchDebugTarget(launchCommand, launcher);
-
-		ProcessListener processListener = startProcessListener(airLaunchInfo,forDebugging, launchNotification, launchCommand, proc,false); 
-		PlayerSession session = null;
-
-		if (forDebugging)
-		{
-			session = waitForConnection(uri, airLaunchInfo, waitReporter, proc, processListener);
-			session.setLauncher(launcher);
-		}
-
-		return session;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/ProcessListener.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/ProcessListener.java
deleted file mode 100644
index 5334aff..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/ProcessListener.java
+++ /dev/null
@@ -1,206 +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.
- */
-
-package flash.tools.debugger.concrete;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.StringWriter;
-
-import flash.tools.debugger.AlreadyActiveApplicationException;
-import flash.tools.debugger.CommandLineException;
-import flash.tools.debugger.ILaunchNotification;
-
-/**
- * Listens to several things about a process: captures its stdout/stderr messages,
- * detects when the process exits, and captures its exit code.
- * <p>
- * When a process exits, the ProcessListener can send out a notification.  If
- * you want that to happen, call startLaunchNotifier().
- */
-public class ProcessListener
-{
-	private Process					m_process;
-	private ILaunchNotification		m_launchNotification;
-	private boolean					m_isDebugging;
-	private boolean					m_isAIRapp;
-	private final String[]			m_launchCommand;
-	private StringWriter			m_processMessages;
-
-	/**
-	 * A background thread that will wait until the process terminates, and then
-	 * call the launch listener.
-	 */
-	private Thread m_launchNotifierThread = new Thread("DJAPI ProcessListener") //$NON-NLS-1$
-	{
-		@Override
-		public void run()
-		{
-			try
-			{
-				m_process.waitFor();
-
-				IOException e = null;
-				if (getProcessExitValue() != 0)
-					e = createLaunchFailureException();
-				m_launchNotification.notify(e);
-			}
-			catch (InterruptedException e)
-			{
-				// this will happen if anyone calls Thread.interrupt()
-			}
-		}
-	};
-	private boolean m_isRunLaunch;
-
-	/**
-	 * Starts listening to stdout and stderr of the launched process.  The caller
-	 * can later call getProcessMessages() to capture that output.
-	 */
-	public ProcessListener(String[] launchCommand, Process process, ILaunchNotification launchNotification, boolean forDebugging, boolean isAIRapp)
-	{
-		m_launchCommand = launchCommand;
-		m_process = process;
-		m_launchNotification = launchNotification;
-		m_isDebugging = forDebugging;
-		m_isAIRapp = isAIRapp;
-		m_processMessages = new StringWriter();
-		startMessageListener();
-	}
-
-	private void startMessageListener()
-	{
-		new StreamListener(new InputStreamReader(m_process.getInputStream()), m_processMessages).start();
-		new StreamListener(new InputStreamReader(m_process.getErrorStream()), m_processMessages).start();
-		try
-		{
-			OutputStream stm = m_process.getOutputStream();
-			if (stm != null)
-				stm.close();
-		}
-		catch (IOException e)
-		{
-			/* not serious; ignore */
-		}
-	}
-
-	/**
-	 * Creates a background thread that will call the launch notifier when the
-	 * process terminates.
-	 */
-	public void startLaunchNotifier()
-	{
-		if (m_launchNotification == null)
-			throw new NullPointerException();
-
-		m_launchNotifierThread.setDaemon(true);
-		m_launchNotifierThread.start();
-	}
-
-	/**
-	 * Returns the command args that were used to launch the process.
-	 */
-	public String[] getLaunchCommand()
-	{
-		return m_launchCommand;
-	}
-
-	public boolean isAIRApp()
-	{
-		return m_isAIRapp;
-	}
-
-	public boolean isProcessDead()
-	{
-		// If the process is still alive, then exitValue() will throw an exception:
-		try {
-			m_process.exitValue();
-			return true;
-		} catch (IllegalThreadStateException e) {
-			return false;
-		}
-	}
-
-	public int getProcessExitValue() throws IllegalThreadStateException
-	{
-		return m_process.exitValue();
-	}
-
-	/**
-	 * Returns all messages that were sent to stdout and stderr by the process,
-	 * combined into one string.
-	 */
-	public String getProcessMessages()
-	{
-		return m_processMessages.toString();
-	}
-
-	/**
-	 * Creates an exception indicating that the process terminated with some sort
-	 * of error.  The returned exception may be an AlreadyActiveApplicationException
-	 * or a CommandLineException.
-	 */
-	public IOException createLaunchFailureException()
-	{
-		IOException e = null;
-		String detailMessage;
-
-		if (m_isDebugging)
-		{
-			detailMessage = PlayerSessionManager.getLocalizationManager().getLocalizedTextString(
-					"processTerminatedWithoutDebuggerConnection"); //$NON-NLS-1$
-		}
-		else
-		{
-			detailMessage = PlayerSessionManager.getLocalizationManager().getLocalizedTextString(
-					"processTerminatedUnexpectedly"); //$NON-NLS-1$
-		}
-
-		// You can only call this function if the process has terminated
-		if (!isProcessDead())
-		{
-			throw new IllegalThreadStateException();
-		}
-
-		/*
-		 * When adding auto-terminate for run launch, we notice that on clicking the 
-		 * terminate button, the process exits with exitValue = 1 (due to unexpected
-		 * termination). We just ignore this error message.
-		 * Since we anyways now allow exitValue = 1(previously for app already running)
-		 * for run launch, we shall skip displaying the message.
-		 */
-		
-		int exitValue = getProcessExitValue();
-		
-		if (m_isAIRapp && exitValue == 1)         //ADL Exit Code: Successful invocation of an already running AIR application. ADL exits immediately.
-		{
-			if(!m_isRunLaunch) {
-				e = new AlreadyActiveApplicationException(detailMessage, m_isDebugging);
-			}
-		}
-		else
-		{
-			e = new CommandLineException(detailMessage, getLaunchCommand(), getProcessMessages(), exitValue);
-		}	
-
-		return e;
-	}
-
-	public void setIsRunLaunch(boolean forRunLaunching) {
-		m_isRunLaunch = forRunLaunching;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/ScriptText.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/ScriptText.java
deleted file mode 100644
index a1cb4d2..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/ScriptText.java
+++ /dev/null
@@ -1,158 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-/**
- * Contains the text contents of a script and is able
- * to map line numbers to specific regions of the script (i.e. string)
- */
-public class ScriptText
-{
-	private final String m_text;
-	private int[]  m_lineMap;  // a 2-d array [2i] = startIndex and [2i+1] = endIndex for line i
-
-	public ScriptText(String text)
-	{
-		m_text = text;
-	}
-
-	/* return a string containing the line number requested */
-	public String getLine(int lineNum) 
-	{
-		determineLines();
-
-		int index = lineNum-1;
-		if (index < 0)
-			; // throw 
-
-		/* look into our mapping array */
-		int start = m_lineMap[2*index];
-		int end = m_lineMap[(2*index)+1];
-
-		String s = m_text.substring(start, end);
-		return s;
-	}
-
-	/* line count in module */
-	public int getLineCount()
-	{
-		determineLines();
-		return m_lineMap.length/2;
-	}
-
-	/**
-	 * Build mapping tables based on the line count of 
-	 * the given source string.
-	 * 
-	 * These tables allow us to compute starting and 
-	 * ending locations of each line of the source file.
-	 * 
-	 * The assumption using this technique is that most
-	 * lines of the source files will never be accessed 
-	 * thus we only incur the overhead of 8 bytes 
-	 * (start & end) per line, plus the actual string 
-	 * contents each line a line is requested.
-	 * 
-	 * Thus we need  8 * num_files * num_lines_per_file bytes
-	 * for all these maps.
-	 * 
-	 * For example, say each file is 1000 lines and we have
-	 * 400 source files;  We would consume 3.2MB.  With 
-	 * each request we would allocate an additional 20+
-	 * bytes for the string (assuming a 20B avg line length).
-	 * 
-	 * Allocating each line individually we would consume
-	 * 1000 * 400 * 20 = 8MB.
-	 * 
-	 * It is debatable whether this scheme is more efficient
-	 * than actually builing an array of Strings to contain
-	 * the lines, but gut feel says it is ;)
-	 */
-	private synchronized void determineLines()
-	{
-		// determineLines() is done on demand in order to avoid wasting time
-		// doing this for every file; so check if we've already done it
-		if (m_lineMap != null)
-			return;
-
-		int count = lineCountFor(m_text) + 1; // add 1 to the line count to handle newline on last line
-
-		// allocated our maps (really a 2-d array where [i] = startAt & [i+1] = endAt )
-		m_lineMap = new int[(2*count)+1];
-
-		int i = 0;
-		int lineNum = 0;
-		int startAt = 0;
-		int endAt = 0;
-		int length = m_text.length();
-		char c = '\0';
-		while(i < length)
-		{
-			/* end of line */
-			c = m_text.charAt(i++);
-			if (c == '\n' || c == '\r')
-			{
-				m_lineMap[2*lineNum] = startAt;
-				m_lineMap[(2*lineNum)+1] = endAt;
-				lineNum++;
-
-				/* do we need to chew a CR LF combo */
-				if (c == '\r' && i < length && m_text.charAt(i) == '\n')
-					i++;
-
-				startAt = i;
-				endAt = i;
-			}
-			else 
-				endAt++;
-		}
-
-		/* need to add the last line? */
-		if (startAt != endAt)
-		{
-			/* add the last line if not empty */
-			m_lineMap[2*lineNum] = startAt;
-			m_lineMap[(2*lineNum)+1] = endAt;
-		}
-	}
- 
-	/**
-	 * Count the number of lines within this string.
-	 */
-	public static int lineCountFor(String s)
-	{
-		int i = 0;
-		int lineNum = 0;
-		int length = s.length();
-		char c = '\0';
-		while(i < length)
-		{
-			/* end of line */
-			c = s.charAt(i++);
-			if (c == '\n' || c == '\r')
-			{
-				lineNum++;
-
-				/* do we need to chew a CR LF combo */
-				if (c == '\r' && i < length && s.charAt(i) == '\n')
-					i++;
-			}
-		}
-		return lineNum;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/StandalonePlayer.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/StandalonePlayer.java
deleted file mode 100644
index aa5f423..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/StandalonePlayer.java
+++ /dev/null
@@ -1,42 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.File;
-
-/**
- * @author mmorearty
- */
-public class StandalonePlayer extends AbstractPlayer
-{
-	/**
-	 * @param path
-	 */
-	public StandalonePlayer(File path)
-	{
-		super(null, path);
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getType()
-	 */
-	public int getType()
-	{
-		return STANDALONE;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/StreamListener.java b/modules/fdbworkers/src/flash/tools/debugger/concrete/StreamListener.java
deleted file mode 100644
index bc21ea5..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/StreamListener.java
+++ /dev/null
@@ -1,71 +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.
- */
-
-package flash.tools.debugger.concrete;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-/**
- * Reads a stream, and sends the contents somewhere.
- * @author mmoreart
- */
-public class StreamListener extends Thread {
-	Reader fIn;
-	Writer fOut;
-
-	/**
-	 * Creates a StreamListener which will copy everything from
-	 * 'in' to 'out'.
-	 * @param in the stream to read
-	 * @param out the stream to write to, or 'null' to discard input
-	 */
-	public StreamListener(Reader in, Writer out)
-	{
-		super("DJAPI StreamListener"); //$NON-NLS-1$
-		setDaemon(true);
-		fIn = in;
-		fOut = out;
-	}
-
-	@Override
-	public void run()
-	{
-		char[] buf = new char[4096];
-		int count;
-
-		try {
-			for (;;) {
-				count = fIn.read(buf);
-				if (count == -1)
-					return; // thread is done
-				if (fOut != null)
-				{
-					try {
-						fOut.write(buf, 0, count);
-					} catch (IOException e) {
-						// the write failed (unlikely), but we still
-						// want to keep reading
-					}
-				}
-			}
-		} catch (IOException e) {
-			// do nothing -- we're done
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseCaminoWindow.txt b/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseCaminoWindow.txt
deleted file mode 100644
index e44f4d1..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseCaminoWindow.txt
+++ /dev/null
@@ -1,60 +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.
---
---------------------------------------------------------------------------------
-
--- tell Camino browser to close all windows that have the specified URL
-tell application "Camino"
-	-- 'closed' keeps track of whether we have closed any documents
-	set closed to false
-
-	set done to false
-	repeat until done
-		set done to true
-
-		-- Camino has some hidden windows that are not regular browser
-		-- windows.  Those windows don't have a URL.  We keep count of
-		-- how many windows do have a URL.
-		set countOfWindowsWithURL to 0
-
-		repeat with win in windows
-			if URL of win exists then
-				if URL of win is item 1 of argv then
-					close win
-					set closed to true
-
-					-- since we have closed a document, we must restart the loop
-					set done to false
-					exit repeat
-				else
-					set countOfWindowsWithURL to countOfWindowsWithURL+1
-				end if
-			end if
-		end repeat
-	end repeat
-
-	-- if we closed at least one Safari window, and no more are
-	-- open, then tell Safari to exit
-	if closed and countOfWindowsWithURL is 0 then 
-		quit
-		set closed to "appquit"
-	end if
-
-	-- return true if we closed at least one window, false if not, appquit if told browser to quit
-	closed
-end tell
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseSafariWindow.txt b/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseSafariWindow.txt
deleted file mode 100644
index 110f4c0..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptCloseSafariWindow.txt
+++ /dev/null
@@ -1,54 +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.
---
---------------------------------------------------------------------------------
-
--- tell Safari to close all windows that have the specified URL
-tell application "Safari"
-	-- 'closed' keeps track of whether we have closed any documents
-	set closed to false
-
-	set done to false
-	repeat until done
-		set done to true
-		repeat with w in windows
-			try
-				repeat with t in tabs of w
-					if URL of t is item 1 of argv then
-						close t
-						set closed to true
-
-						-- since we have closed a document, we must restart the loop
-						set done to false
-						exit repeat
-					end if
-				end repeat
-			end try
-		end repeat
-	end repeat
-
-	-- if we closed at least one Safari window, and no more are
-	-- open, then tell Safari to exit
-	if closed and (count of documents) is 0 then		
-		quit
-		set closed to "appquit"
-	end if
-
-	-- return true if we closed at least one window, false if not
-	closed
-end tell
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptGetDefaultBrowserName.txt b/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptGetDefaultBrowserName.txt
deleted file mode 100644
index e3d84d3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/appleScriptGetDefaultBrowserName.txt
+++ /dev/null
@@ -1,34 +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.
---
---------------------------------------------------------------------------------
-
--- Note, this only works on OSX 10.4 and up
--- Returns the name of the default browser, e.g. "Safari", "Firefox", "Camino"; or "" if not known
-set p to POSIX path of (path to preferences) & "com.apple.LaunchServices.plist"
-tell application "System Events" to tell property list item "LSHandlerRoleAll" of (property list item 1 of property list item "LSHandlers" of property list file p whose value contains "http") to if exists then
-	set v to value -- now v is, for example, "com.apple.safari"
-	-- "application file id v" returns a file; so we are setting, for example,
-	-- "n" to "Safari.app" and "e" to "app"
-	tell application "Finder" to set {name:n, name extension:e} to application file id v
-	-- strip off the ".app" extension
-	tell (count e) + 1 to return n's text 1 thru -(1 mod it + it)
-end if
-
--- if we get here, we couldn't find an "http" handler, so we don't know the default browser
-""
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_da.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_da.properties
deleted file mode 100644
index b7aca59..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_da.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funktioner i ${fileName}#${fileNumber}
-unknown = ukendt
-empty = <empty>
-processTerminatedWithoutDebuggerConnection = Processen blev afsluttet uden at der blev etableret forbindelse til fejlfinding.
-processTerminatedUnexpectedly = Handlingen blev uventet afbrudt.
-serverSocketNotListening = Serversoklen lytter ikke.
-functionCallsNotSupported = Den valgte afspiller underst\u00f8tter ikke funktionskald
-watchpointsNotSupported = Den valgte afspiller underst\u00f8tter ikke overv\u00e5gningspunkter
-exceptionBreakpointsNotSupported = Den valgte afspiller underst\u00f8tter ikke undtagelsespausepunkter
-operatorNotSupported = Den valgte afspiller underst\u00f8tter ikke operatoren "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_de.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_de.properties
deleted file mode 100644
index 27fc209..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_de.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funktionen in ${fileName}#${fileNumber}
-unknown = unbekannt
-empty = <leer>
-processTerminatedWithoutDebuggerConnection = Der Vorgang wurde beendet, ohne dass eine Verbindung mit dem Debugger hergestellt wurde.
-processTerminatedUnexpectedly = Der Prozess wurde unerwartet beendet.
-serverSocketNotListening = Server-Socket wartet nicht auf Meldungen.
-functionCallsNotSupported = Zielplayer unterst\u00fctzt keine Funktionsaufrufe
-watchpointsNotSupported = Zielplayer unterst\u00fctzt keine Watchpoints
-exceptionBreakpointsNotSupported = Zielplayer unterst\u00fctzt keine Ausnahme-Haltepunkte
-operatorNotSupported = Zielplayer unterst\u00fctzt nicht den Operator \u201e${operator}\u201c
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_en.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_en.properties
deleted file mode 100644
index e9e0977..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_en.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Functions in ${fileName}#${fileNumber}
-unknown = unknown
-empty = <empty>
-processTerminatedWithoutDebuggerConnection = Process terminated without establishing connection to debugger.
-processTerminatedUnexpectedly = Process terminated unexpectedly.
-serverSocketNotListening = Server socket not listening.
-functionCallsNotSupported = Target player does not support function calls
-watchpointsNotSupported = Target player does not support watchpoints
-exceptionBreakpointsNotSupported = Target player does not support exception breakpoints
-operatorNotSupported = Target player does not support the "${operator}" operator
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_es.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_es.properties
deleted file mode 100644
index 8b58ad8..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_es.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funciones en ${fileName}#${fileNumber}
-unknown = desconocido
-empty = <vac\u00edo>
-processTerminatedWithoutDebuggerConnection = Proceso terminado sin establecer conexi\u00f3n con el depurador.
-processTerminatedUnexpectedly = El proceso se ha terminado de forma inesperada.
-serverSocketNotListening = El socket del servidor no est\u00e1 detectando.
-functionCallsNotSupported = El reproductor de destino no admite llamadas de funci\u00f3n
-watchpointsNotSupported = El reproductor de destino no admite puntos de observaci\u00f3n
-exceptionBreakpointsNotSupported = El reproductor de destino no admite puntos de corte de excepciones
-operatorNotSupported = El reproductor de destino no admite el operador "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fi.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fi.properties
deleted file mode 100644
index 9618a65..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fi.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Toiminnot kohteessa ${fileName}#${fileNumber}
-unknown = tuntematon
-empty = <tyhj\u00e4>
-processTerminatedWithoutDebuggerConnection = Prosessi lopetettiin muodostamatta yhteytt\u00e4 virheenkorjaukseen.
-processTerminatedUnexpectedly = Prosessi p\u00e4\u00e4tettiin odottamatta.
-serverSocketNotListening = Palvelimen vastake ei ole kuuntelutilassa.
-functionCallsNotSupported = Kohdesoitin ei tue toimintopuheluita
-watchpointsNotSupported = Kohdesoitin ei tue katselukohtia
-exceptionBreakpointsNotSupported = Kohdesoitin ei tue poikkeuksien keskeytyskohtia
-operatorNotSupported = Kohdesoitin ei tue operaattoria "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fr.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fr.properties
deleted file mode 100644
index 249a5ea..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_fr.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Fonctions de ${fileName}#${fileNumber}
-unknown = Inconnu
-empty = <vide>
-processTerminatedWithoutDebuggerConnection = Le processus s'est termin\u00e9 sans \u00e9tablir de connexion vers le d\u00e9bogueur.
-processTerminatedUnexpectedly = Processus termin\u00e9 de mani\u00e8re inattendue.
-serverSocketNotListening = Le socket du serveur n'est pas en mode d'\u00e9coute.
-functionCallsNotSupported = Le lecteur cible ne prend pas en charge les appels de fonction
-watchpointsNotSupported = Le lecteur cible ne prend pas en charge les points de contr\u00f4le
-exceptionBreakpointsNotSupported = Le lecteur cible ne prend pas en charge les points d'arr\u00eat d'exception.
-operatorNotSupported = Le lecteur cible ne prend pas en charge l'op\u00e9rateur "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_it.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_it.properties
deleted file mode 100644
index 31fa4ec..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_it.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funzioni in ${fileName}#${fileNumber}
-unknown = sconosciuto
-empty = <vuoto>
-processTerminatedWithoutDebuggerConnection = Processo terminato senza stabilire la connessione con debugger.
-processTerminatedUnexpectedly = Il processo \u00e8 stato interrotto inaspettatamente.
-serverSocketNotListening = Socket del server non in ascolto.
-functionCallsNotSupported = Il Player di destinazione non supporta le chiamate di funzione
-watchpointsNotSupported = Il Player di destinazione non supporta i punti di controllo
-exceptionBreakpointsNotSupported = Il Player di destinazione non supporta i punti di interruzione delle eccezioni
-operatorNotSupported = Il Player di destinazione non supporta l'operatore "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ja.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ja.properties
deleted file mode 100644
index 4aa0269..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ja.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = ${fileName}#${fileNumber} \u5185\u306e\u95a2\u6570
-unknown = \u4e0d\u660e
-empty = <\u7a7a>
-processTerminatedWithoutDebuggerConnection = \u30c7\u30d0\u30c3\u30ac\u30fc\u3078\u306e\u63a5\u7d9a\u304c\u78ba\u7acb\u3055\u308c\u305a\u306b\u30d7\u30ed\u30bb\u30b9\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002
-processTerminatedUnexpectedly = \u30d7\u30ed\u30bb\u30b9\u304c\u4e88\u671f\u305b\u305a\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002
-serverSocketNotListening = \u30b5\u30fc\u30d0\u30fc\u30bd\u30b1\u30c3\u30c8\u304c\u5f85\u3061\u53d7\u3051\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-functionCallsNotSupported = \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ec\u30fc\u30e4\u30fc\u3067\u306f\u95a2\u6570\u306e\u547c\u3073\u51fa\u3057\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-watchpointsNotSupported = \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ec\u30fc\u30e4\u30fc\u3067\u306f\u76e3\u8996\u30dd\u30a4\u30f3\u30c8\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-exceptionBreakpointsNotSupported = \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ec\u30fc\u30e4\u30fc\u3067\u306f\u4f8b\u5916\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-operatorNotSupported = \u30bf\u30fc\u30b2\u30c3\u30c8\u30d7\u30ec\u30fc\u30e4\u30fc\u3067\u306f "${operator}" \u6f14\u7b97\u5b50\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ko.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ko.properties
deleted file mode 100644
index 7c67001..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ko.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = ${fileName}#${fileNumber}\uc758 \ud568\uc218
-unknown = \uc54c \uc218 \uc5c6\uc74c
-empty = <\ube44\uc5b4 \uc788\uc74c>
-processTerminatedWithoutDebuggerConnection = \ub514\ubc84\uac70\uc5d0 \ub300\ud55c \uc5f0\uacb0\uc744 \uc124\uc815\ud558\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc5d0\uc11c \ud504\ub85c\uc138\uc2a4\uac00 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-processTerminatedUnexpectedly = \ud504\ub85c\uc138\uc2a4\uac00 \uc608\uae30\uce58 \uc54a\uac8c \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-serverSocketNotListening = \uc11c\ubc84 \uc18c\ucf13\uc774 \uc218\uc2e0\ud558\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-functionCallsNotSupported = \ub300\uc0c1 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c \ud568\uc218 \ud638\ucd9c\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-watchpointsNotSupported = \ub300\uc0c1 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c \uac10\uc2dc\uc810\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-exceptionBreakpointsNotSupported = \ub300\uc0c1 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c \uc608\uc678 \uc911\ub2e8\uc810\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-operatorNotSupported = \ub300\uc0c1 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c "${operator}" \uc5f0\uc0b0\uc790\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nb.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nb.properties
deleted file mode 100644
index aab7160..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nb.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funksjoner i ${fileName}#${fileNumber}
-unknown = ukjent
-empty = <tom>
-processTerminatedWithoutDebuggerConnection = Prosessen ble avsluttet uten at den opprettet en tilkobling til feils\u00f8king.
-processTerminatedUnexpectedly = Prosessen ble avbrutt uten forvarsel.
-serverSocketNotListening = Serversocket lytter ikke.
-functionCallsNotSupported = M\u00e5lspilleren st\u00f8tter ikke funksjonskall
-watchpointsNotSupported = M\u00e5lspilleren st\u00f8tter ikke overv\u00e5kningspunkter
-exceptionBreakpointsNotSupported = M\u00e5lspilleren st\u00f8tter ikke unntaksavbruddspunkter
-operatorNotSupported = M\u00e5lspilleren st\u00f8tter ikke operatoren ${operator}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nl.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nl.properties
deleted file mode 100644
index 4b045b8..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_nl.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Functies in ${fileName}#${fileNumber}
-unknown = onbekend
-empty = <leeg>
-processTerminatedWithoutDebuggerConnection = Proces be\u00ebindigd zonder verbinding met foutopsporing tot stand te brengen.
-processTerminatedUnexpectedly = Proces onverwacht afgebroken.
-serverSocketNotListening = Serversocket luistert niet.
-functionCallsNotSupported = Doelspeler ondersteunt geen functieaanroepen
-watchpointsNotSupported = Doelspeler ondersteunt controlepunten niet
-exceptionBreakpointsNotSupported = Doelspeler ondersteunt geen onderbrekingspunten voor uitzonderingen
-operatorNotSupported = Doelspeler ondersteunt de operator "${operator}" niet
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_pt.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_pt.properties
deleted file mode 100644
index 8f9a89c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_pt.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Fun\u00e7\u00f5es em ${fileName}#${fileNumber}
-unknown = desconhecido
-empty = <vazio>
-processTerminatedWithoutDebuggerConnection = O processo terminou sem estabelecer conex\u00e3o com o depurador.
-processTerminatedUnexpectedly = O processo terminou de forma inesperada.
-serverSocketNotListening = O soquete do servidor n\u00e3o est\u00e1 escutando.
-functionCallsNotSupported = O player de destino n\u00e3o oferece suporte a chamadas de fun\u00e7\u00e3o
-watchpointsNotSupported = O player de destino n\u00e3o oferece suporte a pontos de inspe\u00e7\u00e3o
-exceptionBreakpointsNotSupported = O player de destino n\u00e3o oferece suporte a pontos de interrup\u00e7\u00e3o de exce\u00e7\u00e3o
-operatorNotSupported = O player de destino n\u00e3o oferece suporte ao operador "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ru.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ru.properties
deleted file mode 100644
index d0b6a1d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_ru.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = \u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 ${fileName}#${fileNumber}
-unknown = \u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e
-empty = <\u043f\u0443\u0441\u0442\u043e>
-processTerminatedWithoutDebuggerConnection = \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0435\u0440\u0432\u0430\u043d \u0431\u0435\u0437 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0443.
-processTerminatedUnexpectedly = \u041d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.
-serverSocketNotListening = \u0421\u043e\u043a\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439.
-functionCallsNotSupported = \u0426\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u044b\u0437\u043e\u0432\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439
-watchpointsNotSupported = \u0426\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u0447\u043a\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f
-exceptionBreakpointsNotSupported = \u0426\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u043e\u0447\u043a\u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438
-operatorNotSupported = \u0426\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_sv.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_sv.properties
deleted file mode 100644
index 1ccbd78..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_sv.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = Funktioner i ${fileName}#${fileNumber}
-unknown = ok\u00e4nd
-empty = <empty>
-processTerminatedWithoutDebuggerConnection = Processen avbr\u00f6ts utan att anslutning till avlusaren kunde uppr\u00e4ttas.
-processTerminatedUnexpectedly = Processen avslutades ov\u00e4ntat.
-serverSocketNotListening = Serversocket lyssnar inte.
-functionCallsNotSupported = M\u00e5lspelaren saknar st\u00f6d f\u00f6r funktionsanrop.
-watchpointsNotSupported = M\u00e5lspelaren saknar st\u00f6d f\u00f6r bevakningspunkter.
-exceptionBreakpointsNotSupported = M\u00e5lspelaren saknar st\u00f6d f\u00f6r undantagsbrytpunkter.
-operatorNotSupported = M\u00e5lspelaren saknar st\u00f6d f\u00f6r operatorn "${operator}"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_CN.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_CN.properties
deleted file mode 100644
index a342e79..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_CN.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = ${fileName}#${fileNumber} \u4e2d\u7684\u51fd\u6570
-unknown = \u672a\u77e5
-empty = <\u7a7a>
-processTerminatedWithoutDebuggerConnection = \u8fdb\u7a0b\u5df2\u7ec8\u6b62\uff0c\u6ca1\u6709\u5efa\u7acb\u5230\u8c03\u8bd5\u5668\u7684\u8fde\u63a5\u3002
-processTerminatedUnexpectedly = \u8fdb\u7a0b\u610f\u5916\u7ec8\u6b62\u3002
-serverSocketNotListening = \u670d\u52a1\u5668\u5957\u63a5\u5b57\u4e0d\u5904\u4e8e\u4fa6\u542c\u72b6\u6001\u3002
-functionCallsNotSupported = \u76ee\u6807\u64ad\u653e\u5668\u4e0d\u652f\u6301\u51fd\u6570\u8c03\u7528
-watchpointsNotSupported = \u76ee\u6807\u64ad\u653e\u5668\u4e0d\u652f\u6301\u89c2\u5bdf\u70b9
-exceptionBreakpointsNotSupported = \u76ee\u6807\u64ad\u653e\u5668\u4e0d\u652f\u6301\u5f02\u5e38\u65ad\u70b9
-operatorNotSupported = \u76ee\u6807\u64ad\u653e\u5668\u4e0d\u652f\u6301\u201c${operator}\u201d\u8fd0\u7b97\u7b26
diff --git a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_TW.properties b/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_TW.properties
deleted file mode 100644
index 776343e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/concrete/djapi_zh_TW.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-functionsInFile = ${fileName}#${fileNumber} \u4e2d\u7684\u51fd\u6578
-unknown = \u4e0d\u660e
-empty = <\u7a7a\u767d>
-processTerminatedWithoutDebuggerConnection = \u7a0b\u5e8f\u5df2\u7d42\u6b62\uff0c\u672a\u8207\u9664\u932f\u7a0b\u5f0f\u5efa\u7acb\u9023\u7dda\u3002
-processTerminatedUnexpectedly = \u7a0b\u5e8f\u610f\u5916\u7d42\u6b62\u3002
-serverSocketNotListening = \u4f3a\u670d\u5668\u901a\u8a0a\u7aef\u672a\u8655\u65bc\u63a5\u807d\u72c0\u614b\u3002
-functionCallsNotSupported = \u76ee\u6a19\u64ad\u653e\u7a0b\u5f0f\u4e0d\u652f\u63f4\u51fd\u6578\u547c\u53eb
-watchpointsNotSupported = \u76ee\u6a19\u64ad\u653e\u7a0b\u5f0f\u4e0d\u652f\u63f4\u76e3\u8996\u9ede
-exceptionBreakpointsNotSupported = \u76ee\u6a19\u64ad\u653e\u7a0b\u5f0f\u4e0d\u652f\u63f4\u4f8b\u5916\u4e2d\u65b7\u9ede
-operatorNotSupported = \u76ee\u6a19\u64ad\u653e\u7a0b\u5f0f\u4e0d\u652f\u63f4\u300c${operator}\u300d\u904b\u7b97\u5b50
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_da.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_da.properties
deleted file mode 100644
index 2e32d46..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_da.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Der opstod timeout, mens der afventedes fejlfindingssvar fra Flash Player
-timeout = Der opstod timeout, mens der afventedes fejfindingssvar fra Flash Player i ${time} millisekunder
-notConnected = Fejlfinding er ikke l\u00e6ngere forbundet til Flash Player
-notSuspended = Handlingen tillades kun, n\u00e5r Flash Player er standset
-suspended = Handlingen tillades kun, n\u00e5r Flash Player ikke er standset
-unexpectedPlayerVersion = Uventet version af Flash Player
-webBrowserGenericName = Webbrowser
-flashPlayerGenericName = Flash-afspiller
-maybeAlreadyRunningForDebug = Hvis programmet allerede k\u00f8rer, skal det lukkes inden der k\u00f8res fejlfinding.
-maybeAlreadyRunningForRun = Hvis programmet allerede k\u00f8rer, skal det lukkes inden der k\u00f8res.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_de.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_de.properties
deleted file mode 100644
index 3ed7475..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_de.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Zeit\u00fcberschreitung beim Warten auf die Debugantwort von Flash Player
-timeout = Zeit\u00fcberschreitung beim Warten auf die Debugantwort von Flash Player nach ${time} Millisekunden
-notConnected = Der Debugger ist nicht mehr mit Flash Player verbunden
-notSuspended = Der Vorgang ist nur zul\u00e4ssig, wenn Flash Player nicht aktiv ist
-suspended = Der Vorgang ist nur zul\u00e4ssig, wenn Flash Player aktiv ist
-unexpectedPlayerVersion = Nicht erwartete Flash Player-Version
-webBrowserGenericName = Webbrowser
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Falls das Programm bereits ausgef\u00fchrt wird, schlie\u00dfen Sie es, bevor Sie mit dem Debuggen beginnen.
-maybeAlreadyRunningForRun = Falls das Programm bereits ausgef\u00fchrt wird, schlie\u00dfen Sie es, bevor Sie es auszuf\u00fchren versuchen.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_en.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_en.properties
deleted file mode 100644
index 0a2af14..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_en.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Timeout occurred while waiting for debugging response from Flash Player
-timeout = Timeout occurred while waiting for debugging response from Flash Player for ${time} milliseconds
-notConnected = Debugger is no longer connected to Flash Player
-notSuspended = Operation is only allowed when the Flash Player is suspended
-suspended = Operation is only allowed when the Flash Player is not suspended
-unexpectedPlayerVersion = Unexpected version of the Flash Player
-webBrowserGenericName = Web browser
-flashPlayerGenericName = Flash player
-maybeAlreadyRunningForDebug = If the program is already running, close it before attempting to debug.
-maybeAlreadyRunningForRun = If the program is already running, close it before attempting to run.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_es.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_es.properties
deleted file mode 100644
index 91a5b6d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_es.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = El tiempo de espera transcurri\u00f3 mientras se esperaba la respuesta del depurador de Flash Player
-timeout = El tiempo de espera transcurri\u00f3 mientras se esperaba la respuesta del depurador de Flash Player durante ${time} milisegundos
-notConnected = El depurador ya no est\u00e1 conectado a Flash Player
-notSuspended = S\u00f3lo se permite la operaci\u00f3n cuando se suspende Flash Player
-suspended = S\u00f3lo se permite la operaci\u00f3n cuando no se suspende Flash Player
-unexpectedPlayerVersion = Versi\u00f3n inesperada de Flash Player
-webBrowserGenericName = Navegador Web
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Si el programa ya est\u00e1 ejecut\u00e1ndose, ci\u00e9rrelo antes de comenzar con la depuraci\u00f3n.
-maybeAlreadyRunningForRun = Si el programa ya est\u00e1 ejecut\u00e1ndose, ci\u00e9rrelo antes de comenzar con la ejecuci\u00f3n.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_fi.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_fi.properties
deleted file mode 100644
index 445cd0e..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_fi.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Tapahtui aikakatkaisu odotettaessa virheenkorjausvastausta Flash Playerista
-timeout = Tapahtui aikakatkaisu odotettaessa virheenkorjausvastausta Flash Playerista ${time} millisekuntia
-notConnected = Virheenkorjaus ei ole en\u00e4\u00e4 yhteydess\u00e4 Flash Playeriin
-notSuspended = Toiminto sallitaan vain, kun Flash Player on keskeytetty
-suspended = Toiminto sallitaan vain, kun Flash Playeri\u00e4 ei ole keskeytetty
-unexpectedPlayerVersion = Odottamaton Flash Playerin versio
-webBrowserGenericName = Selain
-flashPlayerGenericName = Flash-soitin
-maybeAlreadyRunningForDebug = Jos ohjelma on jo k\u00e4ynniss\u00e4, sulje se, ennen kuin yrit\u00e4t virheenkorjausta.
-maybeAlreadyRunningForRun = Jos ohjelma on jo k\u00e4ynniss\u00e4, sulje se ennen suorittamisen yritt\u00e4mist\u00e4.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_fr.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_fr.properties
deleted file mode 100644
index 97bbd65..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_fr.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Le d\u00e9lai a \u00e9t\u00e9 d\u00e9pass\u00e9 lors de l'attente d'une r\u00e9ponse de d\u00e9bogage de Flash Player
-timeout = Le d\u00e9lai a \u00e9t\u00e9 d\u00e9pass\u00e9 lors de l'attente d'une r\u00e9ponse de d\u00e9bogage de Flash Player pendant ${time} millisecondes
-notConnected = Le d\u00e9bogeur n'est plus connect\u00e9 \u00e0 Flash Player
-notSuspended = L'op\u00e9ration est uniquement autoris\u00e9e lorsque le lecteur Flash Player est interrompu
-suspended = L'op\u00e9ration est uniquement autoris\u00e9e lorsque le lecteur Flash Player n'est pas interrompu
-unexpectedPlayerVersion = Version inattendue de Flash Player
-webBrowserGenericName = Navigateur Web
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Si le programme est d\u00e9j\u00e0 en cours d'ex\u00e9cution, fermez-le avant de tenter le d\u00e9bogage.
-maybeAlreadyRunningForRun = Si le programme est d\u00e9j\u00e0 en cours d'ex\u00e9cution, fermez-le avant de tenter l'ex\u00e9cution.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_it.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_it.properties
deleted file mode 100644
index 02c3fc9..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_it.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Timeout durante l'attesa della risposta di debug da Flash Player
-timeout = Timeout durante l'attesa di ${time} millisecondi della risposta di debug da Flash Player
-notConnected = Il debugger non \u00e8 pi\u00f9 connesso a Flash Player
-notSuspended = Operazione consentita solo se Flash Player \u00e8 stato sospeso
-suspended = Operazione consentita solo se Flash Player non \u00e8 stato sospeso
-unexpectedPlayerVersion = Versione di Flash Player non prevista
-webBrowserGenericName = Browser Web
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Se il programma \u00e8 gi\u00e0 in esecuzione, chiuderlo prima di eseguire il debug.
-maybeAlreadyRunningForRun = Se il programma \u00e8 gi\u00e0 in esecuzione, chiuderlo prima di iniziare l'esecuzione.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_ja.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_ja.properties
deleted file mode 100644
index 1aa95ed..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_ja.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Flash Player \u304b\u3089\u306e\u30c7\u30d0\u30c3\u30b0\u5fdc\u7b54\u3092\u5f85\u3063\u3066\u3044\u308b\u9593\u306b\u3001\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306b\u306a\u308a\u307e\u3057\u305f
-timeout = Flash Player \u304b\u3089\u306e\u30c7\u30d0\u30c3\u30b0\u5fdc\u7b54\u3092\u5f85\u3063\u3066\u3044\u308b\u9593\u306b\u3001\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306b\u306a\u308a\u307e\u3057\u305f (${time} \u30df\u30ea\u79d2\u7d4c\u904e)
-notConnected = \u30c7\u30d0\u30c3\u30ac\u30fc\u304c Flash Player \u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-notSuspended = \u51e6\u7406\u3092\u5b9f\u884c\u3067\u304d\u308b\u306e\u306f\u3001Flash Player \u304c\u4e2d\u65ad\u3055\u308c\u3066\u3044\u308b\u3068\u304d\u3060\u3051\u3067\u3059
-suspended = \u51e6\u7406\u3092\u5b9f\u884c\u3067\u304d\u308b\u306e\u306f\u3001Flash Player \u304c\u4e2d\u65ad\u3055\u308c\u3066\u3044\u306a\u3044\u3068\u304d\u3060\u3051\u3067\u3059
-unexpectedPlayerVersion = \u4e88\u671f\u3057\u306a\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e Flash Player \u3067\u3059
-webBrowserGenericName = \u30d6\u30e9\u30a6\u30b6\u30fc
-flashPlayerGenericName = Flash player
-maybeAlreadyRunningForDebug = \u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u65e2\u306b\u5b9f\u884c\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u9589\u3058\u3066\u304b\u3089\u30c7\u30d0\u30c3\u30b0\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-maybeAlreadyRunningForRun = \u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u65e2\u306b\u5b9f\u884c\u3057\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u9589\u3058\u3066\u304b\u3089\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_ko.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_ko.properties
deleted file mode 100644
index e2496ce..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_ko.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Flash Player\uc5d0\uc11c \ub514\ubc84\uae45 \uc751\ub2f5\uc744 \uae30\ub2e4\ub9ac\ub294 \uc911\uc5d0 \uc81c\ud55c \uc2dc\uac04\uc774 \ucd08\uacfc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-timeout = Flash Player\uc5d0\uc11c ${time}\ubc00\ub9ac\ucd08 \ub3d9\uc548 \ub514\ubc84\uae45 \uc751\ub2f5\uc744 \uae30\ub2e4\ub9ac\ub294 \uc911\uc5d0 \uc81c\ud55c \uc2dc\uac04\uc774 \ucd08\uacfc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-notConnected = \ub514\ubc84\uac70\uac00 \ub354 \uc774\uc0c1 Flash Player\uc5d0 \uc5f0\uacb0\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-notSuspended = Flash Player\uac00 \uc77c\uc2dc \uc911\ub2e8\ub41c \uacbd\uc6b0\uc5d0\ub9cc \uc791\uc5c5\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4.
-suspended = Flash Player\uac00 \uc77c\uc2dc \uc911\ub2e8\ub418\uc9c0 \uc54a\uc740 \uacbd\uc6b0\uc5d0\ub9cc \uc791\uc5c5\uc774 \ud5c8\uc6a9\ub429\ub2c8\ub2e4.
-unexpectedPlayerVersion = \uc608\uae30\uce58 \uc54a\uc740 Flash Player \ubc84\uc804
-webBrowserGenericName = \uc6f9 \ube0c\ub77c\uc6b0\uc800
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = \ud504\ub85c\uadf8\ub7a8\uc774 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uacbd\uc6b0, \ud504\ub85c\uadf8\ub7a8\uc744 \ub2eb\uc740 \ub2e4\uc74c \ub514\ubc84\uae45\ud558\uc2ed\uc2dc\uc624.
-maybeAlreadyRunningForRun = \ud504\ub85c\uadf8\ub7a8\uc774 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uacbd\uc6b0, \ud504\ub85c\uadf8\ub7a8\uc744 \ub2eb\uc740 \ub2e4\uc74c \uc2e4\ud589\ud558\uc2ed\uc2dc\uc624.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_nb.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_nb.properties
deleted file mode 100644
index f4ba92c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_nb.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Det oppsto et tidsavbrudd i p\u00e5vente av en feils\u00f8kingsrespons fra Flash Player
-timeout = Det oppsto et tidsavbrudd i p\u00e5vente av en feils\u00f8kingsrespons fra Flash Player. Ventetiden var ${time} millisekunder
-notConnected = Feils\u00f8king er ikke lenger koblet til Flash Player
-notSuspended = Operasjon tillates kun n\u00e5r Flash Player er midlertidig inaktiv
-suspended = Operasjon tillates kun n\u00e5r Flash Player ikke er midlertidig inaktiv
-unexpectedPlayerVersion = Uventet versjon av Flash Player
-webBrowserGenericName = Nettleser
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Hvis programmet allerede kj\u00f8rer, m\u00e5 du lukke det f\u00f8r du feils\u00f8ker.
-maybeAlreadyRunningForRun = Hvis programmet allerede kj\u00f8rer, m\u00e5 du lukke det f\u00f8r du kj\u00f8rer.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_nl.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_nl.properties
deleted file mode 100644
index 43cdfac..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_nl.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Er is een time-out opgetreden terwijl op een foutopsporingsreactie van Flash Player werd gewacht
-timeout = Er is een time-out opgetreden terwijl  ${time} milliseconden werd gewacht op een foutopsporingsreactie van Flash Player
-notConnected = Foutopsporing is niet langer verbonden met Flash Player
-notSuspended = De bewerking is alleen toegestaan wanneer Flash Player is onderbroken
-suspended = De bewerking is alleen toegestaan wanneer Flash Player niet is onderbroken
-unexpectedPlayerVersion = Onverwachte versie van Flash Player
-webBrowserGenericName = Webbrowser
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = Als het programma al wordt uitgevoerd, sluit u het voordat u probeert fouten op te sporen.
-maybeAlreadyRunningForRun = Als het programma al actief is, sluit u het voordat u probeert het uit te voeren.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_pt.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_pt.properties
deleted file mode 100644
index 6398834..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_pt.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Tempo limite excedido ao aguardar resposta para depura\u00e7\u00e3o do Flash Player
-timeout = Tempo limite excedido ao aguardar resposta para depura\u00e7\u00e3o do Flash Player por ${time} milissegundos
-notConnected = O depurador n\u00e3o est\u00e1 mais conectado ao Flash Player
-notSuspended = A opera\u00e7\u00e3o somente \u00e9 permitida quando o Flash Player est\u00e1 suspenso
-suspended = A opera\u00e7\u00e3o somente \u00e9 permitida quando o Flash Player n\u00e3o est\u00e1 suspenso
-unexpectedPlayerVersion = Vers\u00e3o inesperada do Flash Player
-webBrowserGenericName = Navegador da Web
-flashPlayerGenericName = Flash player
-maybeAlreadyRunningForDebug = Se o programa j\u00e1 estiver em execu\u00e7\u00e3o, feche-o antes de tentar depurar.
-maybeAlreadyRunningForRun = Se o programa j\u00e1 estiver em execu\u00e7\u00e3o, feche-o antes de tentar executar.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_ru.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_ru.properties
deleted file mode 100644
index d14e059..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_ru.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = \u0422\u0430\u0439\u043c-\u0430\u0443\u0442 \u043f\u0440\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 Flash Player
-timeout = \u0422\u0430\u0439\u043c-\u0430\u0443\u0442 \u043f\u0440\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u0440\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 Flash Player \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 ${time} \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434
-notConnected = \u041e\u0442\u043b\u0430\u0434\u0447\u0438\u043a \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a Flash Player
-notSuspended = \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Flash Player
-suspended = \u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0437 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Flash Player
-unexpectedPlayerVersion = \u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Flash Player
-webBrowserGenericName = Web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u0435\u0435 \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438.
-maybeAlreadyRunningForRun = \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f, \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u0435\u0435 \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u043f\u044b\u0442\u043a\u043e\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_sv.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_sv.properties
deleted file mode 100644
index d399bcd..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_sv.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = Timeout vid v\u00e4ntan p\u00e5 fels\u00f6kningssvar fr\u00e5n Flash Player.
-timeout = Timeout vid v\u00e4ntan p\u00e5 fels\u00f6kningssvar fr\u00e5n Flash Player i ${time} millisekunder.
-notConnected = Fels\u00f6karen \u00e4r inte l\u00e4ngre ansluten till Flash Player
-notSuspended = \u00c5tg\u00e4rden \u00e4r endast till\u00e5ten n\u00e4r Flash Player \u00e4r pausad.
-suspended = \u00c5tg\u00e4rden \u00e4r inte till\u00e5ten n\u00e4r Flash Player \u00e4r pausad
-unexpectedPlayerVersion = Ov\u00e4ntad version av Flash Player
-webBrowserGenericName = Webbl\u00e4sare
-flashPlayerGenericName = Flash-spelare
-maybeAlreadyRunningForDebug = St\u00e4ng programmet (om det redan k\u00f6rs) innan du p\u00e5b\u00f6rjar avlusning.
-maybeAlreadyRunningForRun = St\u00e4ng programmet (om det redan k\u00f6rs) innan du p\u00e5b\u00f6rjar k\u00f6rning.
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_CN.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_CN.properties
deleted file mode 100644
index 6e299c6..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_CN.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = \u7b49\u5f85\u6765\u81ea Flash Player \u7684\u8c03\u8bd5\u54cd\u5e94\u65f6\u53d1\u751f\u8d85\u65f6
-timeout = \u7b49\u5f85\u6765\u81ea Flash Player \u7684\u8c03\u8bd5\u54cd\u5e94\u8fbe ${time} \u6beb\u79d2\u65f6\u53d1\u751f\u8d85\u65f6
-notConnected = \u8c03\u8bd5\u5668\u4e0d\u518d\u8fde\u63a5\u5230 Flash Player
-notSuspended = \u53ea\u6709\u5f53 Flash Player \u5904\u4e8e\u6682\u505c\u72b6\u6001\u65f6\u624d\u5141\u8bb8\u6267\u884c\u64cd\u4f5c
-suspended = \u53ea\u6709\u5f53 Flash Player \u4e0d\u5904\u4e8e\u6682\u505c\u72b6\u6001\u65f6\u624d\u5141\u8bb8\u6267\u884c\u64cd\u4f5c
-unexpectedPlayerVersion = \u610f\u5916\u7684 Flash Player \u7248\u672c
-webBrowserGenericName = Web \u6d4f\u89c8\u5668
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = \u5982\u679c\u8be5\u7a0b\u5e8f\u5df2\u8fd0\u884c\uff0c\u8bf7\u5728\u5c1d\u8bd5\u8c03\u8bd5\u4e4b\u524d\u5148\u5c06\u5176\u5173\u95ed\u3002
-maybeAlreadyRunningForRun = \u5982\u679c\u8be5\u7a0b\u5e8f\u5df2\u8fd0\u884c\uff0c\u8bf7\u5728\u5c1d\u8bd5\u8fd0\u884c\u4e4b\u524d\u5148\u5c06\u5176\u5173\u95ed\u3002
diff --git a/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_TW.properties b/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_TW.properties
deleted file mode 100644
index eb86afa..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/djapi_zh_TW.properties
+++ /dev/null
@@ -1,26 +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.
-
-
-timeoutAfterUnknownDelay = \u7b49\u5019\u4f86\u81ea Flash Player \u7684\u9664\u932f\u56de\u61c9\u6642\u767c\u751f\u903e\u6642
-timeout = \u7b49\u5019\u4f86\u81ea Flash Player \u7684\u9664\u932f\u56de\u61c9\u9054 ${time} \u6beb\u79d2\u6642\u767c\u751f\u903e\u6642
-notConnected = \u9664\u932f\u7a0b\u5f0f\u5df2\u4e0d\u518d\u9023\u7dda\u5230 Flash Player
-notSuspended = \u53ea\u6709\u7576 Flash Player \u66ab\u505c\u6642\u624d\u5141\u8a31\u4f5c\u696d
-suspended = \u53ea\u6709\u7576 Flash Player \u672a\u66ab\u505c\u6642\u624d\u5141\u8a31\u4f5c\u696d
-unexpectedPlayerVersion = \u975e\u9810\u671f\u7684 Flash Player \u7248\u672c
-webBrowserGenericName = Web \u700f\u89bd\u5668
-flashPlayerGenericName = Flash Player
-maybeAlreadyRunningForDebug = \u5982\u679c\u7a0b\u5f0f\u5df2\u5728\u57f7\u884c\u4e2d\uff0c\u8acb\u5148\u95dc\u9589\u518d\u5617\u8a66\u5075\u932f\u3002
-maybeAlreadyRunningForRun = \u5982\u679c\u7a0b\u5f0f\u5df2\u5728\u57f7\u884c\u4e2d\uff0c\u8acb\u5148\u95dc\u9589\u518d\u5617\u8a66\u57f7\u884c\u3002
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/BreakEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/BreakEvent.java
deleted file mode 100644
index 7a88fc0..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/BreakEvent.java
+++ /dev/null
@@ -1,47 +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.
- */
-
-package flash.tools.debugger.events;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * Break event is received when the player halts execution
- */
-public class BreakEvent extends DebugEvent
-{
-	/** unique identifier for the source file where the Player has suspened. */
-	public int fileId;
-
-	/** line number in the source file where the Player has suspended. */
-	public int line;
-	
-	public int isolateId;
-
-	public BreakEvent(int fId, int l)
-	{
-		fileId = fId;
-		line = l;
-		isolateId = Isolate.DEFAULT_ID;
-	}
-	
-	public BreakEvent(int fId, int l, int isolate)
-	{
-		this(fId, l);
-		isolateId = isolate;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/ConsoleErrorFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/ConsoleErrorFault.java
deleted file mode 100644
index bc86d76..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/ConsoleErrorFault.java
+++ /dev/null
@@ -1,31 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that an ActionScript error has caused a fault
- */
-public class ConsoleErrorFault extends FaultEvent
-{
-	public final static String name = "console_error";  //$NON-NLS-1$
-
-	public ConsoleErrorFault(String s, int isolateId) { super(s, isolateId); }
-
-	@Override
-	public String name() { return name; }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/DebugEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/DebugEvent.java
deleted file mode 100644
index 6374ca7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/DebugEvent.java
+++ /dev/null
@@ -1,29 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * The top of the event hierarchy for debug events.  All debug events are of this type
- */
-public abstract class DebugEvent
-{
-	public String information;
-
-	public DebugEvent()					{ information = ""; } //$NON-NLS-1$
-	public DebugEvent(String info)		{ information = info; }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/DivideByZeroFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/DivideByZeroFault.java
deleted file mode 100644
index 3b1830a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/DivideByZeroFault.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a divide by zero fault has occurred
- */
-public class DivideByZeroFault extends FaultEvent
-{
-	public DivideByZeroFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "zero_divide";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/ExceptionFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/ExceptionFault.java
deleted file mode 100644
index 2ac3457..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/ExceptionFault.java
+++ /dev/null
@@ -1,61 +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.
- */
-
-package flash.tools.debugger.events;
-
-import flash.tools.debugger.Value;
-
-/**
- * Signals that a user exception has been thrown.
- */
-public class ExceptionFault extends FaultEvent
-{
-	public final static String name = "exception"; //$NON-NLS-1$
-	private final boolean m_willExceptionBeCaught;
-	private final Value m_thrownValue;
-
-	public ExceptionFault(String message, boolean willExceptionBeCaught, Value thrownValue, int isolateId)
-	{
-		super(message, isolateId);
-		m_willExceptionBeCaught = willExceptionBeCaught;
-		m_thrownValue = thrownValue;
-	}
-
-	@Override
-	public String name()
-	{
-		return name;
-	}
-
-	/**
-	 * Returns true if there is a "catch" block that is going to catch
-	 * this exception, false if not.
-	 */
-	public boolean willExceptionBeCaught()
-	{
-		return m_willExceptionBeCaught;
-	}
-
-	/**
-	 * The value that was thrown; may be null, because there are times when we
-	 * cannot determine the value that was thrown.
-	 */
-	public Value getThrownValue()
-	{
-		return m_thrownValue;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/FaultEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/FaultEvent.java
deleted file mode 100644
index 0996618..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/FaultEvent.java
+++ /dev/null
@@ -1,84 +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.
- */
-
-package flash.tools.debugger.events;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * An event type that signals a problem situation within the Player.
- * Under normal conditions the Player will suspend execution, resulting
- * in a following BreakEvent to be fired.  However, if this occurs
- * while a getter or setter is executing, then the player will *not*
- * suspend execution.
- */
-public abstract class FaultEvent extends DebugEvent
-{
-	private String stackTrace = ""; //$NON-NLS-1$
-	public int isolateId = Isolate.DEFAULT_ID; 
-	
-	
-	public FaultEvent(String info, int isolateId)
-	{
-		super(getFirstLine(info));
-		this.isolateId = isolateId;
-		int newline = info.indexOf('\n');
-		if (newline != -1)
-			stackTrace = info.substring(newline+1);
-	}
-
-//	public FaultEvent()
-//	{
-//		super();
-//	}
-	
-	public FaultEvent(int isolateId)
-	{
-		super();
-		this.isolateId = isolateId;
-	}
-
-	public abstract String name();
-
-	private static String getFirstLine(String s) {
-		int newline = s.indexOf('\n');
-		if (newline == -1)
-			return s;
-		else
-			return s.substring(0, newline);
-	}
-
-	/**
-	 * Returns the callstack in exactly the format that it came back
-	 * from the player.  That is, as a single string of the following
-	 * form:
-	 *
-	 * <pre>
-	 *		at functionName()[filename:lineNumber]
-	 *		at functionName()[filename:lineNumber]
-	 *		...
-	 * </pre>
-	 *
-	 * Each line has a leading tab character.
-	 *
-	 * @return callstack, or an empty string; never <code>null</code>
-	 */
-	public String stackTrace()
-	{
-		return stackTrace;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/FileListModifiedEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/FileListModifiedEvent.java
deleted file mode 100644
index a6d4eb2..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/FileListModifiedEvent.java
+++ /dev/null
@@ -1,29 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Notification that the file list has been 
- * modified since the last query was performed,
- * that is, since the last call of Session.getFileList
- * @deprecated As of Version 2.  
- * @see SwfLoadedEvent
- */
-public class FileListModifiedEvent extends DebugEvent
-{
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/FunctionMetaDataAvailableEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/FunctionMetaDataAvailableEvent.java
deleted file mode 100644
index d3dafab..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/FunctionMetaDataAvailableEvent.java
+++ /dev/null
@@ -1,38 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Notification that function information for
- * all SoruceFiles is now available for access.
- * 
- * Prior to this notification the following 
- * calls to SourceFile will return null or 0 values:
- * 
- *	public String getFunctionNameForLine(int lineNum);
- *	public int getLineForFunctionName(String name);
- *	public String[] getFunctionNames();
- *
- * This is due to the fact the function data is processed
- * by a background thread and may take many hundreds of 
- * milliseconds to complete.
- * @deprecated As of Version 2.  No replacement
- */
-public class FunctionMetaDataAvailableEvent extends DebugEvent
-{
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidTargetFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/InvalidTargetFault.java
deleted file mode 100644
index 5159e22..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidTargetFault.java
+++ /dev/null
@@ -1,32 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a bad target name was provided while executing 
- * a ActionSetTarget instruction.
- */
-public class InvalidTargetFault extends FaultEvent
-{
-	public final static String name = "invalid_target";  //$NON-NLS-1$
-
-	public InvalidTargetFault(String target, int isolateId) { super(target, isolateId); }
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidURLFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/InvalidURLFault.java
deleted file mode 100644
index 56f09f1..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidURLFault.java
+++ /dev/null
@@ -1,31 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a request to open a URL failed. 
- */
-public class InvalidURLFault extends FaultEvent
-{
-	public final static String name = "invalid_url";  //$NON-NLS-1$
-
-	public InvalidURLFault(String url, int isolateId) { super(url, isolateId); }
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidWithFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/InvalidWithFault.java
deleted file mode 100644
index 64474de..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/InvalidWithFault.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a ActionWith instruction could not be executed becuase
- * the target of the operation is not an object. 
- */
-public class InvalidWithFault extends FaultEvent
-{
-	public InvalidWithFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "invalid_with";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/IsolateCreateEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/IsolateCreateEvent.java
deleted file mode 100644
index bd9e328..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/IsolateCreateEvent.java
+++ /dev/null
@@ -1,38 +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.
- */
-package flash.tools.debugger.events;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * IsolateCreateEvent is received when the player
- * creates a worker.
- * @author anirudhs
- */
-public class IsolateCreateEvent extends DebugEvent {
-	
-	/* The isolate that was created */
-	public Isolate isolate;
-	
-	public IsolateCreateEvent() {
-		isolate = null;
-	}
-	
-	public IsolateCreateEvent(Isolate t) {
-		isolate = t;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/IsolateExitEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/IsolateExitEvent.java
deleted file mode 100644
index dd910ff..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/IsolateExitEvent.java
+++ /dev/null
@@ -1,38 +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.
- */
-package flash.tools.debugger.events;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * IsolateExitEvent is received when the player stops
- * a worker.
- * @author anirudhs
- */
-public class IsolateExitEvent extends DebugEvent {
-	
-	/* The isolate that exited */
-	public Isolate isolate;
-	
-	public IsolateExitEvent() {
-		isolate = null;
-	}
-	
-	public IsolateExitEvent(Isolate t) {
-		isolate = t;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/ProtoLimitFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/ProtoLimitFault.java
deleted file mode 100644
index 4e26547..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/ProtoLimitFault.java
+++ /dev/null
@@ -1,34 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a search up a prototype chain has reached 
- * a depth limit. 
- */
-public class ProtoLimitFault extends FaultEvent
-{
-	public ProtoLimitFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "proto_limit";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/RecursionLimitFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/RecursionLimitFault.java
deleted file mode 100644
index 683e13d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/RecursionLimitFault.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a recursion limit has been reached 
- */
-public class RecursionLimitFault extends FaultEvent
-{
-	public RecursionLimitFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "recursion_limit";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/ScriptTimeoutFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/ScriptTimeoutFault.java
deleted file mode 100644
index 0ed2fb7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/ScriptTimeoutFault.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that the player has spent far too long in a piece of ActionScript
- */
-public class ScriptTimeoutFault extends FaultEvent
-{
-	public ScriptTimeoutFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "script_timeout";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/StackUnderFlowFault.java b/modules/fdbworkers/src/flash/tools/debugger/events/StackUnderFlowFault.java
deleted file mode 100644
index ce83e12..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/StackUnderFlowFault.java
+++ /dev/null
@@ -1,33 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Signals that a stack underflow has occurred.
- */
-public class StackUnderFlowFault extends FaultEvent
-{
-	public StackUnderFlowFault(int isolateId) {
-		super(isolateId);
-	}
-
-	public final static String name = "stack_underflow";  //$NON-NLS-1$
-
-	@Override
-	public String name() { return name; }	
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/SwfLoadedEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/SwfLoadedEvent.java
deleted file mode 100644
index 0245d93..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/SwfLoadedEvent.java
+++ /dev/null
@@ -1,57 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * This event is fired when the player has completed the loading of 
- * the specified SWF.
- */
-public class SwfLoadedEvent extends DebugEvent
-{
-	/** unique identifier for the SWF */
-	public long id;				
-
-	/** index of swf in Session.getSwfs() array */
-	public int index;
-
-	/** full path name for  SWF */
-	public String path;
-
-	/** size of the loaded SWF in bytes */
-	public long swfSize;
-
-	/** URL of the loaded SWF */
-	public String url;
-
-	/** port number related to the URL */
-	public long port;
-
-	/** name of host in which the SWF was loaded */
-	public String host;
-
-	public SwfLoadedEvent(long sId, int sIndex, String sPath, String sUrl, String sHost, long sPort, long sSwfSize)
-	{
-		id = sId;
-		index = sIndex;
-		swfSize = sSwfSize;
-		port = sPort;
-		path = sPath;
-		url = sUrl;
-		host = sHost;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/SwfUnloadedEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/SwfUnloadedEvent.java
deleted file mode 100644
index b91e941..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/SwfUnloadedEvent.java
+++ /dev/null
@@ -1,40 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * This event is fired when the player has unloaded a swf
- */
-public class SwfUnloadedEvent extends DebugEvent
-{
-	/** unique identifier for the SWF */
-	public long			id;
-
-	/** index of SWF in Session.getSwfs() array */
-	public int			index;
-
-	/** full path name for the SWF */
-	public String		path;
-
-	public SwfUnloadedEvent(long sId, String sPath, int sIndex)
-	{
-		id = sId;
-		index = sIndex;
-		path = sPath;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/events/TraceEvent.java b/modules/fdbworkers/src/flash/tools/debugger/events/TraceEvent.java
deleted file mode 100644
index 5f04af8..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/events/TraceEvent.java
+++ /dev/null
@@ -1,32 +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.
- */
-
-package flash.tools.debugger.events;
-
-/**
- * Trace is a special operation by the player that
- * allows text strings to be displayed during the
- * execution of some ActionScript.  
- * <p>
- * The event provides notification that a trace 
- * statement was encountered. The info string 
- * contains the contenxt of the trace message.
- */
-public class TraceEvent extends DebugEvent
-{
-	public TraceEvent(String s) { super(s); }
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerBURM.jbg b/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerBURM.jbg
deleted file mode 100644
index d8f7dac..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerBURM.jbg
+++ /dev/null
@@ -1,269 +0,0 @@
-package flash.tools.debugger.expression;
-
-header
-{
-	/*
-    
-      Licensed to the Apache Software Foundation (ASF) under one or more
-      contributor license agreements.  See the NOTICE file distributed with
-      this work for additional information regarding copyright ownership.
-      The ASF licenses this file to You under the Apache License, Version 2.0
-      (the "License"); you may not use this file except in compliance with
-      the License.  You may obtain a copy of the License at
-    
-          http://www.apache.org/licenses/LICENSE-2.0
-    
-      Unless required by applicable law or agreed to in writing, software
-      distributed under the License is distributed on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-      See the License for the specific language governing permissions and
-      limitations under the License.
-
-		AS3DebuggerBURM.java is a Bottom-Up Rewrite Machine for ActionScript 3.0.
-
-		A BURM recognizes patterns of nodes within an tree (in this case, an
-		abstract syntax tree for AS 3.0 expressions) and performs rule-based reduction
-		on them (in this case producing DebuggerValues).
-
-		AS3DebuggerBURM.java is generated from AS3DebuggerBURM.jbg using JBurg, an open-source
-		Java implementation of a Bottom-Up Rewrite Generator.
-
-		The most important entry point of this class is burm(),
-		which is called by the code generator.
-	*/
-
-    import static com.adobe.flash.abc3.ABCConstants.*;
-    import static com.adobe.flash.compiler.tree.ASTNodeID.*;
-
-    import com.adobe.flash.compiler.constants.IASLanguageConstants;
-    import com.adobe.flash.compiler.exceptions.BURMAbortException;
-    import com.adobe.flash.compiler.problems.*;
-    import com.adobe.flash.compiler.internal.semantics.AS3SemanticUtils;
-    import com.adobe.flash.compiler.tree.ASTNodeID;
-    import com.adobe.flash.compiler.tree.as.IASNode;
-    import com.adobe.flash.compiler.tree.as.ITryNode;
-}
-
-INodeType IASNode;
-OpcodeType ASTNodeID;
-
-/*
- *  The I-node type is IASNode, and it has its own adapter.
- */
-INodeAdapter com.adobe.flash.compiler.internal.codegen.as.IASNodeAdapter;
-
-//  Generate Java output.
-Language java;
-
-// Return type of all the reductions
-ReturnType Object;
-
-/**
- *  This is a name to use in an expression context.
- *
- *  TODO: What type should this be?
- */
-ReturnType name = Object;
-
-ReturnType decl_name = Object;
-
-/**
- *  Qualified name - this acts the same as a name above, but is built a little differently.
- */
-ReturnType qualifiedName = Object;
-ReturnType qualifiedNamePart = Object;
-
-/**
- *  This is a name used in a type annotation context, such as 'Foo' in:
- *      var x : Foo;
- *  It is a Binding, as type annotations must always be resolved.
- *  A type_name also allows '*', which can't happen in a general expression context.
- */
-ReturnType type_name = Object;
-
-/**
- *  This is a name used in a new context, such as 'Foo' in:
- *      new Foo();
- *  We can do additional analysis when the new expression resolves to a Type, which
- *  is why we have a special name for the new expression.
- */
-ReturnType new_type_name = Object;
-
-ReturnType dottedNamePart = String;
-
-ReturnType non_resolving_identifier = String;
-
-ReturnType runtime_name_expression = Object;
-ReturnType multinameL = Object;
-ReturnType e4x_literal = String;
-
-ReturnType integer_constant = Integer;
-ReturnType uint_constant = Long;
-ReturnType double_constant = Double;
-ReturnType string_constant = String;
-ReturnType boolean_constant = Boolean;
-ReturnType float_constant = Float;
-
-ReturnType numeric_constant = Number;
-
-ReturnType constant_value = Object;
-
-/**
- * Value to use to indicate a cost that is not feasible
- */
-JBurg.Constant ERROR_TRAP = 268435456;
-
-{
-    final static boolean NEED_VALUE = true;
-    final static boolean DISCARD_VALUE = false;
-
-
-    /**
-     *  The reducer has all the implementation
-     *  logic for the rewrite; the BURM constructed
-     *  by this specification drives that logic.
-     */
-    AS3DebuggerReducer reducer;
-
-
-    /*
-     *  **  Cost functions  **
-     * Cost functions are Java code that returns an int value.
-     * The value is used to compute the cost of a particular
-     * candidate reduction. The BURM searches for the lowest
-     * total cost sequence of reductions to transform the input
-     * AST into a value, so low values mean "good cost," higher
-     * values mean "less desirable."   The total cost of a reduction
-     * is always strictly less than Integer.MAX_VALUE; a cost of
-     * Integer.MAX_VALUE tells the pattern matcher that the
-     * reduction is not feasible.
-     */
-
-
-    /**
-     *  @return "feasible" if the reducer can reduce this to a dotted name.
-     */
-    int isDottedName(IASNode iNode)
-    {
-       return reducer.isDottedName(iNode);
-    }
-
-    /**
-     *  @return "feasible" if the reducer can reduce this to a package name.
-     */
-    int isPackageName(IASNode iNode)
-    {
-       return reducer.isPackageName(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this node's qualifier is a compile-time constant.
-     */
-    int qualifierIsCompileTimeConstant(IASNode iNode)
-    {
-       return reducer.qualifierIsCompileTimeConstant(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this node can be resolved to a compile-time constant.
-     */
-    int isCompileTimeConstant(IASNode iNode)
-    {
-       return reducer.isCompileTimeConstant(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this function call node can be resolved to a compile-time constant function.
-     */
-    int isCompileTimeConstantFunction(IASNode iNode)
-    {
-       return reducer.isCompileTimeConstantFunction(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this binary node has at least one expression that is
-     *          of type "float".
-     */
-    int isFloatBinOp(IASNode iNode)
-    {
-       return reducer.isFloatBinOp(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this node is for 'new Array()'.
-     */
-    int isEmptyArrayConstructor(IASNode iNode)
-    {
-        return reducer.isEmptyArrayConstructor(iNode);
-    }
-
-    /**
-     *  @return "feasible" if this node is for 'new Object()'.
-     */
-    int isEmptyObjectConstructor(IASNode iNode)
-    {
-        return reducer.isEmptyObjectConstructor(iNode);
-    }
-
-    /**
-     * @return "feasible" if this node resolves to a type definition.
-     */
-    int isKnownType(IASNode iNode)
-    {
-        return reducer.isKnownType(iNode);
-    }
-
-    /**
-     * @return "feasible" if the type parameter resolves to a type definition.
-     */
-    int parameterTypeIsConstant(IASNode iNode)
-    {
-        return reducer.parameterTypeIsConstant(iNode);
-    }
-
-    /**
-     *  recordError is a convenience method for error reductions;
-     *  it adds a problem to the current set of problems and
-     */
-    Object recordError(ICompilerProblem problem)
-    {
-        return new Object();
-    }
-
-    int isIntLiteral(IASNode iNode)
-    {
-        return reducer.isIntLiteral(iNode);
-    }
-
-    int isUintLiteral(IASNode iNode)
-    {
-        return reducer.isUintLiteral(iNode);
-    }
-
-    int isDoubleLiteral(IASNode iNode)
-    {
-        return reducer.isDoubleLiteral(iNode);
-    }
-
-    int isFloatLiteral(IASNode iNode)
-    {
-        return reducer.isDoubleLiteral(iNode);
-    }
-
-}
-
-/*
- *  Error recovery routine: deduce what we can from the problem
- *  tree, then abort this BURM with an exception that the caller
- *  can catch and ignore.
- */
-DefaultErrorHandler
-{
-    BURMAbortException.abort();
-}
-
-/*
- *  Patterns and rules are stored in their own, shareable file.
- */
-JBurg.include "../../compiler/com.adobe.flash.compiler/src/com/adobe/flash/compiler/internal/codegen/as3/AS3Patterns.jbg"
-JBurg.include "AS3DebuggerRules.jbg"
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerCompoundAssignmentRules.jbg b/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerCompoundAssignmentRules.jbg
deleted file mode 100644
index 5a6b955..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerCompoundAssignmentRules.jbg
+++ /dev/null
@@ -1,28 +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.
-
-*/
-
-expression = Pattern compoundAssignToName : 0
-JBurg.Reduction reducer.compoundBinaryAssignmentNameExpr(__p, operand, expr, Op_COMPOUND_ASSIGN);
-
-
-expression = Pattern compoundAssignToMember : 0
-JBurg.Reduction reducer.compoundBinaryAssignmentMemberExpr(__p, stem, member,  expr, Op_COMPOUND_ASSIGN);
-
-expression = Pattern compoundAssignToBracket : 0
-JBurg.Reduction reducer.compoundBinaryAssignmentBracketExpr(__p, stem, index,  expr, Op_COMPOUND_ASSIGN);
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerReducer.java b/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerReducer.java
deleted file mode 100644
index 611c578..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerReducer.java
+++ /dev/null
@@ -1,1966 +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.
- */
-package flash.tools.debugger.expression;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import com.adobe.flash.abc3.ABCConstants;
-import com.adobe.flash.compiler.constants.IASLanguageConstants;
-import com.adobe.flash.compiler.definitions.IDefinition;
-import com.adobe.flash.compiler.definitions.ITypeDefinition;
-import com.adobe.flash.compiler.internal.definitions.NamespaceDefinition;
-import com.adobe.flash.compiler.internal.semantics.AS3SemanticUtils;
-import com.adobe.flash.compiler.internal.tree.as.IdentifierNode;
-import com.adobe.flash.compiler.internal.tree.as.MemberAccessExpressionNode;
-import com.adobe.flash.compiler.internal.tree.as.NumericLiteralNode;
-import com.adobe.flash.compiler.internal.tree.as.RegExpLiteralNode;
-import com.adobe.flash.compiler.projects.ICompilerProject;
-import com.adobe.flash.compiler.tree.ASTNodeID;
-import com.adobe.flash.compiler.tree.INumericValue;
-import com.adobe.flash.compiler.tree.as.IASNode;
-import com.adobe.flash.compiler.tree.as.IExpressionNode;
-import com.adobe.flash.compiler.tree.as.IIdentifierNode;
-
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.concrete.DValue;
-
-/**
- * Reducer for the debugger - equivalent to the old DebuggerEvaluator
- */
-public class AS3DebuggerReducer {
-
-	private final ContextStack contextStack;
-	private final ICompilerProject project;
-
-	public static class ContextStack {
-
-		private final List<Context> ctxStckInternal;
-
-		public ContextStack(Context context) {
-			ctxStckInternal = new ArrayList<Context>();
-			pushScope(context);
-		}
-
-		public Context scope(int i) {
-			return ctxStckInternal.get(i);
-		}
-
-		public void pushScope(Context scope) {
-			ctxStckInternal.add(scope);
-		}
-
-		public void popScope() {
-			assert (!ctxStckInternal.isEmpty());
-			ctxStckInternal.remove(ctxStckInternal.size() - 1);
-		}
-
-		public Context scope() {
-			return ctxStckInternal.get(ctxStckInternal.size() - 1);
-		}
-
-	}
-
-	public AS3DebuggerReducer(Context context, ICompilerProject project) {
-		super();
-		this.contextStack = new ContextStack(context);
-		this.project = project;
-	}
-
-	static final int ERROR_TRAP = 268435456;
-
-	private Object callFunction(Context cx, boolean isConstructor,
-			Object function, Object[] args) throws PlayerDebugException {
-		Session session = cx.getSession();
-
-		flash.tools.debugger.Value thisObject = cx.toValue();
-		if (thisObject == null)
-			thisObject = DValue.forPrimitive(null, cx.getIsolateId());
-
-		flash.tools.debugger.Value[] valueArgs = new flash.tools.debugger.Value[args.length];
-		for (int i = 0; i < args.length; ++i) {
-			/**
-			 * context.toValue() may return null while
-			 * PlayerSession::buildCallFunctionMessage expects the Value to be a
-			 * value that depicts null. For example,
-			 * xmlVar.childNode[nonexistentornullvar] will run into this case.
-			 * (Came to notice via bug FB-25660)
-			 */
-			flash.tools.debugger.Value tempValue = cx.toValue(args[i]);
-			if (tempValue == null) {
-				tempValue = DValue.forPrimitive(null, cx.getIsolateId());
-			}
-			valueArgs[i] = tempValue;
-		}
-
-		String functionName;
-		if (function instanceof Variable) {
-			// Sometimes, the function will show up as a Variable. This happens,
-			// for example, if the user wrote "MyClass.myFunction = function() {
-			// ... }";
-			// String.fromCharCode(), for example, is defined that way.
-			functionName = ((Variable) function).getQualifiedName();
-		} else {
-			functionName = function.toString();
-		}
-		IsolateSession workerSession = session.getWorkerSession(cx
-				.getIsolateId());
-		if (isConstructor) {
-			return workerSession.callConstructor(functionName, valueArgs);
-		} else {
-			return workerSession.callFunction(thisObject, functionName,
-					valueArgs);
-		}
-	}
-
-	Object compoundBinaryAssignmentBracketExpr(IASNode iNode, Object stem,
-			Object index, Object r, int opcode) {
-		Object leftVariable = reduce_arrayIndexExpr(iNode, stem, false, index);
-		DebuggerValue operationValue = (DebuggerValue) binaryOp(iNode,
-				leftVariable, r, opcode);
-		return reduce_assignToBracketExpr_to_expression(iNode, stem, index,
-				operationValue, false);
-	}
-
-	Object compoundBinaryAssignmentMemberExpr(IASNode iNode, Object stem,
-			Object member, Object r, int opcode) {
-		Object leftVariable = reduce_memberAccessExpr(iNode, stem, member, -1);
-		DebuggerValue operationValue = (DebuggerValue) binaryOp(iNode,
-				leftVariable, r, opcode);
-		return reduce_assignToMemberExpr_to_expression(iNode, stem, member,
-				operationValue);
-	}
-
-	Object compoundBinaryAssignmentNameExpr(IASNode iNode, Object l, Object r,
-			int opcode) {
-		Object leftVariable = transform_name_to_expression(iNode, l);
-		DebuggerValue operationValue = (DebuggerValue) binaryOp(iNode,
-				leftVariable, r, opcode);
-		return reduce_assignToNameExpr_to_expression(iNode, l, operationValue);
-	}
-
-	/**
-	 * Generate a binary operator.
-	 * 
-	 * @param l
-	 *            - the left-hand operand.
-	 * @param r
-	 *            - the right-hand operand.
-	 * @param opcode
-	 *            - the operator's opcode.
-	 * @return the combined instruction sequence with the operator appended.
-	 */
-	Object binaryOp(IASNode iNode, Object l, Object r, int opcode) {
-		// REFER : ASC : public Value evaluate(macromedia.asc.util.Context cx,
-		// BinaryExpressionNode node)
-		switch (opcode) {
-		case ABCConstants.OP_add:
-			break;
-		}
-
-		DebuggerValue lhs = (DebuggerValue) l;
-		DebuggerValue rhs = (DebuggerValue) r;
-
-		Context eeContext = contextStack.scope();
-		Session session = eeContext.getSession();
-		switch (opcode) {
-		case ABCConstants.OP_multiply: {
-			// ECMA 11.5
-			double d1 = ECMA.toNumber(session,
-					eeContext.toValue(lhs.debuggerValue));
-			double d2 = ECMA.toNumber(session,
-					eeContext.toValue(rhs.debuggerValue));
-			return new DebuggerValue(new Double(d1 * d2));
-		}
-		case ABCConstants.OP_divide: {
-			// ECMA 11.5
-			double d1 = ECMA.toNumber(session,
-					eeContext.toValue(lhs.debuggerValue));
-			double d2 = ECMA.toNumber(session,
-					eeContext.toValue(rhs.debuggerValue));
-			return new DebuggerValue(new Double(d1 / d2));
-		}
-		case ABCConstants.OP_modulo: {
-			// ECMA 11.5
-			double d1 = ECMA.toNumber(session,
-					eeContext.toValue(lhs.debuggerValue));
-			double d2 = ECMA.toNumber(session,
-					eeContext.toValue(rhs.debuggerValue));
-			return new DebuggerValue(new Double(d1 % d2));
-		}
-		case ABCConstants.OP_add: {
-			// E4X 11.4.1 and ECMA 11.6.1
-			flash.tools.debugger.Value v1 = eeContext
-					.toValue(lhs.debuggerValue);
-			flash.tools.debugger.Value v2 = eeContext
-					.toValue(rhs.debuggerValue);
-
-			boolean isXMLConcat = false;
-
-			if (v1.getType() == VariableType.OBJECT
-					&& v2.getType() == VariableType.OBJECT) {
-				String type1 = v1.getTypeName();
-				String type2 = v2.getTypeName();
-				int at;
-				at = type1.indexOf('@');
-				if (at != -1)
-					type1 = type1.substring(0, at);
-				at = type2.indexOf('@');
-				if (at != -1)
-					type2 = type2.substring(0, at);
-
-				if (type1.equals("XML") || type1.equals("XMLList")) //$NON-NLS-1$ //$NON-NLS-2$
-					if (type2.equals("XML") || type2.equals("XMLList")) //$NON-NLS-1$ //$NON-NLS-2$
-						isXMLConcat = true;
-			}
-
-			if (isXMLConcat) {
-				try {
-					IsolateSession workerSession = session.getWorkerSession(v1
-							.getIsolateId());
-					flash.tools.debugger.Value xml1 = workerSession
-							.callFunction(
-									v1,
-									"toXMLString", new flash.tools.debugger.Value[0]); //$NON-NLS-1$
-					flash.tools.debugger.Value xml2 = session.getWorkerSession(
-							v2.getIsolateId()).callFunction(v2,
-							"toXMLString", new flash.tools.debugger.Value[0]); //$NON-NLS-1$
-					String allXML = xml1.getValueAsString()
-							+ xml2.getValueAsString();
-					flash.tools.debugger.Value allXMLValue = DValue
-							.forPrimitive(allXML, v1.getIsolateId());
-					flash.tools.debugger.Value retval = workerSession
-							.callConstructor(
-									"XMLList", new flash.tools.debugger.Value[] { allXMLValue }); //$NON-NLS-1$
-					return new DebuggerValue(retval);
-				} catch (PlayerDebugException e) {
-					throw new ExpressionEvaluatorException(e);
-				}
-			} else {
-				v1 = ECMA.toPrimitive(session, v1, null,
-						eeContext.getIsolateId());
-				v2 = ECMA.toPrimitive(session, v2, null,
-						eeContext.getIsolateId());
-				if (v1.getType() == VariableType.STRING
-						|| v2.getType() == VariableType.STRING) {
-					return new DebuggerValue(ECMA.toString(session, v1)
-							+ ECMA.toString(session, v2));
-				} else {
-					return new DebuggerValue(new Double(ECMA.toNumber(session,
-							v1) + ECMA.toNumber(session, v2)));
-				}
-			}
-		}
-		case ABCConstants.OP_subtract: {
-			// ECMA 11.6.2
-			double d1 = ECMA.toNumber(session,
-					eeContext.toValue(lhs.debuggerValue));
-			double d2 = ECMA.toNumber(session,
-					eeContext.toValue(rhs.debuggerValue));
-			return new DebuggerValue(new Double(d1 - d2));
-		}
-		case ABCConstants.OP_lshift: {
-			// ECMA 11.7.1
-			int n1 = ECMA
-					.toInt32(session, eeContext.toValue(lhs.debuggerValue));
-			int n2 = (int) (ECMA.toUint32(session,
-					eeContext.toValue(rhs.debuggerValue)) & 0x1F);
-			return new DebuggerValue(new Double(n1 << n2));
-		}
-		case ABCConstants.OP_rshift: {
-			// ECMA 11.7.1
-			int n1 = ECMA
-					.toInt32(session, eeContext.toValue(lhs.debuggerValue));
-			int n2 = (int) (ECMA.toUint32(session,
-					eeContext.toValue(rhs.debuggerValue)) & 0x1F);
-			return new DebuggerValue(new Double(n1 >> n2));
-		}
-		case ABCConstants.OP_urshift: {
-			// ECMA 11.7.1
-			long n1 = ECMA.toUint32(session,
-					eeContext.toValue(lhs.debuggerValue));
-			long n2 = (ECMA.toUint32(session,
-					eeContext.toValue(rhs.debuggerValue)) & 0x1F);
-			return new DebuggerValue(new Double(n1 >>> n2));
-		}
-		case ABCConstants.OP_lessthan: {
-			// ECMA 11.8.1
-			flash.tools.debugger.Value lessThan = ECMA.lessThan(session,
-					eeContext.toValue(lhs.debuggerValue),
-					eeContext.toValue(rhs.debuggerValue));
-			boolean result;
-			if (lessThan.getType() == VariableType.UNDEFINED) {
-				result = false;
-			} else {
-				result = ECMA.toBoolean(lessThan);
-			}
-			return new DebuggerValue(result);
-		}
-		case ABCConstants.OP_greaterthan: {
-			// ECMA 11.8.2
-			flash.tools.debugger.Value greaterThan = ECMA.lessThan(session,
-					eeContext.toValue(rhs.debuggerValue),
-					eeContext.toValue(lhs.debuggerValue));
-			boolean result;
-			if (greaterThan.getType() == VariableType.UNDEFINED) {
-				result = false;
-			} else {
-				result = ECMA.toBoolean(greaterThan);
-			}
-			return new DebuggerValue(result);
-		}
-		case ABCConstants.OP_lessequals: {
-			// ECMA 11.8.3
-			flash.tools.debugger.Value lessThan = ECMA.lessThan(session,
-					eeContext.toValue(rhs.debuggerValue),
-					eeContext.toValue(lhs.debuggerValue));
-			boolean result;
-			if (lessThan.getType() == VariableType.UNDEFINED) {
-				result = false;
-			} else {
-				result = !ECMA.toBoolean(lessThan);
-			}
-			return new DebuggerValue(result);
-		}
-		case ABCConstants.OP_greaterequals: {
-			// ECMA 11.8.4
-			flash.tools.debugger.Value lessThan = ECMA.lessThan(session,
-					eeContext.toValue(lhs.debuggerValue),
-					eeContext.toValue(rhs.debuggerValue));
-			boolean result;
-			if (lessThan.getType() == VariableType.UNDEFINED) {
-				result = false;
-			} else {
-				result = !ECMA.toBoolean(lessThan);
-			}
-			return new DebuggerValue(result);
-		}
-		case ABCConstants.OP_instanceof: {
-			try {
-				return new DebuggerValue(session.getWorkerSession(
-						eeContext.getIsolateId()).evalInstanceof(
-						eeContext.toValue(lhs.debuggerValue),
-						eeContext.toValue(rhs.debuggerValue)));
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			} catch (PlayerFaultException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		}
-		case ABCConstants.OP_in: {
-			try {
-				return new DebuggerValue(session.getWorkerSession(
-						eeContext.getIsolateId()).evalIn(
-						eeContext.toValue(lhs.debuggerValue),
-						eeContext.toValue(rhs.debuggerValue)));
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			} catch (PlayerFaultException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		}
-		case ABCConstants.OP_istypelate: {
-			try {
-				return new DebuggerValue(session.getWorkerSession(
-						eeContext.getIsolateId()).evalIs(
-						eeContext.toValue(lhs.debuggerValue),
-						eeContext.toValue(rhs.debuggerValue)));
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			} catch (PlayerFaultException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		}
-		case ABCConstants.OP_astypelate: {
-			try {
-				return new DebuggerValue(session.getWorkerSession(
-						eeContext.getIsolateId()).evalAs(
-						eeContext.toValue(lhs.debuggerValue),
-						eeContext.toValue(rhs.debuggerValue)));
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			} catch (PlayerFaultException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		}
-		case ABCConstants.OP_equals: {
-			// ECMA 11.9.1
-			return new DebuggerValue(new Boolean(ECMA.equals(session,
-					eeContext.toValue(lhs.debuggerValue),
-					eeContext.toValue(rhs.debuggerValue))));
-		}
-		// ASC3 notequals is a sepearate reducer nequals
-		// case ABCConstants.op_Tokens.NOTEQUALS_TOKEN:
-		// {
-		// // ECMA 11.9.2
-		// return new DebuggerValue(new Boolean(!ECMA.equals(session,
-		// eeContext.toValue(lhs.debuggerValue), eeContext
-		// .toValue(rhs.debuggerValue))));
-		// }
-		case ABCConstants.OP_strictequals: {
-			// ECMA 11.9.4
-			return new DebuggerValue(new Boolean(ECMA.strictEquals(
-					eeContext.toValue(lhs.debuggerValue),
-					eeContext.toValue(rhs.debuggerValue))));
-		}
-		// ASC3 notequals is a sepearate reducer nequals
-		/*
-		 * case Tokens.STRICTNOTEQUALS_TOKEN: { // ECMA 11.9.5 return new
-		 * DebuggerValue(new
-		 * Boolean(!ECMA.strictEquals(eeContext.toValue(lhs.debuggerValue),
-		 * eeContext .toValue(rhs.debuggerValue)))); }
-		 */
-		case ABCConstants.OP_bitand: {
-			// ECMA 11.10
-			return new DebuggerValue(new Double(ECMA.toInt32(session,
-					eeContext.toValue(lhs.debuggerValue))
-					& ECMA.toInt32(session,
-							eeContext.toValue(rhs.debuggerValue))));
-		}
-		case ABCConstants.OP_bitxor: {
-			// ECMA 11.10
-			return new DebuggerValue(new Double(ECMA.toInt32(session,
-					eeContext.toValue(lhs.debuggerValue))
-					^ ECMA.toInt32(session,
-							eeContext.toValue(rhs.debuggerValue))));
-		}
-		case ABCConstants.OP_bitor: {
-			// ECMA 11.10
-			return new DebuggerValue(new Double(ECMA.toInt32(session,
-					eeContext.toValue(lhs.debuggerValue))
-					| ECMA.toInt32(session,
-							eeContext.toValue(rhs.debuggerValue))));
-		}
-		/*
-		 * ASC3 reduce_logicalAndExpr & reduce_logicalOrExpr sepearate reducers
-		 * case Tokens.LOGICALAND_TOKEN: { // ECMA 11.11
-		 * flash.tools.debugger.Value result =
-		 * eeContext.toValue(lhs.debuggerValue); if (ECMA.toBoolean(result)) {
-		 * rhs = (DebuggerValue) node.rhs.evaluate(cx, this); result =
-		 * eeContext.toValue(rhs.debuggerValue); } return new
-		 * DebuggerValue(result); } case Tokens.LOGICALOR_TOKEN: { // ECMA 11.11
-		 * flash.tools.debugger.Value result =
-		 * eeContext.toValue(lhs.debuggerValue); if (!ECMA.toBoolean(result)) {
-		 * rhs = (DebuggerValue) node.rhs.evaluate(cx, this); result =
-		 * eeContext.toValue(rhs.debuggerValue); } return new
-		 * DebuggerValue(result); }
-		 */
-		// case Tokens.EMPTY_TOKEN:
-		// // do nothing, already been folded
-		// return new DebuggerValue(null);
-		default:
-			//cx.internalError(ASTBuilder.getLocalizationManager().getLocalizedTextString("unrecognizedBinaryOperator")); //$NON-NLS-1$
-			return new DebuggerValue(null);
-		}
-	}
-
-	/**
-	 * Resolve a dotted name, e.g., foo.bar.baz
-	 */
-	Object dottedName(IASNode iNode, String qualifiers, String base_name) {
-		return qualifiers + "." + base_name;
-	}
-
-	/**
-	 * Error trap.
-	 */
-	public Object error_namespaceAccess(IASNode iNode, IASNode raw_qualifier,
-			Object qualified_name) {
-		return null;
-	}
-
-	/**
-	 * Error trap.
-	 */
-	public Object error_reduce_Op_AssignId(IASNode iNode, Object non_lvalue,
-			Object rvalue) {
-		return null;
-	}
-
-	/**
-	 * @return the double content of a numeric literal.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Double getDoubleContent(IASNode iNode) {
-		return AS3SemanticUtils.getDoubleContent(iNode, project);
-	}
-
-	/**
-	 * @return the double content of a numeric literal.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Float getFloatContent(IASNode iNode) {
-		return AS3SemanticUtils.getFloatContent(iNode, project);
-	}
-
-	/**
-	 * @return the name of an identifier.
-	 * @param iNode
-	 *            - the IIdentifier node.
-	 */
-	String getIdentifierContent(IASNode iNode) {
-		return AS3SemanticUtils.getIdentifierContent(iNode);
-	}
-
-	/**
-	 * @return the int content of a numeric literal.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Integer getIntegerContent(IASNode iNode) {
-		return AS3SemanticUtils.getIntegerContent(iNode, project);
-	}
-
-	/**
-	 * @return always zero.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Integer getIntegerZeroContent(IASNode iNode) {
-		return 0;
-	}
-
-	/**
-	 * @return always zero.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Long getIntegerZeroContentAsLong(IASNode iNode) {
-		return 0L;
-	}
-
-	/**
-	 * @return the string content of a literal.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	String getStringLiteralContent(IASNode iNode) {
-		return AS3SemanticUtils.getStringLiteralContent(iNode);
-	}
-
-	/**
-	 * @return the uint content of a numeric literal.
-	 * @param iNode
-	 *            - the literal node.
-	 */
-	Long getUintContent(IASNode iNode) {
-		return AS3SemanticUtils.getUintContent(iNode, project);
-	}
-
-	/*
-	 * *******************************
-	 * ** Cost/Decision Functions ** *******************************
-	 */
-
-	public int isIntLiteral(IASNode iNode) {
-		if (iNode.getNodeID() == ASTNodeID.LiteralNumberID) {
-			INumericValue numericVal = ((NumericLiteralNode) iNode)
-					.getNumericValue(project);
-
-			if (numericVal.getAssumedType() == IASLanguageConstants.BuiltinType.INT) {
-				return 1;
-			}
-		}
-		return Integer.MAX_VALUE;
-	}
-
-	public int isUintLiteral(IASNode iNode) {
-		if (iNode.getNodeID() == ASTNodeID.LiteralNumberID) {
-			INumericValue numericVal = ((NumericLiteralNode) iNode)
-					.getNumericValue(project);
-
-			if (numericVal.getAssumedType() == IASLanguageConstants.BuiltinType.UINT) {
-				return 1;
-			}
-		}
-		return Integer.MAX_VALUE;
-	}
-
-	public int isDoubleLiteral(IASNode iNode) {
-		if (iNode.getNodeID() == ASTNodeID.LiteralNumberID) {
-			return 2;
-		}
-		return Integer.MAX_VALUE;
-	}
-
-	public int isFloatLiteral(IASNode iNode) {
-		if (iNode.getNodeID() == ASTNodeID.LiteralNumberID) {
-			INumericValue numericVal = ((NumericLiteralNode) iNode)
-					.getNumericValue(project);
-
-			if (numericVal.getAssumedType() == IASLanguageConstants.BuiltinType.FLOAT) {
-				return 1;
-			}
-			return Integer.MAX_VALUE;
-		}
-		return Integer.MAX_VALUE;
-	}
-
-	/**
-	 * Explore a MemberAccessNode and decide if its stem is a reference to a
-	 * package. This method will always return a result greater than what
-	 * isPackageName will return, as package name must "win" over dotted name.
-	 */
-	int isDottedName(IASNode n) {
-		int result = Integer.MAX_VALUE;
-
-		if (n instanceof MemberAccessExpressionNode) {
-			MemberAccessExpressionNode ma = (MemberAccessExpressionNode) n;
-
-			if (ma.stemIsPackage())
-				// This needs to be greater than the value returned from
-				// isPackageName,
-				// so that isPackageName wins
-				result = 2;
-		}
-
-		return result;
-	}
-
-	/**
-	 * Explore a MemberAccessNode and decide if it is a reference to a package.
-	 * This method will always return a result less than what isDottedName will
-	 * return, as package name must "win" over dotted name.
-	 */
-	int isPackageName(IASNode n) {
-		int result = Integer.MAX_VALUE;
-
-		if (n instanceof MemberAccessExpressionNode) {
-			MemberAccessExpressionNode ma = (MemberAccessExpressionNode) n;
-
-			if (ma.isPackageReference())
-				// This needs to be less than the value returned from
-				// isDottedName,
-				// so that isPackageName wins
-				result = 1;
-		}
-
-		return result;
-	}
-
-	/**
-	 * Get the definition associated with a node's qualifier and decide if the
-	 * qualifier is a compile-time constant.
-	 * 
-	 * @param iNode
-	 *            - the node to check.
-	 * @pre - the node has an IdentifierNode 0th child.
-	 * @return an attractive cost if the child has a known namespace, i.e., it's
-	 *         a compile-time constant qualifier.
-	 */
-	int qualifierIsCompileTimeConstant(IASNode iNode) {
-		IdentifierNode qualifier = (IdentifierNode) AS3SemanticUtils
-				.getNthChild(iNode, 0);
-		IDefinition def = qualifier.resolve(project);
-
-		int result = def instanceof NamespaceDefinition ? 1 : Integer.MAX_VALUE;
-		return result;
-	}
-
-	/**
-	 * @return a feasible cost if a node has a compile-time constant defintion.
-	 */
-	int isCompileTimeConstant(IASNode iNode) {
-		if (AS3SemanticUtils.transformNameToConstantValue(iNode, project) != null)
-			return 1;
-		else
-			return Integer.MAX_VALUE;
-	}
-
-	/**
-	 * @return a feasible cost if a node has a compile-time constant defintion.
-	 */
-	int isCompileTimeConstantFunction(IASNode iNode) {
-		if (AS3SemanticUtils.isConstantFunction(project, iNode))
-			return 1;
-		else
-			return Integer.MAX_VALUE;
-	}
-
-	/**
-	 * @return a feasible cost if the parameterized type's base and parameter
-	 *         types are compile-time constants, ERROR_TRAP if not.
-	 */
-	int parameterTypeIsConstant(IASNode iNode) {
-		return Math.max(isKnownType(AS3SemanticUtils.getNthChild(iNode, 0)),
-				isKnownType(AS3SemanticUtils.getNthChild(iNode, 1)));
-	}
-
-	/**
-	 * @return a feasible cost if the given node is a known type, ERROR_TRAP
-	 *         otherwise.
-	 */
-	int isKnownType(IASNode iNode) {
-		boolean isConstant = false;
-		if (iNode instanceof IExpressionNode) {
-			isConstant = ((IExpressionNode) iNode).resolve(project) instanceof ITypeDefinition;
-		}
-
-		return isConstant ? 1 : ERROR_TRAP;
-	}
-
-	/**
-	 * Reduce a function call to a constant value. This is only possible for a
-	 * limited set of function calls, and you should call
-	 * isCompileTimeConstantFunction first to make sure this is possible.
-	 * 
-	 * @param iNode
-	 *            the IFunctionCallNode
-	 * @param method
-	 *            the Object of the method to call
-	 * @param constant_args
-	 *            the constant_values used as arguments to the function call
-	 * @return A constant value that that would be the result of calling the
-	 *         function at runtime with the specified arguments
-	 */
-	public Object transform_constant_function_to_value(IASNode iNode,
-			Object method, Vector<Object> constant_args) {
-		return null;
-	}
-
-	/**
-	 * @return a feasible cost if the node is a BinaryExpression, and the type
-	 *         of the left or right side of the expressions resolves to "float"
-	 */
-	int isFloatBinOp(IASNode iNode) {
-		return 0;
-	}
-
-	/**
-	 * @return a feasible cost (1) if the node is for 'new Array()'
-	 */
-	int isEmptyArrayConstructor(IASNode iNode) {
-		IIdentifierNode identifierNode = (IIdentifierNode) AS3SemanticUtils
-				.getNthChild(iNode, 1);
-		if (identifierNode.resolve(project) == project
-				.getBuiltinType(IASLanguageConstants.BuiltinType.ARRAY))
-			return 1;
-
-		return Integer.MAX_VALUE;
-	}
-
-	/**
-	 * @return a feasible cost (1) if the node is for 'new Object()'
-	 */
-	int isEmptyObjectConstructor(IASNode iNode) {
-		IIdentifierNode identifierNode = (IIdentifierNode) AS3SemanticUtils
-				.getNthChild(iNode, 1);
-		if (identifierNode.resolve(project) == project
-				.getBuiltinType(IASLanguageConstants.BuiltinType.OBJECT))
-			return 1;
-
-		return Integer.MAX_VALUE;
-	}
-
-	/*
-	 * *************************
-	 * ** Reduction actions ** *************************
-	 */
-
-	public Object reduce_arrayIndexExpr(IASNode iNode, Object stem,
-			boolean is_super, Object index) {
-		return reduce_memberAccessExpr(iNode, stem, index, -1);
-	}
-
-	public Object reduce_arrayLiteral(IASNode iNode, Vector<Object> elements) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_assignToBracketExpr_to_expression(IASNode iNode,
-			Object stem, Object index, Object r, boolean is_super) {
-		Context eeContext = contextStack.scope();
-		Context newContext = eeContext
-				.createContext(((DebuggerValue) stem).debuggerValue);
-		contextStack.pushScope(newContext);
-		try {
-			return reduce_assignToNameExpr_to_expression(iNode, index, r);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_assignToMemberExpr_to_expression(IASNode iNode,
-			Object stem, Object member, Object r) {
-		Context eeContext = contextStack.scope();
-		Context newContext = eeContext
-				.createContext(((DebuggerValue) stem).debuggerValue);
-		contextStack.pushScope(newContext);
-		try {
-			return reduce_assignToNameExpr_to_expression(iNode, member, r);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_assignToDescendantsExpr(IASNode iNode, Object stem,
-			Object member, Object r, boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_assignToNameExpr_to_expression(IASNode iNode,
-			Object lvalue, Object r) {
-
-		// ASC : Refer : evaluate(macromedia.asc.util.Context cx,
-		// SetExpressionNode node)
-		Context eeContext = contextStack.scope();
-		DebuggerValue lhs = (DebuggerValue) lvalue;
-		Object variableToAssignTo;
-		// if (node.getMode() == Tokens.LEFTBRACKET_TOKEN || node.getMode() ==
-		// Tokens.EMPTY_TOKEN)
-		{
-			variableToAssignTo = ECMA.toString(eeContext.getSession(),
-					eeContext.toValue(lhs.debuggerValue));
-		}
-		// else
-		// {
-		// variableToAssignTo = rhs.debuggerValue;
-		// }
-
-		DebuggerValue newValue = (DebuggerValue) r;
-
-		try {
-			eeContext.assign(variableToAssignTo,
-					eeContext.toValue(newValue.debuggerValue));
-		} catch (NoSuchVariableException e) {
-			throw new ExpressionEvaluatorException(e);
-		} catch (PlayerFaultException e) {
-			throw new ExpressionEvaluatorException(e);
-		}
-		return newValue;
-	}
-
-	// Not supported :: //throw error
-	public Object reduce_assignToQualifiedMemberExpr(IASNode iNode,
-			Object stem, Object qualifier, Object member, Object rhs,
-			boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	// Not supported :: //throw error
-	public Object reduce_assignToQualifiedRuntimeMemberExpr(IASNode iNode,
-			Object stem, Object qualifier, Object runtime_member_selector,
-			Object rhs, boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	// Not supported :: //throw error
-	public Object reduce_assignToQualifiedAttributeExpr(IASNode iNode,
-			Object stem, Object qualifier, Object member, Object rhs,
-			boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_assignToRuntimeNameExpr(IASNode iNode, Object lval,
-			Object r, final boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_assignToUnqualifiedRuntimeAttributeExpr(IASNode iNode,
-			Object stem, Object rt_attr, Object rhs, boolean need_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$;
-	}
-
-	public Object reduce_attributeName(IASNode iNode, Object attr_name) {
-		return new DebuggerValue("@"
-				+ ((DebuggerValue) attr_name).debuggerValue);
-	}
-
-	public Boolean reduce_booleanLiteral(IASNode iNode) {
-		return AS3SemanticUtils.getBooleanContent(iNode);
-	}
-
-	public String reduce_by_concatenation(IASNode iNode, String first,
-			String second) {
-		return first + "." + second;
-	}
-
-	public Object reduce_commaExpr(IASNode iNode, Object payload_expr,
-			Vector<Object> exprs) {
-		Object result = null;
-		return result;
-	}
-
-	/**
-	 * Reduce expression like:<br>
-	 * {@code delete o[p]}
-	 * 
-	 * @param iNode
-	 *            Tree node for the {@code delete} statement.
-	 * @param stem
-	 *            Instructions for creating a {@code DynamicAccessNode}.
-	 * @param index
-	 *            Instructions for initializing the index expression.
-	 * @return Instructions for executing a {@code delete} statement.
-	 */
-	public Object reduce_deleteBracketExpr(IASNode iNode, Object stem,
-			Object index) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	/**
-	 * Reduce E4X expression like:<br>
-	 * {@code delete x.@[foo]}
-	 * 
-	 * @param iNode
-	 *            Tree node for the {@code delete} statement.
-	 * @param stem
-	 *            Instructions for creating a {@code MemberAccessExpressionNode}
-	 *            .
-	 * @param index
-	 *            Instructions for initializing the array index expression.
-	 * @return Instructions for executing a {@code delete} statement.
-	 */
-	public Object reduce_deleteAtBracketExpr(IASNode iNode, Object stem,
-			Object index) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_deleteDescendantsExpr(IASNode iNode, Object stem,
-			Object field) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_deleteExprExprExpr(IASNode iNode, Object expr) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_deleteMemberExpr(IASNode iNode, Object stem,
-			Object field) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_deleteRuntimeNameExpr(IASNode iNode, Object stem,
-			Object rt_name) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_deleteNameExpr(IASNode iNode, Object n) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("delete")); //$NON-NLS-1$
-	}
-
-	public Object reduce_e4xFilter(IASNode iNode, Object stem, Object filter) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_embed(IASNode iNode) {
-		Object result = null;
-		return result;
-	}
-
-	/**
-	 * Reduce expression like:<br>
-	 * {@code a[i]()}
-	 * 
-	 * @param iNode
-	 *            Tree node for the function call.
-	 * @param stem
-	 *            Instructions for creating a {@code DynamicAccessNode}.
-	 * @param index
-	 *            Instructions for initializing the index expression.
-	 * @return Instructions for executing a {@code function call} statement.
-	 */
-	public Object reduce_functionAsBracketExpr(IASNode iNode, Object stem,
-			Object index, Vector<Object> args) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_functionAsMemberExpr(IASNode iNode, Object stem,
-			Object method_name, Vector<Object> args) {
-		try {
-			Context context = contextStack.scope();
-			DebuggerValue lhs = (DebuggerValue) stem;
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			return reduce_functionCall_common(iNode, method_name, args, true,
-					false);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_functionAsRandomExpr(IASNode iNode,
-			Object random_expr, Vector<Object> args) {
-		return reduce_functionCall_common(iNode, random_expr, args, true, false);
-	}
-
-	public Object reduce_functionCallExpr_to_expression(IASNode iNode,
-			Object method_name, Vector<Object> args) {
-		return reduce_functionCall_common(iNode, method_name, args, true, false);
-	}
-
-	private Object reduce_functionCall_common(IASNode iNode,
-			Object method_name, Vector<Object> args, boolean need_result,
-			boolean isConstructor) {
-
-		Context context = contextStack.scope();
-		DebuggerValue func = (DebuggerValue) method_name;
-		try {
-			Object[] argValues = new Object[args.size()];
-			for (int i = 0; i < args.size(); i++) {
-				DebuggerValue dv = (DebuggerValue) args.get(i);
-				argValues[i] = dv.debuggerValue;
-			}
-			return new DebuggerValue(callFunction(context, isConstructor,
-					func.debuggerValue, argValues));
-		} catch (PlayerDebugException e) {
-			throw new ExpressionEvaluatorException(e);
-		}
-	}
-
-	public Object reduce_functionCallOfSuperclassMethod_to_expression(
-			IASNode iNode, Object stem, Object method_name, Vector<Object> args) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("super")); //$NON-NLS-1$
-	}
-
-	public Object reduce_logicalAndExpr(IASNode iNode, Object l, Object r) {
-		// REFER : ASC : public Value evaluate(macromedia.asc.util.Context cx,
-		// BinaryExpressionNode node)
-		// ECMA 11.11
-		Context eeContext = contextStack.scope();
-		DebuggerValue lhs = (DebuggerValue) l;
-		flash.tools.debugger.Value result = eeContext
-				.toValue(lhs.debuggerValue);
-
-		if (ECMA.toBoolean(result)) {
-			DebuggerValue rhs = null;
-			if (r instanceof DebuggerValue) {
-				rhs = (DebuggerValue) r;
-			} else {
-				rhs = ((UnEvaluatedDebugExpression) r).evaluate(eeContext);
-			}
-
-			result = eeContext.toValue(rhs.debuggerValue);
-		}
-		return new DebuggerValue(result);
-	}
-
-	public Object reduce_logicalNotExpr(IASNode iNode, Object expr) {
-		Context eeContext = contextStack.scope();
-		DebuggerValue arg = (DebuggerValue) expr;
-		// ECMA 11.4.9
-		return new DebuggerValue(new Boolean(!ECMA.toBoolean(eeContext
-				.toValue(arg.debuggerValue))));
-	}
-
-	public Object reduce_logicalOrExpr(IASNode iNode, Object l, Object r) {
-		// REFER : ASC : public Value evaluate(macromedia.asc.util.Context cx,
-		// BinaryExpressionNode node)
-		// ECMA 11.11
-		Context eeContext = contextStack.scope();
-		DebuggerValue lhs = (DebuggerValue) l;
-		flash.tools.debugger.Value result = eeContext
-				.toValue(lhs.debuggerValue);
-
-		if (!ECMA.toBoolean(result)) {
-			DebuggerValue rhs = null;
-			if (rhs instanceof DebuggerValue) {
-				rhs = (DebuggerValue) r;
-			} else {
-				rhs = ((UnEvaluatedDebugExpression) r).evaluate(eeContext);
-			}
-			result = eeContext.toValue(rhs.debuggerValue);
-		}
-		return new DebuggerValue(result);
-	}
-
-	/**
-	 * reduce a MemberAccessExpression. This example just concats the stem and
-	 * member together
-	 */
-	public Object reduce_memberAccessExpr(IASNode iNode, Object stem,
-			Object member, int opcode) {
-		DebuggerValue lhs = (DebuggerValue) stem;
-		Context context = contextStack.scope();
-		boolean pushedScope = false;
-		if (lhs != null) {
-			flash.tools.debugger.Value lhsValue = context
-					.toValue(lhs.debuggerValue);
-			if (ECMA.equals(context.getSession(), lhsValue,
-					context.toValue(null)))
-				throw new ExpressionEvaluatorException(ASTBuilder
-						.getLocalizationManager().getLocalizedTextString(
-								"nullPointerException")); //$NON-NLS-1$
-
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			pushedScope = true;
-		}
-
-		try {
-			DebuggerValue rhs = (DebuggerValue) transform_name_to_expression(
-					iNode, member);
-
-			return rhs;// node.selector.evaluate(cx, this);
-		} finally {
-			if (pushedScope)
-				contextStack.popScope();
-		}
-		// return stem + "." + member;
-	}
-
-	public Object reduce_qualifiedMemberAccessExpr(IASNode iNode, Object stem,
-			Object qualifier, Object member, int opcode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_qualifiedAttributeRuntimeMemberExpr(IASNode iNode,
-			Object stem, Object qualifier, Object runtime_member_selector,
-			int opcode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_qualifiedMemberRuntimeNameExpr(IASNode iNode,
-			Object stem, Object qualifier, Object runtime_member_selector) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$;
-	}
-
-	public Object reduce_qualifiedAttributeExpr(IASNode iNode, Object stem,
-			Object qualifier, Object member, int opcode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_unqualifiedAttributeExpr(IASNode iNode, Object stem,
-			Object rt_attr, int opcode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$	}
-	}
-
-	/**
-	 * Reduce runtime attribute expression, such as {@code @[exp]}.
-	 * 
-	 * @param iNode
-	 *            Node for {@code @[...]}. It is a
-	 *            {@code ArrayIndexExpressionID(Op_AtID, ...)}.
-	 * @param rt_attr
-	 *            Instructions generated for the runtime name expression.
-	 * @return Instructions to get the value of an attribute described with a
-	 *         runtime name.
-	 */
-	public Object reduce_runtimeAttributeExp(IASNode iNode, Object rt_attr) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceAccess(IASNode iNode, IASNode qualifier,
-			Object qualified_name) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceAsName_to_expression(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceAsName_to_multinameL(IASNode iNode,
-			final boolean is_attribute) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceAsName_to_name(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceMultinameL(IASNode iNode,
-			IASNode qualifier_node, Object expr) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceRTQName(IASNode iNode, Object qualifier,
-			Object qualified_name) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_namespaceRTQNameL(IASNode iNode, Object qualifier,
-			Object expr) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_neqExpr(IASNode iNode, Object l, Object r) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_nameToTypeName(Object name, boolean check_name) {
-		return name;
-	}
-
-	public Object reduce_newMemberProperty(IASNode iNode, Object stem,
-			Object member, Vector<Object> args) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_newAsRandomExpr(IASNode iNode, Object random_expr,
-			Vector<Object> args) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_newEmptyArray(IASNode iNode) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_newEmptyObject(IASNode iNode) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_newExpr(IASNode iNode, Object class_Object,
-			Vector<Object> args) {
-
-		return reduce_functionCall_common(iNode, class_Object, args, true, true);
-	}
-
-	public Object reduce_newVectorLiteral(IASNode iNode, Object literal) {
-		return literal;
-	}
-
-	public Object reduce_nilExpr_to_expression(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_nullLiteral_to_constant_value(IASNode iNode) {
-		return new DebuggerValue(null);
-	}
-
-	public Object reduce_nullLiteral_to_object_literal(IASNode iNode) {
-		return new DebuggerValue(null);
-	}
-
-	public Object reduce_objectLiteral(IASNode iNode, Vector<Object> elements) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_objectLiteralElement(IASNode iNode, Object id,
-			Object value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_parameterizedTypeName(IASNode iNode, Object base,
-			Object param) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_parameterizedTypeExpression(IASNode iNode,
-			Object base, Object param) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_postDecBracketExpr(IASNode iNode, Object stem,
-			Object index, boolean need_result) {
-
-		return reduce_postDecMemberExpr(iNode, stem, index, need_result);
-	}
-
-	public Object reduce_postDecMemberExpr(IASNode iNode, Object stem,
-			Object field, boolean need_result) {
-		try {
-			DebuggerValue lhs = (DebuggerValue) stem;
-			Context context = contextStack.scope();
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			return reduce_prePostIncDecExpr(iNode, field, true, false);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_postDecNameExpr(IASNode iNode, Object unary,
-			boolean need_result) {
-		return reduce_prePostIncDecExpr(iNode, unary, true, false);
-	}
-
-	public Object reduce_postIncBracketExpr(IASNode iNode, Object stem,
-			Object index, boolean need_result) {
-		return reduce_postIncMemberExpr(iNode, stem, index, need_result);
-	}
-
-	public Object reduce_postIncMemberExpr(IASNode iNode, Object stem,
-			Object field, boolean need_result) {
-		try {
-			DebuggerValue lhs = (DebuggerValue) stem;
-			Context context = contextStack.scope();
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			return reduce_prePostIncDecExpr(iNode, field, true, true);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_postIncNameExpr(IASNode iNode, Object unary,
-			boolean need_result) {
-		return reduce_prePostIncDecExpr(iNode, unary, true, true);
-	}
-
-	public Object reduce_preDecBracketExpr(IASNode iNode, Object stem,
-			Object index, boolean need_result) {
-		return reduce_preDecMemberExpr(iNode, stem, index, need_result);
-	}
-
-	public Object reduce_preDecMemberExpr(IASNode iNode, Object stem,
-			Object field, boolean need_result) {
-		try {
-			DebuggerValue lhs = (DebuggerValue) stem;
-			Context context = contextStack.scope();
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			return reduce_prePostIncDecExpr(iNode, field, false, false);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_preDecNameExpr(IASNode iNode, Object unary,
-			boolean need_result) {
-		return reduce_prePostIncDecExpr(iNode, unary, false, false);
-	}
-
-	public Object reduce_preIncBracketExpr(IASNode iNode, Object stem,
-			Object index, boolean need_result) {
-		return reduce_preIncMemberExpr(iNode, stem, index, need_result);
-	}
-
-	public Object reduce_preIncMemberExpr(IASNode iNode, Object stem,
-			Object field, boolean need_result) {
-		try {
-			DebuggerValue lhs = (DebuggerValue) stem;
-			Context context = contextStack.scope();
-			Context newContext = context.createContext(lhs.debuggerValue);
-			contextStack.pushScope(newContext);
-			return reduce_prePostIncDecExpr(iNode, field, false, true);
-		} finally {
-			contextStack.popScope();
-		}
-	}
-
-	public Object reduce_preIncNameExpr(IASNode iNode, Object unary,
-			boolean need_result) {
-		return reduce_prePostIncDecExpr(iNode, unary, false, true);
-	}
-
-	public Object reduce_prePostIncDecExpr(IASNode iNode, Object unary,
-			boolean isPostFix, boolean isIncrement) {
-		try {
-			DebuggerValue expr = (DebuggerValue) unary;
-			Context debuggerContext = contextStack.scope();
-			String memberName = ECMA.toString(debuggerContext.getSession(),
-					debuggerContext.toValue(expr.debuggerValue));
-
-			Object lookupResult = debuggerContext.lookup(memberName);
-
-			double before = ECMA.toNumber(debuggerContext.getSession(),
-					debuggerContext.toValue(lookupResult));
-			double after;
-			if (isIncrement) {
-				after = before + 1;
-			} else {
-				after = before - 1;
-			}
-			debuggerContext.assign(memberName,
-					debuggerContext.toValue(new Double(after)));
-
-			Object result;
-			if (isPostFix) {
-				result = new Double(before);
-			} else {
-				result = new Double(after);
-			}
-
-			return new DebuggerValue(result);
-		} catch (NoSuchVariableException e) {
-			throw new ExpressionEvaluatorException(e);
-		} catch (PlayerFaultException e) {
-			throw new ExpressionEvaluatorException(e);
-		}
-	}
-
-	public Object reduce_regexLiteral(IASNode iNode) {
-		if (iNode instanceof RegExpLiteralNode) {
-			RegExpLiteralNode rgXNode = (RegExpLiteralNode) iNode;
-			String val = rgXNode.getValue(true);
-			String flags;
-			String re;
-			if (val.length() > 0 && val.charAt(0) == '/') {
-				int lastSlash = val.lastIndexOf('/');
-				re = val.substring(1, lastSlash);
-				flags = val.substring(lastSlash + 1);
-			} else {
-				re = val;
-				flags = ""; //$NON-NLS-1$
-			}
-			Context eeContext = contextStack.scope();
-			try {
-				return new DebuggerValue(callFunction(eeContext, true,
-						"RegExp", new Object[] { re, flags })); //$NON-NLS-1$
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		}
-		throw new ExpressionEvaluatorException("Unable to resolve regex");
-	}
-
-	public Object reduce_runtimeNameExpression(IASNode iNode, Object expr) {
-		return expr;
-	}
-
-	/**
-	 * Reduce an identifier node This just returns the name of the name
-	 * currently.
-	 */
-	public Object reduce_simpleName(IASNode iNode) {
-		return new DebuggerValue(((IdentifierNode) iNode).getName());
-	}
-
-	public Object reduce_declName(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_strictneqExpr(IASNode iNode, Object l, Object r) {
-		Context eeContext = contextStack.scope();
-		DebuggerValue lhs = (DebuggerValue) l;
-		DebuggerValue rhs = (DebuggerValue) r;
-		// ECMA 11.9.5
-		return new DebuggerValue(new Boolean(!ECMA.strictEquals(
-				eeContext.toValue(lhs.debuggerValue),
-				eeContext.toValue(rhs.debuggerValue))));
-	}
-
-	public Object reduce_superAccess(IASNode iNode, Object qualified_name) {
-		throw new ExpressionEvaluatorException(keywordNotAllowed("super")); //$NON-NLS-1$
-	}
-
-	public Object reduce_ternaryExpr(IASNode iNode, Object test,
-			Object when_true, Object when_false) {
-		DebuggerValue condition = (DebuggerValue) test;
-		Context eeContext = contextStack.scope();
-		boolean b = ECMA.toBoolean(eeContext.toValue(condition.debuggerValue));
-		if (b) {
-			return when_true;
-		} else {
-			return when_false;
-		}
-	}
-
-	public Object reduce_typedVariableExpression(IASNode iNode,
-			Object var_name, Object var_type) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	// transform_name_to_expression
-	public Object reduce_typeof_expr(IASNode iNode, Object operand) {
-		// ECMA 11.4.3
-		Context eeContext = contextStack.scope();
-		DebuggerValue arg = (DebuggerValue) operand;
-		flash.tools.debugger.Value value = eeContext.toValue(arg.debuggerValue);
-		switch (value.getType()) {
-		case VariableType.UNDEFINED:
-			return new DebuggerValue("undefined"); //$NON-NLS-1$
-		case VariableType.NULL:
-			return new DebuggerValue("object"); //$NON-NLS-1$
-		case VariableType.BOOLEAN:
-			return new DebuggerValue("boolean"); //$NON-NLS-1$
-		case VariableType.NUMBER:
-			return new DebuggerValue("number"); //$NON-NLS-1$
-		case VariableType.STRING:
-			return new DebuggerValue("string"); //$NON-NLS-1$
-		case VariableType.OBJECT: {
-			String typeName = value.getTypeName();
-			int at = typeName.indexOf('@');
-			if (at != -1)
-				typeName = typeName.substring(0, at);
-			if (typeName.equals("XML") || typeName.equals("XMLList")) //$NON-NLS-1$ //$NON-NLS-2$
-				return new DebuggerValue("xml"); //$NON-NLS-1$
-		}
-		default:
-			return new DebuggerValue("object"); //$NON-NLS-1$
-		}
-	}
-
-	public Object reduce_typeof_name(IASNode iNode, Object object) {
-		Object exprObject = transform_name_to_expression(iNode, object);
-		return reduce_typeof_expr(iNode, exprObject);
-	}
-
-	public Object reduce_typeNameParameterAsType(IASNode iNode,
-			Object type_param) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_vectorLiteral(IASNode iNode, Object type_param,
-			Vector<Object> elements) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_voidExpr_to_type_name(IASNode node) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_void0Literal_to_constant_value(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_void0Literal_to_object_literal(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_void0Operator(IASNode iNode) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_voidOperator_to_constant_value(IASNode iNode,
-			Object constant_value) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object reduce_voidOperator_to_expression(IASNode iNode, Object expr) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	/**
-	 * The enumeration of states that the code generator finds interesting in an
-	 * XML literal. There are states here than the reducer, below, doesn't
-	 * consider especially interesting; see computeXMLContentStateMatrix() for
-	 * their usage.
-	 */
-	@SuppressWarnings("unused")
-	private enum XMLContentState {
-	};
-
-	public Object reduce_XMLContent(IASNode iNode, Vector<Object> exprs) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_XMLList(IASNode iNode, Vector<Object> exprs) {
-		Object result = null;
-		return result;
-	}
-
-	public Object reduce_XMLListConst(IASNode iNode, Vector<String> elements) {
-		Object result = null;
-		return result;
-	}
-
-	/*
-	 * ******************************
-	 * ** Transformation routines ** ******************************
-	 */
-
-	public Object transform_boolean_constant(IASNode iNode,
-			Boolean boolean_constant) {
-		Object result = new DebuggerValue(boolean_constant);
-		return result;
-	}
-
-	public Object transform_double_constant(IASNode iNode,
-			Double double_constant) {
-		Object result = new DebuggerValue(double_constant);
-		return result;
-	}
-
-	public Object transform_numeric_constant(IASNode iNode,
-			Number numeric_constant) {
-		Object result = new DebuggerValue(numeric_constant);
-		;
-		return result;
-	}
-
-	/**
-	 * Transform any constant_value into an expression, so we can constant fold
-	 * all sorts of expressions.
-	 * 
-	 * @param iNode
-	 *            the node that generated the constant_value
-	 * @param constant_value
-	 *            the constant value
-	 * @return an Object that contains instructions to push the constant_value
-	 *         onto the stack.
-	 */
-	public Object transform_constant_value(IASNode iNode, Object constant_value) {
-		return constant_value;
-	}
-
-	public Object transform_float_constant(IASNode iNode, Float float_constant) {
-		Object result = new DebuggerValue(float_constant);
-		return result;
-	}
-
-	/**
-	 * transform a string_constant to a constant_value - essentially a no-op,
-	 * but need a reduction so we can assign it a cost
-	 */
-	public Object transform_string_constant_to_constant(IASNode iNode,
-			String string_constant) {
-		return string_constant;
-	}
-
-	/**
-	 * transform a boolean_constant to a constant_value - essentially a no-op,
-	 * but need a reduction so we can assign it a cost
-	 */
-	public Object transform_boolean_constant_to_constant(IASNode iNode,
-			Boolean boolean_constant) {
-		return boolean_constant;
-	}
-
-	/**
-	 * transform a numeric_constant to a constant_value - essentially a no-op,
-	 * but need a reduction so we can assign it a cost
-	 */
-	public Object transform_numeric_constant_to_constant(IASNode iNode,
-			Number numeric_constant) {
-		if (numeric_constant instanceof Float) {
-			return new DebuggerValue(new Double((Float) numeric_constant));
-		} else {
-			return new DebuggerValue(new Double((Double) numeric_constant));
-		}
-
-	}
-
-	public Object transform_expression_to_constant_value(IASNode iNode,
-			Object expression) {
-		// return null - something higher up will report any appropriate
-		// diagnostics.
-		return null;
-	}
-
-	public Object transform_integer_constant(IASNode iNode,
-			Integer integer_constant) {
-		DebuggerValue result = new DebuggerValue(new Double(integer_constant));
-		return result;
-	}
-
-	public Object transform_name_to_constant_value(IASNode iNode) {
-		Object result = null;
-		return result;
-	}
-
-	/**
-	 * Transform a name into an expression. In the Code generator this generates
-	 * code to get the name and put it on the stack, but for the debugger we
-	 * probably just want to return the name.
-	 */
-	public Object transform_name_to_expression(IASNode iNode, Object name) {
-
-		// ASC REFER : public Value evaluate(macromedia.asc.util.Context cx,
-		// GetExpressionNode node)
-		DebuggerValue identifier = (DebuggerValue) name;
-		Context eeContext = contextStack.scope();
-		String nameStr = ECMA.toString(eeContext.getSession(),
-				eeContext.toValue(identifier.debuggerValue));
-		flash.tools.debugger.Value contextValue = eeContext.toValue();
-		/**
-		 * When contextValue is XMLList and a child node has been accessed, the
-		 * context used to resolve variables within [] operator will be a
-		 * FlashValueContext while rhs.debuggerValue will be a
-		 * FlexLocalVariable. The fix for FB-25660 makes sure
-		 * FlashValueContext.toValue(o) checks this case and returns
-		 * getFlashVariable().getValue(). We still need to check if this Value
-		 * is of type Number so that the if check below behaves correctly.
-		 */
-		if (contextValue != null && isXMLType(contextValue)
-				&& !isNumericIndex(iNode, identifier.debuggerValue, eeContext)) {
-			String function;
-			Object arg;
-
-			if (nameStr.length() > 0 && nameStr.charAt(0) == '@') {
-				// expression is node.@attr, so we call node.attribute("attr")
-				function = "attribute"; //$NON-NLS-1$
-				arg = nameStr.substring(1);
-			} else {
-				arg = identifier.debuggerValue;
-				boolean isDecendentsOpr = (iNode.getNodeID() == ASTNodeID.Op_DescendantsID);
-				if (isDecendentsOpr) {// node.getMode() ==
-										// Tokens.DOUBLEDOT_TOKEN) {
-					// expression is node..tag, so we call
-					// node.descendants("tag")
-					function = "descendants"; //$NON-NLS-1$
-				} else {
-					// expression is node.tag, so we call node.child("tag")
-					function = "child"; //$NON-NLS-1$
-				}
-			}
-
-			try {
-				return new DebuggerValue(callFunction(eeContext, false,
-						function, new Object[] { arg }));
-			} catch (PlayerDebugException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-		} else if (contextValue != null
-				&& contextValue.getType() == VariableType.STRING
-				&& ((DebuggerValue) name).debuggerValue.equals("length")) //$NON-NLS-1$
-		{
-			String valuestr = contextValue.getValueAsString();
-			return new DebuggerValue(new Double(valuestr.length()));
-		} else {
-			Object lookupResult;
-			try {
-				lookupResult = eeContext.lookup(ECMA.toString(
-						eeContext.getSession(),
-						eeContext.toValue(identifier.debuggerValue)));
-			} catch (NoSuchVariableException e) {
-				throw new ExpressionEvaluatorException(e);
-			} catch (PlayerFaultException e) {
-				throw new ExpressionEvaluatorException(e);
-			}
-			return new DebuggerValue(lookupResult);
-		}
-	}
-
-	public Object transform_non_resolving_identifier(IASNode iNode,
-			String non_resolving_identifier) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object transform_runtime_name_expression(IASNode iNode,
-			Object runtime_name_expression) {
-		throw new ExpressionEvaluatorException(ASTBuilder
-				.getLocalizationManager().getLocalizedTextString(
-						"unsupportedExpression")); //$NON-NLS-1$
-	}
-
-	public Object transform_string_constant(IASNode iNode,
-			String string_constant) {
-		return new DebuggerValue(string_constant);
-	}
-
-	public Object transform_uint_constant(IASNode iNode, Long uint_constant) {
-		Object result = new DebuggerValue(uint_constant);
-		return result;
-	}
-
-	/**
-	 * Generate a unary operator.
-	 * 
-	 * @param operand
-	 *            - the operand expression.
-	 * @param opcode
-	 *            - the operator's opcode.
-	 * @return an Object that applies the operator to the operand.
-	 */
-	Object unaryOp(IASNode iNode, Object operand, int opcode) {
-		// REFER ASC public Value evaluate(macromedia.asc.util.Context cx,
-		// UnaryExpressionNode node)
-		DebuggerValue arg = (DebuggerValue) operand;
-		Context eeContext = contextStack.scope();
-		switch (opcode) {
-		case ABCConstants.OP_returnvoid:
-			// ECMA 11.4.2
-			eeContext.toValue(arg.debuggerValue);
-			return new DebuggerValue(flash.tools.debugger.Value.UNDEFINED);
-		case ABCConstants.OP_typeof: {
-			return reduce_typeof_expr(iNode, operand);
-		}
-		case ABCConstants.OP_convert_d:
-		case ABCConstants.OP_unplus: {
-			// ECMA 11.4.6
-			return new DebuggerValue(new Double(ECMA.toNumber(
-					eeContext.getSession(),
-					eeContext.toValue(arg.debuggerValue))));
-		}
-		case ABCConstants.OP_negate: {
-			// ECMA 11.4.7
-			return new DebuggerValue(new Double(-ECMA.toNumber(
-					eeContext.getSession(),
-					eeContext.toValue(arg.debuggerValue))));
-		}
-		case ABCConstants.OP_bitnot: {
-			// ECMA 11.4.8
-			return new DebuggerValue(new Double(~ECMA.toInt32(
-					eeContext.getSession(),
-					eeContext.toValue(arg.debuggerValue))));
-		}
-		case ABCConstants.OP_not: {
-			// ECMA 11.4.9
-			return new DebuggerValue(new Boolean(!ECMA.toBoolean(eeContext
-					.toValue(arg.debuggerValue))));
-		}
-		default:
-			throw new UnsupportedOperationException();
-		}
-	}
-
-	Object errorPackageName(IASNode iNode, String qualifiers, String base_name) {
-		return null;
-	}
-
-	// myxml[3] or myxml["3"] is handled differently from myxml["childtag"].
-	// This function takes the part in the brackets, and returns true if it
-	// is a number or a string that can be converted to a number.
-	private boolean isNumericIndex(IASNode node, Object index, Context context) {
-		// if (node.getMode() != Tokens.LEFTBRACKET_TOKEN)
-		if (node.getNodeID() != ASTNodeID.ArrayIndexExpressionID)
-			return false; // it is node.member or node..member or whatever, but
-							// not node[member]
-
-		if (index instanceof Double) {
-			return true; // it is node[number]
-		} else if (index instanceof String) {
-			String s = (String) index;
-
-			if (s.length() == 0) {
-				return false;
-			} else {
-				try {
-					Double.parseDouble(s);
-					return true; // it is node["number"]
-				} catch (NumberFormatException e) {
-					return false;
-				}
-			}
-		} else if (context != null && index != null) {
-			// Resolve the Value to see if it is a Number
-			flash.tools.debugger.Value value = context.toValue(index);
-			if (value != null && value.getType() == VariableType.NUMBER) {
-				return true;
-			}
-			return false;
-		} else {
-			return false;
-		}
-	}
-
-	private boolean isXMLType(flash.tools.debugger.Value value) {
-		String typename = value.getTypeName();
-		int at = typename.indexOf('@');
-		if (at != -1)
-			typename = typename.substring(0, at);
-		return typename.equals("XML") || typename.equals("XMLList"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private String keywordNotAllowed(String keyword) {
-		Map<String, String> parameters = new HashMap<String, String>();
-		parameters.put("keyword", keyword); //$NON-NLS-1$
-		return ASTBuilder.getLocalizationManager().getLocalizedTextString(
-				"keywordNotAllowed", parameters); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param expressionNode
-	 * @param expression
-	 * @return
-	 */
-	public Object reduceLazyExpression(final IASNode expressionNode) {
-
-		UnEvaluatedDebugExpression delayedEvaluator = new UnEvaluatedDebugExpression() {
-
-			@Override
-			public DebuggerValue evaluate(Context eeContext) {
-				try {
-					IExpressionEvaluator evalutor = new DebuggerExpressionEvaluator(
-							project);
-
-					return evalutor.evaluate(eeContext, expressionNode);
-				} catch (Exception e) {
-					throw new ExpressionEvaluatorException(e);
-				}
-			}
-		};
-
-		return delayedEvaluator;
-	}
-
-	private static abstract class UnEvaluatedDebugExpression {
-
-		public abstract DebuggerValue evaluate(Context eeContext);
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerRules.jbg b/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerRules.jbg
deleted file mode 100644
index 65e0622..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/AS3DebuggerRules.jbg
+++ /dev/null
@@ -1,734 +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.
-
-*/
-Pattern foldedExpressionPattern
-FoldedExpressionID(void);
- 
-foldedExpression = Pattern foldedExpressionPattern: 1
-JBurg.Reduction reducer.reduceLazyExpression(__p);
-
-Pattern logicalAndExprLazy
-Op_LogicalAndID(expression l, foldedExpression r);
-
-Pattern logicalOrExprLazy
-Op_LogicalOrID(expression l, foldedExpression r);
-
-/*
- *  AS3DebuggerRules.jbg holds the rewrite rules for debugger support.
- *  @see AS3Patterns.jbg, which holds the corresponding patterns.
- */
-
-/*
- *  Assignment to a simple name.
- */
-expression = Pattern assignToNameExpr: 2
-JBurg.Reduction reducer.reduce_assignToNameExpr_to_expression(__p, lval,r);
-
-/*
- *  Assignment to a more general lvalue.
- */
-expression = Pattern assignToMemberExpr : 10
-JBurg.Reduction reducer.reduce_assignToMemberExpr_to_expression(__p, stem, member, r);
-
-/*
- *  Assignment to a[i] type lvalue.
- */
-expression = Pattern assignToBracketExpr: 1
-JBurg.Reduction reducer.reduce_assignToBracketExpr_to_expression(__p, stem, index, r, false);
-
-expression = Pattern assignToSuperBracketExpr: 1
-JBurg.Reduction reducer.reduce_assignToBracketExpr_to_expression(__p, null, index, r, true);
-
-/*
- *  Assignment to qualified names and attributes.
- */
-expression = Pattern assignToQualifiedMemberExpr : 1
-JBurg.Reduction reducer.reduce_assignToQualifiedMemberExpr(__p, stem, qualifier, member, r, NEED_VALUE);
-
-expression = Pattern assignToQualifiedRuntimeMemberExpr : 1
-JBurg.Reduction reducer.reduce_assignToQualifiedRuntimeMemberExpr(__p, stem, qualifier, member, r, NEED_VALUE);
-
-expression = Pattern assignToQualifiedAttributeExpr : 1
-JBurg.Reduction reducer.reduce_assignToQualifiedAttributeExpr(__p, stem, qualifier, attribute, r, NEED_VALUE);
-
-expression = Pattern assignToUnqualifiedRuntimeAttributeExpr : 1
-JBurg.Reduction reducer.reduce_assignToUnqualifiedRuntimeAttributeExpr(__p, stem, rt_attr_name, r, NEED_VALUE);
-
-expression = Pattern assignToUnqualifiedRuntimeDescendantsAttributeExpr : 1
-JBurg.Reduction reducer.reduce_assignToUnqualifiedRuntimeAttributeExpr(__p, stem, rt_attr_name, r, NEED_VALUE);
-
-/*
- *  Assignment to descendants.
- */
-expression = Pattern assignToDescendantsExpr : 1
-JBurg.Reduction reducer.reduce_assignToDescendantsExpr(__p, stem, member, r, NEED_VALUE);
-
-/*
- *  Error trap for diagnosing parser/CG mismatches.
- *  The cost is unfeasibly high for a normal reduction,
- *  so this will only be chosen if no other reduction works.
- */
-expression = Op_AssignId(expression non_lvalue, expression rvalue ) : ERROR_TRAP
-JBurg.Reduction reducer.error_reduce_Op_AssignId(__p, non_lvalue, rvalue);
-
-/*
- *  Miscellaneous void expressions.
- */
-expression = Pattern nilExpr : 1
-JBurg.Reduction reducer.reduce_nilExpr_to_expression(__p);
-
-/*
- *  Binary logical operators.
- */
-comparison_expression = Pattern equalExpr : 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_equals);
-
-comparison_expression = Pattern neqExpr : 1
-JBurg.Reduction reducer.reduce_neqExpr (__p, l, r);
-
-comparison_expression = Pattern stricteqExpr : 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_strictequals);
-
-comparison_expression = Pattern strictneqExpr : 1
-JBurg.Reduction reducer.reduce_strictneqExpr (__p, l, r);
-
-comparison_expression = Pattern greaterThanExpr: 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_greaterthan);
-
-comparison_expression = Pattern greaterThanEqExpr: 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_greaterequals);
-
-comparison_expression = Pattern lessExpr : 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_lessthan);
-
-comparison_expression = Pattern lessEqExpr : 1
-JBurg.Reduction reducer.binaryOp (__p, l, r, OP_lessequals);
-
-//  Closure rule: any comparison_expression
-//  is also an expression without further conversion.
-expression = comparison_expression;
-
-expression = Pattern logicalAndExprLazy : 5
-JBurg.Reduction reducer.reduce_logicalAndExpr (__p, l, r);
-
-expression = Pattern logicalOrExprLazy : 5
-JBurg.Reduction reducer.reduce_logicalOrExpr (__p, l, r);
-
-expression = Pattern logicalNotExpr : 1
-JBurg.Reduction reducer.reduce_logicalNotExpr (__p, expr);
-
-expression = Pattern ternaryExpr : 1
-JBurg.Reduction reducer.reduce_ternaryExpr (__p, test, when_true, when_false);
-
-/*
- *  Binary arithmetic operators.
- */
-
-expression = Pattern divideExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_divide);
-
-expression = Pattern multExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_multiply);
-
-expression = Pattern moduloExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_modulo);
-
-expression = Pattern addExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_add);
-
-expression = Pattern subtractExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_subtract);
-
-expression = Pattern bitwiseLeftShiftExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_lshift);
-
-expression = Pattern bitwiseRightShiftExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_rshift);
-
-expression = Pattern bitwiseUnsignedRightShiftExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_urshift);
-
-expression = Pattern bitwiseAndExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_bitand);
-
-expression = Pattern bitwiseOrExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_bitor);
-
-expression = Pattern bitwiseXorExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, l, r, OP_bitxor);
-
-/*
- *  pre/postfix unary operators.
- */
-
-expression = Pattern postIncNameExpr : 7
-JBurg.Reduction reducer.reduce_postIncNameExpr(__p, unary, true);
-
-expression = Pattern preIncNameExpr : 7
-JBurg.Reduction reducer.reduce_preIncNameExpr(__p, unary, true);
-
-expression = Pattern preIncMemberExpr : 8
-JBurg.Reduction reducer.reduce_preIncMemberExpr(__p, stem, field, true);
-
-expression = Pattern postIncMemberExpr: 8
-JBurg.Reduction reducer.reduce_postIncMemberExpr(__p, stem, field, true);
-
-expression = Pattern preIncBracketExpr: 8
-JBurg.Reduction reducer.reduce_preIncBracketExpr(__p, stem, index, true);
-
-expression = Pattern postIncBracketExpr: 8
-JBurg.Reduction reducer.reduce_postIncBracketExpr(__p, stem, index, true);
-
-expression = Pattern postDecNameExpr : 7
-JBurg.Reduction reducer.reduce_postDecNameExpr(__p, unary, true);
-
-expression = Pattern preDecNameExpr : 7
-JBurg.Reduction reducer.reduce_preDecNameExpr(__p, unary, true);
-
-expression = Pattern preDecMemberExpr : 8
-JBurg.Reduction reducer.reduce_preDecMemberExpr(__p, stem, field, true);
-
-expression = Pattern postDecMemberExpr: 8
-JBurg.Reduction reducer.reduce_postDecMemberExpr(__p, stem, field, true);
-
-expression = Pattern preDecBracketExpr: 8
-JBurg.Reduction reducer.reduce_preDecBracketExpr(__p, stem, index, true);
-
-expression = Pattern postDecBracketExpr: 8
-JBurg.Reduction reducer.reduce_postDecBracketExpr(__p, stem, index, true);
-
-/*
- *  Unary expressions.
- */
-expression = Pattern unaryMinusExpr: 1
-JBurg.Reduction reducer.unaryOp(__p, e, OP_negate);
-
-expression = Pattern unaryPlusExpr: 0
-{
-    return reducer.unaryOp(__p, e, OP_convert_d);
-}
-
-expression = Pattern typeofExpr: 10
-JBurg.Reduction reducer.reduce_typeof_expr(__p, expr);
-
-expression = Pattern typeofName: 1
-JBurg.Reduction reducer.reduce_typeof_name(__p, n);
-
-expression = Pattern bitNotExpr: 1
-JBurg.Reduction reducer.unaryOp(__p, unary, OP_bitnot);
-
-/*
- *  Miscellaneous binary expressions.
- */
-expression = Pattern istypeExprLate : 1
-JBurg.Reduction reducer.binaryOp(__p, expr, typename, OP_istypelate);
-
-expression = Pattern astypeExprLate : 1
-JBurg.Reduction reducer.binaryOp(__p, expr, typename, OP_astypelate);
-
-expression = Pattern inExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, needle, haystack, OP_in);
-
-expression = Pattern instanceofExpr : 1
-JBurg.Reduction reducer.binaryOp(__p, expr, typename, OP_instanceof);
-
-// lhs += rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_add" \
-    compoundAssignToName="assignPlusToNameExpr" \
-    compoundAssignToMember="assignPlusToMemberExpr" \
-    compoundAssignToBracket="assignPlusToBracketExpr"
-
-// lhs *= rhs    
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_multiply" \
-    compoundAssignToName="assignMultiplyToNameExpr" \
-    compoundAssignToMember="assignMultiplyToMemberExpr" \
-    compoundAssignToBracket="assignMultiplyToBracketExpr"
-
-// lhs -= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_subtract" \
-    compoundAssignToName="assignMinusToNameExpr" \
-    compoundAssignToMember="assignMinusToMemberExpr" \
-    compoundAssignToBracket="assignMinusToBracketExpr"
-
-// lhs /= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_divide" \
-    compoundAssignToName="assignDivideToNameExpr" \
-    compoundAssignToMember="assignDivideToMemberExpr" \
-    compoundAssignToBracket="assignDivideToBracketExpr"
-
-// lhs %= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_modulo" \
-    compoundAssignToName="assignModuloToNameExpr" \
-    compoundAssignToMember="assignModuloToMemberExpr" \
-    compoundAssignToBracket="assignModuloToBracketExpr"
-
-// lhs <<= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_lshift" \
-    compoundAssignToName="assignLeftShiftToNameExpr" \
-    compoundAssignToMember="assignLeftShiftToMemberExpr" \
-    compoundAssignToBracket="assignLeftShiftToBracketExpr"
-
-// lhs <<= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_rshift" \
-    compoundAssignToName="assignRightShiftToNameExpr" \
-    compoundAssignToMember="assignRightShiftToMemberExpr" \
-    compoundAssignToBracket="assignRightShiftToBracketExpr"
-
-// lhs >>>= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_urshift" \
-    compoundAssignToName="assignUnsignedRightShiftToNameExpr" \
-    compoundAssignToMember="assignUnsignedRightShiftToMemberExpr" \
-    compoundAssignToBracket="assignUnsignedRightShiftToBracketExpr"
-
-// lhs &= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_bitand" \
-    compoundAssignToName="assignBitwiseAndToNameExpr" \
-    compoundAssignToMember="assignBitwiseAndToMemberExpr" \
-    compoundAssignToBracket="assignBitwiseAndToBracketExpr"
-  
-// lhs |= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_bitor" \
-    compoundAssignToName="assignBitwiseOrToNameExpr" \
-    compoundAssignToMember="assignBitwiseOrToMemberExpr" \
-    compoundAssignToBracket="assignBitwiseOrToBracketExpr"
-    
-// lhs ^= rhs
-JBurg.include "AS3DebuggerCompoundAssignmentRules.jbg" \
-    Op_COMPOUND_ASSIGN="OP_bitxor" \
-    compoundAssignToName="assignBitwiseXorToNameExpr" \
-    compoundAssignToMember="assignBitwiseXorToMemberExpr" \
-    compoundAssignToBracket="assignBitwiseXorToBracketExpr"
-    
-/*
- *  Primary expressions.
- */
-expression = Pattern memberAccessExpr : 10
-JBurg.Reduction reducer.reduce_memberAccessExpr (__p, stem, member, OP_getproperty);
-
-expression = Pattern  qualifiedMemberAccessExpr : 10
-JBurg.Reduction reducer.reduce_qualifiedMemberAccessExpr(__p, stem, qualifier, member, OP_getproperty);
-
-expression = Pattern  qualifiedDescendantsExpr : 10
-JBurg.Reduction reducer.reduce_qualifiedMemberAccessExpr(__p, stem, qualifier, member, OP_getdescendants);
-
-expression = Pattern qualifiedDescendantsRuntimeExpr : 1
-JBurg.Reduction reducer.reduce_qualifiedAttributeRuntimeMemberExpr(__p, stem, qualifier, runtime_member, OP_getdescendants);
-
-expression = Pattern qualifiedAttributeExpr : 1
-JBurg.Reduction reducer.reduce_qualifiedAttributeExpr(__p, stem, qualifier, member, OP_getproperty);
-
-expression = Pattern qualifiedDescendantsAttributeExpr : 1
-JBurg.Reduction reducer.reduce_qualifiedAttributeExpr(__p, stem, qualifier, member, OP_getdescendants);
-
-expression = Pattern qualifiedAttributeRuntimeMemberExpr : 1
-JBurg.Reduction reducer.reduce_qualifiedAttributeRuntimeMemberExpr(__p, stem, qualifier, runtime_member, OP_getproperty);
-
-expression = Pattern qualifiedDescendantsRuntimeMemberExpr : 1
-JBurg.Reduction reducer.reduce_qualifiedAttributeRuntimeMemberExpr(__p, stem, qualifier, runtime_member, OP_getdescendants);
-
-//  Prefer the basic memberAccessExpr pattern where feasible.
-expression = Pattern qualifiedMemberRuntimeNameExpr : 100
-JBurg.Reduction reducer.reduce_qualifiedMemberRuntimeNameExpr(__p, stem, qualifier, runtime_member);
-
-expression = Pattern unqualifiedAttributeExpr : 1
-JBurg.Reduction reducer.reduce_unqualifiedAttributeExpr(__p, stem, expr, OP_getproperty);
-
-expression = Pattern unqualifiedDescendantsAttributeExpr : 1
-JBurg.Reduction reducer.reduce_unqualifiedAttributeExpr(__p, stem, expr, OP_getdescendants);
-
-expression = Pattern runtimeAttributeExp : 1
-JBurg.Reduction reducer.reduce_runtimeAttributeExp(__p, expr);
-
-expression = Pattern arrayIndexExpr : 1
-JBurg.Reduction reducer.reduce_arrayIndexExpr (__p, stem, false, index);
-
-expression = Pattern superIndexExpr : 1
-JBurg.Reduction reducer.reduce_arrayIndexExpr (__p, null, true, index);
-
-expression = Pattern functionCallExpr : 3  // Cost artificially inflated
-JBurg.Reduction reducer.reduce_functionCallExpr_to_expression (__p, method_name, args);
-
-expression = Pattern newVectorLiteral: 0
-JBurg.Reduction reducer.reduce_newVectorLiteral(__p, literal);
-
-//  'new Whatever(...)' has cost 2, so it gets beaten by the two previous rules.
-//  Use this reduction if the type is known;
-//  it allows much better error checking of the constructor call.
-expression = Pattern newExpr : 2
-JBurg.Reduction reducer.reduce_newExpr (__p, class_binding, args);
-
-expression = Pattern newMemberProperty: 10
-JBurg.Reduction reducer.reduce_newMemberProperty(__p, stem, member, args);
-
-expression = Pattern newAsRandomExpr : 30
-JBurg.Reduction reducer.reduce_newAsRandomExpr (__p, random_expr, args);
-
-expression = Pattern functionCallOfSuperclassMethod : 2
-JBurg.Reduction reducer.reduce_functionCallOfSuperclassMethod_to_expression (__p, null, method_name, args);
-
-expression = Pattern functionCallOfExplicitObjectSuperclassMethod : 2
-JBurg.Reduction reducer.reduce_functionCallOfSuperclassMethod_to_expression (__p, stem, method_name, args);
-
-expression = Pattern functionAsMemberExpr : 4  //  Cost inflated to prefer functionCallOfSuperclassMethod
-JBurg.Reduction reducer.reduce_functionAsMemberExpr (__p, stem, method_name, args);
-
-expression = Pattern functionAsBracketExpr : 4
-JBurg.Reduction reducer.reduce_functionAsBracketExpr (__p, stem, index, args);
-
-expression = Pattern functionAsRandomExpr : 30
-JBurg.Reduction reducer.reduce_functionAsRandomExpr (__p, random_expr, args);
-
-/*
- *  Delete expressions.
- */
-expression = Pattern deleteNameExpr: 2
-JBurg.Reduction reducer.reduce_deleteNameExpr(__p, n);
-
-expression = Pattern deleteBracketExpr: 1
-JBurg.Reduction reducer.reduce_deleteBracketExpr(__p, stem, index);
-
-expression = Pattern deleteAtBracketExpr: 1
-JBurg.Reduction reducer.reduce_deleteAtBracketExpr(__p, stem, index);
-
-expression = Pattern deleteMemberExpr: 1
-JBurg.Reduction reducer.reduce_deleteMemberExpr(__p, stem, field);
-
-expression = Pattern deleteRuntimeNameExpr: 1
-JBurg.Reduction reducer.reduce_deleteRuntimeNameExpr(__p, stem, rt_name);
-
-expression = Pattern deleteDescendantsExpr: 1
-JBurg.Reduction reducer.reduce_deleteDescendantsExpr(__p, stem, field);
-
-expression = Pattern deleteAnyExprExprExpr: 2000
-JBurg.Reduction reducer.reduce_deleteExprExprExpr(__p, expr);
-
-/*
- *  Comma expression.
- */
-expression = Pattern commaExpr: 0
-JBurg.Reduction reducer.reduce_commaExpr(__p, payload_expr, exprs);
-
-/*
- *  Names and reference expressions built from names.
- */
-name = Pattern simpleName : 0
-JBurg.Reduction reducer.reduce_simpleName (__p);
-
-qualifiedNamePart = Pattern simpleName: 0
-JBurg.Reduction reducer.getIdentifierContent(__p);
-
-name = Pattern typedVariableExpression : 0
-JBurg.Reduction reducer.reduce_typedVariableExpression (__p, var_name, var_type);
-
-dottedNamePart = Pattern dottedName : 0
-JBurg.Reduction reducer.reduce_by_concatenation (__p, first, second);
-
-dottedNamePart = qualifiedNamePart;
-
-name = Pattern dottedName : isDottedName()
-JBurg.Reduction reducer.dottedName (__p, first, second);
-
-name = Pattern dottedName : isPackageName()
-JBurg.Reduction reducer.errorPackageName(__p, first, second);
-
-//  This reduction handles an entire dotted name subtree.
-name = Pattern fullName : 0
-JBurg.Reduction reducer.dottedName(__p, first, second);
-
-//  qualified namespace is the same as a full name,
-//  it's just what gets produced when we're in a use namespace directive
-//     use namespace a.b.Foo;
-name = Pattern qualifiedNamespaceName : 0
-JBurg.Reduction reducer.dottedName(__p, first, second);
-
-//  This reduction handles the bar.T part of foo.bar.T
-dottedNamePart = Pattern fullName : 0
-JBurg.Reduction reducer.reduce_by_concatenation (__p, first, second);
-
-name = Pattern superAccess : 0
-JBurg.Reduction reducer.reduce_superAccess (__p, qualified_name);
-
-//  A bare parameterized type name can only be
-//  used as a type annotation.  In code it's necessary
-//  to expand it into an expression that calls applytype.
-//  Note: this reduction gets an error-trapping cost if
-//  the parameter type is not constant; this forces
-//  expression-oriented reductions to try and reduce
-//  the type parameter as an expression.
-type_name = Pattern parameterizedName : parameterTypeIsConstant()
-JBurg.Reduction reducer.reduce_parameterizedTypeName (__p, base, param);
-
-//  A name can be a type_name, which in combination with
-//  the reduction above yields the set of possible type_names:
-//  identifiers and *
-type_name = name : 1
-JBurg.Reduction reducer.reduce_nameToTypeName(name, true);
-
-//  The 'new' expression takes a pseduo-type name:
-//  when it can be resolved, the semantic analysis
-//  code can check the constructor.  When it can't
-//  be resolved, it's a generalized expression.
-new_type_name = name;
-
-//  Inflate this cost so it's only selected
-//  if the type_name isn't a name.
-new_type_name = type_name : 20
-JBurg.Reduction reducer.reduce_nameToTypeName(type_name, false);
-
-// The parameter of a parameterized type expression may be an expression
-// or a type name; if it resolves to a type, it's a type name.
-type_param_expression = name: isKnownType()
-JBurg.Reduction reducer.reduce_typeNameParameterAsType(__p, name);
-
-// any expression can be used as a type param name in an expression context.
-type_param_expression = expression;
-
-expression = Pattern parameterizedTypeExpression : 1
-JBurg.Reduction reducer.reduce_parameterizedTypeExpression (__p, base, param);
-
-expression = name: 2000
-JBurg.Reduction reducer.transform_name_to_expression(__p, name);
-
-type_name = Pattern voidExpr : 0
-JBurg.Reduction reducer.reduce_voidExpr_to_type_name(__p);
-
-name = Pattern attributeName : 0
-JBurg.Reduction reducer.reduce_attributeName (__p, attr_name);
-
-//  ns1::foo and rt_ns::foo look alike to
-//  the parser, so they must be disambiguated
-//  by checking their semantic annotations.
-name = Pattern namespaceAccess : qualifierIsCompileTimeConstant()
-JBurg.Reduction reducer.reduce_namespaceAccess (__p, qualifier, qualified_name);
-
-//  Error trap for an unresolved namespace in a context
-//  where it must be declared.
-name = Pattern namespaceAccess: ERROR_TRAP
-JBurg.Reduction reducer.error_namespaceAccess(__p, qualifier, qualified_name);
-
-//  A namespace-qualified name reference whose name
-//  is a runtime expression, e.g., ns1::[foo].
-//  The parser doesn't know the difference between
-//  ns1::[foo] and rt_ns::[foo], so we need a cost
-//  function to disambiguate the tree.
-runtime_name_expression = Pattern namespaceMultinameL: qualifierIsCompileTimeConstant()
-JBurg.Reduction reducer.reduce_namespaceMultinameL(__p, qualifier, expr);
-
-runtime_name_expression = Pattern namespaceRTQName : 2000
-JBurg.Reduction reducer.reduce_namespaceRTQName (__p, qualifier, qualfied_name);
-
-expression = Pattern embedExpression : 2
-JBurg.Reduction reducer.reduce_embed(__p);
-
-/*
- *  E4X expressions (except literals)
- */
-
-expression = Pattern e4xFilter : 3
-JBurg.Reduction reducer.reduce_e4xFilter (__p, stem, filter);
-
-runtime_name_expression = Pattern namespaceRTQNameL : 2000
-JBurg.Reduction reducer.reduce_namespaceRTQNameL (__p, qualifier, expr);
-
-expression = runtime_name_expression : 1
-JBurg.Reduction reducer.transform_runtime_name_expression(__p, runtime_name_expression);
-
-expression = Pattern runtimeNameExpression: 1
-JBurg.Reduction reducer.reduce_runtimeNameExpression(__p, expr);
-
-name = Pattern namespaceAsName: 1
-JBurg.Reduction reducer.reduce_namespaceAsName_to_name(__p);
-
-expression = Pattern namespaceAsName: 1
-JBurg.Reduction reducer.reduce_namespaceAsName_to_expression(__p);
-
-void_expression = Pattern assignToRuntimeNameExpr: 1
-JBurg.Reduction reducer.reduce_assignToRuntimeNameExpr(__p, lval, r, DISCARD_VALUE);
-
-expression = Pattern assignToRuntimeNameExpr: 1
-JBurg.Reduction reducer.reduce_assignToRuntimeNameExpr(__p, lval, r, NEED_VALUE);
-
-expression = Pattern descendantsExpression : 1
-JBurg.Reduction reducer.reduce_memberAccessExpr(__p, stem, descendants, OP_getdescendants);
-
-/*
- *  Literals.
- */
-e4x_literal = Pattern XMLLiteral : 0
-JBurg.Reduction reducer.getStringLiteralContent (__p);
-
-string_constant = e4x_literal;
-
-expression = Pattern XMLContent: 1
-JBurg.Reduction reducer.reduce_XMLContent(__p, exprs);
-
-expression = Pattern XMLList: 2
-JBurg.Reduction reducer.reduce_XMLList(__p, exprs);
-
-expression = Pattern XMLListConst: 1
-JBurg.Reduction reducer.reduce_XMLListConst(__p, elements);
-
-expression = literal;
-literal = object_literal;
-literal = boolean_literal;
-literal = array_literal;
-
-expression = string_constant : 1
-JBurg.Reduction reducer.transform_string_constant(__p, string_constant);
-
-integer_constant = Pattern numericLiteral: isIntLiteral()
-JBurg.Reduction reducer.getIntegerContent(__p);
-
-expression = integer_constant : 1
-JBurg.Reduction reducer.transform_integer_constant(__p, integer_constant);
-
-uint_constant = Pattern numericLiteral: isIntLiteral()
-JBurg.Reduction reducer.getUintContent(__p);
-
-expression = uint_constant : 1
-JBurg.Reduction reducer.transform_uint_constant(__p, uint_constant);
-
-expression = boolean_constant : 1
-JBurg.Reduction reducer.transform_boolean_constant(__p, boolean_constant);
-
-
-/**
- * Constant values
- */
-//  Error trap for non-constant expressions
-//  used in a context where only a constant is valid,
-//  e.g., foo() in function needsConstantInit(x = foo()).
-required_constant_value = expression : ERROR_TRAP
-JBurg.Reduction reducer.transform_expression_to_constant_value(__p, expression);
-
-//  A name can be used as a constant in some contexts,
-//  e.g., if it's a Namespace or otherwise known to be
-//  a compile-time constant.
-
-integer_constant = LiteralIntegerZeroID(void) : 1
-JBurg.Reduction reducer.getIntegerZeroContent(__p);
-
-uint_constant = LiteralIntegerZeroID(void) : 1
-JBurg.Reduction reducer.getIntegerZeroContentAsLong(__p);
-
-float_constant = Pattern numericLiteral : isFloatLiteral()
-JBurg.Reduction reducer.getFloatContent(__p);
-
-constant_value = Pattern nullLiteral : 0
-JBurg.Reduction reducer.reduce_nullLiteral_to_constant_value (__p);
-
-constant_value =  Pattern void0Literal: 0
-JBurg.Reduction reducer.reduce_void0Literal_to_constant_value(__p);
-
-constant_value =  Pattern voidConstant: 0
-JBurg.Reduction reducer.reduce_voidOperator_to_constant_value(__p, value);
-
-boolean_constant = Pattern booleanLiteral: 0
-JBurg.Reduction reducer.reduce_booleanLiteral(__p);
-
-string_constant = Pattern stringLiteral : 0
-JBurg.Reduction reducer.getStringLiteralContent (__p);
-
-numeric_constant = integer_constant;
-numeric_constant = uint_constant;
-numeric_constant = double_constant;
-numeric_constant = float_constant;
-
-
-constant_value = string_constant : 1
-JBurg.Reduction reducer.transform_string_constant_to_constant(__p, string_constant);
-
-constant_value = boolean_constant : 1
-JBurg.Reduction reducer.transform_boolean_constant_to_constant(__p, boolean_constant);
-
-constant_value = numeric_constant : 1
-JBurg.Reduction reducer.transform_numeric_constant_to_constant(__p, numeric_constant);
-
-required_constant_value = constant_value;
-
-double_constant =  Pattern numericLiteral : isDoubleLiteral()
-JBurg.Reduction reducer.getDoubleContent(__p);
-
-//  Fallback code-gen choice if conversion to
-//  double failed in LiteralNumberNode.getNodeID().
-//  It's not likely to work better here,
-//  but the BURM will emit some diagnostics.
-double_constant =  Pattern numericLiteral : 3
-JBurg.Reduction reducer.getDoubleContent(__p);
-
-expression = double_constant : 5
-JBurg.Reduction reducer.transform_double_constant(__p, double_constant);
-
-expression = numeric_constant : 5
-JBurg.Reduction reducer.transform_numeric_constant(__p, numeric_constant);
-
-expression = float_constant : 5
-JBurg.Reduction reducer.transform_float_constant(__p, float_constant);
-
-expression = constant_value : 0
-JBurg.Reduction reducer.transform_constant_value(__p, constant_value);
-
-object_literal = Pattern nullLiteral : 1
-JBurg.Reduction reducer.reduce_nullLiteral_to_object_literal (__p);
-
-object_literal = Pattern objectLiteral : 3
-JBurg.Reduction reducer.reduce_objectLiteral (__p, elements);
-
-object_literal_element = Pattern objectLiteralElement : 0
-JBurg.Reduction reducer.reduce_objectLiteralElement (__p, id, value);
-
-non_resolving_identifier = Pattern nonResolvingIdentifier : 0
-JBurg.Reduction reducer.getIdentifierContent(__p);
-
-expression = non_resolving_identifier : 1
-JBurg.Reduction reducer.transform_non_resolving_identifier(__p, non_resolving_identifier);
-
-object_literal = Pattern regexLiteral: 5
-JBurg.Reduction reducer.reduce_regexLiteral(__p);
-
-object_literal = Pattern void0Literal: 1
-JBurg.Reduction reducer.reduce_void0Literal_to_object_literal(__p);
-
-object_literal = Pattern void0Operator: 1
-JBurg.Reduction reducer.reduce_void0Operator(__p);
-
-expression = Pattern voidOperator : 1
-JBurg.Reduction reducer.reduce_voidOperator_to_expression (__p, expr);
-
-boolean_literal = boolean_constant: 1
-JBurg.Reduction reducer.transform_boolean_constant(__p, boolean_constant);
-
-array_literal = Pattern arrayLiteral : 1
-JBurg.Reduction reducer.reduce_arrayLiteral (__p, elements);
-
-vector_literal = Pattern vectorLiteral: 1
-JBurg.Reduction reducer.reduce_vectorLiteral(__p, type_param, elements);
-
-decl_name = Pattern simpleName : 0
-JBurg.Reduction reducer.reduce_declName(__p);
-
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/ASTBuilder.java b/modules/fdbworkers/src/flash/tools/debugger/expression/ASTBuilder.java
deleted file mode 100644
index 1b52772..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/ASTBuilder.java
+++ /dev/null
@@ -1,153 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.adobe.flash.compiler.problems.ICompilerProblem;
-import com.adobe.flash.compiler.tree.as.IASNode;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.DebuggerLocalizer;
-
-/**
- * ASTBuilder.java
- * 
- *    This class creates an abstract syntax tree representation
- *    of an expression given a sequence of tokens.
- * 
- *    The tree is built by calling the ActionScript compiler and
- *    having it parse the expression, then converting the result
- *    to a form we prefer.
- *
- *    No compression is performed on the tree, thus expressions
- *    such as (3*4) will result in 3 nodes.
- * 
- */
-public class ASTBuilder implements IASTBuilder
-{
-	private static LocalizationManager s_localizationManager;
-
-	/**
-	 * whether the fdb indirection operators are allowed, e.g. asterisk (*x) or
-	 * trailing dot (x.)
-	 */
-	private boolean m_isIndirectionOperatorAllowed = true;
-
-	static
-	{
-        // set up for localizing messages
-        s_localizationManager = new LocalizationManager();
-        s_localizationManager.addLocalizer( new DebuggerLocalizer("flash.tools.debugger.expression.expression.") ); //$NON-NLS-1$
-	}
-
-	/**
-	 * @param isIndirectionOperatorAllowed
-	 *            whether the fdb indirection operators are allowed, e.g.
-	 *            asterisk (*x) or trailing dot (x.)
-	 */
-	public ASTBuilder(boolean isIndirectionOperatorAllowed)
-	{
-		m_isIndirectionOperatorAllowed = isIndirectionOperatorAllowed;
-	}
-
-	/**
-	 * @return whether the fdb indirection operators are allowed, e.g. asterisk
-	 *         (*x) or trailing dot (x.)
-	 */
-	public boolean isIndirectionOperatorAllowed()
-	{
-		return m_isIndirectionOperatorAllowed;
-	}
-
-
-	/*
-	 * @see flash.tools.debugger.expression.IASTBuilder#parse(java.io.Reader)
-	 */
-	public ValueExp parse(Reader in) throws IOException, ParseException
-	{
-		DebuggerExpression retval = new DebuggerExpression();
-
-		StringBuilder sb = new StringBuilder();
-		int ch;
-		while ( (ch=in.read()) != -1 )
-			sb.append((char)ch);
-
-		String s = sb.toString();
-
-		// FB-16879: If expression begins with "#N" where N is a number,
-		// replace that with "$obj(N)".  For example, "#3" would become
-		// "$obj(3)".  Later, in PlayerSession.callFunction(), we will
-		// detect the $obj() function and handle it.
-		s = s.replaceFirst("^#([0-9]+)", "\\$obj($1)"); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (isIndirectionOperatorAllowed()) {
-			if (s.endsWith(".")) { //$NON-NLS-1$
-				retval.setLookupMembers(true);
-				s = s.substring(0, s.length() - 1);
-			} else if (s.startsWith("*")) { //$NON-NLS-1$
-				retval.setLookupMembers(true);
-				s = s.substring(1);
-			}
-		}
-
-		// Enclose the expression in parentheses, in order to ensure that the
-		// parser considers it to be an expression.  For example, "{x:3}" would
-		// be considered to be a block with label "x" and value "3", but,
-		// "({x:3})" is considered to be an inline object with field "x" that
-		// has value 3.
-		s = "(" + s + ")"; //$NON-NLS-1$ //$NON-NLS-2$
-
-		final List<ICompilerProblem> errors = new ArrayList<ICompilerProblem>();
-//		CompilerHandler newHandler = new CompilerHandler() {
-//			@Override
-//			public void error(final String filename, int ln, int col, String msg, String source) {
-//				ErrorInfo ei = new ErrorInfo();
-//				ei.filename = filename;
-//				ei.ln = ln;
-//				ei.col = col;
-//				ei.msg = msg;
-//				ei.source = source;
-//				errors.add(ei);
-//			}
-//		};
-//		cx.setHandler(newHandler);
-//		cx.scriptAssistParsing = true;
-	//	Parser parser = new Parser(cx, s, "Expression"); //$NON-NLS-1$
-		IASNode programNode = DebuggerUtil.parseExpression(s, errors);
-		//ProgramNode programNode = parser.parseProgram();
-
-		if (errors.size() > 0) {
-			 ICompilerProblem firstError = errors.get(0);
-			throw new ParseException(firstError.toString(), firstError.getColumn());
-		}
-
-		retval.setProgramNode(programNode);
-		return retval;
-	}
-
-	 
-	static LocalizationManager getLocalizationManager()
-	{
-		return s_localizationManager;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/Context.java b/modules/fdbworkers/src/flash/tools/debugger/expression/Context.java
deleted file mode 100644
index 0088ac3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/Context.java
+++ /dev/null
@@ -1,126 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-
-/**
- * An object which returns a value given a name and
- * appropriate context information.
- */
-public interface Context
-{
-	/**
-	 * Looks for an object of the given name in this context -- for example, a member variable.
-	 *
-	 * The returned Object can be of any type at all.  For example, it could be:
-	 *
-	 * <ul>
-	 * <li> a <code>flash.tools.debugger.Variable</code> </li>
-	 * <li> your own wrapper around <code>Variable</code> </li>
-	 * <li> a <code>flash.tools.debugger.Value</code> </li>
-	 * <li> any built-in Java primitive such as <code>Long</code>, <code>Integer</code>,
-	 *      <code>Double</code>, <code>Boolean</code>, or <code>String</code> </li>
-	 * <li> any other type you want which has a good <code>toString()</code>; see below </li>
-	 * </ul>
-	 *
-	 * Since the return type is just Object, the returned value is only meaningful when
-	 * passed to other functions this interface.  For example, the returned Object can be
-	 * passed to createContext(), assign(), or toValue().
-	 * 
-	 * @param o the object to look up; most commonly a string representing the name of
-	 * a member variable.
-	 */
-	public Object lookup(Object o) throws NoSuchVariableException, PlayerFaultException;
-
-	/**
-	 * Looks for the members of an object.
-	 * 
-	 * @param o
-	 *            A variable whose members we want to look up
-	 * @return Some object which represents the members; could even be just a
-	 *         string. See lookup() for more information about the returned
-	 *         type.
-	 * @see #lookup(Object)
-	 */
-	public Object lookupMembers(Object o) throws NoSuchVariableException;
-
-	/**
-	 * Creates a new context object by combining the current one and o.
-	 * For example, if the user typed "myVariable.myMember", then this function
-	 * will get called with o equal to the object which represents "myVariable".
-	 * This function should return a new context which, when called with
-	 * lookup("myMember"), will return an object for that member.
-	 *
-	 * @param o any object which may have been returned by this class's lookup() function
-	 */
-	public Context createContext(Object o);
-
-	/**
-	 * Assign the object o, the value v.
-	 * 
-	 * @param o
-	 *            a variable to assign to -- this should be some value returned
-	 *            by an earlier call to lookup().
-	 * @param v
-	 *            a value, such as a Boolean, Long, String, etc.
-	 */
-	public void assign(Object o, Value v) throws NoSuchVariableException, PlayerFaultException;
-
-	/**
-	 * Enables/disables the creation of variables during lookup calls.
-	 * This is ONLY used by AssignmentExp for creating a assigning a value 
-	 * to a property which currently does not exist.
-	 */
-	public void createPseudoVariables(boolean oui);
-
-	/**
-	 * Converts the object to a Value.
-	 * 
-	 * @param o
-	 *            Either object that was returned by an earlier call to
-	 *            <code>lookup()</code>, or one of the raw types that can be
-	 *            returned by <code>Value.getValueAsObject()</code>.
-	 * @return the corresponding Value, or <code>null</code>.
-	 * @see Value#getValueAsObject()
-	 */
-	public Value toValue(Object o);
-
-	/**
-	 * Converts the context to a Value. Very similar to
-	 * <code>toValue(Object o)</code>, except that the object being converted
-	 * is the object that was used to initialize this context.
-	 * 
-	 * @return the corresponding Value, or <code>null</code>.
-	 */
-	public Value toValue();
-
-	/**
-	 * Returns the session associated with this context, or null.
-	 * This can legitimately be null; for example, in fdb, you are
-	 * allowed to do things like "set $columnwidth = 120" before
-	 * beginning a debugging session.
-	 */
-	public Session getSession();
-	
-	/**
-	 * The worker id to which this context object belongs. 
-	 */
-	public int getIsolateId();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpression.java b/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpression.java
deleted file mode 100644
index a552082..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpression.java
+++ /dev/null
@@ -1,163 +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.
- */
-package flash.tools.debugger.expression;
-
-import java.util.HashSet;
-
-import com.adobe.flash.compiler.internal.projects.ASCProject;
-import com.adobe.flash.compiler.internal.tree.as.BinaryOperatorLogicalAndNode;
-import com.adobe.flash.compiler.internal.tree.as.ExpressionNodeBase;
-import com.adobe.flash.compiler.internal.workspaces.Workspace;
-import com.adobe.flash.compiler.projects.ICompilerProject;
-import com.adobe.flash.compiler.tree.ASTNodeID;
-import com.adobe.flash.compiler.tree.as.IASNode;
-import com.adobe.flash.compiler.tree.as.IExpressionNode;
-import com.adobe.flash.compiler.workspaces.IWorkspace;
-
-import flash.tools.debugger.PlayerDebugException;
-
-/**
- * A wrapper around an abstract syntax tree (AST) that was provided by the
- * ActionScript Compiler (ASC), suitable for use by the debugger.
- * 
- * When {@link #evaluate(Context)} is called, this will walk the AST and return
- * a value. But please note that this class's implementation of expression
- * evaluation should not be taken as a model of 100% perfect ActionScript
- * evaluation. While this implementation handles all the cases the debugger is
- * likely to run into, there are many edge cases that this class can't handle.
- * For most cases where you need an on-the-fly expression evaluator, you would
- * be better off using the code from the "esc" project.
- * 
- * @author Mike Morearty
- */
-class DebuggerExpression implements ValueExp {
-
-	private final static HashSet<ASTNodeID> ASSIGN_OPRATORS = new HashSet<ASTNodeID>();
-	static {
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_AssignId);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_LeftShiftAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_RightShiftAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_UnsignedRightShiftAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_MultiplyAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_DivideAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_ModuloAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_BitwiseAndAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_BitwiseXorAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_BitwiseOrAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_AddAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_SubtractAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_LogicalAndAssignID);
-		ASSIGN_OPRATORS.add(ASTNodeID.Op_LogicalOrAssignID);
-	}
-	/**
-	 * The AST representing the expression.
-	 */
-	private IASNode m_programNode;
-
-	/**
-	 * @see #isLookupMembers()
-	 */
-	private boolean m_lookupMembers = false;
-
-	/**
-	 * @return the AST representing the expression.
-	 */
-	public IASNode getProgramNode() {
-		return m_programNode;
-	}
-
-	/**
-	 * Sets the AST representing the expression.
-	 */
-	public void setProgramNode(IASNode programNode) {
-		m_programNode = programNode;
-	}
-
-	/*
-	 * @see flash.tools.debugger.expression.ValueExp#isLookupMembers()
-	 */
-	public boolean isLookupMembers() {
-		return m_lookupMembers;
-	}
-
-	/**
-	 * @see #isLookupMembers()
-	 */
-	public void setLookupMembers(boolean value) {
-		m_lookupMembers = value;
-	}
-
-	/*
-	 * @see flash.tools.debugger.expression.ValueExp#containsAssignment()
-	 */
-	public boolean containsAssignment() {
-		return containsAssignment(m_programNode);
-	}
-
-	/**
-	 * @param containsAssignment
-	 */
-	private boolean containsAssignment(IASNode node) {
-		if (ASSIGN_OPRATORS.contains(node.getNodeID())) {
-			return true;
-		}
-		for (int i = 0; i < node.getChildCount(); i++) {
-			if (containsAssignment(node.getChild(i))) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/*
-	 * @see
-	 * flash.tools.debugger.expression.ValueExp#evaluate(flash.tools.debugger
-	 * .expression.Context)
-	 */
-	public Object evaluate(Context context) throws NumberFormatException,
-			NoSuchVariableException, PlayerFaultException, PlayerDebugException {
-		// assert m_cx.getScopeDepth() == 0;
-		// m_cx.pushScope(new ExpressionEvaluatorScope(context));
-		try {
-			IExpressionEvaluator eval = new DebuggerExpressionEvaluator();
-			DebuggerValue value = eval.evaluate(context, m_programNode);
-
-			if (isLookupMembers()) {
-				return context.lookupMembers(value.debuggerValue);
-			} else {
-				return value.debuggerValue;
-			}
-		} catch (Exception e) {
-			// e.printStackTrace();//TODO : ASC3 : remove
-			if (e.getCause() instanceof NumberFormatException) {
-				throw (NumberFormatException) e.getCause();
-			} else if (e.getCause() instanceof NoSuchVariableException) {
-				throw (NoSuchVariableException) e.getCause();
-			} else if (e.getCause() instanceof PlayerFaultException) {
-				throw (PlayerFaultException) e.getCause();
-			} else if (e.getCause() instanceof PlayerDebugException) {
-				throw (PlayerDebugException) e.getCause();
-			} else {
-				e.printStackTrace();
-				throw new PlayerDebugException(e.getLocalizedMessage());
-			}
-		} finally {
-			// m_cx.popScope();
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpressionEvaluator.java b/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpressionEvaluator.java
deleted file mode 100644
index aaa73c0..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerExpressionEvaluator.java
+++ /dev/null
@@ -1,76 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import com.adobe.flash.compiler.internal.projects.ASCProject;
-import com.adobe.flash.compiler.internal.workspaces.Workspace;
-import com.adobe.flash.compiler.projects.ICompilerProject;
-import com.adobe.flash.compiler.tree.as.IASNode;
-
-/**
- * @author ggv
- * 
- */
-public class DebuggerExpressionEvaluator implements IExpressionEvaluator {
-
-	private final ICompilerProject project;
-	private final IASTFolder logicalOperatorFolder;
-
-	/**
-	 * 
-	 */
-	public DebuggerExpressionEvaluator() {
-		project = new ASCProject(new Workspace(), true);
-		logicalOperatorFolder = new LogicalOperatorsFolder();
-
-	}
-
-	/**
-	 * @param project2
-	 */
-	public DebuggerExpressionEvaluator(ICompilerProject project2) {
-		logicalOperatorFolder = new LogicalOperatorsFolder();
-		this.project = project2;
-	}
-
-	@Override
-	public DebuggerValue evaluate(Context context, IASNode node)
-			throws Exception {
-
-		if (node instanceof FoldedExpressionNode) {
-			/*
-			 * Unfold the folded node, and if the unfolded subtree has a logical
-			 * operator, fold the RHS of that
-			 */
-			node = logicalOperatorFolder
-					.unfoldOneLevel((FoldedExpressionNode) node);
-		} else {
-			/*
-			 * Where ever it finds a logical operator, fold the rhs of that.
-			 */
-			node = logicalOperatorFolder.fold(node);
-		}
-		AS3DebuggerBURM burm = new AS3DebuggerBURM();
-		burm.reducer = new AS3DebuggerReducer(context, project);
-
-		burm.burm(node, AS3DebuggerBURM.__expression_NT);
-		DebuggerValue value = (DebuggerValue) burm.getResult();
-		return value;
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerUtil.java b/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerUtil.java
deleted file mode 100644
index 87d8fce..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerUtil.java
+++ /dev/null
@@ -1,68 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import java.io.StringReader;
-import java.util.EnumSet;
-import java.util.List;
-
-import com.adobe.flash.compiler.common.SourceLocation;
-import com.adobe.flash.compiler.internal.parsing.as.FrontEnd;
-import com.adobe.flash.compiler.internal.scopes.ASFileScope;
-import com.adobe.flash.compiler.internal.semantics.PostProcessStep;
-import com.adobe.flash.compiler.internal.tree.as.NodeBase;
-import com.adobe.flash.compiler.internal.tree.as.ScopedBlockNode;
-import com.adobe.flash.compiler.internal.workspaces.Workspace;
-import com.adobe.flash.compiler.problems.ICompilerProblem;
-import com.adobe.flash.compiler.projects.ASDialect;
-import com.adobe.flash.compiler.tree.as.IASNode;
-import com.adobe.flash.compiler.workspaces.IWorkspace;
-
-/**
- * 
- * @author ggv
- */
-public class DebuggerUtil
-{
-
-    /**
-     * 
-     * @param code
-     * @param problems
-     * @return
-     */
-    public static IASNode parseExpression(String code, List<ICompilerProblem> problems)
-    {
-    	        IWorkspace workspace = new Workspace();
-        IASNode exprAST = FrontEnd.parseExpression(ASDialect.AS30, workspace, new StringReader(code), problems, null, new SourceLocation("", -1, -1, -1, -1));
-
-        // Have to create a fake ScopedBlockNode so the expression can do things
-        // like resolve, which means it has to be able to find a scope.
-        // For parsing an expression in a file, one would hook up the expression
-        // AST to whatever the real scope was.
-        ScopedBlockNode scopedNode = new ScopedBlockNode();
-        scopedNode.addChild((NodeBase)exprAST);
-        scopedNode.setScope(new ASFileScope(workspace, "fake", ASDialect.AS30));
-        scopedNode.runPostProcess(EnumSet.of(PostProcessStep.CALCULATE_OFFSETS));
-
-        return exprAST;
-    }
-
-  
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerValue.java b/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerValue.java
deleted file mode 100644
index cd647bc..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/DebuggerValue.java
+++ /dev/null
@@ -1,26 +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.
- */
-package flash.tools.debugger.expression;
-
-public class DebuggerValue {
-	public Object debuggerValue;
-
-	public DebuggerValue(Object v)
-	{
-		debuggerValue = v;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/ECMA.java b/modules/fdbworkers/src/flash/tools/debugger/expression/ECMA.java
deleted file mode 100644
index 39c3308..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/ECMA.java
+++ /dev/null
@@ -1,430 +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.
- */
-package flash.tools.debugger.expression;
-
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.concrete.DValue;
-import flash.tools.debugger.events.ExceptionFault;
-
-/**
- * Implementations of some of the conversion functions defined by
- * the ECMAScript spec ( http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf ).
- * Please note, these conversion functions should not be considered to
- * be 100% accurate; they handle all the cases the debugger's expression
- * evaluator is likely to run into, but there are some edge cases that
- * fall through the cracks.
- * 
- * @author Mike Morearty
- */
-public class ECMA
-{
-	/** Used by defaultValue() etc. */
-	private enum PreferredType { NUMBER, STRING }
-
-	/**
-	 * ECMA 4.3.2
-	 */
-	public static boolean isPrimitive(Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		Object o = v.getValueAsObject();
-		return (o == Value.UNDEFINED || o == null || o instanceof Boolean
-				|| o instanceof Double || o instanceof String);
-	}
-
-	private static Value callFunction(Session session, Value v, String functionName, Value[] args, int isolateId)
-	{
-		v = safeValue(v, isolateId);
-
-		try
-		{
-			return session.getWorkerSession(isolateId).callFunction(v, functionName, args);
-		}
-		catch (PlayerDebugException e)
-		{
-			throw new ExpressionEvaluatorException(e);
-		}
-	}
-
-	/**
-	 * Calls the valueOf() function of an object.
-	 */
-	private static Value callValueOf(Session session, Value v, int isolateId)
-	{
-		v = safeValue(v, isolateId);
-		return callFunction(session, v, "valueOf", new Value[0], isolateId); //$NON-NLS-1$
-	}
-
-	/**
-	 * Do not confuse this with toString()!  toString() represents the official
-	 * ECMA definition of [[ToString]], as defined in ECMA section 9.8.  This
-	 * function, on the other hand, represents calling the toString() function
-	 * of an object.
-	 */
-	private static Value callToString(Session session, Value v, int isolateId)
-	{
-		v = safeValue(v, isolateId);
-		return callFunction(session, v, "toString", new Value[0], isolateId); //$NON-NLS-1$
-	}
-
-	/**
-	 * ECMA 8.6.2.6
-	 * 
-	 * @param v
-	 * @param optionalPreferredType
-	 *            either NUMBER, STRING, or null.
-	 */
-	public static Value defaultValue(Session session, Value v, 
-			PreferredType optionalPreferredType,
-			int isolateId)
-	{
-		v = safeValue(v, isolateId);
-		String typename = v.getTypeName();
-		int at = typename.indexOf('@');
-		if (at != -1)
-			typename = typename.substring(0, at);
-
-		if (optionalPreferredType == null)
-		{
-			if (typename.equals("Date")) //$NON-NLS-1$
-				optionalPreferredType = PreferredType.STRING;
-			else
-				optionalPreferredType = PreferredType.NUMBER;
-		}
-
-		if (optionalPreferredType == PreferredType.NUMBER)
-		{
-			Value result = callValueOf(session, v, isolateId);
-			if (isPrimitive(result))
-				return result;
-			result = callToString(session, v, isolateId);
-			if (isPrimitive(result))
-				return result;
-			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null, isolateId))); //$NON-NLS-1$
-		}
-		else
-		{
-			Value result = callToString(session, v, isolateId);
-			if (isPrimitive(result))
-				return result;
-			result = callValueOf(session, v, isolateId);
-			if (isPrimitive(result))
-				return result;
-			throw new RuntimeException(new PlayerFaultException(new ExceptionFault(ASTBuilder.getLocalizationManager().getLocalizedTextString("typeError"), false, null, isolateId))); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * ECMA 9.1
-	 * 
-	 * @param v
-	 * @param optionalPreferredType
-	 *            either NUMBER_TYPE, STRING_TYPE, or null.
-	 * @return
-	 */
-	public static Value toPrimitive(Session session, Value v,
-			PreferredType optionalPreferredType, int isolateId)
-	{
-		v = safeValue(v, isolateId);
-		switch (v.getType())
-		{
-		case VariableType.UNDEFINED:
-		case VariableType.NULL:
-		case VariableType.BOOLEAN:
-		case VariableType.NUMBER:
-		case VariableType.STRING:
-			return v;
-
-		default:
-			return defaultValue(session, v, optionalPreferredType, isolateId);
-		}
-	}
-
-	/** ECMA 9.2 */
-	public static boolean toBoolean(Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		switch (v.getType())
-		{
-		case VariableType.UNDEFINED:
-		case VariableType.NULL:
-			return false;
-		case VariableType.BOOLEAN:
-			return ((Boolean) v.getValueAsObject()).booleanValue();
-		case VariableType.NUMBER:
-		{
-			double d = ((Double) v.getValueAsObject()).doubleValue();
-			if (d == 0 || Double.isNaN(d))
-			{
-				return false;
-			}
-			else
-			{
-				return true;
-			}
-		}
-		case VariableType.STRING:
-			return ((String) v.getValueAsObject()).length() != 0;
-		default:
-			return true;
-		}
-	}
-
-	/** ECMA 9.3 */
-	public static double toNumber(Session session, Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		switch (v.getType())
-		{
-		case VariableType.UNDEFINED:
-			return Double.NaN;
-		case VariableType.NULL:
-			return 0;
-		case VariableType.BOOLEAN:
-			return ((Boolean) v.getValueAsObject()).booleanValue() ? 1 : 0;
-		case VariableType.NUMBER:
-			return ((Double) v.getValueAsObject()).doubleValue();
-		case VariableType.STRING:
-		{
-			String s = (String) v.getValueAsObject();
-			if (s.length() == 0)
-			{
-				return 0;
-			}
-			else
-			{
-				try
-				{
-					return Double.parseDouble(s);
-				}
-				catch (NumberFormatException e)
-				{
-					return Double.NaN;
-				}
-			}
-		}
-		default:
-			return toNumber(session, toPrimitive(session, v, PreferredType.NUMBER, v.getIsolateId()));
-		}
-	}
-
-	private static final double _2pow31 = Math.pow(2, 31);
-	private static final double _2pow32 = Math.pow(2, 32);
-
-	/** ECMA 9.5 */
-	public static int toInt32(Session session, Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		double d = toNumber(session, v);
-		if (d == Double.POSITIVE_INFINITY || d == Double.NEGATIVE_INFINITY)
-		{
-			return 0;
-		}
-		else
-		{
-			double sign = Math.signum(d);
-			d = Math.floor(Math.abs(d));
-			d %= _2pow32;
-			while (d >= _2pow31)
-				d -= _2pow32;
-			return (int) (sign*d);
-		}
-	}
-
-	/** ECMA 9.6 */
-	public static long toUint32(Session session, Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		long n = toInt32(session, v);
-		if (n < 0)
-			n = n + (long) 0x10000 * (long) 0x10000;
-		return n;
-	}
-
-	/** ECMA 9.8 */
-	public static String toString(Session session, Value v)
-	{
-		v = safeValue(v, Isolate.DEFAULT_ID);
-		switch (v.getType())
-		{
-		case VariableType.UNDEFINED:
-		case VariableType.NULL:
-		case VariableType.BOOLEAN:
-		case VariableType.STRING:
-			return v.getValueAsString();
-		case VariableType.NUMBER:
-		{
-			double d = ((Double) v.getValueAsObject()).doubleValue();
-			if (d == (long) d)
-			{
-				return Long.toString((long) d); // avoid the ".0" on the end
-			}
-			else
-			{
-				return v.toString();
-			}
-		}
-		default:
-			return toString(session, toPrimitive(session, v, PreferredType.STRING, v.getIsolateId()));
-		}
-	}
-
-	/** ECMA 11.8.5.  Returns true, false, or undefined. */
-	public static Value lessThan(Session session, Value x, Value y)
-	{
-		x = safeValue(x, Isolate.DEFAULT_ID);
-		y = safeValue(y, Isolate.DEFAULT_ID);
-		Value px = toPrimitive(session, x, PreferredType.NUMBER, x.getIsolateId());
-		Value py = toPrimitive(session, y, PreferredType.NUMBER, y.getIsolateId());
-		if (px.getType() == VariableType.STRING
-				&& py.getType() == VariableType.STRING)
-		{
-			String sx = px.getValueAsString();
-			String sy = py.getValueAsString();
-			return DValue.forPrimitive(new Boolean(sx.compareTo(sy) < 0), x.getIsolateId());
-		}
-		else
-		{
-			double dx = toNumber(session, px);
-			double dy = toNumber(session, py);
-			if (Double.isNaN(dx) || Double.isNaN(dy))
-				return DValue.forPrimitive(Value.UNDEFINED, x.getIsolateId());
-			return DValue.forPrimitive(new Boolean(dx < dy), x.getIsolateId());
-		}
-	}
-
-	/** ECMA 11.9.3 */
-	public static boolean equals(Session session, Value xv, Value yv)
-	{
-		xv = safeValue(xv, Isolate.DEFAULT_ID);
-		yv = safeValue(yv, Isolate.DEFAULT_ID);
-
-		Object x = xv.getValueAsObject();
-		Object y = yv.getValueAsObject();
-
-		if (xv.getType() == yv.getType())
-		{
-			if (x == Value.UNDEFINED)
-				return true;
-			if (x == null)
-				return true;
-			if (x instanceof Double)
-			{
-				double dx = ((Double) x).doubleValue();
-				double dy = ((Double) y).doubleValue();
-				return dx == dy;
-			}
-			if (x instanceof String || x instanceof Boolean)
-				return x.equals(y);
-
-			// see if they are the same object
-			if (xv.getId() != -1 || yv.getId() != -1)
-				return xv.getId() == yv.getId();
-			return false;
-		}
-		else
-		{
-			if (x == null && y == Value.UNDEFINED)
-				return true;
-			if (x == Value.UNDEFINED && y == null)
-				return true;
-			if (x instanceof Double && y instanceof String)
-			{
-				double dx = ((Double) x).doubleValue();
-				double dy = toNumber(session, yv);
-				return dx == dy;
-			}
-			if (x instanceof String && y instanceof Double)
-			{
-				double dx = toNumber(session, xv);
-				double dy = ((Double) y).doubleValue();
-				return dx == dy;
-			}
-			if (x instanceof Boolean)
-				return equals(session, DValue.forPrimitive(new Double(toNumber(session, xv)), xv.getIsolateId()), yv);
-			if (y instanceof Boolean)
-				return equals(session, xv, DValue.forPrimitive(new Double(toNumber(session, yv)), xv.getIsolateId()));
-			if ((x instanceof String || x instanceof Double) && yv.getType() == VariableType.OBJECT)
-			{
-				return equals(session, xv, toPrimitive(session, yv, null, yv.getIsolateId()));
-			}
-			if (xv.getType() == VariableType.OBJECT && (y instanceof String || y instanceof Double))
-			{
-				return equals(session, toPrimitive(session, xv, null, xv.getIsolateId()), yv);
-			}
-			return false;
-		}
-	}
-
-	/** ECMA 11.9.6 */
-	public static boolean strictEquals(Value xv, Value yv)
-	{
-		xv = safeValue(xv, Isolate.DEFAULT_ID);
-		yv = safeValue(yv, Isolate.DEFAULT_ID);
-
-		Object x = xv.getValueAsObject();
-		Object y = yv.getValueAsObject();
-
-		if (xv.getType() == yv.getType())
-		{
-			if (x == Value.UNDEFINED)
-				return true;
-			if (x == null)
-				return true;
-			if (x instanceof Double)
-			{
-				double dx = ((Double) x).doubleValue();
-				double dy = ((Double) y).doubleValue();
-				return dx == dy;
-			}
-			if (x instanceof String || x instanceof Boolean)
-				return x.equals(y);
-
-			// see if they are the same object
-			if (xv.getId() != -1 || yv.getId() != -1)
-				return xv.getId() == yv.getId();
-			return false;
-		}
-		else
-		{
-			return false;
-		}
-	}
-
-	/**
-	 * Returns a "safe" (non-null) form of the specified Value -- that is, if
-	 * the specified Value is null, returns a non-null Value that *represents*
-	 * null.
-	 * 
-	 * @param v
-	 *            any Value, possibly null
-	 * @return a non-null Value
-	 */
-	public static Value safeValue(Value v, int isolateId)
-	{
-		if (v == null)
-		{
-			v = DValue.forPrimitive(null, isolateId);
-			assert v != null;
-		}
-		return v;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/ExpressionEvaluatorException.java b/modules/fdbworkers/src/flash/tools/debugger/expression/ExpressionEvaluatorException.java
deleted file mode 100644
index d10485d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/ExpressionEvaluatorException.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package flash.tools.debugger.expression;
-
-/**
- * An exception raised while evaluating an expression.  This is a bit
- * of a hack -- we need this to extend <code>RuntimeException</code>
- * because the functions in the <code>Evaluator</code> interface don't
- * throw anything, but our <code>DebuggerEvaluator</code> has many
- * places where it needs to bail out.
- * 
- * @author Mike Morearty
- */
-public class ExpressionEvaluatorException extends RuntimeException {
-	private static final long serialVersionUID = -7005526599250035578L;
-
-	public ExpressionEvaluatorException(String message) {
-		super(message);
-	}
-
-	public ExpressionEvaluatorException(Throwable cause) {
-		super(cause);
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/FoldedExpressionNode.java b/modules/fdbworkers/src/flash/tools/debugger/expression/FoldedExpressionNode.java
deleted file mode 100644
index 31cb380..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/FoldedExpressionNode.java
+++ /dev/null
@@ -1,252 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import com.adobe.flash.compiler.filespecs.IFileSpecification;
-import com.adobe.flash.compiler.internal.tree.as.ExpressionNodeBase;
-import com.adobe.flash.compiler.tree.ASTNodeID;
-import com.adobe.flash.compiler.tree.as.IASNode;
-import com.adobe.flash.compiler.tree.as.IExpressionNode;
-import com.adobe.flash.compiler.tree.as.IScopedNode;
-
-/**
- * @author ggv
- * 
- */
-public class FoldedExpressionNode extends ExpressionNodeBase implements
-		IExpressionNode {
-
-	private final IASNode rootNode;
-
-	/**
-	 * 
-	 */
-	public FoldedExpressionNode(IASNode rootNode) {
-		this.rootNode = rootNode;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getStart()
-	 */
-	@Override
-	public int getStart() {
-		return getUnderLyingNode().getStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getEnd()
-	 */
-	@Override
-	public int getEnd() {
-		return getUnderLyingNode().getEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getLine()
-	 */
-	@Override
-	public int getLine() {
-		return getUnderLyingNode().getLine();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getColumn()
-	 */
-	@Override
-	public int getColumn() {
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getAbsoluteStart()
-	 */
-	@Override
-	public int getAbsoluteStart() {
-		return getUnderLyingNode().getAbsoluteStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.common.ISourceLocation#getAbsoluteEnd()
-	 */
-	@Override
-	public int getAbsoluteEnd() {
-		return getUnderLyingNode().getAbsoluteEnd();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getNodeID()
-	 */
-	@Override
-	public ASTNodeID getNodeID() {
-		return ASTNodeID.FoldedExpressionID;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#contains(int)
-	 */
-	@Override
-	public boolean contains(int offset) {
-		return getUnderLyingNode().contains(offset);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * com.adobe.flash.compiler.tree.as.IASNode#getAncestorOfType(java.lang.
-	 * Class)
-	 */
-	@Override
-	public IASNode getAncestorOfType(Class<? extends IASNode> nodeType) {
-		return getUnderLyingNode().getAncestorOfType(nodeType);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getChild(int)
-	 */
-	@Override
-	public IASNode getChild(int i) {
-		return null;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getChildCount()
-	 */
-	@Override
-	public int getChildCount() {
-		return 0;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getContainingNode(int)
-	 */
-	@Override
-	public IASNode getContainingNode(int offset) {
-		return getUnderLyingNode().getContainingNode(offset);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getContainingScope()
-	 */
-	@Override
-	public IScopedNode getContainingScope() {
-		return getUnderLyingNode().getContainingScope();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getPackageName()
-	 */
-	@Override
-	public String getPackageName() {
-		return getUnderLyingNode().getPackageName();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getParent()
-	 */
-	@Override
-	public IASNode getParent() {
-		return getUnderLyingNode().getParent();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getFileSpecification()
-	 */
-	@Override
-	public IFileSpecification getFileSpecification() {
-		return getUnderLyingNode().getFileSpecification();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getSpanningStart()
-	 */
-	@Override
-	public int getSpanningStart() {
-		return getUnderLyingNode().getSpanningStart();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#getSucceedingNode(int)
-	 */
-	@Override
-	public IASNode getSucceedingNode(int offset) {
-		return getUnderLyingNode().getSucceedingNode(offset);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.tree.as.IASNode#isTerminal()
-	 */
-	@Override
-	public boolean isTerminal() {
-		return true;
-	}
-
-	/**
-	 * @return the rootNode
-	 */
-	public IASNode getUnderLyingNode() {
-		return rootNode;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.adobe.flash.compiler.internal.tree.as.ExpressionNodeBase#copy()
-	 */
-	@Override
-	protected ExpressionNodeBase copy() {
-		return null;
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/IASTBuilder.java b/modules/fdbworkers/src/flash/tools/debugger/expression/IASTBuilder.java
deleted file mode 100644
index ba4bb72..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/IASTBuilder.java
+++ /dev/null
@@ -1,35 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-
-public interface IASTBuilder
-{
-	/**
-	 * A parser that should do a fairly good job at
-	 * parsing a general expression string.
-	 * 
-	 * Exceptions:
-	 *  ParseException - a general parsing error occurred.
-	 * 
-	 */
-	public ValueExp parse(Reader in) throws IOException, ParseException;
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/IASTFolder.java b/modules/fdbworkers/src/flash/tools/debugger/expression/IASTFolder.java
deleted file mode 100644
index 462708b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/IASTFolder.java
+++ /dev/null
@@ -1,43 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import com.adobe.flash.compiler.tree.as.IASNode;
-
-/**
- * @author ggv
- * 
- */
-public interface IASTFolder {
-
-	/**
-	 * This will perform folding of certain nodes, based on implementation
-	 * 
-	 * @param rootNode
-	 * @return
-	 */
-	public IASNode fold(IASNode rootNode);
-
-	/**
-	 * Unfolds onlevel, if required will fold the children
-	 * 
-	 * @param rootNode
-	 * @return
-	 */
-	public IASNode unfoldOneLevel(FoldedExpressionNode rootNode);
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/IExpressionEvaluator.java b/modules/fdbworkers/src/flash/tools/debugger/expression/IExpressionEvaluator.java
deleted file mode 100644
index 47ef20a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/IExpressionEvaluator.java
+++ /dev/null
@@ -1,30 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import com.adobe.flash.compiler.tree.as.IASNode;
-
-/**
- * @author ggv
- *
- */
-public interface IExpressionEvaluator {
-
-	public abstract DebuggerValue evaluate(Context context, IASNode node) throws Exception;
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/LogicalOperatorsFolder.java b/modules/fdbworkers/src/flash/tools/debugger/expression/LogicalOperatorsFolder.java
deleted file mode 100644
index 23555a2..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/LogicalOperatorsFolder.java
+++ /dev/null
@@ -1,102 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import com.adobe.flash.compiler.internal.tree.as.BinaryOperatorLogicalAndAssignmentNode;
-import com.adobe.flash.compiler.internal.tree.as.BinaryOperatorLogicalAndNode;
-import com.adobe.flash.compiler.internal.tree.as.BinaryOperatorLogicalOrAssignmentNode;
-import com.adobe.flash.compiler.internal.tree.as.BinaryOperatorLogicalOrNode;
-import com.adobe.flash.compiler.internal.tree.as.ExpressionNodeBase;
-import com.adobe.flash.compiler.tree.as.IASNode;
-import com.adobe.flash.compiler.tree.as.IExpressionNode;
-
-/**
- * The logical operator's right hand operands are folded into
- * FoldedExperessionNode, so that they are not evaluated by the burm.
- * 
- * This is required for shortcircuit evaluation
- * 
- * @author ggv
- * 
- */
-public class LogicalOperatorsFolder implements IASTFolder {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * flash.tools.debugger.expression.IASTFolder#fold(com.adobe.flash.compiler
-	 * .tree.as.IASNode)
-	 */
-	@Override
-	public IASNode fold(IASNode rootNode) {
-		foldLazyRHSOperandsForLogicalOperators(rootNode);
-		return rootNode;
-	}
-
-	/**
-	 * @param node
-	 */
-	private void foldLazyRHSOperandsForLogicalOperators(IASNode node) {
-
-		if (node instanceof BinaryOperatorLogicalAndNode
-				|| node instanceof BinaryOperatorLogicalAndAssignmentNode) {
-
-			BinaryOperatorLogicalAndNode opNode = ((BinaryOperatorLogicalAndNode) node);
-			opNode.setRightOperandNode(fold(opNode.getRightOperandNode()));
-			foldLazyRHSOperandsForLogicalOperators(opNode.getLeftOperandNode());
-
-		} else if (node instanceof BinaryOperatorLogicalOrNode
-				|| node instanceof BinaryOperatorLogicalOrAssignmentNode) {
-
-			BinaryOperatorLogicalOrNode opNode = ((BinaryOperatorLogicalOrNode) node);
-			opNode.setRightOperandNode(fold(opNode.getRightOperandNode()));
-			foldLazyRHSOperandsForLogicalOperators(opNode.getLeftOperandNode());
-
-		} else {
-			int chCount = node.getChildCount();
-			for (int i = 0; i < chCount; i++) {
-				IASNode childNode = node.getChild(i);
-				foldLazyRHSOperandsForLogicalOperators(childNode);
-			}
-		}
-	}
-
-	/**
-	 * @param rightOperandNode
-	 * @return
-	 */
-	private ExpressionNodeBase fold(IExpressionNode rightOperandNode) {
-		return new FoldedExpressionNode(rightOperandNode);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * flash.tools.debugger.expression.IASTFolder#unfoldOneLevel(flash.tools
-	 * .debugger.expression.FoldedExpressionNode)
-	 */
-	@Override
-	public IASNode unfoldOneLevel(FoldedExpressionNode foldedExpressionNode) {
-		IASNode node = foldedExpressionNode.getUnderLyingNode();
-		fold(node);
-		return node;
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/NoSuchVariableException.java b/modules/fdbworkers/src/flash/tools/debugger/expression/NoSuchVariableException.java
deleted file mode 100644
index 05e69ca..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/NoSuchVariableException.java
+++ /dev/null
@@ -1,40 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Thrown when a variable name cannot be resolved in the current scope
- */
-public class NoSuchVariableException extends Exception
-{
-	private static final long serialVersionUID = -400396588945206074L;
-
-    public NoSuchVariableException(String s)	{ super(s); }
-	public NoSuchVariableException(Object o)	{ super(o.toString()); }
-
-	@Override
-	public String getLocalizedMessage()
-	{
-		Map<String, String> args = new HashMap<String, String>();
-		args.put("arg2", getMessage() ); //$NON-NLS-1$
-		return ASTBuilder.getLocalizationManager().getLocalizedTextString("noSuchVariable", args); //$NON-NLS-1$
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/PlayerFaultException.java b/modules/fdbworkers/src/flash/tools/debugger/expression/PlayerFaultException.java
deleted file mode 100644
index 5cec3a1..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/PlayerFaultException.java
+++ /dev/null
@@ -1,48 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import flash.tools.debugger.events.FaultEvent;
-
-/**
- * Thrown when the player generates a fault.  For example, if
- * an attempt to assign a value to a variable results in the player
- * generating a fault because that value has no setter, or because
- * the setter throws an exception for any other reason, then this
- * exception will be generated.
- */
-public class PlayerFaultException extends Exception {
-	private static final long serialVersionUID = 7754580337597815207L;
-    private FaultEvent m_event;
-
-	public PlayerFaultException(FaultEvent event)
-	{
-		m_event = event;
-	}
-	
-	public FaultEvent getFaultEvent()
-	{
-		return m_event;
-	}
-	
-	@Override
-	public String getMessage()
-	{
-		return m_event.information;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/ValueExp.java b/modules/fdbworkers/src/flash/tools/debugger/expression/ValueExp.java
deleted file mode 100644
index 988bf3f..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/ValueExp.java
+++ /dev/null
@@ -1,79 +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.
- */
-
-package flash.tools.debugger.expression;
-
-import flash.tools.debugger.PlayerDebugException;
-
-/**
- * All objects in the abstract syntax tree must provide 
- * this interface.  It allows the tree to resolve down
- * to a single value.
- * 
- * The tree nodes are terminal and non-terminal.  Terminals
- * are constants or variables, non-terminals are everything 
- * else.  Each non-terminal is an operation which takes 
- * its left hand child and right hand child as input
- * and produces a result.  Performing evaluate() at the root of 
- * the tree results in a single Object being returned.
- */
-public interface ValueExp
-{
-	/**
-	 * Evaluates the expression. For example, if this node is a "+" node, with a
-	 * 2 left child and a 2 right child, then the return value will be a long
-	 * (that is, a java.lang.Long) with the value 4.
-	 * 
-	 * @param context
-	 *            the context in which the expression should be evaluated;
-	 *            primarily used for looking up variables. For example, when
-	 *            evaluating the expression "myvar", the context looks at
-	 *            locals, members of "this", etc.; when evaluating "myfield"
-	 *            node of the expression "myvar.myfield", the context looks at
-	 *            members of the variable "myvar".
-	 * @return the value of the expression. This might be a literal Java
-	 *         constant (e.g. a Boolean, Integer, String, etc.); or it might be
-	 *         an UndefinedExp, representing the value 'undefined'; or it might
-	 *         be a Value; or it might be a Variable.
-	 * 
-	 * @see Context#lookup(Object)
-	 */
-	public Object evaluate(Context context) throws NumberFormatException, NoSuchVariableException,
-			PlayerFaultException, PlayerDebugException;
-
-	/**
-	 * Returns whether the expression contains any assignments (= or ++ or --).
-	 * Note, there are other kinds of expressions that can have side effects as
-	 * well, such as function calls, or even simple expressions like "foo" if
-	 * foo is a getter.
-	 */
-	public boolean containsAssignment();
-
-	/**
-	 * Returns whether <code>evaluate()</code> will return an object that
-	 * explicitly shows the values of all members of the expression. For
-	 * example, in fdb, if the user writes "print myvar", then isLookupMembers
-	 * will be false, and the debugger will show just the value of
-	 * <code>myvar</code>, but not the values of its members; but if the user
-	 * writes "print myvar." (with a "." at the end), then the debugger will
-	 * show the values of all of the members of <code>myvar</code>.
-	 * 
-	 * @see ASTBuilder#ASTBuilder(boolean)
-	 * @see ASTBuilder#isIndirectionOperatorAllowed()
-	 */
-	public boolean isLookupMembers();
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_da.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_da.properties
deleted file mode 100644
index c22a039..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_da.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed='${keyword}' er ikke tilladt
-classDefinitionNotAllowed=Klassedefinitionen er ikke tilladt
-expressionNotSupported=Udtrykket underst\u00f8ttes ikke
-functionDefinitionNotAllowed=Funktionsdefinitionen er ikke tilladt
-interfaceDefinitionNotAllowed=Gr\u00e6nsefladedefinitionen er ikke tilladt
-labelsNotAllowed=Etiketter er ikke tilladt
-literalObjectsNotSupported=Litterale objekter underst\u00f8ttes ikke
-nullPointerException=Kan ikke \u00e5bne en egenskab eller en metode for en null-objektreference
-StatementListNodeWIthMoreThanOneItem=En StatementListNode med mere end \u00e9t element?
-typeNotExpected=Uventet type
-unrecognizedBinaryOperator=bin\u00e6r operator blev ikke genkendt
-unrecognizedUnaryOperator=monadisk operator blev ikke genkendt
-unsupportedExpression=Udtrykket underst\u00f8ttes ikke
-whatIsDocCommentNode=ved ikke hvad en DocCommentNode er 
-whatIsMetaDataNode=ved ikke hvad en MetaDataNode er 
-xmlLiteralsNotSupported=XML-litteraler underst\u00f8ttes ikke
-binaryProgramNodeUnexpected=Uventet BinaryProgramNode
-noSuchVariable = Variablen findes ikke: ${arg2}
-typeError = Typefejl
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_de.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_de.properties
deleted file mode 100644
index 7066384..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_de.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=\u201e${keyword}\u201c nicht zul\u00e4ssig
-classDefinitionNotAllowed=Klassendefinition nicht zul\u00e4ssig
-expressionNotSupported=Ausdruck nicht unterst\u00fctzt
-functionDefinitionNotAllowed=Funktionsdefinition nicht zul\u00e4ssig
-interfaceDefinitionNotAllowed=Schnittstellendefinition nicht zul\u00e4ssig
-labelsNotAllowed=Bezeichnungen nicht zul\u00e4ssig
-literalObjectsNotSupported=Literalobjekte nicht unterst\u00fctzt
-nullPointerException=Auf eine Eigenschaft oder Methode eines Nullobjektverweises kann nicht zugegriffen werden
-StatementListNodeWIthMoreThanOneItem=Ein StatementListNode mit mehr als einem Element?
-typeNotExpected=Unerwarteter Typ
-unrecognizedBinaryOperator=nicht erkannter Bin\u00e4roperator
-unrecognizedUnaryOperator=nicht erkannter Un\u00e4roperator
-unsupportedExpression=Nicht unterst\u00fctzter Ausdruck
-whatIsDocCommentNode=nicht sicher, was ein DocCommentNode ist
-whatIsMetaDataNode=nicht sicher, was ein MetaDataNode ist
-xmlLiteralsNotSupported=XML-Literale werden nicht unterst\u00fctzt
-binaryProgramNodeUnexpected=BinaryProgramNode nicht erwartet
-noSuchVariable = Variable existiert nicht: ${arg2}
-typeError = Typfehler
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_en.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_en.properties
deleted file mode 100644
index e0501dd..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_en.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed='${keyword}' not allowed
-classDefinitionNotAllowed=Class definition not allowed
-expressionNotSupported=Expression not supported
-functionDefinitionNotAllowed=Function definition not allowed
-interfaceDefinitionNotAllowed=Interface definition not allowed
-labelsNotAllowed=Labels not allowed
-literalObjectsNotSupported=Literal objects not supported
-nullPointerException=Cannot access a property or method of a null object reference
-StatementListNodeWIthMoreThanOneItem=A StatementListNode with more than one item?
-typeNotExpected=Type not expected
-unrecognizedBinaryOperator=unrecognized binary operator
-unrecognizedUnaryOperator=unrecognized unary operator
-unsupportedExpression=Unsupported expression
-whatIsDocCommentNode=not sure what a DocCommentNode is
-whatIsMetaDataNode=not sure what a MetaDataNode is
-xmlLiteralsNotSupported=XML literals are not supported
-binaryProgramNodeUnexpected=BinaryProgramNode unexpected
-noSuchVariable = No such variable: ${arg2}
-typeError = Type error
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_es.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_es.properties
deleted file mode 100644
index 65aec8b..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_es.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' no permitido
-classDefinitionNotAllowed=Definici\u00f3n de clase no permitida
-expressionNotSupported=Expresi\u00f3n no admitida
-functionDefinitionNotAllowed=Definici\u00f3n de funci\u00f3n no permitida
-interfaceDefinitionNotAllowed=Definici\u00f3n de interfaz no permitida
-labelsNotAllowed=Etiquetas no permitidas
-literalObjectsNotSupported=Objetos literales no admitidos
-nullPointerException=No se puede acceder a una propiedad o un m\u00e9todo de una referencia a objeto con el valor null
-StatementListNodeWIthMoreThanOneItem=\u00bfUn nodo StatementListNode con m\u00e1s de un elemento?
-typeNotExpected=Tipo inesperado
-unrecognizedBinaryOperator=operador binario no reconocido
-unrecognizedUnaryOperator=operador unario no reconocido
-unsupportedExpression=Expresi\u00f3n no admitida
-whatIsDocCommentNode=el significado de DocCommentNode no est\u00e1 claro
-whatIsMetaDataNode=el significado de MetaDataNode no est\u00e1 claro
-xmlLiteralsNotSupported=No se admiten literales XML
-binaryProgramNodeUnexpected=BinaryProgramNode inesperado
-noSuchVariable = No existe la variable: ${arg2}
-typeError = Error de tipo
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fi.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fi.properties
deleted file mode 100644
index afa728c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fi.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' ei ole sallittu
-classDefinitionNotAllowed=Luokan m\u00e4\u00e4ritys ei ole sallittu
-expressionNotSupported=Ilmaisua ei tueta
-functionDefinitionNotAllowed=Toiminnon m\u00e4\u00e4ritys ei ole sallittu
-interfaceDefinitionNotAllowed=Rajapintam\u00e4\u00e4ritys ei ole sallittu
-labelsNotAllowed=Nimet eiv\u00e4t ole sallittuja
-literalObjectsNotSupported=Literaaliobjekteja ei tueta
-nullPointerException=Null-objektin viitteen ominaisuutta tai menetelm\u00e4\u00e4 ei voi k\u00e4ytt\u00e4\u00e4
-StatementListNodeWIthMoreThanOneItem=StatementListNode, jolla on useampi kuin yksi kohde?
-typeNotExpected=Odottamaton tyyppi
-unrecognizedBinaryOperator=tunnistamaton binaarioperaattori
-unrecognizedUnaryOperator=tunnistamaton unaarioperaattori
-unsupportedExpression=Ilmaisua ei tueta
-whatIsDocCommentNode=ep\u00e4varmaa, mik\u00e4 DocCommentNode on
-whatIsMetaDataNode=ep\u00e4varmaa, mik\u00e4 MetaDataNode on
-xmlLiteralsNotSupported=XML-literaaleja ei tueta
-binaryProgramNodeUnexpected=Odottamaton BinaryProgramNode
-noSuchVariable = Ei t\u00e4llaista muuttujaa: ${arg2}
-typeError = Tyyppivirhe
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fr.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fr.properties
deleted file mode 100644
index 71b49f3..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_fr.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' non autoris\u00e9
-classDefinitionNotAllowed=D\u00e9finition de classe non autoris\u00e9e
-expressionNotSupported=Expression non prise en charge
-functionDefinitionNotAllowed=D\u00e9finition de fonction non autoris\u00e9e
-interfaceDefinitionNotAllowed=D\u00e9finition d'interface non autoris\u00e9e
-labelsNotAllowed=Libell\u00e9s non autoris\u00e9s
-literalObjectsNotSupported=Objet litt\u00e9ral non pris en charge
-nullPointerException=Impossible d'acc\u00e9der \u00e0 une propri\u00e9t\u00e9 ou une m\u00e9thode de r\u00e9f\u00e9rence d'objet null
-StatementListNodeWIthMoreThanOneItem=Un StatementListNode avec plusieurs \u00e9l\u00e9ments ?
-typeNotExpected=Type inattendu
-unrecognizedBinaryOperator=op\u00e9rateur binaire non reconnu
-unrecognizedUnaryOperator=op\u00e9rateur unaire non reconnu
-unsupportedExpression=Expression non prise en charge
-whatIsDocCommentNode=pas certain de ce qu'est un DocCommentNode
-whatIsMetaDataNode=pas certain de ce qu'est un MetaDataNode
-xmlLiteralsNotSupported=Les litt\u00e9rales XML ne sont pas prises en charge
-binaryProgramNodeUnexpected=BinaryProgramNode inattendu
-noSuchVariable = Aucune variable : ${arg2}
-typeError = Erreur de type
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_it.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_it.properties
deleted file mode 100644
index 8eef469..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_it.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' non consentito
-classDefinitionNotAllowed=Definizione di classe non consentita
-expressionNotSupported=Espressione non supportata
-functionDefinitionNotAllowed=Definizione della funzione non consentita
-interfaceDefinitionNotAllowed=Definizione dell'interfaccia non consentita
-labelsNotAllowed=Etichette non consentite
-literalObjectsNotSupported=Oggetti letterali non supportati
-nullPointerException=Impossibile accedere a una propriet\u00e0 o a un metodo di un riferimento a un oggetto null
-StatementListNodeWIthMoreThanOneItem=StatementListNode con pi\u00f9 di un elemento?
-typeNotExpected=Tipo non previsto
-unrecognizedBinaryOperator=operatore binario non riconosciuto
-unrecognizedUnaryOperator=operatore unario non riconosciuto
-unsupportedExpression=Espressione non supportata
-whatIsDocCommentNode=DocCommentNode non riconosciuto
-whatIsMetaDataNode=MetaDataNode non riconosciuto
-xmlLiteralsNotSupported=I valori letterali XML non sono supportati
-binaryProgramNodeUnexpected=BinaryProgramNode non previsto
-noSuchVariable = Variabile inesistente: ${arg2}
-typeError = Errore di tipo
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ja.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ja.properties
deleted file mode 100644
index 1ffdb56..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ja.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed='${keyword}' \u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-classDefinitionNotAllowed=\u30af\u30e9\u30b9\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-expressionNotSupported=\u5f0f\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-functionDefinitionNotAllowed=\u95a2\u6570\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-interfaceDefinitionNotAllowed=\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u5b9a\u7fa9\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-labelsNotAllowed=\u30e9\u30d9\u30eb\u306f\u8a31\u53ef\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-literalObjectsNotSupported=\u30ea\u30c6\u30e9\u30eb\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-nullPointerException=null \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u53c2\u7167\u306e\u30d7\u30ed\u30d1\u30c6\u30a3\u307e\u305f\u306f\u30e1\u30bd\u30c3\u30c9\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u305b\u3093
-StatementListNodeWIthMoreThanOneItem=StatementListNode \u306b\u8907\u6570\u306e\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u3059\u304b\uff1f
-typeNotExpected=\u30bf\u30a4\u30d7\u306f\u4e0d\u8981\u3067\u3059
-unrecognizedBinaryOperator=\u8a8d\u8b58\u3067\u304d\u306a\u3044 2 \u9805\u6f14\u7b97\u5b50
-unrecognizedUnaryOperator=\u8a8d\u8b58\u3067\u304d\u306a\u3044\u5358\u9805\u6f14\u7b97\u5b50
-unsupportedExpression=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u5f0f
-whatIsDocCommentNode=DocCommentNode \u306e\u6b63\u4f53\u304c\u4e0d\u660e\u3067\u3059
-whatIsMetaDataNode=MetaDataNode \u306e\u6b63\u4f53\u304c\u4e0d\u660e\u3067\u3059
-xmlLiteralsNotSupported=XML \u30ea\u30c6\u30e9\u30eb\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-binaryProgramNodeUnexpected=BinaryProgramNode \u306f\u4e88\u671f\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-noSuchVariable = \u6b21\u306e\u5909\u6570\u306f\u3042\u308a\u307e\u305b\u3093 : ${arg2}
-typeError = \u30bf\u30a4\u30d7\u30a8\u30e9\u30fc
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ko.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ko.properties
deleted file mode 100644
index 673e2e7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ko.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}'\uc744(\ub97c) \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-classDefinitionNotAllowed=\ud074\ub798\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-expressionNotSupported=\uc2dd\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-functionDefinitionNotAllowed=\ud568\uc218\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-interfaceDefinitionNotAllowed=\uc778\ud130\ud398\uc774\uc2a4\ub97c \uc815\uc758\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-labelsNotAllowed=\ub808\uc774\ube14\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-literalObjectsNotSupported=\ub9ac\ud130\ub7f4 \uac1d\uccb4\uac00 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-nullPointerException=null \uac1d\uccb4 \ucc38\uc870\uc758 \uc18d\uc131 \ub610\ub294 \uba54\uc11c\ub4dc\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-StatementListNodeWIthMoreThanOneItem=StatementListNode\uc5d0 \ud56d\ubaa9\uc774 \uc5ec\ub7ec \uac1c \uc788\uc2b5\ub2c8\ub2e4.
-typeNotExpected=\uc608\uae30\uce58 \uc54a\uc740 \uc720\ud615\uc785\ub2c8\ub2e4.
-unrecognizedBinaryOperator=\uc778\uc2dd\ud560 \uc218 \uc5c6\ub294 \uc774\uc9c4 \uc5f0\uc0b0\uc790\uc785\ub2c8\ub2e4.
-unrecognizedUnaryOperator=\uc778\uc2dd\ud560 \uc218 \uc5c6\ub294 \ub2e8\ud56d \uc5f0\uc0b0\uc790\uc785\ub2c8\ub2e4.
-unsupportedExpression=\uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uc2dd\uc785\ub2c8\ub2e4.
-whatIsDocCommentNode=DocCommentNode\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-whatIsMetaDataNode=MetaDataNode\ub97c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-xmlLiteralsNotSupported=XML \ub9ac\ud130\ub7f4\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-binaryProgramNodeUnexpected=\uc608\uae30\uce58 \uc54a\uc740 BinaryProgramNode
-noSuchVariable = \ub2e4\uc74c \ubcc0\uc218 \uc5c6\uc74c: ${arg2}
-typeError = \uc720\ud615 \uc624\ub958
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nb.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nb.properties
deleted file mode 100644
index 0acddcd..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nb.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword} er ikke tillatt
-classDefinitionNotAllowed=Klassedefinisjon er ikke tillatt
-expressionNotSupported=Uttrykket st\u00f8ttes ikke
-functionDefinitionNotAllowed=Funksjonsdefinisjon er ikke tillatt
-interfaceDefinitionNotAllowed=Grensesnittdefinisjon er ikke tillatt
-labelsNotAllowed=Etiketter er ikke tillatt
-literalObjectsNotSupported=Litteralobjekter st\u00f8ttes ikke
-nullPointerException=Kan ikke hente egenskap eller metode for en nullobjektreferanse
-StatementListNodeWIthMoreThanOneItem=En StatementListNode med mer enn ett element?
-typeNotExpected=Type ikke forventet
-unrecognizedBinaryOperator=kjenner ikke igjen bin\u00e6roperator
-unrecognizedUnaryOperator=kjenner ikke igjen un\u00e6roperator
-unsupportedExpression=Uttrykket st\u00f8ttes ikke
-whatIsDocCommentNode=vet ikke hva en DocCommentNode er
-whatIsMetaDataNode=vet ikke hva en MetaDataNode er
-xmlLiteralsNotSupported=XML-litteraler st\u00f8ttes ikke
-binaryProgramNodeUnexpected=Uventet BinaryProgramNode
-noSuchVariable = Denne variabelen finnes ikke: ${arg2}
-typeError = Typefeil
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nl.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nl.properties
deleted file mode 100644
index 6032c17..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_nl.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' niet toegestaan
-classDefinitionNotAllowed=Klassedefinitie niet toegestaan
-expressionNotSupported=Expressie niet ondersteund
-functionDefinitionNotAllowed=Functiedefinitie niet toegestaan
-interfaceDefinitionNotAllowed=Interfacedefinitie niet toegestaan
-labelsNotAllowed=Labels niet toegestaan
-literalObjectsNotSupported=Letterlijke objecten niet ondersteund
-nullPointerException=Kan een eigenschap of methode van een nul-objectverwijzing niet oproepen
-StatementListNodeWIthMoreThanOneItem=Een StatementListNode met meer dan \u00e9\u00e9n item?
-typeNotExpected=Type niet verwacht
-unrecognizedBinaryOperator=niet-herkende binaire operator
-unrecognizedUnaryOperator=niet-herkende monadische operator
-unsupportedExpression=Niet-ondersteunde expressie
-whatIsDocCommentNode=weet niet zeker wat een DocCommentNode is
-whatIsMetaDataNode=weet niet zeker wat een MetaDataNode is
-xmlLiteralsNotSupported=letterlijke XML-waarden worden niet ondersteund
-binaryProgramNodeUnexpected=BinaryProgramNode onverwacht
-noSuchVariable = Deze variabele bestaat niet: ${arg2}
-typeError = Type fout
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_pt.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_pt.properties
deleted file mode 100644
index ca9b636..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_pt.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=${keyword}' n\u00e3o permitido
-classDefinitionNotAllowed=Defini\u00e7\u00e3o de classe n\u00e3o permitida
-expressionNotSupported=N\u00e3o h\u00e1 suporte para a express\u00e3o
-functionDefinitionNotAllowed=Defini\u00e7\u00e3o de fun\u00e7\u00e3o n\u00e3o permitida
-interfaceDefinitionNotAllowed=Defini\u00e7\u00e3o de interface n\u00e3o permitida
-labelsNotAllowed=R\u00f3tulos n\u00e3o permitidos
-literalObjectsNotSupported=N\u00e3o h\u00e1 suporte para objetos literais
-nullPointerException=N\u00e3o \u00e9 poss\u00edvel acessar uma propriedade ou um m\u00e9todo de uma refer\u00eancia de objeto nula
-StatementListNodeWIthMoreThanOneItem=Um StatementListNode com mais de um item?
-typeNotExpected=Tipo n\u00e3o esperado
-unrecognizedBinaryOperator=operador bin\u00e1rio n\u00e3o reconhecido
-unrecognizedUnaryOperator=operador un\u00e1rio n\u00e3o reconhecido
-unsupportedExpression=Express\u00e3o sem suporte
-whatIsDocCommentNode=n\u00e3o h\u00e1 certeza do que \u00e9 DocCommentNode
-whatIsMetaDataNode=n\u00e3o h\u00e1 certeza do que \u00e9 MetaDataNode
-xmlLiteralsNotSupported=N\u00e3o h\u00e1 suporte para literais XML
-binaryProgramNodeUnexpected=BinaryProgramNode inesperado
-noSuchVariable = Vari\u00e1vel inexistente: ${arg2}
-typeError = Erro de tipo
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ru.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ru.properties
deleted file mode 100644
index c3136b4..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_ru.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043a\u043b\u044e\u0447\u0435\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e "${keyword}"
-classDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0441\u0430
-expressionNotSupported=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
-functionDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438
-interfaceDefinitionNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430
-labelsNotAllowed=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u043c\u0435\u0442\u043a\u0438
-literalObjectsNotSupported=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b
-nullPointerException=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0443 \u0438\u043b\u0438 \u043c\u0435\u0442\u043e\u0434\u0443 \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442
-StatementListNodeWIthMoreThanOneItem=StatementListNode \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432?
-typeNotExpected=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0439 \u0442\u0438\u043f
-unrecognizedBinaryOperator=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440
-unrecognizedUnaryOperator=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0443\u043d\u0430\u0440\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440
-unsupportedExpression=\u041d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
-whatIsDocCommentNode=\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 DocCommentNode
-whatIsMetaDataNode=\u041d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 MetaDataNode
-xmlLiteralsNotSupported=\u041b\u0438\u0442\u0435\u0440\u0430\u043b\u044b XML \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f.
-binaryProgramNodeUnexpected=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u044b\u0439 BinaryProgramNode
-noSuchVariable = \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: ${arg2}
-typeError = \u041e\u0448\u0438\u0431\u043a\u0430 \u0442\u0438\u043f\u0430
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_sv.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_sv.properties
deleted file mode 100644
index cc18ec7..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_sv.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed="${keyword}" till\u00e5ts inte
-classDefinitionNotAllowed=Klassdefinition till\u00e5ts inte
-expressionNotSupported=Det saknas st\u00f6d f\u00f6r uttrycket
-functionDefinitionNotAllowed=Funktionsdefinition till\u00e5ts inte
-interfaceDefinitionNotAllowed=Gr\u00e4nssnittsdefinition till\u00e5ts inte
-labelsNotAllowed=Etiketter till\u00e5ts inte
-literalObjectsNotSupported=Litteralobjekt till\u00e5ts inte
-nullPointerException=Det g\u00e5r inte att komma \u00e5t en egenskap eller metod med objektsreferensen null
-StatementListNodeWIthMoreThanOneItem=Inneh\u00e5ller StatementListNode mer \u00e4n ett objekt?
-typeNotExpected=Typen f\u00f6rv\u00e4ntades inte
-unrecognizedBinaryOperator=ok\u00e4nd bin\u00e4r operator
-unrecognizedUnaryOperator=ok\u00e4nd enst\u00e4llig operator
-unsupportedExpression=Det saknas st\u00f6d f\u00f6r uttrycket
-whatIsDocCommentNode=os\u00e4ker p\u00e5 vad DocCommentNode inneb\u00e4r
-whatIsMetaDataNode=os\u00e4ker p\u00e5 vad MetaDataNode inneb\u00e4r
-xmlLiteralsNotSupported=Det saknas st\u00f6d f\u00f6r XML-litteraler
-binaryProgramNodeUnexpected=BinaryProgramNode f\u00f6rv\u00e4ntades inte
-noSuchVariable = Variabeln ${arg2} finns inte
-typeError = Typfel
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_CN.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_CN.properties
deleted file mode 100644
index 0bdaa7a..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_CN.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=\u4e0d\u5141\u8bb8\u201c${keyword}\u201d
-classDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u7c7b\u5b9a\u4e49
-expressionNotSupported=\u4e0d\u652f\u6301\u8868\u8fbe\u5f0f
-functionDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u51fd\u6570\u5b9a\u4e49
-interfaceDefinitionNotAllowed=\u4e0d\u5141\u8bb8\u63a5\u53e3\u5b9a\u4e49
-labelsNotAllowed=\u4e0d\u5141\u8bb8\u6807\u7b7e
-literalObjectsNotSupported=\u4e0d\u652f\u6301\u6587\u672c\u5bf9\u8c61
-nullPointerException=\u65e0\u6cd5\u8bbf\u95ee null \u5bf9\u8c61\u5f15\u7528\u7684\u5c5e\u6027\u6216\u65b9\u6cd5
-StatementListNodeWIthMoreThanOneItem=\u662f\u5426\u4e3a\u5305\u542b\u591a\u4e2a\u9879\u7684 StatementListNode\uff1f
-typeNotExpected=\u610f\u5916\u7684\u7c7b\u578b
-unrecognizedBinaryOperator=\u65e0\u6cd5\u8bc6\u522b\u7684\u4e8c\u5143\u8fd0\u7b97\u7b26
-unrecognizedUnaryOperator=\u65e0\u6cd5\u8bc6\u522b\u7684\u4e00\u5143\u8fd0\u7b97\u7b26
-unsupportedExpression=\u4e0d\u652f\u6301\u7684\u8868\u8fbe\u5f0f
-whatIsDocCommentNode=\u4e0d\u786e\u5b9a DocCommentNode \u662f\u4ec0\u4e48
-whatIsMetaDataNode=\u4e0d\u786e\u5b9a MetaDataNode \u662f\u4ec0\u4e48
-xmlLiteralsNotSupported=\u4e0d\u652f\u6301 XML \u6587\u672c
-binaryProgramNodeUnexpected=\u610f\u5916\u7684 BinaryProgramNode
-noSuchVariable = \u65e0\u6b64\u7c7b\u53d8\u91cf: ${arg2}
-typeError = \u7c7b\u578b\u9519\u8bef
diff --git a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_TW.properties b/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_TW.properties
deleted file mode 100644
index ed5ad02..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/expression/expression_zh_TW.properties
+++ /dev/null
@@ -1,35 +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.
-
-
-keywordNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u300c${keyword}\u300d
-classDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u985e\u5225\u5b9a\u7fa9
-expressionNotSupported=\u4e0d\u652f\u63f4\u904b\u7b97\u5f0f
-functionDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u51fd\u6578\u5b9a\u7fa9
-interfaceDefinitionNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u4ecb\u9762\u5b9a\u7fa9
-labelsNotAllowed=\u4e0d\u5141\u8a31\u4f7f\u7528\u6a19\u7c64
-literalObjectsNotSupported=\u4e0d\u652f\u63f4\u5e38\u503c\u7269\u4ef6
-nullPointerException=\u7121\u6cd5\u5b58\u53d6 null \u7269\u4ef6\u53c3\u8003\u7684\u5c6c\u6027\u6216\u65b9\u6cd5
-StatementListNodeWIthMoreThanOneItem=\u5305\u542b\u591a\u500b\u9805\u76ee\u7684 StatementListNode?
-typeNotExpected=\u672a\u9810\u671f\u7684\u985e\u578b
-unrecognizedBinaryOperator=\u7121\u6cd5\u8b58\u5225\u7684\u4e8c\u5143\u904b\u7b97\u5b50
-unrecognizedUnaryOperator=\u7121\u6cd5\u8b58\u5225\u7684\u4e00\u5143\u904b\u7b97\u5b50
-unsupportedExpression=\u4e0d\u652f\u63f4\u7684\u904b\u7b97\u5f0f
-whatIsDocCommentNode=\u4e0d\u78ba\u5b9a DocCommentNode \u662f\u4ec0\u9ebc
-whatIsMetaDataNode=\u4e0d\u78ba\u5b9a MetaDataNode \u662f\u4ec0\u9ebc
-xmlLiteralsNotSupported=\u4e0d\u652f\u63f4 XML \u5e38\u503c
-binaryProgramNodeUnexpected=\u975e\u9810\u671f\u7684 BinaryProgramNode
-noSuchVariable = \u6c92\u6709\u6b64\u985e\u8b8a\u6578: ${arg2}
-typeError = \u985e\u578b\u932f\u8aa4
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java
deleted file mode 100644
index 7c3f15d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeASTBuilder.java
+++ /dev/null
@@ -1,64 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.text.ParseException;
-
-import flash.tools.debugger.expression.IASTBuilder;
-import flash.tools.debugger.expression.ValueExp;
-
-/**
- * @author Mike Morearty
- */
-public class ThreadSafeASTBuilder extends ThreadSafeDebuggerObject implements IASTBuilder
-{
-	private final IASTBuilder m_astBuilder;
-
-	/**
-	 * @param syncObj
-	 */
-	public ThreadSafeASTBuilder(Object syncObj, IASTBuilder astBuilder)
-	{
-		super(syncObj);
-		m_astBuilder = astBuilder;
-	}
-
-	/**
-	 * Wraps an IASTBuilder inside a ThreadSafeASTBuilder. If the passed-in
-	 * IASTBuilder is null, then this function returns null.
-	 */
-	public static ThreadSafeASTBuilder wrap(Object syncObj, IASTBuilder astBuilder) {
-		if (astBuilder != null)
-			return new ThreadSafeASTBuilder(syncObj, astBuilder);
-		else
-			return null;
-	}
-
-	/*
-	 * @see flash.tools.debugger.expression.IASTBuilder#parse(java.io.Reader)
-	 */
-	public ValueExp parse(Reader in) throws IOException, ParseException
-	{
-		synchronized (getSyncObject()) {
-			return ThreadSafeValueExp.wrap(getSyncObject(), m_astBuilder.parse(in));
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java
deleted file mode 100644
index 37d016d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeBootstrap.java
+++ /dev/null
@@ -1,39 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Bootstrap;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Bootstrap
- * @author Mike Morearty
- */
-public class ThreadSafeBootstrap {
-
-	private static ThreadSafeSessionManager fMgr;
-
-	private ThreadSafeBootstrap() {} // prevent instantiation
-
-	public static synchronized ThreadSafeSessionManager sessionManager()
-	{
-		if (fMgr == null) {
-			fMgr = ThreadSafeSessionManager.wrap(Bootstrap.sessionManager());
-		}
-		return fMgr;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java
deleted file mode 100644
index 02511ff..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeDebuggerObject.java
+++ /dev/null
@@ -1,36 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-/**
- * Intended to be subclassed.
- * 
- * @author Mike Morearty
- */
-class ThreadSafeDebuggerObject {
-
-	private Object fSyncObj;
-
-	protected ThreadSafeDebuggerObject(Object syncObj) {
-		fSyncObj = syncObj;
-	}
-
-	public final Object getSyncObject() {
-		return fSyncObj;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
deleted file mode 100644
index c39b2df..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeFrame.java
+++ /dev/null
@@ -1,140 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Variable;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Frame
- * @author Mike Morearty
- */
-public class ThreadSafeFrame extends ThreadSafeDebuggerObject implements Frame {
-	
-	private Frame fFrame;
-	
-	private ThreadSafeFrame(Object syncObj, Frame frame) {
-		super(syncObj);
-		fFrame = frame;
-	}
-
-	/**
-	 * Wraps a Frame inside a ThreadSafeFrame.  If the passed-in Frame
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeFrame wrap(Object syncObj, Frame frame) {
-		if (frame != null)
-			return new ThreadSafeFrame(syncObj, frame);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of Frames inside an array of ThreadSafeFrames.
-	 */
-	public static ThreadSafeFrame[] wrapArray(Object syncObj, Frame[] frames) {
-		ThreadSafeFrame[] threadSafeFrames = new ThreadSafeFrame[frames.length];
-		for (int i=0; i<frames.length; ++i) {
-			threadSafeFrames[i] = wrap(syncObj, frames[i]);
-		}
-		return threadSafeFrames;
-	}
-
-	public static Object getSyncObject(Frame f) {
-		return ((ThreadSafeFrame)f).getSyncObject();
-	}
-	
-	@Override
-	public int hashCode() {
-		synchronized (getSyncObject()) {
-			return fFrame.hashCode();
-		}
-	}
-
-	@Override
-	public boolean equals(Object other) {
-		synchronized (getSyncObject()) {
-			if (other == null)
-				return false;
-			if (other instanceof ThreadSafeFrame) {
-				return (fFrame.equals(((ThreadSafeFrame)other).fFrame));
-			}
-			if (other instanceof Frame) {
-				return (fFrame.equals(other));
-			}
-			return false;
-		}
-	}
-
-	@Override
-	public String toString() {
-		synchronized (getSyncObject()) {
-			return fFrame.toString();
-		}
-	}
-
-	// -- beginning of delegate functions --
-
-	public Variable[] getArguments(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getArguments(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	public String getCallSignature() {
-		synchronized (getSyncObject()) {
-			return fFrame.getCallSignature();
-		}
-	}
-
-	public Variable[] getLocals(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getLocals(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	public Location getLocation() {
-		synchronized (getSyncObject()) {
-			return ThreadSafeLocation.wrap(getSyncObject(), fFrame.getLocation());
-		}
-	}
-
-	public Variable getThis(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrap(getSyncObject(), fFrame.getThis(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	public Variable[] getScopeChain(Session s) throws NoResponseException, NotSuspendedException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fFrame.getScopeChain(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) {
-			return fFrame.getIsolateId();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
deleted file mode 100644
index 0cc5619..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolate.java
+++ /dev/null
@@ -1,62 +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.
- */
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Isolate;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Isolate
- * @author Anirudh Sasikumar
- */
-public class ThreadSafeIsolate extends ThreadSafeDebuggerObject implements Isolate {
-
-	private Isolate fIsolate;
-	
-	private ThreadSafeIsolate(Object syncObj, Isolate isolate) {
-		super(syncObj);
-		fIsolate = isolate;
-	}
-
-	/**
-	 * Wraps a Watch inside a ThreadSafeWatch.  If the passed-in Watch
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeIsolate wrap(Object syncObj, Isolate isolate) {
-		if (isolate != null)
-			return new ThreadSafeIsolate(syncObj, isolate);
-		else
-			return null;
-	}
-	
-	/**
-	 * Wraps an array of Locations inside an array of ThreadSafeLocations.
-	 */
-	public static ThreadSafeIsolate[] wrapArray(Object syncObj, Isolate[] isolates) {
-		ThreadSafeIsolate[] threadSafeIsolates = new ThreadSafeIsolate[isolates.length];
-		for (int i=0; i<isolates.length; ++i) {
-			threadSafeIsolates[i] = wrap(syncObj, isolates[i]);
-		}
-		return threadSafeIsolates;
-	}
-
-	public int getId() {
-		synchronized (getSyncObject()) {
-			return fIsolate.getId();
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
deleted file mode 100644
index 57f0820..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeIsolateSession.java
+++ /dev/null
@@ -1,285 +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.
- */
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSupportedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VersionException;
-import flash.tools.debugger.Watch;
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.IsolateSession
- * @author Anirudh Sasikumar
- */
-public class ThreadSafeIsolateSession extends ThreadSafeDebuggerObject
-		implements IsolateSession {
-
-	private IsolateSession fSession;
-	
-	private ThreadSafeIsolateSession(Object syncObj, IsolateSession session) {
-		super(syncObj);
-		fSession = session;
-	}
-	
-	/**
-	 * Wraps a Value inside a ThreadSafeValue.  If the passed-in Value
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeIsolateSession wrap(Object syncObj, IsolateSession session) {
-		if (session != null)
-			return new ThreadSafeIsolateSession(syncObj, session);
-		else
-			return null;
-	}
-
-	@Override
-	public void resume() throws NotSuspendedException, NotConnectedException,
-			NoResponseException {
-		synchronized (getSyncObject()) {
-			fSession.resume();
-		}		
-	}
-
-	@Override
-	public void suspend() throws SuspendedException, NotConnectedException,
-			NoResponseException {
-		synchronized (getSyncObject()) {
-			fSession.suspend();
-		}
-		
-	}
-
-	@Override
-	public boolean isSuspended() throws NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.isSuspended();
-		}
-	}
-
-	@Override
-	public int suspendReason() throws NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.suspendReason();
-		}
-	}
-
-	public void stepOver() throws NotSuspendedException, NoResponseException,
-	NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepOver();
-		}
-	}
-
-	public void stepContinue() throws NotSuspendedException,
-	NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepContinue();
-		}
-	}
-
-	public void stepInto() throws NotSuspendedException, NoResponseException,
-	NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepInto();
-		}
-	}
-
-	public void stepOut() throws NotSuspendedException, NoResponseException,
-	NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepOut();
-		}
-	}
-
-	@Override
-	public Frame[] getFrames() throws NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeFrame.wrapArray(getSyncObject(), fSession.getFrames());
-		}
-	}
-	
-	@Override
-	public boolean evalIs(Value value, Value type)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIs(value, type);
-		}
-	}
-
-	@Override
-	public boolean evalIs(Value value, String type)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIs(value, type);
-		}
-	}
-
-	@Override
-	public boolean evalInstanceof(Value value, Value type)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalInstanceof(value, type);
-		}
-	}
-
-	@Override
-	public boolean evalInstanceof(Value value, String type)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalInstanceof(value, type);
-		}
-	}
-
-	@Override
-	public boolean evalIn(Value property, Value object)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIn(property, object);
-		}
-	}
-
-	@Override
-	public Value evalAs(Value value, Value type)
-			throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.evalAs(value, type));
-		}
-	}
-
-	@Override
-	public Value callConstructor(String classname, Value[] args) 
-				throws PlayerDebugException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.callConstructor(classname, args));
-		}
-	}
-
-	@Override
-	public Watch[] getWatchList()
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeWatch.wrapArray(getSyncObject(), fSession.getWatchList());
-		}
-	}
-	
-	/** @deprecated */
-	public Variable[] getVariableList() throws NotSuspendedException,
-			NoResponseException, NotConnectedException, VersionException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fSession.getVariableList());
-		}
-	}
-
-	public Value callFunction(Value thisObject, String functionName, Value[] args)
-	throws PlayerDebugException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.callFunction(thisObject, functionName, args));
-		}
-	}
-	
-	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		synchronized (getSyncObject())
-		{
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.getGlobal(name));
-		}
-	}
-	
-	public SwfInfo[] getSwfs() throws NoResponseException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeSwfInfo.wrapArray(getSyncObject(), fSession.getSwfs());
-		}
-	}
-
-	public Value getValue(long valueId) throws NotSuspendedException,
-	NoResponseException, NotConnectedException
-	{
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.getValue(valueId));
-		}
-	}
-
-	public Location setBreakpoint(int fileId, int lineNum)
-	throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeLocation.wrap(getSyncObject(), fSession.setBreakpoint(fileId, lineNum));
-		}
-	}
-
-	@Override
-	public boolean setExceptionBreakpoint(String exceptionClass)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.setExceptionBreakpoint(exceptionClass); 
-		}
-	}
-
-	@Override
-	public boolean clearExceptionBreakpoint(String exceptionClass)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.clearExceptionBreakpoint(exceptionClass); 
-		}
-	}
-
-	@Override
-	public void breakOnCaughtExceptions(boolean b)
-			throws NotSupportedException, NoResponseException {
-		synchronized (getSyncObject()) {
-			fSession.breakOnCaughtExceptions(b); 
-		}
-	}
-
-	@Override
-	public boolean supportsWatchpoints() {
-		synchronized (getSyncObject()) {
-			return fSession.supportsWatchpoints(); 
-		}
-	}
-
-	@Override
-	public boolean playerCanBreakOnAllExceptions() {
-		synchronized (getSyncObject()) {
-			return fSession.playerCanBreakOnAllExceptions(); 
-		}
-	}
-
-	@Override
-	public boolean supportsWideLineNumbers() {
-		synchronized (getSyncObject()) {
-			return fSession.supportsWideLineNumbers();
-		}
-	}
-
-	@Override
-	public boolean playerCanCallFunctions() {
-		synchronized (getSyncObject()) {
-			return fSession.playerCanCallFunctions();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
deleted file mode 100644
index 26d7824..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeLocation.java
+++ /dev/null
@@ -1,90 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Location;
-import flash.tools.debugger.SourceFile;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Location
- * @author Mike Morearty
- */
-public class ThreadSafeLocation extends ThreadSafeDebuggerObject implements Location {
-
-	private Location fLocation;
-	
-	private ThreadSafeLocation(Object syncObj, Location location) {
-		super(syncObj);
-		fLocation = location;
-	}
-
-	/**
-	 * Wraps a Location inside a ThreadSafeLocation.  If the passed-in Location
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeLocation wrap(Object syncObj, Location location) {
-		if (location != null)
-			return new ThreadSafeLocation(syncObj, location);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of Locations inside an array of ThreadSafeLocations.
-	 */
-	public static ThreadSafeLocation[] wrapArray(Object syncObj, Location[] locations) {
-		ThreadSafeLocation[] threadSafeLocations = new ThreadSafeLocation[locations.length];
-		for (int i=0; i<locations.length; ++i) {
-			threadSafeLocations[i] = wrap(syncObj, locations[i]);
-		}
-		return threadSafeLocations;
-	}
-
-	/**
-	 * Returns the raw Location underlying a ThreadSafeLocation.
-	 */
-	public static Location getRaw(Location l) {
-		if (l instanceof ThreadSafeLocation)
-			return ((ThreadSafeLocation)l).fLocation;
-		else
-			return l;
-	}
-
-	public static Object getSyncObject(Location l) {
-		return ((ThreadSafeLocation)l).getSyncObject();
-	}
-
-	public SourceFile getFile() {
-		synchronized (getSyncObject()) {
-			return ThreadSafeSourceFile.wrap(getSyncObject(), fLocation.getFile());
-		}
-	}
-	
-	public int getLine() {
-		synchronized (getSyncObject()) {
-			return fLocation.getLine();
-		}
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) {
-			return fLocation.getIsolateId();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java
deleted file mode 100644
index ab27e10..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafePlayer.java
+++ /dev/null
@@ -1,73 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import java.io.File;
-
-import flash.tools.debugger.Browser;
-import flash.tools.debugger.Player;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Player
- * @author Mike Morearty
- */
-public class ThreadSafePlayer extends ThreadSafeDebuggerObject implements Player {
-
-	private Player fPlayer;
-	
-	private ThreadSafePlayer(Object syncObj, Player player) {
-		super(syncObj);
-		fPlayer = player;
-	}
-
-	/**
-	 * Wraps a Player inside a ThreadSafePlayer.  If the passed-in Player
-	 * is null, then this function returns null.
-	 */
-	public static Player wrap(Object syncObj, Player player) {
-		if (player != null)
-			return new ThreadSafePlayer(syncObj, player);
-		else
-			return null;
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getType()
-	 */
-	public int getType() {
-		synchronized (getSyncObject()) {
-			return fPlayer.getType();
-		}
-	}
-
-	/*
-	 * @see flash.tools.debugger.Player#getPath()
-	 */
-	public File getPath() {
-		synchronized (getSyncObject()) {
-			return fPlayer.getPath();
-		}
-	}
-
-	public Browser getBrowser() {
-		synchronized (getSyncObject()) {
-			return fPlayer.getBrowser();
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSession.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSession.java
deleted file mode 100644
index 4d25e5d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSession.java
+++ /dev/null
@@ -1,435 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.ILauncher;
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSupportedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceLocator;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VersionException;
-import flash.tools.debugger.Watch;
-import flash.tools.debugger.events.DebugEvent;
-import flash.tools.debugger.expression.PlayerFaultException;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Session
- * @author Mike Morearty
- */
-public class ThreadSafeSession extends ThreadSafeDebuggerObject implements Session {
-
-	private Session fSession;
-
-	private ThreadSafeSession(Object syncObj, Session session) {
-		super(syncObj);
-		fSession = session;
-	}
-
-	/**
-	 * Wraps a Session inside a ThreadSafeSession.  If the passed-in Session
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeSession wrap(Object syncObj, Session session) {
-		if (session != null)
-			return new ThreadSafeSession(syncObj, session);
-		else
-			return null;
-	}
-
-	/**
-	 * Returns the raw Session underlying a ThreadSafeSession.
-	 */
-	public static Session getRaw(Session s) {
-		if (s instanceof ThreadSafeSession)
-			return ((ThreadSafeSession)s).fSession;
-		else
-			return s;
-	}
-
-	public static Object getSyncObject(Session s) {
-		return ((ThreadSafeSession)s).getSyncObject();
-	}
-
-	public boolean bind() throws VersionException {
-		synchronized (getSyncObject()) {
-			return fSession.bind();
-		}
-	}
-
-	public Location clearBreakpoint(Location location)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeLocation.wrap(getSyncObject(), fSession.clearBreakpoint(ThreadSafeLocation.getRaw(location)));
-		}
-	}
-
-	public Watch clearWatch(Watch watch) throws NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeWatch.wrap(getSyncObject(), fSession.clearWatch(ThreadSafeWatch.getRaw(watch)));
-		}
-	}
-
-	public Location[] getBreakpointList() throws NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeLocation.wrapArray(getSyncObject(), fSession.getBreakpointList());
-		}
-	}
-
-	public int getEventCount() {
-		// Session.getEventCount() is guaranteed to be thread-safe, so we
-		// don't have to do a "synchronized" block around this call.
-		return fSession.getEventCount();
-	}
-
-	public Frame[] getFrames() throws NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeFrame.wrapArray(getSyncObject(), fSession.getFrames());
-		}
-	}
-
-	public Process getLaunchProcess() {
-		synchronized (getSyncObject()) {
-			return fSession.getLaunchProcess();
-		}
-	}
-
-	public int getPreference(String pref) throws NullPointerException {
-		synchronized (getSyncObject()) {
-			return fSession.getPreference(pref);
-		}
-	}
-
-	public SwfInfo[] getSwfs() throws NoResponseException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeSwfInfo.wrapArray(getSyncObject(), fSession.getSwfs());
-		}
-	}
-
-	public String getURI() {
-		synchronized (getSyncObject()) {
-			return fSession.getURI();
-		}
-	}
-
-	public Value getValue(long valueId) throws NotSuspendedException,
-			NoResponseException, NotConnectedException
-	{
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.getValue(valueId));
-		}
-	}
-
-	/** @deprecated */
-	public Variable[] getVariableList() throws NotSuspendedException,
-			NoResponseException, NotConnectedException, VersionException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fSession.getVariableList());
-		}
-	}
-
-	public Watch[] getWatchList() throws NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeWatch.wrapArray(getSyncObject(), fSession.getWatchList());
-		}
-	}
-
-	public boolean isConnected() {
-		// Session.isConnected() is guaranteed to be thread-safe, so we
-		// don't have to do a "synchronized" block around this call.
-		return fSession.isConnected();
-	}
-
-	public boolean isSuspended() throws NotConnectedException {
-		// Session.isSuspended() is guaranteed to be thread-safe, so we
-		// don't have to do a "synchronized" block around this call.
-		return fSession.isSuspended();
-	}
-
-	public DebugEvent nextEvent() {
-		synchronized (getSyncObject()) {
-			return fSession.nextEvent();
-		}
-	}
-
-	public void resume() throws NotSuspendedException, NotConnectedException,
-			NoResponseException {
-		synchronized (getSyncObject()) {
-			fSession.resume();
-		}
-	}
-
-	public Location setBreakpoint(int fileId, int lineNum)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeLocation.wrap(getSyncObject(), fSession.setBreakpoint(fileId, lineNum));
-		}
-	}
-
-	public void setPreference(String pref, int value) {
-		synchronized (getSyncObject()) {
-			fSession.setPreference(pref, value);
-		}
-	}
-
-	public Watch setWatch(Value v, String memberName, int kind)
-			throws NoResponseException, NotConnectedException, NotSupportedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeWatch.wrap(getSyncObject(), fSession.setWatch(ThreadSafeValue.getRaw(v), memberName, kind));
-		}
-	}
-
-	public Watch setWatch(Watch watch) throws NoResponseException,
-			NotConnectedException, NotSupportedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeWatch.wrap(getSyncObject(), fSession.setWatch(ThreadSafeWatch.getRaw(watch)));
-		}
-	}
-
-	public void stepContinue() throws NotSuspendedException,
-			NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepContinue();
-		}
-	}
-
-	public void stepInto() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepInto();
-		}
-	}
-
-	public void stepOut() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepOut();
-		}
-	}
-
-	public void stepOver() throws NotSuspendedException, NoResponseException,
-			NotConnectedException {
-		synchronized (getSyncObject()) {
-			fSession.stepOver();
-		}
-	}
-
-	public void suspend() throws SuspendedException, NotConnectedException,
-			NoResponseException {
-		synchronized (getSyncObject()) {
-			fSession.suspend();
-		}
-	}
-
-	public int suspendReason() throws NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.suspendReason();
-		}
-	}
-
-	public void terminate() {
-		synchronized (getSyncObject()) {
-			fSession.terminate();
-		}
-	}
-
-	public void unbind() {
-		synchronized (getSyncObject()) {
-			fSession.unbind();
-		}
-	}
-
-	public void waitForEvent() throws NotConnectedException, InterruptedException {
-		synchronized (getSyncObject()) {
-			fSession.waitForEvent();
-		}
-	}
-
-	public SourceLocator getSourceLocator()
-	{
-		synchronized (getSyncObject()) {
-			return ThreadSafeSourceLocator.wrap(getSyncObject(), fSession.getSourceLocator());
-		}
-	}
-
-	public void setSourceLocator(SourceLocator sourceLocator)
-	{
-		synchronized (getSyncObject()) {
-			fSession.setSourceLocator(sourceLocator);
-		}
-	}
-
-	public Value callConstructor(String classname, Value[] args)
-			throws PlayerDebugException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.callConstructor(classname, args));
-		}
-	}
-
-	public Value callFunction(Value thisObject, String functionName, Value[] args)
-			throws PlayerDebugException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.callFunction(thisObject, functionName, args));
-		}
-	}
-
-	public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		synchronized (getSyncObject())
-		{
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.getGlobal(name));
-		}
-	}
-
-	public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException {
-		synchronized (getSyncObject())	{
-			fSession.breakOnCaughtExceptions(b);
-		}
-	}
-
-	public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIs(value, type);
-		}
-	}
-
-	public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIs(value, type);
-		}
-	}
-
-	public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalInstanceof(value, type);
-		}
-	}
-
-	public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalInstanceof(value, type);
-		}
-	}
-
-	public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return fSession.evalIn(property, object);
-		}
-	}
-
-	public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fSession.evalAs(value, type));
-		}
-	}
-
-	public boolean supportsWatchpoints() {
-		synchronized (getSyncObject()) {
-			return fSession.supportsWatchpoints();
-		}
-	}
-	
-	public boolean supportsConcurrency() {
-		synchronized (getSyncObject()) {
-			return fSession.supportsConcurrency();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#getDisconnectCause()
-	 */
-	public Exception getDisconnectCause() {
-		synchronized (getSyncObject()) {
-			return fSession.getDisconnectCause();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#refreshWorkers()
-	 */
-	@Override
-	public Isolate[] refreshWorkers() throws NotSupportedException,
-			NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeIsolate.wrapArray(getSyncObject(), fSession.getWorkers());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#getWorkers()
-	 */
-	@Override
-	public Isolate[] getWorkers() {
-		synchronized (getSyncObject()) {
-			return fSession.getWorkers();
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#getWorkerSession(int)
-	 */
-	@Override
-	public IsolateSession getWorkerSession(int isolateId) {
-		synchronized (getSyncObject()) {
-			return ThreadSafeIsolateSession.wrap(getSyncObject(), fSession.getWorkerSession(isolateId));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#setExceptionBreakpoint(String)
-	 */
-	@Override
-	public boolean setExceptionBreakpoint(String exceptionClass)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.setExceptionBreakpoint(exceptionClass);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String)
-	 */
-	@Override
-	public boolean clearExceptionBreakpoint(String exceptionClass)
-			throws NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return fSession.clearExceptionBreakpoint(exceptionClass);
-		}
-	}
-
-	@Override
-	public void setLauncher(ILauncher launcher) {
-		synchronized (getSyncObject()) {
-			fSession.setLauncher(launcher);
-		}
-	}
-
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSessionManager.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSessionManager.java
deleted file mode 100644
index 66145fb..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSessionManager.java
+++ /dev/null
@@ -1,203 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import java.io.IOException;
-
-import flash.tools.debugger.AIRLaunchInfo;
-import flash.tools.debugger.IDebuggerCallbacks;
-import flash.tools.debugger.ILaunchNotification;
-import flash.tools.debugger.ILauncher;
-import flash.tools.debugger.IProgress;
-import flash.tools.debugger.Player;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager;
-import flash.tools.debugger.SessionManager2;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.SessionManager
- * @author Mike Morearty
- */
-public class ThreadSafeSessionManager extends ThreadSafeDebuggerObject implements SessionManager2 {
-
-	private SessionManager fSessionManager;
-	
-	private ThreadSafeSessionManager(SessionManager sessionManager) {
-		super(new Object());
-		fSessionManager = sessionManager;
-	}
-
-	/**
-	 * Wraps a SessionManager inside a ThreadSafeSessionManager.  If the passed-in SessionManager
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeSessionManager wrap(SessionManager sessionManager) {
-		if (sessionManager != null)
-			return new ThreadSafeSessionManager(sessionManager);
-		else
-			return null;
-	}
-
-	public static Object getSyncObject(SessionManager sm) {
-		return ((ThreadSafeSessionManager)sm).getSyncObject();
-	}
-
-	public Session accept(IProgress waitReporter) throws IOException {
-		// WARNING: This function is not thread-safe.
-		//
-		// accept() can take a very long time -- e.g. if there is something wrong,
-		// then it might hang for two minutes while waiting for the Flash player.
-		// So, it is not acceptable to put this in a "synchronized" block.
-		return ThreadSafeSession.wrap(getSyncObject(), fSessionManager.accept(waitReporter));
-	}
-
-	public int getPreference(String pref) throws NullPointerException {
-		synchronized (getSyncObject()) {
-			return fSessionManager.getPreference(pref);
-		}
-	}
-
-	public boolean isListening() {
-		synchronized (getSyncObject()) {
-			return fSessionManager.isListening();
-		}
-	}
-
-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo, boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification) throws IOException {
-		// WARNING: This function is not thread-safe.
-		//
-		// launch() can take a very long time -- e.g. if there is something wrong,
-		// then it might hang for two minutes while waiting for the Flash player.
-		// So, it is not acceptable to put this in a "synchronized" block.
-		return ThreadSafeSession.wrap(getSyncObject(), fSessionManager.launch(uri, airLaunchInfo, forDebugging, waitReporter,launchNotification));
-	}
-
-	public Player playerForUri(String uri, AIRLaunchInfo airLaunchInfo) {
-		synchronized (getSyncObject()) {
-			return ThreadSafePlayer.wrap(getSyncObject(), fSessionManager.playerForUri(uri, airLaunchInfo));
-		}
-	}
-
-	public boolean supportsLaunch()
-	{
-		synchronized (getSyncObject()) {
-			return fSessionManager.supportsLaunch();
-		}
-	}
-
-	public void setPreference(String pref, int value) {
-		synchronized (getSyncObject()) {
-			fSessionManager.setPreference(pref, value);
-		}
-	}
-
-	public void setPreference(String pref, String value) {
-		synchronized (getSyncObject()) {
-			fSessionManager.setPreference(pref, value);
-		}
-	}
-
-	public void startListening() throws IOException {
-		synchronized (getSyncObject()) {
-			fSessionManager.startListening();
-		}
-	}
-
-	public void stopListening() throws IOException {
-		synchronized (getSyncObject()) {
-			fSessionManager.stopListening();
-		}
-	}
-
-	public void setDebuggerCallbacks(IDebuggerCallbacks debuggerCallbacks) {
-		synchronized (getSyncObject()) {
-			fSessionManager.setDebuggerCallbacks(debuggerCallbacks);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.SessionManager#connect(int, flash.tools.debugger.IProgress)
-	 */
-	public Session connect(int port, IProgress waitReporter) throws IOException {
-		// WARNING: This function is not thread-safe.
-		//
-		// connect() can take a very long time -- e.g. if there is something wrong,
-		// then it might hang for two minutes while waiting for the Flash player.
-		// So, it is not acceptable to put this in a "synchronized" block.
-		return ThreadSafeSession.wrap(getSyncObject(), fSessionManager.connect(port, waitReporter));		
-	}
-	
-	public void stopConnecting() throws IOException {
-		synchronized (getSyncObject()) {
-			fSessionManager.stopConnecting();
-		}
-	}
-	
-	public boolean isConnecting() {
-		synchronized (getSyncObject()) {
-			return fSessionManager.isConnecting();
-		}
-	}
-
-	@Override
-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo,
-			IProgress waitReporter, ILaunchNotification launchNotification)
-			throws IOException {
-		/*
-		 * launch used to return null when the session was null.
-		 * The session will be null in this case because this is invoked for run launches.
-		 * We just return the process to be consistent with PlayerSessionManager. 
-		 */
-		assert fSessionManager instanceof SessionManager2;
-		
-		Process process = ((SessionManager2) fSessionManager).launchForRun(uri, airLaunchInfo, waitReporter, launchNotification);
-			
-		return process;	
-	}
-
-	@Override
-	public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo,
-			IProgress waitReporter, ILaunchNotification launchNotification,
-			ILauncher launcher) throws IOException {
-		/*
-		 * launch used to return null when the session was null.
-		 * The session will be null in this case because this is invoked for run launches.
-		 * We just return the process to be consistent with PlayerSessionManager. 
-		 */
-		assert fSessionManager instanceof SessionManager2;
-		
-		Process process = ((SessionManager2) fSessionManager).launchForRun(uri, airLaunchInfo, waitReporter, launchNotification,launcher);
-			
-		return process;	
-	}
-
-	@Override
-	public Session launch(String uri, AIRLaunchInfo airLaunchInfo,
-			boolean forDebugging, IProgress waitReporter,
-			ILaunchNotification launchNotification, ILauncher launcher)
-			throws IOException {
-		// WARNING: This function is not thread-safe.
-				//
-				// launch() can take a very long time -- e.g. if there is something wrong,
-				// then it might hang for two minutes while waiting for the Flash player.
-				// So, it is not acceptable to put this in a "synchronized" block.
-				assert fSessionManager instanceof SessionManager2;
-				
-				return ThreadSafeSession.wrap(getSyncObject(), ((SessionManager2) fSessionManager).launch(uri, airLaunchInfo, forDebugging, waitReporter,launchNotification,launcher));
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceFile.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceFile.java
deleted file mode 100644
index 7a1b680..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceFile.java
+++ /dev/null
@@ -1,150 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.SourceFile
- * @author Mike Morearty
- */
-public class ThreadSafeSourceFile extends ThreadSafeDebuggerObject implements SourceFile {
-	
-	private SourceFile fSourceFile;
-	
-	private ThreadSafeSourceFile(Object syncObj, SourceFile sourceFile) {
-		super(syncObj);
-		fSourceFile = sourceFile;
-	}
-
-	/**
-	 * Wraps a SourceFile inside a ThreadSafeSourceFile.  If the passed-in SourceFile
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeSourceFile wrap(Object syncObj, SourceFile sourceFile) {
-		if (sourceFile != null)
-			return new ThreadSafeSourceFile(syncObj, sourceFile);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of SourceFiles inside an array of ThreadSafeSourceFiles.
-	 */
-	public static ThreadSafeSourceFile[] wrapArray(Object syncObj, SourceFile[] sourceFiles) {
-		ThreadSafeSourceFile[] threadSafeSourceFiles = new ThreadSafeSourceFile[sourceFiles.length];
-		for (int i=0; i<sourceFiles.length; ++i) {
-			threadSafeSourceFiles[i] = wrap(syncObj, sourceFiles[i]);
-		}
-		return threadSafeSourceFiles;
-	}
-
-	/**
-	 * Returns the raw SourceFile underlying a ThreadSafeSourceFile.
-	 */
-	public static SourceFile getRaw(SourceFile f) {
-		if (f instanceof ThreadSafeSourceFile)
-			return ((ThreadSafeSourceFile)f).fSourceFile;
-		else
-			return f;
-	}
-
-	public static Object getSyncObject(SourceFile sf) {
-		return ((ThreadSafeSourceFile)sf).getSyncObject();
-	}
-
-	public String getRawName() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getRawName();
-		}
-	}
-
-	public String getFunctionNameForLine(Session session, int lineNum) {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getFunctionNameForLine(session, lineNum);
-		}
-	}
-
-	public String[] getFunctionNames(Session session) {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getFunctionNames(session);
-		}
-	}
-
-	public int getId() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getId();
-		}
-	}
-
-	public String getLine(int lineNum) {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getLine(lineNum);
-		}
-	}
-
-	public int getLineCount() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getLineCount();
-		}
-	}
-
-	public int getLineForFunctionName(Session session, String name) {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getLineForFunctionName(session, name);
-		}
-	}
-
-	public String getName() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getName();
-		}
-	}
-
-	public int getOffsetForLine(int lineNum) {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getOffsetForLine(lineNum);
-		}
-	}
-
-	public String getPackageName() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getPackageName();
-		}
-	}
-
-	public String getFullPath() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getFullPath();
-		}
-	}
-
-	public String getBasePath() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.getBasePath();
-		}
-	}
-
-	@Override
-	public String toString() {
-		synchronized (getSyncObject()) {
-			return fSourceFile.toString();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceLocator.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceLocator.java
deleted file mode 100644
index a4d6c21..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSourceLocator.java
+++ /dev/null
@@ -1,70 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import java.io.InputStream;
-
-import flash.tools.debugger.SourceLocator;
-
-/**
- * @author Mike Morearty
- */
-public class ThreadSafeSourceLocator extends ThreadSafeDebuggerObject implements SourceLocator
-{
-	private SourceLocator fSourceLocator;
-	
-	/**
-	 * @param syncObj
-	 */
-	public ThreadSafeSourceLocator(Object syncObj, SourceLocator sourceLocator)
-	{
-		super(syncObj);
-		fSourceLocator = sourceLocator;
-	}
-
-	/**
-	 * Wraps a SourceLocator inside a ThreadSafeSourceLocator.  If the passed-in SourceLocator
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeSourceLocator wrap(Object syncObj, SourceLocator sourceLocator) {
-		if (sourceLocator != null)
-			return new ThreadSafeSourceLocator(syncObj, sourceLocator);
-		else
-			return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.SourceLocator#locateSource(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public InputStream locateSource(String arg0, String arg1, String arg2)
-	{
-		synchronized (getSyncObject()) {
-			return fSourceLocator.locateSource(arg0, arg1, arg2);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.SourceLocator#getChangeCount()
-	 */
-	public int getChangeCount()
-	{
-		synchronized (getSyncObject()) {
-			return fSourceLocator.getChangeCount();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
deleted file mode 100644
index a3d698c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeSwfInfo.java
+++ /dev/null
@@ -1,124 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SwfInfo;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.SwfInfo
- * @author Mike Morearty
- */
-public class ThreadSafeSwfInfo extends ThreadSafeDebuggerObject implements SwfInfo {
-	
-	private SwfInfo fSwfInfo;
-	
-	private ThreadSafeSwfInfo(Object syncObj, SwfInfo swfInfo) {
-		super(syncObj);
-		fSwfInfo = swfInfo;
-	}
-
-	/**
-	 * Wraps a SwfInfo inside a ThreadSafeSwfInfo.  If the passed-in SwfInfo
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeSwfInfo wrap(Object syncObj, SwfInfo swfInfo) {
-		if (swfInfo != null)
-			return new ThreadSafeSwfInfo(syncObj, swfInfo);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of SwfInfos inside an array of ThreadSafeSwfInfos.
-	 */
-	public static ThreadSafeSwfInfo[] wrapArray(Object syncObj, SwfInfo[] swfinfos) {
-		ThreadSafeSwfInfo[] threadSafeSwfInfos = new ThreadSafeSwfInfo[swfinfos.length];
-		for (int i=0; i<swfinfos.length; ++i) {
-			threadSafeSwfInfos[i] = wrap(syncObj, swfinfos[i]);
-		}
-		return threadSafeSwfInfos;
-	}
-
-	public static Object getSyncObject(SwfInfo swfInfo) {
-		return ((ThreadSafeSwfInfo)swfInfo).getSyncObject();
-	}
-
-	public boolean containsSource(SourceFile f) {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.containsSource(ThreadSafeSourceFile.getRaw(f));
-		}
-	}
-
-	public String getPath() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getPath();
-		}
-	}
-
-	public int getSourceCount(Session s) throws InProgressException {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getSourceCount(ThreadSafeSession.getRaw(s));
-		}
-	}
-
-	public SourceFile[] getSourceList(Session s) throws InProgressException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeSourceFile.wrapArray(getSyncObject(), fSwfInfo.getSourceList(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	public int getSwdSize(Session s) throws InProgressException {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getSwdSize(ThreadSafeSession.getRaw(s));
-		}
-	}
-
-	public int getSwfSize() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getSwfSize();
-		}
-	}
-
-	public String getUrl() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getUrl();
-		}
-	}
-
-	public boolean isProcessingComplete() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.isProcessingComplete();
-		}
-	}
-
-	public boolean isUnloaded() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.isUnloaded();
-		}
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) {
-			return fSwfInfo.getIsolateId();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValue.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValue.java
deleted file mode 100644
index f78414d..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValue.java
+++ /dev/null
@@ -1,159 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Value
- * @author Mike Morearty
- */
-public class ThreadSafeValue extends ThreadSafeDebuggerObject implements Value {
-
-	private Value fVal;
-
-	private ThreadSafeValue(Object syncObj, Value val) {
-		super(syncObj);
-		fVal = val;
-	}
-
-	/**
-	 * Wraps a Value inside a ThreadSafeValue.  If the passed-in Value
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeValue wrap(Object syncObj, Value val) {
-		if (val != null)
-			return new ThreadSafeValue(syncObj, val);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of Values inside an array of ThreadSafeValues.
-	 */
-	public static ThreadSafeValue[] wrapArray(Object syncObj, Value[] values) {
-		ThreadSafeValue[] threadSafeValues = new ThreadSafeValue[values.length];
-		for (int i=0; i<values.length; ++i) {
-			threadSafeValues[i] = wrap(syncObj, values[i]);
-		}
-		return threadSafeValues;
-	}
-
-	/**
-	 * Returns the raw Value underlying a ThreadSafeValue.
-	 */
-	public static Value getRaw(Value v) {
-		if (v instanceof ThreadSafeValue)
-			return ((ThreadSafeValue)v).fVal;
-		else
-			return v;
-	}
-
-	public static Object getSyncObject(Value v) {
-		return ((ThreadSafeValue)v).getSyncObject();
-	}
-	
-	@Override
-	public boolean equals(Object other) {
-		if (other instanceof Value)
-			return fVal.equals(getRaw((Value)other));
-		else
-			return false;
-	}
-
-	public int getAttributes() {
-		synchronized (getSyncObject()) { return fVal.getAttributes(); }
-	}
-
-	public String getClassName() {
-		synchronized (getSyncObject()) { return fVal.getClassName(); }
-	}
-
-	public long getId() {
-		synchronized (getSyncObject()) { return fVal.getId(); }
-	}
-
-	public int getMemberCount(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) { return fVal.getMemberCount(ThreadSafeSession.getRaw(s)); }
-	}
-
-	public Variable getMemberNamed(Session s, String name) throws NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrap(getSyncObject(), fVal.getMemberNamed(ThreadSafeSession.getRaw(s), name));
-		}
-	}
-
-	public Variable[] getMembers(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fVal.getMembers(ThreadSafeSession.getRaw(s)));
-		}
-	}
-
-	public int getType() {
-		synchronized (getSyncObject()) { return fVal.getType(); }
-	}
-
-	public String getTypeName() {
-		synchronized (getSyncObject()) { return fVal.getTypeName(); }
-	}
-
-	public Object getValueAsObject() {
-		synchronized (getSyncObject()) { return fVal.getValueAsObject(); }
-	}
-
-	public String getValueAsString() {
-		synchronized (getSyncObject()) { return fVal.getValueAsString(); }
-	}
-
-	public boolean isAttributeSet(int variableAttribute) {
-		synchronized (getSyncObject()) { return fVal.isAttributeSet(variableAttribute); }
-	}
-
-	public String[] getClassHierarchy(boolean allLevels) {
-		synchronized (getSyncObject()) { return fVal.getClassHierarchy(allLevels); }
-	}
-
-	@Override
-	public String toString() {
-		synchronized (getSyncObject()) { return fVal.toString(); }
-	}
-
-	public Variable[] getPrivateInheritedMembers() {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fVal.getPrivateInheritedMembers());
-		}
-	}
-
-	public Variable[] getPrivateInheritedMemberNamed(String name) {
-		synchronized (getSyncObject()) {
-			return ThreadSafeVariable.wrapArray(getSyncObject(), fVal.getPrivateInheritedMemberNamed(name));
-		}
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) {
-			return fVal.getIsolateId();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValueExp.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValueExp.java
deleted file mode 100644
index 1b5b75c..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeValueExp.java
+++ /dev/null
@@ -1,71 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.expression.Context;
-import flash.tools.debugger.expression.NoSuchVariableException;
-import flash.tools.debugger.expression.PlayerFaultException;
-import flash.tools.debugger.expression.ValueExp;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.expression.ValueExp
- * @author Mike Morearty
- */
-public class ThreadSafeValueExp extends ThreadSafeDebuggerObject implements ValueExp
-{
-	private final ValueExp m_valueExp;
-
-	public ThreadSafeValueExp(Object syncObj, ValueExp valueExp)
-	{
-		super(syncObj);
-		m_valueExp = valueExp;
-	}
-
-	/**
-	 * Wraps a ValueExp inside a ThreadSafeValueExp. If the passed-in
-	 * ValueExp is null, then this function returns null.
-	 */
-	public static ThreadSafeValueExp wrap(Object syncObj, ValueExp valueExp) {
-		if (valueExp != null)
-			return new ThreadSafeValueExp(syncObj, valueExp);
-		else
-			return null;
-	}
-
-	public Object evaluate(Context context) throws NumberFormatException, NoSuchVariableException, PlayerFaultException, PlayerDebugException
-	{
-		synchronized (getSyncObject()) {
-			return m_valueExp.evaluate(context);
-		}
-	}
-
-	public boolean containsAssignment()
-	{
-		synchronized (getSyncObject()) {
-			return m_valueExp.containsAssignment();
-		}
-	}
-
-	public boolean isLookupMembers()
-	{
-		synchronized (getSyncObject()) {
-			return m_valueExp.isLookupMembers();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeVariable.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
deleted file mode 100644
index 126a224..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeVariable.java
+++ /dev/null
@@ -1,142 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.events.FaultEvent;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Variable
- * @author Mike Morearty
- */
-public class ThreadSafeVariable extends ThreadSafeDebuggerObject implements Variable {
-
-	private Variable fVar;
-
-	private ThreadSafeVariable(Object syncObj, Variable var) {
-		super(syncObj);
-		fVar = var;
-	}
-
-	/**
-	 * Wraps a Variable inside a ThreadSafeVariable.  If the passed-in Variable
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeVariable wrap(Object syncObj, Variable variable) {
-		if (variable != null)
-			return new ThreadSafeVariable(syncObj, variable);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of Variables inside an array of ThreadSafeVariables.
-	 */
-	public static ThreadSafeVariable[] wrapArray(Object syncObj, Variable[] variables) {
-		ThreadSafeVariable[] threadSafeVariables = new ThreadSafeVariable[variables.length];
-		for (int i=0; i<variables.length; ++i) {
-			threadSafeVariables[i] = wrap(syncObj, variables[i]);
-		}
-		return threadSafeVariables;
-	}
-
-	/**
-	 * Returns the raw Variable underlying a ThreadSafeVariable.
-	 */
-	public static Variable getRaw(Variable v) {
-		if (v instanceof ThreadSafeVariable)
-			return ((ThreadSafeVariable)v).fVar;
-		else
-			return v;
-	}
-
-	public static Object getSyncObject(Variable v) {
-		return ((ThreadSafeVariable)v).getSyncObject();
-	}
-
-	public String getName() {
-		synchronized (getSyncObject()) { return fVar.getName(); }
-	}
-
-	public int getAttributes() {
-		synchronized (getSyncObject()) { return fVar.getAttributes(); }
-	}
-
-	public boolean isAttributeSet(int variableAttribute) {
-		synchronized (getSyncObject()) { return fVar.isAttributeSet(variableAttribute); }
-	}
-
-	public Value getValue() {
-		synchronized (getSyncObject()) {
-			return ThreadSafeValue.wrap(getSyncObject(), fVar.getValue());
-		}
-	}
-
-	public boolean hasValueChanged(Session s) {
-		synchronized (getSyncObject()) {
-			return fVar.hasValueChanged(ThreadSafeSession.getRaw(s));
-		}
-	}
-
-	public boolean needsToInvokeGetter() {
-		synchronized (getSyncObject()) { return fVar.needsToInvokeGetter(); }
-	}
-
-	public void invokeGetter(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) { fVar.invokeGetter(ThreadSafeSession.getRaw(s)); }
-	}
-
-	public String getQualifiedName() {
-		synchronized (getSyncObject()) { return fVar.getQualifiedName(); }
-	}
-
-	public String getNamespace() {
-		synchronized (getSyncObject()) { return fVar.getNamespace(); }
-	}
-	
-	public int getScope() {
-		synchronized (getSyncObject()) { return fVar.getScope(); }
-	}
-
-	public FaultEvent setValue(Session s, int type, String value) throws NotSuspendedException, NoResponseException, NotConnectedException {
-		synchronized (getSyncObject()) { return fVar.setValue(ThreadSafeSession.getRaw(s), type, value); }
-	}
-
-	public String getDefiningClass() {
-		synchronized (getSyncObject()) { return fVar.getDefiningClass(); }
-	}
-
-	public int getLevel() {
-		synchronized (getSyncObject()) { return fVar.getLevel(); }
-	}
-
-	@Override
-	public String toString() {
-		synchronized (getSyncObject()) { return fVar.toString(); }
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) { return fVar.getIsolateId(); }
-	}
-}
diff --git a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeWatch.java b/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
deleted file mode 100644
index 276a0c5..0000000
--- a/modules/fdbworkers/src/flash/tools/debugger/threadsafe/ThreadSafeWatch.java
+++ /dev/null
@@ -1,95 +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.
- */
-
-package flash.tools.debugger.threadsafe;
-
-import flash.tools.debugger.Watch;
-
-/**
- * Thread-safe wrapper for flash.tools.debugger.Watch
- * @author Mike Morearty
- */
-public class ThreadSafeWatch extends ThreadSafeDebuggerObject implements Watch {
-	
-	private Watch fWatch;
-	
-	private ThreadSafeWatch(Object syncObj, Watch watch) {
-		super(syncObj);
-		fWatch = watch;
-	}
-
-	/**
-	 * Wraps a Watch inside a ThreadSafeWatch.  If the passed-in Watch
-	 * is null, then this function returns null.
-	 */
-	public static ThreadSafeWatch wrap(Object syncObj, Watch watch) {
-		if (watch != null)
-			return new ThreadSafeWatch(syncObj, watch);
-		else
-			return null;
-	}
-
-	/**
-	 * Wraps an array of Watches inside an array of ThreadSafeWatches.
-	 */
-	public static ThreadSafeWatch[] wrapArray(Object syncObj, Watch[] watchs) {
-		ThreadSafeWatch[] threadSafeWatches = new ThreadSafeWatch[watchs.length];
-		for (int i=0; i<watchs.length; ++i) {
-			threadSafeWatches[i] = wrap(syncObj, watchs[i]);
-		}
-		return threadSafeWatches;
-	}
-
-	/**
-	 * Returns the raw Watch underlying a ThreadSafeWatch.
-	 */
-	public static Watch getRaw(Watch w) {
-		if (w instanceof ThreadSafeWatch)
-			return ((ThreadSafeWatch)w).fWatch;
-		else
-			return w;
-	}
-
-	public static Object getSyncObject(Watch w) {
-		return ((ThreadSafeWatch)w).getSyncObject();
-	}
-
-	public int getKind() {
-		synchronized (getSyncObject()) {
-			return fWatch.getKind();
-		}
-	}
-
-	public String getMemberName() {
-		synchronized (getSyncObject()) {
-			return fWatch.getMemberName();
-		}
-	}
-
-	public long getValueId() {
-		synchronized (getSyncObject()) {
-			return fWatch.getValueId();
-		}
-	}
-
-	@Override
-	public int getIsolateId() {
-		synchronized (getSyncObject()) {
-			return fWatch.getIsolateId();
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flash/util/URLEncoder.java b/modules/fdbworkers/src/flash/util/URLEncoder.java
deleted file mode 100644
index 52afb29..0000000
--- a/modules/fdbworkers/src/flash/util/URLEncoder.java
+++ /dev/null
@@ -1,150 +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.
-//
-////////////////////////////////////////////////////////////////////////////////
-
-package flash.util;
-
-import java.io.*;
-
-public final class URLEncoder
-{
-	public static final String charset = "UTF8"; //$NON-NLS-1$
-
-	private URLEncoder()
-	{
-	}
-
-	public static final String encode(String s)
-	{
-		try
-		{
-			return encode(s, charset);
-		}
-		catch (UnsupportedEncodingException ex)
-		{
-			throw new IllegalArgumentException(charset);
-		}
-	}
-
-	public static final String encode(String s, String enc) throws UnsupportedEncodingException
-	{
-		if (!needsEncoding(s))
-		{
-			return s;
-		}
-
-		int length = s.length();
-
-		StringBuilder out = new StringBuilder(length);
-
-		ByteArrayOutputStream buf = new ByteArrayOutputStream(10); // why 10? w3c says so.
-
-		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buf, enc));
-
-		for (int i = 0; i < length; i++)
-		{
-			int c = s.charAt(i);
-			if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == ' ')
-			{
-				if (c == ' ')
-				{
-					c = '+';
-				}
-
-				toHex(out, buf.toByteArray());
-				buf.reset();
-
-				out.append((char) c);
-			}
-			else
-			{
-				try
-				{
-					writer.write(c);
-
-					if (c >= 0xD800 && c <= 0xDBFF && i < length - 1)
-					{
-						int d = s.charAt(i + 1);
-						if (d >= 0xDC00 && d <= 0xDFFF)
-						{
-							writer.write(d);
-							i++;
-						}
-					}
-
-					writer.flush();
-				}
-				catch (IOException ex)
-				{
-					throw new IllegalArgumentException(s);
-				}
-			}
-		}
-
-		toHex(out, buf.toByteArray());
-
-		return out.toString();
-	}
-
-	private static final void toHex(StringBuilder buffer, byte[] b)
-	{
-		for (int i = 0; i < b.length; i++)
-		{
-			buffer.append('%');
-
-			char ch = Character.forDigit((b[i] >> 4) & 0xF, 16);
-			if (Character.isLetter(ch))
-			{
-				ch -= 32;
-			}
-			buffer.append(ch);
-
-			ch = Character.forDigit(b[i] & 0xF, 16);
-			if (Character.isLetter(ch))
-			{
-				ch -= 32;
-			}
-			buffer.append(ch);
-		}
-	}
-
-	private static final boolean needsEncoding(String s)
-	{
-		if (s == null)
-		{
-			return false;
-		}
-
-		int length = s.length();
-
-		for (int i = 0; i < length; i++)
-		{
-			int c = s.charAt(i);
-			if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9')
-			{
-				// keep going
-			}
-			else
-			{
-				return true;
-			}
-		}
-
-		return false;
-	}
-}
diff --git a/modules/fdbworkers/src/flash/util/URLHelper.java b/modules/fdbworkers/src/flash/util/URLHelper.java
deleted file mode 100644
index a3b3f60..0000000
--- a/modules/fdbworkers/src/flash/util/URLHelper.java
+++ /dev/null
@@ -1,283 +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.
- */
-
-package flash.util;
-
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class URLHelper
-{
-	private static Pattern URL_PATTERN = Pattern.compile("^(.*?)(\\?.*?)?(#.*)?$"); //$NON-NLS-1$
-
-	/**
-	 * Everything before the "query" part of the URL.  E.g. for
-	 * "http://www.example.com/file?firstname=Bob&lastname=Smith#foo"
-	 * this would be "http://www.example.com/file".
-	 */
-	private String m_everythingBeforeQuery;
-	
-	/**
-	 * The "query" in a URL is the "?firstname=Bob&lastname=Smith" part.
-	 * m_query contains the query (including "?"), or contains "" if the
-	 * URL has no query.  Never null.
-	 */
-	private String m_query;
-	
-	/**
-	 * The "fragment" in a URL is the "#foo" part at the end of a URL.
-	 * m_fragment contains the fragment (including "#"), or contains "" if the
-	 * URL has no fragment. Never null.
-	 */
-	private String m_fragment;
-
-	public URLHelper(String url)
-	{
-		Matcher matcher = URL_PATTERN.matcher(url);
-
-		if (!matcher.matches())
-			throw new IllegalArgumentException(url);
-
-		if (matcher.matches())
-		{
-			m_everythingBeforeQuery = matcher.group(1);
-
-			m_query = matcher.group(2);
-			if (m_query == null) m_query = ""; //$NON-NLS-1$
-
-			m_fragment = matcher.group(3);
-			if (m_fragment == null) m_fragment = ""; //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Everything before the "query" part of the URL.  E.g. for
-	 * "http://www.example.com/file?firstname=Bob&lastname=Smith#foo"
-	 * this would be "http://www.example.com/file".
-	 */
-	public String getEverythingBeforeQuery()
-	{
-		return m_everythingBeforeQuery;
-	}
-
-	public void setEverythingBeforeQuery(String everythingBeforeQuery)
-	{
-		assertValidArguments(everythingBeforeQuery, getQuery(), getFragment());
-		m_everythingBeforeQuery = everythingBeforeQuery;
-	}
-
-	/**
-	 * Rturns the "query" portion of the URL, e.g. the
-	 * "?firstname=Bob&lastname=Smith" part. m_query contains the query
-	 * (including "?"), or "" if the URL has no query. Never null.
-	 */
-	public String getQuery()
-	{
-		return m_query;
-	}
-
-	/**
-	 * Sets the "query" portion of the URL.  This must be either the
-	 * empty string or a string that begins with "?".
-	 */
-	public void setQuery(String query)
-	{
-		// if there is a query, make sure it starts with "?"
-		if (query.length() > 0 && query.charAt(0) != '?')
-			query = "?" + query; //$NON-NLS-1$
-
-		assertValidArguments(getEverythingBeforeQuery(), query, getFragment());
-
-		m_query = query;
-	}
-
-	/**
-	 * Returns the "fragment" portion of the URL, e.g. the "#foo" part, or
-	 * "" if the URL has no fragment. Never null.
-	 */
-	public String getFragment()
-	{
-		return m_fragment;
-	}
-
-	/**
-	 * Sets the "fragment" portion of the URL.  This must be either the
-	 * empty string or a string that begins with "#".
-	 * @param fragment
-	 */
-	public void setFragment(String fragment)
-	{
-		// if there is a fragment, make sure it starts with "#"
-		if (fragment.length() > 0 && fragment.charAt(0) != '#')
-			fragment = "#" + fragment; //$NON-NLS-1$
-
-		assertValidArguments(getEverythingBeforeQuery(), getQuery(), fragment);
-		m_fragment = fragment;
-	}
-
-	private static void assertValidArguments(String everythingBeforeQuery, String query, String fragment)
-	{
-		assert areArgumentsValid(everythingBeforeQuery, query, fragment);
-	}
-
-	/**
-	 * This will test for various error conditions, e.g. a query string that
-	 * contains "#" or has incorrect contents.
-	 */
-	private static boolean areArgumentsValid(String everythingBeforeQuery, String query, String fragment)
-	{
-		if (everythingBeforeQuery == null || query == null || fragment == null)
-			return false;
-
-		URLHelper newHelper = new URLHelper(everythingBeforeQuery + query + fragment);
-		if (!newHelper.getEverythingBeforeQuery().equals(everythingBeforeQuery) ||
-			!newHelper.getQuery().equals(query) ||
-			!newHelper.getFragment().equals(fragment))
-		{
-			return false;
-		}
-		
-		return true;
-	}
-
-	/**
-	 * Returns the entire URL.
-	 */
-	public String getURL()
-	{
-		return m_everythingBeforeQuery + m_query + m_fragment;
-	}
-
-	/**
-	 * Returns the query portion of the URL, broken up into individual key/value
-	 * pairs. Does NOT unescape the keys and values.
-	 */
-    public LinkedHashMap<String, String> getParameterMap()
-	{
-		LinkedHashMap<String, String> map;
-
-		StringTokenizer tokens = new StringTokenizer(getQuery(), "?&"); //$NON-NLS-1$
-		// multiply by 2 to create a sufficiently large HashMap
-		map = new LinkedHashMap<String, String>(tokens.countTokens() * 2);
-
-		while (tokens.hasMoreElements())
-		{
-			String nameValuePair = tokens.nextToken();
-			String name = nameValuePair;
-			String value = ""; //$NON-NLS-1$
-			int equalsIndex = nameValuePair.indexOf('=');
-			if (equalsIndex != -1)
-			{
-				name = nameValuePair.substring(0, equalsIndex);
-				if (name.length() > 0)
-				{
-					value = nameValuePair.substring(equalsIndex + 1);
-				}
-			}
-			map.put(name, value);
-		}
-
-		return map;
-	}
-
-    /**
-	 * Sets the query portion of the URL.
-	 * 
-	 * @param parameterMap
-	 *            a key/value mapping; these must already be escaped!
-	 */
-    public void setParameterMap(Map<String,String> parameterMap)
-	{
-		if ((parameterMap != null) && (!parameterMap.isEmpty()))
-		{
-			StringBuilder queryString = new StringBuilder();
-
-			Iterator<Map.Entry<String,String>> it = parameterMap.entrySet().iterator();
-			while (it.hasNext())
-			{
-				Map.Entry<String,String> entry = it.next();
-				String name = (String) entry.getKey();
-				String value = String.valueOf(entry.getValue());
-				queryString.append(name);
-				if ((value != null) && (!value.equals(""))) //$NON-NLS-1$
-				{
-					queryString.append('=');
-					queryString.append(value);
-				}
-				if (it.hasNext())
-				{
-					queryString.append('&');
-				}
-			}
-
-			setQuery(queryString.toString());
-		} else
-		{
-			setQuery(""); //$NON-NLS-1$
-		}
-	}
-
-	// shortcut for converting spaces to %20 in URIs
-	public static String escapeSpace(String uri)
-	{
-		return escapeCharacter(uri, ' ', "%20"); //$NON-NLS-1$
-	}
-
-	/**
-	 * Locates characters 'c' in the scheme specific portion of a URI and
-	 * translates them into 'to'
-	 */
-	public static String escapeCharacter(String uri, char c, String to)
-	{
-		StringBuilder sb = new StringBuilder();
-
-		int size = uri.length();
-		int at = uri.indexOf(':');
-		int lastAt = 0;
-
-		// skip the scheme
-		if (at > -1)
-		{
-			for(int i=0; i<=at; i++)
-				sb.append(uri.charAt(i));
-			lastAt = ++at;
-		}
-
-		// while we have 'c's in uri
-		while( (at = uri.indexOf(c, at)) > -1)
-		{
-			// original portion
-			for(int i=lastAt; i<at; i++)
-				sb.append(uri.charAt(i));
-
-			// conversion
-			sb.append(to);
-			lastAt = ++at;  // advance to char after conversion
-		}
-
-		if (lastAt < size)
-		{
-			for(int i=lastAt; i<size; i++)
-				sb.append(uri.charAt(i));
-		}
-		return sb.toString();
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/AmbiguousException.java b/modules/fdbworkers/src/flex/tools/debugger/cli/AmbiguousException.java
deleted file mode 100644
index d670b3d..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/AmbiguousException.java
+++ /dev/null
@@ -1,31 +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.
- */
-
-package flex.tools.debugger.cli;
-
-/**
- * An exception that is thrown when some ambiguous condition or state
- * was encountered.  It is usually not fatal, and normally caused
- * by some user interaction which can be overcome. 
- */
-public class AmbiguousException extends Exception
-{
-    private static final long serialVersionUID = -1627900831637441719L;
-    
-    public AmbiguousException() {}
-    public AmbiguousException(String s) { super(s); }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/BreakAction.java b/modules/fdbworkers/src/flex/tools/debugger/cli/BreakAction.java
deleted file mode 100644
index d3829e2..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/BreakAction.java
+++ /dev/null
@@ -1,150 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.Vector;
-import java.util.Iterator;
-
-import flash.tools.debugger.Location;
-import flash.tools.debugger.expression.ValueExp;
-
-
-/**
- * An object that relates a CLI debugger breakpoint with an associated set
- * of CLI commands to perform.
- * 
- * A breakpoint can be enabled or disabled.  It can be set such
- * that it disabled or deletes itself after being hit N times.
- */
-public class BreakAction
-{
-	// return values for getStatus()
-	public final static int		RESOLVED = 1;
-	public final static int		UNRESOLVED = 2;
-	public final static int		AMBIGUOUS = 3;
-	public final static int		NOCODE = 4;	// there is no executable code at the specified line
-
-	/**
-	 * This will be null if the user typed in a breakpoint expression which
-	 * did not match any currently loaded location, but we have saved it
-	 * (with status == UNRESOLVED) in case it gets resolved later when another
-	 * SWF or ABC gets loaded.
-	 */
-	private LocationCollection	m_where;				// may be null
-
-	/**
-	 * This will be null if the breakpoint was created via the
-	 * <code>BreakAction(String unresolvedLocation)</code> constructor.
-	 */
-	private String				m_breakpointExpression;	// may be null
-
-	private Vector<String>		m_commands;
-	private boolean				m_enabled;
-	private boolean				m_autoDelete;
-	private boolean				m_autoDisable;
-	private boolean				m_silent;
-	private boolean				m_singleSwf;			// is breakpoint meant for a single swf only
-	private int					m_id;
-	private int					m_hits;
-	private ValueExp			m_condition;
-	private String				m_conditionString;
-	private int					m_status;
-
-	public BreakAction(LocationCollection c) throws NullPointerException
-	{
-		m_where = c;
-		m_where.first().getFile();  // force NullPointerException if l == null
-		m_status = RESOLVED;
-		init();
-	}
-
-	public BreakAction(String unresolvedLocation)
-	{
-		m_breakpointExpression = unresolvedLocation;
-		m_status = UNRESOLVED;
-		init();
-	}
-
-	private void init()
-	{
-		m_id = BreakIdentifier.next();
-		m_commands = new Vector<String>();
-	}
-
-	/* getters */
-	public int					getCommandCount()				{ return m_commands.size(); }
-	public String				commandAt(int i)				{ return m_commands.elementAt(i); }
-	public Location				getLocation()					{ return (m_where != null) ? m_where.first() : null; }
-    public LocationCollection	getLocations()					{ return m_where; }
-	public int					getId()							{ return m_id; }
-	public int					getHits()						{ return m_hits; }
-	public boolean				isEnabled()						{ return m_enabled; }
-	public boolean				isAutoDisable()					{ return m_autoDisable; }
-	public boolean				isAutoDelete()					{ return m_autoDelete; }
-	public boolean				isSilent()						{ return m_silent; }
-	public boolean				isSingleSwf()					{ return m_singleSwf; }
-	public ValueExp				getCondition()					{ return m_condition; }
-	public String				getConditionString()			{ return m_conditionString; }
-	public String				getBreakpointExpression()		{ return m_breakpointExpression; }
-	public int					getStatus()						{ return m_status; }
-
-	/* setters */
-	public void addCommand(String cmd)					{ m_commands.add(cmd); }
-	public void clearCommands()							{ m_commands.clear(); }
-	public void addLocation(Location l)					{ m_where.add(l); }
-	public void setEnabled(boolean enable)				{ m_enabled = enable; }
-	public void setAutoDisable(boolean disable)			{ m_autoDisable = disable; }
-	public void setAutoDelete(boolean delete)			{ m_autoDelete = delete; }
-	public void setSilent(boolean silent)				{ m_silent = silent; }
-	public void setCondition(ValueExp c, String s)		{ m_condition = c;  m_conditionString = s; }
-	public void clearCondition()						{ setCondition(null, ""); } //$NON-NLS-1$
-	public void hit()									{ m_hits++; }
-	public void clearHits()								{ m_hits = 0; }
-	public void setSingleSwf(boolean singleSwf)			{ m_singleSwf = singleSwf; }
-	public void setBreakpointExpression(String expr)	{ m_breakpointExpression = expr; }
-	public void setStatus(int status)					{ m_status = status; }
-
-	public void setLocations(LocationCollection loc)
-	{
-		m_where = loc;
-		if (loc != null)
-			setStatus(RESOLVED);
-	}
-
-	/*
-	 * Check to see if our location matches the requested one
-	 */
-	public boolean locationMatches(int fileId, int line)
-	{
-		boolean match = false;
-		LocationCollection col = getLocations();
-		if (col != null)
-		{
-			Iterator itr = col.iterator();
-		
-			// probe all locations looking for a match
-			while(!match && itr.hasNext())
-			{
-				Location l = (Location)itr.next();
-				if (l != null && l.getFile().getId() == fileId && l.getLine() == line)
-					match = true;
-			}
-		}
-		return match;
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/BreakIdentifier.java b/modules/fdbworkers/src/flex/tools/debugger/cli/BreakIdentifier.java
deleted file mode 100644
index 9a32cca..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/BreakIdentifier.java
+++ /dev/null
@@ -1,28 +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.
- */
-
-package flex.tools.debugger.cli;
-
-/**
- * An singleton object that doles out unique identifiers to breakpoints and watchpoints
- */
-public class BreakIdentifier
-{
-	private static int s_uniqueIdentifier  = 1;
-
-	public static int next() { return s_uniqueIdentifier++; }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/CatchAction.java b/modules/fdbworkers/src/flex/tools/debugger/cli/CatchAction.java
deleted file mode 100644
index 6dac5e9..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/CatchAction.java
+++ /dev/null
@@ -1,57 +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.
- */
-
-package flex.tools.debugger.cli;
-
-/**
- * 
- * An object that relates a CLI debugger catchpoint with the
- * actual Catch obtained from the Session
- * 
- * @author Mike Morearty
- */
-public class CatchAction
-{
-	private final int m_id;
-	private final String m_typeToCatch;
-
-	/**
-	 * @param typeToCatch
-	 *            the type, e.g. "ReferenceError" or "com.example.MyError". If
-	 *            typeToCatch is <code>null</code>, that means to halt on any
-	 *            exception.
-	 */
-	public CatchAction(String typeToCatch)
-	{
-		m_typeToCatch = typeToCatch;
-		m_id = BreakIdentifier.next();
-	}
-
-	public int getId()
-	{
-		return m_id;
-	}
-
-	/**
-	 * Returns the type being caught, or <code>null</code> to catch all
-	 * exceptions.
-	 */
-	public String getTypeToCatch()
-	{
-		return m_typeToCatch;
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/DebugCLI.java b/modules/fdbworkers/src/flex/tools/debugger/cli/DebugCLI.java
deleted file mode 100644
index 588a977..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/DebugCLI.java
+++ /dev/null
@@ -1,7567 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.EOFException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.LineNumberReader;
-import java.io.PrintStream;
-import java.io.StringReader;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.text.NumberFormat;
-import java.text.ParseException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Stack;
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.Bootstrap;
-import flash.tools.debugger.DebuggerLocalizer;
-import flash.tools.debugger.Frame;
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.IsolateSession;
-import flash.tools.debugger.Location;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSupportedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SourceLocator;
-import flash.tools.debugger.SuspendReason;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableAttribute;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.VersionException;
-import flash.tools.debugger.Watch;
-import flash.tools.debugger.WatchKind;
-import flash.tools.debugger.concrete.DProtocol;
-import flash.tools.debugger.events.BreakEvent;
-import flash.tools.debugger.events.ConsoleErrorFault;
-import flash.tools.debugger.events.DebugEvent;
-import flash.tools.debugger.events.ExceptionFault;
-import flash.tools.debugger.events.FaultEvent;
-import flash.tools.debugger.events.FileListModifiedEvent;
-import flash.tools.debugger.events.FunctionMetaDataAvailableEvent;
-import flash.tools.debugger.events.IsolateCreateEvent;
-import flash.tools.debugger.events.IsolateExitEvent;
-import flash.tools.debugger.events.SwfLoadedEvent;
-import flash.tools.debugger.events.SwfUnloadedEvent;
-import flash.tools.debugger.events.TraceEvent;
-import flash.tools.debugger.expression.ECMA;
-import flash.tools.debugger.expression.NoSuchVariableException;
-import flash.tools.debugger.expression.PlayerFaultException;
-import flash.tools.debugger.expression.ValueExp;
-import flash.util.FieldFormat;
-import flash.util.Trace;
-import flex.tools.debugger.cli.ExpressionCache.EvaluationResult;
-import flex.tools.debugger.cli.FaultActions.FaultActionsBuilder;
-
-/**
- * This is a front end command line interface to the Flash Debugger
- * Player.
- *<p>
- * This tool utilizes the Debugger Java API (DJAPI) for Flash 
- * Player that exists in flash.tools.debuggger.
- *<p> 
- * This tool is not completely compliant with the API, since
- * some commands expose implementation specific information for
- * debugging purposes.  Instances where this occurs are kept to a
- * minimum and are isolated in a special class called Extensions.  
- * If you wish to build a version that is completely API 
- * compatible.  Replace Extensions with ExtensionsDisabled in 
- * the static method calls at the end of this file. 
- */
-public class DebugCLI implements Runnable, SourceLocator
-{
-	public static final String VERSION			= "82"; //$NON-NLS-1$
-
-	public static final int CMD_UNKNOWN			= 0;
-	public static final int CMD_QUIT			= 1;
-	public static final int CMD_CONTINUE		= 2;
-	public static final int CMD_STEP			= 3;
-	public static final int CMD_NEXT			= 4;
-	public static final int CMD_FINISH			= 5;
-	public static final int CMD_BREAK			= 6;
-	public static final int CMD_SET				= 7;
-	public static final int CMD_LIST			= 8;
-	public static final int CMD_PRINT			= 9;
-	public static final int CMD_TUTORIAL		= 10;
-	public static final int CMD_INFO			= 11;
-	public static final int CMD_HOME			= 12;
-	public static final int CMD_RUN				= 13;
-	public static final int CMD_FILE			= 14;
-	public static final int CMD_DELETE			= 15;
-	public static final int CMD_SOURCE			= 16;
-	public static final int CMD_COMMENT			= 17;
-	public static final int CMD_CLEAR			= 18;
-	public static final int CMD_HELP			= 19;
-	public static final int CMD_SHOW			= 20;
-	public static final int CMD_KILL			= 21;
-	public static final int CMD_HANDLE			= 22;
-	public static final int CMD_ENABLE			= 23;
-	public static final int CMD_DISABLE			= 24;
-	public static final int CMD_DISPLAY			= 25;
-	public static final int CMD_UNDISPLAY		= 26;
- 	public static final int CMD_COMMANDS		= 27;
-    public static final int CMD_PWD             = 28;
-    public static final int CMD_CF              = 29;
-    public static final int CMD_CONDITION		= 30;
-	public static final int CMD_AWATCH			= 31;
-	public static final int CMD_WATCH			= 32;
-	public static final int CMD_RWATCH			= 33;
-	public static final int CMD_WHAT			= 34;
-	public static final int CMD_DISASSEMBLE		= 35;
-	public static final int CMD_HALT			= 36;
-	public static final int CMD_MCTREE			= 37;
-	public static final int CMD_VIEW_SWF		= 38;
-	public static final int CMD_DOWN			= 39;
-	public static final int CMD_UP				= 40;
-	public static final int CMD_FRAME			= 41;
-	public static final int CMD_DIRECTORY		= 42;
-	public static final int CMD_CATCH			= 43;
-	public static final int CMD_CONNECT			= 44;
-	public static final int CMD_WORKER			= 45;
-
-	/* info sub commands */
-	public static final int INFO_UNKNOWN_CMD	= 100;
-	public static final int INFO_ARGS_CMD		= 101;
-	public static final int INFO_BREAK_CMD		= 102;
-	public static final int INFO_FILES_CMD		= 103;
-	public static final int INFO_HANDLE_CMD		= 104;
-	public static final int INFO_FUNCTIONS_CMD	= 105;
-	public static final int INFO_LOCALS_CMD		= 106;
-	public static final int INFO_SCOPECHAIN_CMD	= 107;
-	public static final int INFO_SOURCES_CMD	= 108;
-	public static final int INFO_STACK_CMD		= 109;
-	public static final int INFO_VARIABLES_CMD	= 110;
-	public static final int INFO_DISPLAY_CMD	= 111;
-    public static final int INFO_TARGETS_CMD    = 112;
-    public static final int INFO_SWFS_CMD		= 113;
-    public static final int INFO_WORKERS_CMD	= 114;
-
-	/* show subcommands */
-	public static final int SHOW_UNKNOWN_CMD	= 200;
-	public static final int SHOW_NET_CMD		= 201;
-	public static final int SHOW_FUNC_CMD		= 202;
-	public static final int SHOW_URI_CMD		= 203;
-	public static final int SHOW_PROPERTIES_CMD	= 204;
-	public static final int SHOW_FILES_CMD		= 205;
-	public static final int SHOW_BREAK_CMD		= 206;
-	public static final int SHOW_VAR_CMD		= 207;
-	public static final int SHOW_MEM_CMD		= 208;
-	public static final int SHOW_LOC_CMD		= 209;
-	public static final int SHOW_DIRS_CMD		= 210;
-
-	/* misc subcommands */
-	public static final int ENABLE_ONCE_CMD		= 301;
-
-    // default metadata retry count 8 attempts per waitForMetadata() call * 5 calls
-    public static final int METADATA_RETRIES    = 8*5;
-    
-    /* Enum for the state of the initial prompt shown when a swf is loaded */
-    public static enum InitialPromptState { NEVER_SHOWN, SHOWN_ONCE, DONE }  
-
-	Stack<LineNumberReader> m_readerStack = new Stack<LineNumberReader>();
-	public PrintStream m_err;
-	public PrintStream m_out;
-	Session		m_session;
-	String		m_launchURI;
-	boolean		m_fullnameOption; // emacs mode
-	String		m_cdPath;
-	String		m_mruURI;
-	String m_connectPort;
-	public final static String m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	private final static LocalizationManager m_localizationManager = new LocalizationManager();
-	private final static FaultActionsBuilder faultActionsBuilder = new FaultActionsBuilder(m_localizationManager);
-	
-	List<String>	m_sourceDirectories; // List of String
-	int				m_sourceDirectoriesChangeCount;
-	private File	m_flexHomeDirectory; // <application.home>/frameworks/projects/*/src always goes in m_sourceDirectories
-	private boolean	m_initializedFlexHomeDirectory;
-
-	// context information for our current session
-	FileInfoCache	m_fileInfo;
-	FaultActions	m_faultTable;
-	Vector<Integer> m_breakIsolates;
-	ExpressionCache m_exprCache;
-	Vector<BreakAction>	        m_breakpoints;
-	Vector<WatchAction>			m_watchpoints;
-	Vector<CatchAction>			m_catchpoints;
-	ArrayList<DisplayAction>	m_displays;
-//	boolean			m_requestResume;
-//	boolean			m_requestHalt;
-//	boolean			m_stepResume;
-	int m_activeIsolate;
-	DebugCLIIsolateState m_mainState;
-	
-	/* This indicates the isolate for which we have been showing prompts for setting 
-	 * breakpoints( so that we don't switch worker while the user is setting breakpoints) */
-	int m_lastPromptIsolate;
-	
-	private HashMap<Integer, DebugCLIIsolateState> m_isolateState;
-	
-	class DebugCLIIsolateState
-	{
-//		public FileInfoCache	m_fileInfo;
-//		public ExpressionCache m_exprCache;
-		public boolean			m_requestResume;
-		public boolean			m_requestHalt;
-		public boolean			m_stepResume;
-		/* Indicates whether the prompt for setting initial breakpoints has been displayed for this isolate */
-		public InitialPromptState			m_promptState;
-//		public Vector<BreakAction>	        m_breakpoints;
-//		public Vector<WatchAction>			m_watchpoints;
-//		public Vector<CatchAction>			m_catchpoints;
-//		public ArrayList<DisplayAction>	m_displays;
-
-		
-		public DebugCLIIsolateState(DebugCLI debugcli) {
-//			m_exprCache = new ExpressionCache(debugcli);
-			m_faultTable = faultActionsBuilder.build();//new FaultActions();
-//			m_breakpoints = new Vector<BreakAction>();
-//			m_watchpoints = new Vector<WatchAction>();
-//			m_catchpoints = new Vector<CatchAction>();
-//			m_displays = new ArrayList<DisplayAction>();
-		}
-	}
-	
-	private DebugCLIIsolateState getIsolateState(int isolateId) {
-		if (isolateId == Isolate.DEFAULT_ID)
-			return m_mainState;
-		DebugCLIIsolateState isolateState = null;
-		if (!m_isolateState.containsKey(isolateId)) {
-			isolateState = new DebugCLIIsolateState(this);
-			m_isolateState.put(isolateId, isolateState);
-		}
-		else
-			isolateState = m_isolateState.get(isolateId);
-		return isolateState;
-	}
-	
-	public int getActiveIsolateId() {
-		return m_activeIsolate;
-	}
-	
-	private boolean getRequestResume(int isolateId) {
-		return getIsolateState(isolateId).m_requestResume;
-	}
-	
-	private void setRequestResume(boolean value, int isolateId) {
-		getIsolateState(isolateId).m_requestResume = value;
-	}
-	
-	private boolean getStepResume(int isolateId) {
-		return getIsolateState(isolateId).m_stepResume;
-	}
-	
-	private void setStepResume(boolean value, int isolateId) {
-		getIsolateState(isolateId).m_stepResume = value;
-	}
-	
-	private boolean getRequestHalt(int isolateId) {
-		return getIsolateState(isolateId).m_requestHalt;
-	}
-	
-	private void setRequestHalt(boolean value, int isolateId) {
-		getIsolateState(isolateId).m_requestHalt = value;
-	}
-	
-	private InitialPromptState getPromptState(int isolateId) {
-		return getIsolateState(isolateId).m_promptState;
-	}
-	
-	private void setPromptState(InitialPromptState value, int isolateId) {
-		getIsolateState(isolateId).m_promptState = value;
-	}
-
-	/* our current input processing context */
-	LineNumberReader	m_in;
-	public LineNumberReader	m_keyboardStream;
-	Vector<String>		m_keyboardInput;
-	boolean				m_keyboardReadRequest;
-	StringTokenizer		m_currentTokenizer;
-	String				m_currentToken;
-	String				m_currentLine;
-	public String		m_repeatLine;	
-
-	/**
-	 * The module that the next "list" command should display if no
-	 * module is explicitly specified.
-	 */
-	public static final String LIST_MODULE = "$listmodule"; //$NON-NLS-1$
-
-	/**
-	 * The line number at which the next "list" command should begin if no
-	 * line number is explicitly specified.
-	 */
-	public static final String LIST_LINE = "$listline"; //$NON-NLS-1$
-	
-	public static final String LIST_WORKER = "$listworker"; //$NON-NLS-1$
-
-	/**
-	 * The number of lines displayed by the "list" command.
-	 */
-	private static final String LIST_SIZE = "$listsize"; //$NON-NLS-1$
-
-	private static final String COLUMN_WIDTH = "$columnwidth"; //$NON-NLS-1$
-
-	private static final String UPDATE_DELAY = "$updatedelay"; //$NON-NLS-1$
-
-	private static final String HALT_TIMEOUT = "$halttimeout"; //$NON-NLS-1$
-
-	/**
-	 * Current breakpoint number.
-	 */
-	private static final String BPNUM = "$bpnum"; //$NON-NLS-1$
-
-	/**
-	 * Used to determine how much context information should be displayed.
-	 */
-	private static final String LAST_FRAME_DEPTH = "$lastframedepth"; //$NON-NLS-1$
-
-	/**
-	 * Used to determine how much context information should be displayed.
-	 */
-	private static final String CURRENT_FRAME_DEPTH = "$currentframedepth"; //$NON-NLS-1$
-
-	/**
-	 * The current frame we are viewing -- controlled by the "up", "down", and "frame" commands.
-	 */
-	public static final String DISPLAY_FRAME_NUMBER = "$displayframenumber"; //$NON-NLS-1$
-
-	private static final String FILE_LIST_WRAP = "$filelistwrap"; //$NON-NLS-1$
-
-	private static final String NO_WAITING = "$nowaiting"; //$NON-NLS-1$
-
-	/**
-	 * Show this pointer for info stack.
-	 */
-	private static final String INFO_STACK_SHOW_THIS = "$infostackshowthis"; //$NON-NLS-1$
-
-	/**
-	 * Number of milliseconds to wait for metadata.
-	 */
-	private static final String METADATA_ATTEMPTS_PERIOD = "$metadataattemptsperiod"; //$NON-NLS-1$
-
-	private static final String METADATA_NOT_AVAILABLE = "$metadatanotavailable"; //$NON-NLS-1$
-
-	/**
-	 * How many times we should try to get metadata.
-	 */
-	private static final String METADATA_ATTEMPTS = "$metadataattempts"; //$NON-NLS-1$
-
-	private static final String PLAYER_FULL_SUPPORT = "$playerfullsupport"; //$NON-NLS-1$
-
-	/**
-	 * Whether the "print" command will display attributes of members.
-	 */
-	public static final String DISPLAY_ATTRIBUTES = "$displayattributes"; //$NON-NLS-1$
-	
-	/* class's static init */
-	static
-	{
-        // set up for localizing messages
-        m_localizationManager.addLocalizer( new DebuggerLocalizer("flex.tools.debugger.cli.fdb.") ); //$NON-NLS-1$
-	}
-
-	public static void main(String[] args)
-	{
-		DebugCLI cli = new DebugCLI();
-
-		/* attach our 'main' input method and out/err*/
-		cli.m_err = System.err;
-		cli.m_out = System.out;
-
-		// get the default <application.home>/projects/frameworks/*/src entries into the source path
-		cli.initSourceDirectoriesList();
-
-		// a big of wrangling for our keyboard input stream since its special
-		cli.m_keyboardStream = new LineNumberReader(new InputStreamReader(System.in));
-		cli.pushStream(cli.m_keyboardStream);
-
-		/* iterate through the args list */
-		cli.processArgs(args);
-
-		/* figure out $HOME and the current directory */
-		String userHome = System.getProperty("user.home"); //$NON-NLS-1$
-		String userDir = System.getProperty("user.dir"); //$NON-NLS-1$
-
-		/*
-		 * If the current directory is not $HOME, and a .fdbinit file exists in the current directory,
-		 * then push it onto the stack of files to read.
-		 * 
-		 * Note, we want ./.fdbinit to be read AFTER $HOME/.fdbinit, but we push them in reverse
-		 * order, because they're going onto a stack.  If we push them in reverse order, then they
-		 * will be read in the correct order (last one pushed is the first one read).
-		 */
-		if (userDir != null && !userDir.equals(userHome))
-		{
-			try
-			{
-				FileReader sr = new FileReader(new File(userDir, ".fdbinit")); //$NON-NLS-1$
-				cli.pushStream( new LineNumberReader(sr) );
-			}
-			catch(FileNotFoundException fnf) {}
-		}
-
-		/*
-		 * If a .fdbinit file exists in the $HOME directory, then push it onto the stack of files
-		 * to read.
-		 * 
-		 * Note, we want ./.fdbinit to be read AFTER $HOME/.fdbinit, but we push them in reverse
-		 * order, because they're going onto a stack.  If we push them in reverse order, then they
-		 * will be read in the correct order (last one pushed is the first one read).
-		 */
-		if (userHome != null)
-		{
-			try
-			{
-				FileReader sr = new FileReader(new File(userHome, ".fdbinit")); //$NON-NLS-1$
-				cli.pushStream( new LineNumberReader(sr) );
-			}
-			catch(FileNotFoundException fnf) {}
-		}
-
-		cli.execute();
-	}
-
-	public DebugCLI()
-	{
-		m_fullnameOption = false;
-		m_faultTable = faultActionsBuilder.build();
-		m_exprCache = new ExpressionCache(this);
-		m_breakpoints = new Vector<BreakAction>();
-		m_watchpoints = new Vector<WatchAction>();
-		m_catchpoints = new Vector<CatchAction>();
-		m_displays = new ArrayList<DisplayAction>();
-		m_keyboardInput = new Vector<String>();
-		m_mruURI = null;
-		m_sourceDirectories = new LinkedList<String>();
-		
-		initProperties();
-		m_mainState = new DebugCLIIsolateState(this);
-		m_lastPromptIsolate = -1;
-		initIsolateState();
-	}
-
-	public static LocalizationManager getLocalizationManager() { return m_localizationManager; }
-	public Session				getSession()	{ return m_session; }
-	
-	public FileInfoCache getFileCache()	{ 
-			return m_fileInfo;
-	}
-
-	/**
-	 * Convert a module to class name.  This is used
-	 * by the ExpressionCache to find variables
-	 * that live at royale package scope.   That
-	 * is variables such as mx.core.Component.
-	 */
-	public String module2ClassName(int moduleId)
-	{
-		String pkg = null;
-		try
-		{
-			SourceFile file = m_fileInfo.getFile(moduleId);
-			pkg = file.getPackageName();
-		}
-		catch(Exception npe)
-		{
-			// didn't work ignore it.
-		}
-		return pkg;
-	}
-
-	LineNumberReader	popStream()						{ return m_readerStack.pop(); }
-	public void				pushStream(LineNumberReader r)  { m_readerStack.push(r); }
-	boolean				haveStreams()					{ return !m_readerStack.empty(); }
-
-	public void processArgs(String[] args)
-	{
-		for(int i=0; i<args.length; i++)
-		{
-			String arg = args[i];
-//			System.out.println("arg["+i+"]= '"+arg+"'");
-			if (arg.charAt(0) == '-')
-			{
-				// its an option
-				if (arg.equals("-unit")) // unit-testing mode //$NON-NLS-1$
-				{
-					System.setProperty("fdbunit", ""); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-				else if (arg.equals("-fullname") || arg.equals("-f")) //$NON-NLS-1$ //$NON-NLS-2$
-				{
-					m_fullnameOption = true; // emacs mode
-				}
-				else if (arg.equals("-cd")) //$NON-NLS-1$
-				{
-					// consume the path
-					if (i+1 < args.length)
-						m_cdPath = args[i++];
-				}
-				else if (arg.equals("-p")) //$NON-NLS-1$
-				{
-					// consume the port
-					if (i+1 < args.length)
-						m_connectPort = args[++i];
-				}
-				else
-				{
-					err("Unknown command-line argument: " + arg); //$NON-NLS-1$
-				}
-			}
-			else
-			{
-				// its a URI to run
-				StringReader sr = new StringReader("run "+arg+m_newline); //$NON-NLS-1$
-				pushStream( new LineNumberReader(sr) );
-			}
-		}
-	}
-
-	/**
-	 * Dispose of the current line and read the next from the current stream, if its an empty
-	 * line and we are console then repeat last line.
-	 */
-	protected String readLine() throws IOException
-	{
-		String line = null;
-		if (haveStreams())
-			line = m_in.readLine();
-		else
-			line = keyboardReadLine();
-
-		setCurrentLine(line);
-		return line;
-	}
-
-	/**
-	 * The reader portion of our keyboard input routine
-	 * Block until input arrives.
-	 */
-	synchronized String keyboardReadLine()
-	{
-		// enable a request then block on the queue
-		m_keyboardReadRequest = true;
-		try { wait(); } catch(InterruptedException ie) {}
-
-		// pull from the front of the queue
-		return m_keyboardInput.remove(0);
-	}
-
-	/**
-	 * A seperate thread collects our input so that we can
-	 * block in the doContinue on the main thread and then
-	 * allow the user to interrupt us via keyboard input
-	 * on this thread.
-	 *
-	 * We built the stupid thing in this manner, since readLine()
-	 * will block no matter what and if we 'quit' we can't
-	 * seem to kill this thread.  .close() doesn't work
-	 * and Thread.stop(), etc. all fail to do the job.
-	 *
-	 * Thus we needed to take a request response approach
-	 * so that we only block when requested to do so.
-	 */
-	public void run()
-	{
-		// while we have this stream
-		while(m_keyboardStream != null)
-		{
-			try
-			{
-				// only if someone is requesting us to read do we do so...
-				if (m_keyboardReadRequest)
-				{
-					// block on keyboard input and put it onto the end of the queue
-					String s = m_keyboardStream.readLine();
-					m_keyboardInput.add(s);
-
-					// fullfilled request, now notify blocking thread.
-					m_keyboardReadRequest = false;
-					synchronized(this) { notifyAll(); }
-				}
-				else
-					try { Thread.sleep(50); } catch(InterruptedException ie) {}
-			}
-			catch(IOException io)
-			{
-//				io.printStackTrace();
-			}
-		}
-	}
-
-	public void setCurrentLine(String s)
-	{
-		m_currentLine = s;
-		if (m_currentLine == null)
-			m_currentTokenizer = null;   /* eof */
-		else
-		{
-			m_currentLine = m_currentLine.trim();
-
-			/* if nothing provided on this command then pull our 'repeat' command  */
-			if (m_repeatLine != null && !haveStreams() && m_currentLine.length() == 0)
-				m_currentLine = m_repeatLine;
-
-			m_currentTokenizer = new StringTokenizer(m_currentLine, " \n\r\t"); //$NON-NLS-1$
-		}
-	}
-
-	/* Helpers for extracting tokens from the current line */
-	public boolean		hasMoreTokens()									{ return m_currentTokenizer.hasMoreTokens(); }
-	public String		nextToken()										{ m_currentToken = m_currentTokenizer.nextToken(); return m_currentToken; }
-	public int			nextIntToken() throws NumberFormatException		{ nextToken(); return Integer.parseInt(m_currentToken);	}
-	public long			nextLongToken() throws NumberFormatException	{ nextToken(); return Long.parseLong(m_currentToken);	}
-	public String		restOfLine()									{ return m_currentTokenizer.nextToken("").trim(); } //$NON-NLS-1$
-
-	public void execute()
-	{
-		/* dump console message */
-		displayStartMessage();
-		
-		/* now fire our keyboard input thread */
-		Thread t = new Thread(this, "Keyboard input"); //$NON-NLS-1$
-		t.start();
-
-		/* keep processing streams until we have no more to do */
-		while(haveStreams())
-		{
-			try
-			{
-				m_in = popStream();
-				process();
-			}
-			catch(EOFException eof)
-			{
-				; /* quite allright */
-			}
-			catch(IOException io)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("exceptionMessage", io); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("errorWhileProcessingFile", args)); //$NON-NLS-1$
-			}
-		}
-
-		/* we done kill everything */
-		exitSession();
-
-		// clear this thing, which also halts our other thread.
-		m_keyboardStream = null;
-	}
-
-	public PrintStream getOut() { return m_out; }
-
-	private void displayStartMessage()
-	{
-        String build = getLocalizationManager().getLocalizedTextString("defaultBuildName"); //$NON-NLS-1$
-
-        try
-        {
-            Properties p = new Properties();
-            p.load(this.getClass().getResourceAsStream("version.properties")); //$NON-NLS-1$
-            String buildString = p.getProperty("build"); //$NON-NLS-1$
-            if ((buildString != null) && (! buildString.equals(""))) //$NON-NLS-1$
-            {
-                build = buildString;
-            }
-        }
-        catch (Throwable t)
-        {
-            // ignore
-        }
-
-        Map<String, Object> aboutMap = new HashMap<String, Object>(); aboutMap.put("build", build); //$NON-NLS-1$
-        out(getLocalizationManager().getLocalizedTextString("about", aboutMap)); //$NON-NLS-1$
-		out(getLocalizationManager().getLocalizedTextString("copyright")); //$NON-NLS-1$
-	}
-
-	void displayPrompt()
-	{
-		m_out.print("(fdb) "); //$NON-NLS-1$
-	}
-
-	void displayCommandPrompt()
-	{
-		m_out.print(">"); //$NON-NLS-1$
-	}
-
-	// add the given character n times to sb
-	void repeat(StringBuilder sb, char c, int n)
-	{
-		while(n-- > 0)
-			sb.append(c);
-	}
-
-	// Prompt the user to respond to a yes or no type question
-	boolean yesNoQuery(String prompt) throws IOException
-	{
-		boolean result = false;
-		m_out.print(prompt);
-		m_out.print(getLocalizationManager().getLocalizedTextString("yesOrNoAppendedToAllQuestions")); //$NON-NLS-1$
-
-		String in = readLine();
-		if (in != null && in.equals(getLocalizationManager().getLocalizedTextString("singleCharacterUserTypesForYes"))) //$NON-NLS-1$
-			result = true;
-		else if (in != null && in.equals("escape")) //$NON-NLS-1$
-			throw new IllegalArgumentException("escape"); //$NON-NLS-1$
-		else
-			out(getLocalizationManager().getLocalizedTextString("yesNoQueryNotConfirmed")); //$NON-NLS-1$
-		return result;
-	}
-
-	public void err(String s)
-	{
-		// Doesn't make sense to send messages to stderr, because this is
-		// an interactive application; and besides that, sending a combination
-		// of interwoven but related messages to both stdout and stderr causes
-		// the output to be in the wrong order sometimes.
-		out(s);
-	}
-
-	public void out(String s)
-	{
-		if (s.length() > 0 && (s.charAt(s.length()-1) == '\n') )
-			m_out.print(s);
-		else
-			m_out.println(s);
-	}
-
-	static String uft()
-	{
-		Runtime rt = Runtime.getRuntime();
-		long free = rt.freeMemory(), total = rt.totalMemory(), used =  total - free;
-//		long max = rt.maxMemory();
-		java.text.NumberFormat nf = java.text.NumberFormat.getInstance() ;
-//        System.out.println("used: "+nf.format(used)+" free: "+nf.format(free)+" total: "+nf.format(total)+" max: "+nf.format(max));
-        return "Used "+nf.format(used)+" - free "+nf.format(free)+" - total "+nf.format(total); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-    }
-
-	/**
-	 * Add all properties that we know about
-	 */
-	void initProperties()
-	{
-		propertyPut(LIST_SIZE, 10);
-		propertyPut(LIST_LINE, 1);
-		propertyPut(LIST_MODULE, 1);  // default to module #1
-		propertyPut(LIST_WORKER, Isolate.DEFAULT_ID);
-		propertyPut(COLUMN_WIDTH, 70);
-		propertyPut(UPDATE_DELAY, 25);
-		propertyPut(HALT_TIMEOUT, 7000);
-		propertyPut(BPNUM, 0);				// set current breakpoint number as something bad
-		propertyPut(LAST_FRAME_DEPTH, 0);		// used to determine how much context information should be displayed
-		propertyPut(CURRENT_FRAME_DEPTH, 0);   // used to determine how much context information should be displayed
-		propertyPut(DISPLAY_FRAME_NUMBER, 0);  // houses the current frame we are viewing
-		propertyPut(FILE_LIST_WRAP, 999999);   // default 1 file name per line
-		propertyPut(NO_WAITING, 0);
-		propertyPut(INFO_STACK_SHOW_THIS, 1); // show this pointer for info stack
-	}
-
-	// getter/setter for properties; in the expression cache, so that they can be used in expressions!
-	public void propertyPut(String k, int v)  { m_exprCache.put(k,v); }
-	public int  propertyGet(String k)		  { return ((Integer)m_exprCache.get(k)).intValue(); }
-	public Set<String>  propertyKeys()		  { return m_exprCache.keySet(); }
-
-	/**
-	 * Process this reader until its done
-	 */
-	void process() throws IOException
-	{
-		boolean done = false;
-		while(!done)
-		{
-			try
-			{
-				/**
-				 * Now if we are in a session and that session is suspended then we go
-				 * into a state where we wait for some user interaction to get us out
-				 */
-				runningLoop();
-
-				/* if we are in the stdin then put out a prompt */
-				if (!haveStreams())
-					displayPrompt();
-
-				/* now read in the next line */
-				readLine();
-				if (m_currentLine == null)
-					break;
-
-				done = processLine();
-			}
-			catch(NoResponseException nre)
-			{
-				err(getLocalizationManager().getLocalizedTextString("noResponseException")); //$NON-NLS-1$
-			}
-			catch(NotSuspendedException nse)
-			{
-				err(getLocalizationManager().getLocalizedTextString("notSuspendedException")); //$NON-NLS-1$
-			}
-			catch(AmbiguousException ae)
-			{
-				// we already put up a warning for the user
-			}
-			catch(IllegalStateException ise)
-			{
-				err(getLocalizationManager().getLocalizedTextString("illegalStateException")); //$NON-NLS-1$
-			}
-			catch(IllegalMonitorStateException ime)
-			{
-				err(getLocalizationManager().getLocalizedTextString("illegalMonitorStateException")); //$NON-NLS-1$
-			}
-			catch(NoSuchElementException nse)
-			{
-				err(getLocalizationManager().getLocalizedTextString("noSuchElementException")); //$NON-NLS-1$
-			}
-			catch(NumberFormatException nfe)
-			{
-				err(getLocalizationManager().getLocalizedTextString("numberFormatException")); //$NON-NLS-1$
-			}
-			catch(SocketException se)
-			{
-				Map<String, Object> socketArgs = new HashMap<String, Object>();
-				socketArgs.put("message", se.getMessage()); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("socketException", socketArgs)); //$NON-NLS-1$
-			}
-			catch(VersionException ve)
-			{
-				err(getLocalizationManager().getLocalizedTextString("versionException")); //$NON-NLS-1$
-			}
-			catch(NotConnectedException nce)
-			{
-				// handled by isConnectionLost()
-			}
-			catch(Exception e)
-			{
-				err(getLocalizationManager().getLocalizedTextString("unexpectedError")); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("stackTraceFollows")); //$NON-NLS-1$
-				e.printStackTrace();
-			}
-
-			// check for a lost connection and if it is clean-up!
-			if (isConnectionLost())
-			{
-				try
-				{
-					dumpHaltState(false);
-				}
-				catch(PlayerDebugException pde)
-				{
-					err(getLocalizationManager().getLocalizedTextString("sessionEndedAbruptly")); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	// check if we have lost the connect without our help...
-	boolean isConnectionLost()
-	{
-		boolean lost = false;
-
-		if (m_session != null && !m_session.isConnected())
-			lost = true;
-
-		return lost;
-	}
-
-	boolean haveConnection()
-	{
-		boolean have = false;
-
-		if (m_session != null && m_session.isConnected())
-			have = true;
-
-		return have;
-	}
-
-	void doShow() throws AmbiguousException, PlayerDebugException
-	{
-		/* show without any args brings up help */
-		if (!hasMoreTokens())
-			out( getHelpTopic("show") ); //$NON-NLS-1$
-		else
-		{
-			/* otherwise we have a boatload of options */
-			String subCmdString = nextToken();
-			int subCmd = showCommandFor(subCmdString);
-			switch(subCmd)
-			{
-				case SHOW_NET_CMD:
-					doShowStats();
-					break;
-
-				case SHOW_FUNC_CMD:
-					doShowFuncs();
-					break;
-
-				case SHOW_URI_CMD:
-					doShowUri();
-					break;
-
-				case SHOW_PROPERTIES_CMD:
-					doShowProperties();
-					break;
-
-				case SHOW_FILES_CMD:
-					doShowFiles();
-					break;
-
-				case SHOW_BREAK_CMD:
-					doShowBreak();
-					break;
-
-				case SHOW_VAR_CMD:
-					doShowVariable();
-					break;
-
-				case SHOW_MEM_CMD:
-					doShowMemory();
-					break;
-
-				case SHOW_LOC_CMD:
-					doShowLocations();
-					break;
-
-				case SHOW_DIRS_CMD:
-					doShowDirectories();
-					break;
-
-				default:
-					doUnknown("show", subCmdString); //$NON-NLS-1$
-					break;
-			}
-		}
-	}
-
-	void doShowUri()
-	{
-		// dump the URI that the player has sent us
-		try
-		{
-			StringBuilder sb = new StringBuilder();
-			sb.append("URI = "); //$NON-NLS-1$
-			sb.append( m_session.getURI() );
-			out( sb.toString() );
-		}
-		catch(Exception e)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noUriReceived")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Dump the content of files in a raw format
-	 */
-	void doShowFiles()
-	{
-		try
-		{
-			StringBuilder sb = new StringBuilder();
-			for (Isolate isolate : m_session.getWorkers()) {
-			
-				Iterator itr = m_fileInfo.getAllFiles(isolate.getId());
-
-				while(itr.hasNext())
-				{
-					SourceFile m = (SourceFile) ((Map.Entry)itr.next()).getValue();
-
-					String name = m.getName();
-					int id = m.getId();
-					String path = m.getFullPath();
-
-					sb.append(id);
-					sb.append(' ');
-					sb.append(path);
-					sb.append(", "); //$NON-NLS-1$
-					sb.append(name);
-					sb.append(" ("); //$NON-NLS-1$
-					if (isolate.getId() == Isolate.DEFAULT_ID) {
-						sb.append(getLocalizationManager().getLocalizedTextString("mainThread")); //$NON-NLS-1$
-					}
-					else {
-						HashMap<String, Object> wArgs = new HashMap<String, Object>();
-						wArgs.put("worker", isolate.getId() - 1); //$NON-NLS-1$
-						sb.append(getLocalizationManager().getLocalizedTextString("inWorker", wArgs)); //$NON-NLS-1$
-					}
-					sb.append(")"); //$NON-NLS-1$
-					sb.append(m_newline);
-				}
-			}
-			out( sb.toString() );
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSourceFilesFound")); //$NON-NLS-1$
-		}
-	}
-
-	void doShowMemory()
-	{
-		out(uft());
-	}
-
-	void doShowLocations()
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append("Num Type           Disp Enb Address    What"+m_newline); //$NON-NLS-1$
-
-		// our list of breakpoints
-		int count = breakpointCount();
-		for(int i=0; i<count; i++)
-		{
-			BreakAction b = breakpointAt(i);
-			int num = b.getId();
-
-			FieldFormat.formatLong(sb, num, 3);
-			sb.append(" breakpoint     "); //$NON-NLS-1$
-
-			if (b.isAutoDisable())
-				sb.append("dis  "); //$NON-NLS-1$
-			else if (b.isAutoDelete())
-				sb.append("del  "); //$NON-NLS-1$
-			else
-				sb.append("keep "); //$NON-NLS-1$
-
-			if (b.isEnabled())
-				sb.append("y   "); //$NON-NLS-1$
-			else
-				sb.append("n   "); //$NON-NLS-1$
-
-			Iterator<Location> itr = b.getLocations().iterator();
-			while(itr.hasNext())
-			{
-				Location l = itr.next();
-				SourceFile file = l.getFile();
-				String funcName = (file == null)
-						? getLocalizationManager().getLocalizedTextString("unknownBreakpointLocation") //$NON-NLS-1$
-								: file.getFunctionNameForLine(m_session, l.getLine()) ;
-						int offset = adjustOffsetForUnitTests((file == null) ? 0 : file.getOffsetForLine(l.getLine()));
-
-						sb.append("0x"); //$NON-NLS-1$
-						FieldFormat.formatLongToHex(sb, offset, 8);
-						sb.append(' ');
-
-						if (funcName != null)
-						{
-							Map<String, Object> funcArgs = new HashMap<String, Object>();
-							funcArgs.put("functionName", funcName); //$NON-NLS-1$
-							sb.append(getLocalizationManager().getLocalizedTextString("inFunctionAt", funcArgs)); //$NON-NLS-1$
-						}
-
-						sb.append(file.getName());
-						if (file != null)
-						{
-							sb.append("#"); //$NON-NLS-1$
-							sb.append(file.getId());
-						}
-						sb.append(':');
-						sb.append(l.getLine());
-
-						try
-						{
-							SwfInfo info = m_fileInfo.swfForFile(file, l.getIsolateId());
-							Map<String, Object> swfArgs = new HashMap<String, Object>();
-							swfArgs.put("swf", FileInfoCache.shortNameOfSwf(info)); //$NON-NLS-1$
-							sb.append(getLocalizationManager().getLocalizedTextString("inSwf", swfArgs)); //$NON-NLS-1$
-							if (l.getIsolateId() == Isolate.DEFAULT_ID) {
-								sb.append(" ("); //$NON-NLS-1$
-								sb.append(getLocalizationManager().getLocalizedTextString("mainThread")); //$NON-NLS-1$
-								sb.append(")"); //$NON-NLS-1$
-							}
-							else {
-								swfArgs = new HashMap<String, Object>();
-								swfArgs.put("worker", l.getIsolateId() - 1); //$NON-NLS-1$
-								sb.append(" ("); //$NON-NLS-1$
-								sb.append(getLocalizationManager().getLocalizedTextString("inWorker", swfArgs)); //$NON-NLS-1$
-								sb.append(")"); //$NON-NLS-1$
-							}
-						}
-						catch(NullPointerException npe)
-						{
-							// can't find the swf
-							sb.append(getLocalizationManager().getLocalizedTextString("nonRestorable")); //$NON-NLS-1$
-						}
-						sb.append(m_newline);
-						if (itr.hasNext())
-							sb.append("                            "); //$NON-NLS-1$
-			}
-		}
-		out(sb.toString());
-	}
-
-	/**
-	 * When running unit tests, we want byte offsets into the file to
-	 * always be displayed as zero, so that the unit test expected
-	 * results will match up with the actual results.  This is just a
-	 * simple helper function that deals with that.
-	 */
-	private int adjustOffsetForUnitTests(int offset)
-	{
-		if (System.getProperty("fdbunit")==null) //$NON-NLS-1$
-			return offset;
-		else
-			return 0;
-	}
-
-	void doShowDirectories()
-	{
-		out(getLocalizationManager().getLocalizedTextString("sourceDirectoriesSearched")); //$NON-NLS-1$
-		Iterator<String> iter = m_sourceDirectories.iterator();
-		while (iter.hasNext())
-		{
-			String dir = iter.next();
-			out("  " + dir); //$NON-NLS-1$
-		}
-	}
-
-	void doHalt() throws SuspendedException, NotConnectedException, NoResponseException
-	{
-		out(getLocalizationManager().getLocalizedTextString("attemptingToSuspend")); //$NON-NLS-1$
-		IsolateSession session = m_session.getWorkerSession(getActiveIsolateId());
-		if (!session.isSuspended())
-			session.suspend();
-		if (session.isSuspended())
-			out(getLocalizationManager().getLocalizedTextString("playerStopped")); //$NON-NLS-1$
-		else
-			out(getLocalizationManager().getLocalizedTextString("playerRunning")); //$NON-NLS-1$
-	}
-
-	public void appendReason(StringBuilder sb, int reason)
-	{
-		switch(reason)
-		{
-			case SuspendReason.Unknown:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_Unknown")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.Breakpoint:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_HitBreakpoint")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.Watch:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_HitWatchpoint")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.Fault:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_ProgramThrewException")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.StopRequest:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_StopRequest")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.Step:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_ProgramFinishedStepping")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.HaltOpcode:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_HaltOpcode")); //$NON-NLS-1$
-				break;
-
-			case SuspendReason.ScriptLoaded:
-				sb.append(getLocalizationManager().getLocalizedTextString("suspendReason_ScriptHasLoadedIntoFlashPlayer")); //$NON-NLS-1$
-				break;
-		}
-	}
-
-	/**
-	 * The big ticket item, where all your questions are answered.
-	 *
-	 */
-	void doInfo() throws AmbiguousException, PlayerDebugException
-	{
-		/* info without any args brings up help */
-		if (!hasMoreTokens())
-			out( getHelpTopic("info") ); //$NON-NLS-1$
-		else
-		{
-			/* otherwise we have a boatload of options */
-			String subCmdString = nextToken();
-			int subCmd = infoCommandFor(subCmdString);
-			switch(subCmd)
-			{
-				case INFO_ARGS_CMD:
-					doInfoArgs();
-					break;
-
-				case INFO_BREAK_CMD:
-					doInfoBreak();
-					break;
-
-				case INFO_FILES_CMD:
-					doInfoFiles();
-					break;
-
-				case INFO_FUNCTIONS_CMD:
-					doInfoFuncs();
-					break;
-
-				case INFO_HANDLE_CMD:
-					doInfoHandle();
-					break;
-
-				case INFO_LOCALS_CMD:
-					doInfoLocals();
-					break;
-
-				case INFO_SCOPECHAIN_CMD:
-					doInfoScopeChain();
-					break;
-					
-				case INFO_SOURCES_CMD:
-					doInfoSources();
-					break;
-
-				case INFO_STACK_CMD:
-					doInfoStack();
-					break;
-
-				case INFO_VARIABLES_CMD:
-					doInfoVariables();
-					break;
-
-				case INFO_DISPLAY_CMD:
-					doInfoDisplay();
-					break;
-
-                case INFO_TARGETS_CMD:
-                    doInfoTargets();
-                    break;
-
-                case INFO_SWFS_CMD:
-                    doInfoSwfs();
-                    break;
-                    
-                case INFO_WORKERS_CMD:
-                	doInfoWorkers();
-                	break;
-
-				default:
-					doUnknown("info", subCmdString); //$NON-NLS-1$
-					break;
-			}
-		}
-	}
-	
-	void doInfoWorkers() throws NotConnectedException, NotSupportedException, NotSuspendedException, NoResponseException
-	{
-//		waitTilHalted();
-		Isolate[] isolates = m_session.getWorkers();
-		if (isolates == null || isolates.length == 0) {
-			out(getLocalizationManager().getLocalizedTextString("noWorkersRunning")); //$NON-NLS-1$
-			return;
-		}
-		StringBuilder sb = new StringBuilder();
-		for (Isolate t : isolates) {
-			String status = getLocalizationManager().getLocalizedTextString("workerRunning"); //$NON-NLS-1$
-			if (m_session.getWorkerSession(t.getId()).isSuspended()) {
-				status = getLocalizationManager().getLocalizedTextString("workerSuspended"); //$NON-NLS-1$
-			}
-			if (m_activeIsolate == t.getId()) {
-				status += " " + getLocalizationManager().getLocalizedTextString("workerSelected"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			if (t.getId() == Isolate.DEFAULT_ID) {
-				sb.append(getLocalizationManager().getLocalizedTextString("mainThread")); //$NON-NLS-1$
-				sb.append(" "); //$NON-NLS-1$
-				sb.append(Isolate.DEFAULT_ID - 1);
-			}
-			else {
-				HashMap<String, Object> workArgs = new HashMap<String, Object>();
-				workArgs.put("worker", (t.getId() - 1)); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("inWorker", workArgs)); //$NON-NLS-1$
-			}
-			sb.append(" - " + status + m_newline); //$NON-NLS-1$
-		}
-		out(sb.toString());
-	}
-
-
-	void doInfoStack() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		StringBuilder sb = new StringBuilder();
-		Frame[] stack = m_session.getWorkerSession(m_activeIsolate).getFrames();
-		if (stack == null || stack.length == 0)
-			sb.append(getLocalizationManager().getLocalizedTextString("noStackAvailable")); //$NON-NLS-1$
-		else
-		{
-			boolean showThis = propertyGet(INFO_STACK_SHOW_THIS) == 1;
-			for(int i=0; i<stack.length; i++)
-			{
-				// keep spitting out frames until we can't
-				Frame frame = stack[i];
-				boolean valid = appendFrameInfo(sb, frame, i, showThis, false);
-				sb.append(m_newline);
-                if (!valid)
-                    break;
-			}
-		}
-
-		/* dump it out */
-		out(sb.toString());
-	}
-	
-	/**
-	 * Spit out frame information for a given frame number 
-	 */
-	boolean appendFrameInfo(StringBuilder sb, Frame ctx, int frameNumber, boolean showThis, boolean showFileId) throws PlayerDebugException
-	{
-		boolean validFrame = true;
-
-		// some formatting properties
-		int i = frameNumber;
-
-		Location loc = ctx.getLocation();
-		SourceFile file = loc.getFile();
-		int line = loc.getLine();
-		String name = (file == null) ? "<null>" : file.getName(); //$NON-NLS-1$
-		String sig = ctx.getCallSignature();
-		String func = extractFunctionName(sig);
-
-		// file == null or line < 0 appears to be a terminator for stack info
-		if (file == null && line < 0)
-        {
-            validFrame = false;
-        }
-        else
-		{
-			Variable[] var = ctx.getArguments(m_session);
-			Variable dis = ctx.getThis(m_session);
-			boolean displayArgs = (func != null) || (var != null);
-
-			sb.append('#');
-			FieldFormat.formatLong(sb, i, 3);
-			sb.append(' ');
-
-			if (showThis && dis != null)
-			{
-				ExpressionCache.appendVariable(sb, dis, ctx.getIsolateId());
-				sb.append("."); //$NON-NLS-1$
-			}
-
-			if (func != null)
-				sb.append(func);
-
-			if (displayArgs)
-			{
-				sb.append('(');
-				for (int j=0; j<var.length; j++)
-				{
-					Variable v = var[j];
-					sb.append(v.getName());
-					sb.append('=');
-					ExpressionCache.appendVariableValue(sb, v.getValue(), ctx.getIsolateId());
-					if ((j+1)<var.length)
-						sb.append(", "); //$NON-NLS-1$
-				}
-				sb.append(")"); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("atFilename")); //$NON-NLS-1$
-			}
-
-			sb.append(name);
-
-			// if this file is currently being filtered put the source file id after it
-			if (file != null && (showFileId || !m_fileInfo.inFileList(file)))
-			{
-				sb.append('#');
-				sb.append( file.getId() );
-
-			}
-			sb.append(':');
-			sb.append(line);
-		}
-        return validFrame;
-	}
-
-	/** extract the function name from a signature */
-	public static String extractFunctionName(String sig)
-	{ 
-		// strip everything after the leading ( 
-		int at = sig.indexOf('(');
-		if (at > -1)
-			sig = sig.substring(0, at);
-
-		// trim the leading [object_name::] since it doesn't seem to add much
-		if (sig != null && (at = sig.indexOf("::")) > -1) //$NON-NLS-1$
-			sig = sig.substring(at+2);
-
-		return sig;
-	}
-
-	void doInfoVariables() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		// dump a set of locals
-		StringBuilder sb = new StringBuilder();
-
-		// use our expression cache formatting routine
-		try
-		{
-			Variable[] vars = m_session.getWorkerSession(m_activeIsolate).getVariableList();
-			for(int i=0; i<vars.length; i++)
-			{
-				Variable v = vars[i];
-
-				// all non-local and non-arg variables
-				if ( !v.isAttributeSet(VariableAttribute.IS_LOCAL) &&
-					 !v.isAttributeSet(VariableAttribute.IS_ARGUMENT) )
-				{
-					ExpressionCache.appendVariable(sb, vars[i], m_activeIsolate);
-					sb.append(m_newline);
-				}
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			sb.append(getLocalizationManager().getLocalizedTextString("noVariables")); //$NON-NLS-1$
-		}
-
-		out(sb.toString());
-	}
-
-	void doInfoDisplay()
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append("Num Enb Expression"+m_newline); //$NON-NLS-1$
-
-		// our list of displays
-		int count = displayCount();
-		for(int i=0; i<count; i++)
-		{
-			DisplayAction b = displayAt(i);
-			int num = b.getId();
-			String exp = b.getContent();
-
-			sb.append(':');
-			FieldFormat.formatLong(sb, num, 3);
-
-			if (b.isEnabled())
-				sb.append(" y  "); //$NON-NLS-1$
-			else
-				sb.append(" n  "); //$NON-NLS-1$
-
-			sb.append(exp);
-			sb.append(m_newline);
-		}
-
-		out(sb.toString());
-	}
-
-	void doInfoArgs() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		// dump a set of locals
-		StringBuilder sb = new StringBuilder();
-
-		// use our expression cache formatting routine
-		try
-		{
-			int num = propertyGet(DISPLAY_FRAME_NUMBER);
-			Frame[] frames = m_session.getWorkerSession(m_activeIsolate).getFrames();
-			Variable[] vars = frames[num].getArguments(m_session);
-			for(int i=0; i<vars.length; i++)
-			{
-				ExpressionCache.appendVariable(sb, vars[i], m_activeIsolate);
-				sb.append(m_newline);
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			sb.append(getLocalizationManager().getLocalizedTextString("noArguments")); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aix)
-        {
-            sb.append(getLocalizationManager().getLocalizedTextString("notInValidFrame")); //$NON-NLS-1$
-        }
-
-		out(sb.toString());
-	}
-
-	void doInfoLocals() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		// dump a set of locals
-		StringBuilder sb = new StringBuilder();
-
-		// use our expression cache formatting routine
-		try
-		{
-			// get the variables from the requested frame
-			int num = propertyGet(DISPLAY_FRAME_NUMBER);
-			Frame[] ar = m_session.getWorkerSession(m_activeIsolate).getFrames();
-			Frame ctx = ar[num];
-			Variable[] vars = ctx.getLocals(m_session);
-
-			for(int i=0; i<vars.length; i++)
-			{
-				Variable v = vars[i];
-
-				// see if variable is local
-				if ( v.isAttributeSet(VariableAttribute.IS_LOCAL) )
-				{
-					ExpressionCache.appendVariable(sb, v, m_activeIsolate);
-					sb.append(m_newline);
-				}
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			sb.append(getLocalizationManager().getLocalizedTextString("noLocals")); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aix)
-        {
-            sb.append(getLocalizationManager().getLocalizedTextString("notInValidFrame")); //$NON-NLS-1$
-        }
-
-		out(sb.toString());
-	}
-
-	void doInfoScopeChain() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		// dump the scope chain
-		StringBuilder sb = new StringBuilder();
-
-		// use our expression cache formatting routine
-		try
-		{
-			// get the scope chainfrom the requested frame
-			int num = propertyGet(DISPLAY_FRAME_NUMBER);
-			Frame[] ar = m_session.getWorkerSession(m_activeIsolate).getFrames();
-			Frame ctx = ar[num];
-			Variable[] scopes = ctx.getScopeChain(m_session);
-
-			for(int i=0; i<scopes.length; i++)
-			{
-				Variable scope = scopes[i];
-				ExpressionCache.appendVariable(sb, scope, m_activeIsolate);
-				sb.append(m_newline);
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			sb.append(getLocalizationManager().getLocalizedTextString("noScopeChain")); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aix)
-        {
-            sb.append(getLocalizationManager().getLocalizedTextString("notInValidFrame")); //$NON-NLS-1$
-        }
-
-		out(sb.toString());
-	}
-	
-	void doInfoTargets()
-    {
-        if (!haveConnection())
-		{
-			out(getLocalizationManager().getLocalizedTextString("noActiveSession")); //$NON-NLS-1$
-			if (m_launchURI != null)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("uri", m_launchURI); //$NON-NLS-1$
-				out(getLocalizationManager().getLocalizedTextString("runWillLaunchUri", args)); //$NON-NLS-1$
-			}
-		}
-        else
-		{
-			String uri = m_session.getURI();
-			if (uri == null || uri.length() < 1)
-				err(getLocalizationManager().getLocalizedTextString("targetUnknown")); //$NON-NLS-1$
-			else
-				out(uri);
-		}
-    }
-
-	/**
-	 * Dump some stats about our currently loaded swfs.
-	 */
-    void doInfoSwfs()
-    {
-		try
-		{
-			StringBuilder sb = new StringBuilder();
-			SwfInfo[] swfs = m_fileInfo.getSwfs(m_activeIsolate);
-			for(int i=0; i<swfs.length; i++)
-			{
-				SwfInfo e = swfs[i];
-				if (e == null || e.isUnloaded())
-					continue;
-
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("swfName", FileInfoCache.nameOfSwf(e)); //$NON-NLS-1$
-				args.put("size", NumberFormat.getInstance().format(e.getSwfSize())); //$NON-NLS-1$
-
-				try
-				{
-					int size = e.getSwdSize(m_session);
-
-					// our swd is loaded so let's comb through our
-					// list of scripts and locate the range of ids.
-					SourceFile[] files = e.getSourceList(m_session);
-					int max = Integer.MIN_VALUE;
-					int min = Integer.MAX_VALUE;
-					for(int j=0; j<files.length; j++)
-					{
-						SourceFile f = files[j];
-						int id = f.getId();
-						max = (id > max) ? id : max;
-						min = (id < min) ? id : min;
-					}
-
-					args.put("scriptCount", Integer.toString(e.getSourceCount(m_session))); //$NON-NLS-1$
-					args.put("min", Integer.toString(min)); //$NON-NLS-1$
-					args.put("max", Integer.toString(max)); //$NON-NLS-1$
-					args.put("plus", (e.isProcessingComplete()) ? "+" : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					args.put("moreInfo", (size==0) ? getLocalizationManager().getLocalizedTextString("remainingSourceBeingLoaded") : ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				}
-				catch(InProgressException ipe)
-				{
-					sb.append(getLocalizationManager().getLocalizedTextString("debugInfoBeingLoaded")); //$NON-NLS-1$
-				}
-				args.put("url", e.getUrl()); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("swfInfo", args)); //$NON-NLS-1$
-				sb.append(m_newline);
-			}
-			out( sb.toString() );
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSWFs")); //$NON-NLS-1$
-		}
-    }
-
-	private static final int AUTHORED_FILE = 1;		// a file that was created by the end user, e.g. MyApp.mxml
-	private static final int FRAMEWORK_FILE = 2;	// a file from the Flex framework, e.g. mx.controls.Button.as, see FRAMEWORK_FILE_PACKAGES
-	private static final int SYNTHETIC_FILE = 3;	// e.g. "<set up XML utilities.1>"
-	private static final int ACTIONS_FILE = 4;		// e.g. "Actions for UIComponent: Frame 1 of Layer Name Layer 1"
-
-    private static final String[] FRAMEWORK_FILE_PACKAGES // package prefixes that we consider FRAMEWORK_FILEs
-        = new String[] {"mx","flex","text"}; // 'text' is Vellum (temporary) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-	/**
-	 * Given a file, guesses what type it is -- e.g. a file created by the end user,
-	 * or a file from the Flex framework, etc.
-	 */
-	private int getFileType(SourceFile sourceFile)
-	{
-		String name = sourceFile.getName();
-		String pkg = sourceFile.getPackageName();
-
-		if (name.startsWith("<") && name.endsWith(">") || name.equals("GeneratedLocale")) //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			return SYNTHETIC_FILE;
-
-        for (final String frameworkPkg : FRAMEWORK_FILE_PACKAGES )
-        {
-            // look for packages starting with pkgName
-            if (pkg.startsWith(frameworkPkg + '\\') ||
-                pkg.startsWith(frameworkPkg + '/')  ||
-                pkg.equals(frameworkPkg))
-            {
-                return FRAMEWORK_FILE;
-            }
-        }
-
-        if (name.startsWith("Actions for")) //$NON-NLS-1$
-            return ACTIONS_FILE;
-
-        return AUTHORED_FILE;
-}
-
-	void buildFileList(StringBuilder sb, boolean authoredFilesOnly)
-	{
-		SourceFile[] ar = m_fileInfo.getFileList(m_activeIsolate);
-		if (ar == null)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSourceFilesFound")); //$NON-NLS-1$
-			return;
-		}
-
-		Vector<String> authoredFiles = new Vector<String>();
-		Vector<String> frameworkFiles = new Vector<String>();
-		Vector<String> syntheticFiles = new Vector<String>();
-		Vector<String> actionsFiles = new Vector<String>();
-
-		for (int i = 0; i < ar.length; i++)
-		{
- 			SourceFile m = ar[i];
-			int fileType = getFileType(m);
-			int id = m.getId();
-//			int fakeId = m_fileInfo.getFakeId(m);
-			String entry = m.getName() + "#" + id; //$NON-NLS-1$
-
-			switch (fileType)
-			{
-			case SYNTHETIC_FILE:
-				syntheticFiles.add(entry);
-				break;
-			case FRAMEWORK_FILE:
-				frameworkFiles.add(entry);
-				break;
-			case ACTIONS_FILE:
-				actionsFiles.add(entry);
-				break;
-			case AUTHORED_FILE:
-				authoredFiles.add(entry);
-				break;
-			}
-		}
-
-		int wrapAt = propertyGet(FILE_LIST_WRAP);
-
-		if (!authoredFilesOnly)
-		{
-			if (actionsFiles.size() > 0)
-			{
-				appendStrings(sb, actionsFiles, (actionsFiles.size() > wrapAt) );
-			}
-
-			if (frameworkFiles.size() > 0)
-			{
-				sb.append("---"+m_newline); //$NON-NLS-1$
-				appendStrings(sb, frameworkFiles, (frameworkFiles.size() > wrapAt) );
-			}
-
-			if (syntheticFiles.size() > 0)
-			{
-				sb.append("---"+m_newline); //$NON-NLS-1$
-				appendStrings(sb, syntheticFiles, (syntheticFiles.size() > wrapAt) );
-			}
-
-			sb.append("---"+m_newline); //$NON-NLS-1$
-		}
-
-		appendStrings(sb, authoredFiles, (authoredFiles.size() > wrapAt) );
-	}
-
-	/**
-	 * Dump a list of strings contained a vector
-	 * If flow is set then the strings are placed
-	 * on a single line and wrapped at $columnwidth
-	 */
-	void appendStrings(StringBuilder sb, Vector<String> v, boolean flow)
-	{
-		int count = v.size();
-		int width = 0;
-		int maxCol = propertyGet(COLUMN_WIDTH);
-
-		for (int i = 0; i < count; i++)
-		{
-			String s = v.get(i);
-			sb.append(s);
-
-			// too many of them, then wrap according to columnwidth
-			if (flow)
-			{
-				width += (s.length() + 2);
-				if (width >= maxCol)
-				{
-					sb.append(m_newline);
-					width = 0;
-				}
-				else
-					sb.append(", "); //$NON-NLS-1$
-			}
-			else
-				sb.append(m_newline);
-		}
-
-		// add a line feed for flow based
-		if (flow && width > 0)
-			sb.append(m_newline);
-	}
-
-	void doInfoFiles()
-	{
-		try
-		{
-			StringBuilder sb = new StringBuilder();
-            if (hasMoreTokens())
-            {
-                String arg = nextToken();
-                listFilesMatching(sb, arg);
-            }
-            else
-            {
-			    buildFileList(sb, false);
-            }
-			out(sb.toString());
-		}
-		catch(NullPointerException npe)
-		{
-			throw new IllegalStateException();
-		}
-	}
-
-    public void waitForMetaData() throws InProgressException
-    {
-        // perform a query to see if our metadata has loaded
-        int metadatatries = propertyGet(METADATA_ATTEMPTS);
-        int maxPerCall = 8;   // cap on how many attempt we make per call
-
-        int tries = Math.min(maxPerCall, metadatatries);
-        if (tries > 0)
-        {
-            int remain = metadatatries - tries; // assume all get used up
-
-            // perform the call and then update our remaining number of attempts
-            try
-            {
-                tries = waitForMetaData(tries);
-                remain = metadatatries - tries; // update our used count
-            }
-            catch(InProgressException ipe)
-            {
-                propertyPut(METADATA_ATTEMPTS, remain);
-				throw ipe;
-            }
-        }
-    }
-
-	/**
-	 * Wait for the API to load function names, which
-	 * exist in the form of external meta-data.
-	 *
-	 * Only do this tries times, then give up
-	 *
-	 * We wait period * attempts
-	 */
-	public int waitForMetaData(int attempts) throws InProgressException
-	{
-        int start = attempts;
-        int period = propertyGet(METADATA_ATTEMPTS_PERIOD);
-		while(attempts > 0)
-		{
-			// are we done yet?
-			if (isMetaDataAvailable())
-				break;
-			else
-				try { attempts--; Thread.sleep(period); } catch(InterruptedException ie) {}
-		}
-
-		// throw exception if still not ready
-		if (!isMetaDataAvailable())
-			throw new InProgressException();
-
-        return start-attempts;  // remaining number of tries
-	}
-
-	/**
-	 * Ask each swf if metadata processing is complete
-	 */
-	public boolean isMetaDataAvailable()
-	{
-		boolean allLoaded = true;
-		try 
-		{
-			// we need to ask the session since our fileinfocache will hide the exception
-			SwfInfo[] swfs = m_session.getSwfs();
-			for(int i=0; i<swfs.length; i++)
-			{
-				// check if our processing is finished.
-				SwfInfo swf = swfs[i];
-				if (swf != null && !swf.isProcessingComplete())
-				{
-					allLoaded = false;
-					break;
-				}
-			}
-		}
-		catch(NoResponseException nre)
-		{
-			// ok we still need to wait for player to read the swd in
-			allLoaded = false;
-		}
-
-		// count the number of times we checked and it wasn't there
-		if (!allLoaded)
-		{
-			int count = propertyGet(METADATA_NOT_AVAILABLE);
-			count++;
-			propertyPut(METADATA_NOT_AVAILABLE, count);
-		}
-		else
-		{
-			// success so we reset our attempt counter
-			propertyPut(METADATA_ATTEMPTS, METADATA_RETRIES);
-		}
-		return allLoaded;
-	}
-
-	void doInfoHandle()
-	{
-		if (hasMoreTokens())
-		{
-			// user specified a fault
-			String faultName = nextToken();
-
-			// make sure we know about this one
-		    if (!m_faultTable.exists(faultName))
-				err(getLocalizationManager().getLocalizedTextString("unrecognizedFault")); //$NON-NLS-1$
-			else
-				listFault(faultName);
-		}
-		else
-		{
-			// dump them all
-			StringBuilder sb = new StringBuilder();
-
-			appendFaultTitles(sb);
-
-			Object names[]  = m_faultTable.names();
-			Arrays.sort(names);
-
-			for(int i=0; i<names.length; i++)
-				appendFault(sb, (String)names[i]);
-
-			out ( sb.toString() );
-		}
-	}
-
-	void doInfoFuncs()
-	{
-		StringBuilder sb = new StringBuilder();
-
-		String arg = null;
-
-		// we take an optional single arg which specifies a module
-		try
-		{
-			// let's wait a bit for the background load to complete
-			waitForMetaData();
-
-			if (hasMoreTokens())
-			{
-				arg = nextToken();
-                int id = arg.equals(".") ? propertyGet(LIST_MODULE) : parseFileArg(-1, arg); //$NON-NLS-1$
-
-				SourceFile m = m_fileInfo.getFile(id, m_activeIsolate);
-				listFunctionsFor(sb, m);
-			}
-			else
-			{
-				SourceFile[] ar = m_fileInfo.getFileList(m_activeIsolate);
-				if (ar == null)
-					err(getLocalizationManager().getLocalizedTextString("noSourceFilesFound")); //$NON-NLS-1$
-				else
-                {
-                    for(int i = 0; ar != null && i < ar.length; i++)
-                    {
-                        SourceFile m = ar[i];
-                        listFunctionsFor(sb, m);
-                    }
-                }
-			}
-
-			out(sb.toString());
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noFunctionsFound")); //$NON-NLS-1$
-		}
-		catch(ParseException pe)
-		{
-			err(pe.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			err(nme.getMessage());
-		}
-		catch(AmbiguousException ae)
-		{
-			err(ae.getMessage());
-		}
-		catch(InProgressException ipe)
-		{
-		    err(getLocalizationManager().getLocalizedTextString("functionListBeingPrepared")); //$NON-NLS-1$
-		}
-	}
-
-	void listFunctionsFor(StringBuilder sb, SourceFile m)
-	{
-		String[] names = m.getFunctionNames(m_session);
-		if (names == null)
-			return;
-
-		Arrays.sort(names);
-
-		Map<String, Object> args = new HashMap<String, Object>();
-		args.put("sourceFile", m.getName() + "#" + m.getId()); //$NON-NLS-1$ //$NON-NLS-2$
-		sb.append(getLocalizationManager().getLocalizedTextString("functionsInSourceFile", args)); //$NON-NLS-1$
-		sb.append(m_newline);
-
-        for (int j = 0; j < names.length; j++)
-		{
-			String fname = names[j];
-			sb.append(' ');
-			sb.append(fname);
-			sb.append(' ');
-			sb.append(m.getLineForFunctionName(m_session, fname));
-			sb.append(m_newline);
-		}
-	}
-
-    void listFilesMatching(StringBuilder sb, String match)
-    {
-        SourceFile[] sourceFiles = m_fileInfo.getFiles(match);
-
-        for (int j = 0; j < sourceFiles.length; j++)
-        {
-            SourceFile sourceFile = sourceFiles[j];
-            sb.append(sourceFile.getName());
-			sb.append('#');
-			sb.append(sourceFile.getId());
-			sb.append(m_newline);
-        }
-    }
-
-    void doInfoSources()
-	{
-		try
-		{
-			StringBuilder sb = new StringBuilder();
-			buildFileList(sb, true);
-			out(sb.toString());
-		}
-		catch(NullPointerException npe)
-		{
-			throw new IllegalStateException();
-		}
-	}
-
-	void doInfoBreak() throws NotConnectedException
-	{
-//		waitTilHalted();
-
-		StringBuilder sb = new StringBuilder();
-		sb.append("Num Type           Disp Enb Address    What"+m_newline); //$NON-NLS-1$
-
-		int count = breakpointCount();
-		for(int i=0; i<count; i++)
-		{
-			BreakAction b = breakpointAt(i);
-			int status = b.getStatus();
-			boolean isResolved = (status == BreakAction.RESOLVED);
-			Location l = b.getLocation();
-			SourceFile file = (l != null) ? l.getFile() : null;
-			String funcName = (file == null) ? null : file.getFunctionNameForLine(m_session, l.getLine()) ;
-			boolean singleSwf = b.isSingleSwf();
-			int cmdCount = b.getCommandCount();
-			int hits = b.getHits();
-			String cond = b.getConditionString();
-			boolean silent = b.isSilent();
-			int offset = adjustOffsetForUnitTests((file == null) ? 0 : file.getOffsetForLine(l.getLine()));
-
-			int num = b.getId();
-			FieldFormat.formatLong(sb, num, 3);
-			sb.append(" breakpoint     "); //$NON-NLS-1$
-
-			if (b.isAutoDisable())
-				sb.append("dis  "); //$NON-NLS-1$
-			else if (b.isAutoDelete())
-				sb.append("del  "); //$NON-NLS-1$
-			else
-				sb.append("keep "); //$NON-NLS-1$
-
-			if (b.isEnabled())
-				sb.append("y   "); //$NON-NLS-1$
-			else
-				sb.append("n   "); //$NON-NLS-1$
-
-			sb.append("0x"); //$NON-NLS-1$
-			FieldFormat.formatLongToHex(sb, offset, 8);
-			sb.append(' ');
-
-			if (funcName != null)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("functionName", funcName); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("inFunctionAt", args)); //$NON-NLS-1$
-			}
-
-			if (file != null)
-			{
-				sb.append(file.getName());
-				if (isResolved && singleSwf)
-				{
-					sb.append("#"); //$NON-NLS-1$
-					sb.append(file.getId());
-				}
-				sb.append(':');
-				sb.append(l.getLine());
-			}
-			else
-			{
-				String expr = b.getBreakpointExpression();
-				if (expr != null)
-					sb.append(expr);
-			}
-
-			switch (status)
-			{
-			case BreakAction.UNRESOLVED:
-				sb.append(getLocalizationManager().getLocalizedTextString("breakpointNotYetResolved")); //$NON-NLS-1$
-				break;
-			case BreakAction.AMBIGUOUS:
-				sb.append(getLocalizationManager().getLocalizedTextString("breakpointAmbiguous")); //$NON-NLS-1$
-				break;
-			case BreakAction.NOCODE:
-				sb.append(getLocalizationManager().getLocalizedTextString("breakpointNoCode")); //$NON-NLS-1$
-				break;
-			}
-
-			// if a single swf break action then append more info
-			if (singleSwf && isResolved)
-			{
-				try
-				{
-					SwfInfo info = m_fileInfo.swfForFile(file, l.getIsolateId());
-					Map<String, Object> swfArgs = new HashMap<String, Object>();
-					swfArgs.put("swf", FileInfoCache.nameOfSwf(info)); //$NON-NLS-1$
-					sb.append(getLocalizationManager().getLocalizedTextString("inSwf", swfArgs)); //$NON-NLS-1$
-				}
-				catch(NullPointerException npe)
-				{
-					// can't find the swf
-					sb.append(getLocalizationManager().getLocalizedTextString("nonRestorable")); //$NON-NLS-1$
-				}
-			}
-			sb.append(m_newline);
-
-			final String INDENT = "        "; //$NON-NLS-1$
-
-			// state our condition if we have one
-			if (cond != null && cond.length() > 0)
-			{
-				sb.append(INDENT);
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("breakpointCondition", cond ); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString(getLocalizationManager().getLocalizedTextString("stopOnlyIfConditionMet", args))); //$NON-NLS-1$
-				sb.append(m_newline);
-			}
-
-			// now if its been hit, lets state the fact
-			if (hits > 0)
-			{
-				sb.append(INDENT);
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("count", Integer.toString(hits)); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("breakpointAlreadyHit", args)); //$NON-NLS-1$
-				sb.append(m_newline);
-			}
-
-			// silent?
-			if (silent)
-			{
-				sb.append(INDENT);
-				sb.append(getLocalizationManager().getLocalizedTextString("silentBreakpoint")+m_newline); //$NON-NLS-1$
-			}
-
-			// now if any commands are trailing then we pump them out
-			for(int j=0; j<cmdCount; j++)
-			{
-				sb.append(INDENT);
-				sb.append(b.commandAt(j));
-				sb.append(m_newline);
-			}
-		}
-//		}
-
-		int wcount = watchpointCount();
-		for(int k = 0; k < wcount; k++)
-		{
-			WatchAction b = watchpointAt(k);
-			int id = b.getId();
-			FieldFormat.formatLong(sb, id, 4);
-
-			int flags = b.getKind();
-			switch(flags)
-			{
-				case WatchKind.READ:
-					sb.append("rd watchpoint  "); //$NON-NLS-1$
-					break;
-				case WatchKind.WRITE:
-					sb.append("wr watchpoint  "); //$NON-NLS-1$
-					break;
-				case WatchKind.READWRITE:
-				default:
-					sb.append("watchpoint     "); //$NON-NLS-1$
-					break;
-			}
-
-			sb.append("keep "); //$NON-NLS-1$
-			sb.append("y   "); //$NON-NLS-1$
-			sb.append("           "); //$NON-NLS-1$
-			sb.append(b.getExpr());
-			sb.append(m_newline);
-		}
-
-		int ccount = catchpointCount();
-		for (int k = 0; k < ccount; k++)
-		{
-			CatchAction c = catchpointAt(k);
-			int id = c.getId();
-			FieldFormat.formatLong(sb, id, 4);
-
-			String typeToCatch = c.getTypeToCatch();
-			if (typeToCatch == null)
-				typeToCatch = "*"; //$NON-NLS-1$
-
-			sb.append("catch          "); //$NON-NLS-1$
-			sb.append("keep "); //$NON-NLS-1$
-			sb.append("y   "); //$NON-NLS-1$
-			sb.append("           "); //$NON-NLS-1$
-			sb.append(typeToCatch);
-			sb.append(m_newline);
-		}
-
-		out(sb.toString());
-	}
-
-	/**
-	 * Dump out the state of the execution, either the fact we are running
-	 * or the breakpoint we hit.
-	 */
-	void dumpHaltState(boolean postStep) throws NotConnectedException
-	{
-		// spit out any event output, if we are to resume after a fault and we're not stepping then we're done.
-		processEvents();
-//		System.out.println("processEvents = "+m_requestResume);
-
-		//if (m_requestResume && !postStep)
-		if (hasAnyPendingResumes() != -1 && !postStep)
-			return;
-
-		if (!m_session.isConnected())
-		{
-			// session is kaput
-			out(getLocalizationManager().getLocalizedTextString("sessionTerminated")); //$NON-NLS-1$
-			exitSession();
-		}
-		else
-		{
-			if (hasAnythingSuspended())
-			{
-				// capture our break location / information
-				StringBuilder sbLine = new StringBuilder();
-				dumpBreakLine(postStep, sbLine);
-
-				// Process our breakpoints.
-				// Since we can have conditional breakpoints, which the
-				// player always breaks for, but we may not want to, the variable
-				// m_requestResume may be set after this call.  Additionally,
-				// silent may be set for one of two reasons; 1) m_requestResume
-				// was set to true in the call or one or more breakpoints that
-				// hit contained the keyword silent in their command list.
-				//
-				StringBuilder sbBreak = new StringBuilder();
-				boolean silent = processBreak(postStep, sbBreak, m_activeIsolate);
-
-				StringBuilder sb = new StringBuilder();
-				if (silent)
-				{
-					// silent means we only spit out our current location
-					dumpBreakLine(postStep, sb);
-				}
-				else
-				{
-					// not silent means we append things like normal
-					sb.append(sbLine);
-					if (sbLine.length() > 0 && sbLine.charAt(sbLine.length()-1) != '\n')
-						sb.append(m_newline);
-					sb.append(sbBreak);
-				}
-
-				// output whatever was generated 
-				if (sb.length() > 0)
-					out( sb.toString() );
-
-//				System.out.println("processbreak = "+m_requestResume+",silent="+silent+",reason="+m_session.suspendReason());
-			}
-			else
-			{
-				// very bad, set stepping so that we don't trigger a continue on a breakpoint or fault
-				out(getLocalizationManager().getLocalizedTextString("playerDidNotStop")); //$NON-NLS-1$
-			}
-		}
-	}
-
-	Location getCurrentLocation()
-	{
-		return getCurrentLocationIsolate(Isolate.DEFAULT_ID);
-	}
-	
-	Location getCurrentLocationIsolate(int isolateId)
-	{
-		Location where = null;
-		try
-		{
-			Frame[] ar = m_session.getWorkerSession(isolateId).getFrames();
-			propertyPut(CURRENT_FRAME_DEPTH, (ar.length > 0) ? ar.length : 0);
-			where = ( (ar.length > 0) ? ar[0].getLocation() : null);
-		}
-		catch(PlayerDebugException pde)
-		{
-			// where == null
-		}
-		return where;
-	}
-
-	void dumpBreakLine(boolean postStep, StringBuilder sb) throws NotConnectedException
-	{
-		int bp = -1;
-		String name = getLocalizationManager().getLocalizedTextString("unknownFilename"); //$NON-NLS-1$
-		int line = -1;
-
-		// clear our current frame display
-		propertyPut(DISPLAY_FRAME_NUMBER, 0);
-		
-		int targetIsolate = getLastStoppedIsolate();
-		boolean activeIsolateChanged = (m_activeIsolate != targetIsolate);
-		m_activeIsolate = targetIsolate;
-		propertyPut(LIST_WORKER, targetIsolate);
-
-		/* dump a context line to the console */
-		Location l = getCurrentLocationIsolate(targetIsolate);
-
-		// figure out why we stopped
-		int reason = SuspendReason.Unknown;
-		try { reason = m_session.getWorkerSession(targetIsolate).suspendReason(); } catch(PlayerDebugException pde) {}
-
-		// then see if it because of a swfloaded event
-		if( reason == SuspendReason.ScriptLoaded)
-		{
-            // since the player takes a long time to provide swf/swd, try 80 * 250ms = ~20s
-            if (propertyGet(METADATA_ATTEMPTS) > 0)
-			    try { waitForMetaData(80); } catch(InProgressException ipe) { }
-
-            m_fileInfo.setDirty();
-            m_fileInfo.getSwfsIsolate(targetIsolate);
-            //propertyPut(LIST_MODULE, m_fileInfo.getFakeId(m_fileInfo.getFile(1, targetIsolate)));
-			processEvents();
-            propagateBreakpoints(targetIsolate);
-            propertyPut(LIST_LINE, 1);
-            propertyPut(LIST_WORKER, targetIsolate);
-            propertyPut(LIST_MODULE, 1);
-            sb.append(getLocalizationManager().getLocalizedTextString("additionalCodeLoaded")); //$NON-NLS-1$
-            if ( activeIsolateChanged ) {
-            	sb.append(m_newline + getLocalizationManager().getLocalizedTextString("workerChanged")+ " " + (targetIsolate - 1) + m_newline); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-            sb.append(m_newline);
-
-			if (resolveBreakpoints(sb))
-				sb.append(getLocalizationManager().getLocalizedTextString("setAdditionalBreakpoints")+m_newline); //$NON-NLS-1$
-			else
-				sb.append(getLocalizationManager().getLocalizedTextString("fixBreakpoints")+m_newline); //$NON-NLS-1$
-			
-			setPromptState(InitialPromptState.SHOWN_ONCE, targetIsolate);
-		}
-		else if ( l == null || l.getFile() == null )
-		{
-			
-			if ( activeIsolateChanged ) {
-				sb.append(m_newline + getLocalizationManager().getLocalizedTextString("workerChanged")+ " " + (targetIsolate - 1) + m_newline); 
-			}
-			
-			// no idea where we are ?!?
-			propertyPut(LAST_FRAME_DEPTH, 0);
-			sb.append(getLocalizationManager().getLocalizedTextString("executionHalted")); //$NON-NLS-1$
-			sb.append(' ');
-
-			/** disable this line (and enable the one after) if implementation Extensions are not provided */
-			appendBreakInfo(sb, m_activeIsolate);
-			//sb.append("unknown location");
-		}
-		else
-		{
-			if ( activeIsolateChanged ) {
-				sb.append(m_newline + getLocalizationManager().getLocalizedTextString("workerChanged")+ " " + (targetIsolate - 1) + m_newline); 
-			}
-			
-			SourceFile file = l.getFile();
-			name = file.getName();
-			line = l.getLine();
-			String funcName = file.getFunctionNameForLine(m_session, line) ;
-
-			// where were we last time
-			int lastModule = propertyGet(LIST_MODULE);
-			int lastDepth = propertyGet(LAST_FRAME_DEPTH);
-
-			int thisModule = file.getId();
-			int thisDepth = propertyGet(CURRENT_FRAME_DEPTH);  // triggered via getCurrentLocation()
-
-			// mark where we stopped
-			propertyPut(LAST_FRAME_DEPTH, thisDepth);
-
-			// if we have changed our context or we are not spitting out source then dump our location
-			if (!postStep || lastModule != thisModule || lastDepth != thisDepth )
-			{
-				// is it a fault?
-				String reasonForHalting;
-				if ( reason == SuspendReason.Fault || reason == SuspendReason.StopRequest)
-				{
-					StringBuilder s = new StringBuilder();
-					appendReason(s, reason);
-					reasonForHalting = s.toString();
-				}
-				// if its a breakpoint add that information
-				else if ( (bp = enabledBreakpointIndexOf(l)) > -1 )
-				{
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("breakpointNumber", Integer.toString(breakpointAt(bp).getId())); //$NON-NLS-1$
-					reasonForHalting = getLocalizationManager().getLocalizedTextString("hitBreakpoint", args); //$NON-NLS-1$
-				}
-				else
-				{
-					reasonForHalting = getLocalizationManager().getLocalizedTextString("executionHalted"); //$NON-NLS-1$
-				}
-
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("reasonForHalting", reasonForHalting); //$NON-NLS-1$
-				args.put("fileAndLine", name + ':' + line); //$NON-NLS-1$
-				String formatString;
-				if (funcName != null)
-				{
-					args.put("functionName", funcName); //$NON-NLS-1$
-					formatString = "haltedInFunction"; //$NON-NLS-1$
-				}
-				else
-				{
-					formatString = "haltedInFile"; //$NON-NLS-1$
-				}
-				sb.append(getLocalizationManager().getLocalizedTextString(formatString, args));
-
-				if (!m_fullnameOption) 
-					sb.append(m_newline);				
-			}
-
-            // set current listing poistion and emit emacs trigger
-            setListingPosition(thisModule, line, targetIsolate);
-
-			// dump our source line if not in emacs mode
-			if (!m_fullnameOption)
-				appendSource(sb, file.getId(), line, file.getLine(line), false);
-		}
-	}
-
-	private int getLastStoppedIsolate() {
-	int targetIsolate = Isolate.DEFAULT_ID;
-		
-		if (m_breakIsolates.size() > 0) {
-			targetIsolate = m_breakIsolates.get(m_breakIsolates.size() - 1);
-		}
-		return targetIsolate;
-	}
-
-	void appendFullnamePosition(StringBuilder sb, SourceFile file, int lineNbr)
-	{
-        // fullname option means we dump 'path:line:col?:offset', which is used for emacs !
-		String name = file.getFullPath();
-		if (name.startsWith("file:/")) //$NON-NLS-1$
-			name = name.substring(6);
-
-		// Ctrl-Z Ctrl-Z
-		sb.append('\u001a');
-		sb.append('\u001a');
-
-		sb.append(name);
-		sb.append(':');
-		sb.append(lineNbr);
-		sb.append(':');
-		sb.append('0');
-		sb.append(':');
-		sb.append("beg"); //$NON-NLS-1$
-		sb.append(':');
-		sb.append('0');
-	}
-
-	// pretty print a trace statement to the console
-	void dumpTraceLine(String s)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append("[trace] "); //$NON-NLS-1$
-		sb.append(s);
-		out(sb.toString());
-	}
-
-	// pretty print a fault statement to the console
-	void dumpFaultLine(FaultEvent e)
-	{
-		StringBuilder sb = new StringBuilder();
-
-		// use a slightly different format for ConsoleErrorFaults
-		if (e instanceof ConsoleErrorFault)
-		{
-			sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenDisplayingConsoleError")); //$NON-NLS-1$
-			sb.append(' ');
-			sb.append(e.information);
-		}
-		else
-		{
-			String name = e.name();
-			sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenDisplayingFault")); //$NON-NLS-1$
-			sb.append(' ');
-			sb.append(name);
-			if (e.information != null && e.information.length() > 0)
-			{
-				sb.append(getLocalizationManager().getLocalizedTextString("informationAboutFault")); //$NON-NLS-1$
-				sb.append(e.information);
-			}
-		}
-		out( sb.toString() );
-	}
-
-    /**
-     * Called when a swf has been loaded by the player
-     * @param e event documenting the load
-     */
-    void handleSwfLoadedEvent(SwfLoadedEvent e)
-    {
-        // first we dump out a message that displays we have loaded a swf
-        dumpSwfLoadedLine(e);
-    }
-
-	// pretty print a SwfLoaded statement to the console
-	void dumpSwfLoadedLine(SwfLoadedEvent e)
-	{
-		// now rip off any trailing ? options
-		int at = e.path.lastIndexOf('?');
-		String name = (at > -1) ? e.path.substring(0, at) : e.path;
-
-		StringBuilder sb = new StringBuilder();
-		sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenSwfLoaded")); //$NON-NLS-1$
-		sb.append(' ');
-		sb.append(name);
-		sb.append(" - "); //$NON-NLS-1$
-
-		Map<String, Object> args = new HashMap<String, Object>();
-		args.put("size", NumberFormat.getInstance().format(e.swfSize)); //$NON-NLS-1$
-		sb.append(getLocalizationManager().getLocalizedTextString("sizeAfterDecompression", args)); //$NON-NLS-1$
-		out(sb.toString());
-	}
-
-    /**
-     * Propagate current breakpoints to the newly loaded swf.
-     */
-    void propagateBreakpoints(int isolateId) throws NotConnectedException
-    {
-		// get the newly added swf, which lands at the end list
-		SwfInfo[] swfs = m_fileInfo.getSwfsIsolate(isolateId);
-		SwfInfo swf = (swfs.length > 1) ? swfs[swfs.length-1] : null;
-
-		// now walk through all breakpoints propagating the 
-		// the break for each source and line number we
-		// find in the new swf
-		int size = m_breakpoints.size();
-		for (int i = 0; (swf != null) && i < size; i++)
-		{
-			// dont do this for single swf breakpoints
-			BreakAction bp = breakpointAt(i);
-			if (bp.isSingleSwf())
-				continue;
-			if (bp.getStatus() != BreakAction.RESOLVED)
-				continue;
-
-			try
-			{
-				Location l = bp.getLocation();
-				int line = l.getLine();
-				SourceFile f = l.getFile();
-				Location newLoc = findAndEnableBreak(swf, f, line);
-				if (newLoc != null)
-					bp.addLocation(newLoc);
-			}
-			catch(InProgressException ipe)
-			{
-				if (breakpointCount() > 0)
-				{
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("breakpointNumber", Integer.toString(bp.getId())); //$NON-NLS-1$
-					out(getLocalizationManager().getLocalizedTextString("breakpointNotPropagated", args)); //$NON-NLS-1$
-				}
-			}
-		}
-    }
-
-	/**
-	 * Perform the tasks need for when a swf is unloaded
-	 * the player
-	 */
-	void handleSwfUnloadedEvent(SwfUnloadedEvent e)
-	{
-		// print out the notification
-		dumpSwfUnloadedLine(e);
-	}
-
-	// pretty print a SwfUnloaded statement to the console
-	void dumpSwfUnloadedLine(SwfUnloadedEvent e)
-	{
-		// now rip off any trailing ? options
-		int at = e.path.lastIndexOf('?');
-		String name = (at > -1) ? e.path.substring(0, at) : e.path;
-
-		StringBuilder sb = new StringBuilder();
-		sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenSwfUnloaded")); //$NON-NLS-1$
-		sb.append(' ');
-		sb.append(name);
-		out(sb.toString());
-	}
-
-	void doContinue() throws NotConnectedException
-	{
-		//int stoppedIsolate = getLastStoppedIsolate();
-		int stoppedIsolate = m_activeIsolate;
-		waitTilHalted(stoppedIsolate);
-
-		// this will trigger a resume when we get back to the main loop
-		//m_requestResume = true;
-		setRequestResume(true, stoppedIsolate);
-		m_repeatLine = m_currentLine;
-	}
-	
-	boolean hasAnythingSuspended() throws NotConnectedException {
-		boolean hasAnythingSuspended = false;
-		for (Integer id : m_breakIsolates) {
-			if (m_session.getWorkerSession(id).isSuspended()) {
-				hasAnythingSuspended = true;
-				break;
-			}
-		}
-		return hasAnythingSuspended;
-	}
-	
-	int hasAnyPendingResumes() throws NotConnectedException {
-		int rid = -1;
-		if (m_mainState.m_requestResume)
-			return Isolate.DEFAULT_ID;
-		for (Integer id : m_breakIsolates) {
-			if (getIsolateState(id).m_requestResume) {
-				rid = id;
-				break;
-			}
-		}
-		return rid;
-	}
-	
-	/**
-	 * Returns the first isolate's id for which we need to keep showing prompts.
-	 * 
-	 * @return The isolate id
-	 * @throws NotConnectedException
-	 */
-	int hasPendingInitialPrompts() throws NotConnectedException {
-		int rid = -1;
-		for (Integer id : m_breakIsolates) {
-			if (getPromptState(id) != InitialPromptState.DONE) {
-				rid = id;
-				break;
-			}
-		}
-		return rid;
-	}
-
-	/**
-	 * Our main loop when the player is off running
-	 */
-	public void runningLoop() throws NoResponseException, NotConnectedException
-	{
-		int update = propertyGet(UPDATE_DELAY);
-		boolean nowait = (propertyGet(NO_WAITING) == 1) ? true : false;  // DEBUG ONLY; do not document
-		boolean stop = false;
-		boolean noConnection = !haveConnection();
-		boolean hasAnythingSuspended = false;
-		int targetIsolate = Isolate.DEFAULT_ID;
-		if (!noConnection) {
-			hasAnythingSuspended = hasAnythingSuspended();
-		}
-
-		if (hasAnythingSuspended) {
-			if (m_breakIsolates.size() > 0) {
-				targetIsolate = m_breakIsolates.get(m_breakIsolates.size() - 1);
-			}
-		}
-		// not there, not connected or already halted and no pending resume requests => we are done
-		//if (noConnection || (hasAnythingSuspended && !m_requestResume) )
-		if (noConnection || (hasAnythingSuspended && hasAnyPendingResumes() == -1) )
-		{
-			processEvents();
-			stop = true;
-			
-			if(!noConnection) {
-				/** At this point, some isolate is in suspended state and will be until a resume 
-				 *  is requested via the prompt. We thus check for any pending prompts to be displayed 
-				 *  for freshly loaded swfs. If any, we switch to that worker and prompt the user to set 
-				 *  any break points.  */
-				int pendingPromptIsolate = -1;
-				if ( m_lastPromptIsolate != -1 && ( getPromptState(m_lastPromptIsolate) != InitialPromptState.DONE ) ) {
-					pendingPromptIsolate = m_lastPromptIsolate;
-				} else {
-					pendingPromptIsolate = hasPendingInitialPrompts();
-				}
-				if ( pendingPromptIsolate != -1) {
-					dumpInitialPrompt(pendingPromptIsolate);
-				}
-			}
-		}
-
-	    while(!stop)
-		{
-			// allow keyboard input
-			if (!nowait)
-				m_keyboardReadRequest = true;
-			int pendingResumeId = hasAnyPendingResumes();
-			if (pendingResumeId != -1)
-			{
-				// resume execution (request fulfilled) and look for keyboard input
-				try
-				{
-					IsolateSession workerSession = m_session.getWorkerSession(pendingResumeId);
-					//if (m_stepResume)
-					if (getStepResume(pendingResumeId))
-						workerSession.stepContinue();
-					else {
-						workerSession.resume();
-					}
-					/** The user is done setting initial breakpoints for this isolate,
-					 *  clear any pending initial prompts */
-					setPromptState(InitialPromptState.DONE, pendingResumeId);
-					removeBreakIsolate(pendingResumeId);
-				}
-				catch(NotSuspendedException nse)
-				{
-					err(getLocalizationManager().getLocalizedTextString("playerAlreadyRunning")); //$NON-NLS-1$
-				}
-
-				setRequestResume(false, pendingResumeId);
-				setRequestHalt(false, pendingResumeId);
-				setStepResume(false, pendingResumeId);
-//				m_requestResume = false;
-//				m_requestHalt = false;
-//				m_stepResume = false;
-			}
-
-			// sleep for a bit, then process our events.
-			try { Thread.sleep(update); } catch(InterruptedException ie) {}
-			processEvents();
-
-			// lost connection?
-			if (!haveConnection())
-			{
-				stop = true;
-				dumpHaltState(false);
-			}
-			else if (hasAnythingSuspended())
-			{
-				/**
-				 * We have stopped for some reason.  Now for all cases, but conditional
-				 * breakpoints, we should be done.  For conditional breakpoints it
-				 * may be that the condition has turned out to be false and thus
-				 * we need to continue
-				 */
-
-				/**
-				 * Now before we do this see, if we have a valid break reason, since
-				 * we could be still receiving incoming messages, even though we have halted.
-				 * This is definately the case with loading of multiple SWFs.  After the load
-				 * we get info on the swf.
-				 */
-				if (m_breakIsolates.size() > 0) {
-					targetIsolate = m_breakIsolates.get(m_breakIsolates.size() - 1);
-				}
-				else {
-					targetIsolate = Isolate.DEFAULT_ID;
-				}
-				int tries = 3;
-				IsolateSession workerSession = m_session.getWorkerSession(targetIsolate);
-				while (tries-- > 0 && workerSession.suspendReason() == SuspendReason.Unknown)
-					try { Thread.sleep(100); processEvents(); } catch(InterruptedException ie) {}
-
-				dumpHaltState(false);
-				//if (!m_requestResume)
-				if (!getRequestResume(targetIsolate))
-					stop = true;
-			}
-			else if (nowait)
-			{
-				stop = true;  // for DEBUG only
-			}
-			else
-			{
-				/**
-				 * We are still running which is fine.  But let's see if the user has
-				 * tried to enter something on the keyboard.  If so, then we need to
-				 * stop
-				 */
-				if (!m_keyboardInput.isEmpty() && System.getProperty("fdbunit")==null) //$NON-NLS-1$
-				{
-					// flush the queue and prompt the user if they want us to halt
-					m_keyboardInput.clear();
-					try
-					{
-						if (yesNoQuery(getLocalizationManager().getLocalizedTextString("doYouWantToHalt"))) //$NON-NLS-1$
-						{
-							out(getLocalizationManager().getLocalizedTextString("attemptingToHalt")); //$NON-NLS-1$
-							IsolateSession workerSession = m_session.getWorkerSession(m_activeIsolate);
-							workerSession.suspend();
-//							m_session.suspend();
-							getIsolateState(m_activeIsolate).m_requestHalt = true;
-
-							// no connection => dump state and end
-							if (!haveConnection())
-							{
-								dumpHaltState(false);
-								stop = true;
-							}
-							else if (!workerSession.isSuspended())
-								err(getLocalizationManager().getLocalizedTextString("couldNotHalt")); //$NON-NLS-1$
-						}
-					}
-					catch(IllegalArgumentException iae)
-					{
-						out(getLocalizationManager().getLocalizedTextString("escapingFromDebuggerPendingLoop")); //$NON-NLS-1$
-						propertyPut(NO_WAITING, 1);
-						stop = true;
-					}
-					catch(IOException io)
-					{
-						Map<String, Object> args = new HashMap<String, Object>();
-						args.put("error", io.getMessage()); //$NON-NLS-1$
-						err(getLocalizationManager().getLocalizedTextString("continuingDueToError", args)); //$NON-NLS-1$
-					}
-					catch(SuspendedException se)
-					{
-						// lucky us, already stopped
-					}
-				}
-			}
-//		System.out.println("doContinue resume="+m_requestResume+",isSuspended="+m_session.isSuspended());
-		}
-
-		// DEBUG ONLY: if we are not waiting then process some events
-		if (nowait)
-			processEvents();
-	}
-
-	/**
-	 *  Does a few of things - 
-	 * 		1) Sets the target worker as 'active'.
-	 * 		2) Propagates any breakpoints already set which are relevant to the target worker.
-	 * 		3) Outputs messages indicating additional code load and worker switch.
-	 * 		4) Sets {@link DebugCLIIsolateState#m_promptState} as {@link InitialPromptState#SHOWN_ONCE} if 
-	 * 		   the prompt hasn't been shown for this worker before.
-	 */
-	private void dumpInitialPrompt(int targetIsolate) throws NotConnectedException{
-		boolean activeIsolateChanged = ( m_activeIsolate != targetIsolate );
-		m_activeIsolate = targetIsolate;
-		
-		if ( activeIsolateChanged ) {
-			propertyPut(LIST_WORKER, targetIsolate);
-			propertyPut(LIST_LINE, 1);
-			propertyPut(LIST_MODULE, 1);
-			propagateBreakpoints(targetIsolate);
-		}
-		
-        StringBuilder sb = new StringBuilder();
-        if (getPromptState(targetIsolate) == InitialPromptState.NEVER_SHOWN) {
-        	sb.append(getLocalizationManager().getLocalizedTextString("additionalCodeLoaded")); //$NON-NLS-1$
-        	sb.append(m_newline + getLocalizationManager().getLocalizedTextString("workerChanged")+ " " + (targetIsolate - 1) + m_newline); //$NON-NLS-1$ //$NON-NLS-2$
-        	sb.append(m_newline);
-        	setPromptState(InitialPromptState.SHOWN_ONCE, targetIsolate);
-        }
-
-		if (resolveBreakpoints(sb))
-			sb.append(getLocalizationManager().getLocalizedTextString("setAdditionalBreakpoints")+m_newline); //$NON-NLS-1$
-		else
-			sb.append(getLocalizationManager().getLocalizedTextString("fixBreakpoints")+m_newline); //$NON-NLS-1$
-		
-		// output whatever has to be
-		if (sb.length() > 0)
-			out( sb.toString() );
-		
-	}
-
-	private void removeBreakIsolate(int targetIsolate) {
-		for (int i = 0; i < m_breakIsolates.size();i++) {
-			int id = m_breakIsolates.get(i);
-			if (id == targetIsolate) {
-				m_breakIsolates.remove(i);
-				break;
-			}
-		}
-	}
-
-	/**
-	 * Bring the listing location back to the current frame
-	 */
-	void doHome()
-	{
-		try
-		{
-			Location l = getCurrentLocationIsolate(m_activeIsolate);
-			SourceFile file = l.getFile();
-			int module = file.getId();
-			int line = l.getLine();
-			int worker = l.getIsolateId();
-
-			// now set it
-            setListingPosition(module, line, worker);
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("currentLocationUnknown")); //$NON-NLS-1$
-		}
-	}
-
-	// Dump a source line of text to the display
-	void dumpStep() throws NotConnectedException
-	{
-		dumpHaltState(true);
-	}
-
-	/**
-	 * Simple interface used with stepWithTimeout().  Implementors of this interface
-	 * are expected to call one of these function: Session.stepInto(), Session.stepOver(),
-	 * Session.stepOut(), or Session.stepContinue().
-	 */
-	private interface AnyKindOfStep
-	{
-		public void step() throws PlayerDebugException;
-	}
-
-	/**
-	 * Helper function to do a stepInto, stepOver, stepOut, or stepContinue,
-	 * and then to block (processing events) until either the step has completed
-	 * or it has timed out.
-	 */
-	private void stepWithTimeout(AnyKindOfStep step, int isolateId) throws PlayerDebugException
-	{
-		int timeout = m_session.getPreference(SessionManager.PREF_RESPONSE_TIMEOUT);
-		long timeoutTime = System.currentTimeMillis() + timeout;
-
-		step.step();
-		IsolateSession workerSession = m_session.getWorkerSession(isolateId);
-		while (System.currentTimeMillis() < timeoutTime && !workerSession.isSuspended())
-		{
-			processEvents();
-			if (!m_session.isSuspended())
-			{
-				try { Thread.sleep(1); } catch (InterruptedException e) { }
-			}
-		}
-		if (System.currentTimeMillis() >= timeoutTime && !workerSession.isSuspended())
-			throw new NoResponseException(timeout);
-	}
-
-	private boolean allowedToStep(int isolateId) throws NotConnectedException
-	{
-		int suspendReason = m_session.getWorkerSession(isolateId).suspendReason();
-		if (suspendReason == SuspendReason.ScriptLoaded)
-		{
-			err(getLocalizationManager().getLocalizedTextString("cannotStep")); //$NON-NLS-1$
-			return false;
-		}
-
-		return true;
-	}
-
-	/**
-	 * Perform step into, optional COUNT parameter
-	 */
-	void doStep() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		if (!allowedToStep(m_activeIsolate))
-			return;
-		
-		int count = 1;
-		if (hasMoreTokens())
-			count = nextIntToken();
-		DebugCLIIsolateState state = getIsolateState(m_activeIsolate);
-		while(count-- > 0)
-		{
-			stepWithTimeout(new AnyKindOfStep() {
-				public void step() throws PlayerDebugException
-				{
-					m_session.getWorkerSession(m_activeIsolate).stepInto();
-				}
-			}, m_activeIsolate);
-
-			for (;;)
-			{
-				dumpStep();
-
-				if (state.m_requestResume) // perhaps we hit a conditional breakpoint
-				{
-					state.m_requestResume = false;
-					stepWithTimeout(new AnyKindOfStep() {
-						public void step() throws PlayerDebugException
-						{
-							m_session.getWorkerSession(m_activeIsolate).stepContinue();
-						}
-					}, m_activeIsolate);
-				}
-				else
-				{
-					break;
-				}
-			}
-		}
-
-		m_repeatLine = m_currentLine;
-	}
-
-	/**
-	 * Perform step over, optional COUNT parameter
-	 */
-	void doNext() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		if (!allowedToStep(m_activeIsolate))
-			return;
-		
-		int count = 1;
-		if (hasMoreTokens())
-			count = nextIntToken();
-		DebugCLIIsolateState state = getIsolateState(m_activeIsolate);
-		try
-		{
-			while(count-- > 0)
-			{
-				stepWithTimeout(new AnyKindOfStep() {
-					public void step() throws PlayerDebugException
-					{
-						m_session.getWorkerSession(m_activeIsolate).stepOver();
-					}
-				},m_activeIsolate);
-
-				for (;;)
-				{
-					dumpStep();
-
-					if (state.m_requestResume) // perhaps we hit a conditional breakpoint
-					{
-						state.m_requestResume = false;
-						stepWithTimeout(new AnyKindOfStep() {
-							public void step() throws PlayerDebugException
-							{
-								m_session.getWorkerSession(m_activeIsolate).stepContinue();
-							}
-						},m_activeIsolate);
-					}
-					else
-					{
-						break;
-					}
-				}
-			}
-		}
-		catch(NoResponseException nre)
-		{
-			if (count > 0)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("count", Integer.toString(count)); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("abortingStep", args)); //$NON-NLS-1$
-			}
-		}
-
-		m_repeatLine = m_currentLine;
-	}
-
-	/**
-	 * Perform step out
-	 */
-	void doFinish() throws PlayerDebugException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		if (!allowedToStep(m_activeIsolate))
-			return;
-		DebugCLIIsolateState state = getIsolateState(m_activeIsolate);
-		try
-		{
-			// make sure we have another frame?
-			int depth = propertyGet(CURRENT_FRAME_DEPTH);
-			if (depth < 2)
-				err(getLocalizationManager().getLocalizedTextString("finishCommandNotMeaningfulOnOutermostFrame")); //$NON-NLS-1$
-			else
-			{
-				stepWithTimeout(new AnyKindOfStep() {
-					public void step() throws PlayerDebugException
-					{
-						m_session.getWorkerSession(m_activeIsolate).stepOut();
-					}
-				},m_activeIsolate);
-
-				for (;;)
-				{
-					dumpStep();
-
-					if (state.m_requestResume) // perhaps we hit a conditional breakpoint
-					{
-						state.m_requestResume = false;
-						stepWithTimeout(new AnyKindOfStep() {
-							public void step() throws PlayerDebugException
-							{
-								m_session.getWorkerSession(m_activeIsolate).stepContinue();
-							}
-						},m_activeIsolate);
-					}
-					else
-					{
-						break;
-					}
-				}
-
-				m_repeatLine = m_currentLine;
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("finishCommandNotMeaningfulWithoutStack")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Delete a breakpoint, very similar logic to disable.
-	 */
-	void doDelete() throws IOException, AmbiguousException, NotConnectedException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		try
-		{
-			if (!hasMoreTokens())
-			{
-				// no args means delete all breakpoints, last chance...
-				if (yesNoQuery(getLocalizationManager().getLocalizedTextString("askDeleteAllBreakpoints"))) //$NON-NLS-1$
-				{
-					int count = breakpointCount();
-					for(int i=count-1; i>-1; i--)
-						removeBreakpointAt(i);
-
-					removeAllWatchpoints();
-					removeAllCatchpoints();
-				}
-			}
-			else
-			{
-				// optionally specify  'display' or 'breakpoint'
-				String arg = nextToken();
-				int cmd = disableCommandFor(arg);
-				int id = -1;
-				if (cmd == CMD_DISPLAY)
-					doUnDisplay();
-				else
-				{
-					if (cmd == CMD_BREAK)
-						id = nextIntToken();  // ignore and get next number token
-					else
-						id = Integer.parseInt(arg);
-
-					do
-					{
-						try
-						{
-							int at = breakpointIndexOf(id);
-							if(at > -1)
-							{
-								removeBreakpointAt(at);
-							}
-							else
-							{
-								at = watchpointIndexOf(id);
-								if (at > -1)
-								{
-									removeWatchpointAt(at);
-								}
-								else
-								{
-									at = catchpointIndexOf(id);
-									removeCatchpointAt(at);
-								}
-							}
-						}
-						catch(IndexOutOfBoundsException iob)
-						{
-							Map<String, Object> args = new HashMap<String, Object>();
-							args.put("breakpointNumber", m_currentToken); //$NON-NLS-1$
-							err(getLocalizationManager().getLocalizedTextString("noBreakpointNumber", args)); //$NON-NLS-1$
-						}
-
-						if (hasMoreTokens())
-							id = nextIntToken();
-						else
-							id = -1;
-
-						// keep going till we're blue in the face; also note that we cache'd a copy of locations
-						// so that breakpoint numbers are consistent.
-					}
-					while( id > -1 );
-				}
-			}
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Set a breakpoint
-	 */
-	void doBreak() throws NotConnectedException
-	{
-		int isolateId = propertyGet(LIST_WORKER);
-		/* wait a bit if we are not halted */
-		waitTilHalted(isolateId);
-
-        int module = propertyGet(LIST_MODULE);
-		int line = propertyGet(LIST_LINE);
-		
-        String arg = null;
-
-		/* currentXXX may NOT be invalid! */
-		try
-		{
-			if (hasMoreTokens())
-			{
-                arg = nextToken();
-                int[] result = parseLocationArg(module, line, arg, isolateId);
-                module = result[0];
-                line = result[1];
-			}
-			else
-			{
-				// no parameter mean use current location;  null pointer if nothing works
-				Location l = getCurrentLocationIsolate(isolateId);
-				SourceFile file = l.getFile();
-				module = file.getId();
-				line = l.getLine();
-			}
-
-//			// check to see if there are any existing breakpoints at this file/line
-//			LinkedList existingBreakpoints = new LinkedList();
-//			int start = 0;
-//			for (;;)
-//			{
-//				int bp = breakpointIndexOf(module, line, start, true);
-//				if (bp == -1)
-//					break; // no more matches
-//				boolean isEnabled = breakpointAt(bp).isEnabled();
-//				existingBreakpoints.add("" + bp + (isEnabled ? "" : " (disabled)"));
-//			}
-//			if (existingBreakpoints.size() > 0)
-//			{
-//				String
-//			}
-
-			// go off; create it and set it
-            BreakAction b = addBreakpoint(module, line, isolateId);  // throws npe if not able to set
-            Location l = b.getLocation();
-
-			int which = b.getId();
-			String name = l.getFile().getName();
-			int offset  = adjustOffsetForUnitTests(l.getFile().getOffsetForLine(line));
-
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", Integer.toString(which)); //$NON-NLS-1$
-			args.put("file", name); //$NON-NLS-1$
-			args.put("line", Integer.toString(line)); //$NON-NLS-1$
-			String formatString;
-			if (offset != 0)
-			{
-				args.put("offset", "0x" + Integer.toHexString(offset)); //$NON-NLS-1$ //$NON-NLS-2$
-				formatString = "createdBreakpointWithOffset"; //$NON-NLS-1$
-			}
-			else
-			{
-				formatString = "createdBreakpoint"; //$NON-NLS-1$
-			}
-			out(getLocalizationManager().getLocalizedTextString(formatString, args));
-
-			// worked so add it to our tracking state
-			propertyPut(BPNUM, which);
-		}
-		catch(ParseException pe)
-		{
-			err(pe.getMessage());
-		}
-		catch(AmbiguousException ae)
-		{
-			err(ae.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			// We couldn't find a function name or filename which matched what
-			// the user entered.  Do *not* fail; instead, just save this breakpoint
-			// away, and later, as more ABCs get loaded from the SWF, we may be
-			// able to resolve this breakpoint.
-			BreakAction b = addUnresolvedBreakpoint(arg, m_activeIsolate);
-
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", Integer.toString(b.getId())); //$NON-NLS-1$
-			out(getLocalizationManager().getLocalizedTextString("breakpointCreatedButNotYetResolved", args)); //$NON-NLS-1$
-
-			// add it to our tracking state
-			propertyPut(BPNUM, b.getId());
-		}
-		catch(NullPointerException npe)
-		{
-			String filename;
-			try
-			{
-				filename = m_fileInfo.getFile(module, isolateId).getName() + "#" + module; //$NON-NLS-1$
-			}
-			catch (Exception e)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("fileNumber", Integer.toString(module)); //$NON-NLS-1$
-				filename = getLocalizationManager().getLocalizedTextString("fileNumber", args); //$NON-NLS-1$
-			}
-
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("filename", filename); //$NON-NLS-1$
-			args.put("line", Integer.toString(line)); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("breakpointNotSetNoCode", args)); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Clear a breakpoint
-	 */
-	void doClear() throws NotConnectedException
-	{
-        int module = propertyGet(LIST_MODULE);
-		int line = propertyGet(LIST_LINE);
-		int isolateId = propertyGet(LIST_WORKER);
-        String arg = null;
-
-		/* wait a bit if we are not halted */
-		waitTilHalted(m_activeIsolate);
-
-		/* currentXXX may NOT be invalid! */
-		try
-		{
-			if (hasMoreTokens())
-			{
-                arg = nextToken();
-                int[] result = parseLocationArg(module, line, arg, isolateId);
-                module = result[0];
-                line = result[1];
-			}
-
-			// map the breakpoint to location and then delete it
-			removeBreakpoint(module, line);
-		}
-		catch(ParseException pe)
-		{
-			err(pe.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			if (removeUnresolvedBreakpoint(arg) == null)
-				err(getLocalizationManager().getLocalizedTextString("breakpointLocationUnknown")); //$NON-NLS-1$
-		}
-		catch(AmbiguousException ae)
-		{
-			err(ae.getMessage());
-		}
-		catch(ArrayIndexOutOfBoundsException aio)
-		{
-			// means no breakpoint at this location
-			err(getLocalizationManager().getLocalizedTextString("breakpointLocationUnknown")); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("breakpointNotCleared")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Remove the breakpoint from our table and then determine
-	 */
-	BreakAction removeBreakpoint(int fileId, int line) throws ArrayIndexOutOfBoundsException, NotConnectedException
-	{
-		int at = breakpointIndexOf(fileId, line);
-		return removeBreakpointAt(at);
-	}
-
-	BreakAction removeUnresolvedBreakpoint(String unresolvedLocation) throws NotConnectedException
-	{
-		int size = breakpointCount();
-		for(int i=0; i<size; i++)
-		{
-			BreakAction b = breakpointAt(i);
-			String s = b.getBreakpointExpression();
-			if (s != null && s.equals(unresolvedLocation))
-				return removeBreakpointAt(i);
-		}
-		return null;
-	}
-
-	BreakAction removeBreakpointAt(int at) throws ArrayIndexOutOfBoundsException, NotConnectedException
-	{
-		BreakAction a = breakpointAt(at);
-//		if (isolateId == Isolate.DEFAULT_ID)
-			m_breakpoints.removeElementAt(at);
-//		else
-//			getIsolateState(isolateId).m_breakpoints.removeElementAt(at);
-		
-		if (a.getStatus() == BreakAction.RESOLVED)
-			breakDisableRequest(a.getLocations());
-		return a;
-	}
-
-    /**
-     * Attempt to create new breakpoint at the given file and line. It will be set
-     * @param fileId source file identifier
-     * @param line line number
-     * @return object associated with breakpoint
-     */
-    BreakAction addBreakpoint(int fileId, int line, int isolateId) throws NotConnectedException, NullPointerException
-    {
-		// use fileId SourceFile to denote the name of file in which we wish to set a breakpoint    	
-    	SourceFile f = m_fileInfo.getFile(fileId, isolateId);
-      
-        
-		LocationCollection col = enableBreak(f, line, isolateId);
-
-        BreakAction b = new BreakAction(col);  //  throws NullPointerException if collection is null
-        b.setEnabled(true);
-		b.setSingleSwf(m_fileInfo.isSwfFilterOn());
-        breakpointAdd(b);
-        return b;
-    }
-	
-	/**
-	 * Create a new, *unresolved* breakpoint.  Unresolved means we weren't able to
-	 * parse the location string, presumably because the filename to which it refers
-	 * has not yet been loaded.
-	 * @param unresolvedLocation the breakpoint location, exactly as typed by the user
-	 * @return object associated with breakpoint
-	 */
-	private BreakAction addUnresolvedBreakpoint(String unresolvedLocation, int isolateId)
-	{
-		BreakAction b = new BreakAction(unresolvedLocation);
-		b.setEnabled(true);
-		b.setSingleSwf(m_fileInfo.isSwfFilterOn());
-		breakpointAdd(b);
-		return b;
-	}
-
-	/**
-	 * Try to resolve any breakpoints which have not yet been resolved.  We
-	 * do this every time a new ABC or SWF is loaded.  NOTE: The return
-	 * value does NOT indicate whether any breakpoints were resolved!  Rather,
-	 * it indicates whether the operation was considered "successful."
-	 * If a previously-unresolved breakpoint is now ambiguous, then that is
-	 * an error, and the return value is 'false' (indicating that the
-	 * debugger should halt).
-	 */
-	private boolean resolveBreakpoints(StringBuilder sb)
-	{
-		int count = breakpointCount();
-		boolean success = true;
-		for (int i=0; i<count; ++i)
-		{
-			BreakAction b = breakpointAt(i);
-			try
-			{
-				tryResolveBreakpoint(b, sb);
-			}
-			catch (Exception e) // AmbiguousException or NullPointerException
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("breakpointNumber", Integer.toString(b.getId())); //$NON-NLS-1$
-				args.put("expression", b.getBreakpointExpression()); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("attemptingToResolve", args)); //$NON-NLS-1$
-				sb.append(m_newline);
-				sb.append(e.getMessage());
-				sb.append(m_newline);
-				success = false;
-			}
-		}
-		return success;
-	}
-
-	/**
-	 * Try to resolve one breakpoint.  We do this every time a new ABC or
-	 * SWF is loaded.
-	 * @param b the breakpoint to resolve (it's okay if it's already resolved)
-	 * @param sb a StringBuilder to which any messages for are appended;
-	 * 			to the user.
-	 * @return true if the breakpoint is resolved
-	 * @throws AmbiguousException
-	 * @throws NullPointerException 
-	 */
-	private boolean tryResolveBreakpoint(BreakAction b, StringBuilder sb) throws AmbiguousException
-	{
-		int status = b.getStatus();
-		boolean resolved = (status == BreakAction.RESOLVED);
-		if (status == BreakAction.UNRESOLVED) // we don't do anything for RESOLVED or AMBIGUOUS
-		{
-			/* wait a bit if we are not halted */
-			try
-			{
-				waitTilHalted(m_activeIsolate);
-
-				// First we check for the case where this breakpoint already has a
-				// filename and line number, because those were determined during a
-				// previous session, but then the user did a "kill".
-				//
-				// If this fails, then the "else" clause deals with the case where
-				// the user typed in an expression for which we have not yet found
-				// a filename and line number.
-		    	if (enableBreakpoint(b, b.isAutoDisable(), b.isAutoDelete()))
-		    	{
-		    		resolved = true;
-		    	}
-		    	else
-		    	{
-			        int module = propertyGet(LIST_MODULE);
-					int line = propertyGet(LIST_LINE);
-					int isolateId = propertyGet(LIST_WORKER);
-
-			        String arg = b.getBreakpointExpression();
-
-			        if (arg != null)
-			        {
-			            int[] result = parseLocationArg(module, line, arg, isolateId);
-		
-						// whoo-hoo, it resolved!
-		                module = result[0];
-		                line = result[1];
-		
-						// use module SourceFile to denote the name of file in which we wish to set a breakpoint
-				        SourceFile f = m_fileInfo.getFile(module, isolateId);
-//		                SourceFile f = m_fileInfo.getFakeFile(module);
-						LocationCollection col = enableBreak(f, line, isolateId);
-						if (col.isEmpty())
-							throw new NullPointerException(getLocalizationManager().getLocalizedTextString("noExecutableCode")); //$NON-NLS-1$
-						b.setLocations(col);
-		
-						Location l = col.first();
-						SourceFile file = (l != null) ? l.getFile() : null;
-						String funcName = (file == null) ? null : file.getFunctionNameForLine(m_session, l.getLine()) ;
-
-						Map<String, Object> args = new HashMap<String, Object>();
-						String formatString;
-						args.put("breakpointNumber", Integer.toString(b.getId())); //$NON-NLS-1$
-						String filename = file.getName();
-						if (b.isSingleSwf() && file != null)
-						{
-							filename = filename + "#" + file.getId(); //$NON-NLS-1$
-						}
-						args.put("file", filename); //$NON-NLS-1$
-						args.put("line", new Integer(l.getLine())); //$NON-NLS-1$
-
-						if (funcName != null)
-						{
-							args.put("functionName", funcName); //$NON-NLS-1$
-							formatString = "resolvedBreakpointToFunction"; //$NON-NLS-1$
-						}
-						else
-						{
-							formatString = "resolvedBreakpointToFile"; //$NON-NLS-1$
-						}
-
-						sb.append(getLocalizationManager().getLocalizedTextString(formatString, args));
-						sb.append(m_newline);
-						sb.append(m_newline);
-		
-						resolved = true;
-			        }
-		    	}
-			}
-			catch (NotConnectedException e)
-			{
-				// Ignore
-			}
-			catch (NoMatchException e)
-			{
-				// Okay, it's still not resolved; do nothing
-			}
-			catch (ParseException e)
-			{
-				// this shouldn't happen
-				if (Trace.error)
-					Trace.trace(e.toString());
-			}
-			catch (AmbiguousException e)
-			{
-				b.setStatus(BreakAction.AMBIGUOUS);
-				throw e; // rethrow
-			}
-			catch (NullPointerException e)
-			{
-				b.setStatus(BreakAction.NOCODE);
-				throw e; // rethrow
-			}
-		}
-		return resolved;
-	}
-	
-	/**
-	 * Enable a breakpoint using the SourceFile as a template
-	 * for the source file in which the breakpoint should be 
-	 * set.
-	 */
-	LocationCollection enableBreak(SourceFile f, int line, int isolateId) throws NotConnectedException
-	{
-        LocationCollection col = new LocationCollection();
-		boolean singleSwfBreakpoint = m_fileInfo.isSwfFilterOn();
-		SwfInfo swf = m_fileInfo.getSwfFilter();
-
-        // If we have a swf filter enabled then we only want to
-        // set a breakpoint in a specific swf not all of them
-		try
-		{
-			if (singleSwfBreakpoint)
-			{
-				Location l = findAndEnableBreak(swf, f, line);
-				col.add(l);
-			}
-			else
-			{
-				// walk all swfs looking to add this breakpoint
-				SwfInfo[] swfs = m_fileInfo.getSwfs(isolateId);
-				for(int i=0; i<swfs.length; i++)
-				{
-					swf = swfs[i];
-					if (swf != null)
-					{
-						Location l = findAndEnableBreak(swf, f, line);
-						if (l != null)
-							col.add(l);
-					}
-				}
-			}
-		}
-		catch(InProgressException ipe)
-		{
-			if (Trace.error)
-				Trace.trace( ( (swf==null)?"SWF ":swf.getUrl() )+" still loading, breakpoint at "+f.getName()+":"+line+" not set"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return col;
-	}
-
-	/**
-	 * Enable a breakpoint for a particular swf if the sourceFile 
-	 * is available in that swf.
-	 * @param swf if null, then set the breakpoint in the given source file
-	 *			otherwise try to locate a matching source file in given swf.
-	 * @return null if the swf does not contain this source file
-	 */
-	Location findAndEnableBreak(SwfInfo swf, SourceFile f, int line) throws NotConnectedException, InProgressException
-	{
-		int fileId = f.getId();
-		if (swf != null)
-		{
-			SourceFile sameFile = m_fileInfo.similarFileInSwf(swf, f);
-			if (sameFile != null)
-				fileId = sameFile.getId();
-			else 
-				fileId = -1;
-		}
-
-		Location l = (fileId > -1) ? breakEnableRequest(fileId, line, swf.getIsolateId()) : null;
-		return l;
-	}
-
-	/**
-	 * Received when a breakpoint has been removed (or disabled)
-	 */
-	Location breakEnableRequest(int fileId, int line, int isolateId) throws NotConnectedException
-	{
-		Location l = null;
-		try
-		{
-			l = m_session.getWorkerSession(isolateId).setBreakpoint(fileId, line);
-		}
-		catch(NoResponseException nre)
-		{
-			/**
-			 * This could be that we have an old player which does not
-			 * respond to this request, or that we have a new player and
-			 * the location was not set.
-			 */
-		}
-		return l;
-	}
-
-	/**
-	 * Notification that a breakpoint has been removed (or disabled)
-	 * at the CLI level and we may need to remove it at the session level
-	 */
-	void breakDisableRequest(LocationCollection col) throws NotConnectedException
-	{
-		// now let's comb the table looking to see if this breakpoint should
-		// be removed at the session level.  Use the first entry as a template
-		// for which location we are talking about.
-		int at = 0;
-		boolean hit = false;
-		Location l = col.first();
-		do
-		{
-		    at = breakpointIndexOf(l, at);
-			if (at > -1)
-			{
-				if (breakpointAt(at).isEnabled())
-					hit = true;
-				else
-					at++; // our location match is not enabled but let's continue after the hit
-			}
-		}
-		while(at > -1 && !hit);
-
-		// no one matches, so let's remove it at the session level
-		if (!hit)
-		{
-			Iterator<Location> itr = col.iterator();
-			while(itr.hasNext())
-			{
-				l = itr.next();
-				try { m_session.clearBreakpoint(l); } catch(NoResponseException nre) {}
-			}
-		}
-	}
-
-	BreakAction breakpointAt(int at) {
-//		if (isolateId == Isolate.DEFAULT_ID)
-			return m_breakpoints.elementAt(at);
-//		else
-//			return getIsolateState(isolateId).m_breakpoints.elementAt(at);
-	}
-
-	boolean breakpointAdd(BreakAction a) {
-//		if (isolateId == Isolate.DEFAULT_ID)
-			return m_breakpoints.add(a);
-//		else
-//			return getIsolateState(isolateId).m_breakpoints.add(a);
-		
-	}
-
-	int breakpointCount() {
-//		if (isolateId == Isolate.DEFAULT_ID)
-			return m_breakpoints.size();
-//		else
-//			return getIsolateState(isolateId).m_breakpoints.size();
-	}
-
-	/**
-	 * Probe the table looking for the first breakpoint that
-	 * matches our criteria.  Various permutations of the call are supported.
-	 */
-	int breakpointIndexOf(int fileId, int line) {
-		return breakpointIndexOf(fileId, line, 0, true);
-	}
-
-	int breakpointIndexOf(Location l, int start) {
-		return breakpointIndexOf(l.getFile().getId(), l.getLine(), start, true);
-	}
-
-	int enabledBreakpointIndexOf(Location l) {
-		return breakpointIndexOf(l.getFile().getId(), l.getLine(), 0, false);
-	}
-
-	int breakpointIndexOf(int fileId, int line, int start, boolean includeDisabled)
-	{
-		int size = breakpointCount();
-		int hit = -1;
-		for(int i=start; (hit<0) && (i<size) ; i++)
-		{
-			BreakAction b = breakpointAt(i);
-			if (b.locationMatches(fileId, line) && (includeDisabled || b.isEnabled()) )
-				hit = i;
-		}
-		return hit;
-	}
-
-	// probe by identifier
-	int breakpointIndexOf(int id)
-	{
-		int size = breakpointCount();
-		int hit = -1;
-
-		for(int i=0; (hit<0) && (i<size) ; i++)
-		{
-			BreakAction b = breakpointAt(i);
-			if (b.getId() == id)
-				hit = i;
-		}
-		return hit;
-	}
-
-	// access to display
-	DisplayAction		displayAt(int at)				{ return m_displays.get(at); 	}
-	boolean				displayAdd(DisplayAction a)		{ return m_displays.add(a); 	}
-	void				displayRemoveAt(int at)			{ m_displays.remove(at); 	}
-	int					displayCount()					{ return m_displays.size(); 	}
-
-	// probe by id
-	int displayIndexOf(int id)
-	{
-		int size = displayCount();
-		int hit = -1;
-
-		for(int i=0; (hit<0) && (i<size) ; i++)
-		{
-			DisplayAction b = displayAt(i);
-			if (b.getId() == id)
-				hit = i;
-		}
-		return hit;
-	}
-
-	void doSet() throws NotConnectedException
-	{
-		/* wait a bit if we are not halted */
-//		waitTilHalted();
-		try
-		{
-			ValueExp exp = null;
-
-			if (!hasMoreTokens())
-				err(getLocalizationManager().getLocalizedTextString("setCommand")); //$NON-NLS-1$
-			else
-			{
-				// pull the expression
-				String s = restOfLine();
-
-				// parse and eval which causes the assignment to occur...
-				if ( (exp = parseExpression(s)) == null )
-					;  // failed parse
-
-				// make sure contains assignment
-
-				else if ( !exp.containsAssignment() )
-					throw new IllegalAccessException("="); //$NON-NLS-1$
-
-				else
-					evalExpression(exp, m_activeIsolate);
-			}
-		}
-		catch(IllegalAccessException iae)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("operator", iae.getMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("missingOperator", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-		}
-	}
-
-	void doPrint() throws NotConnectedException
-	{
-		/* wait a bit if we are not halted */
-//		waitTilHalted();
-		try
-		{
-			Object result = null;
-			boolean isLookupMembers = false;
-
-			if (!hasMoreTokens())
-			{
-				try
-				{
-					// attempt to get the last result
-					result = m_exprCache.get("$"); //$NON-NLS-1$
-				}
-				catch(ArrayIndexOutOfBoundsException aib)
-				{
-					err(getLocalizationManager().getLocalizedTextString("commandHistoryIsEmpty")); //$NON-NLS-1$
-					throw new NullPointerException();
-				}
-			}
-			else
-			{
-				// pull the rest of the line
-				String s = restOfLine();
-
-				// first parse it, then attempt to evaluate the expression
-				ValueExp expr = parseExpression(s);
-
-				// make sure no assignment
-				if ( expr.containsAssignment() )
-					throw new IllegalAccessException();
-
-				result = evalExpression(expr, m_activeIsolate).value;
-				isLookupMembers = expr.isLookupMembers();
-			}
-
-			/* it worked, add it to the list */
-			int which = m_exprCache.add(result);
-
-			/* dump the output */
-			StringBuilder sb = new StringBuilder();
-			sb.append('$');
-			sb.append(which);
-			sb.append(" = "); //$NON-NLS-1$
-
-			if (result instanceof Variable)
-				result = ((Variable)result).getValue();
-
-			if (result instanceof InternalProperty)
-				sb.append( ((InternalProperty)result).valueOf() );
-			else if (isLookupMembers)
-				sb.append(result);
-			else
-				ExpressionCache.appendVariableValue(sb, result, m_activeIsolate);
-
-			out( sb.toString() );
-
-			m_repeatLine = m_currentLine;
-		}
-		catch(ArrayIndexOutOfBoundsException aio)
-		{
-			// $n not in range 0..size
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("number", aio.getMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("historyHasNotReached", args)); //$NON-NLS-1$
-		}
-		catch(IllegalAccessException iae)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSideEffectsAllowed")); //$NON-NLS-1$
-		}
-		catch(NoSuchVariableException nsv)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("variable", nsv.getMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("variableUnknown", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-		}
-	}
-
-	/* parse the given string and produce an error message as appropriate */
-	ValueExp parseExpression(String s)
-	{
-		ValueExp expr = null;
-		try
-		{
-			expr = m_exprCache.parse(s);
-		}
-		catch(ParseException pe)
-		{
-			// bad operation code
-			err(getLocalizationManager().getLocalizedTextString("expressionCouldNotBeParsed") + " " + pe.getMessage()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		catch(IOException io)
-		{
-			// thrown from parser
-			err(getLocalizationManager().getLocalizedTextString("expressionCouldNotBeParsed") + " " + s); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return expr;
-	}
-
-	/*
-	 * Evaluate the given expression
-	 */
-	EvaluationResult evalExpression(ValueExp expr, int isolateId) { return evalExpression(expr, true, isolateId); }
-
-	EvaluationResult evalExpression(ValueExp expr, boolean displayExceptions, int isolateId)
-	{
-		/* now we go off and evaluate the expression */
-		EvaluationResult result = null;
-		try
-		{
-			result = m_exprCache.evaluate(expr, isolateId);
-		}
-		catch(NoSuchVariableException nsv)
-		{
-			if (displayExceptions)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("variable", nsv.getMessage()); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("variableUnknown", args)); //$NON-NLS-1$
-			}
-		}
-		catch(NumberFormatException nfe)
-		{
-			if (displayExceptions)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("value", nfe.getMessage()); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("couldNotConvertToNumber", args)); //$NON-NLS-1$
-			}
-		}
-		catch(PlayerFaultException pfe)
-		{
-			if (displayExceptions)
-				err(pfe.getMessage());
-		}
-		catch (PlayerDebugException e)
-		{
-			if (displayExceptions)
-				err(e.getMessage());
-		}
-
-		return result;
-	}
-
-	/**
-	 * Specialized dump of the contents of a movie clip tree, dumping
-	 * all the _target properties of all MCs
-	 * @throws NoResponseException 
-	 * @throws NotSuspendedException 
-	 */
-	void doMcTree() throws NotConnectedException, NotSuspendedException, NoResponseException
-	{
-		/* wait a bit if we are not halted */
-		waitTilHalted(m_activeIsolate);
-		try
-		{
-			String var = nextToken();  // our variable reference
-			String member = "_target"; //$NON-NLS-1$
-			boolean printPath = false;
-			Object result = null;
-			String name = null;
-
-			// did the user specify a member name
-			if (hasMoreTokens())
-			{
-				member = nextToken();
-
-				// did they specify some other options
-				while(hasMoreTokens())
-				{
-					String option = nextToken();
-					if (option.equalsIgnoreCase("fullpath")) //$NON-NLS-1$
-						printPath = true;
-				}
-			}
-
-			// first parse it, then attempt to evaluate the expression
-			ValueExp expr = parseExpression(var);
-			result = evalExpression(expr, m_activeIsolate).value;
-
-			StringBuilder sb = new StringBuilder();
-
-			if (result instanceof Variable)
-			{
-				name = ((Variable)result).getName();
-				result = ((Variable)result).getValue();
-			}
-
-			// It worked an should now be a value that we can traverse looking for member properties
-
-			if (result instanceof Value)
-			{
-				ArrayList<Object> e = new ArrayList<Object>();
-				dumpTree(new HashMap<Object, String>(), e, name, (Value)result, member);
-
-				// now sort according to our criteria
-				treeResults(sb, e, member, printPath);
-			}
-			else
-				throw new NoSuchVariableException(result);
-
-			out( sb.toString() );
-		}
-		catch(NoSuchVariableException nsv)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("variable", nsv.getMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("variableUnknown", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Set the context from which info files
-	 * and all other file releated commands
-	 * will operate from.
-	 *
-	 * It no swf is given then we use the
-	 * default mode which is to display all
-	 * files from all swfs.  Files with identical
-	 * names are only displayed once.
-	 */
-	void doViewSwf()
-	{
-		try
-		{
-			if (hasMoreTokens())
-			{
-				String swfName = nextToken();
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("swf", swfName); //$NON-NLS-1$
-				if (m_fileInfo.setSwfFilter(swfName))
-				{
-					out(getLocalizationManager().getLocalizedTextString("commandsLimitedToSpecifiedSwf", args)); //$NON-NLS-1$
-				}
-				else
-				{
-					err(getLocalizationManager().getLocalizedTextString("notValidSwf", args)); //$NON-NLS-1$
-				}
-			}
-			else
-			{
-				m_fileInfo.setSwfFilter(null);
-				out(getLocalizationManager().getLocalizedTextString("commandsApplyToAllSwfs")); //$NON-NLS-1$
-			}
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noActiveSession")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Increment the frame context by 1 and display the new current frame.
-	 */
-	void doUp() throws PlayerDebugException
-	{
-		int num = propertyGet(DISPLAY_FRAME_NUMBER) + 1;
-		try
-		{
-			propertyPut(DISPLAY_FRAME_NUMBER, num);
-
-			dumpFrame(num);
-			setListingToFrame(num);
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noActiveSession")); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aie)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("frameNumber", Integer.toString(num)); //$NON-NLS-1$
-            err(getLocalizationManager().getLocalizedTextString("frameDoesNotExist", args)); //$NON-NLS-1$
-        }
-		m_repeatLine = m_currentLine;
-	}
-
-	/**
-	 * Decrement the frame context by 1 and display the new current frame.
-	 */
-	void doDown() throws PlayerDebugException
-	{
-		int num = propertyGet(DISPLAY_FRAME_NUMBER) - 1;
-		try
-		{
-			propertyPut(DISPLAY_FRAME_NUMBER, num);
-
-			dumpFrame(num);
-			setListingToFrame(num);
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noActiveSession")); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aie)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("frameNumber", Integer.toString(num)); //$NON-NLS-1$
-            err(getLocalizationManager().getLocalizedTextString("frameDoesNotExist", args)); //$NON-NLS-1$
-        }
-		m_repeatLine = m_currentLine;
-	}
-
-	/**
-	 * Set the frame context to the given number and display the new current frame.
-	 */
-	void doFrame() throws PlayerDebugException
-	{
-		int num = 0;  // frame 0 by default 
-		try
-		{
-			if (hasMoreTokens())
-				num = nextIntToken();
-
-			propertyPut(DISPLAY_FRAME_NUMBER, num);
-
-			dumpFrame(num);
-			setListingToFrame(num);
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("notANumber", args)); //$NON-NLS-1$
-		}
-        catch(ArrayIndexOutOfBoundsException aie)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("frameNumber", Integer.toString(num)); //$NON-NLS-1$
-            err(getLocalizationManager().getLocalizedTextString("frameDoesNotExist", args)); //$NON-NLS-1$
-        }
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noActiveSession")); //$NON-NLS-1$
-		}
-	}
-
-	// Displays information on the current frame
-    // @throws ArrayIndexOutOfBoundsException if frame 'frm' doesn't exist
-	void dumpFrame(int frm) throws PlayerDebugException, ArrayIndexOutOfBoundsException
-	{
-		StringBuilder sb = new StringBuilder();
-		Frame[] ar = m_session.getFrames();
-		appendFrameInfo(sb, ar[frm], frm, false, true);
-
-		sb.append(m_newline);
-		out(sb.toString());
-	}
-
-	// set the listing command to point to the file/line of the given frame
-	void setListingToFrame(int frameNum) throws PlayerDebugException
-	{
-		// set the module and line
-		Frame[] frames = m_session.getFrames();
-		Frame ctx = frames[frameNum];
-
-		Location l = ctx.getLocation();
-		SourceFile f = l.getFile();
-		int id = f.getId();
-		int line = l.getLine();
-
-        setListingPosition(id, line, ctx.getIsolateId());
-    }
-
-    // Set teh listing position to change to the given module and line number
-    // also triggers emacs to move to this position if enabled
-    void setListingPosition(int module, int line, int workerid)
-    {
-		propertyPut(LIST_MODULE, module);
-		propertyPut(LIST_LINE, line);
-		propertyPut(LIST_WORKER, workerid);
-
-        // if we are running under emacs then dump out our new location
-        if (m_fullnameOption)
-        {
-            SourceFile f = m_fileInfo.getFile(module);
-            if (f != null)
-            {
-                StringBuilder sb = new StringBuilder();
-                appendFullnamePosition(sb, f, line);
-                sb.append('\n'); // not sure why this is needed but it seems to address some emacs bugs
-                out(sb.toString());
-            }
-        }
-	}
-
-	/**
-	 * Traverse the given variables dumping any Movieclips we find that
-	 * contain a member called 'member'
-	 * @throws NotConnectedException 
-	 * @throws NoResponseException 
-	 * @throws NotSuspendedException 
-	 */
-	void dumpTree(Map<Object, String> tree, List<Object> e, String name, Value result, String member) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		// name for this variable
-		if (name == null)
-			name = ""; //$NON-NLS-1$
-
-		// have we seen it already
-		if (tree.containsKey(result))
-			return;
-
-		tree.put(result, name);  // place it
-
-		// first iterate over our members looking for 'member'
-		Value proto = result;
-		boolean done = false;
-		while(!done && proto != null)
-		{
-			Variable[] members = proto.getMembers(m_session);
-			proto = null;
-
-			// see if we find one called 'member'
-			for(int i=0; i<members.length; i++)
-			{
-				Variable m = members[i];
-				String memName = m.getName();
-				if (memName.equals(member) && !tree.containsKey(m))
-				{
-					e.add(name);
-					e.add(result);
-					e.add(m);
-					tree.put(m, name+"."+memName); //$NON-NLS-1$
-					done = true;
-				}
-				else if (memName.equals("__proto__")) //$NON-NLS-1$
-					proto = members[i].getValue();
-			}
-		}
-
-		// now traverse other mcs recursively
-		done = false;
-		proto = result;
-		while(!done && proto != null)
-		{
-			Variable[] members = proto.getMembers(m_session);
-			proto = null;
-
-			// see if we find an mc
-			for(int i=0; i<members.length; i++)
-			{
-				Variable m = members[i];
-				String memName = m.getName();
-
-				// if our type is NOT object or movieclip then we are done
-				if (m.getValue().getType() != VariableType.OBJECT && m.getValue().getType() != VariableType.MOVIECLIP)
-					;
-				else if (m.getValue().getId() != Value.UNKNOWN_ID)
-					dumpTree(tree, e, name, m.getValue(), member);
-				else if (memName.equals("__proto__")) //$NON-NLS-1$
-				{
-					proto = m.getValue();
-//					name = name + ".__proto__";
-				}
-			}
-		}
-	}
-
-	StringBuilder treeResults(StringBuilder sb, List<Object> e, String memName, boolean fullName)
-	{
-		// walk the list
-		Iterator<Object> i = e.iterator();
-		while(i.hasNext())
-		{
-			String name = (String) i.next();
-			Variable key = (Variable) i.next();
-			Variable val = (Variable)i.next();
-
-//			sb.append(key);
-//			sb.append(".");
-//			sb.append(val.getName());
-			if (fullName)
-				sb.append(name);
-			ExpressionCache.appendVariableValue(sb, key.getValue(), key.getName(), key.getIsolateId());
-			sb.append("."); //$NON-NLS-1$
-			sb.append(memName);
-			sb.append(" = "); //$NON-NLS-1$
-			ExpressionCache.appendVariableValue(sb, val.getValue(), val.getName(), val.getIsolateId());
-			sb.append(m_newline);
-		}
-		return sb;
-	}
-
-	/**
-	 * Output a source line of code to the output channel formatting nicely
-	 */
-	public void outputSource(int module, int line, String s)
-	{
-		StringBuilder sb = new StringBuilder();
-		appendSource(sb, module, line, s, true);
-		out( sb.toString() );
-	}
-
-	void appendSource(StringBuilder sb, int module, int line, String s, boolean markCurrent)
-	{
-		String lineS = String.valueOf(line);
-		int padding = 6 - lineS.length();
-
-		// if we are the current location then mark it
-		if (markCurrent && isCurrentLocation(module, line))
-			sb.append('=');
-		else
-			sb.append(' ');
-		sb.append(lineS);
-		repeat(sb, ' ', padding);
-		sb.append(s);
-	}
-
-	// see if this module, line combo is the current location
-	boolean isCurrentLocation(int module, int line)
-	{
-		boolean yes = false;
-		Location l = getCurrentLocation();
-		if (l != null)
-		{
-			SourceFile file = l.getFile();
-			if (file != null && file.getId() == module && l.getLine() == line)
-				yes = true;
-		}
-		return yes;
-	}
-
-    private int parseLineNumber(String lineNumber) throws ParseException
-    {
-        try
-        {
-            return Integer.parseInt(lineNumber);
-        }
-        catch(NumberFormatException nfe)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("token", lineNumber); //$NON-NLS-1$
-        	throw new ParseException(getLocalizationManager().getLocalizedTextString("expectedLineNumber", args), 0); //$NON-NLS-1$
-        }
-    }
-
-    private int parseFileNumber(String fileNumber) throws ParseException
-    {
-        try
-        {
-            return Integer.parseInt(fileNumber);
-        }
-        catch(NumberFormatException nfe)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("token", fileNumber); //$NON-NLS-1$
-        	throw new ParseException(getLocalizationManager().getLocalizedTextString("expectedFileNumber", args), 0); //$NON-NLS-1$
-        }
-    }
-
-    private int parseFileName(String partialFileName) throws NoMatchException, AmbiguousException
-    {
-        SourceFile[] sourceFiles = m_fileInfo.getFiles(partialFileName);
-        int nSourceFiles = sourceFiles.length;
-
-        if (nSourceFiles == 0)
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("name", partialFileName); //$NON-NLS-1$
-            throw new NoMatchException(getLocalizationManager().getLocalizedTextString("noSourceFileWithSpecifiedName", args)); //$NON-NLS-1$
-        }
-
-        else if (nSourceFiles > 1)
-        {
-            String s = getLocalizationManager().getLocalizedTextString("ambiguousMatchingFilenames") + m_newline; //$NON-NLS-1$
-            for (int i = 0; i < nSourceFiles; i++)
-            {
-                SourceFile sourceFile = sourceFiles[i];
-                s += " " + sourceFile.getName() + "#" + sourceFile.getId(); //$NON-NLS-1$ //$NON-NLS-2$
-                if (i < nSourceFiles - 1)
-                    s += m_newline;
-            }
-            throw new AmbiguousException(s);
-        }
-        return sourceFiles[0].getId();
-    }
-
-	/* used by parseFunctionName */
-	private static class ModuleFunctionPair implements Comparable<ModuleFunctionPair>
-	{
-		public ModuleFunctionPair(int moduleId, String functionName) {
-			this.moduleId = moduleId;
-			this.functionName = functionName;
-		}
-		public int moduleId;
-		public String functionName;
-
-		public int compareTo(ModuleFunctionPair other) {
-			return functionName.compareTo(other.functionName);
-		}
-	}
-
-	/**
-	 * Parse a partial function name
-	 * @param module the FIRST module to search; but we also search all the others if 'onlyThisModule' is false
-	 * @return two ints: first is the module, and second is the line
-	 */
-    private int[] parseFunctionName(int module, String partialFunctionName, boolean onlyThisModule) throws NoMatchException, AmbiguousException
-    {
-        try { waitForMetaData(); } catch(InProgressException ipe) {}  // wait a bit before we try this to give the background thread time to complete
-
-        SourceFile m = m_fileInfo.getFile(module, m_activeIsolate);
-		ArrayList<ModuleFunctionPair> functionNames = new ArrayList<ModuleFunctionPair>(); // each member is a ModuleFunctionPair
-
-        appendFunctionNamesMatching(functionNames, m, partialFunctionName);
-
-        if (functionNames.size() == 0)
-        {
-			if (!onlyThisModule)
-			{
-				// not found in the specified module; search all the other modules
-				for (Isolate isolate : m_session.getWorkers()) {
-					Iterator fileIter = m_fileInfo.getAllFiles(isolate.getId());
-					while (fileIter.hasNext())
-					{
-						SourceFile nextFile = (SourceFile) ((Map.Entry)fileIter.next()).getValue();
-						if (nextFile != m) // skip the one file we searched at the beginning
-						{
-							appendFunctionNamesMatching(functionNames, nextFile, partialFunctionName);
-						}
-					}
-				}
-			}
-
-			if (functionNames.size() == 0)
-			{
-	        	Map<String, Object> args = new HashMap<String, Object>();
-	        	args.put("name", partialFunctionName); //$NON-NLS-1$
-	            throw new NoMatchException(getLocalizationManager().getLocalizedTextString("noFunctionWithSpecifiedName", args)); //$NON-NLS-1$
-			}
-        }
-
-		if (functionNames.size() > 1)
-        {
-			ModuleFunctionPair[] functionNameArray = functionNames.toArray( new ModuleFunctionPair[functionNames.size()] );
-			Arrays.sort(functionNameArray);
-
-            String s = getLocalizationManager().getLocalizedTextString("ambiguousMatchingFunctionNames") + m_newline; //$NON-NLS-1$
-            Map<String, Object> args = new HashMap<String, Object>();
-            for (int i = 0; i < functionNameArray.length; i++)
-            {
-				//String moduleName = m_fileInfo.getFile(functionNameArray[i].moduleId).getName();
-            	String moduleName = m_fileInfo.getFile(functionNameArray[i].moduleId, m_activeIsolate).getName();
-                String functionName = functionNameArray[i].functionName;
-                args.put("functionName", functionName); //$NON-NLS-1$
-                args.put("filename", moduleName + "#" + functionNameArray[i].moduleId); //$NON-NLS-1$ //$NON-NLS-2$
-                s += " " + getLocalizationManager().getLocalizedTextString("functionInFile", args); //$NON-NLS-1$ //$NON-NLS-2$
-                if (i < functionNameArray.length - 1)
-                    s += m_newline;
-            }
-            throw new AmbiguousException(s);
-        }
-
-		ModuleFunctionPair pair = functionNames.get(0);
-		module = pair.moduleId;
-		m = m_fileInfo.getFile(module, m_activeIsolate);
-		int line = m.getLineForFunctionName(m_session, pair.functionName);
-        return new int[] { module, line };
-     }
-
-    /**
-     * Find function names in this module that start with
-     * the specified string, and append them to the specified List.
-	 *
-	 * If partialName contains parenthesis then we look for an exact match
-     */
-	private void appendFunctionNamesMatching(List<ModuleFunctionPair> functionNameList, SourceFile m, String partialName)
-	{
-		int exactHitAt = -1;
-
-		// trim off the trailing parenthesis, if any
-		int parenAt = partialName.lastIndexOf('(');
-		if (parenAt > -1)
-			partialName = partialName.substring(0, parenAt);
-
-		String[] names = m.getFunctionNames(m_session);
-		for(int i=0; i<names.length; i++)
-        {
-            String functionName = names[i];
-            if (functionName.equals(partialName))
-			{
-				exactHitAt = i;
-				break;
-			}
-			else if (functionName.startsWith(partialName))
-                functionNameList.add(new ModuleFunctionPair(m.getId(), functionName));
-        }
-
-		// exact match?
-		if (exactHitAt > -1)
-		{
-			functionNameList.clear();
-			functionNameList.add(new ModuleFunctionPair(m.getId(), names[exactHitAt]));
-		}
-	}
-
-
-    /**
-      * Parse arg to determine which file it specifies.
-      * Allowed formats: #29, MyApp.mxml, MyA
-      * A variety of exceptions are thrown for other formats.
-      */
-    public int parseFileArg(int module, String arg) throws ParseException, AmbiguousException, NoMatchException
-    {
-        /* Special case: a location arg like :15 produces a file arg
-           which is an empty string. */
-        if (arg.length() == 0)
-            return module;
-
-        char firstChar = arg.charAt(0);
-
-        /* The first character can't be 0-9 or '-'. */
-        if (Character.isDigit(firstChar) || firstChar == '-')
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("token", arg); //$NON-NLS-1$
-        	throw new ParseException(getLocalizationManager().getLocalizedTextString("expectedFile", args), 0); //$NON-NLS-1$
-        }
-        /* If the first character is '#', the rest must be a file number. */
-        else if (firstChar == '#')
-        {
-            return parseFileNumber(arg.substring(1));
-        }
-        /* Otherwise, assume beforeColon is a full or partial file name. */
-        else
-        {
-            return parseFileName(arg);
-        }
-    }
-
-    /**
-      * Parse arg to determine which line it specifies.
-      * Allowed formats: 17, MyFunction, MyF
-      * A variety of exceptions are thrown for other formats.
-      */
-    public int parseLineArg(int module, String arg) throws ParseException, AmbiguousException, NoMatchException
-    {
-        /* Special case: a location arg like #29: produces a line arg
-           which is an empty string. */
-         if (arg.length() == 0)
-            return 1;
-
-        char firstChar = arg.charAt(0);
-
-        /* If the first character is 0-9 or '-', arg is assumed to be a line number. */
-        if (Character.isDigit(firstChar) || firstChar == '-')
-        {
-            return parseLineNumber(arg);
-        }
-        /* The first character can't be '#'. */
-        else if (firstChar == '#')
-        {
-        	Map<String, Object> args = new HashMap<String, Object>();
-        	args.put("token", arg); //$NON-NLS-1$
-        	throw new ParseException(getLocalizationManager().getLocalizedTextString("expectedLineNumber", args), 0); //$NON-NLS-1$
-        }
-        /* Otherwise, assume arg is a full or partial function name. */
-        else
-        {
-            int[] moduleAndLine = parseFunctionName(module, arg, true);
-			return moduleAndLine[1];
-        }
-    }
-
-    /**
-     * Parse arg to figure out what module and line it specifies.
-     *
-     * Allowed formats (assuming Button.as is file #29
-     * and the first line of MyFunction is line 17):
-     *
-     *  arg                     module      line
-     *  17                      no change   17
-     *  MyFunction              no change   17
-     *  MyF                     no change   17
-     *  #29                     29          1
-     *  Button.as               29          1
-     *  Bu                      29          1
-     *  #29:17                  29          17
-     *  #29:MyFunction          29          17
-     *  #29:MyF                 29          17
-     *  Button.as:17            29          17
-     *  Button.as:MyFunction    29          17
-     *  Button.as:MyF           29          17
-     *  Bu:17                   29          17
-     *  Bu:MyFunction           29          17
-     *  Bu:MyF                  29          17
-     *
-     * A variety of exceptions are thrown for other formats.
-     */
-    public int[] parseLocationArg(int module, int line, String arg, int isolateId) throws ParseException, AmbiguousException, NoMatchException
-    {
-        int colonAt = arg.indexOf(':');
-		int wasFunc = 0;  // set to 1 if a function was named
-
-        /* First deal with the case where arg doesn't contain a ':'
-           and therefore might be specifying either a file or a line. */
-        if (colonAt < 0)
-        {
-            char firstChar = arg.charAt(0);
-
-            /* If the first character is 0-9 or '-', arg is assumed to be a line number. */
-            if (Character.isDigit(firstChar) || firstChar == '-')
-            {
-                line = parseLineNumber(arg);
-            }
-            /* If the first character is a '#', what follows
-               is assumed to be a file number. */
-            else if (firstChar == '#')
-            {
-                module = parseFileNumber(arg.substring(1));
-                line = 1;
-            }
-            /* Otherwise, assume arg is a full or partial function name or file name. */
-            else
-            {
-                /* Assume arg is a full or partial function in the specified module. */
-                try
-                {
-                    int[] moduleAndLine = parseFunctionName(module, arg, false);
-					module = moduleAndLine[0];
-					line = moduleAndLine[1];
-					wasFunc = 1;
-                }
-                /* If it isn't, assume arg is a full or partial file name. */
-                catch(NoMatchException pe)
-                {
-					try
-					{
-						module = parseFileName(arg);
-						line = 1;
-					}
-					catch(NoMatchException pee)
-					{
-						// catch the 'file name' string
-						Map<String, Object> args = new HashMap<String, Object>();
-						args.put("token", arg); //$NON-NLS-1$
-						throw new NoMatchException(getLocalizationManager().getLocalizedTextString("noSuchFileOrFunction", args)); //$NON-NLS-1$
-					}
-                }
-            }
-        }
-
-        /* Now deal with the case where arg contains a ':',
-           and is therefore specifying both a file and a line. */
-        else
-        {
-            module = parseFileArg(module, arg.substring(0, colonAt));
-            line = parseLineArg(module, arg.substring(colonAt + 1));
-			wasFunc = (arg.substring(colonAt+1).length() > 1 && Character.isDigit(arg.substring(colonAt+1).charAt(0)) ) ? 0 : 1;
-        }
-
-        return new int[] { module, line, wasFunc };
-    }
-
-	/**
-	 * Print the context of a Variable
-	 */
-	void doWhat() throws NotConnectedException
-	{
-		/* wait a bit if we are not halted */
-		waitTilHalted(m_activeIsolate);
-		try
-		{
-			Object result = null;
-
-			/* pull the rest of the line */
-			String s = restOfLine();
-
-			// first parse it, then attempt to evaluate the expression
-			ValueExp expr = parseExpression(s);
-
-			// make sure no assignment
-			if ( expr.containsAssignment() )
-				throw new IllegalAccessException();
-
-			result = evalExpression(expr, m_activeIsolate).value;
-
-			/* dump the output */
-			StringBuilder sb = new StringBuilder();
-
-			if (result instanceof Variable)
-			{
-				Variable v = (Variable) result;
-
-				// if it has a path then display it!
-				if (v.isAttributeSet(VariableAttribute.IS_LOCAL))
-					s = getLocalizationManager().getLocalizedTextString("localVariable"); //$NON-NLS-1$
-				else if (v.isAttributeSet(VariableAttribute.IS_ARGUMENT))
-					s = getLocalizationManager().getLocalizedTextString("functionArgumentVariable"); //$NON-NLS-1$
-				else if ( (v instanceof VariableFacade) && (s = ((VariableFacade)v).getPath()) != null && s.length() > 0 )
-					;
-				else
-					s = "_global"; //$NON-NLS-1$
-
-				sb.append(s);
-			}
-			else
-				sb.append(getLocalizationManager().getLocalizedTextString("mustBeOnlyOneVariable")); //$NON-NLS-1$
-
-			out( sb.toString() );
-		}
-		catch(IllegalAccessException iae)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSideEffectsAllowed")); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-		}
-	}
-
-    /*
-     * We accept zero, one or two args for this command. Zero args
-     * means list the next 10 line around the previous listing.  One argument
-     * specifies a line and 10 lines are listed around that line.  Two arguments
-     * with a command between specifies starting and ending lines.
-     */
-	void doList()
-	{
-        /* currentXXX may NOT be invalid! */
-
-		int currentModule = propertyGet(LIST_MODULE);
-        int currentLine = propertyGet(LIST_LINE);
-        int listsize = propertyGet(LIST_SIZE);
-        int workerid = propertyGet(LIST_WORKER);
-
-        String arg1 = null;
-        int module1 = currentModule;
-        int line1 = currentLine;
-
-        String arg2 = null;
-        int line2 = currentLine;
-
-        int numLines = 0;
-
-		try
-		{
-            if (hasMoreTokens())
-			{
-                arg1 = nextToken();
-
-                if (arg1.equals("-")) //$NON-NLS-1$
-                {
-					// move back two times the listing size and if listsize is odd then move forward one
-                    line1 = line2 = line1 - (2 * listsize);
-                }
-                else
-                {
-                    int[] result = parseLocationArg(currentModule, currentLine, arg1, workerid);
-                    module1 = result[0];
-                    line2 = line1 = result[1];
-
-                    if (hasMoreTokens())
-                    {
-                        arg2 = nextToken();
-                        line2 = parseLineArg(module1, arg2);
-                    }
-                }
-			}
-
-//			System.out.println("1="+module1+":"+line1+",2=:"+line2);
-
-			/**
-			 * Check for a few error conditions, otherwise we'll write a listing!
-			 */
-			if (hasMoreTokens())
-			{
-				err(getLocalizationManager().getLocalizedTextString("lineJunk")); //$NON-NLS-1$
-			}
-			else
-			{
-				int half = listsize/2;
-				SourceFile file = m_fileInfo.getFile(module1, workerid);
-//				SourceFile file = m_fileInfo.getFakeFile(module1);
-				numLines = file.getLineCount();
-
-				int newLine;
-				if (numLines == 1 && file.getLine(1).equals("")) //$NON-NLS-1$
-				{
-					// there's no source in the file at all!
-					// this presumably means that the source file isn't in the current directory
-					err(getLocalizationManager().getLocalizedTextString("sourceFileNotFound")); //$NON-NLS-1$
-					newLine = currentLine;
-				}
-				else
-				{
-					// pressing return is ok, otherwise throw the exception
-					if (line1 > numLines && arg1 != null)
-						throw new IndexOutOfBoundsException();
-	
-					/* if no arg2 then user requested the next N lines around something */
-					if (arg2 == null)
-					{
-						line2 = line1 + (half) - 1;
-						line1 = line1 - (listsize-half);
-					}
-
-					/* adjust our range of lines to ensure we conform */
-					if (line1 < 1)
-					{
-						/* shrink line 1, grow line2 */
-						line2 += -(line1 - 1);
-						line1 = 1;
-					}
-	
-					if (line2 > numLines)
-						line2 = numLines;
-	
-//				    System.out.println("1="+module1+":"+line1+",2="+module2+":"+line2+",num="+numLines+",half="+half);
-	
-					/* nothing to display */
-					if (line1 > line2)
-						throw new IndexOutOfBoundsException();
-	
-					/* now do it! */
-					SourceFile source = m_fileInfo.getFile(module1, workerid);
-					for(int i=line1; i<=line2; i++)
-						outputSource(module1, i, source.getLine(i));
-					
-					newLine = line2 + half + (((listsize % 2) == 0) ? 1 : 2);  // add one if even, 2 for odd;
-				}
-				
-				/* save away valid context */
-				propertyPut(LIST_MODULE, module1);
-				propertyPut(LIST_LINE, newLine);
-				propertyPut(LIST_WORKER, workerid);
-				m_repeatLine = "list";   /* allow repeated listing by typing CR */ //$NON-NLS-1$
-			}
-		}
-        catch(IndexOutOfBoundsException iob)
-		{
-			String name = "#"+module1; //$NON-NLS-1$
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("line", Integer.toString(line1)); //$NON-NLS-1$
-			args.put("filename", name); //$NON-NLS-1$
-			args.put("total", Integer.toString(numLines)); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("lineNumberOutOfRange", args)); //$NON-NLS-1$
-		}
-		catch(AmbiguousException ae)
-		{
-			err(ae.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			// TODO [mmorearty]: try to find a matching source file
-			err(nme.getMessage());
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noFilesFound")); //$NON-NLS-1$
-		}
-		catch(ParseException pe)
-		{
-			err(pe.getMessage());
-		}
-	}
-
-	/**
-	 * Fire up a session or await a connection from the socket if no
-	 * URI was specified.
-	 */
-	void doRun() throws IOException
-	{
-		if (m_session != null)
-		{
-			err(getLocalizationManager().getLocalizedTextString("sessionInProgress")); //$NON-NLS-1$
-			return;
-		}
-
-		SessionManager mgr = Bootstrap.sessionManager();
-
-		if (hasMoreTokens())
-		{
-			if (!setLaunchURI(restOfLine()))
-				return;
-		}
-
-		if (m_connectPort == null)
-			mgr.startListening();
-
-		try
-		{
-			if (m_connectPort != null) {
-				out(getLocalizationManager().getLocalizedTextString("waitingToConnectToPlayer")); //$NON-NLS-1$
-				m_session = mgr.connect(Integer.valueOf(m_connectPort), null);
-			}
-			else if (m_launchURI == null)
-			{
-				out(getLocalizationManager().getLocalizedTextString("waitingForPlayerToConnect")); //$NON-NLS-1$
-				m_session = mgr.accept(null);
-			}
-			else
-			{
-				out(getLocalizationManager().getLocalizedTextString("launchingWithUrl") + m_newline + m_launchURI); //$NON-NLS-1$
-				m_session = mgr.launch(m_launchURI, null, true, null, null);
-			}
-
-			// now see what happened
-			if (m_session == null)
-			{
-				// shouldn't have gotten here
-				throw new SocketTimeoutException();
-			}
-			else
-			{
-				out(getLocalizationManager().getLocalizedTextString("playerConnectedSessionStarting")); //$NON-NLS-1$
-				initSession(m_session);
-
-				// pause for a while during startup, don't let exceptions ripple outwards
-				try { waitTilHalted(Isolate.DEFAULT_ID); } catch(Exception e) {}
-
-				// pause for a while during startup, don't let exceptions ripple outwards
-				try { waitForMetaData(); } catch(Exception e) {}
-
-				setInitialSourceFile();
-
-				out(getLocalizationManager().getLocalizedTextString("setBreakpointsThenResume")); //$NON-NLS-1$
-				setPromptState(InitialPromptState.DONE, Isolate.DEFAULT_ID);
-
-				// now poke to see if the player is good enough
-				try
-				{
-					if (m_session.getPreference(SessionManager.PLAYER_SUPPORTS_GET) == 0 )
-						err(m_newline + getLocalizationManager().getLocalizedTextString("warningNotAllCommandsSupported")); //$NON-NLS-1$
-				}
-				catch(Exception npe) {}
-			}
-		}
-		catch (FileNotFoundException fnf)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("uri", fnf.getLocalizedMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("fileDoesNotExist", args)); //$NON-NLS-1$
-		}
-		catch (SocketTimeoutException ste)
-		{
-			err(getLocalizationManager().getLocalizedTextString("failedToConnect")); //$NON-NLS-1$
-		}
-		catch (IOException io)
-		{
-			err(io.getLocalizedMessage());
-		}
-		finally
-		{
-			// turn off listening, to allow other session to connect
-			if (m_connectPort == null)
-				mgr.stopListening();
-		}
-	}
-	
-	/**
-	 * Fire up a session or await a connection from the socket if no
-	 * URI was specified.
-	 */
-	void doConnect() throws IOException
-	{
-		int port = 0;
-		if (hasMoreTokens()) 
-		{
-			try
-			{
-				port = nextIntToken();				
-			}
-			catch (NumberFormatException ex)
-			{
-				err(ex.getLocalizedMessage());
-			}
-		}
-		else
-		{
-			port = DProtocol.DEBUG_CONNECT_PORT;
-		}
-		
-		if (port > 0)
-		{
-			m_connectPort = String.valueOf(port);
-			doRun();
-		}
-	}
-
-	/**
-	 * When we begin a debugging session, it would be nice if the default file
-	 * for the "list" command etc. was the user's main MXML application file.
-	 * There is no good way to really figure out what that file is, but we can
-	 * certainly take a guess.
-	 */
-	private void setInitialSourceFile()
-	{
-		int largestAuthoredId = -1;
-		SourceFile[] files = m_fileInfo.getFileList(m_activeIsolate);
-		for (int i=0; i<files.length; ++i)
-		{
-			SourceFile sf = files[i];
-			if (sf.getId() > largestAuthoredId && getFileType(sf) == AUTHORED_FILE)
-				largestAuthoredId = sf.getId();
-		}
-		if (largestAuthoredId != -1)
-			setListingPosition(largestAuthoredId, 1, m_activeIsolate);
-	}
-
-	private boolean setLaunchURI(String launchURI)
-	{
-		if (launchURI != null)
-		{
-			SessionManager mgr = Bootstrap.sessionManager();
-
-			// If doing fdbunit, we always try to do launch(), even on platforms
-			// that say they don't support it
-			if (!mgr.supportsLaunch() && System.getProperty("fdbunit") == null) //$NON-NLS-1$
-			{
-				err(getLocalizationManager().getLocalizedTextString("manuallyLaunchPlayer")); //$NON-NLS-1$
-				return false;
-			}
-
-			// check for special form of URI when in fullname mode, since we can't pass http: in this mode?!?
-			if (m_fullnameOption)
-			{
-				if (launchURI.startsWith("//")) //$NON-NLS-1$
-					launchURI = "http:"+launchURI; //$NON-NLS-1$
-			}
-		}
-
-		m_launchURI = launchURI;
-		return true;
-	}
-
-	// set the URI
-	void doFile()
-	{
-		if (!hasMoreTokens())
-			setLaunchURI(null);
-		else
-			setLaunchURI(restOfLine());
-	}
-
-	void doSource()
-	{
-		String name = ""; //$NON-NLS-1$
-		try
-		{
-			name = nextToken();
-			FileReader f = new FileReader(name);
-
-			// push our current source onto the stack and open the new one
-			pushStream(m_in);
-			m_in = new LineNumberReader(f);
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("sourceCommandRequiresPath")); //$NON-NLS-1$
-		}
-		catch(NoSuchElementException nse)
-		{
-			err(getLocalizationManager().getLocalizedTextString("sourceCommandRequiresPath")); //$NON-NLS-1$
-		}
-		catch(FileNotFoundException fnf)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("filename", name); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("fileNotFound", args)); //$NON-NLS-1$
-		}
-	}
-
-	void listFault(String f)
-	{
-		StringBuilder sb = new StringBuilder();
-		appendFaultTitles(sb);
-		appendFault(sb, f);
-
-		out( sb.toString() );
-	}
-
-	void appendFault(StringBuilder sb, String f)
-	{
-		sb.append(f);
-
-		int space = 30 - f.length();
-		repeat(sb, ' ', space);
-
-		boolean stop = m_faultTable.is(f, "stop"); //$NON-NLS-1$
-		boolean print = m_faultTable.is(f, "print"); //$NON-NLS-1$
-
-		sb.append( stop ? "Yes" : "No" ); //$NON-NLS-1$ //$NON-NLS-2$
-		repeat(sb, ' ', stop ? 0 : 1);
-
-		repeat(sb, ' ', 5);
-
-		sb.append( print ? "Yes" : "No" ); //$NON-NLS-1$ //$NON-NLS-2$
-		repeat(sb, ' ', print ? 0 : 1);
-
-		// description
-		repeat(sb, ' ', 7);
-
-		String desc = m_faultTable.getDescription(f);
-		sb.append(desc);
-		sb.append(m_newline);
-	}
-
-	void appendFaultTitles(StringBuilder sb)
-	{
-		sb.append("Fault                         Stop    Print     Description"+m_newline); //$NON-NLS-1$
-		sb.append("-----                         ----    -----     -----------"+m_newline); //$NON-NLS-1$
-	}
-
-	/**
-	 * Controls the configuration of what occurs when a
-	 * fault is encountered
-	 */
-	void doHandle()
-	{
-		// should be at least on arg
-		if (!hasMoreTokens())
-			err(getLocalizationManager().getLocalizedTextString("argumentRequired")); //$NON-NLS-1$
-		else
-		{
-			// poor man's fix for supporting 'all' option
-			String faultName = nextToken();
-			Object[] names = new Object[] { faultName };
-
-			// replace the single name with all of them
-			if (faultName.equalsIgnoreCase("all")) //$NON-NLS-1$
-				names = m_faultTable.names();
-
-			// make sure we know about at least one
-		    if (!m_faultTable.exists((String)names[0]))
-				err(getLocalizationManager().getLocalizedTextString("unrecognizedFault")); //$NON-NLS-1$
-			else
-			{
-				if (!hasMoreTokens())
-					listFault((String)names[0]);
-				else
-				{
-					String action = null;
-					try
-					{
-						while(hasMoreTokens())
-						{
-							action = nextToken();
-							for(int i=0; i<names.length; i++)
-								m_faultTable.action((String)names[i], action);
-						}
-					}
-					catch(IllegalArgumentException iae)
-					{
-						Map<String, Object> args = new HashMap<String, Object>();
-						args.put("action", action); //$NON-NLS-1$
-						err(getLocalizationManager().getLocalizedTextString("unrecognizedAction", args)); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Do the commands command!  This attaches a series of lines of text input by the user
-	 * to a particular breakpoint, with the intention of exeuting these lines when the
-	 * breakpoint is hit.
-	 */
-	void doCommands() throws IOException
-	{
-		try
-		{
-			int id = -1;
-			if (hasMoreTokens())
-				id = nextIntToken();
-			else
-				id = propertyGet(BPNUM);
-
-			// get the breakpoint
-			int at = breakpointIndexOf(id);
-			BreakAction a = breakpointAt(at);
-
-			// ready it
-			a.clearCommands();
-			a.setSilent(false);
-
-			// now just pull the commands as they come while not end
-			String line = null;
-			boolean first = true;
-			boolean isEnd = false;
-
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", Integer.toString(id)); //$NON-NLS-1$
-			out(getLocalizationManager().getLocalizedTextString("typeCommandsForBreakpoint", args)); //$NON-NLS-1$
-
-			do
-			{
-				displayCommandPrompt();
-				line = readLine().trim();
-			    isEnd = line.equalsIgnoreCase("end"); //$NON-NLS-1$
-
-				if (!isEnd)
-				{
-					if (first && line.equalsIgnoreCase("silent")) //$NON-NLS-1$
-						a.setSilent(true);
-					else
-						a.addCommand(line);
-				}
-				first = false;
-			}
-			while(!isEnd);
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Apply or remove conditions to a breakpoint.
-	 */
-	void doCondition() throws IOException
-	{
-		try
-		{
-			// must have a breakpoint number
-			int id = nextIntToken();
-
-			// get the breakpoint
-			int at = breakpointIndexOf(id);
-			BreakAction a = breakpointAt(at);
-
-			// no more parms means to clear it
-			if (hasMoreTokens())
-			{
-				// now just pull the commands as they come while not end
-				String line = restOfLine();
-
-				// build an expression and attach it to the breakpoint
-				ValueExp exp = parseExpression(line);
-
-				// warn about the assignment!
-				if ( exp.containsAssignment() && !yesNoQuery(getLocalizationManager().getLocalizedTextString("askExpressionContainsAssignment")) ) //$NON-NLS-1$
-					throw new IllegalAccessException("="); //$NON-NLS-1$
-
-				a.setCondition(exp, line);
-			}
-			else
-			{
-				a.clearCondition();   // clear it
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("breakpointNumber", Integer.toString(id)); //$NON-NLS-1$
-				out(getLocalizationManager().getLocalizedTextString("breakpointNowUnconditional", args)); //$NON-NLS-1$
-			}
-		}
-		catch(IllegalAccessException iae)
-		{
-			err(getLocalizationManager().getLocalizedTextString("breakpointNotChanged")); //$NON-NLS-1$
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Request to add a new watchpoint
-	 * This may result in one of two things happening
-	 * (1) a new watchpoint could be added or
-	 * (2) an existing watchpoint may be modified.
-	 *
-	 * The watch, awatch, and rwatch commands will set a watchpoint on the
-	 * given expression. The different commands control the read/write aspect
-	 * of the watchpoint.
-	 *
-	 * awatch will trigger a break if the expression is read or written.
-	 * rwatch will trigger a break if the expression is read.
-	 * watch will trigger a break if the expression is written.
-	 */
-	void doWatch(boolean read, boolean write) throws PlayerDebugException
-	{
-		try
-		{
-			if (read)
-			{
-				err("Only break-on-write watchpoints are supported."); //$NON-NLS-1$
-				return;
-			}
-
-			StringBuilder sb = new StringBuilder();
-
-			/* pull the rest of the line */
-			String s = restOfLine();
-
-			int flags = 3;
-			if(read && write) flags = WatchKind.READWRITE;
-			else if(read) flags = WatchKind.READ;
-			else if(write) flags = WatchKind.WRITE;
-
-			IsolateSession workerSession = m_session.getWorkerSession(m_activeIsolate);
-			// snapshot of our existing list
-			Watch[] list = workerSession.getWatchList();
-
-			// We need to separate the front part the 'a.b' in 'a.b.c' 
-			// of the expression to resolve it into a variable 
-			// We usually get back a VariableFacade which contains
-			// the context id (i.e the variable id) and the member name.
-			ValueExp expr = parseExpression(s);
-			VariableFacade result = (VariableFacade)(evalExpression(expr, m_activeIsolate).value);
-
-			// extract the 2 pieces and get the raw variable.
-			long varId = result.getContext(); // TODO fix this???  -mike
-			String memberName = result.getName();
-			Value v = workerSession.getValue(varId);
-
-			// attempt to set.
-			Watch w = m_session.setWatch(v, memberName, flags);
-			if (w == null)
-			{
-				// failed
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("expression", s); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("watchpointCouldNotBeSet", args)); //$NON-NLS-1$
-			}
-			else
-			{
-				// if modified then lists are same length
-				// otherwise 1 will be added
-				Watch[] newList = workerSession.getWatchList();
-				if (newList.length == list.length)
-				{
-					// modified, lets locate the one that changed
-					// and reset it
-					int at = missingWatchpointIndexOf(newList);
-					WatchAction a = null;
-					try	
-					{ 
-						a = watchpointAt(at); 
-					} 
-					catch(ArrayIndexOutOfBoundsException aio)
-					{
-						// this is pretty bad it means the player thinks we have a watchpoint
-						// but we don't have a record of it.  So let's create a new one
-						// and hope that we are now in sync with the player.
-						a = new WatchAction(w);
-					}
-
-					// modify our view of the watchpoint
-					int id = a.getId();
-					a.resetWatch(w);
-
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("watchpointNumber", Integer.toString(id)); //$NON-NLS-1$
-					args.put("expression", s); //$NON-NLS-1$
-					args.put("watchpointMode", getWatchpointModeString(a.getKind())); //$NON-NLS-1$
-					sb.append(getLocalizationManager().getLocalizedTextString("changedWatchpointMode", args)); //$NON-NLS-1$
-				}
-				else
-				{
-					// newly added
-					WatchAction a = new WatchAction(w);
-					watchpointAdd(a);
-
-					int which = a.getId();
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("watchpointNumber", Integer.toString(which)); //$NON-NLS-1$
-					args.put("expression", s); //$NON-NLS-1$
-					sb.append(getLocalizationManager().getLocalizedTextString("createdWatchpoint", args)); //$NON-NLS-1$
-				}
-				out(sb.toString());
-			}
-		}
-		catch(ArrayIndexOutOfBoundsException aio)
-		{
-			// We should really do some cleanup after this exception
-			// since it most likely means we can't find the watchpoint
-			// that was just modified, therefore our watchlists are
-			// out of sync with those of the API.
-			err(getLocalizationManager().getLocalizedTextString("badWatchpointNumber")); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-		}
-		catch(ClassCastException cce)
-		{
-			err(getLocalizationManager().getLocalizedTextString("couldNotResolveExpression")); //$NON-NLS-1$
-		}
-	}
-
-	WatchAction watchpointAt(int at)			{ return m_watchpoints.get(at); }
-	boolean		watchpointAdd(WatchAction a)	{ return m_watchpoints.add(a); 	}
-	int			watchpointCount()				{ return m_watchpoints.size(); 	}
-
-	int watchpointIndexOf(int id)
-	{
-		int size = watchpointCount();
-		for(int i = 0; i < size; i++)
-		{
-			WatchAction b = watchpointAt(i);
-			if(b.getId() == id)
-				return i;
-		}
-
-		return -1;
-	}
-
-	void removeAllWatchpoints() throws NotConnectedException
-	{
-		while(watchpointCount() > 0)
-			removeWatchpointAt(0);
-	}
-
-	void removeWatchpointAt(int at) throws NotConnectedException
-	{
-		WatchAction b = watchpointAt(at);
-		boolean worked = false;
-
-		try { worked = (m_session.clearWatch(b.getWatch()) == null) ? false : true; } catch(NoResponseException nre) {}
-
-		if(!worked)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("variable", b.getExpr() ); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("couldNotFindWatchpoint", args)); //$NON-NLS-1$
-		}
-
-		// remove in any event
-		m_watchpoints.remove(at);
-	}
-
-	String getWatchpointModeString(int flags) 
-	{
-		switch(flags) 
-		{
-			case 1:
-				return getLocalizationManager().getLocalizedTextString("watchpointMode_read"); //$NON-NLS-1$
-			case 2:
-				return getLocalizationManager().getLocalizedTextString("watchpointMode_write"); //$NON-NLS-1$
-			case 3:
-				return getLocalizationManager().getLocalizedTextString("watchpointMode_readWrite"); //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Locate the index of a WatchAction that does not
-	 * have a corresponding Watch in the given list. 
-	 * 
-	 * WARNING: this call can be very expensive but
-	 * it is assumed that a.list and watchpointCount()
-	 * are both small. 
-	 */
-	int missingWatchpointIndexOf(Watch[] a)
-	{
-		int size = watchpointCount();
-		int at = -1;
-		for(int i=0; i<size && at<0; i++)
-		{
-			WatchAction action = watchpointAt(i);
-			Watch w = action.getWatch();
-			
-			// now scan the list of watches looking for a hit
-			int hit = -1;
-			for(int j=0; j<a.length && hit<0; j++)
-			{
-				if (w == a[j])
-					hit = j;
-			}
-
-			// can't find the watch object corresponding to our
-			// watchpoint in list of session watches.
-			if (hit < 0)
-				at = i;
-		}
-
-		return at;
-	}
-
-	/**
-	 * Display command
-	 */
-	void doDisplay()
-	{
-		try
-		{
-			if (!hasMoreTokens())
-				doInfoDisplay();
-			else
-			{
-				// followed by an expression (i.e. a line we just pull in)
-				String s = restOfLine();
-
-				// first parse it, then attempt to evaluate the expression
-				ValueExp expr = parseExpression(s);
-
-				// make sure no assignment
-				if ( expr.containsAssignment() )
-					throw new IllegalAccessException();
-
-				// it worked so create a new DisplayAction and then add it in
-
-				DisplayAction b = new DisplayAction(expr, s, m_activeIsolate);
-				b.setEnabled(true);
-				displayAdd(b);
-			}
-		}
-		catch(IllegalAccessException iae)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSideEffectsAllowed")); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			// already handled by parseExpression
-		}
-	}
-
-	/**
-	 * Remove auto-display expressions
-	 */
-	void doUnDisplay() throws IOException
-	{
-		try
-		{
-			if (!hasMoreTokens())
-			{
-				// no args means delete all displays, last chance...
-				if (yesNoQuery(getLocalizationManager().getLocalizedTextString("askDeleteAllAutoDisplay"))) //$NON-NLS-1$
-				{
-					int count = displayCount();
-					for(int i=count-1; i>-1; i--)
-					{
-						displayRemoveAt(i);
-					}
-				}
-			}
-			else
-			{
-				while(hasMoreTokens())
-				{
-					int id = nextIntToken();
-					int at = displayIndexOf(id);
-					displayRemoveAt(at);
-				}
-			}
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("displayNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noDisplayNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badDisplayNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Enabled breakpoints and disaplays
-	 */
-	void doDisable() throws AmbiguousException, NotConnectedException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		try
-		{
-			if (!hasMoreTokens())
-			{
-				disableAllBreakpoints();
-			}
-			else
-			{
-				// optionally specify  'display' or 'breakpoint'
-				String arg = nextToken();
-				int cmd = disableCommandFor(arg);
-				int id = -1;
-                if (cmd == CMD_DISPLAY)
-                {
-                    doDisableDisplay();
-                }
-                else if (cmd == CMD_BREAK && !hasMoreTokens())
-                {
-                    disableAllBreakpoints();
-                }
-				else
-				{
-					if (cmd == CMD_BREAK)
-						id = nextIntToken();  // ignore and get next number token
-					else
-						id = Integer.parseInt(arg);
-
-					do
-					{
-						int at = breakpointIndexOf(id);
-						disableBreakpointAt(at);
-
-						if (hasMoreTokens())
-							id = nextIntToken();
-						else
-							id = -1;
-
-						// keep going till we're blue in the face; also note that we cache'd a copy of locations
-						// so that breakpoint numbers are consistent.
-					}
-					while( id > -1 );
-				}
-			}
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	void disableAllBreakpoints() throws NotConnectedException {
-		// disables all breakpoints,
-		int count = breakpointCount();
-		for(int i=0; i<count; i++)
-			disableBreakpointAt(i);
-	}
-
-	// disable a breakpoint
-	void disableBreakpointAt(int at) throws NotConnectedException
-	{
-		BreakAction a = breakpointAt(at);
-		a.setEnabled(false);
-		breakDisableRequest(a.getLocations());
-	}
-
-	void doDisableDisplay() { doEnableDisableDisplay(false); }
-
-	void doEnableDisableDisplay(boolean enable)
-	{
-		try
-		{
-			if (!hasMoreTokens())
-			{
-				// means do all!
-				int size = displayCount();
-				for(int i=0; i<size; i++)
-					displayAt(i).setEnabled(enable);
-			}
-			else
-			{
-				// read ids until no more
-				while( (hasMoreTokens()) )
-				{
-					int id = nextIntToken();
-					int at = displayIndexOf(id);
-					DisplayAction a = displayAt(at);
-					a.setEnabled(enable);
-				}
-			}
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("displayNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noDisplayNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badDisplayNumber", args)); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Enables breakpoints (forever, one-shot hit or auto delete) and displays
-	 */
-	void doEnable() throws AmbiguousException, NotConnectedException
-	{
-		waitTilHalted(m_activeIsolate);
-
-		try
-		{
-			if (!hasMoreTokens())
-			{
-				enableAllBreakpoints();
-			}
-			else
-			{
-				// optionally specify  'display' or 'breakpoint'
-				String arg = nextToken();
-				int cmd = enableCommandFor(arg);
-				int id = -1;
-				boolean autoDelete = false;
-				boolean autoDisable = false;
-				if (cmd == CMD_DISPLAY)
-				{
-					doEnableDisplay();
-				}
-				else if ((cmd == CMD_BREAK) && !hasMoreTokens())
-				{
-					enableAllBreakpoints();
-				}
-				else
-				{
-					if (cmd == CMD_BREAK)
-						id = nextIntToken();  // ignore and get next number token
-					else if (cmd == CMD_DELETE)
-					{
-						autoDelete = true;
-						id = nextIntToken();  // set and get next number token
-					}
-					else if (cmd == ENABLE_ONCE_CMD)
-					{
-						autoDisable = true;
-						id = nextIntToken();  // set and get next number token
-					}
-					else
-						id = Integer.parseInt(arg);
-
-					boolean worked = true;
-					do
-					{
-						int at = breakpointIndexOf(id);
-						worked = enableBreakpointAt(at, autoDisable, autoDelete);
-
-						if (hasMoreTokens())
-							id = nextIntToken();
-						else
-							id = -1;
-
-						// keep going till we're blue in the face; also note that we cache'd a copy of locations
-						// so that breakpoint numbers are consistent.
-					}
-					while( worked && id > -1 );
-
-					if (!worked)
-					{
-						Map<String, Object> args = new HashMap<String, Object>();
-						args.put("breakpointNumber", Integer.toString(id)); //$NON-NLS-1$
-						err(getLocalizationManager().getLocalizedTextString("breakpointLocationNoLongerExists", args)); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		catch(IndexOutOfBoundsException iob)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("breakpointNumber", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("noBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NumberFormatException nfe)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("token", m_currentToken); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("badBreakpointNumber", args)); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandFailed")); //$NON-NLS-1$
-		}
-	}
-
-	void enableAllBreakpoints() throws NotConnectedException {
-		// enables all breakpoints
-		int count = breakpointCount();
-		int tally = 0;
-		for(int i=0; i<count; i++)
-			tally += enableBreakpointAt(i) ? 1 : 0;
-		
-		// mention that not all was good
-		if (tally != count)
-			err(getLocalizationManager().getLocalizedTextString("notAllBreakpointsEnabled")); //$NON-NLS-1$
-	}
-
-	// request to enable a breakpoint
-	// @return false if we couldn't enable it.
-	boolean enableBreakpointAt(int at) throws NotConnectedException { return enableBreakpointAt(at, false, false); }
-
-	boolean enableBreakpointAt(int at, boolean autoDisable, boolean autoDelete) throws NotConnectedException
-	{
-		return enableBreakpoint(breakpointAt(at), autoDisable, autoDelete);
-	}
-	
-	boolean enableBreakpoint(BreakAction a, boolean autoDisable, boolean autoDelete) throws NotConnectedException
-	{
-		boolean retval = false;
-		Location l = a.getLocation();   // use the first location as a source file / line number template 
-		if (l != null)
-		{
-			LocationCollection col = enableBreak(l.getFile(), l.getLine(), l.getIsolateId());
-			if (!col.isEmpty())
-			{
-				a.setEnabled(true);
-				a.setLocations(col);
-				a.setAutoDisable(autoDisable);
-				a.setAutoDelete(autoDelete);
-				a.setSingleSwf(false);
-				a.setStatus(BreakAction.RESOLVED);
-				retval = true;
-			}
-		}
-		return retval;
-	}
-
-	void doEnableDisplay() { doEnableDisableDisplay(true); }
-
-    /* Print working directory */
-    void doPWD()
-    {
-        out(System.getProperty("user.dir")); //$NON-NLS-1$
-    }
-
-    /* Display or change current file */
-    void doCF()
-    {
-        try
-        {
-            int module = propertyGet(LIST_MODULE);
-			int currentLine = propertyGet(LIST_LINE);
-			int worker = propertyGet(LIST_WORKER);
-
-            if (hasMoreTokens())
-            {
-                String arg = nextToken();
-                module = parseFileArg(module, arg);
-				currentLine = 1;
-                setListingPosition(module, currentLine, worker);
-             }
-
-            SourceFile sourceFile = m_fileInfo.getFile(module, worker);
-			StringBuilder sb = new StringBuilder();
-			sb.append(sourceFile.getName());
-			sb.append('#');
-			sb.append(sourceFile.getId());
-			sb.append(':');
-			sb.append(currentLine);
-			out( sb.toString() );
-        }
-		catch(NullPointerException npe)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noFilesFound")); //$NON-NLS-1$
-		}
-		catch(ParseException pe)
-		{
-			err(pe.getMessage());
-		}
-		catch(AmbiguousException ae)
-		{
-			err(ae.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			err(nme.getMessage());
-		}
-    }
-
- 	/* Terminates current debugging sesssion */
-	void doKill() throws IOException
-	{
-		if (m_session == null)
-			err(getLocalizationManager().getLocalizedTextString("programNotBeingRun")); //$NON-NLS-1$
-		else
-		{
-			if (yesNoQuery(getLocalizationManager().getLocalizedTextString("askKillProgram"))) //$NON-NLS-1$
-				exitSession();
-		}
-	}
-
-	/* Terminates fdb */
-	boolean doQuit() throws IOException
-	{
-		boolean quit = false;
-
-		// no session, no questions
-		if (m_session == null)
-			quit = true;
-		else
-		{
-			quit = yesNoQuery(getLocalizationManager().getLocalizedTextString("askProgramIsRunningExitAnyway")); //$NON-NLS-1$
-			if (quit)
-				exitSession();
-		}
-		return quit;
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.SourceLocator#locateSource(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public InputStream locateSource(String path, String pkg, String name)
-	{
-		File f = null;
-		boolean exists = false;
-		String pkgPlusName;
-
-		if ((pkg != null && pkg.length() > 0))
-			pkgPlusName = pkg + File.separator + name;
-		else
-			pkgPlusName = null;
-
-		Iterator<String> iter = m_sourceDirectories.iterator();
-		while (iter.hasNext())
-		{
-			String dir = iter.next();
-
-			// new File("", filename) searches the root dir -- that's not what we want!
-			if (dir.equals("")) //$NON-NLS-1$
-				dir = "."; //$NON-NLS-1$
-
-			// look for sourcedir\package\filename
-			if (pkgPlusName != null)
-			{
-				f = new File(dir, pkgPlusName);
-				exists = f.exists();
-			}
-
-			// look for sourcedir\filename
-			if (!exists)
-			{
-				f = new File(dir, name);
-				exists = f.exists();
-			}
-
-			if (exists)
-			{
-				try
-				{
-					return new FileInputStream(f);
-				}
-				catch (FileNotFoundException e)
-				{
-					e.printStackTrace(); // shouldn't happen
-				}
-			}
-		}
-
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see flash.tools.debugger.SourceLocator#getChangeCount()
-	 */
-	public int getChangeCount()
-	{
-		return m_sourceDirectoriesChangeCount;
-	}
-
-	private void doDirectory() throws IOException
-	{
-		if (hasMoreTokens())
-		{
-			// File.separator is ";" on Windows or ":" on Mac
-			StringTokenizer dirs = new StringTokenizer(restOfLine(), File.pathSeparator);
-			int insertPos = 0;
-
-			while (dirs.hasMoreTokens())
-			{
-				String dir = dirs.nextToken();
-				if (dir.length() > 2 && dir.charAt(0) == '"' && dir.charAt(dir.length()-1) == '"')
-					dir = dir.substring(1, dir.length() - 1);
-				dir = dir.trim();
-				if (dir.length() > 0)
-				{
-					// For Unix and Mac, we want to escape "~" and "$HOME"
-					if (!System.getProperty("os.name").toLowerCase().startsWith("windows")) //$NON-NLS-1$ //$NON-NLS-2$
-					{
-						// If the string starts with "~", or contains any environment variables
-						// such as "$HOME", we need to escape those
-						if (dir.matches("^.*[~$].*$")) //$NON-NLS-1$
-						{
-							try
-							{
-								Process p = Runtime.getRuntime().exec(
-										new String[] { "/bin/sh", "-c", "echo " + dir} ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-								BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
-								String line = r.readLine();
-								if (line != null)
-								{
-									line = line.trim();
-									if (line.length() > 0)
-										dir = line;
-								}
-							}
-							catch (IOException e)
-							{
-								// ignore
-							}
-						}
-					}
-
-					try
-					{
-						dir = new File(dir).getCanonicalPath();
-						m_sourceDirectories.add(insertPos++, dir);
-					}
-					catch (IOException e)
-					{
-						err(e.getMessage());
-					}
-				}
-			}
-			++m_sourceDirectoriesChangeCount;
-		}
-		else
-		{
-			if (yesNoQuery(getLocalizationManager().getLocalizedTextString("askReinitSourcePath"))) //$NON-NLS-1$
-			{
-				initSourceDirectoriesList();
-			}
-		}
-
-		doShowDirectories();
-	}
-
-	public void initSourceDirectoriesList()
-	{
-		m_sourceDirectories.clear();
-		File flexHome = getFlexHomeDirectory();
-		if (flexHome != null)
-		{
-			try
-			{
-				File projectsDir = new File(flexHome, "frameworks/projects"); //$NON-NLS-1$
-				File[] files = projectsDir.listFiles();
-				if (files != null)
-				{
-					for (int i=0; i<files.length; ++i)
-					{
-						if (files[i].isDirectory())
-						{
-							File srcDir = new File(files[i], "src"); //$NON-NLS-1$
-							if (srcDir.isDirectory())
-							{
-								m_sourceDirectories.add(srcDir.getCanonicalPath());
-							}
-						}
-					}
-				}
-			}
-			catch (IOException e)
-			{
-				// ignore
-			}
-		}
-		++m_sourceDirectoriesChangeCount;
-	}
-
-	/**
-	 * Returns the Flex home directory.  This is based on the <code>application.home</code>
-	 * Java system property if present, or the current directory otherwise.
-	 * This directory is one up from the "bin" and "lib" directories.  For example,
-	 * <code>&lt;flexhome&gt;/lib/fdb.jar</code> can be used to refer to the fdb jar.
-	 */
-	protected File getFlexHomeDirectory()
-	{
-		if (!m_initializedFlexHomeDirectory)
-		{
-			m_initializedFlexHomeDirectory = true;
-			m_flexHomeDirectory = new File("."); // default in case the following logic fails //$NON-NLS-1$
-			String flexHome = System.getProperty("application.home"); //$NON-NLS-1$
-			if (flexHome != null && flexHome.length() > 0)
-			{
-				try
-				{
-					m_flexHomeDirectory = new File(flexHome).getCanonicalFile();
-				}
-				catch (IOException e)
-				{
-					// ignore
-				}
-			}
-		}
-
-		return m_flexHomeDirectory;
-	}
-
-	protected String getenv(String var)
-	{
-		String[] cmd;
-		if (System.getProperty("os.name").toLowerCase().startsWith("windows")) //$NON-NLS-1$ //$NON-NLS-2$
-		{
-			cmd = new String[] { "cmd.exe", "/c", "echo", "%" + var + "%" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-		}
-		else
-		{
-			cmd = new String[] { "/bin/sh", "-c", "echo $" + var }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-
-		try
-		{
-			Process p = Runtime.getRuntime().exec(cmd);
-			BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
-			String line = r.readLine();
-			if (line != null && line.length() > 0)
-			{
-				return line;
-			}
-		}
-		catch (IOException e)
-		{
-			// ignore
-		}
-		
-		return null;
-	}
-
-	private void doCatch() throws NotConnectedException, NotSuspendedException, NoResponseException
-	{
-		/* wait a bit if we are not halted */
-		waitTilHalted(m_activeIsolate);
-
-        String typeToCatch = null;
-
-		/* currentXXX may NOT be invalid! */
-		if (!hasMoreTokens())
-		{
-			err("Catch requires an exception name."); //$NON-NLS-1$
-			return;
-		}
-
-        typeToCatch = nextToken();
-        if (typeToCatch == null || typeToCatch.length() == 0)
-        {
-        	err("Illegal argument"); //$NON-NLS-1$
-        	return;
-        }
-
-        Value type = null;
-        if (typeToCatch.equals("*")) //$NON-NLS-1$
-        {
-        	typeToCatch = null;
-        }
-        else
-        {
-	        type = getSession().getWorkerSession(m_activeIsolate).getGlobal(typeToCatch);
-	        if (type == null)
-	        {
-	        	err("Type not found."); //$NON-NLS-1$
-	        	return;
-	        }
-
-	        String typeName = type.getTypeName();
-	        int at = typeName.indexOf('@');
-	        if (at != -1)
-	        	typeName = typeName.substring(0, at);
-	        if (!typeName.endsWith("$")) //$NON-NLS-1$
-	        {
-	        	err("Not a type: " + type); //$NON-NLS-1$
-	        	return;
-	        }
-        }
-
-        CatchAction c;
-		try {
-			c = addCatch(typeToCatch);
-		} catch (NotSupportedException e) {
-			e.printStackTrace();
-			return;
-		}
-
-    	Map<String, Object> args = new HashMap<String, Object>();
-    	args.put("id", c.getId()); //$NON-NLS-1$
-    	c.getId();
-	}
-
-	private CatchAction addCatch(String typeToCatch) throws NotSupportedException, NoResponseException {
-		CatchAction c = new CatchAction(typeToCatch);
-		catchpointAdd(c);
-		return c;
-	}
-
-	CatchAction catchpointAt(int at)			{ return m_catchpoints.get(at); }
-	int			catchpointCount()				{ return m_catchpoints.size(); 	}
-
-	boolean catchpointAdd(CatchAction a) throws NotSupportedException, NoResponseException
-	{
-		if (catchpointCount() == 0)
-			getSession().getWorkerSession(m_activeIsolate).breakOnCaughtExceptions(true);
-
-		return m_catchpoints.add(a);
-	}
-
-	int catchpointIndexOf(int id)
-	{
-		int size = catchpointCount();
-		for(int i = 0; i < size; i++)
-		{
-			CatchAction c = catchpointAt(i);
-			if(c.getId() == id)
-				return i;
-		}
-
-		return -1;
-	}
-
-	void removeAllCatchpoints() throws NotConnectedException
-	{
-		while(catchpointCount() > 0)
-			removeCatchpointAt(0);
-	}
-
-	void removeCatchpointAt(int at) throws NotConnectedException
-	{
-		// remove in any event
-		m_catchpoints.remove(at);
-
-		if (catchpointCount() == 0) {
-			try {
-				getSession().getWorkerSession(m_activeIsolate).breakOnCaughtExceptions(false);
-			} catch (NotSupportedException e) {
-			} catch (NoResponseException e) {
-			}
-		}
-	}
-
-	void doUnknown(String s) { doUnknown("", s); } //$NON-NLS-1$
-
-	void doUnknown(String what, String s)
-	{
-		Map<String, Object> args = new HashMap<String, Object>();
-		String formatString;
-		args.put("command", s); //$NON-NLS-1$
-		if (what == null || what.equals("")) //$NON-NLS-1$
-		{
-			formatString = "unknownCommand"; //$NON-NLS-1$
-			args.put("commandCategory", what); //$NON-NLS-1$
-		}
-		else
-		{
-			formatString = "unknownSubcommand"; //$NON-NLS-1$
-		}
-		err(getLocalizationManager().getLocalizedTextString(formatString, args));
-	}
-
-	/**
-	 * Process the incoming debug event queue
-	 */
-	void processEvents() throws NotConnectedException
-	{
-		boolean requestResume = false;
-		int breakIsolate = Isolate.DEFAULT_ID;
-		boolean requestHalt = getIsolateState(breakIsolate).m_requestHalt;
-
-		while(m_session != null && m_session.getEventCount() > 0)
-		{
-			DebugEvent e = m_session.nextEvent();
-
-			if (e instanceof TraceEvent)
-			{
-				dumpTraceLine(e.information);
-			}
-			else if (e instanceof SwfLoadedEvent)
-			{
-				handleSwfLoadedEvent((SwfLoadedEvent)e);
-			}
-			else if (e instanceof SwfUnloadedEvent)
-			{
-				handleSwfUnloadedEvent((SwfUnloadedEvent)e);
-			}
-			else if (e instanceof IsolateCreateEvent) {
-				handleIsolateCreateEvent((IsolateCreateEvent)e);
-			}
-			else if (e instanceof IsolateExitEvent) {
-				handleIsolateExitEvent((IsolateExitEvent)e);
-			}
-			else if (e instanceof BreakEvent)
-			{
-				// store away isolate information
-				breakIsolate = ((BreakEvent) e).isolateId;
-				m_breakIsolates.add(breakIsolate);
-				
-				/** If this break event is due to a freshly loaded swf, 
-				  * we need to mark it for showing prompt. */
-				int reason = SuspendReason.Unknown;
-				try { reason = m_session.getWorkerSession(breakIsolate).suspendReason(); } catch ( PlayerDebugException pde ) { }
-				if ( reason == SuspendReason.ScriptLoaded ) {
-					setPromptState(InitialPromptState.NEVER_SHOWN, breakIsolate);
-				} 
-				
-				break;
-			}
-			else if (e instanceof FileListModifiedEvent)
-			{
-				// we ignore this
-			}
-			else if (e instanceof FunctionMetaDataAvailableEvent)
-			{
-				// we ignore this
-			}
-			else if (e instanceof FaultEvent)
-			{
-				breakIsolate = ((FaultEvent) e).isolateId;
-				m_breakIsolates.add(breakIsolate);
-				if ( handleFault((FaultEvent)e) )
-					requestResume = true;
-				else
-					requestHalt = true;
-				break;
-			}
-			else
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("type", e); //$NON-NLS-1$
-				args.put("info", e.information); //$NON-NLS-1$
-				err(getLocalizationManager().getLocalizedTextString("unknownEvent", args)); //$NON-NLS-1$
-			}
-		}
-
-		// only if we have processed a fault which requested a resume and no other fault asked for a break
-		// and we are suspended and it was due to us that the stop occurred!
-		IsolateSession workerSession = null;
-		if (m_session != null)
-			workerSession = m_session.getWorkerSession(breakIsolate);
-		if (requestResume && !requestHalt && workerSession != null && 
-					workerSession.isSuspended() && workerSession.suspendReason() == SuspendReason.Fault)
-			getIsolateState(breakIsolate).m_requestResume = true;
-	}
-	
-	private void handleIsolateExitEvent(IsolateExitEvent e) {
-		dumpIsolateExitLine(e);
-	}
-
-	private void handleIsolateCreateEvent(IsolateCreateEvent e) {
-		dumpIsolateCreatedLine(e);
-	}
-	
-	void dumpIsolateCreatedLine(IsolateCreateEvent e)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenWorkerCreated")); //$NON-NLS-1$
-		sb.append(' ');
-		sb.append(e.isolate.getId() - 1);
-		out(sb.toString());
-	}
-	
-	void dumpIsolateExitLine(IsolateExitEvent e)
-	{
-		StringBuilder sb = new StringBuilder();
-		sb.append(getLocalizationManager().getLocalizedTextString("linePrefixWhenWorkerExit")); //$NON-NLS-1$
-		sb.append(' ');
-		sb.append(e.isolate.getId() - 1);
-		out(sb.toString());
-	}
-
-
-	/**
-	 * Our logic for handling a break condition.
-	 *
-	 * @return some hit breakpoint requested silence, shhhh!
-	 */
-	boolean processBreak(boolean postStep, StringBuilder sb, int isolateId) throws NotConnectedException
-	{
-		Location l = getCurrentLocationIsolate(isolateId);
-		if (l == null || l.getFile() == null)
-			return false;
-
-		int fileId = l.getFile().getId();
-		int line = l.getLine();
-		boolean isSilent = false;
-		boolean bpHit = false;
-		boolean stoppedDueToBp = false;
-
-		int count = breakpointCount();
-		boolean[] markedForRemoval = new boolean[count];
-		DebugCLIIsolateState state = getIsolateState(isolateId);
-		boolean previousResume = state.m_requestResume;
-		IsolateSession workerSession = m_session.getWorkerSession(isolateId);
-		for(int i=0; i<count; i++)
-		{
-			BreakAction a = breakpointAt(i);
-			if (a.locationMatches(fileId, line))
-			{
-				/**
-				 * Note that it appears that we stopped due to hitting a hard breakpoint
-				 * Now if the breakpoint is conditional it may eval to false, meaning we
-				 * won't stop here, otherwise we will process the breakpoint.
-				 */
-				stoppedDueToBp = (workerSession.suspendReason() == SuspendReason.Breakpoint);
-				if (shouldBreak(a, fileId, line, isolateId))
-				{
-					// its a hit
-					bpHit = true;
-					a.hit();
-					isSilent = (isSilent) ? true : a.isSilent();
-
-					// autodelete, autodisable
-					if (a.isAutoDisable())
-						disableBreakpointAt(i);
-
-					if (a.isAutoDelete())
-						markedForRemoval[i] = true;
-
-					// now issue any commands that are attached to the breakpoint
-					int n = a.getCommandCount();
-					for(int j=0 ;j<n; j++)
-						issueCommand(a.commandAt(j), sb);
-				}
-			}
-		}
-
-		// kill them backwards so our i is acurate
-		for(int i=markedForRemoval.length-1; i>-1; i--)
-			if (markedForRemoval[i])
-				removeBreakpointAt(i);
-
-		/**
-		 * Now we should request to resume only if it was due to
-		 * breakpoints that were hit.
-		 *
-		 * For the first case, we hit a conditional breakpoint that
-		 * eval'd to false, resulting in bpHit == false.  Thus we
-		 * want to resume and additionally if we were stepping, we'd
-		 * like to do so 'softly' that is without loosing the stepping
-		 * information on the Player.
-		 *
-		 * For the 2nd case, we hit a breakpoint and we executed
-		 * commands that resulted in a m_requestResume.
-		 */
-		if (stoppedDueToBp && !bpHit)
-		{
-			state.m_requestResume = true;
-			state.m_stepResume = postStep;    // resume without losing our stepping
-			isSilent = true;			// do so quietly
-		}
-		else if (stoppedDueToBp && bpHit && state.m_requestResume && !previousResume)
-		{
-			state.m_requestResume = true;
-			state.m_stepResume = postStep;    // resume as we would
-		    processDisplay(sb);
-		}
-
-		// If we aren't continuing, then show display variables
-		if (!state.m_requestResume)
-			processDisplay(sb);
-
-//		System.out.println("processBreak stopDueToBp="+stoppedDueToBp+",bpHit="+bpHit+",postStep="+postStep+",reason="+suspendReason());
-
-		return isSilent;
-	}
-
-	// iterate through our display list entries
-	void processDisplay(StringBuilder sb)
-	{
-		int count = displayCount();
-		for(int i=0;i<count; i++)
-		{
-			DisplayAction a = displayAt(i);
-			if (a.isEnabled())
-			{
-				try
-				{
-					sb.append(a.getId());
-					sb.append(": "); //$NON-NLS-1$
-					sb.append(a.getContent());
-					sb.append(" = "); //$NON-NLS-1$
-
-					// command[0] contains our expression, so first we parse it, evalulate it then print it
-					Object result = m_exprCache.evaluate(a.getExpression(), a.getIsolateId()).value;
-
-					if (result instanceof Variable)
-						ExpressionCache.appendVariableValue(sb, ((Variable)result).getValue(), a.getIsolateId());
-
-					else if (result instanceof Value)
-						ExpressionCache.appendVariableValue(sb, (Value) result, a.getIsolateId());
-
-					else if (result instanceof InternalProperty)
-						sb.append( ((InternalProperty)result).valueOf() );
-
-					else
-						sb.append(result);
-
-					sb.append(m_newline);
-				}
-				catch(NoSuchVariableException nsv)
-				{
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("variable", nsv.getMessage() ); //$NON-NLS-1$
-					sb.append(getLocalizationManager().getLocalizedTextString("variableUnknown", args)); //$NON-NLS-1$
-					sb.append(m_newline);
-				}
-				catch(NumberFormatException nfe)
-				{
-					Map<String, Object> args = new HashMap<String, Object>();
-					args.put("value", nfe.getMessage() ); //$NON-NLS-1$
-					sb.append(getLocalizationManager().getLocalizedTextString("couldNotConvertToNumber", args)); //$NON-NLS-1$
-					sb.append(m_newline);
-				}
-				catch(PlayerFaultException pfe)
-				{
-					sb.append(pfe.getMessage() + m_newline);
-				}
-				catch (PlayerDebugException e)
-				{
-					sb.append(e.getMessage() + m_newline);
-				}
-				catch(NullPointerException npe)
-				{
-					sb.append(getLocalizationManager().getLocalizedTextString("couldNotEvaluate")); //$NON-NLS-1$
-				}
-			}
-		}
-	}
-
-	/**
-	 * Determines if the given BreakAction requests a halt given the file
-	 * line and optionally a conditional to evaluate.'
-	 */
-	boolean shouldBreak(BreakAction a, int fileId, int line, int isolateId)
-	{
-		boolean should = a.isEnabled();
-		ValueExp exp = a.getCondition();
-		if (should && exp != null && !getRequestHalt(isolateId))  // halt request fires true
-		{
-			// evaluate it then update our boolean
-			try
-			{
-				EvaluationResult result = evalExpression(exp, false, isolateId);
-				if (result != null)
-					should = ECMA.toBoolean(result.context.toValue(result.value));
-			}
-			catch(NullPointerException npe) {}
-			catch(NumberFormatException nfe) {}
-		}
-		return should;
-	}
-
-	/**
-	 * Sets the command interpreter up to execute the
-	 * given string a  command
-	 *
-	 * This io redirection crap is really UGLY!!!
-	 */
-	void issueCommand(String cmd, StringBuilder output)
-	{
-		ByteArrayOutputStream ba = new ByteArrayOutputStream();
-		PrintStream ps = new PrintStream(ba);
-
-		// temporarily re-wire i/o to catch all output
-		PrintStream oldOut = m_out;
-		PrintStream oldErr = m_err;
-
-		m_out = ps;
-		m_err = ps;
-		try
-		{
-			setCurrentLine(cmd);
-			processLine();
-		}
-		catch(AmbiguousException ae)
-		{
-			// we already put up a warning for the user
-		}
-		catch(IllegalStateException ise)
-		{
-			err(getLocalizationManager().getLocalizedTextString("illegalStateException")); //$NON-NLS-1$
-		}
-		catch(IllegalMonitorStateException ime)
-		{
-			err(getLocalizationManager().getLocalizedTextString("commandNotValidUntilPlayerSuspended")); //$NON-NLS-1$
-		}
-		catch(NoSuchElementException nse)
-		{
-			err(getLocalizationManager().getLocalizedTextString("noSuchElementException")); //$NON-NLS-1$
-		}
-		catch(SocketException se)
-		{
-			Map<String, Object> args = new HashMap<String, Object>();
-			args.put("socketErrorMessage", se.getMessage()); //$NON-NLS-1$
-			err(getLocalizationManager().getLocalizedTextString("problemWithConnection", args)); //$NON-NLS-1$
-		}
-		catch(Exception e)
-		{
-			err(getLocalizationManager().getLocalizedTextString("unexpectedErrorWithStackTrace")); //$NON-NLS-1$
-			if (Trace.error)
-				e.printStackTrace();
-		}
-
-		// flush the stream and then send its contents to our string buffer
-		ps.flush();
-		output.append( ba.toString() );
-
-		m_err = oldErr;
-		m_out = oldOut;
-	}
-
-	/**
-	 * We have received a fault and are possibly suspended at this point.
-	 * We need to look at our fault table and determine what do.
-	 * @return true if we resumed execution
-	 */
-	boolean handleFault(FaultEvent e)
-	{
-		// lookup what we need to do
-		boolean requestResume = false;
-		String name = e.name();
-		boolean stop = true;
-		boolean print = true;
-		try
-		{
-			print = m_faultTable.is(name, "print"); //$NON-NLS-1$
-			stop = m_faultTable.is(name, "stop"); //$NON-NLS-1$
-		}
-		catch(NullPointerException npe)
-		{
-			if (Trace.error)
-			{
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("faultName", name); //$NON-NLS-1$
-				Trace.trace(getLocalizationManager().getLocalizedTextString("faultHasNoTableEntry", args)); //$NON-NLS-1$
-				npe.printStackTrace();
-			}
-		}
-
-		if (e instanceof ExceptionFault)
-		{
-			ExceptionFault ef = (ExceptionFault) e;
-			Value thrownValue = ef.getThrownValue();
-			if (thrownValue != null)
-			{
-				if (!ef.willExceptionBeCaught())
-				{
-					stop = true;
-				}
-				else
-				{
-					stop = false;
-
-					String typeName = thrownValue.getTypeName();
-					int at = typeName.indexOf('@');
-					if (at != -1)
-						typeName = typeName.substring(0, at);
-
-					for (int i=0; i<catchpointCount(); ++i)
-					{
-						CatchAction c = catchpointAt(i);
-						String typeToCatch = c.getTypeToCatch();
-						try {
-							if (typeToCatch == null || getSession().getWorkerSession(e.isolateId).evalIs(thrownValue, typeToCatch))
-							{
-								stop = true;
-								break;
-							}
-						} catch (PlayerDebugException e1) {
-							// TODO Auto-generated catch block
-							e1.printStackTrace();
-							stop = true;
-						} catch (PlayerFaultException e1) {
-							// TODO Auto-generated catch block
-							e1.printStackTrace();
-							stop = true;
-						}
-					}
-
-					if (!stop)
-						print = false;
-				}
-			}
-		}
-
-		// should we stop?
-		if (!stop)
-			requestResume = true;
-
-		if (print)
-			dumpFaultLine(e);
-
-		return requestResume;
-	}
-
-	// wait a little bit of time until the player halts, if not throw an exception!
-	void waitTilHalted(int isolateId) throws NotConnectedException
-	{
-		if (!haveConnection())
-			throw new IllegalStateException();
-
-		int timeout = propertyGet(HALT_TIMEOUT);
-		int update = propertyGet(UPDATE_DELAY);
-		boolean wait = (propertyGet(NO_WAITING) == 1) ? false : true;
-
-		if (wait)
-		{
-			// spin for a while waiting for a halt; updating trace messages as we get them
-			waitForSuspend(timeout, update, isolateId);
-
-			if (!m_session.getWorkerSession(isolateId).isSuspended())
-				throw new IllegalMonitorStateException();
-		}
-	}
-
-	/**
-	 * We spin in this spot until the player reaches the
-	 * requested suspend state, either true or false.
-	 *
-	 * During this time we wake up every period milliseconds
-	 * and update the display and our state with information
-	 * received from the debug event queue.
-	 */
-	void waitForSuspend(int timeout, int period) throws NotConnectedException
-	{
-		waitForSuspend(timeout, period, Isolate.DEFAULT_ID);
-	}
-	
-	/**
-	 * We spin in this spot until the player reaches the
-	 * requested suspend state, either true or false.
-	 *
-	 * During this time we wake up every period milliseconds
-	 * and update the display and our state with information
-	 * received from the debug event queue.
-	 */
-	void waitForSuspend(int timeout, int period, int isolateId) throws NotConnectedException
-	{
-		IsolateSession workerSession = m_session.getWorkerSession(isolateId);
-		while(timeout > 0)
-		{
-			// dump our events to the console while we are waiting.
-			processEvents();
-			if (workerSession.isSuspended())
-				break;
-
-			try { Thread.sleep(period); } catch(InterruptedException ie) {}
-			timeout -= period;
-		}
-	}
-
-	/**
-	 * If we still have a socket try to send an exit message
-	 * Doesn't seem to work ?!?
-	 */
-	void exitSession()
-	{
-		// clear out our watchpoint list and displays
-		// keep breakpoints around so that we can try to reapply them if we reconnect
-		m_displays.clear();
-		m_watchpoints.clear();
-
-		if (m_fileInfo != null)
-			m_fileInfo.unbind();
-
-		if (m_session != null)
-			m_session.terminate();
-
-		m_session = null;
-		m_fileInfo = null;
-	}
-
-	void initSession(Session s)
-	{
-		s.setSourceLocator(this);
-
-		m_fileInfo = new FileInfoCache();
-		m_exprCache.clear();
-
-		m_fileInfo.bind(s);
-		m_exprCache.bind(s);
-
-		// bind catching a version problem
-		boolean correctVersion = true;
-		try { s.bind(); } catch(VersionException ve) { correctVersion = false; }
-
-		// reset session properties
-		propertyPut(LIST_LINE, 1);
-		propertyPut(LIST_MODULE, 1);  // default to module #1
-		propertyPut(BPNUM, 0); // set current breakpoint number as something bad
-		propertyPut(LAST_FRAME_DEPTH, 0);
-		propertyPut(CURRENT_FRAME_DEPTH, 0);
-		propertyPut(DISPLAY_FRAME_NUMBER, 0);
-		propertyPut(METADATA_ATTEMPTS_PERIOD, 250); // 1/4s per attempt
-		propertyPut(METADATA_NOT_AVAILABLE, 0);  // counter for failures
-		propertyPut(METADATA_ATTEMPTS, METADATA_RETRIES);
-		propertyPut(PLAYER_FULL_SUPPORT, correctVersion ? 1 : 0);
-
-		String previousURI = m_mruURI;
-		m_mruURI = m_session.getURI();
-
-		// try to reapply the breakpoint's
-		if (previousURI != null && m_mruURI != null && previousURI.equalsIgnoreCase(m_mruURI))
-			reapplyBreakpoints();
-		else
-		{
-			while(m_breakpoints.size() > 0)
-				m_breakpoints.removeElementAt(0);
-		}
-
-		m_mainState.m_requestResume = false;
-		m_mainState.m_stepResume = false;
-		initIsolateState();
-	}
-
-	private void initIsolateState() {
-		m_activeIsolate = Isolate.DEFAULT_ID;
-		m_breakIsolates = new Vector<Integer>();
-		m_isolateState = new HashMap<Integer, DebugCLIIsolateState>();
-		m_isolateState.put(Isolate.DEFAULT_ID, m_mainState);
-	}
-
-	/**
-	 * Walk through the list of breakpoints and try to apply them to our session
-	 * We aren't that smart in that we ignore the singleSwf property of the breakpoint
-	 * meaning that if you have a breakpoint set on a single swf, it will be restored
-	 * across all swfs.
-	 */
-	void reapplyBreakpoints()
-	{
-		// give us a bit of time to process the newly loaded swf
-		if (propertyGet(METADATA_ATTEMPTS) > 0)
-			try { waitForMetaData(80); } catch(InProgressException ipe) { }
-
-		int count = breakpointCount();
-		for(int i=0; i<count; i++)
-		{
-			BreakAction a = breakpointAt(i);
-			a.clearHits();
-			a.setStatus(BreakAction.UNRESOLVED);
-		}
-
-		StringBuilder sb = new StringBuilder();
-		resolveBreakpoints(sb);
-		out(sb.toString());
-	}
-
-	/**
-	 * Process a single line of input and return true if the quit command was encountered
-	 */
-	public boolean processLine() throws IOException, AmbiguousException, PlayerDebugException
-	{
-		if (!hasMoreTokens())
-			return false;
-
-		String command = nextToken();
-		boolean quit = false;
-		int cmdID = commandFor(command);
-
-		/* assume line will not be repeated. (i.e. user hits CR nothing happens) */
-		m_repeatLine = null;
-
-		switch(cmdID)
-		{
-			case CMD_QUIT:
-				quit = doQuit();
-				break;
-
-			case CMD_CONTINUE:
-				doContinue();
-				break;
-
-			case CMD_HOME:
-				doHome();
-				break;
-
-			case CMD_HELP:
-				doHelp();
-				break;
-
-			case CMD_SHOW:
-				doShow();
-				break;
-
-			case CMD_STEP:
-				doStep();
-				break;
-
-			case CMD_NEXT:
-				doNext();
-				break;
-
-			case CMD_FINISH:
-				doFinish();
-				break;
-
-			case CMD_BREAK:
-				doBreak();
-				break;
-
-			case CMD_CLEAR:
-				doClear();
-				break;
-
-			case CMD_SET:
-				doSet();
-				break;
-
-			case CMD_LIST:
-				doList();
-				break;
-
-			case CMD_PRINT:
-				doPrint();
-				break;
-
-			case CMD_TUTORIAL:
-				doTutorial();
-				break;
-
-			case CMD_INFO:
-				doInfo();
-				break;
-
-			case CMD_FILE:
-				doFile();
-				break;
-
-			case CMD_DELETE:
-				doDelete();
-				break;
-
-			case CMD_RUN:
-				doRun();
-				break;
-
-			case CMD_SOURCE:
-				doSource();
-				break;
-
-			case CMD_KILL:
-				doKill();
-				break;
-
-			case CMD_HANDLE:
-				doHandle();
-				break;
-
-			case CMD_ENABLE:
-				doEnable();
-				break;
-
-			case CMD_DISABLE:
-				doDisable();
-				break;
-
-			case CMD_DISPLAY:
-				doDisplay();
-				break;
-
-			case CMD_UNDISPLAY:
-				doUnDisplay();
-				break;
-
-			case CMD_COMMANDS:
-				doCommands();
-				break;
-
-			case CMD_PWD:
-				doPWD();
-				break;
-
-			case CMD_CF:
-				doCF();
-				break;
-
-//			case CMD_AWATCH:
-//				doWatch(true, true);
-//				break;
-
-			case CMD_WATCH:
-				doWatch(false, true);
-				break;
-
-//			case CMD_RWATCH:
-//				doWatch(true, false);
-//				break;
-
-            case CMD_CONDITION:
-                doCondition();
-                break;
-
-            case CMD_WHAT:
-                doWhat();
-                break;
-
-            case CMD_DISASSEMBLE:
-                doDisassemble();
-                break;
-
-            case CMD_HALT:
-                doHalt();
-                break;
-
-            case CMD_MCTREE:
-                doMcTree();
-                break;
-
-            case CMD_VIEW_SWF:
-                doViewSwf();
-                break;
-
-            case CMD_DOWN:
-                doDown();
-                break;
-
-            case CMD_UP:
-                doUp();
-                break;
-
-            case CMD_FRAME:
-                doFrame();
-                break;
-
-			case CMD_COMMENT:
-				; // nop
-				break;
-
-			case INFO_STACK_CMD:
-				; // from bt
-				doInfoStack();
-				break;
-
-			case CMD_DIRECTORY:
-				doDirectory();
-				break;
-
-			case CMD_CATCH:
-				doCatch();
-				break;
-
-			case CMD_CONNECT:
-				doConnect();
-				break;
-				
-			case CMD_WORKER:
-				doWorker();
-				break;
-
-			default:
-				doUnknown(command);
-				break;
-		}
-		return quit;
-	}
-
-	void doWorker() throws IOException, NotSupportedException, NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		if (hasMoreTokens()) {
-			String isolateid = nextToken();
-			if (isolateid != null && isolateid.length() > 0) {
-				try {
-					int id = Integer.parseInt(isolateid);
-					id++;
-					boolean found = false;
-					for (Isolate isolate : m_session.getWorkers()) {
-						if (isolate.getId() == id)
-							found = true;
-					}
-					StringBuilder sb = new StringBuilder();
-					if (found) {
-						m_activeIsolate = id;
-						propertyPut(LIST_WORKER, id);
-						propertyPut(LIST_LINE, 1);
-						propertyPut(LIST_MODULE, 1);  // default to module #1
-						propertyPut(BPNUM, 0); // set current breakpoint number as something bad
-						propertyPut(LAST_FRAME_DEPTH, 0);
-						propertyPut(CURRENT_FRAME_DEPTH, 0);
-						propertyPut(DISPLAY_FRAME_NUMBER, 0);
-						sb.append(getLocalizationManager().getLocalizedTextString("workerChanged") + " "); //$NON-NLS-1$ //$NON-NLS-2$
-						if (id == Isolate.DEFAULT_ID) {
-							sb.append(getLocalizationManager().getLocalizedTextString("mainThread")); //$NON-NLS-1$
-						}
-						else
-							sb.append((id - 1));
-						sb.append(m_newline);
-					}
-					else {
-						sb.append(getLocalizationManager().getLocalizedTextString("workerNotFound") + " " + (id - 1)); //$NON-NLS-1$ //$NON-NLS-2$
-						sb.append(m_newline);
-					}
-					out(sb.toString());
-				}
-				catch(NumberFormatException e) {
-					err(e.getLocalizedMessage());
-				}
-			}
-		}
-	}
-
-	
-    /**
-     * Read help text from fdbhelp*.txt.
-     */
-    String getHelpTopic(String topic)
-    {
-        // Open the file fdbhelp*.txt that is a sibling of this class file.
-        // (Note: build.xml copies it into the classes directory.)
-        InputStream helpStream = Help.getResourceAsStream();
-        if (helpStream == null)
-            return getLocalizationManager().getLocalizedTextString("noHelpFileFound"); //$NON-NLS-1$
-
-        // Read the help file line-by-line, looking for topic lines like [Break].
-        // Build an array of the lines within the section for the specified topic.
-        topic = "[" + topic + "]"; //$NON-NLS-1$ //$NON-NLS-2$
-        Vector<String> lines = new Vector<String>();
-        BufferedReader r = null;
-        try
-        {
-            r = new BufferedReader(new InputStreamReader(helpStream, "UTF-8")); //$NON-NLS-1$
-            String line;
-            // Read lines until we find the specified topic line.
-            while ((line = r.readLine()) != null)
-            {
-                if (line.startsWith(topic))
-                    break;
-            }
-            // Read lines until we find the next topic line.
-            while ((line = r.readLine()) != null)
-            {
-                 if (line.startsWith("[")) //$NON-NLS-1$
-                     break;
-                 lines.add(line);
-            }
-        }
-        catch(FileNotFoundException fnf)
-		{
-			err(fnf.getLocalizedMessage());
-		}
-        catch(IOException e)
-		{
-			err(e.getLocalizedMessage());
-		}
-        finally
-        {
-        	if (r != null)
-				try { r.close(); } catch (IOException e) { e.printStackTrace(); }
-        }
-
-        // Concatenate the lines, leaving out the first and last ones
-        // which are supposed to be blank. They're only there to make
-        // fdbhelp*.txt more readable.
-        StringBuilder helpText = new StringBuilder();
-        int n = lines.size();
-        for (int i = 1; i < n - 1; i++)
-        {
-            String line = lines.get(i);
-            helpText.append(line);
-            if (i != n - 2)
-                helpText.append(m_newline);
-        }
-
-        return helpText.toString();
-    }
-
-	/**
-	 * Provide contenxt sensistive help
-	 */
-	void doHelp() throws AmbiguousException
-	{
-        // someone entered a help command so let's help them!
-		String topic = "help"; //$NON-NLS-1$
-
-        int cmd;
-        String commandName;
-
-        // they might have entered something like "help br"
-        if (hasMoreTokens())
-		{
-			// map "br" to CMD_BREAK
-            cmd = commandFor(nextToken());
-             // and then back to "break"
-            commandName = commandNumberToCommandName(g_commandArray, cmd);
-            // so we'll look up the topic named "break" in fdbhelp*.txt
-            topic = commandName;
-
-            // they might have entered something like "help inf fil"
-            if (cmd == CMD_INFO && hasMoreTokens())
-            {
-                // map "fil" to CMD_INFO_FILE
-                cmd = infoCommandFor(nextToken());
-                // and then back to "file"
-                commandName = commandNumberToCommandName(g_infoCommandArray, cmd);
-                // so we'll look up the topic named "info file" in fdbhelp*.txt
-                 topic += " " +  commandName; //$NON-NLS-1$
-            }
-
-            // or like "help sho n"
-            else if (cmd == CMD_SHOW && hasMoreTokens())
-            {
-                // map "n" to CMD_SHOW_NET
-                cmd = showCommandFor(nextToken());
-                // and then back to "net"
-                commandName = commandNumberToCommandName(g_showCommandArray, cmd);
-                // so we'll look up the topic named "show net" in fdbhelp*.txt
-                topic += " " + commandName; //$NON-NLS-1$
-            }
-		}
-
-		out( getHelpTopic(topic) );
-	}
-
-    void doTutorial()
-	{
-		out( getHelpTopic("Tutorial") ); //$NON-NLS-1$
-	}
-
-	// process strings to command ids
-	int commandFor(String s) throws AmbiguousException			{ return determineCommand(g_commandArray, s, CMD_UNKNOWN);	}
-	int showCommandFor(String s) throws AmbiguousException		{ return determineCommand(g_showCommandArray, s, SHOW_UNKNOWN_CMD);	}
-	int infoCommandFor(String s) throws AmbiguousException		{ return determineCommand(g_infoCommandArray, s, INFO_UNKNOWN_CMD);	}
-	int enableCommandFor(String s) throws AmbiguousException	{ return determineCommand(g_enableCommandArray, s, CMD_UNKNOWN);	}
-	int disableCommandFor(String s) throws AmbiguousException	{ return determineCommand(g_disableCommandArray, s, CMD_UNKNOWN);	}
-
-	/**
-	 * Attempt to match given the given string against our set of commands
-	 * @return the command code that was hit.
-	 */
-	int determineCommand(StringIntArray cmdList, String input, int defCmd) throws AmbiguousException
-	{
-		int cmd = defCmd;
-
-		// first check for a comment
-		if (input.charAt(0) == '#')
-			cmd = CMD_COMMENT;
-		else
-		{
-//			long start = System.currentTimeMillis();
-			ArrayList ar = cmdList.elementsStartingWith(input);
-//			long end = System.currentTimeMillis();
-
-			int size = ar.size();
-
-			/**
-			 * 3 cases:
-			 *  - No hits, return unknown and let our caller
-			 *    dump the error.
-			 *  - We match unambiguously or we have 1 or more matches
-			 *    and the input is a single character. We then take the
-			 *    first hit as our command.
-			 *  - If we have multiple hits then we dump a 'ambiguous' message
-			 *    and puke quietly.
-			 */
-			if (size == 0)
-				; // no command match return unknown
-
-			// only 1 match or our input is 1 character or first match is exact
-			else if (size == 1 ||
-					 input.length() == 1 ||
-					 cmdList.getString( ((Integer)ar.get(0)).intValue() ).compareTo(input) == 0)
-			{
-				cmd = (cmdList.getInteger( ((Integer)ar.get(0)).intValue() )).intValue();
-			}
-			else
-			{
-				// matches more than one command dump message and go
-				StringBuilder sb = new StringBuilder();
-				Map<String, Object> args = new HashMap<String, Object>();
-				args.put("input", input); //$NON-NLS-1$
-				sb.append(getLocalizationManager().getLocalizedTextString("ambiguousCommand", args)); //$NON-NLS-1$
-				sb.append(' ');
-				sb.append(input);
-				for(int i=0; i<size; i++)
-				{
-					String s = cmdList.getString( ((Integer)ar.get(i)).intValue() );
-					sb.append(s);
-					if (i+1 < size)
-						sb.append(", "); //$NON-NLS-1$
-				}
-				sb.append('.');
-				err( sb.toString() );
-				throw new AmbiguousException();
-			}
-		}
-		return cmd;
-	}
-
-    String commandNumberToCommandName(StringIntArray cmdList, int cmdNumber)
-    {
-        for (int i = 0; i < cmdList.size(); i++)
-        {
-            if (cmdList.getInt(i) == cmdNumber)
-                return cmdList.getString(i);
-        }
-
-        return "?"; //$NON-NLS-1$
-    }
-
-	/**
-	 * The array of top level commands that we support.
-	 * They are placed into a Nx2 array, whereby the first component
-	 * is a String which is the command and the 2nd component is the
-	 * integer identifier for the command.
-	 *
-	 * The StringIntArray object provides a convenient wrapper class
-	 * that implements the List interface.
-	 *
-	 * NOTE: order matters!  For the case of a single character
-	 *       match, we let the first hit act like an unambiguous match.
-	 */
-	static StringIntArray g_commandArray = new StringIntArray( new Object[][]
-	{
-		{ "awatch", new Integer(CMD_AWATCH) }, //$NON-NLS-1$
-		{ "break", new Integer(CMD_BREAK) }, //$NON-NLS-1$
-		{ "bt", new Integer(INFO_STACK_CMD) }, //$NON-NLS-1$
-        { "continue", new Integer(CMD_CONTINUE) }, //$NON-NLS-1$
-        { "catch", new Integer(CMD_CATCH) }, //$NON-NLS-1$
-        { "cf", new Integer(CMD_CF) }, //$NON-NLS-1$
-		{ "clear", new Integer(CMD_CLEAR) }, //$NON-NLS-1$
-		{ "commands", new Integer(CMD_COMMANDS) }, //$NON-NLS-1$
-		{ "condition", new Integer(CMD_CONDITION) }, //$NON-NLS-1$
-		{ "connect", new Integer(CMD_CONNECT) }, //$NON-NLS-1$
-		{ "delete", new Integer(CMD_DELETE) }, //$NON-NLS-1$
-		{ "disable", new Integer(CMD_DISABLE) }, //$NON-NLS-1$
-		{ "disassemble", new Integer(CMD_DISASSEMBLE) }, //$NON-NLS-1$
-		{ "display", new Integer(CMD_DISPLAY) }, //$NON-NLS-1$
-		{ "directory", new Integer(CMD_DIRECTORY) }, //$NON-NLS-1$
-        { "down", new Integer(CMD_DOWN) }, //$NON-NLS-1$
-		{ "enable", new Integer(CMD_ENABLE) }, //$NON-NLS-1$
-		{ "finish", new Integer(CMD_FINISH) }, //$NON-NLS-1$
-		{ "file", new Integer(CMD_FILE) }, //$NON-NLS-1$
-        { "frame", new Integer(CMD_FRAME) }, //$NON-NLS-1$
-		{ "help", new Integer(CMD_HELP) }, //$NON-NLS-1$
-		{ "halt", new Integer(CMD_HALT) }, //$NON-NLS-1$
-		{ "handle", new Integer(CMD_HANDLE) }, //$NON-NLS-1$
-		{ "home", new Integer(CMD_HOME) }, //$NON-NLS-1$
-		{ "info", new Integer(CMD_INFO) }, //$NON-NLS-1$
-		{ "kill", new Integer(CMD_KILL) }, //$NON-NLS-1$
-		{ "list", new Integer(CMD_LIST) }, //$NON-NLS-1$
-		{ "next", new Integer(CMD_NEXT) }, //$NON-NLS-1$
-		{ "nexti", new Integer(CMD_NEXT) }, //$NON-NLS-1$
-		{ "mctree", new Integer(CMD_MCTREE) }, //$NON-NLS-1$
-        { "print", new Integer(CMD_PRINT) }, //$NON-NLS-1$
-        { "pwd", new Integer(CMD_PWD) }, //$NON-NLS-1$
-		{ "quit", new Integer(CMD_QUIT) }, //$NON-NLS-1$
-		{ "run", new Integer(CMD_RUN) }, //$NON-NLS-1$
-		{ "rwatch", new Integer(CMD_RWATCH) }, //$NON-NLS-1$
-		{ "step", new Integer(CMD_STEP) }, //$NON-NLS-1$
-		{ "stepi", new Integer(CMD_STEP) }, //$NON-NLS-1$
-		{ "set", new Integer(CMD_SET) }, //$NON-NLS-1$
-		{ "show", new Integer(CMD_SHOW) }, //$NON-NLS-1$
-		{ "source", new Integer(CMD_SOURCE) }, //$NON-NLS-1$
-		{ "tutorial", new Integer(CMD_TUTORIAL) }, //$NON-NLS-1$
-		{ "undisplay", new Integer(CMD_UNDISPLAY) }, //$NON-NLS-1$
-        { "up", new Integer(CMD_UP) }, //$NON-NLS-1$
-		{ "where", new Integer(INFO_STACK_CMD) }, //$NON-NLS-1$
-		{ "watch", new Integer(CMD_WATCH) }, //$NON-NLS-1$
-		{ "what", new Integer(CMD_WHAT) }, //$NON-NLS-1$
-		{ "viewswf", new Integer(CMD_VIEW_SWF) }, //$NON-NLS-1$
-		{ "worker", new Integer(CMD_WORKER) }, //$NON-NLS-1$
-
-	} );
-
-	/**
-	 * Info sub-commands
-	 */
-	static StringIntArray g_infoCommandArray = new StringIntArray( new Object[][]
-	{
-		{ "arguments", new Integer(INFO_ARGS_CMD) }, //$NON-NLS-1$
-		{ "breakpoints", new Integer(INFO_BREAK_CMD) }, //$NON-NLS-1$
-		{ "display", new Integer(INFO_DISPLAY_CMD) }, //$NON-NLS-1$
-		{ "files", new Integer(INFO_FILES_CMD) }, //$NON-NLS-1$
-		{ "functions", new Integer(INFO_FUNCTIONS_CMD) }, //$NON-NLS-1$
-		{ "handle", new Integer(INFO_HANDLE_CMD) }, //$NON-NLS-1$
-		{ "locals", new Integer(INFO_LOCALS_CMD) }, //$NON-NLS-1$
-		{ "stack", new Integer(INFO_STACK_CMD) }, //$NON-NLS-1$
-		{ "scopechain", new Integer(INFO_SCOPECHAIN_CMD) }, //$NON-NLS-1$
-        { "sources", new Integer(INFO_SOURCES_CMD) }, //$NON-NLS-1$
-        { "swfs", new Integer(INFO_SWFS_CMD) }, //$NON-NLS-1$
-        { "targets", new Integer(INFO_TARGETS_CMD) }, //$NON-NLS-1$
-		{ "variables", new Integer(INFO_VARIABLES_CMD) }, //$NON-NLS-1$
-		{ "workers", new Integer(INFO_WORKERS_CMD) }, //$NON-NLS-1$
-	} );
-
-	/**
-	 * Show sub-commands
-	 */
-	static StringIntArray g_showCommandArray = new StringIntArray( new Object[][]
-	{
-		{ "break", new Integer(SHOW_BREAK_CMD) }, //$NON-NLS-1$
-		{ "directories", new Integer(SHOW_DIRS_CMD) }, //$NON-NLS-1$
-		{ "files", new Integer(SHOW_FILES_CMD) }, //$NON-NLS-1$
-		{ "functions", new Integer(SHOW_FUNC_CMD) }, //$NON-NLS-1$
-		{ "locations", new Integer(SHOW_LOC_CMD) }, //$NON-NLS-1$
-		{ "memory", new Integer(SHOW_MEM_CMD) }, //$NON-NLS-1$
-		{ "net", new Integer(SHOW_NET_CMD) }, //$NON-NLS-1$
-		{ "properties", new Integer(SHOW_PROPERTIES_CMD) }, //$NON-NLS-1$
-		{ "uri", new Integer(SHOW_URI_CMD) }, //$NON-NLS-1$
-		{ "variable", new Integer(SHOW_VAR_CMD) }, //$NON-NLS-1$
-	} );
-
-	/**
-	 * enable sub-commands
-	 */
-	static StringIntArray g_enableCommandArray = new StringIntArray( new Object[][]
-	{
-		{ "breakpoints", new Integer(CMD_BREAK) }, //$NON-NLS-1$
-		{ "display", new Integer(CMD_DISPLAY) }, //$NON-NLS-1$
-		{ "delete", new Integer(CMD_DELETE) }, //$NON-NLS-1$
-		{ "once", new Integer(ENABLE_ONCE_CMD) }, //$NON-NLS-1$
-	} );
-
-	/**
-	 * disable sub-commands
-	 */
-	static StringIntArray g_disableCommandArray = new StringIntArray( new Object[][]
-	{
-		{ "display", new Integer(CMD_DISPLAY) }, //$NON-NLS-1$
-		{ "breakpoints", new Integer(CMD_BREAK) }, //$NON-NLS-1$
-	} );
-
-
-	/**
-	 * -------------------------------------------------------------------------
-	 * Any code that accesses the implementation of the API is wrapped 
-	 * in Extensions.  This way one can easily factor this stuff out
-	 * and build an fdb that is completely compliant to the API.
-	 *
-	 * I'm pretty sure there's a better way of doing this like
-	 * making Extensions a final static variable and then 
-	 * toggling it between two classes Extensions and something
-	 * like ExtensionsDisabled (methods with only out("not supported")
-	 * in them).
-	 * -------------------------------------------------------------------------
-	 */
-	void appendBreakInfo(StringBuilder sb, int isolateId) throws NotConnectedException	{ Extensions.appendBreakInfo(this, sb, false, isolateId);	}
-	void doShowStats()													{ Extensions.doShowStats(this);					}
-	void doShowFuncs()													{ Extensions.doShowFuncs(this);					}
-	void doShowProperties()												{ Extensions.doShowProperties(this);			}
-	void doShowVariable() throws PlayerDebugException					{ Extensions.doShowVariable(this);				}
-	void doShowBreak() throws NotConnectedException						{ Extensions.doShowBreak(this);					}
- 	void doDisassemble() throws PlayerDebugException					{ Extensions.doDisassemble(this);				}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/DisplayAction.java b/modules/fdbworkers/src/flex/tools/debugger/cli/DisplayAction.java
deleted file mode 100644
index d8612d5..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/DisplayAction.java
+++ /dev/null
@@ -1,62 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import flash.tools.debugger.expression.ValueExp;
-
-/**
- * An object that relates a CLI debugger 'display' command
- * with the contents of the display 
- */
-public class DisplayAction
-{
-	private static int s_uniqueIdentifier  = 1;
-
-	boolean		m_enabled;
-	int			m_id;
-	ValueExp	m_expression;
-	String		m_content;
-	int m_isolateId;
-
-	public DisplayAction(ValueExp expr, String content, int isolateId)
-	{
-		init();
-		m_expression = expr;
-		m_content = content;
-		m_isolateId = isolateId;
-	}
-
-	void init()
-	{
-		m_enabled = true;
-		m_id = s_uniqueIdentifier++;
-	}
-
-	/* getters */
-	public String		getContent()					{ return m_content; }
-	public int			getId()							{ return m_id; }
-	
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-	public boolean		isEnabled()						{ return m_enabled; }
-	public ValueExp		getExpression()					{ return m_expression; }
-
-	/* setters */
-	public void setEnabled(boolean enable)				{ m_enabled = enable; }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionCache.java b/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionCache.java
deleted file mode 100644
index 4c6291a..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionCache.java
+++ /dev/null
@@ -1,544 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.text.ParseException;
-import java.util.NoSuchElementException;
-import java.util.Set;
-import java.util.Vector;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.Bootstrap;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.ValueAttribute;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableAttribute;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.concrete.DValue;
-import flash.tools.debugger.expression.ASTBuilder;
-import flash.tools.debugger.expression.IASTBuilder;
-import flash.tools.debugger.expression.NoSuchVariableException;
-import flash.tools.debugger.expression.PlayerFaultException;
-import flash.tools.debugger.expression.ValueExp;
-
-public class ExpressionCache
-{
-	Session				m_session;
-	IASTBuilder			m_builder;
-	Vector<Object>		m_expressions;
-	IntProperties		m_props;
-	DebugCLI			m_cli;
-
-	/**
-	 * Returned by evaluate().
-	 */
-	public static class EvaluationResult
-	{
-		/**
-		 * The value to which the expression evaluated.
-		 */
-		public Object value;
-
-		/**
-		 * The context that was used to evaluate the expression. Sometimes used
-		 * to convert the <code>value</code> field to a <code>Value</code>
-		 * with <code>context.toValue()</code>.
-		 */
-		public ExpressionContext context;
-	}
-
-	/**
-	 * We can get at files by name or module id, eventually we will put functions in here too
-	 */
-
-	public ExpressionCache(DebugCLI cli)
-	{
-		m_builder = new ASTBuilder(true); // allow fdb's "*x" and "x." indirection operators
-		m_expressions = new Vector<Object>();
-		m_props = new IntProperties();
-		m_cli = cli;
-	}
-
-	public void			clear()			{ m_expressions.clear(); }
-	public void			unbind()		{ m_session = null; }
-	public int			size()			{ return m_expressions.size(); }
-	public Object		at(int i)		{ return m_expressions.elementAt(i); }
-
-	void setSession(Session s)	{ m_session = s; }
-
-	public Session		getSession()			{ return m_session; }
-	public String		getPackageName(int id)	{ return m_cli.module2ClassName(id); }
-
-	public void bind(Session s)
-	{ 
-		setSession(s); 
-
-		// propagates our properties to the session / non-critical if fails
-		try { ((flash.tools.debugger.concrete.PlayerSession)s).setPreferences(m_props.map()); } catch(Exception e) {}
-	}
-
-	public EvaluationResult evaluate(ValueExp e, int isolateId) throws NumberFormatException, NoSuchVariableException, PlayerFaultException, PlayerDebugException
-	{
-		EvaluationResult result = new EvaluationResult();
-		result.context = new ExpressionContext(this);
-		result.context.setIsolateId(isolateId);
-		result.value = e.evaluate(result.context);
-		return result;
-	}
-
-	public ValueExp parse(String s) throws IOException, ParseException
-	{
-		return m_builder.parse(new StringReader(s));
-	}
-
-	public int add(Object e)
-	{
-		int at = m_expressions.size();
-		m_expressions.add(e);
-		return at+1;
-	}
-
-	//
-	// Interface for accessing previous expression values and also the properties
-	//
-	public boolean propertyEnabled(String which)
-	{
-		boolean enabled = false;
-		try
-		{
-			Number number = (Number) get(which);
-			if (number != null)
-				enabled = (number.intValue() != 0);
-		}
-		catch (Exception e)
-		{
-			// nothing; leave 'enabled' as false
-		}
-		return enabled;
-	}
-
-	// this goes in properties
-	public void put(String s, int value) { m_props.put(s, value); setSessionProperty(s, value); }
-	public Set<String>  keySet() { return m_props.keySet(); }
-
-	/**
-	 * Allow the session to receive property updates 
-	 */
-	void setSessionProperty(String s, int value)
-	{
-		Session sess = getSession();
-	    if (sess != null)
-			sess.setPreference(s, value);
-		Bootstrap.sessionManager().setPreference(s, value);
-	}
-
-	/**
-	 * We are able to fetch properties or expressions (i.e previous expression)
-	 * using this single call, despite the fact that each of these types of 
-	 * results lie in different data structures m_expressions and m_props.
-	 * This allows us to easily perform expression evaluation without
-	 * need or concern over which 'type' of $ reference we are dealing with
-	 */
-	public Object get(String s) throws NumberFormatException, ArrayIndexOutOfBoundsException, NoSuchElementException
-	{
-		Object exp = null;
-
-		// should be of form '$n' where n is a number 0..size()
-		if (s.charAt(0) != '$')
-			throw new NoSuchElementException(s);
-
-	    String num = s.substring(1);
-		if (num == null || num.length() == 0)
-			exp = at(size()-1);
-		else if (num.equals("$")) //$NON-NLS-1$
-			exp = at(size()-2);
-		else
-		{
-			try
-			{
-				int index = Integer.parseInt(num);
-				exp = at(index-1);
-			}
-			catch(NumberFormatException nfe)
-			{
-				// must be in the property list 
-				exp = m_props.getInteger(s);
-			}
-		}
-		return exp;
-	}
-
-	//
-	// Statics for formatting stuff
-	//
-
-	/**
-	 * Formatting function for variable
-	 */
-	public static void appendVariable(StringBuilder sb, Variable v, int isolateId)
-	{
-		//sb.append('\'');
-		String name = v.getName();
-		sb.append(name);
-		//sb.append('\'');
-		sb.append(" = "); //$NON-NLS-1$
-		appendVariableValue(sb, v.getValue(), name, isolateId);
-		//appendVariableAttributes(sb, v);
-	}
-
-	/**
-	 * Given any arbitrary constant value, such as a Double, a String, etc.,
-	 * format its value appropriately. For example, strings will be quoted.
-	 * 
-	 * @param sb
-	 *            a StringBuilder to which the formatted value will be appended.
-	 * @param o
-	 *            the value to format.
-	 */
-	public static void appendVariableValue(StringBuilder sb, final Object o, final int isolateId)
-	{
-		Value v;
-
-		if (o instanceof Value) {
-			v = (Value) o;
-		} else {
-			v = new Value() {
-				public int getAttributes() {
-					return 0;
-				}
-
-				public String[] getClassHierarchy(boolean allLevels) {
-					return new String[0];
-				}
-
-				public String getClassName() {
-					return ""; //$NON-NLS-1$
-				}
-
-				public long getId() {
-					return UNKNOWN_ID;
-				}
-
-				public int getMemberCount(Session s) throws NotSuspendedException,
-						NoResponseException, NotConnectedException {
-					return 0;
-				}
-
-				public Variable getMemberNamed(Session s, String name)
-						throws NotSuspendedException, NoResponseException,
-						NotConnectedException {
-					return null;
-				}
-
-				public Variable[] getMembers(Session s)
-						throws NotSuspendedException, NoResponseException,
-						NotConnectedException {
-					return new Variable[0];
-				}
-
-				public int getType() {
-					if (o instanceof Number)
-						return VariableType.NUMBER;
-					else if (o instanceof Boolean)
-						return VariableType.BOOLEAN;
-					else if (o instanceof String)
-						return VariableType.STRING;
-					else if (o == Value.UNDEFINED)
-						return VariableType.UNDEFINED;
-					else if (o == null)
-						return VariableType.NULL;
-
-					assert false;
-					return VariableType.UNKNOWN;
-				}
-
-				public String getTypeName() {
-					return ""; //$NON-NLS-1$
-				}
-
-				public Object getValueAsObject() {
-					return o;
-				}
-
-				public String getValueAsString() {
-					return DValue.getValueAsString(o);
-				}
-
-				public boolean isAttributeSet(int variableAttribute) {
-					return false;
-				}
-
-				public Variable[] getPrivateInheritedMembers() {
-					return new Variable[0];
-				}
-
-				public Variable[] getPrivateInheritedMemberNamed(String name) {
-					return new Variable[0];
-				}
-				
-				public int getIsolateId() {
-					return isolateId;
-				}
-			};
-		}
-
-		appendVariableValue(sb, v, isolateId);
-	}
-
-	public static void appendVariableValue(StringBuilder sb, Value val, final int isolateId) { appendVariableValue(sb,val,"", isolateId); } //$NON-NLS-1$
-
-	public static void appendVariableValue(StringBuilder sb, Value val, String variableName, final int isolateId)
-	{
-		int type = val.getType();
-		String typeName = val.getTypeName();
-		String className = val.getClassName();
-
-		// if no string or empty then typeName is blank
-		if (typeName != null && typeName.length() == 0)
-			typeName = null;
-
-        switch (type)
-        {
-            case VariableType.NUMBER:
-            {
-				double value = ((Number)val.getValueAsObject()).doubleValue();
-				long longValue = (long) value;
-				// The value is stored as a double; however, in practice most values are
-				// actually integers.  Check to see if this is the case, and if it is,
-				// then display it:
-				//    - without a fraction, and
-				//    - with its hex equivalent in parentheses.
-				// Note, we use 'long' instead of 'int', in order to deal with the
-				// ActionScript type 'uint'.
-				if (longValue == value)
-				{
-					sb.append(longValue);
-					sb.append(" (0x"); //$NON-NLS-1$
-					sb.append(Long.toHexString(longValue));
-					sb.append(")"); //$NON-NLS-1$
-				}
-				else
-				{
-					sb.append(value);
-				}
-                break;
-            }
-
-            case VariableType.BOOLEAN:
-            {
-                Boolean b = (Boolean)val.getValueAsObject();
-                if (b.booleanValue())
-                    sb.append("true"); //$NON-NLS-1$
-                else
-                    sb.append("false"); //$NON-NLS-1$
-                break;
-            }
-
-            case VariableType.STRING:
-            {
-            	// Exceptions are displayed in angle brackets, e.g.
-            	//     foo = <Text of exception here>
-            	// Strings are displayed quoted:
-            	//     foo = "Value of string here"
-            	//
-            	// Note that quotation marks within the string are not escaped.  This
-            	// is sort of weird, but it's what we want to do, at least for now;
-            	// the debugger's output is intended to be human-readable, not
-            	// machine-readable, and it's easier for a person to read the string
-            	// if there is no escaping of quotation marks.
-            	//
-            	// As a small step in the direction of avoiding that weirdness, if
-            	// the string contains double-quotes but no single-quotes, we will
-            	// quote it in single quotes.
-            	String s = val.getValueAsString();
-            	char start, end;
-
-				if (val.isAttributeSet(ValueAttribute.IS_EXCEPTION))
-				{
-					start = '<';
-					end = '>';
-				}
-				else if (s.indexOf('"') != -1 && s.indexOf('\'') == -1)
-				{
-					start = end = '\'';
-				}
-				else
-				{
-					start = end = '"';
-				}
-
-                sb.append(start);
-                sb.append(s);
-                sb.append(end);
-                break;
-            }
-
-            case VariableType.OBJECT:
-            {
-                sb.append("["); //$NON-NLS-1$
-				sb.append(className);
-
-				// Normally, we include the object id after the class name.
-				// However, when running fdbunit, don't show object IDs, so that
-				// results can reproduce consistently from one run to the next.
-				if (System.getProperty("fdbunit") == null) //$NON-NLS-1$
-				{
-					sb.append(" "); //$NON-NLS-1$
-					sb.append(val.getValueAsObject()); // object id
-				}
-                if (typeName != null && !typeName.equals(className))
-                {
-                    sb.append(", class='"); //$NON-NLS-1$
-
-					// Often the typename is of the form 'classname@hexaddress',
-					// but the hex address is the same as the object id which
-					// is returned by getValue() -- we don't want to display it
-					// here.
-					int at = typeName.indexOf('@');
-					if (at != -1)
-						typeName = typeName.substring(0, at);
-
-                    sb.append(typeName);
-                    sb.append('\'');
-                }
-                sb.append(']');
-                break;
-            }
-
-            case VariableType.FUNCTION:
-            {
-				// here we have a special case for getters/setters which 
-				// look like functions to us, except the attribute is set.
-				sb.append('[');
-				if (val.isAttributeSet(VariableAttribute.HAS_GETTER))
-					sb.append(getLocalizationManager().getLocalizedTextString("getterFunction")); //$NON-NLS-1$
-				else if (val.isAttributeSet(VariableAttribute.HAS_SETTER))
-					sb.append(getLocalizationManager().getLocalizedTextString("setterFunction")); //$NON-NLS-1$
-				else
-					sb.append(getLocalizationManager().getLocalizedTextString("function")); //$NON-NLS-1$
-				sb.append(' ');
-
-                sb.append(val.getValueAsObject());
-                if (typeName != null && !typeName.equals(variableName))
-                {
-                    sb.append(", name='"); //$NON-NLS-1$
-                    sb.append(typeName);
-                    sb.append('\'');
-                }
-                sb.append(']');
-                break;
-            }
-
-            case VariableType.MOVIECLIP:
-            {
-                sb.append("["); //$NON-NLS-1$
-				sb.append(className);
-				sb.append(" "); //$NON-NLS-1$
-                sb.append(val.getValueAsObject());
-                if (typeName != null && !typeName.equals(className))
-                {
-                    sb.append(", named='"); //$NON-NLS-1$
-                    sb.append(typeName);
-                    sb.append('\'');
-                }
-                sb.append(']');
-                break;
-            }
-
-            case VariableType.NULL:
-            {
-                sb.append("null"); //$NON-NLS-1$
-                break;
-            }
-
-            case VariableType.UNDEFINED:
-            {
-                sb.append("undefined"); //$NON-NLS-1$
-                break;
-            }
-
-            case VariableType.UNKNOWN:
-            {
-                sb.append(getLocalizationManager().getLocalizedTextString("unknownVariableType")); //$NON-NLS-1$
-                break;
-            }
-        }
-	}
-
-	private static LocalizationManager getLocalizationManager()
-	{
-		return DebugCLI.getLocalizationManager();
-	}
-
-	public static void appendVariableAttributes(StringBuilder sb, Variable v)
-	{
-		if (v.getAttributes() == 0)
-			return;
-
-		sb.append("  "); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.DONT_ENUMERATE))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_dontEnumerate")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.READ_ONLY))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_readOnly")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.IS_LOCAL))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_localVariable")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.IS_ARGUMENT))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_functionArgument")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.HAS_GETTER))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_getterFunction")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.HAS_SETTER))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_setterFunction")); //$NON-NLS-1$ //$NON-NLS-2$
-
-		if (v.isAttributeSet(VariableAttribute.IS_DYNAMIC))
-			sb.append(", dynamic"); //$NON-NLS-1$
-		
-		if (v.isAttributeSet(VariableAttribute.IS_STATIC))
-			sb.append(", static"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.IS_CONST))
-			sb.append(", const"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.PRIVATE_SCOPE))
-			sb.append(", private"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.PUBLIC_SCOPE))
-			sb.append(", public"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.PROTECTED_SCOPE))
-			sb.append(", protected"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.INTERNAL_SCOPE))
-			sb.append(", internal"); //$NON-NLS-1$
-
-		if (v.isAttributeSet(VariableAttribute.NAMESPACE_SCOPE))
-			sb.append(", " + getLocalizationManager().getLocalizedTextString("variableAttribute_hasNamespace")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionContext.java b/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionContext.java
deleted file mode 100644
index 75eabba..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/ExpressionContext.java
+++ /dev/null
@@ -1,653 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SessionManager;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.ValueAttribute;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.VariableType;
-import flash.tools.debugger.concrete.DValue;
-import flash.tools.debugger.events.ExceptionFault;
-import flash.tools.debugger.events.FaultEvent;
-import flash.tools.debugger.expression.Context;
-import flash.tools.debugger.expression.ExpressionEvaluatorException;
-import flash.tools.debugger.expression.NoSuchVariableException;
-import flash.tools.debugger.expression.PlayerFaultException;
-
-public class ExpressionContext implements Context
-{
-	ExpressionCache		m_cache;
-	Object				m_current;
-	boolean				m_createIfMissing;  // set if we need to create a variable if it doesn't exist
-	Vector<String>		m_namedPath;
-	boolean				m_nameLocked;
-	String				m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-	int m_isolateId;
-
-	// used when evaluating an expression
-	public ExpressionContext(ExpressionCache cache)
-	{
-		m_cache = cache;
-		m_current = null;
-		m_createIfMissing = false;
-		m_namedPath = new Vector<String>();
-		m_nameLocked = false;
-		m_isolateId = Isolate.DEFAULT_ID;
-	}
-	
-	public void setIsolateId(int id) {
-		m_isolateId = id;
-	}
-
-	void		setContext(Object o)	{ m_current = o; }
-
-	void		pushName(String name)	{ if (m_nameLocked || name.length() < 1) return; m_namedPath.add(name);  }
-	boolean		setName(String name)	{ if (m_nameLocked) return true; m_namedPath.clear(); pushName(name); return true; }
-	void		lockName()				{ m_nameLocked = true; }
-
-	public String getName()
-	{
-		int size = m_namedPath.size();
-		StringBuilder sb = new StringBuilder();
-		for(int i=0; i<size; i++)
-		{
-			String s = m_namedPath.get(i);
-			if (i > 0)
-				sb.append('.');
-			sb.append(s);
-		}
-		return ( sb.toString() );
-	}
-
-	String getCurrentPackageName()
-	{ 
-		String s = null;
-		try
-		{
-			Integer o = (Integer)m_cache.get(DebugCLI.LIST_MODULE);
-			s = m_cache.getPackageName(o.intValue());
-		}
-		catch(NullPointerException npe)
-		{
-		}
-		catch(ClassCastException cce)
-		{
-		}
-		return s; 
-	}
-
-	//
-	//
-	// Start of Context API implementation
-	//
-	//
-	public void createPseudoVariables(boolean oui) { m_createIfMissing = oui; }
-
-	// create a new context object by combining the current one and o 
-	public Context createContext(Object o)
-	{
-		ExpressionContext c = new ExpressionContext(m_cache);
-		c.setContext(o);
-		c.createPseudoVariables(m_createIfMissing);
-		c.m_namedPath.addAll(m_namedPath);
-		c.setIsolateId(m_isolateId);
-		return c;
-	}
-
-	// assign the object o, the value v
-	public void assign(Object o, Value v) throws NoSuchVariableException, PlayerFaultException
-	{
-		try
-		{
-			// first see if it is an internal property (avoids player calls)
-			InternalProperty prop = resolveToInternalProperty(o);
-
-			// we expect that o is a variable that can be resolved or is a specially marked internal variable
-			if (prop != null)
-			{
-				assignInternal(prop, v);
-			}
-			else
-			{
-				boolean wasCreateIfMissing = m_createIfMissing;
-				createPseudoVariables(true);
-				Variable var = null;
-				try {
-					var = resolveToVariable(o);
-				} finally {
-					createPseudoVariables(wasCreateIfMissing);
-				}
-
-				if (var == null)
-					throw new NoSuchVariableException((var == null) ? m_current : var.getName());
-
-				// set the value, for the case of a variable that does not exist it will not have a type
-				// so we try to glean one from v.
-				FaultEvent faultEvent = var.setValue(getSession(), v.getType(), v.getValueAsString());
-				if (faultEvent != null)
-					throw new PlayerFaultException(faultEvent);
-			}
-		}
-		catch(PlayerDebugException pde)
-		{
-			throw new ExpressionEvaluatorException(pde);
-		}
-	}
-
-	/**
-	 * The Context interface which goes out and gets values from the session
-	 * Expressions use this interface as a means of evaluation.
-	 * 
-	 * We also use this to create a reference to internal variables.
-	 */
-	public Object lookup(Object o) throws NoSuchVariableException, PlayerFaultException
-	{
-		Object result = null;
-		try
-		{
-			// first see if it is an internal property (avoids player calls)
-			if ( (result = resolveToInternalProperty(o)) != null)
-				;
-
-			// attempt to resolve to a player variable
-			else if ( (result = resolveToVariable(o)) != null)
-				;
-
-			// or value
-			else if ( (result = resolveToValue(o)) != null)
-				;
-
-			else
-				throw new NoSuchVariableException(o);
-
-			// take on the path to the variable; so 'what' command prints something nice
-			if ((result != null) && result instanceof VariableFacade)
-			{
-				((VariableFacade)result).setPath(getName());
-			}
-
-			// if the attempt to get the variable's value threw an exception inside the
-			// player (most likely because the variable is actually a getter, and the
-			// getter threw something), then throw something here
-			Value resultValue = null;
-
-			if (result instanceof Variable)
-			{
-				if (result instanceof VariableFacade && ((VariableFacade)result).getVariable() == null)
-					resultValue = null;
-				else
-					resultValue = ((Variable)result).getValue();
-			}
-			else if (result instanceof Value)
-			{
-				resultValue = (Value) result;
-			}
-
-			if (resultValue != null)
-			{
-				if (resultValue.isAttributeSet(ValueAttribute.IS_EXCEPTION))
-				{
-					String value = resultValue.getValueAsString();
-					throw new PlayerFaultException(new ExceptionFault(value, false, resultValue, resultValue.getIsolateId()));
-				}
-			}
-		}
-		catch(PlayerDebugException pde)
-		{
-			result = Value.UNDEFINED;
-		}
-		return result;
-	}
-
-	/* returns a string consisting of formatted member names and values */
-	public Object lookupMembers(Object o) throws NoSuchVariableException
-	{
-		Variable var = null;
-		Value val = null;
-  		Variable[] mems = null;
-		try
-		{
-			var = resolveToVariable(o);
-			if (var != null)
-				val = var.getValue();
-			else
-				val = resolveToValue(o);
-			mems = val.getMembers(getSession());
-		}
-		catch(NullPointerException npe)
-		{
-			throw new NoSuchVariableException(o);
-		}
-		catch(PlayerDebugException pde)
-		{
-			throw new NoSuchVariableException(o); // not quite right...
-		}
-
-  		StringBuilder sb = new StringBuilder();
-
-  		if (var != null)
-  			ExpressionCache.appendVariable(sb, var, m_isolateId);
-  		else
-  			ExpressionCache.appendVariableValue(sb, val, m_isolateId);
-
-		boolean attrs = m_cache.propertyEnabled(DebugCLI.DISPLAY_ATTRIBUTES);
-		if (attrs && var != null)
-			ExpressionCache.appendVariableAttributes(sb, var);
-
-		// [mmorearty] experimenting with hierarchical display of members
-		String[] classHierarchy = val.getClassHierarchy(false);
-		if (classHierarchy != null && getSession().getPreference(SessionManager.PREF_HIERARCHICAL_VARIABLES) != 0)
-		{
-			for (int c=0; c<classHierarchy.length; ++c)
-			{
-				String classname = classHierarchy[c];
-				sb.append(m_newline + "(Members of " + classname + ")"); //$NON-NLS-1$ //$NON-NLS-2$
-				for (int i=0; i<mems.length; ++i)
-				{
-					if (classname.equals(mems[i].getDefiningClass()))
-					{
-			  			sb.append(m_newline + " "); //$NON-NLS-1$
-			  			ExpressionCache.appendVariable(sb, mems[i], m_isolateId);
-						if (attrs)
-							ExpressionCache.appendVariableAttributes(sb, mems[i]);
-					}
-				}
-			}
-		}
-		else
-		{
-	  		for(int i=0; i<mems.length; i++)
-	  		{
-	  			sb.append(m_newline + " "); //$NON-NLS-1$
-	  			ExpressionCache.appendVariable(sb, mems[i], m_isolateId);
-				if (attrs)
-					ExpressionCache.appendVariableAttributes(sb, mems[i]);
-	  		}
-		}
-
-  		return sb.toString();
-  	}
-
-	//
-	//
-	// End of Context API implementation 
-	//
-	//
-
-	// used to assign a value to an internal variable 
-	private void assignInternal(InternalProperty var, Value v) throws NoSuchVariableException, NumberFormatException, PlayerDebugException
-	{
-		// otherwise set it
-		if (v.getType() != VariableType.NUMBER)
-			throw new NumberFormatException(v.getValueAsString());
-		long l = Long.parseLong(v.getValueAsString());
-		m_cache.put(var.getName(), (int)l);
-	}
-
-	InternalProperty resolveToInternalProperty(Object o)
-	{
-		if (o instanceof String && ((String)o).charAt(0) == '$')
-		{
-			String key = (String)o;
-			Object value = null;
-
-			try { value = m_cache.get(key); } catch(Exception e) {}
-			return new InternalProperty(key, value);
-		}
-
-		return null;
-	}
-
-	/**
-	 * Resolve the object into a variable by various means and 
-	 * using the current context.
-	 * @return variable, or <code>null</code>
-	 */
-	Variable resolveToVariable(Object o) throws PlayerDebugException
-	{
-		Variable v = null;
-
-		// if o is a variable already, then we're done!
-		if (o instanceof Variable)
-			return (Variable)o;
-
-		/**
-		 * Resolve the name to something
-		 */
-		{
-			// not an id so try as name 
-			String name = o.toString();
-			long id = nameAsId(name);
-
-			/**
-			 * if #N was used just pick up the variable, otherwise
-			 * we need to use the current context to resolve 
-			 * the name to a member
-			 */
-			if (id != Value.UNKNOWN_ID)
-			{
-				// TODO what here?
-			}
-			else
-			{
-				// try to resolve as a member of current context (will set context if null)
-				id = determineContext(name);
-				v = locateForNamed(id, name, true);
-				if (v != null)
-					v = new VariableFacade(v, id, m_isolateId);
-				else if (v == null && m_createIfMissing && name.charAt(0) != '$')
-					v = new VariableFacade(id, name, m_isolateId);
-			}
-		}
-
-		/* return the variable */
-		return v;
-	}
-
-	/*
-	 * Resolve the object into a variable by various means and 
-	 * using the current context.
-	 */
-	Value resolveToValue(Object o) throws PlayerDebugException
-	{
-		Value v = null;
-
-		// if o is a variable or a value already, then we're done!
-		if (o instanceof Value)
-			return (Value)o;
-		else if (o instanceof Variable)
-			return ((Variable)o).getValue();
-		else if (o instanceof InternalProperty)
-			return DValue.forPrimitive(((InternalProperty)o).m_value, m_isolateId);
-
-		/**
-		 * Resolve the name to something
-		 */
-		if (m_current == null)
-		{
-			// not an id so try as name 
-			String name = o.toString();
-			long id = nameAsId(name);
-
-			/**
-			 * if #N was used just pick up the variable, otherwise
-			 * we need to use the current context to resolve 
-			 * the name to a member
-			 */
-			if (id != Value.UNKNOWN_ID)
-			{
-				v = getSession().getWorkerSession(m_isolateId).getValue((int)id);
-			}
-			else if (name.equals("undefined")) //$NON-NLS-1$
-			{
-				v = DValue.forPrimitive(Value.UNDEFINED, m_isolateId);
-			}
-			else
-			{
-				// Ask the player to find something, anything, on the scope chain
-				// with this name.  We'll end up here, for example, when resolving
-				// things like MyClass, String, Number, etc.
-				v = getSession().getWorkerSession(m_isolateId).getGlobal(name);
-			}
-		}
-
-		/* return the value */
-		return v;
-	}
-
-	// special code for #N support. I.e. naming a variable via an ID
-	long nameAsId(String name)
-	{
-		long id = Value.UNKNOWN_ID;
-		try
-		{
-			if (name.charAt(0) == '#')
-				id = Long.parseLong(name.substring(1));
-		}
-		catch(Exception e) 
-		{
-			id = Value.UNKNOWN_ID;
-		}
-		return id;
-	}
-
-	/**
-	 * Using the given id as a parent find the member named
-	 * name.
-	 * @throws NoSuchVariableException if id is UNKNOWN_ID
-	 */
-	Variable memberNamed(long id, String name) throws NoSuchVariableException, PlayerDebugException
-	{
-		Variable v = null;
-		Value parent = getSession().getWorkerSession(m_isolateId).getValue(id);
-
-		if (parent == null)
-			throw new NoSuchVariableException(name);
-
-		/* got a variable now return the member if any */
-		v = parent.getMemberNamed(getSession(), name);
-
-		return v;
-	}
-
-	/**
-	 * All the really good stuff about finding where name exists goes here!
-	 * 
-	 * If name is not null, then it implies that we use the existing
-	 * m_current to find a member of m_current.  If m_current is null
-	 * Then we need to probe variable context points attempting to locate
-	 * name.  When we find a match we set the m_current to this context
-	 *
-	 * If name is null then we simply return the current context.
-	 */
-	long determineContext(String name) throws PlayerDebugException
-	{
-		long id = Value.UNKNOWN_ID;
-
-		// have we already resolved our context...
-		if (m_current != null)
-		{
-			id = toValue().getId();
-		}
-
-		// nothing to go on, so we're done
-		else if (name == null)
-			;
-
-		// use the name and try and resolve where we are...
-		else
-		{
-			// Each stack frame has a root variable under (BASE_ID-depth)
-			// where depth is the depth of the stack.
-			// So we query for our current stack depth and use that 
-			// as the context for our base computation
-			long baseId = Value.BASE_ID;
-			int depth = ((Integer)m_cache.get(DebugCLI.DISPLAY_FRAME_NUMBER)).intValue();
-			baseId -= depth;
-
-			// obtain data about our current state 
-			Variable contextVar = null;
-			Value contextVal = null;
-			Value val = null;
-
-			// look for 'name' starting from local scope
-			if ( (val = locateParentForNamed(baseId, name, false)) != null)
-				;
-
-			// get the this pointer, then look for 'name' starting from that point
-			else if ( ( (contextVar = locateForNamed(baseId, "this", false)) != null ) &&  //$NON-NLS-1$
-					  ( setName("this") && (val = locateParentForNamed(contextVar.getValue().getId(), name, true)) != null ) ) //$NON-NLS-1$
-				;
-
-			// now try to see if 'name' exists off of _root
-			else if ( setName("_root") && (val = locateParentForNamed(Value.ROOT_ID, name, true)) != null ) //$NON-NLS-1$
-				;
-
-			// now try to see if 'name' exists off of _global
-			else if ( setName("_global") && (val = locateParentForNamed(Value.GLOBAL_ID, name, true)) != null ) //$NON-NLS-1$
-				;
-
-			// now try off of class level, if such a thing can be found
-			else if ( ( (contextVal = locate(Value.GLOBAL_ID, getCurrentPackageName(), false)) != null ) && 
-					  ( setName("_global."+getCurrentPackageName()) && (val = locateParentForNamed(contextVal.getId(), name, true)) != null ) ) //$NON-NLS-1$
-				;
-
-			// if we found it then stake this as our context!
-			if (val != null)
-			{
-				id = val.getId();
-				pushName(name);
-				lockName();
-			}
-		}
-		
-		return id;
-	}
-
-	/**
-	 * Performs a search for a member with the given name using the
-	 * given id as the parent variable.
-	 * 
-	 * If a match is found then, we return the parent variable of
-	 * the member that matched.  The proto chain is optionally traversed.
-	 * 
-	 * No exceptions are thrown
-	 */
-	Value locateParentForNamed(long id, String name, boolean traverseProto) throws PlayerDebugException
-	{
-		StringBuilder sb = new StringBuilder();
-
-		Variable var = null;
-		Value val = null;
-		try
-		{
-			var = memberNamed(id, name);
-
-			// see if we need to traverse the proto chain
-			while (var == null && traverseProto)
-			{
-				// first attempt to get __proto__, then resolve name
-				Variable proto = memberNamed(id, "__proto__"); //$NON-NLS-1$
- 				sb.append("__proto__"); //$NON-NLS-1$
-				if (proto == null)
-					traverseProto = false;
-				else
-				{
-					id = proto.getValue().getId();
-					var = memberNamed(id, name);
-					if (var == null)
-						sb.append('.');
-				}
-			}
-		}
-		catch(NoSuchVariableException nsv)
-		{
-			// don't worry about this one, it means variable with id couldn't be found
-		}
-		catch(NullPointerException npe)
-		{
-			// probably no session
-		}
-
-		// what we really want is the parent not the child variable
-		if (var != null)
-		{
-			pushName(sb.toString());
-			val = getSession().getWorkerSession(m_isolateId).getValue(id);
-		}
-
-		return val;
-	}
-
-	// variant of locateParentForNamed, whereby we return the child variable
-	Variable locateForNamed(long id, String name, boolean traverseProto) throws PlayerDebugException
-	{
-		Variable var = null;
-		Value v = locateParentForNamed(id, name, traverseProto);
-		if (v != null)
-		{
-			try
-			{
-				var = memberNamed(v.getId(), name);
-			}
-			catch(NoSuchVariableException nse)
-			{
-				v = null;
-			}
-		}
-
-		return var;
-	}
-
-	/**
-	 * Locates the member via a dotted name starting at the given id.
-	 * It will traverse any and all proto chains if necc. to find the name.
-	 */
-	Value locate(long startingId, String dottedName, boolean traverseProto) throws PlayerDebugException
-	{
-		if (dottedName == null)
-			return null;
-
-		// first rip apart the dottedName
-		StringTokenizer names = new StringTokenizer(dottedName, "."); //$NON-NLS-1$
-		Value val = getSession().getWorkerSession(m_isolateId).getValue(startingId);
-
-		while(names.hasMoreTokens() && val != null)
-			val = locateForNamed(val.getId(), names.nextToken(), traverseProto).getValue();
-
-		return val;
-	}
-
-	/*
-	 * @see flash.tools.debugger.expression.Context#toValue(java.lang.Object)
-	 */
-	public Value toValue(Object o)
-	{
-		// if o is a variable or a value already, then we're done!
-		if (o instanceof Value)
-			return (Value)o;
-		else if (o instanceof Variable)
-			return ((Variable)o).getValue();
-		else if (o instanceof InternalProperty)
-			return DValue.forPrimitive(((InternalProperty)o).m_value, m_isolateId);
-		else
-			return DValue.forPrimitive(o, m_isolateId);
-	}
-
-	public Value toValue()
-	{
-		return toValue(m_current);
-	}
-
-	public Session getSession()
-	{
-		return m_cache.getSession();
-	}
-
-	@Override
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/Extensions.java b/modules/fdbworkers/src/flex/tools/debugger/cli/Extensions.java
deleted file mode 100644
index a71994e..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/Extensions.java
+++ /dev/null
@@ -1,551 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.io.PrintWriter;
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.Map;
-
-import flash.localization.LocalizationManager;
-import flash.swf.tools.Disassembler;
-import flash.swf.types.ActionList;
-import flash.tools.ActionLocation;
-import flash.tools.debugger.Bootstrap;
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.PlayerDebugException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SuspendReason;
-import flash.tools.debugger.SuspendedException;
-import flash.tools.debugger.SwfInfo;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.concrete.DMessage;
-import flash.tools.debugger.concrete.DMessageCounter;
-import flash.tools.debugger.concrete.DModule;
-import flash.tools.debugger.concrete.DSuspendInfo;
-import flash.tools.debugger.concrete.DSwfInfo;
-import flash.tools.debugger.concrete.PlayerSession;
-import flash.tools.debugger.concrete.PlayerSessionManager;
-import flash.util.FieldFormat;
-
-/**
- * Extensions class is a singleton that contains
- * every cli method that does not conform to the 
- * API.  Thus we can easily remove these features
- * from the cli if the implementation does not
- * support these calls.
- */
-public class Extensions
-{
-	public final static String m_newline = System.getProperty("line.separator"); //$NON-NLS-1$
-
-	public static void doShowStats(DebugCLI cli) throws IllegalStateException
-	{
-		/* we do some magic casting */
-		Session session = cli.getSession();
-		StringBuilder sb = new StringBuilder();
-		try
-		{
-			PlayerSession p = (PlayerSession)session;
-			DMessageCounter cnt = p.getMessageCounter();
-
-			sb.append(getLocalizationManager().getLocalizedTextString("key16")); //$NON-NLS-1$
-			sb.append(m_newline);
-			for(int i=0; i<=DMessage.InSIZE; i++)
-			{
-				long amt = cnt.getInCount(i);
-				if (amt > 0)
-				{
-					sb.append('\n');
-					sb.append(DMessage.inTypeName(i));
-					sb.append(" = "); //$NON-NLS-1$
-					sb.append(amt);
-				}
-			}
-
-			sb.append("\n\n"); //$NON-NLS-1$
-			sb.append(getLocalizationManager().getLocalizedTextString("key17")); //$NON-NLS-1$
-			sb.append("\n"); //$NON-NLS-1$
-			for(int i=0; i<=DMessage.OutSIZE; i++)
-			{
-				long amt = cnt.getOutCount(i);
-				if (amt > 0)
-				{
-					sb.append('\n');
-					sb.append(DMessage.outTypeName(i));
-					sb.append(" = "); //$NON-NLS-1$
-					sb.append(amt);
-				}
-			}
-
-			sb.append('\n');
-			cli.out( sb.toString() );
-		}
-		catch(NullPointerException e)
-		{
-			throw new IllegalStateException();
-		}
-	}
-
-	public static void doShowFuncs(DebugCLI cli)
-	{
-		StringBuilder sb = new StringBuilder();
-
-		String arg = null;
-		FileInfoCache fileInfo = cli.getFileCache();
-
-		// we take an optional single arg which specifies a module
-		try
-		{
-			// let's wait a bit for the background load to complete
-			cli.waitForMetaData();
-
-			if (cli.hasMoreTokens())
-			{
-				arg = cli.nextToken();
-				int id = arg.equals(".") ? cli.propertyGet(DebugCLI.LIST_MODULE) : cli.parseFileArg(-1, arg); //$NON-NLS-1$
-
-				DModule m = (DModule)fileInfo.getFile(id, cli.getActiveIsolateId());
-                m.lineMapping(sb);
-			}
-			else
-			{
-				SourceFile[] ar = fileInfo.getFileList();
-				if (ar == null)
-					cli.err(getLocalizationManager().getLocalizedTextString("key18")); //$NON-NLS-1$
-				else
-                {
-                    for (int i = 0; ar != null && i < ar.length; i++)
-                    {
-                        DModule m = (DModule)ar[i];
-                        m.lineMapping(sb);
-                    }
-                }
-			}
-
-			cli.out(sb.toString());
-		}
-		catch(NullPointerException npe)
-		{
-			cli.err(getLocalizationManager().getLocalizedTextString("key19")); //$NON-NLS-1$
-		}
-		catch(ParseException pe)
-		{
-			cli.err(pe.getMessage());
-		}
-		catch(AmbiguousException ae)
-		{
-			cli.err(ae.getMessage());
-		}
-		catch(NoMatchException nme)
-		{
-			cli.err(nme.getMessage());
-		}
-		catch(InProgressException ipe)
-		{
-		    cli.err(getLocalizationManager().getLocalizedTextString("key20")); //$NON-NLS-1$
-		}
-	}
-
-	/**
-	 * Dump the content of internal variables
-	 */
-	public static void doShowProperties(DebugCLI cli)
-	{
-		StringBuilder sb = new StringBuilder();
-
-		Session session = cli.getSession();
-		for (String key: cli.propertyKeys())
-		{
-			int value = cli.propertyGet(key);
-			sb.append(key);
-			sb.append(" = "); //$NON-NLS-1$
-			sb.append(value);
-			sb.append('\n');
-		}
-
-		// session manager
-		{
-			PlayerSessionManager mgr = (PlayerSessionManager)Bootstrap.sessionManager();
-			sb.append(getLocalizationManager().getLocalizedTextString("key21")); //$NON-NLS-1$
-			sb.append('\n');
-			for (String key: mgr.keySet())
-			{
-				Object value = mgr.getPreferenceAsObject(key);
-				sb.append(key);
-				sb.append(" = "); //$NON-NLS-1$
-				sb.append(value);
-				sb.append('\n');
-			}
-		}
-
-		if (session != null)
-		{
-			PlayerSession psession = (PlayerSession)session;
-			sb.append(getLocalizationManager().getLocalizedTextString("key22")); //$NON-NLS-1$
-			sb.append('\n');
-			for (String key: psession.keySet())
-			{
-				Object value = psession.getPreferenceAsObject(key);
-				sb.append(key);
-				sb.append(" = "); //$NON-NLS-1$
-				sb.append(value);
-				sb.append('\n');
-			}
-		}
-
-		cli.out( sb.toString() );
-	}
-
-	/**
-	 * Dump the break reason and offset
-	 */
-	public static void doShowBreak(DebugCLI cli) throws NotConnectedException
-	{
-		int isolateId = cli.getActiveIsolateId();
-		cli.waitTilHalted(isolateId);
-		try
-		{
-			Session session = cli.getSession();
-			StringBuilder sb = new StringBuilder();
-			if (session.getWorkerSession(isolateId).isSuspended())
-			{
-				sb.append(getLocalizationManager().getLocalizedTextString("stopped")); //$NON-NLS-1$
-				sb.append(' ');
-				appendBreakInfo(cli, sb, true, isolateId);
-			}
-			else
-				sb.append(getLocalizationManager().getLocalizedTextString("key24")); //$NON-NLS-1$
-
-			cli.out( sb.toString() );
-		}
-		catch(NullPointerException npe)
-		{
-			cli.err(getLocalizationManager().getLocalizedTextString("key25")); //$NON-NLS-1$
-		}
-	}
-
-	// Extended low level break information
-	public static void appendBreakInfo(DebugCLI cli, StringBuilder sb, boolean includeFault, int isolateId) throws NotConnectedException
-	{
-		Session session = cli.getSession();
-		FileInfoCache fileInfo = cli.getFileCache();
-
-		int reason = session.suspendReason();
-		int offset = ((PlayerSession)session).getSuspendOffset();
-		int index = ((PlayerSession)session).getSuspendActionIndex();
-
-		SwfInfo info = null;
-		try { info = fileInfo.getSwfs(isolateId)[index]; } catch(ArrayIndexOutOfBoundsException oobe) {}
-		if (info != null)
-		{
-			Map<String, String> args = new HashMap<String, String>();
-			args.put("swfName", FileInfoCache.nameOfSwf(info) ); //$NON-NLS-1$
-			sb.append(getLocalizationManager().getLocalizedTextString("key35", args)); //$NON-NLS-1$
-			sb.append(' ');
-		}
-
-		Map<String, String> args = new HashMap<String, String>();
-		args.put("address", "0x" + FieldFormat.formatLongToHex(new StringBuilder(), offset, 8) + " (" + offset + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		sb.append(getLocalizationManager().getLocalizedTextString("atAddress", args)); //$NON-NLS-1$
-
-		if (includeFault)
-		{
-			args = new HashMap<String, String>();
-			StringBuilder reasonBuffer = new StringBuilder();
-			cli.appendReason(reasonBuffer, reason);
-			args.put("fault", reasonBuffer.toString() ); //$NON-NLS-1$
-			sb.append(' ');
-			sb.append(getLocalizationManager().getLocalizedTextString("haltedDueToFault", args)); //$NON-NLS-1$
-		}
-	}
-
-	// Raw direct call to Player
-	public static void doShowVariable(DebugCLI cli) throws PlayerDebugException
-	{
-		int isolateId = cli.getActiveIsolateId();
-		cli.waitTilHalted(isolateId);
-		try
-		{
-			// an integer followed by a variable name
-			Session session = cli.getSession();
-			long id = cli.nextLongToken();
-			String name = (cli.hasMoreTokens()) ? cli.nextToken() : null;
-
-			StringBuilder sb = new StringBuilder();
-			sb.append(name);
-			sb.append(" = "); //$NON-NLS-1$
-			Value v = ((PlayerSession)session).getValue(id, name, isolateId);
-			ExpressionCache.appendVariableValue(sb, v, isolateId);
-			cli.out( sb.toString() );
-		}
-		catch(NullPointerException npe)
-		{
-			cli.err(getLocalizationManager().getLocalizedTextString("key26")); //$NON-NLS-1$
-		}
-	}
-
- 	public static void doDisassemble(DebugCLI cli) throws PlayerDebugException
- 	{
-		/* currentXXX may NOT be invalid! */
-		int currentModule = cli.propertyGet(DebugCLI.LIST_MODULE);
-		int currentLine = cli.propertyGet(DebugCLI.LIST_LINE);
-		int currentIsolate = cli.propertyGet(DebugCLI.LIST_WORKER);
- 
-		String arg1 = null;
-		int module1 = currentModule;
-		int line1 = currentLine;
- 
-		String arg2 = null;
-		int line2 = currentLine;
- 
- 		boolean functionNamed = false;
-		int numLines = 0;
- 		try
- 		{
-			FileInfoCache fileInfo = cli.getFileCache();
-			Session session = cli.getSession();
-			if (cli.hasMoreTokens())
- 			{
-				arg1 = cli.nextToken();
-				if (arg1.equals("-")) //$NON-NLS-1$
-				{
- 					// move back one line
-					line1 = line2 = line1 - 1;
-				}
-				else
-				{
-					int[] result = cli.parseLocationArg(currentModule, currentLine, arg1, currentIsolate);
-					module1 = result[0];
-					line2 = line1 = result[1];
- 					functionNamed = (result[2] == 0) ? false : true;
- 
-					if (cli.hasMoreTokens())
-					{
-						arg2 = cli.nextToken();
-						line2 = cli.parseLineArg(module1, arg2);
-					}
-				}
- 			}
- 			else
- 			{
- 				// since no parms test for valid location if none use players concept of where we stopped
- 				if( fileInfo.getFile(currentModule, currentIsolate) == null)
- 				{
- 					int isolateId = cli.getActiveIsolateId();
- 					//here we simply use the players concept of suspsend
- 					DSuspendInfo info = ((PlayerSession)session).getSuspendInfoIsolate(isolateId);
- 					int at = info.getOffset();
- 					int which = info.getActionIndex();
- 					int until = info.getNextOffset();
- 					if (info.getReason() == SuspendReason.Unknown)
- 						throw new SuspendedException();
- 
- 					SwfInfo swf = fileInfo.getSwfs(isolateId)[which];
- 					outputAssembly(cli, (DSwfInfo)swf, at, until);
- 					throw new AmbiguousException(getLocalizationManager().getLocalizedTextString("key27")); //$NON-NLS-1$
- 				}
- 			}			
- 
- 			/**
- 			 * Check for a few error conditions, otherwise we'll write a listing!
- 			 */
- 			if (cli.hasMoreTokens())
- 			{
- 				cli.err(getLocalizationManager().getLocalizedTextString("key28")); //$NON-NLS-1$
- 			}
- 			else
- 			{
- 				SourceFile file = fileInfo.getFile(module1);
- 				numLines = file.getLineCount();
- 
- 				// pressing return is ok, otherwise throw the exception
- 				if (line1 > numLines && arg1 != null)
- 					throw new IndexOutOfBoundsException();
- 
- 				/* if no arg2 then user list a single line */
- 				if (arg2 == null)
- 					line2 = line1;
- 
- 				/* adjust our range of lines to ensure we conform */
- 				if (line1 < 1)
- 				{
- 					/* shrink line 1, grow line2 */
- 					line2 += -(line1 - 1);
- 					line1 = 1;
- 				}
- 
- 				if (line2 > numLines)
- 					line2 = numLines;
- 
-				//			    System.out.println("1="+module1+":"+line1+",2="+module2+":"+line2+",num="+numLines+",half="+half);
- 
- 				/* nothing to display */
- 				if (line1 > line2)
- 					throw new IndexOutOfBoundsException();
- 
- 				/* now dump the mixed source / assembly */
- 				// now lets find which swf this in 
- 				DSwfInfo swf = (DSwfInfo)fileInfo.swfForFile(file, cli.getActiveIsolateId());
- 				ActionLocation lStart = null;
- 				ActionLocation lEnd = null;
- 
- 				if (swf == null)
-				{
-					Map<String, String> args = new HashMap<String, String>();
-					args.put("arg3", file.getName()); //$NON-NLS-1$
- 					cli.err(getLocalizationManager().getLocalizedTextString("key29", args)); //$NON-NLS-1$
-				}
- 				else if (functionNamed)
- 				{
- 					// if we name a function just dump the whole thing without source.
- 					int offset = file.getOffsetForLine(line1);
- 					lStart = swf.locate(offset);
- 					if (lStart.function == null)
- 						cli.err(getLocalizationManager().getLocalizedTextString("key30")); //$NON-NLS-1$
- 					else
- 					{
- 						// create a psudeo action list from which to disasemble the function
- 						ActionList al = new ActionList(true);
- 						al.setActionOffset(0, lStart.function);
- 						lStart.actions = al;
- 						lStart.at = 0;
- 						lEnd = new ActionLocation();
- 						lEnd.actions = al;
- 						lEnd.at = 0;
- 						outputAssembly(cli, swf, lStart, lEnd);
- 					}
- 				}
- 				else
- 				{
- 					ActionLocation lastEnd = null;
- 					for(int i=line1; i<=line2; i++)
- 					{
- 						int offset = file.getOffsetForLine(i);
- 
- 						// locate the action list associated with this of the swf
- 						if (offset != 0)
- 						{
- 							// get the starting point and try to locate a nice ending
- 							lStart = swf.locate(offset);
- 							lEnd = swf.locateSourceLineEnd(lStart);
- 
- 							// now see if we skipped some assembly between source lines
- 							if (lastEnd != null)
- 							{
- 								lastEnd.at++;  // point our pseudo start to the next action
- 
- 								// new actions list so attempt to find the end of source in the old actions list
- 								if (lastEnd.actions != lStart.actions && lastEnd.actions.size() != lastEnd.at)
- 								{
- 									String atString = Integer.toHexString(lastEnd.actions.getOffset(lastEnd.at));
-									Map<String, String> args = new HashMap<String, String>();
-									args.put("arg4", atString); //$NON-NLS-1$
- 									cli.out(getLocalizationManager().getLocalizedTextString("key31", args)); //$NON-NLS-1$
- 
-  									// we are missing some of the dissassembly, so back up a bit and dump it out
- 									ActionLocation gapEnd = swf.locateSourceLineEnd(lastEnd);
- 									outputAssembly(cli, swf, lastEnd, gapEnd);
- 								}
- 								else if (lastEnd.at < lStart.at)
- 								{
- 									// same action list but we skipped some instructions 
- 									ActionLocation gapEnd = new ActionLocation(lStart);
- 									gapEnd.at--;
- 									outputAssembly(cli, swf, lastEnd, gapEnd);
- 								}
- 							}
- 							lastEnd = lEnd;
- 						}
- 
- 						// dump source
- 						cli.outputSource(module1, i, file.getLine(i));
- 						
- 						// obtain the offset, locate it in the swf
- 						if (offset != 0)
- 							outputAssembly(cli, swf, lStart, lEnd);
- 					}
- 
- 					/* save away valid context */
- 					cli.propertyPut(DebugCLI.LIST_MODULE, module1);
- 					cli.propertyPut(DebugCLI.LIST_LINE, line2 + 1);  // add one
- 					cli.m_repeatLine = "disassemble";   /* allow repeated listing by typing CR */ //$NON-NLS-1$
- 				}
- 			}
- 		}
-		catch(IndexOutOfBoundsException iob)
- 		{
- 			String name = "#"+module1; //$NON-NLS-1$
-			Map<String, String> args = new HashMap<String, String>();
-			args.put("arg5", Integer.toString(line1)); //$NON-NLS-1$
-			args.put("arg6", name); //$NON-NLS-1$
-			args.put("arg7", Integer.toString(numLines)); //$NON-NLS-1$
- 			cli.err(getLocalizationManager().getLocalizedTextString("key32", args)); //$NON-NLS-1$
- 		}
- 		catch(AmbiguousException ae)
- 		{
- 			cli.err(ae.getMessage());
- 		}
- 		catch(NullPointerException npe)
- 		{
- 			cli.err(getLocalizationManager().getLocalizedTextString("key33")); //$NON-NLS-1$
- 		}
- 		catch(ParseException pe)
- 		{
- 			cli.err(pe.getMessage());
- 		}
-		catch(NoMatchException nme)
-		{
-			cli.err(nme.getMessage());
-		}
- 		catch(SuspendedException se)
- 		{
-			cli.err(getLocalizationManager().getLocalizedTextString("key34")); //$NON-NLS-1$
- 		}
- 	}
- 
- 	private static LocalizationManager getLocalizationManager()
-	{
- 		return DebugCLI.getLocalizationManager();
-	}
-
-	/**
- 	 * Disassemble part of the swf to the output 
- 	 */
- 	public static ActionLocation outputAssembly(DebugCLI cli, DSwfInfo swf, int start, int end)
- 	{
- 		// first we need to locate the action list associated with this
- 		// portion of the swf
- 		ActionLocation lStart = swf.locate(start);
- 		ActionLocation lEnd = (end > -1) ? swf.locate(end) : swf.locateSourceLineEnd(lStart);
- 
- 		return outputAssembly(cli, swf, lStart, lEnd);
- 	}
- 
- 	public static ActionLocation outputAssembly(DebugCLI cli, SwfInfo info, ActionLocation lStart, ActionLocation lEnd)
- 	{
- 		// now make sure our actions lists are the same (i.e we haven't spanned past one tag)
- 		if (lStart.actions != lEnd.actions)
- 			lEnd.at = lStart.actions.size()-1;
- 		
- 		Disassembler.disassemble(lStart.actions, lStart.pool, lStart.at, lEnd.at, new PrintWriter(cli.getOut()));
- 		return lEnd;
- 	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/ExtensionsDisabled.java b/modules/fdbworkers/src/flex/tools/debugger/cli/ExtensionsDisabled.java
deleted file mode 100644
index caf33af..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/ExtensionsDisabled.java
+++ /dev/null
@@ -1,37 +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.
- */
-
-package flex.tools.debugger.cli;
-
-/**
- * ExtensionsDisabled class is a singleton that contains
- * every cli method that does not conform to the 
- * API.  There are two implementations of this singleton
- * In Extensions the full code is provided in this class
- * ExtensionsDisabled emtpy stubs are provided that allow
- * for DebugCLI to be fully compliant with the API 
- */
-public class ExtensionsDisabled
-{
-	public static void doShowStats(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
-	public static void doShowFuncs(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
-	public static void doShowProperties(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
-	public static void doShowBreak(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
-	public static void appendBreakInfo(DebugCLI cli, StringBuilder sb, boolean includeFault) { cli.out("Command not supported."); } //$NON-NLS-1$
-	public static void doShowVariable(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
- 	public static void doDisassemble(DebugCLI cli) { cli.out("Command not supported."); } //$NON-NLS-1$
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/FaultActions.java b/modules/fdbworkers/src/flex/tools/debugger/cli/FaultActions.java
deleted file mode 100644
index 73bc074..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/FaultActions.java
+++ /dev/null
@@ -1,228 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.HashMap;
-
-import flash.localization.LocalizationManager;
-import flash.tools.debugger.events.DivideByZeroFault;
-import flash.tools.debugger.events.ExceptionFault;
-import flash.tools.debugger.events.InvalidTargetFault;
-import flash.tools.debugger.events.InvalidURLFault;
-import flash.tools.debugger.events.InvalidWithFault;
-import flash.tools.debugger.events.ProtoLimitFault;
-import flash.tools.debugger.events.RecursionLimitFault;
-import flash.tools.debugger.events.ScriptTimeoutFault;
-import flash.tools.debugger.events.StackUnderFlowFault;
-
-/**
- * FaultActions proivdes a convenient wrapper for housing the user specified
- * behaviour for a set of faults (aka text strings)
- * 
- * The underlying data structure is a HashMap that maps strings (i.e. fault
- * names) to Integers.  The integers are used as bit fields for holding
- * the state of setting per fault.
- * 
- * Add new actions by calling addAction("name") 
- */
-public class FaultActions
-{
-	HashMap<String, Integer> m_faults = new HashMap<String, Integer>();
-	HashMap<String, String> m_description = new HashMap<String, String>();  // @todo should really use an object within the faults map for this 
-	HashMap<String, Integer> m_actions = new HashMap<String, Integer>();
-
-	int m_nextBitForAction = 0x1;  // the next bit to use for the action
-
-	private FaultActions() {}
-
-	Integer		get(String o)			{ return m_faults.get(o); }
-	Integer		getAction(String o)		{ return m_actions.get(o); }
-	void		put(String k, Integer v){ m_faults.put(k,v); }
-
-	/* getters */
-	public void			clear()					{ m_faults.clear(); }
-	public int			size()					{ return m_faults.size(); }
-	public Object[]     names()					{ return m_faults.keySet().toArray(); }
-	public Object[]     actions()				{ return m_actions.keySet().toArray(); }
-	public boolean		exists(String k)		{ return (get(k) == null) ? false : true;  }
-
-	public void			putDescription(String k, String v)	{ m_description.put(k,v);	}
-	public String		getDescription(String k)			{ return (m_description.get(k) == null) ? "" :  m_description.get(k);	} //$NON-NLS-1$
-
-	/**
-	 * Add a new fault to the table, with all actions disabled
-	 */
-	public void add(String k)				
-	{ 
-		put(k, new Integer(0)); 
-	}
-
-	/**
-	 * Add a new action type to the table 
-	 */
-	public void addAction(String k)	
-	{ 
-		Integer v = new Integer(m_nextBitForAction++);
-		m_actions.put(k,v); 
-	}
-
-	/**
-	 * Check if the given fault has the action set or not 
-	 */
-	public boolean is(String fault, String action)
-	{
-		int mask  = getAction(action).intValue();
-		int bits = get(fault).intValue();
-
-		boolean set = ( (bits & mask) == mask ) ? true : false;
-		return set;
-	}
-
-	/**
-	 * Sets the action bits as appropriate for the given fault 
-	 * and action 
-	 */
-	public int action(String fault, String action)
-	{
-		// first check if fault is legal
-		Integer current = get(fault);
-		if (current == null)
-			throw new IllegalArgumentException(fault);			
-		
-		// check for no?
-		boolean no = action.startsWith("no"); //$NON-NLS-1$
-		if (no)
-			action = action.substring(2);
-
-		// do the search for action 
-		Integer bit = getAction(action);
-		if (bit == null)
-			throw new IllegalArgumentException(action);
-
-		// now do the math
-		int old = current.intValue();
-		int mask = bit.intValue();
-
-		int n = (old & (~mask));  // turn it off
-		n = (no) ? n : (n | mask); // leave it off or turn it on
-
-		put(fault, new Integer(n));
-
-		return n;
-	}
-	
-	public static class FaultActionsBuilder {
-
-		private final LocalizationManager localizationManager;
-
-		public FaultActionsBuilder(LocalizationManager localizationManager) {
-			super();
-			this.localizationManager = localizationManager;
-		}
-
-		public FaultActions build() {
-			FaultActions faultActions = new FaultActions();
-			populateFaultTable(faultActions);
-			return faultActions;
-		}
-
-		private void populateFaultTable(FaultActions faultActions) {
-			// possible actions for our fault table
-			faultActions.addAction("stop"); //$NON-NLS-1$
-			faultActions.addAction("print"); //$NON-NLS-1$
-
-			// the faults we support
-			faultActions.add(InvalidTargetFault.name);
-			faultActions.add(RecursionLimitFault.name);
-			faultActions.add(InvalidWithFault.name);
-			faultActions.add(ProtoLimitFault.name);
-			faultActions.add(InvalidURLFault.name);
-			faultActions.add(ExceptionFault.name);
-			faultActions.add(StackUnderFlowFault.name);
-			faultActions.add(DivideByZeroFault.name);
-			faultActions.add(ScriptTimeoutFault.name);
-			// faultActions.add(ConsoleErrorFault.name);
-
-			// nice description of the faults
-			faultActions.putDescription(
-					InvalidTargetFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"invalidTargetFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					RecursionLimitFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"recursionLimitFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					InvalidWithFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"invalidWithFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					ProtoLimitFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"protoLimitFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					InvalidURLFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"invalidUrlFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					ExceptionFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"exceptionFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					StackUnderFlowFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"stackUnderflowFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					DivideByZeroFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"divideByZeroFault")); //$NON-NLS-1$
-			faultActions.putDescription(
-					ScriptTimeoutFault.name,
-					getLocalizationManager().getLocalizedTextString(
-							"scriptTimeoutFault")); //$NON-NLS-1$
-			// faultActions.putDescription(ConsoleErrorFault.name,
-			// "ActionScript recoverable error");
-
-			// default values for the faults
-			faultActions.action(InvalidTargetFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(InvalidTargetFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(RecursionLimitFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(RecursionLimitFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(InvalidWithFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(InvalidWithFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(ProtoLimitFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(ProtoLimitFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(InvalidURLFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(InvalidURLFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(ExceptionFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(ExceptionFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(StackUnderFlowFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(StackUnderFlowFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(DivideByZeroFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(DivideByZeroFault.name, "print"); //$NON-NLS-1$
-			faultActions.action(ScriptTimeoutFault.name, "stop"); //$NON-NLS-1$
-			faultActions.action(ScriptTimeoutFault.name, "print"); //$NON-NLS-1$
-			//			faultActions.action(ConsoleErrorFault.name, "print"); //$NON-NLS-1$
-			//			faultActions.action(ConsoleErrorFault.name, "stop"); //$NON-NLS-1$
-		}
-
-		private LocalizationManager getLocalizationManager() {
-			return localizationManager;
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/FileInfoCache.java b/modules/fdbworkers/src/flex/tools/debugger/cli/FileInfoCache.java
deleted file mode 100644
index ca13c90..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/FileInfoCache.java
+++ /dev/null
@@ -1,558 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-
-import flash.tools.debugger.InProgressException;
-import flash.tools.debugger.Isolate;
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.SourceFile;
-import flash.tools.debugger.SwfInfo;
-import flash.util.IntMap;
-
-/**
- * FileInfoCache manages a list of files that are unique
- * across multiple swfs.
- */
-public class FileInfoCache implements Comparator<SourceFile>
-{
-	Session m_session;
-
-	/**
-	 * We can get at files by module id or path
-	 */
-	IntMap				m_byInt = new IntMap();
-	HashMap<Integer, IntMap> m_isolateState = new HashMap<Integer, IntMap> ();
-	
-	private IntMap getIsolateState(int isolateId) {
-		IntMap isolateState = null;
-		if (!m_isolateState.containsKey(isolateId)) {
-			isolateState = new IntMap();
-			m_isolateState.put(isolateId, isolateState);
-		}
-		else
-			isolateState = m_isolateState.get(isolateId);
-		return isolateState;
-	}
-	
-	SourceFile[]		m_files = null;
-	SourceFile[]		m_isolateFiles = null;
-	SwfInfo				m_swfFilter = null;
-	int					m_swfsLoaded = 0;
-    boolean             m_dirty = false;
-    int lastActiveIsolate = Isolate.DEFAULT_ID;
-
-	public FileInfoCache() {
-		
-	}
-
-	public void			bind(Session s)									{ setSession(s); }
-	public void			unbind()										{ m_session = null; }
-	
-	public SourceFile getFile(int i) {
-		return getFile(i, Isolate.DEFAULT_ID);
-	}
-
-	public SourceFile getFile(int i, int isolateId) {
-		populate();
-		if (isolateId == Isolate.DEFAULT_ID)
-			return (SourceFile) m_byInt.get(i);
-		else
-			return (SourceFile)getIsolateState(isolateId).get(i);
-	}
-	
-	public SourceFile[] getFileList() {
-		populate();
-		return m_files;
-	}
-	
-	public SourceFile[] getFileList(int isolateId) {
-		populate();
-		if (isolateId == Isolate.DEFAULT_ID)
-			return m_files;
-		else if (isolateId != lastActiveIsolate) {
-			buildIsolateFiles(isolateId);
-		}
-		return m_isolateFiles;
-	}
-	
-	private void buildIsolateFiles(int isolateId) {
-		SwfInfo[] swfs = getSwfs(isolateId);
-		boolean worked = true; // check that all worked correctly
-		ArrayList<SourceFile> files = new ArrayList<SourceFile>();
-
-		for(int i=0; i<swfs.length; i++)
-		{
-			if (swfs[i] != null)
-				worked = loadSwfFiles(files, swfs[i]) ? worked : false;
-		}
-
-		// trim the file list
-		ArrayList<SourceFile> fa = trimFileList(files);
-		m_isolateFiles = fa.toArray( new SourceFile[fa.size()] );
-
-		// sort this array in place so calls to getFileList will be ordered
-		Arrays.sort(m_isolateFiles, this);
-	}
-
-	public Iterator getAllFiles(int isolateId) {
-		populate();		
-		if (isolateId == Isolate.DEFAULT_ID)
-			return m_byInt.iterator();
-		else
-			return getIsolateState(isolateId).iterator();
-	}
-	
-    public SwfInfo      getSwfFilter()                                  { return m_swfFilter; }
-    public boolean      isSwfFilterOn()                                 { return (m_swfFilter != null); }
-    public void         setDirty()                                      { m_dirty = true; }
-
-	void setSession(Session s)
-	{
-		m_session = s;
-		m_swfFilter = null;
-		clear();
-	}
-	
-	SwfInfo[] getAllSwfs() {
-		ArrayList<SwfInfo> result = new ArrayList<SwfInfo>();
-		
-		for ( Isolate isolate : m_session.getWorkers()) {
-			SwfInfo[] swfs = new SwfInfo[0];
-			try {
-				swfs = m_session.getWorkerSession(isolate.getId()).getSwfs();
-			} catch (NoResponseException e) {
-				swfs = new SwfInfo[0];
-			}
-			
-			for (SwfInfo swf : swfs)
-				result.add(swf);
-		}
-		
-		return result.toArray(new SwfInfo[0]);
-	}
-
-	void populate()
-	{
-		// do we have a new swf to load?
-		if (m_session != null && (m_dirty || getAllSwfs().length > m_swfsLoaded))
-			reloadCache();
-	}
-
-	void reloadCache()
-	{
-		clear();
-		loadCache();
-        m_dirty = false;
-	}
-
-	void clear()
-	{
-		m_byInt.clear();
-		m_isolateState.clear();
-		m_files = null;
-	}
-
-	/**
-	 * Determine if the given SourceFile is in the current fileList
-	 */
-	public boolean inFileList(SourceFile f)
-	{
-		boolean isIt = false;
-
-		SourceFile[] files = getFileList();
-		for(int i=0; i<files.length && !isIt; i++)
-		{
-			if (files[i] == f)
-				isIt = true;
-		}
-		return isIt;
-	}
-
-	/**
-	 * Go out to the session and request a list of files
-	 * But we dump ones that have a name collision.
-	 * Also if selectedSwf is set then we only add files
-	 * that are contained within the given swf.
-	 */
-	void loadCache()
-	{
-		boolean worked = true; // check that all worked correctly
-		ArrayList<SourceFile> files = new ArrayList<SourceFile>();
-		SwfInfo[] swfs = getAllSwfs();
-		for(int i=0; i<swfs.length; i++)
-		{
-			if (swfs[i] != null)
-				worked = loadSwfFiles(files, swfs[i]) ? worked : false;
-		}
-
-		// trim the file list
-		ArrayList<SourceFile> fa = trimFileList(files);
-		m_files = fa.toArray( new SourceFile[fa.size()] );
-
-		// sort this array in place so calls to getFileList will be ordered
-		Arrays.sort(m_files, this);
-
-		// mark our cache complete if all was good.
-		if (worked)
-			m_swfsLoaded = swfs.length;
-	}
-
-	boolean loadSwfFiles(ArrayList<SourceFile> ar, SwfInfo swf)
-	{
-		boolean worked = true;
-		try
-		{
-			// @todo should we include unloaded swfs?
-			SourceFile[] files = swf.getSourceList(m_session);
-			ar.ensureCapacity(ar.size()+files.length);
-
-			// add each file to our global source file IntMap and our list
-			for(int i=0; i<files.length; i++)
-			{
-				putFile(files[i], swf.getIsolateId());
-				ar.add(files[i]);
-			}
-		}
-		catch(InProgressException ipe)
-		{
-			// can't load this one, its not ready yet
-			worked = false;
-		}
-		return worked;
-	}
-
-	/**
-	 * Walk the file list looking for name collisions.
-	 * If we find one, then we remove it
-	 */
-	ArrayList<SourceFile> trimFileList(ArrayList<SourceFile> files)
-	{
-		HashMap<String, String> names = new HashMap<String, String>();
-		ArrayList<SourceFile> list = new ArrayList<SourceFile>();
-
-		int size = files.size();
-		for(int i=0; i<size; i++)
-		{
-			boolean addIt = false;
-
-			SourceFile fi = files.get(i);
-			// no filter currently in place so we add the file as long
-			// as no duplicates exist.  We use the original Swd full
-			// name for matching.
-			String fName = fi.getRawName();
-			if (m_swfFilter == null)
-			{
-				// If it exists, then we don't add it!
-				if (names.get(fName) == null)
-					addIt = true;
-			}
-			else
-			{
-				// we have a filter in place so, see
-				// if the source file is in our currently
-				// selected swf.
-				addIt = m_swfFilter.containsSource(fi);
-			}
-
-			// did we mark this one to add?
-			if (addIt)
-			{
-				names.put(fName, fName);
-				list.add(fi);
-			}
-		}
-		return list;
-	}
-	
-	/**
-	 * All files from all swfs are placed into our byInt map
-	 * since we know that ids are unique across the entire
-	 * Player session.
-	 *
-	 * This is also important in the case that the player
-	 * halts in one of these files, that the debugger
-	 * be able to locate the SourceFile so that we can
-	 * display the correct context for the user.
-	 */
-	void putFile(SourceFile s, int isolateId)
-	{
-		int i = s.getId();
-		if (isolateId == Isolate.DEFAULT_ID)
-			m_byInt.put(i, s);
-		else
-			getIsolateState(isolateId).put(i, s);
-	}
-
-	/**
-	 * Attempt to set a swf as a filter
-	 * for the file list that we create
-	 */
-	public boolean setSwfFilter(String swfName)
-	{
-		// look for a match in our list
-		boolean worked = false;
-		if (swfName == null)
-		{
-			m_swfFilter = null;
-			worked = true;
-		}
-		else
-		{
-			SwfInfo[] swfs = getAllSwfs();
-			for(int i=0; i<swfs.length; i++)
-			{
-				SwfInfo e = swfs[i];
-				if (e != null && nameOfSwf(e).equalsIgnoreCase(swfName))
-				{
-					worked = true;
-					m_swfFilter = e;
-					break;
-				}
-			}
-		}
-
-		// reload if it worked
-		if (worked)
-			reloadCache();
-
-		return worked;
-	}
-
-	// list all swfs we know about
-	public SwfInfo[] getSwfs(int isolateId)
-	{
-		return getSwfsIsolate(isolateId);
-	}
-	
-	public SwfInfo[] getSwfsIsolate(int isolateId)
-	{
-		SwfInfo[] swfs = null;
-		try
-		{
-			swfs = m_session.getWorkerSession(isolateId).getSwfs();
-		}
-		catch(NoResponseException nre)
-		{
-			swfs = new SwfInfo[] {};  // oh bery bad
-		}
-		return swfs;
-	}
-
-	/**
-	 * Given a SourceFile locate the swf which it came from
-	 */
-	public SwfInfo swfForFile(SourceFile f, int isolateId)
-	{
-		// We use the id to determine which swf this source files resides in
-		int id = f.getId();
-		SwfInfo info = null;
-		SwfInfo[] swfs = getSwfs(isolateId);//getAllSwfs();
-		for(int i=0; ( i<swfs.length && (info == null) ); i++)
-		{
-			if (swfs[i] != null && swfs[i].containsSource(f))
-				info = swfs[i];
-		}
-		return info;
-	}
-
-	// locate the name of the swf
-	public static String nameOfSwf(SwfInfo e)
-	{
-		int at = -1;
-		String name = e.getUrl();
-		if ( (at = e.getUrl().lastIndexOf('/')) > -1)
-			name = e.getUrl().substring(at+1);
-		if ( (at = e.getUrl().lastIndexOf('\\')) > -1)
-			name = e.getUrl().substring(at+1);
-		else if ( (at = e.getPath().lastIndexOf('\\')) > -1)
-			name = e.getPath().substring(at+1);
-		else if ( (at = e.getPath().lastIndexOf('/')) > -1)
-			name = e.getPath().substring(at+1);
-
-		// now rip off any trailing ? options
-		at = name.lastIndexOf('?');
-		name = (at > -1) ? name.substring(0, at) : name;
-
-		return name;
-	}
-
-	// locate the name of the swf
-	public static String shortNameOfSwf(SwfInfo e)
-	{
-		String name = nameOfSwf(e);
-
-		// now strip off any leading path
-		int at = -1;
-		if ( (at = name.lastIndexOf('/')) > -1)
-			name = name.substring(at+1);
-		else if ( (at = name.lastIndexOf('\\')) > -1)
-			name = name.substring(at+1);
-		return name;
-	}
-
-    /**
-     * Given the URL of a specfic swf determine
-     * if there is a file within it that appears
-     * to be the same as the given source file
-     * @param f
-     * @return
-     */
-    public SourceFile similarFileInSwf(SwfInfo info, SourceFile f) throws InProgressException
-    {
-        SourceFile hit = null;
-		SourceFile[] files = info.getSourceList(m_session);
-		if (!info.isProcessingComplete())
-			throw new InProgressException();
-
-		for(int i=0; i<files.length; i++)
-		{
-			if (filesMatch(f, files[i]))
-				hit = files[i];
-		}
-        return hit;
-    }
-
-	/**
-	 * Comparator interface for sorting SourceFiles
-	 */
-	public int compare(SourceFile o1, SourceFile o2)
-	{
-		String n1 = o1.getName();
-		String n2 = o2.getName();
-
-		return n1.compareTo(n2);
-	}
-
-    /**
-     * Compare two files and determine if they are the same.
-     * Our criteria included only line count package names
-     * and the name of the class itself.  If there are
-     * any other differences then we won't be able to detect
-     * them.  We should probably do something like an MD5
-     * computation on the characters in ScriptText. Then
-     * we'd really be sure of a match.
-     * @param a first file to compare
-     * @param b second file to compare
-     * @return  true if files appear to be the same
-     */
-    public boolean filesMatch(SourceFile a, SourceFile b)
-    {
-        boolean yes = true;
-
-		if (a == null || b == null)
-			yes = false;
-        else if (a.getPackageName().compareTo(b.getPackageName()) != 0)
-            yes = false;
-        else if (a.getName().compareTo(b.getName()) != 0)
-            yes = false;
-        else if (a.getLineCount() != b.getLineCount()) // warning, this is sometimes expensive, so do it last
-            yes = false;
-
-        return yes;
-    }
-    /**
-     * Return a array of SourceFiles whose names match
-     * the specified string. The array is sorted by name.
-	 * The input can be mx.controls.xxx which will
-     */
-    public SourceFile[] getFiles(String matchString)
-    {
-        boolean doStartsWith = false;
-        boolean doIndexOf = false;
-        boolean doEndsWith = false;
-
-        boolean leadingAsterisk = matchString.startsWith("*") && matchString.length() > 1; //$NON-NLS-1$
-        boolean trailingAsterisk = matchString.endsWith("*"); //$NON-NLS-1$
-        boolean usePath = matchString.indexOf('.') > -1;
-
-        if (leadingAsterisk && trailingAsterisk)
-        {
-            matchString = matchString.substring(1, matchString.length() - 1);
-            doIndexOf = true;
-        }
-        else if (leadingAsterisk)
-        {
-            matchString = matchString.substring(1);
-            doEndsWith = true;
-        }
-        else if (trailingAsterisk)
-        {
-            matchString = matchString.substring(0, matchString.length() - 1);
-            doStartsWith = true;
-        }
-		else if (usePath)
-		{
-			doIndexOf = true;
-		}
-		else
-        {
-            doStartsWith = true;
-        }
-
-		SourceFile[] files = getFileList();
-        ArrayList<SourceFile> fileList = new ArrayList<SourceFile>();
-        int n = files.length;
-		int exactHitAt = -1;
-		// If the matchString already starts with "." (e.g. ".as" or ".mxml"), then dotMatchString
-		// will be equal to matchString; otherwise, dotMatchString will be "." + matchString
-		String dotMatchString = (matchString.startsWith(".")) ? matchString : ("." + matchString); //$NON-NLS-1$ //$NON-NLS-2$
-        for (int i = 0; i < n; i++)
-        {
-            SourceFile sourceFile = files[i];
-			boolean pathExists = (usePath && sourceFile.getFullPath().matches(".*[/\\\\].*")); //$NON-NLS-1$
-            String name = pathExists ? sourceFile.getFullPath() : sourceFile.getName();
-
-			// if we are using the full path string, then prefix a '.' to our matching string so that abc.as and Gabc.as don't both hit
-			String match = (usePath && pathExists) ? dotMatchString : matchString;
-
-			name = name.replace('/', '.');  // get rid of path identifiers and use dots
-			name = name.replace('\\', '.'); // would be better to modify the input string, but we don't know which path char will be used.
-
-			// exact match? We are done
-			if (name.equals(match))
-			{
-				exactHitAt = i;
-				break;
-			}
-            else if (doStartsWith && name.startsWith(match))
-                fileList.add(sourceFile);
-			else if (doEndsWith && name.endsWith(match))
-                fileList.add(sourceFile);
-			else if (doIndexOf && name.indexOf(match) > -1)
-				fileList.add(sourceFile);
-        }
-
-		// trim all others if we have an exact file match
-		if (exactHitAt > -1)
-		{
-			fileList.clear();
-			fileList.add(files[exactHitAt]);
-		}
-
-		SourceFile[] fileArray = fileList.toArray( new SourceFile[fileList.size()] );
-		Arrays.sort(fileArray, this);
-        return fileArray;
-    }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/Help.java b/modules/fdbworkers/src/flex/tools/debugger/cli/Help.java
deleted file mode 100644
index b6272bf..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/Help.java
+++ /dev/null
@@ -1,91 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-
-public class Help
-{
-    private Help()
-    {
-    }
-
-    public static InputStream getResourceAsStream()
-    {
-		List<String> names = calculateLocalizedFilenames("fdbhelp", ".txt", Locale.getDefault()); //$NON-NLS-1$ //$NON-NLS-2$
-		for (int i=names.size()-1; i>=0; --i) {
-			InputStream stm = Help.class.getResourceAsStream(names.get(i));
-			if (stm != null) {
-				return stm;
-			}
-		}
-		return null;
-    }
-
-    /**
-     * Returns an array of filenames that might match the given baseName and locale.
-     * For example, if baseName is "fdbhelp", the extension is ".txt", and the locale
-     * is "en_US", then the returned array will be (in this order):
-     * 
-     * <ul>
-     *  <li> <code>fdbhelp.txt</code> </li>
-     *  <li> <code>fdbhelp_en.txt</code> </li>
-     * 	<li> <code>fdbhelp_en_US.txt</code> </li>
-     * </ul>
-     */
-    private static List<String> calculateLocalizedFilenames(String baseName, String extensionWithDot, Locale locale) {
-    	List<String> names = new ArrayList<String>();
-        String language = locale.getLanguage();
-        String country = locale.getCountry();
-        String variant = locale.getVariant();
-
-        names.add(baseName + extensionWithDot);
-
-        if (language.length() + country.length() + variant.length() == 0) {
-            //The locale is "", "", "".
-            return names;
-        }
-        final StringBuilder temp = new StringBuilder(baseName);
-        temp.append('_');
-        temp.append(language);
-        if (language.length() > 0) {
-            names.add(temp.toString() + extensionWithDot);
-        }
-
-        if (country.length() + variant.length() == 0) {
-            return names;
-        }
-        temp.append('_');
-        temp.append(country);
-        if (country.length() > 0) {
-            names.add(temp.toString() + extensionWithDot);
-        }
-
-        if (variant.length() == 0) {
-            return names;
-        }
-        temp.append('_');
-        temp.append(variant);
-        names.add(temp.toString() + extensionWithDot);
-
-        return names;
-    }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/IntProperties.java b/modules/fdbworkers/src/flex/tools/debugger/cli/IntProperties.java
deleted file mode 100644
index a5b3ee0..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/IntProperties.java
+++ /dev/null
@@ -1,36 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.HashMap;
-import java.util.Set;
-
-public class IntProperties
-{
-	HashMap<String, Integer> m_map = new HashMap<String, Integer>();
-
-	/* getters */
-	public Integer					getInteger(String s)	{ return m_map.get(s); }
-	public int						get(String s)			{ return getInteger(s).intValue(); }
-	public Set<String>				keySet()				{ return m_map.keySet(); }
-	public HashMap<String, Integer>	map()					{ return m_map; }
-
-	/* setters */
-	public void put(String s, int value)		{ m_map.put(s, new Integer(value)); }
-
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/InternalProperty.java b/modules/fdbworkers/src/flex/tools/debugger/cli/InternalProperty.java
deleted file mode 100644
index b5ce7e7..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/InternalProperty.java
+++ /dev/null
@@ -1,46 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import flash.tools.debugger.expression.NoSuchVariableException;
-
-public class InternalProperty
-{
-	String m_key;
-	Object m_value;
-
-	public InternalProperty(String key, Object value)
-	{
-		m_key = key;
-		m_value = value;
-	}
-
-	/* getters */
-	public String getName()		{ return m_key; }
-	@Override
-	public String toString()	{ return (m_value == null) ? "null" : m_value.toString(); } //$NON-NLS-1$
-
-	public String valueOf() throws NoSuchVariableException 
-	{ 
-		if (m_value == null) 
-			throw new NoSuchVariableException(m_key);
-
-		return toString();
-	}
-
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/LocationCollection.java b/modules/fdbworkers/src/flex/tools/debugger/cli/LocationCollection.java
deleted file mode 100644
index 0ccc14f..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/LocationCollection.java
+++ /dev/null
@@ -1,91 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import flash.tools.debugger.Location;
-
-/**
- * This object is a container for source locations
- * that represent the same underlying file and line
- * number. 
- *
- * The reason we need this is because multiple 
- * swfs each contain their own unique version of
- * a source file and we'd like to be able to 
- * refer to any one location freely 
- * 
- * It is modelled after the Collection interface
- */
-public class LocationCollection
-{
-	private ArrayList<Location> m_locations = new ArrayList<Location>();
-
-	public boolean		add(Location l)			{ return m_locations.add(l); }
-	public boolean		contains(Location l)	{ return m_locations.contains(l); }
-	public boolean		remove(Location l)		{ return m_locations.remove(l); }
-	public boolean		isEmpty()				{ return m_locations.isEmpty(); }
-	public Iterator<Location> iterator()		{ return m_locations.iterator(); }
-
-    // Return the first Location object or null
-	public Location     first()					{ return ( (m_locations.size() > 0) ? m_locations.get(0) : null ); }
-
-	/**
-	 * Removes Locations from the Collection which contain
-	 * SourceFiles with Ids in the range [startingId, endingId].
-	 */
-	public void removeFileIdRange(int startingId, int endingId)
-	{
-		Iterator<Location> i = iterator();
-		while(i.hasNext())
-		{
-			Location l = i.next();
-			int id = (l.getFile() == null) ? -1 : l.getFile().getId();
-			if (id >= startingId && id <= endingId)
-				i.remove();
-		}
-	}
-
-	/**
-	 * See if the collection contains a Location 
-	 * which is identical to the given file id and 
-	 * line number
-	 */
-	public boolean contains(int fileId, int line)
-	{
-		boolean found = false;
-		Iterator<Location> i = iterator();
-		while(i.hasNext() && !found)
-		{
-			Location l = i.next();
-			int id = (l.getFile() == null) ? -1 : l.getFile().getId();
-			if (id == fileId && l.getLine() == line)
-				found = true;
-		}
-		return found;
-	}
-
-	/** for debugging */
-	@Override
-	public String toString()
-	{
-		return m_locations.toString();
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/NoMatchException.java b/modules/fdbworkers/src/flex/tools/debugger/cli/NoMatchException.java
deleted file mode 100644
index 98dde02..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/NoMatchException.java
+++ /dev/null
@@ -1,31 +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.
- */
-
-package flex.tools.debugger.cli;
-
-/**
- * While attempting to resolve a function name or filename, no match
- * was found.  For example, this is thrown if the user enters
- * "break foo.mxml:12" but there is no file called "foo.mxml".
- */
-public class NoMatchException extends Exception
-{
-    private static final long serialVersionUID = 721945420519126096L;
-    
-    public NoMatchException() {}
-	public NoMatchException(String s) { super(s); }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/StringIntArray.java b/modules/fdbworkers/src/flex/tools/debugger/cli/StringIntArray.java
deleted file mode 100644
index 76db507..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/StringIntArray.java
+++ /dev/null
@@ -1,120 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import java.util.ArrayList;
-import java.util.AbstractList;
-
-/**
- * This class wraps a Nx2 array and provides a List interface
- * for each of the 2 columns of the array.
- *
- * Its main purpose is to provide the method elementsStartingWith()
- * which returns a ArrayList of index numbers for each element whose
- * String component matches the provided argument.
- */
-public class StringIntArray extends AbstractList<Object>
-{
-	Object[]    m_ar;
-	int			m_size = 0;
-	double		m_growthRatio = 1.60;
-
-	public StringIntArray(Object[] ar)
-	{
-		m_ar = ar;
-		m_size = m_ar.length;
-	}
-
-	public StringIntArray()	{ this(10); }
-
-	public StringIntArray(int size)
-	{
-		m_ar = new Object[size];
-		m_size = 0;
-	}
-
-	@Override
-	public Object		get(int at)				{ return m_ar[at];	}
-	@Override
-	public int			size()					{ return m_size; }
-
-	public Object[]		getElement(int at)		{ return (Object[])get(at);	}
-	public String		getString(int at)		{ return (String)getElement(at)[0]; }
-	public Integer		getInteger(int at)		{ return (Integer)getElement(at)[1]; }
-	public int			getInt(int at)			{ return getInteger(at).intValue(); }
-
-	/**
-	 * Sequentially walk through the entire list 
-	 * matching the String components against the 
-	 * given string 
-	 */
-	public ArrayList<Integer> elementsStartingWith(String s)
-	{
-		ArrayList<Integer> alist = new ArrayList<Integer>();
-		for(int i=0; i<m_size; i++)
-			if ( getString(i).startsWith(s) )
-				alist.add( new Integer(i) );
-
-		return alist;
-	}
-
-	@Override
-	public void add(int at, Object e)
-	{
-		// make sure there is enough room in the array, then add the element 
-		ensureCapacity(1);
-		int size = size();
-
-		// open a spot for the element and stick it in
-//		System.out.println("add("+at+"), moving "+at+" to "+(at+1)+" for "+(size-at)+",size="+size);
-		System.arraycopy(m_ar, at, m_ar, at+1, size-at);
-		m_ar[at] = e;
-
-		m_size++;
-	}
-
-	@Override
-	public Object remove(int at)
-	{
-		int size = size();
-		Object o = m_ar[at];
-
-//		System.out.println("remove("+at+"), moving "+(at+1)+" to "+at+" for "+(size-at+1)+",size="+size);
-		System.arraycopy(m_ar, at+1, m_ar, at, size-at+1);
-		m_size--;
-
-		return o;
-	}
-
-	void ensureCapacity(int amt)
-	{
-		int size = size();
-		int newSize = amt+size;
-		if (newSize > m_ar.length)
-		{
-			// we need a new array, compute a good size for it
-			double growTo = m_ar.length * m_growthRatio;   // make bigger
-			if (newSize > growTo)
-				growTo += newSize + (newSize * m_growthRatio);
-
-			Object[] nAr = new Object[(int)growTo+1];
-			System.arraycopy(m_ar, 0, nAr, 0, m_ar.length);
-			m_ar = nAr;
-		}
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/VariableFacade.java b/modules/fdbworkers/src/flex/tools/debugger/cli/VariableFacade.java
deleted file mode 100644
index eda7784..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/VariableFacade.java
+++ /dev/null
@@ -1,91 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import flash.tools.debugger.NoResponseException;
-import flash.tools.debugger.NotConnectedException;
-import flash.tools.debugger.NotSuspendedException;
-import flash.tools.debugger.Session;
-import flash.tools.debugger.Value;
-import flash.tools.debugger.Variable;
-import flash.tools.debugger.concrete.PlayerSession;
-import flash.tools.debugger.events.FaultEvent;
-
-/**
- * A VariableFacade provides a wrapper around a Variable object
- * that provides a convenient way of storing parent information.
- * 
- * Don't ask me why we didn't just add a parent member to 
- * Variable and be done with it.
- */
-public class VariableFacade implements Variable
-{
-	Variable	m_var;
-	long		m_context;
-	String		m_name;
-	String		m_path;
-	int m_isolateId;
-
-	public VariableFacade(Variable v, long context, int m_isolateId)		{ init(context, v, null, m_isolateId); }
-	public VariableFacade(long context, String name, int m_isolateId)	{ init(context, null, name, m_isolateId); }
-
-	void init(long context, Variable v, String name, int isolateId)
-	{
-		m_var = v;
-		m_context = context;
-		m_name = name;
-		m_isolateId = isolateId;
-	}
-
-	/**
-	 * The variable interface 
-	 */
-	public String		getName()								{ return (m_var == null) ? m_name : m_var.getName(); }
-	public String		getQualifiedName()						{ return (m_var == null) ? m_name : m_var.getQualifiedName(); }
-	public String		getNamespace()							{ return m_var.getNamespace(); }
-	public int			getLevel()								{ return m_var.getLevel(); }
-	public String		getDefiningClass()						{ return m_var.getDefiningClass(); }
-	public int			getAttributes()							{ return m_var.getAttributes(); }
-	public int			getScope()								{ return m_var.getScope(); }
-	public boolean		isAttributeSet(int variableAttribute)	{ return m_var.isAttributeSet(variableAttribute); }
-	public Value		getValue()								{ return m_var.getValue(); }
-	public boolean		hasValueChanged(Session s)				{ return m_var.hasValueChanged(s); }
-	public FaultEvent setValue(Session s, int type, String value) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		return ((PlayerSession)s).setScalarMember(m_context, getQualifiedName(), type, value, m_var.getIsolateId());
-	}
-	@Override
-	public String		toString()								{ return (m_var == null) ? m_name : m_var.toString(); }
-	public String		getPath()								{ return m_path; }
-	public void			setPath(String path)					{ m_path = path; }
-	public boolean needsToInvokeGetter()						{ return m_var.needsToInvokeGetter(); }
-	public void invokeGetter(Session s) throws NotSuspendedException, NoResponseException, NotConnectedException
-	{
-		m_var.invokeGetter(s);
-	}
-
-	/**
-	 * Our lone get context (i.e. parent) interface 
-	 */
-	public long			getContext()									{ return m_context; }
-	public Variable		getVariable()									{ return m_var; }
-	@Override
-	public int getIsolateId() {
-		return m_isolateId;
-	}
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/WatchAction.java b/modules/fdbworkers/src/flex/tools/debugger/cli/WatchAction.java
deleted file mode 100644
index 3229928..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/WatchAction.java
+++ /dev/null
@@ -1,59 +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.
- */
-
-package flex.tools.debugger.cli;
-
-import flash.tools.debugger.Watch;
-
-/**
- * An object that relates a CLI debugger watchpoint with the
- * actual Watch obtained from the Session
- */
-public class WatchAction
-{
-	Watch		m_watch;
-	int			m_id;             
-
-	public WatchAction(Watch w) 
-	{
-		init(w);
-	}
-
-	void init(Watch w)
-	{
-		m_watch = w;
-		m_id = BreakIdentifier.next();
-	}
-
-	/* getters */
-	public int			getId()					{ return m_id; }
-	public long			getVariableId()			{ return m_watch.getValueId(); }
-	public int			getKind()				{ return m_watch.getKind(); }
-	public Watch		getWatch()				{ return m_watch; }
-
-	public String		getExpr()
-	{
-		String memberName = m_watch.getMemberName();
-		int namespaceSeparator = memberName.indexOf("::"); //$NON-NLS-1$
-		if (namespaceSeparator != -1)
-			memberName = memberName.substring(namespaceSeparator + 2);
-		return "#"+getVariableId()+"."+memberName; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/* setters */
-	public void			resetWatch(Watch w)		{ m_watch = w; }
-}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_da.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_da.properties
deleted file mode 100644
index 305064c..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_da.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=development
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. Alle rettigheder forbeholdes.
-noResponseException=Afspilleren reagerede ikke som forventet p\u00e5 kommandoen; kommandoen er afbrudt.
-notSuspendedException=Kommandoen kan ikke afgives mens afspilleren k\u00f8rer
-illegalStateException=Kommandoen fungerer ikke uden for en session.
-illegalMonitorStateException=Kommandoen fungerer ikke p\u00e5 en afspiller, der k\u00f8rer. Stop den ved at trykke p\u00e5 'Enter'
-playerDidNotStop=Afspilleren standsede ikke som forventet.  Tryk p\u00e5 'Enter' for at standse den
-noSuchElementException=Der blev forventet mindst et argument mere for kommandoen.
-numberFormatException=Kommandoargumentet er en streng, forventede et heltal.
-socketException=En anden Flash-fejlfinding k\u00f8rer formentlig allerede; luk den og pr\u00f8v igen.  Detaljer: '${message}'.
-versionException=Kommandoen underst\u00f8ttes ikke i denne sammenh\u00e6ng.
-unexpectedError=Uventet fejl under afvikling af kommando.
-stackTraceFollows=Af hensyn til diagnosticering f\u00f8lger staksporing: 
-sessionEndedAbruptly=Sessionen sluttede uventet.
-noUriReceived=Der blev ikke modtaget nogen URI fra afspilleren
-noSourceFilesFound=Der blev ikke fundet nogen kildefiler
-unknownBreakpointLocation=<unknown>
-unknownFilename=<unknown>
-inFunctionAt=i ${functionName}() ved 
-inSwf=i ${swf}
-nonRestorable=; Kan ikke gendannes fra tidligere session
-sourceDirectoriesSearched=Unders\u00f8gte kildemapper:
-attemptingToSuspend=Fors\u00f8ger at standse start af afspilleren...
-playerStopped=Afspilleren standsede
-playerRunning=Afspilleren k\u00f8rer
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Der er ingen tilg\u00e6ngelig stak
-atFilename=ved 
-noVariables=ingen variabler
-noArguments=ingen argumenter
-notInValidFrame=Ikke i en gyldig ramme. Brug kommandoen 'frame' for at vende tilbage til den nuv\u00e6rende.
-noLocals=ingen lokale
-noScopeChain=ingen scope-chain
-noActiveSession=Der er ingen aktiv session
-runWillLaunchUri=run' starter ${uri}
-targetUnknown=Ukendt m\u00e5l
-noSWFs=ingen SWF-filer.
-unrecognizedFault=Ukendt fejl.
-noFunctionsFound=Der blev ikke fundet nogen funktioner
-functionListBeingPrepared=En funktionsliste forberedes i baggrunden; pr\u00f8v igen senere.
-functionsInSourceFile=Funktioner i ${sourceFile}
-breakpointNotYetResolved=(endnu ikke fortolket)
-breakpointAmbiguous=(tvetydigt)
-breakpointNoCode=(der er ingen eksekverbar kode p\u00e5 den angivne linje)
-sessionTerminated=Afspillersessionen er afsluttet
-additionalCodeLoaded=Der blev indl\u00e6st yderligere ActionScriptkode fra en SWF eller en ramme.\nF\u00e5 vist alle indl\u00e6ste filer ved at skrive 'info files'.
-setAdditionalBreakpoints=Indstil yderligere pausepunkter som \u00f8nsket, og indtast 'continue'.
-fixBreakpoints=Ret eller fjern de forkerte pausepunkter, og indtast 'continue'.
-executionHalted=Eksekvering standset
-hitBreakpoint=Pausepunkt ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() i ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Fejl]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, oplysninger=
-sizeAfterDecompression=${size} byte efter dekomprimering
-breakpointNotPropagated=ADVARSEL: Pausepunktet ${breakpointNumber} er ikke udbredt til alle swf-filer.\nDet skal fjernes og tilf\u00f8jes igen.
-playerAlreadyRunning=Afspilleren k\u00f8rer allerede, der er ingen grund til at genoptage.
-doYouWantToHalt=Vil du fors\u00f8ge at standse eksekveringen?
-debugInfoBeingLoaded=indl\u00e6ser fejlfindingsoplysninger
-attemptingToHalt=Fors\u00f8ger at standse.\nDu kan muligvis hj\u00e6lpe ved at puffe til afspilleren (tryk p\u00e5 en knap)
-couldNotHalt=Kunne ikke standse, der k\u00f8rer ikke noget ActionScript.
-escapingFromDebuggerPendingLoop=Undg\u00e5r afventningsl\u00f8kken til fejlfinding; indstiller $nowaiting = 1
-continuingDueToError=Forts\u00e6tter pga. fejlen '${error}'
-currentLocationUnknown=nuv\u00e6rende placering er ukendt
-cannotStep=Du kan ikke springe nu. Angiv pausepunkter, og indtast 'continue'.
-abortingStep=Afspilleren har ikke svaret i tide; afbryder de resterende ${count} trin
-finishCommandNotMeaningfulOnOutermostFrame=finish' giver ikke mening i den yderste ramme
-finishCommandNotMeaningfulWithoutStack=finish' giver ikke mening uden en stak
-noBreakpointNumber=Intet pausepunktnummer ${breakpointNumber}
-badBreakpointNumber=advarsel, forkert pausepunktnummer ved eller t\u00e6t p\u00e5 '${token}'
-commandFailed=Kommandoen mislykkedes.
-createdBreakpoint=Pausepunkt ${breakpointNumber}: fil ${file}, linje ${line}
-createdBreakpointWithOffset=Pausepunkt ${breakpointNumber} ved ${offset}: fil ${file}, linje ${line}
-breakpointCreatedButNotYetResolved=Pausepunktet ${breakpointNumber} er oprettet, men endnu ikke fortolket.\nPausepunktet bliver fortolket, n\u00e5r den tilsvarende fil eller funktion indl\u00e6ses.
-fileNumber=fil #${fileNumber}
-breakpointNotSetNoCode=Pausepunkt ikke angivet; der er ingen eksekverbar kode p\u00e5 linje ${line} i ${filename}
-breakpointLocationUnknown=Pausepunktets placering kendes ikke.
-breakpointNotCleared=Pausepunktet er ikke ryddet.
-attemptingToResolve=Fors\u00f8ger at fortolke pausepunkt ${breakpointNumber}, udtryk "${expression}":
-noExecutableCode=Der er ingen eksekverbar kode p\u00e5 den angivne linje.
-resolvedBreakpointToFunction=Fortolkede pausepunktet ${breakpointNumber} til ${functionName}() p\u00e5 ${file}:${line}
-resolvedBreakpointToFile=Fortolkede pausepunktet ${breakpointNumber} til ${file}:${line}
-setCommand=Der kr\u00e6ves en variabel efterfulgt af et udtryk for at indstille en kommando
-missingOperator=Udtrykket skal indeholde operatoren '${operator}'.
-noSideEffectsAllowed=Udtrykket m\u00e5 ikke have bivirkninger som fx tildeling.
-couldNotEvaluate=Udtrykket kunne ikke evalueres.
-commandHistoryIsEmpty=Oversigten er tom
-historyHasNotReached=Oversigten har endnu ikke n\u00e5et ${number}
-variableUnknown=Ukendt variabel ${variable}
-expressionCouldNotBeParsed=Udtrykket kunne ikke fortolkes korrekt:
-couldNotConvertToNumber=Kunne ikke konvertere til et tal: ${value}
-commandsLimitedToSpecifiedSwf=Kommandoerne g\u00e6lder kun for kildefilerne fra ${swf}
-commandsApplyToAllSwfs=Kildefilerne til alle swf-filer kan v\u00e6lges i kommandoerne.
-notValidSwf=${swf} er ikke en gyldig SWF-fil.
-frameDoesNotExist=Rammen '${frameNumber}' findes ikke.
-notANumber=${token}' er ikke et tal.
-expectedLineNumber=Forvendede et linjenummer; fik ${token}
-expectedFileNumber=Forventede et filnummer; fik ${token}
-noSourceFileWithSpecifiedName=Der er ingen kildefil med navnet '${name}'.
-noFunctionWithSpecifiedName=Der er ingen funktion med navnet '${name}'.
-ambiguousMatchingFilenames=Tvetydige overenstemmende filnavne:
-ambiguousMatchingFunctionNames=Tvetydige overenstemmende funktionsnavne:
-functionInFile=${functionName} i ${filename}
-expectedFile=Forventede et filnavn eller filnavn begyndende med #; fik ${token}
-noSuchFileOrFunction=Der er ingen fil eller funktion med navnet '${token}'.
-localVariable=lokal
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=Udtrykket m\u00e5 kun indeholde \u00e9n variabel
-lineJunk=Fejl ved angivelse af linjeafslutning
-sourceFileNotFound=Kildefilen blev ikke fundet. Brug kommandoen "directory" til at angive placeringen. Indtast "help directory" hvis du vil se oplysninger om at angive en mappe for pakkede kildefiler.
-lineNumberOutOfRange=Linjenummeret ${line} er udenfor intervallet; filen ${filename} har ${total} linjer
-noFilesFound=Der blev ikke fundet nogen filer
-sessionInProgress=Der er allerede en session i gang
-waitingForPlayerToConnect=Venter p\u00e5 at afspilleren etablerer forbindelse
-waitingToConnectToPlayer=Fors\u00f8ger at etablere forbindelse til Player
-launchingWithUrl=Fors\u00f8ger at k\u00f8re og etablere forbindelse til afspilleren via URL
-playerConnectedSessionStarting=Der er forbindelse til afspilleren; sessionen startes.
-setBreakpointsThenResume=Indstil pausepunkterne og indtast 'continue' for at forts\u00e6tte sessionen.
-warningNotAllCommandsSupported=ADVARSEL: Den afspiller, du bruger, underst\u00f8tter ikke alle fdb-kommandoer.
-fileDoesNotExist=Filen blev ikke fundet: ${uri}
-failedToConnect=Forbindelsen kunne ikke etableres; der opstod timeout for sessionen.\nKontroller at:\n  1. du kompilerede Flash-filmen med fejlfinding aktiveret, og\n  2. du k\u00f8rer fejlfindingsversionen af Flash Player.
-manuallyLaunchPlayer=Indtast 'run', og start afspilleren manuelt.
-sourceCommandRequiresPath=Kommandoen 'source' kr\u00e6ver stien til den fil, der skal bruges.
-fileNotFound=${filename}: Filen eller mappen findes ikke.
-argumentRequired=Argument p\u00e5kr\u00e6vet (fejl at h\u00e5ndtere).
-breakpointNotChanged=Pausepunktet er ikke \u00e6ndret.
-badWatchpointNumber=Forkert nummer p\u00e5 overv\u00e5gningspunkt.
-couldNotResolveExpression=Kunne ikke fortolke udtrykket til en variabel.
-notAllBreakpointsEnabled=Ikke alle pausepunkter er aktiveret
-programNotBeingRun=Programmet k\u00f8res ikke.
-commandNotValidUntilPlayerSuspended=Kommandoen er ikke gyldig f\u00f8r afspilleren er stoppet; pr\u00f8v kommandoen 'halt'.
-noHelpFileFound=Der blev ikke fundet nogen hj\u00e6lpefil (fdbhelp*.txt).
-invalidTargetFault=Forkert m\u00e5lnavn til instruktionen ActionSetTarget
-recursionLimitFault=Den \u00f8vre gr\u00e6nse for rekursion er n\u00e5et
-invalidWithFault=M\u00e5let for udsagnet 'with' er ikke et objekt
-protoLimitFault=S\u00f8gning op gennem prototypek\u00e6den har n\u00e5et gr\u00e6nsen
-invalidUrlFault=URL'en kunne ikke \u00e5bnes
-exceptionFault=Der opstod en brugerundtagelse
-stackUnderflowFault=Der opstod et underl\u00f8b i stakken
-divideByZeroFault=Fejl - kan ikke dividere med nul
-scriptTimeoutFault=ActionScript-koden forts\u00e6tter ikke
-errorWhileProcessingFile=Der opstod en fejl under behandlingen af filen (${exceptionMessage})
-unrecognizedAction=Ukendt handling ${action}
-typeCommandsForBreakpoint=Indtast kommandoer for hvorn\u00e5r pausepunktet ${breakpointNumber} n\u00e5s - en pr. linje.\nAfslut med en linje hvor der kun st\u00e5r 'end'.
-breakpointNowUnconditional=Pausepunktet ${breakpointNumber} er nu ubetinget.
-watchpointCouldNotBeSet=Der kunne ikke indstilles et overv\u00e5gningspunkt for '${expression}'
-
-changedWatchpointMode=Overv\u00e5gningspunktet ${watchpointNumber} p\u00e5 udtrykket '${expression}' er nu ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=l\u00e6s
-watchpointMode_write=skriv
-watchpointMode_readWrite=l\u00e6s-skriv
-
-createdWatchpoint=Overv\u00e5gningspunktet ${watchpointNumber} angivet p\u00e5 udtrykket '${expression}'
-couldNotFindWatchpoint=Overv\u00e5gningspunktet til '${variable}' kunne ikke findes eller fjernes.
-noDisplayNumber=Intet displaynummer ${displayNumber}
-badDisplayNumber=advarsel, forkert displaynummer ved eller t\u00e6t p\u00e5 '${token}'
-breakpointLocationNoLongerExists=Kildefilen og linjenummeret til pausepunktet ${breakpointNumber} findes ikke l\u00e6ngere
-unknownCommand=Ukendt kommando '${command}', den ignoreres
-unknownSubcommand=Ukendt ${commandCategory} kommando '${command}', den ignoreres
-unknownEvent=Der opstod en ukendt h\u00e6ndelse af typen '${type}', oplysninger = ${info}
-problemWithConnection=Der er et problem med sessionens forbindelse: '${socketErrorMessage}'. Det er sandsynligvis bedst at afslutte den.
-unexpectedErrorWithStackTrace=Uventet fejl under afvikling af kommando.\nAf hensyn til diagnosticering f\u00f8lger staksporing:
-ambiguousCommand=Tvetydig kommando '${input}':
-faultHasNoTableEntry=Fejlen ${faultName} har ingen tabelpost
-swfInfo=${swfName} - ${size} byte efter dekomprimering, ${scriptCount} script [#${min} - #${max}]${plus} ${moreInfo}, url'en er ${url}
-remainingSourceBeingLoaded=resterende kilde indl\u00e6ses stadig
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(j eller n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Slet alle pausepunkter?
-askDeleteAllAutoDisplay=Slet alle auto-display-udtryk?
-askKillProgram=Luk programmet der unders\u00f8ges for fejl?
-askProgramIsRunningExitAnyway=Programmet k\u00f8rer. Vil du afslutte alligevel?
-askReinitSourcePath=Vil du nulstille kildestien?
-askExpressionContainsAssignment=Udtrykket indeholder tildeling! Vil du forts\u00e6tte?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Ikke bekr\u00e6ftet.
-stopOnlyIfConditionMet=Stop kun hvis ${breakpointCondition}
-breakpointAlreadyHit=antallet af pausepunkter har allerede n\u00e5et ${count}
-silentBreakpoint=uden meddelelser
-getterFunction=Hentefunktion
-setterFunction=Indstillingsfunktion
-function=Funktion
-unknownVariableType=<unknown>
-variableAttribute_dontEnumerate=opt\u00e6l ikke
-variableAttribute_readOnly=skrivebeskyttet
-variableAttribute_localVariable=lokal
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=Hentefunktion
-variableAttribute_setterFunction=Indstillingsfunktion
-variableAttribute_hasNamespace=har navneomr\u00e5de
-key16=Modtagne beskeder:
-key17=Sendte beskeder:
-key18=Der blev ikke fundet nogen kildefiler
-key19=Der blev ikke fundet nogen funktioner
-key20=En funktionsliste forberedes i baggrunden; pr\u00f8v igen senere.
-key21=--- Egenskaber for SessionManager
-key22=--- Egenskaber for Session
-stopped=Stopped
-key24=Afspilleren k\u00f8rer.
-key25=Der blev ikke fundet nogen oplysninger om pausepunkter
-key26=Ukendt variabel
-key27=Ukendte kildeoplysninger, opdelte den nuv\u00e6rende placering
-key28=Fejl ved angivelse af linjeafslutning
-key29=Der blev ikke fundet nogen swf til filen ${arg3}
-key30=Der blev ikke fundet nogen funktion
-key31=---- Viser ikke-tilknyttede instruktioner der blev sprunget over, ved 0x${arg4} ----
-key32=Linjenummer ${arg5} er udenfor intervallet; filen ${arg6} har ${arg7} linjer
-key33=Der blev ikke fundet nogen filer
-key34=Afspilleren standses for \u00f8jeblikket ikke af nogen handlinger.
-key35=i '${swfName}'
-atAddress=p\u00e5 ${address}
-haltedDueToFault=p\u00e5 grund af ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_de.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_de.properties
deleted file mode 100644
index 65107dd..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_de.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=development
-about=Apache FDB (Flash Player Debugger) [Build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Der Player hat nicht wie erwartet auf den Befehl reagiert; der Befehl wird abgebrochen.
-notSuspendedException=Der Befehl kann nicht ausgestellt werden, w\u00e4hrend der Player ausgef\u00fchrt wird
-illegalStateException=Der Befehl ist ohne Sitzung nicht zul\u00e4ssig.
-illegalMonitorStateException=Der Befehl ist f\u00fcr einen ausgef\u00fchrten Player nicht zul\u00e4ssig. Dr\u00fccken Sie die Eingabetaste, um den Player zu unterbrechen.
-playerDidNotStop=Der Player wurde nicht wie erwartet beendet. Dr\u00fccken Sie die Eingabetaste, um den Player zu unterbrechen.
-noSuchElementException=Der Befehl erwartete mindestens ein zus\u00e4tzliches Argument.
-numberFormatException=Das Befehlsargument ist eine Zeichenfolge, aber es wurde eine ganze Zahl erwartet.
-socketException=Wahrscheinlich wird ein weiterer Flash-Debugger ausgef\u00fchrt; schlie\u00dfen Sie diesen Debugger. Details: \u201e${message}\u201c.
-versionException=Der Befehl wird in diesem Kontext nicht unterst\u00fctzt.
-unexpectedError=Unerwarteter Fehler bei der Verarbeitung des Befehls.
-stackTraceFollows=Zu Diagnosezwecken folgt die Stapelverfolgung: 
-sessionEndedAbruptly=Die Sitzung wurde abrupt beendet.
-noUriReceived=Vom Player wurde kein URI empfangen
-noSourceFilesFound=Es wurden keine Quelldateien gefunden
-unknownBreakpointLocation=<unbekannt>
-unknownFilename=<unbekannt>
-inFunctionAt=in ${functionName}() an 
-inSwf=in ${swf}
-nonRestorable=; Nicht wiederherstellbar von vorheriger Sitzung
-sourceDirectoriesSearched=Durchsuchte Quellverzeichnisse:
-attemptingToSuspend=Es wird versucht, den Player anzuhalten...
-playerStopped=Player wurde beendet
-playerRunning=Player wird ausgef\u00fchrt
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Haltepunkt
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Kein Stack verf\u00fcgbar
-atFilename=in 
-noVariables=keine Variablen
-noArguments=keine Argumente
-notInValidFrame=Nicht in einem g\u00fcltigen Frame. Kehren Sie mit dem Befehl \u201eframe\u201c zum aktuellen Frame zur\u00fcck.
-noLocals=keine lokalen Variablen
-noScopeChain=keine Bereichskette
-noActiveSession=Keine aktive Sitzung
-runWillLaunchUri=\u201erun\u201c startet ${uri}
-targetUnknown=Unbekanntes Ziel
-noSWFs=keine SWFs.
-unrecognizedFault=Unbekannter Fehler.
-noFunctionsFound=Es wurden keine Funktionen gefunden
-functionListBeingPrepared=Die Funktionsliste wird im Hintergrund vorbereitet; wiederholen Sie den Vorgang sp\u00e4ter.
-functionsInSourceFile=Funktionen in ${sourceFile}
-breakpointNotYetResolved=(noch nicht aufgel\u00f6st)
-breakpointAmbiguous=(nicht eindeutig)
-breakpointNoCode=(kein ausf\u00fchrbarer Code in der angegebenen Zeile)
-sessionTerminated=Die Player-Sitzung wurde beendet
-additionalCodeLoaded=Zus\u00e4tzlicher ActionScript-Code wurde von einem SWF oder einem Frame geladen.\nGeben Sie \u201einfo files\u201c ein, um alle aktuell geladenen Dateien anzuzeigen.
-setAdditionalBreakpoints=Legen Sie ggf. weitere Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein.
-fixBreakpoints=Korrigieren oder entfernen Sie fehlerhafte Haltepunkte und geben Sie dann \u201econtinue\u201c ein.
-executionHalted=Ausf\u00fchrung unterbrochen
-hitBreakpoint=Haltepunkt ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() in ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, information=
-sizeAfterDecompression=${size} Byte nach der Dekomprimierung
-breakpointNotPropagated=WARNUNG: Der Haltepunkt ${breakpointNumber} wurde nicht an alle SWF weitergegeben.\nSie m\u00fcssen ihn l\u00f6schen und erneut festlegen.
-playerAlreadyRunning=Der Player wird bereits ausgef\u00fchrt und muss deshalb nicht fortgesetzt werden.
-doYouWantToHalt=M\u00f6chten Sie die Ausf\u00fchrung unterbrechen?
-debugInfoBeingLoaded=Debuginformationen werden derzeit geladen
-attemptingToHalt=Es wird versucht, den Vorgang zu beenden.\nSie k\u00f6nnen auch den Player manipulieren (z.B. durch Dr\u00fccken einer Taste)
-couldNotHalt=Unterbrechen nicht m\u00f6glich, da kein ActionScript ausgef\u00fchrt wird.
-escapingFromDebuggerPendingLoop=Beendigung der Debuggerschleife; setze $nowaiting = 1
-continuingDueToError=Der Vorgang wird aufgrund des Fehlers \u201e${error}\u201c fortgesetzt
-currentLocationUnknown=aktuelle Position unbekannt
-cannotStep=Fortsetzung nicht m\u00f6glich. Legen Sie Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein.
-abortingStep=Der Player wurde nicht rechtzeitig reaktiviert; die restlichen ${count} Schritte werden abgebrochen.
-finishCommandNotMeaningfulOnOutermostFrame=finish\u201e kann im \u00e4u\u00dfersten Frame nicht verwendet werden
-finishCommandNotMeaningfulWithoutStack=finish\u201c kann ohne Stack nicht verwendet werden
-noBreakpointNumber=Keine Haltepunktnummer ${breakpointNumber}
-badBreakpointNumber=Warnung wegen fehlerhafter Haltepunktnummer in oder bei \u201e${token}\u201c
-commandFailed=Der Befehl ist fehlgeschlagen.
-createdBreakpoint=Haltepunkt ${breakpointNumber}: Datei ${file}, Zeile ${line}
-createdBreakpointWithOffset=Haltepunkt ${breakpointNumber} an ${offset}: Datei ${file}, Zeile ${line}
-breakpointCreatedButNotYetResolved=Der Haltepunkt ${breakpointNumber} wurde erstellt, aber noch nicht aufgel\u00f6st.\nDer Haltepunkt wird beim Laden der entsprechenden Datei oder Funktion aufgel\u00f6st.
-fileNumber=Datei #${fileNumber}
-breakpointNotSetNoCode=Der Haltepunkt ist nicht festgelegt; es ist kein ausf\u00fchrbarer Code in Zeile ${line} von ${filename} vorhanden.
-breakpointLocationUnknown=Unbekannte Haltepunktposition.
-breakpointNotCleared=Der Haltepunk wurde nicht gel\u00f6scht.
-attemptingToResolve=Es wird versucht, Haltepunkt ${breakpointNumber}, Ausdruck \u201e${expression}\u201c aufzul\u00f6sen:
-noExecutableCode=In der angegebenen Zeile ist kein ausf\u00fchrbarer Code vorhanden.
-resolvedBreakpointToFunction=Der Haltepunkt ${breakpointNumber} wurde aufgel\u00f6st in ${functionName}() in ${file}:${line}
-resolvedBreakpointToFile=Der Haltepunkt ${breakpointNumber} wurde aufgel\u00f6st in ${file}:${line}
-setCommand=Der festgelegte Befehl erfordert eine Variable gefolgt von einem Ausdruck
-missingOperator=Der Ausdruck muss den Operator \u201e${operator}\u201c enthalten.
-noSideEffectsAllowed=F\u00fcr den Ausdruck sind keine Nebeneffekte wie z.B. eine Zuweisung zul\u00e4ssig.
-couldNotEvaluate=Der Ausdruck konnte nicht ausgewertet werden.
-commandHistoryIsEmpty=Das Protokoll ist leer
-historyHasNotReached=Das Protokoll hat ${number} noch nicht erreicht
-variableUnknown=Unbekannte Variable ${variable}
-expressionCouldNotBeParsed=Der Ausdruck konnte nicht ordnungsgem\u00e4\u00df analysiert werden:
-couldNotConvertToNumber=${value} konnte nicht in eine Zahl konvertiert werden
-commandsLimitedToSpecifiedSwf=Die Befehle sind auf Quelldateien von ${swf} beschr\u00e4nkt
-commandsApplyToAllSwfs=Quelldateien aus allen SWF sind in Befehlen verf\u00fcgbar.
-notValidSwf=${swf} ist als SWF nicht zul\u00e4ssig.
-frameDoesNotExist=Der Frame \u201e${frameNumber}\u201c ist nicht vorhanden.
-notANumber=\u201e${token}\u201c ist keine Zahl.
-expectedLineNumber=Eine Zeilennummer wurde erwartet; stattdessen wurde ${token} erhalten.
-expectedFileNumber=Eine Dateinummer wurde erwartet; stattdessen wurde ${token} erhalten.
-noSourceFileWithSpecifiedName=Die Quelldatei \u201e${name}\u201c existiert nicht.
-noFunctionWithSpecifiedName=Die Funktion \u201e${name}\u201c existiert nicht.
-ambiguousMatchingFilenames=Nicht eindeutige \u00fcbereinstimmende Dateinamen:
-ambiguousMatchingFunctionNames=Nicht eindeutige \u00fcbereinstimmende Funktionsnamen:
-functionInFile=${functionName} in ${filename}
-expectedFile=Ein Dateiname oder eine Dateinummer beginnend mit # wurde erwartet; stattdessen wurde ${token} erhalten.
-noSuchFileOrFunction=Die Datei oder Funktion \u201e${token}\u201c existiert nicht.
-localVariable=local
-functionArgumentVariable=Argument
-mustBeOnlyOneVariable=Der Ausdruck darf nur eine einzige Variable enthalten
-lineJunk=Datenm\u00fcll am Ende der Zeilenspezifikation
-sourceFileNotFound=Die Quelldatei wurde nicht gefunden. Geben Sie mithilfe des Befehls 'directory' den\nSpeicherort der Quelldatei auf diesem Computer an. Geben Sie 'help directory' ein, um wichtige Informationen\nzum Angeben eines Verzeichnisses f\u00fcr Quelldateien in einem Paket anzuzeigen.
-lineNumberOutOfRange=Die Zeilennummer ${line} liegt au\u00dferhalb des g\u00fcltigen Bereichs; die Datei ${filename} weist ${total} Zeilen auf.
-noFilesFound=Es wurden keine Dateien gefunden
-sessionInProgress=Die Sitzung wird bereits ausgef\u00fchrt
-waitingForPlayerToConnect=Auf die Verbindungsherstellung des Players wird gewartet
-waitingToConnectToPlayer=Mit dem Player verbinden...
-launchingWithUrl=Es wird versucht, mithilfe der URL den Player zu starten und eine Verbindung mit dem Player herzustellen
-playerConnectedSessionStarting=Verbindung mit dem Player hergestellt; die Sitzung wird gestartet.
-setBreakpointsThenResume=Legen Sie Haltepunkte fest und geben Sie dann \u201econtinue\u201c ein, um die Sitzung fortzusetzen.
-warningNotAllCommandsSupported=WARNUNG: Der verwendete Player unterst\u00fctzt nicht alle FDB-Befehle.
-fileDoesNotExist=Datei wurde nicht gefunden: ${uri}
-failedToConnect=Verbindungsversuch fehlgeschlagen; Zeit\u00fcberschreitung der Sitzung.\nStellen Sie Folgendes sicher:\n  1. Sie haben das Flash-Movie mit aktivierter Debugfunktion kompiliert, und\n  2. Sie f\u00fchren die Debuggerversion von Flash Player aus.
-manuallyLaunchPlayer=Geben Sie \u201erun\u201c ein und starten Sie dann den Player manuell.
-sourceCommandRequiresPath=F\u00fcr den Befehl \u201esource\u201c ist der Pfadname der Quelldatei erforderlich.
-fileNotFound=${filename}: Die Datei bzw. das Verzeichnis existiert nicht.
-argumentRequired=Argument erforderlich (zu behandelnder Fehler).
-breakpointNotChanged=Der Haltepunkt wurde nicht ge\u00e4ndert.
-badWatchpointNumber=Fehlerhafte \u00dcberwachungspunktnummer.
-couldNotResolveExpression=Der Ausdruck konnte nicht in eine Variable aufgel\u00f6st werden.
-notAllBreakpointsEnabled=Nicht alle Haltepunkte sind aktiviert
-programNotBeingRun=Das Programm wird nicht ausgef\u00fchrt.
-commandNotValidUntilPlayerSuspended=Der Befehl kann erst ausgef\u00fchrt werden, wenn der Player angehalten wurde; versuchen Sie es mit dem Befehl \u201ehalt\u201c.
-noHelpFileFound=Es wurde keine Hilfedatei (fdbhelp*.txt) gefunden.
-invalidTargetFault=Fehlerhafter Zielname f\u00fcr ActionSetTarget-Anweisung
-recursionLimitFault=Der obere Grenzwert f\u00fcr die Rekursion wurde erreicht
-invalidWithFault=Das Ziel der \u201ewith\u201c-Anweisung ist kein Objekt
-protoLimitFault=Bei der Suche in der Prototypkette wurde der Grenzwert erreicht
-invalidUrlFault=\u00d6ffnen einer URL ist fehlgeschlagen
-exceptionFault=Benutzerausnahme ausgel\u00f6st
-stackUnderflowFault=Stapelunterlauf
-divideByZeroFault=Fehler bei Division durch Null
-scriptTimeoutFault=ActionScript-Code wird nicht verarbeitet
-errorWhileProcessingFile=Fehler bei der Verarbeitung der Datei (${exceptionMessage})
-unrecognizedAction=Unbekannte Aktion ${action}
-typeCommandsForBreakpoint=Geben Sie jeweils in eine Zeile Befehle f\u00fcr den Fall ein, dass der Haltepunkt ${breakpointNumber} erreicht wird.\nBeenden Sie den Vorgang mit der Zeile \u201eend\u201c.
-breakpointNowUnconditional=Der Haltepunkt ${breakpointNumber} ist nun bedingungslos.
-watchpointCouldNotBeSet=F\u00fcr \u201e${expression}\u201c konnte kein \u00dcberwachungspunkt festgelegt werden
-
-changedWatchpointMode=\u00dcberwachungspunkt ${watchpointNumber} in Ausdruck \u201e${expression}\u201c nun ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=Lesen
-watchpointMode_write=Schreiben
-watchpointMode_readWrite=Lesen/Schreiben
-
-createdWatchpoint=Unterbrechungspunkt ${watchpointNumber} festgelegt f\u00fcr den Ausdruck \u201e${expression}\u201c
-couldNotFindWatchpoint=Die \u00dcberwachung von \u201e${variable}\u201c konnte nicht gefunden oder entfernt werden.
-noDisplayNumber=Keine Anzeigenummer ${displayNumber}
-badDisplayNumber=Warnung wegen fehlerhafter Anzeigenummer in oder bei \u201e${token}\u201c
-breakpointLocationNoLongerExists=Die Quelldatei und die Zeilennummer sind f\u00fcr den Haltepunkt ${breakpointNumber} nicht mehr vorhanden.
-unknownCommand=Unbekannter Befehl \u201e${command}\u201c wird ignoriert
-unknownSubcommand=Unbekannter ${commandCategory}-Befehl \u201e${command}\u201c wird ignoriert
-unknownEvent=Unbekannter Ereignistyp \u201e${type}\u201c wurde empfangen, Info = ${info}
-problemWithConnection=Problem bei Sitzungsverbindung, \u201e${socketErrorMessage}\u201c, die wahrscheinlich am besten mit dem Befehl \u201ekill\u201c beendet werden sollte.
-unexpectedErrorWithStackTrace=Unerwarteter Fehler bei der Verarbeitung des Befehls.\nZu Diagnosezwecken folgt die Stapelverfolgung: 
-ambiguousCommand=Nicht eindeutiger Befehl \u201e${input}\u201c:
-faultHasNoTableEntry=F\u00fcr den Fehler ${faultName} gibt es keinen Tabelleneintrag
-swfInfo=${swfName} - ${size} Byte nach der Dekomprimierung, ${scriptCount} Skripts [#${min} - #${max}]${plus} ${moreInfo}, die URL lautet ${url}
-remainingSourceBeingLoaded=Die verbleibende Quelle wird noch geladen
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(y oder n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Sollen alle Haltepunkte gel\u00f6scht werden?
-askDeleteAllAutoDisplay=Sollen alle automatisch angezeigten Ausdr\u00fccke gel\u00f6scht werden?
-askKillProgram=Soll das debuggte Programm beendet werden?
-askProgramIsRunningExitAnyway=Das Programm wird ausgef\u00fchrt. Soll es dennoch beendet werden?
-askReinitSourcePath=Soll der Quellpfad als leerer Pfad neu initialisiert werden?
-askExpressionContainsAssignment=Der Ausdruck enth\u00e4lt eine Zuweisung! Soll der Vorgang fortgesetzt werden?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Nicht best\u00e4tigt.
-stopOnlyIfConditionMet=nur bei ${breakpointCondition} beenden
-breakpointAlreadyHit=Haltepunkt wurde bereits ${count} Mal erreicht
-silentBreakpoint=automatisch
-getterFunction=Getter
-setterFunction=Setter
-function=Funktion
-unknownVariableType=<unbekannt>
-variableAttribute_dontEnumerate=nicht aufz\u00e4hlen
-variableAttribute_readOnly=schreibgesch\u00fctzt
-variableAttribute_localVariable=lokal
-variableAttribute_functionArgument=Argument
-variableAttribute_getterFunction=Getter
-variableAttribute_setterFunction=Setter
-variableAttribute_hasNamespace=hat Namespace
-key16=Empfangene Meldungen:
-key17=Gesendete Meldungen:
-key18=Es wurden keine Quelldateien gefunden
-key19=Es wurden keine Funktionen gefunden
-key20=Die Funktionsliste wird im Hintergrund vorbereitet; wiederholen Sie den Vorgang sp\u00e4ter.
-key21=--- SessionManager-Eigenschaften
-key22=--- Sitzungseigenschaften
-stopped=Stopped
-key24=Player wird ausgef\u00fchrt.
-key25=Es wurden keine Halteinformationen gefunden
-key26=Unbekannte Variable
-key27=Die Quellinformationen sind unbekannt, aktueller Speicherort wurde disassembliert
-key28=Datenm\u00fcll am Ende der Zeilenspezifikation
-key29=F\u00fcr die Datei ${arg3} wurde kein SWF gefunden
-key30=Es wurde keine Funktion gefunden
-key31=---- Anzeigen nicht zugeordneter Anweisungen in 0x${arg4}, die \u00fcbersprungen wurden ----
-key32=Die Zeilennummer ${arg5} liegt au\u00dferhalb des g\u00fcltigen Bereichs; die Datei ${arg6} weist ${arg7} Zeilen auf.
-key33=Es wurden keine Dateien gefunden
-key34=Der Player wurde derzeit nicht f\u00fcr Aktionen unterbrochen.
-key35=in \u201e${swfName}\u201c
-atAddress=an ${address}
-haltedDueToFault=aufgrund von ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_en.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_en.properties
deleted file mode 100644
index cecdc4e..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_en.properties
+++ /dev/null
@@ -1,274 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=development
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player did not respond to the command as expected; command aborted.
-notSuspendedException=Command cannot be issued while Player is running
-illegalStateException=Command not valid without a session.
-illegalMonitorStateException=Command not valid on a running Player.  Press 'Enter' key to halt it
-playerDidNotStop=Player did not stop as expected.  Press 'Enter' key to halt it
-noSuchElementException=Command expected at least one more argument.
-numberFormatException=Command argument was string, expected integer.
-socketException=Another Flash debugger is probably running; please close it.  Details: '${message}'.
-versionException=Command not supported in this context.
-unexpectedError=Unexpected error while processing command.
-stackTraceFollows=For diagnostic purposes stack trace follows:\ 
-sessionEndedAbruptly=Session ended abruptly.
-noUriReceived=No URI received from Player
-noSourceFilesFound=No source files found
-unknownBreakpointLocation=<unknown>
-unknownFilename=<unknown>
-inFunctionAt=in ${functionName}() at\ 
-inSwf=\ in ${swf}
-inWorker=Worker ${worker}
-workerRunning=Running
-workerSuspended=Suspended
-workerSelected=(Active)
-mainThread=Main Thread
-nonRestorable=\ ; Non-restorable from prior session
-sourceDirectoriesSearched=Source directories searched:
-attemptingToSuspend=Attempting to suspend Player execution...
-playerStopped=Player stopped
-playerRunning=Player running
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=No stack available
-atFilename=\ at\ 
-noVariables=no variables
-noArguments=no arguments
-notInValidFrame=Not in a valid frame.  Use 'frame' command to return to current one.
-noLocals=no locals
-noScopeChain=no scope chain
-noActiveSession=No active session
-runWillLaunchUri='run' will launch ${uri}
-targetUnknown=Target unknown
-noSWFs=no SWFs.
-unrecognizedFault=Unrecognized fault.
-noFunctionsFound=No functions found
-functionListBeingPrepared=Function list being prepared in background; try again later.
-functionsInSourceFile=Functions in ${sourceFile}
-breakpointNotYetResolved=\ (not yet resolved)
-breakpointAmbiguous=\ (ambiguous)
-breakpointNoCode=\ (no executable code on the specified line)
-sessionTerminated=Player session terminated
-additionalCodeLoaded=Additional ActionScript code has been loaded from a SWF or a frame.\n\
-To see all currently loaded files, type 'info files'.
-workerChanged=Active worker has changed to worker
-workerNotFound=No worker found with that ID
-setAdditionalBreakpoints=Set additional breakpoints as desired, and then type 'continue'.
-fixBreakpoints=Fix or remove bad breakpoints, then type 'continue'.
-executionHalted=Execution halted
-hitBreakpoint=Breakpoint ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() at ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenWorkerCreated=[WorkerCreate]
-linePrefixWhenWorkerExit=[WorkerDestroy]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, information=
-sizeAfterDecompression=${size} bytes after decompression
-breakpointNotPropagated=WARNING:  breakpoint ${breakpointNumber} not propagated to all swfs.\n\
-You need to clear it and set it again.
-playerAlreadyRunning=Player is already running, no need to resume.
-doYouWantToHalt=Do you want to attempt to halt execution?
-debugInfoBeingLoaded=debug information currently being loaded
-attemptingToHalt=Attempting to halt.\n\
-To help out, try nudging the Player (e.g. press a button)
-couldNotHalt=Couldn't halt, no ActionScript is running.
-escapingFromDebuggerPendingLoop=Escaping from debugger pending loop; setting $nowaiting = 1
-continuingDueToError=Continuing due to error '${error}'
-currentLocationUnknown=current location unknown
-cannotStep=You can't step now.  Set breakpoints and then type 'continue'.
-abortingStep=The Player has not returned in time; aborting remaining ${count} steps
-finishCommandNotMeaningfulOnOutermostFrame='finish' not meaningful on outermost frame
-finishCommandNotMeaningfulWithoutStack='finish' not meaningful without a stack
-noBreakpointNumber=No breakpoint number ${breakpointNumber}
-badBreakpointNumber=warning bad breakpoint number at or near '${token}'
-commandFailed=Command failed.
-createdBreakpoint=Breakpoint ${breakpointNumber}: file ${file}, line ${line}
-createdBreakpointWithOffset=Breakpoint ${breakpointNumber} at ${offset}: file ${file}, line ${line}
-breakpointCreatedButNotYetResolved=Breakpoint ${breakpointNumber} created, but not yet resolved.\n\
-The breakpoint will be resolved when the corresponding file or function is loaded.
-fileNumber=file #${fileNumber}
-breakpointNotSetNoCode=Breakpoint not set; no executable code at line ${line} of ${filename}
-breakpointLocationUnknown=Breakpoint location unknown.
-breakpointNotCleared=Breakpoint not cleared.
-attemptingToResolve=Attempting to resolve breakpoint ${breakpointNumber}, expression "${expression}":
-noExecutableCode=There is no executable code on the specified line.
-resolvedBreakpointToFunction=Resolved breakpoint ${breakpointNumber} to ${functionName}() at ${file}:${line}
-resolvedBreakpointToFile=Resolved breakpoint ${breakpointNumber} to ${file}:${line}
-setCommand=Set command requires a variable followed by an expression
-missingOperator=Expression must contain '${operator}' operator.
-noSideEffectsAllowed=Expression must not have side effects such as assignment.
-couldNotEvaluate=Expression could not be evaluated.
-commandHistoryIsEmpty=The history is empty
-historyHasNotReached=History has not yet reached ${number}
-variableUnknown=Variable ${variable} unknown
-expressionCouldNotBeParsed=Expression could not be parsed correctly:
-couldNotConvertToNumber=Could not convert to a number: ${value}
-commandsLimitedToSpecifiedSwf=Commands limited to source files from ${swf}
-commandsApplyToAllSwfs=Source files from all swfs available within commands.
-notValidSwf=${swf} is not a valid SWF.
-frameDoesNotExist=Frame '${frameNumber}' does not exist.
-notANumber='${token}' not a number.
-expectedLineNumber=Expected line number; got ${token}
-expectedFileNumber=Expected file number; got ${token}
-noSourceFileWithSpecifiedName=No source file named '${name}'.
-noFunctionWithSpecifiedName=No function named '${name}'.
-ambiguousMatchingFilenames=Ambiguous matching file names:
-ambiguousMatchingFunctionNames=Ambiguous matching function names:
-functionInFile=${functionName} in ${filename}
-expectedFile=Expected file name or file number starting with #; got ${token}
-noSuchFileOrFunction=No file or function named '${token}'.
-localVariable=local
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=Expression must contain only a single variable
-lineJunk=Junk at end of line specification
-sourceFileNotFound=Source file not found.  Use the "directory" command to specify its\n\
-location on this machine.  Type "help directory" for important details\n\
-on how to specify a directory for source files that are in a package.
-lineNumberOutOfRange=Line number ${line} out of range; file ${filename} has ${total} lines
-noFilesFound=No files found
-sessionInProgress=Session already in progress
-waitingForPlayerToConnect=Waiting for Player to connect
-waitingToConnectToPlayer=Trying to connect to Player
-launchingWithUrl=Attempting to launch and connect to Player using URL
-playerConnectedSessionStarting=Player connected; session starting.
-setBreakpointsThenResume=Set breakpoints and then type 'continue' to resume the session.
-warningNotAllCommandsSupported=WARNING: The Player that you are using does not support all fdb commands.
-fileDoesNotExist=File not found: ${uri}
-failedToConnect=Failed to connect; session timed out.\n\
-Ensure that:\n\
-\ \ 1. you compiled your Flash movie with debugging on, and\n\
-\ \ 2. you are running the Debugger version of the Flash Player.
-manuallyLaunchPlayer=Just type 'run', and then manually launch the Player.
-sourceCommandRequiresPath='source' command requires pathname of file to source.
-fileNotFound=${filename}: No such file or directory.
-argumentRequired=Argument required (fault to handle).
-breakpointNotChanged=Breakpoint not changed.
-badWatchpointNumber=Bad watchpoint number.
-couldNotResolveExpression=Could not resolve expression into variable.
-notAllBreakpointsEnabled=Not all breakpoints enabled
-programNotBeingRun=The program is not being run.
-commandNotValidUntilPlayerSuspended=Command not valid until Player execution suspended; try 'halt' command.
-noHelpFileFound=No help file (fdbhelp*.txt) found.
-invalidTargetFault=Bad target name for ActionSetTarget instruction
-recursionLimitFault=Upper bound on recusion limit reached
-invalidWithFault=Target of 'with' statement not an object
-protoLimitFault=Search up prototype chain reached limit
-invalidUrlFault=Opening a URL failed
-exceptionFault=User exception thrown
-stackUnderflowFault=Stack underflow occurred
-divideByZeroFault=Divide by zero error
-scriptTimeoutFault=ActionScript code is not progressing
-errorWhileProcessingFile=An error occurred while processing the file (${exceptionMessage})
-unrecognizedAction=Unrecognized action ${action}
-typeCommandsForBreakpoint=Type commands for when breakpoint ${breakpointNumber} is hit, one per line.\n\
-End with a line saying just 'end'.
-breakpointNowUnconditional=Breakpoint ${breakpointNumber} now unconditional.
-watchpointCouldNotBeSet=A watchpoint for '${expression}' could not be set
-
-changedWatchpointMode=Watchpoint ${watchpointNumber} on expression '${expression}' now ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=read
-watchpointMode_write=write
-watchpointMode_readWrite=read-write
-
-createdWatchpoint=Watchpoint ${watchpointNumber} set on expression '${expression}'
-couldNotFindWatchpoint=The watch for '${variable}' could not be found or removed.
-noDisplayNumber=No display number ${displayNumber}
-badDisplayNumber=warning bad display number at or near '${token}'
-breakpointLocationNoLongerExists=Source file and line number no longer exist for breakpoint ${breakpointNumber}
-unknownCommand=Unknown command '${command}', ignoring it
-unknownSubcommand=Unknown ${commandCategory} command '${command}', ignoring it
-unknownEvent=Received unknown event of type '${type}', info = ${info}
-problemWithConnection=Problem with session connection, '${socketErrorMessage}', probably best to 'kill' it.
-unexpectedErrorWithStackTrace=Unexpected error while processing command.\n\
-For diagnostic purposes stack trace follows: 
-ambiguousCommand=Ambiguous command '${input}':
-faultHasNoTableEntry=Fault ${faultName} has no table entry
-swfInfo=${swfName} - ${size} bytes after decompression, ${scriptCount} scripts [#${min} - #${max}]${plus} ${moreInfo}, url is ${url}
-remainingSourceBeingLoaded=remaining source is still being loaded
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=\ (y or n)\ 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Delete all breakpoints?
-askDeleteAllAutoDisplay=Delete all auto-display expressions?
-askKillProgram=Kill the program being debugged?
-askProgramIsRunningExitAnyway=The program is running.  Exit anyway?
-askReinitSourcePath=Reinitialize source path to empty?
-askExpressionContainsAssignment=Your expression contains assignment! Continue?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Not confirmed.
-stopOnlyIfConditionMet=stop only if ${breakpointCondition}
-breakpointAlreadyHit=breakpoint already hit ${count} time(s)
-silentBreakpoint=silent
-getterFunction=Getter
-setterFunction=Setter
-function=Function
-unknownVariableType=<unknown>
-variableAttribute_dontEnumerate=don't enumerate
-variableAttribute_readOnly=read-only
-variableAttribute_localVariable=local
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=has namespace
-key16=Messages received:
-key17=Messages sent:
-key18=No source files found
-key19=No functions found
-key20=Function list being prepared in background;  Try again later.
-key21=--- SessionManager properties
-key22=--- Session properties
-stopped=Stopped
-key24=Player running.
-key25=No break information found
-key26=Variable unknown
-key27=Source information unknown, disassembled current location
-key28=Junk at end of line specification
-key29=No swf found for file ${arg3}
-key30=No function found
-key31=---- Displaying unmapped instructions at 0x${arg4} that were skipped ----
-key32=Line number ${arg5} out of range; file ${arg6} has ${arg7} lines
-key33=No files found
-key34=Player is not currently suspended on any actions.
-key35=in '${swfName}'
-atAddress=at ${address}
-haltedDueToFault=due to ${fault}
-noWorkersRunning=There are no workers running.
\ No newline at end of file
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_es.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_es.properties
deleted file mode 100644
index 5e4d52f..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_es.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=desarrollo
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. Reservados todos los derechos.
-noResponseException=El reproductor no respondi\u00f3 al comando como se esperaba; se cancel\u00f3 el comando.
-notSuspendedException=No puede emitirse el comando mientras el reproductor se est\u00e1 ejecutando.
-illegalStateException=El comando no es v\u00e1lido sin una sesi\u00f3n.
-illegalMonitorStateException=El comando no es v\u00e1lido cuando el reproductor se est\u00e1 ejecutando. Presione la tecla 'Intro' para detenerlo.
-playerDidNotStop=El reproductor no se detuvo como se esperaba. Presione la tecla 'Intro' para detenerlo.
-noSuchElementException=El comando esperaba al menos un argumento m\u00e1s.
-numberFormatException=El argumento del comando ten\u00eda formato de cadena y se esperaba que fuera de entero.
-socketException=Probablemente otro depurador Flash est\u00e9 ejecut\u00e1ndose; ci\u00e9rrelo. Detalles: '${message}'.
-versionException=No se admite el comando en este contexto.
-unexpectedError=Se produjo un error inesperado mientras se procesaba un comando.
-stackTraceFollows=A los fines de realizar un diagn\u00f3stico, a continuaci\u00f3n se muestra el seguimiento de la pila: 
-sessionEndedAbruptly=La sesi\u00f3n se cerr\u00f3 de manera abrupta.
-noUriReceived=No se recibi\u00f3 ninguna URI del reproductor
-noSourceFilesFound=No se encontraron archivos de origen
-unknownBreakpointLocation=<desconocido>
-unknownFilename=<desconocido>
-inFunctionAt=en ${functionName}() a 
-inSwf=en ${swf}
-nonRestorable=; No se restaura de la sesi\u00f3n anterior
-sourceDirectoriesSearched=Directorios de origen buscados:
-attemptingToSuspend=Intento por suspender la ejecuci\u00f3n del reproductor\u2026
-playerStopped=El reproductor se detuvo
-playerRunning=El reproductor se est\u00e1 ejecutando
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=No hay una pila disponible
-atFilename=en 
-noVariables=no existen variables
-noArguments=no existen argumentos
-notInValidFrame=No existe en un fotograma v\u00e1lido. Utilice el comando 'frame' para regresar al actual.
-noLocals=no hay ninguna variable local
-noScopeChain=no existe una cadena de \u00e1mbito
-noActiveSession=No hay ninguna sesi\u00f3n activa
-runWillLaunchUri=run' iniciar\u00e1 ${uri}
-targetUnknown=Se desconoce el destino
-noSWFs=no hay archivos SWF.
-unrecognizedFault=Falla no reconocida.
-noFunctionsFound=No se encontraron funciones
-functionListBeingPrepared=Se est\u00e1 preparando la lista de funciones en segundo plano; int\u00e9ntelo de nuevo m\u00e1s tarde.
-functionsInSourceFile=Funciones en ${sourceFile}
-breakpointNotYetResolved=(a\u00fan no se ha resuelto)
-breakpointAmbiguous=(ambiguo)
-breakpointNoCode=(no hay c\u00f3digo ejecutable en la l\u00ednea especificada)
-sessionTerminated=Finaliz\u00f3 la sesi\u00f3n del reproductor
-additionalCodeLoaded=Se ha cargado c\u00f3digo ActionScript adicional desde un SWF o fotograma.\nPara ver todos los archivos cargados actualmente, escriba 'info files'.
-setAdditionalBreakpoints=Defina los puntos de corte adicionales como desee y luego escriba 'continue'.
-fixBreakpoints=Establezca o extraiga los puntos de corte err\u00f3neos, luego escriba 'continue'.
-executionHalted=Se detuvo la ejecuci\u00f3n
-hitBreakpoint=Punto de corte ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() en ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Falla]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, informaci\u00f3n=
-sizeAfterDecompression=${size} bytes despu\u00e9s de descomprimir
-breakpointNotPropagated=ADVERTENCIA: no se propag\u00f3 el punto de corte ${breakpointNumber} a todos los swfs.\nDebe borrarlo y establecerlo nuevamente.
-playerAlreadyRunning=El reproductor ya se est\u00e1 ejecutando, no necesita reiniciarlo.
-doYouWantToHalt=\u00bfDesea detener la ejecuci\u00f3n?
-debugInfoBeingLoaded=se est\u00e1 cargando informaci\u00f3n de depuraci\u00f3n en este momento
-attemptingToHalt=Intento por detener.\nPara ayudar, trate de desplazar el reproductor (por ejemplo, presione un bot\u00f3n)
-couldNotHalt=No se pudo detener, no se est\u00e1 ejecutando ning\u00fan ActionScript.
-escapingFromDebuggerPendingLoop=Escape desde el bucle pendiente del depurador; configuraci\u00f3n $nowaiting = 1
-continuingDueToError=Contin\u00faa debido al error '${error}'
-currentLocationUnknown=se desconoce la ubicaci\u00f3n actual
-cannotStep=No puede avanzar ahora. Establezca los puntos de corte y luego escriba 'continue'.
-abortingStep=El reproductor no ha regresado a tiempo; se anular\u00e1n los pasos restantes ${count}
-finishCommandNotMeaningfulOnOutermostFrame=finish' no es significativo para el fotograma exterior
-finishCommandNotMeaningfulWithoutStack=finish' no es significativo sin una pila
-noBreakpointNumber=No existe un n\u00famero de punto de corte ${breakpointNumber}
-badBreakpointNumber=se advierte que existe un n\u00famero de punto de corte err\u00f3neo en '${token}' o cerca de \u00e9ste
-commandFailed=El comando fall\u00f3.
-createdBreakpoint=Punto de corte ${breakpointNumber}: archivo ${file}, l\u00ednea ${line}
-createdBreakpointWithOffset=Punto de corte ${breakpointNumber} en ${offset}: archivo ${file}, l\u00ednea ${line}
-breakpointCreatedButNotYetResolved=Se cre\u00f3 el punto de corte ${breakpointNumber} pero a\u00fan no se resolvi\u00f3.\nEl punto de corte se resolver\u00e1 cuando se cargue el archivo o la funci\u00f3n correspondiente.
-fileNumber=archivo #${fileNumber}
-breakpointNotSetNoCode=El punto de corte no est\u00e1 establecido; no hay un c\u00f3digo ejecutable en la l\u00ednea ${line} de ${filename}
-breakpointLocationUnknown=Se desconoce la ubicaci\u00f3n del punto de corte.
-breakpointNotCleared=No se borr\u00f3 el punto de corte.
-attemptingToResolve=Intento por resolver el punto de corte ${breakpointNumber}, expresi\u00f3n "${expression}":
-noExecutableCode=No existe un c\u00f3digo ejecutable en la l\u00ednea especificada.
-resolvedBreakpointToFunction=Se resolvi\u00f3 el punto de corte ${breakpointNumber} para ${functionName}() en ${file}:${line}
-resolvedBreakpointToFile=Se resolvi\u00f3 el punto de corte ${breakpointNumber} para ${file}:${line}
-setCommand=El comando de configuraci\u00f3n requiere una variable seguida de una expresi\u00f3n
-missingOperator=La expresi\u00f3n debe contener el operador '${operator}'.
-noSideEffectsAllowed=La expresi\u00f3n no debe producir efectos secundarios, como la asignaci\u00f3n.
-couldNotEvaluate=No pudo evaluarse la expresi\u00f3n.
-commandHistoryIsEmpty=El historial est\u00e1 vac\u00edo.
-historyHasNotReached=El historial a\u00fan no ha alcanzado ${number}
-variableUnknown=Variable ${variable} desconocida
-expressionCouldNotBeParsed=No se pudo analizar la expresi\u00f3n de manera correcta:
-couldNotConvertToNumber=No se pudo convertir a un n\u00famero: ${value}
-commandsLimitedToSpecifiedSwf=Los comandos se limitan a los archivos de origen de ${swf}
-commandsApplyToAllSwfs=Los archivos de origen de todos los swfs est\u00e1n disponibles en los comandos.
-notValidSwf=${swf} no es un archivo SWF v\u00e1lido.
-frameDoesNotExist=El fotograma '${frameNumber}' no existe.
-notANumber=${token}' no es un n\u00famero.
-expectedLineNumber=N\u00famero de l\u00ednea esperado; se obtuvo ${token}
-expectedFileNumber=N\u00famero de archivo esperado; se obtuvo ${token}
-noSourceFileWithSpecifiedName=No existe un archivo de origen con el nombre '${name}'.
-noFunctionWithSpecifiedName=No existe una funci\u00f3n que se llame '${name}'.
-ambiguousMatchingFilenames=Nombres de archivos coincidentes ambiguos:
-ambiguousMatchingFunctionNames=Nombres de funciones coincidentes ambiguas:
-functionInFile=${functionName} en ${filename}
-expectedFile=Se espera un nombre o n\u00famero de archivo que comience con #; se obtuvo ${token}
-noSuchFileOrFunction=No existe un archivo o una funci\u00f3n con el nombre '${token}'.
-localVariable=local
-functionArgumentVariable=argumento
-mustBeOnlyOneVariable=La expresi\u00f3n debe contener s\u00f3lo una variable individual.
-lineJunk=Elementos innecesarios al final de la especificaci\u00f3n de l\u00ednea
-sourceFileNotFound=No se encontr\u00f3 el archivo de origen. Utilice el comando "directory" para especificar su\nubicaci\u00f3n en esta m\u00e1quina. Escriba "help directory" para obtener los detalles importantes\nsobre c\u00f3mo establecer un directorio para los archivos de origen que se encuentran en un paquete. 
-lineNumberOutOfRange=N\u00famero de l\u00ednea ${line} fuera del rango; el archivo ${filename} tiene ${total} l\u00edneas
-noFilesFound=No se encontraron archivos
-sessionInProgress=La sesi\u00f3n ya est\u00e1 en curso
-waitingForPlayerToConnect=Esperando que el reproductor establezca conexi\u00f3n
-waitingToConnectToPlayer=Intentando conectar a Player
-launchingWithUrl=Intento por iniciar y conectarse al reproductor por medio de una URL
-playerConnectedSessionStarting=El reproductor est\u00e1 conectado; comienza la sesi\u00f3n.
-setBreakpointsThenResume=Defina los puntos de corte y luego escriba 'continue' para reiniciar la sesi\u00f3n.
-warningNotAllCommandsSupported=ADVERTENCIA: El reproductor que est\u00e1 utilizando no admite todos los comandos fdb.
-fileDoesNotExist=No se encontr\u00f3 el archivo: ${uri}
-failedToConnect=Error en la conexi\u00f3n; agotado el tiempo de espera de la sesi\u00f3n.\nAseg\u00farese de que:\n  1. compil\u00f3 su pel\u00edcula Flash con el depurador encendido y\n  2. est\u00e1 ejecutando la versi\u00f3n del depurador de Flash Player.
-manuallyLaunchPlayer=Escriba 'run' y, luego, inicie el reproductor manualmente.
-sourceCommandRequiresPath=el comando 'source' requiere el nombre de ruta del archivo de origen.
-fileNotFound=${filename}: no existe ese archivo o directorio.
-argumentRequired=Argumento requerido (falla en el manejo).
-breakpointNotChanged=No se cambi\u00f3 el punto de corte.
-badWatchpointNumber=N\u00famero de punto de observaci\u00f3n err\u00f3neo.
-couldNotResolveExpression=No se pudo resolver la expresi\u00f3n en la variable.
-notAllBreakpointsEnabled=No se activaron todos los puntos de corte
-programNotBeingRun=El programa no se est\u00e1 ejecutando.
-commandNotValidUntilPlayerSuspended=El comando no es v\u00e1lido hasta que se suspenda la ejecuci\u00f3n del reproductor; intente con el comando 'halt'.
-noHelpFileFound=No se encontr\u00f3 ning\u00fan archivo de ayuda (fdbhelp*.txt).
-invalidTargetFault=Nombre de destino err\u00f3neo para la instrucci\u00f3n ActionSetTarget
-recursionLimitFault=Se alcanz\u00f3 el limite superior del l\u00edmite de recursi\u00f3n.
-invalidWithFault=El destino de la declaraci\u00f3n 'with' no es un objeto
-protoLimitFault=La cadena de prototipo de b\u00fasqueda alcanz\u00f3 el l\u00edmite.
-invalidUrlFault=Error al abrir una URL
-exceptionFault=Se emiti\u00f3 una excepci\u00f3n del usuario
-stackUnderflowFault=Se produjo un subdesbordamiento de pila
-divideByZeroFault=Error de divisi\u00f3n por cero
-scriptTimeoutFault=El c\u00f3digo ActionScript no est\u00e1 progresando
-errorWhileProcessingFile=Se produjo un error mientras se procesaba el archivo (${exceptionMessage})
-unrecognizedAction=Acci\u00f3n no reconocida ${action}
-typeCommandsForBreakpoint=Escriba los comandos para cuando se alcance el punto de corte ${breakpointNumber}, uno por l\u00ednea.\nFinalice con una l\u00ednea que s\u00f3lo diga 'end'.
-breakpointNowUnconditional=El punto de corte ${breakpointNumber} ahora es incondicional.
-watchpointCouldNotBeSet=No se pudo establecer un punto de observaci\u00f3n para '${expression}'
-
-changedWatchpointMode=El punto de observaci\u00f3n ${watchpointNumber} en la expresi\u00f3n '${expression}' es ahora ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=lectura
-watchpointMode_write=escritura
-watchpointMode_readWrite=lectura-escritura
-
-createdWatchpoint=Punto de observaci\u00f3n ${watchpointNumber} establecido en la expresi\u00f3n '${expression}'
-couldNotFindWatchpoint=No se pudo encontrar o extraer la alerta para '${variable}'.
-noDisplayNumber=No existe un n\u00famero de visualizaci\u00f3n ${displayNumber}
-badDisplayNumber=se advierte que existe un n\u00famero de visualizaci\u00f3n err\u00f3neo en '${token}' o cerca de \u00e9ste
-breakpointLocationNoLongerExists=El archivo de origen y el n\u00famero de l\u00ednea ya no existen para el punto de corte ${breakpointNumber}
-unknownCommand=Comando desconocido '${command}', ignorarlo
-unknownSubcommand=Comando '${command}' desconocido ${commandCategory}, ignorarlo
-unknownEvent=Se recibi\u00f3 un evento desconocido del tipo '${type}', info = ${info}
-problemWithConnection=Se detect\u00f3 un problema en la conexi\u00f3n de la sesi\u00f3n, '${socketErrorMessage}', quiz\u00e1s lo mejor sea cancelarla ('kill').
-unexpectedErrorWithStackTrace=Se produjo un error inesperado mientras se procesaba un comando.\nA los fines de realizar un diagn\u00f3stico, a continuaci\u00f3n se muestra el seguimiento de la pila:
-ambiguousCommand=Comando ambiguo '${input}':
-faultHasNoTableEntry=La falla ${faultName} no tiene entrada de tabla
-swfInfo=${swfName} - ${size} bytes despu\u00e9s de descomprimir, ${scriptCount} scripts [#${min} - #${max}]${plus} ${moreInfo}, la direcci\u00f3n url es ${url}
-remainingSourceBeingLoaded=el origen restante todav\u00eda se est\u00e1 cargando
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(y o n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\u00bfDesea borrar todos los puntos de corte?
-askDeleteAllAutoDisplay=\u00bfDesea borrar todas las expresiones de visualizaci\u00f3n autom\u00e1tica?
-askKillProgram=\u00bfDesea cerrar el programa que se est\u00e1 depurando?
-askProgramIsRunningExitAnyway=El programa se est\u00e1 ejecutando. \u00bfDesea salir de todos modos?
-askReinitSourcePath=\u00bfDesea reiniciar la ruta de acceso de origen para vaciarla?
-askExpressionContainsAssignment=Su expresi\u00f3n contiene una asignaci\u00f3n. \u00bfDesea continuar?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Sin confirmar.
-stopOnlyIfConditionMet=detener s\u00f3lo si ${breakpointCondition}
-breakpointAlreadyHit=el punto de corte ya marc\u00f3 ${count} veces
-silentBreakpoint=silencioso
-getterFunction=Getter
-setterFunction=Setter
-function=Funci\u00f3n
-unknownVariableType=<desconocido>
-variableAttribute_dontEnumerate=no enumerar
-variableAttribute_readOnly=s\u00f3lo lectura
-variableAttribute_localVariable=local
-variableAttribute_functionArgument=argumento
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=tiene espacio de nombre
-key16=Mensajes recibidos:
-key17=Mensajes enviados:
-key18=No se encontraron archivos de origen
-key19=No se encontraron funciones
-key20=Se est\u00e1 preparando la lista de funciones en segundo plano; int\u00e9ntelo de nuevo m\u00e1s tarde.
-key21=--- Propiedades de SessionManager
-key22=--- Propiedades de sesi\u00f3n
-stopped=Stopped
-key24=El reproductor se est\u00e1 ejecutando.
-key25=No se encontr\u00f3 ninguna informaci\u00f3n de cortes
-key26=Se desconoce la variable
-key27=Se desconoce la informaci\u00f3n de origen, se desmont\u00f3 la ubicaci\u00f3n actual
-key28=Elementos innecesarios al final de la especificaci\u00f3n de l\u00ednea
-key29=No se encontr\u00f3 ning\u00fan swf para el archivo ${arg3}
-key30=No se encontr\u00f3 ninguna funci\u00f3n
-key31=---- Visualizaci\u00f3n de las instrucciones no asignadas en 0x${arg4} que se saltearon ----
-key32=N\u00famero de l\u00ednea ${arg5} fuera del rango; el archivo ${arg6} tiene ${arg7} l\u00edneas
-key33=No se encontraron archivos 
-key34=Actualmente, no se suspendi\u00f3 ninguna de las acciones del reproductor.
-key35=en '${swfName}'
-atAddress=en ${address}
-haltedDueToFault=debido a ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fi.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fi.properties
deleted file mode 100644
index fa39036..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fi.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=kehitys
-about=Apache fdb (Flash Player Debugger) [versio ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Soitin ei vastannut komentoon odotetulla tavalla. Komento keskeytettiin.
-notSuspendedException=Komentoa ei voi antaa, kun soitin on k\u00e4ynniss\u00e4
-illegalStateException=Komento ei kelpaa ilman istuntoa.
-illegalMonitorStateException=Komento ei kelpaa k\u00e4ynniss\u00e4 olevassa soittimessa.  Keskeyt\u00e4 se painamalla 'Enter'.
-playerDidNotStop=Soitin ei pys\u00e4htynyt odotetusti.  Pys\u00e4yt\u00e4 se painamalla 'Enter'.
-noSuchElementException=Komento odotti ainakin yht\u00e4 lis\u00e4argumenttia.
-numberFormatException=Komentoargumentti oli merkkijono, kun odotettiin kokonaislukua.
-socketException=Toinen Flash-virheenkorjaus on luultavasti k\u00e4ynniss\u00e4. Sulje se. Tiedot: '${message}'.
-versionException=Komentoa ei tueta t\u00e4ss\u00e4 kontekstissa.
-unexpectedError=Odottamaton virhe komennon k\u00e4sittelemisess\u00e4.
-stackTraceFollows=Diagnostisista syist\u00e4 seuraa pinon j\u00e4ljitys: 
-sessionEndedAbruptly=Istunto p\u00e4\u00e4ttyi \u00e4killisesti.
-noUriReceived=Soittimelta ei vastaanotettu URI:t\u00e4
-noSourceFilesFound=L\u00e4hdetiedostoja ei l\u00f6ytynyt
-unknownBreakpointLocation=<tuntematon>
-unknownFilename=<tuntematon>
-inFunctionAt=kohteessa ${functionName}() / 
-inSwf=kohteessa ${swf}
-nonRestorable=; Ei palautettavissa edellisest\u00e4 istunnosta
-sourceDirectoriesSearched=Haetut l\u00e4hdehakemistot:
-attemptingToSuspend=Yritet\u00e4\u00e4n keskeytt\u00e4\u00e4 soittimen suorittamista\u2026
-playerStopped=Soitin on pys\u00e4ytetty
-playerRunning=Soitin on k\u00e4ynniss\u00e4
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Ei pinoa k\u00e4ytett\u00e4viss\u00e4
-atFilename=kohteessa 
-noVariables=ei muuttujia
-noArguments=ei argumenttej\u00e4
-notInValidFrame=Ei kelvollisessa kehyksess\u00e4.  Palaa nykyiseen komennolla 'frame'.
-noLocals=ei paikallisia
-noScopeChain=ei vaikutusalueketjua (scope chain)
-noActiveSession=Ei aktiivista istuntoa
-runWillLaunchUri=run' k\u00e4ynnist\u00e4\u00e4 kohteen ${uri}
-targetUnknown=Tuntematon kohde
-noSWFs=ei SWF:\u00e4\u00e4.
-unrecognizedFault=Tunnistamaton virhe.
-noFunctionsFound=Toimintoja ei l\u00f6ytynyt
-functionListBeingPrepared=Toimintoluetteloa valmistellaan taustalla, yrit\u00e4 my\u00f6hemmin uudelleen.
-functionsInSourceFile=Toiminnot kohteessa ${sourceFile}
-breakpointNotYetResolved=(ei viel\u00e4 ratkaistu)
-breakpointAmbiguous=(ep\u00e4selv\u00e4)
-breakpointNoCode=(m\u00e4\u00e4ritetyll\u00e4 rivill\u00e4 ei ole suoritettavaa koodia)
-sessionTerminated=Soittimen istunto p\u00e4\u00e4tettiin
-additionalCodeLoaded=ActionScript-lis\u00e4koodi ladattiin SWF:st\u00e4 tai kehyksest\u00e4.\nJos haluat n\u00e4hd\u00e4 kaikki ladatut tiedostot, kirjoita 'info files'.
-setAdditionalBreakpoints=M\u00e4\u00e4rit\u00e4 haluamasi lis\u00e4keskeytyskohdat ja kirjoita 'continue'.
-fixBreakpoints=Korjaa tai poista virheelliset keskeytyskohdat ja kirjoita 'continue'.
-executionHalted=Suorittaminen keskeytettiin
-hitBreakpoint=Keskeytyskohta ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() kohteessa ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Virhe]
-linePrefixWhenDisplayingFault=[Virhe]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, tietoja=
-sizeAfterDecompression=${size} tavua purkamisen j\u00e4lkeen
-breakpointNotPropagated=VAROITUS:  keskeytyskohtaa ${breakpointNumber} ei ole v\u00e4litetty kaikille swfs:lle.\nTyhjenn\u00e4 se ja m\u00e4\u00e4rit\u00e4 se uudelleen.
-playerAlreadyRunning=Soitin on jo k\u00e4ynniss\u00e4, ei tarvetta jatkaa.
-doYouWantToHalt=Haluatko yritt\u00e4\u00e4 suorittamisen pys\u00e4ytt\u00e4mist\u00e4?
-debugInfoBeingLoaded=virheenkorjaustietoja ladataan
-attemptingToHalt=Yritet\u00e4\u00e4n keskeytt\u00e4\u00e4.\nKokeile liikauttaa soitinta (esim. painamalla painiketta)
-couldNotHalt=Ei voitu keskeytt\u00e4\u00e4, kohdetta ActionScript ei ole k\u00e4ynniss\u00e4.
-escapingFromDebuggerPendingLoop=Poistutaan viankorjauksen odotussilmukasta; asetus $nowaiting = 1
-continuingDueToError=Jatketaan virheen '${error}' takia
-currentLocationUnknown=nykyinen sijainti tuntematon
-cannotStep=Et voi jatkaa nyt.  M\u00e4\u00e4rit\u00e4 keskeytyskohdat ja kirjoita 'continue'.
-abortingStep=Soitin ei palannut ajoissa, loput ${count} vaihetta keskeytet\u00e4\u00e4n
-finishCommandNotMeaningfulOnOutermostFrame=finish' ei tarkoituksenmukainen uloimmalle kehykselle
-finishCommandNotMeaningfulWithoutStack=finish' ei tarkoituksenmukainen ilman pinoa
-noBreakpointNumber=Ei keskeytyskohdan numeroa ${breakpointNumber}
-badBreakpointNumber=varoitus: virheellinen keskeytyskohdan numero kohdassa '${token}' tai sen l\u00e4hell\u00e4
-commandFailed=Komento ep\u00e4onnistui.
-createdBreakpoint=Keskeytyskohta ${breakpointNumber}: tiedosto ${file}, rivi ${line}
-createdBreakpointWithOffset=Keskeytyskohta ${breakpointNumber} osoitteessa ${offset}: tiedosto ${file}, rivi ${line}
-breakpointCreatedButNotYetResolved=Keskeytyskohta ${breakpointNumber} luotiin, mutta sit\u00e4 ei ole viel\u00e4 ratkaistu.\nKeskeytyskohta ratkaistaan, kun sit\u00e4 vastaava tiedosto tai toiminto on ladattu.
-fileNumber=tiedosto #${fileNumber}
-breakpointNotSetNoCode=Keskeytyskohtaa ei m\u00e4\u00e4ritetty, ei suoritettavaa koodia rivill\u00e4 ${line} / ${filename}
-breakpointLocationUnknown=Keskeytyskohdan sijainti tuntematon.
-breakpointNotCleared=Keskeytyskohtaa ei tyhjennetty.
-attemptingToResolve=Yritet\u00e4\u00e4n ratkaista keskeytyskohtaa ${breakpointNumber}, lauseketta "${expression}":
-noExecutableCode=M\u00e4\u00e4ritetyll\u00e4 rivill\u00e4 ei ole suoritettavaa koodia.
-resolvedBreakpointToFunction=Keskeytyskohta ${breakpointNumber} ratkaistiin kohteeseen ${functionName}() kohdassa ${file}:${line}
-resolvedBreakpointToFile=Keskeytyskohta ${breakpointNumber} ratkaistiin kohteeseen ${file}:${line}
-setCommand=M\u00e4\u00e4ritetty komento vaatii muuttujan, jota seuraa lauseke
-missingOperator=Lausekkeen pit\u00e4\u00e4 sis\u00e4lt\u00e4\u00e4 operaattori '${operator}'.
-noSideEffectsAllowed=Lausekkeella ei saa olla sivuvaikutuksia, kuten m\u00e4\u00e4rityksi\u00e4.
-couldNotEvaluate=Lauseketta ei voitu arvioida.
-commandHistoryIsEmpty=Historia on tyhj\u00e4
-historyHasNotReached=Historiassa ei ole viel\u00e4 saavutettu numeroa ${number}
-variableUnknown=Muuttuja ${variable} on tuntematon
-expressionCouldNotBeParsed=Lauseketta ei voitu j\u00e4sent\u00e4\u00e4 oikein:
-couldNotConvertToNumber=Ei voitu muuntaa numeroon: ${value}
-commandsLimitedToSpecifiedSwf=Komennot rajoitettu l\u00e4hdetiedostoihin kohteesta ${swf}
-commandsApplyToAllSwfs=L\u00e4hdetiedostot kaikista swfs:st\u00e4 k\u00e4ytett\u00e4viss\u00e4 komennoissa.
-notValidSwf=${swf} ei ole kelvollinen SWF.
-frameDoesNotExist=Kehyst\u00e4 '${frameNumber}' ei ole.
-notANumber=${token}' ei ole numero.
-expectedLineNumber=Odotettu rivinumero: ${token}
-expectedFileNumber=Odotettu tiedostonumero: ${token}
-noSourceFileWithSpecifiedName=Ei l\u00e4hdetiedostoa nimelt\u00e4 '${name}'.
-noFunctionWithSpecifiedName=Ei toimintoa nimell\u00e4 '${name}'.
-ambiguousMatchingFilenames=Ep\u00e4selv\u00e4t vastaavat tiedostonimet:
-ambiguousMatchingFunctionNames=Ep\u00e4selv\u00e4t vastaavat toimintojen nimet:
-functionInFile=${functionName} tiedostossa ${filename}
-expectedFile=Odotettu tiedostonimi tai tiedostonumero, joka alkaa #: ${token}
-noSuchFileOrFunction=Ei tiedostoa tai toimintoa nimelt\u00e4 '${token}'.
-localVariable=paikallinen
-functionArgumentVariable=argumentti
-mustBeOnlyOneVariable=Lauseke saa sis\u00e4lt\u00e4\u00e4 vain yhden muuttujan
-lineJunk=Roskaa rivin m\u00e4\u00e4ritysten lopussa
-sourceFileNotFound=L\u00e4hdetiedostoa ei l\u00f6ytynyt.  K\u00e4yt\u00e4 "directory"-komentoa sen\nsijainnin m\u00e4\u00e4ritt\u00e4miseen t\u00e4ll\u00e4 koneella.  Kirjoita "help directory", niin n\u00e4et t\u00e4rkeit\u00e4 tietoja siit\u00e4,\nmiten hakemisto m\u00e4\u00e4ritet\u00e4\u00e4n pakkauksessa oleville l\u00e4hdetiedostoille.
-lineNumberOutOfRange=Rivinumero ${line} on alueen ulkopuolella, tiedostolla ${filename} on ${total} rivi\u00e4
-noFilesFound=Tiedostoja ei l\u00f6ytynyt
-sessionInProgress=Istunto on jo k\u00e4ynniss\u00e4
-waitingForPlayerToConnect=Odotetaan, ett\u00e4 soitin muodostaa yhteyden
-waitingToConnectToPlayer=Yhteytt\u00e4 Playeriin yritet\u00e4\u00e4n muodostaa
-launchingWithUrl=Yritet\u00e4\u00e4n k\u00e4ynnist\u00e4\u00e4 soitin ja yhdist\u00e4\u00e4 se URL:n avulla
-playerConnectedSessionStarting=Soitin yhdistetty. Istunto k\u00e4ynnistyy.
-setBreakpointsThenResume=M\u00e4\u00e4rit\u00e4 keskeytyskohdat ja jatka istuntoa kirjoittamalla 'continue'.
-warningNotAllCommandsSupported=VAROITUS: K\u00e4ytt\u00e4m\u00e4si soitin ei tue kaikkia fdb-komentoja.
-fileDoesNotExist=Tiedostoa ei l\u00f6ytynyt: ${uri}
-failedToConnect=Yhteytt\u00e4 ei voitu muodostaa, istunnon aikakatkaisu.\nVarmista, ett\u00e4:\n  1. kokosit Flash-elokuvan viankorjaus k\u00e4yt\u00f6ss\u00e4 ja ett\u00e4\n  2. suoritat Flash-soittimen viankorjausversiota.
-manuallyLaunchPlayer=Kirjoita 'run' ja k\u00e4ynnist\u00e4 soitin manuaalisesti.
-sourceCommandRequiresPath=source'-komento vaatii tiedoston polkunimen l\u00e4hteeseen.
-fileNotFound=${filename}: Tiedostoa tai kansiota ei ole.
-argumentRequired=Vaaditaan argumentti (vian k\u00e4sittelemiseen).
-breakpointNotChanged=Keskeytyskohta ei muuttunut.
-badWatchpointNumber=Virheellinen katselukohdan numero.
-couldNotResolveExpression=Lauseketta ei voitu ratkaista muuttujaksi.
-notAllBreakpointsEnabled=Kaikki keskeytyskohdat eiv\u00e4t ole k\u00e4yt\u00f6ss\u00e4
-programNotBeingRun=Ohjelma ei ole k\u00e4ynniss\u00e4.
-commandNotValidUntilPlayerSuspended=Komento ei kelpaa, ennen kuin soittimen suoritus on keskeytetty. Kokeile kirjoittaa 'halt'-komento.
-noHelpFileFound=Ohjetiedostoa (fdbhelp*.txt) ei l\u00f6ytynyt.
-invalidTargetFault=ActionSetTarget-ohjeen kohdenimi ei kelpaa
-recursionLimitFault=Rekursiorajan yl\u00e4raja saavutettu
-invalidWithFault=Kohteen 'with' kohde on lause, ei objekti
-protoLimitFault=Prototyyppiketjun haussa tuli raja vastaan
-invalidUrlFault=URL:n avaaminen ep\u00e4onnistui
-exceptionFault=Palautettiin k\u00e4ytt\u00e4j\u00e4poikkeus
-stackUnderflowFault=Tapahtui pinon alivuoto
-divideByZeroFault=Virhe: jaettu nollalla
-scriptTimeoutFault=ActionScript-koodi ei edisty
-errorWhileProcessingFile=Tapahtui virhe k\u00e4sitelt\u00e4ess\u00e4 tiedostoa (${exceptionMessage})
-unrecognizedAction=Tuntematon toiminto ${action}
-typeCommandsForBreakpoint=Kirjoita komennot, jotka suoritetaan, kun t\u00f6rm\u00e4t\u00e4\u00e4n keskeytyskohtaan ${breakpointNumber}, yksi rivi\u00e4 kohti.\nP\u00e4\u00e4t\u00e4 riviin, jolla lukee vain 'end'.
-breakpointNowUnconditional=Keskeytyskohta ${breakpointNumber} on nyt ehdoton.
-watchpointCouldNotBeSet=Lausekkeelle '${expression}' ei voitu m\u00e4\u00e4ritt\u00e4\u00e4 katselukohtaa
-
-changedWatchpointMode=Katselukohta ${watchpointNumber} lausekkeessa '${expression}' on nyt ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=luku
-watchpointMode_write=kirjoitus
-watchpointMode_readWrite=luku ja kirjoitus
-
-createdWatchpoint=Katselukohta ${watchpointNumber} m\u00e4\u00e4ritetty lausekkeessa '${expression}'
-couldNotFindWatchpoint=Muuttujan '${variable}' katselua ei l\u00f6ytynyt, tai se on poistettu.
-noDisplayNumber=Ei n\u00e4yt\u00f6n numeroa ${displayNumber}
-badDisplayNumber=varoitus: virheellinen n\u00e4yt\u00f6n numero kohdassa '${token}' tai sen l\u00e4hell\u00e4
-breakpointLocationNoLongerExists=L\u00e4hdetiedostoa ja rivinumeroa ei en\u00e4\u00e4 ole keskeytyskohdalle ${breakpointNumber}
-unknownCommand=Tuntematon komento '${command}', ohitetaan
-unknownSubcommand=Tuntematon ${commandCategory} komento '${command}', ohitetaan
-unknownEvent=Vastaanotettu tuntematon tapahtuma tyyppi\u00e4 '${type}', tiedot = ${info}
-problemWithConnection=Istunnon '${socketErrorMessage}' yhteysongelma. Istunto on todenn\u00e4k\u00f6isesti parasta poistaa.
-unexpectedErrorWithStackTrace=Odottamaton virhe komennon k\u00e4sittelemisess\u00e4.\nDiagnostisista syist\u00e4 seuraa pinon j\u00e4ljitys: 
-ambiguousCommand=Ep\u00e4selv\u00e4 komento '${input}':
-faultHasNoTableEntry=Virheell\u00e4 ${faultName} ei ole taulukkomerkint\u00e4\u00e4
-swfInfo=${swfName} - ${size} tavua purkamisen j\u00e4lkeen, ${scriptCount} komentosarjaa [#${min} - #${max}]${plus} ${moreInfo}, url on ${url}
-remainingSourceBeingLoaded=j\u00e4ljell\u00e4 olevaa l\u00e4hdett\u00e4 ladataan yh\u00e4
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(k tai e) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Poistetaanko kaikki keskeytyskohdat?
-askDeleteAllAutoDisplay=Poistetaanko kaikki automaattisen n\u00e4yt\u00f6n ilmaukset?
-askKillProgram=Haluatko poistaa ohjelman, josta korjataan virheit\u00e4?
-askProgramIsRunningExitAnyway=Ohjelma on k\u00e4ynniss\u00e4. Haluatko sulkea sen siit\u00e4 huolimatta?
-askReinitSourcePath=Alustetaanko l\u00e4hdepolku uudelleen tyhj\u00e4ksi?
-askExpressionContainsAssignment=Lauseke sis\u00e4lt\u00e4\u00e4 m\u00e4\u00e4rityksen. Haluatko jatkaa?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Ei vahvistettu.
-stopOnlyIfConditionMet=pys\u00e4yt\u00e4 vain, jos tapahtuu ${breakpointCondition}
-breakpointAlreadyHit=keskeytyskohtaan on jo osuttu ${count} kertaa
-silentBreakpoint=hiljainen
-getterFunction=Get-funktio
-setterFunction=Set-funktio
-function=Toiminto
-unknownVariableType=<tuntematon>
-variableAttribute_dontEnumerate=\u00e4l\u00e4 luetteloi
-variableAttribute_readOnly=vain-luku
-variableAttribute_localVariable=paikallinen
-variableAttribute_functionArgument=argumentti
-variableAttribute_getterFunction=Get-funktio
-variableAttribute_setterFunction=Set-funktio
-variableAttribute_hasNamespace=omistaa nimitilan
-key16=Vastaanotetut viestit:
-key17=L\u00e4hetetyt viestit:
-key18=L\u00e4hdetiedostoja ei l\u00f6ytynyt
-key19=Toimintoja ei l\u00f6ytynyt
-key20=Toimintoluetteloa valmistellaan taustalla, yrit\u00e4 my\u00f6hemmin uudelleen.
-key21=--- Istunnon hallinnan ominaisuudet
-key22=--- Istunnon ominaisuudet
-stopped=Stopped
-key24=Soitin on k\u00e4ynniss\u00e4.
-key25=Keskeytystietoja ei l\u00f6ytynyt
-key26=Tuntematon muuttuja
-key27=Tuntemattomat l\u00e4hdetiedot, nykyinen sijainti purettiin
-key28=Roskaa rivin m\u00e4\u00e4ritysten lopussa
-key29=Tiedostolle ${arg3} ei l\u00f6ytyny swf:\u00e4\u00e4
-key30=Toimintoa ei l\u00f6ytynyt
-key31=---- N\u00e4ytet\u00e4\u00e4n ohitetut m\u00e4\u00e4ritt\u00e4m\u00e4tt\u00f6m\u00e4t ohjeet kohteessa 0x${arg4} ----
-key32=Rivinumero ${arg5} on alueen ulkopuolella, tiedostolla ${arg6} on ${arg7} rivi\u00e4
-key33=Tiedostoja ei l\u00f6ytynyt
-key34=Soitinta ei ole keskeytetty mihink\u00e4\u00e4n toimintoon.
-key35=kohteessa '${swfName}'
-atAddress=osoitteessa ${address}
-haltedDueToFault=virheen ${fault} takia
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fr.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fr.properties
deleted file mode 100644
index 0c04985..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_fr.properties
+++ /dev/null
@@ -1,263 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=d\u00e9veloppement
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. Tous droits r\u00e9serv\u00e9s.
-noResponseException=Le lecteur n'a pas r\u00e9pondu \u00e0 la commande comme pr\u00e9vu ; commande annul\u00e9e.
-notSuspendedException=Impossible d'\u00e9mettre la commande lorsque le lecteur est en cours d'ex\u00e9cution
-illegalStateException=Commande incorrecte sans session.
-illegalMonitorStateException=La commande est incorrecte sur un lecteur en cours d'ex\u00e9cution. Appuyez sur la touche 'Entr\u00e9e' pour l'arr\u00eater
-playerDidNotStop=Le lecteur ne s'est pas arr\u00eat\u00e9 comme pr\u00e9vu. Appuyez sur la touche 'Entr\u00e9e' pour l'arr\u00eater
-noSuchElementException=La commande attendait au moins un argument suppl\u00e9mentaire.
-numberFormatException=L'argument de la command \u00e9tait une cha\u00eene alors qu'un entier \u00e9tait attendu.
-socketException=Un autre d\u00e9bogueur Flash est probablement en cours d'ex\u00e9cution ; veuillez le fermer. D\u00e9tails : '${message}'.
-versionException=Commande non prise en charge dans ce contexte.
-unexpectedError=Erreur inattendue lors du traitement de la commande.
-stackTraceFollows=Pour les diagnostics, la trace de la pile suit : 
-sessionEndedAbruptly=La session s'est termin\u00e9e brutalement.
-noUriReceived=Aucune URL re\u00e7ue du lecteur
-noSourceFilesFound=Aucun fichier source trouv\u00e9
-unknownBreakpointLocation=<inconnu>
-unknownFilename=<inconnu>
-inFunctionAt=dans ${functionName}() \u00e0 
-inSwf=dans ${swf}
-inWorker=Op\u00e9rateur ${worker}
-workerRunning=En cours d'ex\u00e9cution
-workerSuspended=Suspendu
-workerSelected=(Actif)
-mainThread=Thread principal\u00a0
-nonRestorable=; Aucun \u00e9l\u00e9ment \u00e0 restaurer de la session pr\u00e9c\u00e9dente
-sourceDirectoriesSearched=R\u00e9pertoires source dans lesquels rechercher :
-attemptingToSuspend=Tentative d'interruption de l'ex\u00e9cution du lecteur...
-playerStopped=Lecteur arr\u00eat\u00e9
-playerRunning=Lecteur en cours d'ex\u00e9cution
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Aucune pile disponible
-atFilename=\u00e0 
-noVariables=aucune variable
-noArguments=Aucun argument
-notInValidFrame=Pas dans une image valide. Utilisez la commande 'frame' pour revenir \u00e0 l'image en cours.
-noLocals=aucune variable locale
-noScopeChain=aucune cha\u00eene d'\u00e9tendue
-noActiveSession=Aucune session active
-runWillLaunchUri=run' va lancer ${uri}
-targetUnknown=Cible inconnue
-noSWFs=aucun fichier SWF.
-unrecognizedFault=Erreur non reconnue
-noFunctionsFound=Aucune fonction trouv\u00e9e
-functionListBeingPrepared=La liste des fonctions est en cours de pr\u00e9paration en arri\u00e8re-plan ; r\u00e9essayez ult\u00e9rieurement.
-functionsInSourceFile=Fonctions de ${sourceFile}
-breakpointNotYetResolved=(pas encore r\u00e9solu)
-breakpointAmbiguous=(ambigu)
-breakpointNoCode=(pas de code ex\u00e9cutable sur la ligne sp\u00e9cifi\u00e9e)
-sessionTerminated=La session du lecteur s'est termin\u00e9e
-additionalCodeLoaded=Un code ActionScript suppl\u00e9mentaire a \u00e9t\u00e9 charg\u00e9 depuis un fichier SWF ou une image.\nPour voir tous les fichiers actuellement charg\u00e9s, tapez 'info files'.
-workerChanged=Op\u00e9rateur actif modifi\u00e9 en op\u00e9rateur
-workerNotFound=Aucun op\u00e9rateur trouv\u00e9 pour cet ID
-setAdditionalBreakpoints=D\u00e9finissez les points d'arr\u00eat suppl\u00e9mentaires voulus, puis tapez 'continue'.
-fixBreakpoints=Corrigez ou supprimez les points d'arr\u00eat incorrect, puis tapez 'continue'.
-executionHalted=Ex\u00e9cution arr\u00eat\u00e9e
-hitBreakpoint=Point d'arr\u00eat ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() sur ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenWorkerCreated=[WorkerCreate]
-linePrefixWhenWorkerExit=[WorkerDestroy]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, information=
-sizeAfterDecompression=${size} octets apr\u00e8s la d\u00e9compression
-breakpointNotPropagated=AVERTISSEMENT : le point d'arr\u00eat ${breakpointNumber} n'est pas propag\u00e9 \u00e0 tous les WSFs.\nVous devez l'effacer et le red\u00e9finir.
-playerAlreadyRunning=Le lecteur est d\u00e9j\u00e0 en cours d'ex\u00e9cution, il est inutile de le relancer.
-doYouWantToHalt=Voulez-vous essayer d'arr\u00eater l'ex\u00e9cution ?
-debugInfoBeingLoaded=informations de d\u00e9bogage en cours de chargement
-attemptingToHalt=Tentative d'arr\u00eat.\nPour aider, essayez de repositionner le lecteur (en appuyant sur un bouton)
-couldNotHalt=Arr\u00eat impossible, aucun ActionScript n'est en cours d'ex\u00e9cution.
-escapingFromDebuggerPendingLoop=Sortie de la boucle d'attente du d\u00e9bogeur ; d\u00e9finition de $nowaiting = 1
-continuingDueToError=Continue en raison de l'erreur '${error}'
-currentLocationUnknown=emplacement actuel inconnu
-cannotStep=Vous pouvez maintenant intervenir. D\u00e9finissez les points d'arr\u00eat et tapez 'continue'.
-abortingStep=Le lecteur n'est pas revenu \u00e0 temps ; abandon des ${count} \u00e9tapes restantes
-finishCommandNotMeaningfulOnOutermostFrame=finish' peu significatif sur l'image ext\u00e9rieure
-finishCommandNotMeaningfulWithoutStack=finish' peu significatif sans pile
-noBreakpointNumber=Aucun num\u00e9ro de point d'arr\u00eat ${breakpointNumber}
-badBreakpointNumber=avertissement d'un num\u00e9ro de point d'arr\u00eat incorrect sur ou pr\u00e8s de '${token}'
-commandFailed=Echec de la commande.
-createdBreakpoint=Point d'arr\u00eat ${breakpointNumber} : fichier ${file}, ligne ${line}
-createdBreakpointWithOffset=Point d'arr\u00eat ${breakpointNumber} \u00e0 ${offset} : fichier ${file}, ligne ${line}
-breakpointCreatedButNotYetResolved=Point d'arr\u00eat ${breakpointNumber} cr\u00e9\u00e9, mais pas encore r\u00e9solu.\nLe point d'arr\u00eat sera r\u00e9solu lorsque le fichier ou la fonction correspondant sera charg\u00e9.
-fileNumber=fichier #${fileNumber}
-breakpointNotSetNoCode=Point d'arr\u00eat non d\u00e9fini ; aucune code ex\u00e9cutable \u00e0 la ligne ${line} de ${filename}
-breakpointLocationUnknown=Emplacement du point d'arr\u00eat inconnu.
-breakpointNotCleared=Point d'arr\u00eat non effac\u00e9.
-attemptingToResolve=Tentative de r\u00e9solution du point d'arr\u00eat ${breakpointNumber}, expression "${expression}" :
-noExecutableCode=Aucun code ex\u00e9cutable sur la ligne sp\u00e9cifi\u00e9e.
-resolvedBreakpointToFunction=Point d'arr\u00eat r\u00e9solu ${breakpointNumber} sur ${functionName}() dans ${file}:${line}
-resolvedBreakpointToFile=Point d'arr\u00eat r\u00e9solu ${breakpointNumber} sur ${file}:${line}
-setCommand=La commande Set requiert une variable suivie d'une expression
-missingOperator=L'expression doit contenir l'op\u00e9rateur '${operator}'.
-noSideEffectsAllowed=L'expression ne doit pas avoir d'effet secondaire comme une affectation.
-couldNotEvaluate=Impossible d'\u00e9valuer l'expression.
-commandHistoryIsEmpty=L'historique est vide
-historyHasNotReached=L'historique n'a pas encore atteint ${number}
-variableUnknown=Variable ${variable} inconnue
-expressionCouldNotBeParsed=Impossible d'analyser l'expression correctement :
-couldNotConvertToNumber=Impossible de convertir en un nombre : ${value}
-commandsLimitedToSpecifiedSwf=Commandes limit\u00e9es aux fichiers source de ${swf}
-commandsApplyToAllSwfs=Fichiers source de tous les SWFs disponibles dans les commandes.
-notValidSwf=${swf} n'est pas un fichier SWF correct.
-frameDoesNotExist=L'image '${frameNumber}' n'existe pas.
-notANumber=${token}' n'est pas un nombre.
-expectedLineNumber=Num\u00e9ro de ligne attendu ; ${token} re\u00e7u
-expectedFileNumber=Num\u00e9ro de fichier attendu ; ${token} re\u00e7u
-noSourceFileWithSpecifiedName=Aucun fichier source nomm\u00e9 '${name}'.
-noFunctionWithSpecifiedName=Aucune fonction nomm\u00e9e '${name}'.
-ambiguousMatchingFilenames=Noms de fichiers correspondants ambigus :
-ambiguousMatchingFunctionNames=Noms de fonctions correspondantes ambigus :
-functionInFile=${functionName} dans ${filename}
-expectedFile=Nom de fichier attendu ou num\u00e9ro de fichier commen\u00e7ant par # ; ${token} re\u00e7u
-noSuchFileOrFunction=Aucun fichier ou fonction nomm\u00e9 '${token}'.
-localVariable=variable locale
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=L'expression ne doit contenir qu'une seule variable
-lineJunk=Sp\u00e9cification de texte ind\u00e9sirable \u00e0 l'extr\u00e9mit\u00e9 de la ligne
-sourceFileNotFound=Fichier source introuvable. Utilisez la commande "directory" pour indiquer son\nemplacement sur cet ordinateur. Tapez "help directory" pour afficher des informations importantes\nsur la d\u00e9finition d'un r\u00e9pertoire pour les fichiers source qui se trouvent dans un package.
-lineNumberOutOfRange=Num\u00e9ro de ligne ${line} hors plage ; le fichier ${filename} poss\u00e8de ${total} lignes
-noFilesFound=Aucun fichier trouv\u00e9
-sessionInProgress=La session est d\u00e9j\u00e0 en cours
-waitingForPlayerToConnect=Attente de connexion du lecteur
-waitingToConnectToPlayer=Tentative de connexion au lecteur
-launchingWithUrl=Tentative de lancement et de connexion au lecteur avec l'URL
-playerConnectedSessionStarting=Lecteur connect\u00e9 ; lancement de la session.
-setBreakpointsThenResume=D\u00e9finissez des points d'arr\u00eat, puis tapez 'continue' pour reprendre la session.
-warningNotAllCommandsSupported=AVERTISSEMENT : le lecteur que vous utilisez ne prend pas en charge toutes les commandes fdb.
-fileDoesNotExist=Fichier introuvable : ${uri}
-failedToConnect=Echec de la connexion; la session est arriv\u00e9e \u00e0 expiration.\nV\u00e9rifiez que :\n  1. vous avez compil\u00e9 votre animation Flash avec le d\u00e9bogage activ\u00e9 et que\n  2. vous ex\u00e9cutez la version d\u00e9bogueur de Flash Player.
-manuallyLaunchPlayer=Tapez 'run', puis lancez manuellement le lecteur.
-sourceCommandRequiresPath=la commande 'source' n\u00e9cessite le nom de chemin du fichier vers la source.
-fileNotFound=${filename} : aucun fichier ou r\u00e9pertoire de ce nom.
-argumentRequired=Argument obligatoire (erreur \u00e0 g\u00e9rer).
-breakpointNotChanged=Point d'arr\u00eat inchang\u00e9.
-badWatchpointNumber=Num\u00e9ro de point de contr\u00f4le incorrect.
-couldNotResolveExpression=Impossible de r\u00e9soudre l'expression en variable.
-notAllBreakpointsEnabled=Tous les points d'arr\u00eat ne sont pas activ\u00e9s
-programNotBeingRun=Le programme n'est pas ex\u00e9cut\u00e9.
-commandNotValidUntilPlayerSuspended=La commande n'est pas valide tant que l'ex\u00e9cution du lecteur n'est pas interrompue ; essayez la commande 'halt'.
-noHelpFileFound=Aucun fichier d'aide (fdbhelp*.txt) trouv\u00e9.
-invalidTargetFault=Nom de cible incorrect pour l'instruction ActionSetTarget
-recursionLimitFault=Limite maximale de la limite de r\u00e9cursion atteinte
-invalidWithFault=La cible de l'instruction 'with' n'est pas un objet
-protoLimitFault=La cha\u00eene prototype de recherche a atteint la limite
-invalidUrlFault=Echec de l'ouverture d'une URL
-exceptionFault=Exception utilisateur \u00e9mise
-stackUnderflowFault=Un d\u00e9passement n\u00e9gatif de la pile a eu lieu
-divideByZeroFault=Erreur de division par z\u00e9ro
-scriptTimeoutFault=Le code ActionScript ne progresse pas
-errorWhileProcessingFile=Une erreur est survenue lors du traitement du fichier (${exceptionMessage})
-unrecognizedAction=Action ${action} non reconnue
-typeCommandsForBreakpoint=Tapez les commandes au moment o\u00f9 le point d'arr\u00eat ${breakpointNumber} est atteint, une par ligne.\nTerminez avec une ligne indiquant simplement 'end'.
-breakpointNowUnconditional=Le point d'arr\u00eat ${breakpointNumber} est maintenant inconditionnel.
-watchpointCouldNotBeSet=Un point de contr\u00f4le pour '${expression}' n'a pas pu \u00eatre d\u00e9fini
-
-changedWatchpointMode=Le point de contr\u00f4le ${watchpointNumber} sur l'expression '${expression}' est maintenant ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=lecture seule
-watchpointMode_write=\u00e9criture
-watchpointMode_readWrite=lecture-\u00e9criture
-
-createdWatchpoint=Point de contr\u00f4le ${watchpointNumber} d\u00e9fini sur l'expression '${expression}'
-couldNotFindWatchpoint=Impossible de trouver ou de supprimer le contr\u00f4le de '${variable}'.
-noDisplayNumber=Aucun num\u00e9ro d'affichage ${displayNumber}
-badDisplayNumber=avertissement d'un num\u00e9ro d'affichage incorrect sur ou pr\u00e8s de '${token}'
-breakpointLocationNoLongerExists=Le fichier source et le num\u00e9ro de ligne n'existe plus pour le point d'arr\u00eat ${breakpointNumber}
-unknownCommand=Commande inconnue '${command}', ignorer
-unknownSubcommand=Commande ${commandCategory} inconnue '${command}', ignorer
-unknownEvent=Ev\u00e9nement inconnu re\u00e7u du type '${type}', info = ${info}
-problemWithConnection=Probl\u00e8me de connexion de la session , '${socketErrorMessage}', il est probablement pr\u00e9f\u00e9rable de l'annuler.
-unexpectedErrorWithStackTrace=Erreur inattendue lors du traitement de la commande.\nPour les diagnostics, la trace de la pile suit : 
-ambiguousCommand=Commande ambigu\u00eb '${input}' :
-faultHasNoTableEntry=L'erreur ${faultName} ne poss\u00e8de pas d'entr\u00e9e de table
-swfInfo=${swfName} - ${size} octets apr\u00e8s la d\u00e9compression, ${scriptCount} scripts [#${min} - #${max}]${plus} ${moreInfo}, URL est ${url}
-remainingSourceBeingLoaded=la source restante est toujours en cours de chargement
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(o ou n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Supprimer tous les points d'arr\u00eat ?
-askDeleteAllAutoDisplay=Supprimer toutes les expressions d'affichage automatique (auto-display) ?
-askKillProgram=Voulez-vous annuler le programme en cours de d\u00e9bogage ?
-askProgramIsRunningExitAnyway=Le programme est en cours d'ex\u00e9cution. Voulez-vous le quitter ?
-askReinitSourcePath=Voulez-vous r\u00e9initialiser le chemin d'acc\u00e8s \u00e0 la source sur une valeur nulle ?
-askExpressionContainsAssignment=Votre expression contient une affectation. Voulez-vous continuer ?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Non confirm\u00e9.
-stopOnlyIfConditionMet=arr\u00eater uniquement si ${breakpointCondition}
-breakpointAlreadyHit=le point le contr\u00f4le a d\u00e9j\u00e0 \u00e9t\u00e9 atteint ${count} fois
-silentBreakpoint=silencieux
-getterFunction=Accesseur Get
-setterFunction=Accesseur d'initialisation
-function=Fonctions de ${fileName}#${fileNumber}
-unknownVariableType=<inconnu>
-variableAttribute_dontEnumerate=ne pas \u00e9num\u00e9rer
-variableAttribute_readOnly=lecture seule
-variableAttribute_localVariable=variable locale
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=accesseur de lecture
-variableAttribute_setterFunction=Accesseur d'initialisation
-variableAttribute_hasNamespace=a un espace de noms
-key16=Messages re\u00e7us :
-key17=Messages envoy\u00e9s :
-key18=Aucun fichier source trouv\u00e9
-key19=Aucune fonction trouv\u00e9e
-key20=La liste des fonctions est en cours de pr\u00e9paration en arri\u00e8re-plan ; r\u00e9essayez ult\u00e9rieurement.
-key21=--- Propri\u00e9t\u00e9s SessionManager
-key22=--- Propri\u00e9t\u00e9s Session
-stopped=Stopped
-key24=Lecteur en cours d'ex\u00e9cution.
-key25=Informations d'arr\u00eat introuvables
-key26=Variable inconnue
-key27=Informations source inconnues, emplacement actuel d\u00e9sassembl\u00e9
-key28=Sp\u00e9cification de texte non souhait\u00e9 \u00e0 l'extr\u00e9mit\u00e9 de la ligne
-key29=Aucun fichier SWF trouv\u00e9 pour le fichier ${arg3}
-key30=Aucune fonction trouv\u00e9e
-key31=---- Affichage des instructions non mapp\u00e9es \u00e0 0x${arg4} qui ont \u00e9t\u00e9 ignor\u00e9es ----
-key32=Num\u00e9ro de ligne ${arg5} hors plage ; le fichier ${arg6} poss\u00e8de ${arg7} lignes
-key33=Aucun fichier trouv\u00e9
-key34=Le lecteur n'est actuellement pas interrompu sur des actions.
-key35=dans '${swfName}'
-atAddress=\u00e0 ${adresse}
-haltedDueToFault=en raison de ${fault}
-noWorkersRunning=Aucun op\u00e9rateur en cours d\u2019ex\u00e9cution
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_it.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_it.properties
deleted file mode 100644
index d0cd6a5..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_it.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=sviluppo
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player non ha risposto al comando come previsto. Comando terminato.
-notSuspendedException=Impossibile inviare il comando mentre Player \u00e8 in esecuzione
-illegalStateException=Comando non valido senza una sessione.
-illegalMonitorStateException=Comando non valido con Player in esecuzione. Premere Invio per interromperlo.
-playerDidNotStop=Player non \u00e8 stato interrotto come previsto. Premere Invio per interromperlo.
-noSuchElementException=Per questo comando \u00e8 previsto almeno un altro argomento.
-numberFormatException=L'argomento del comando \u00e8 una stringa ma \u00e8 previsto un numero intero.
-socketException=\u00c8 probabile che sia in esecuzione un altro debugger Flash. Chiuderlo. Dettagli: "${message}".
-versionException=Comando non supportato in questo contesto.
-unexpectedError=Errore imprevisto durante l'elaborazione del comando.
-stackTraceFollows=A fini di diagnostica, di seguito viene riportata l'analisi dello stack: 
-sessionEndedAbruptly=Sessione terminata improvvisamente.
-noUriReceived=Non \u00e8 stato ricevuto alcun URI da Player
-noSourceFilesFound=Non \u00e8 stato trovato alcun file di origine
-unknownBreakpointLocation=<sconosciuto>
-unknownFilename=<sconosciuto>
-inFunctionAt=nella funzione ${functionName}() in 
-inSwf=in ${swf}
-nonRestorable=; Non ripristinabile da sessione precedente
-sourceDirectoriesSearched=Directory di origine in cui \u00e8 stata eseguita la ricerca:
-attemptingToSuspend=Tentativo di sospendere l'esecuzione di Player in corso...
-playerStopped=Player interrotto
-playerRunning=Player in esecuzione
-suspendReason_Unknown=Sconosciuto
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Non sono disponibili stack
-atFilename=in 
-noVariables=nessuna variabile
-noArguments=nessun argomento
-notInValidFrame=Frame non valido. Utilizzare il comando "frame" per tornare al frame corrente.
-noLocals=nessuna variabile locale
-noScopeChain=nessuna catena di ambito
-noActiveSession=Nessuna sessione attiva
-runWillLaunchUri=Il comando "run" avvia ${uri}
-targetUnknown=Destinazione sconosciuta
-noSWFs=nessun file SWF.
-unrecognizedFault=Errore non riconosciuto.
-noFunctionsFound=Non \u00e8 stata trovata alcuna funzione
-functionListBeingPrepared=La funzione \u00e8 in preparazione in background; riprovare pi\u00f9 tardi.
-functionsInSourceFile=Funzioni in ${sourceFile}
-breakpointNotYetResolved=(non ancora risolto)
-breakpointAmbiguous=(ambiguo)
-breakpointNoCode=(la riga specificata non contiene codice eseguibile)
-sessionTerminated=Sessione di Player terminata
-additionalCodeLoaded=\u00c8 stato caricato ulteriore codice ActionScript da un file SWF o da un frame.\nPer visualizzare tutti i file caricati attualmente, digitare "info files".
-setAdditionalBreakpoints=Impostare altri breakpoint, quindi digitare "continue".
-fixBreakpoints=Correggere o rimuovere i breakpoint non validi, quindi digitare "continue".
-executionHalted=Esecuzione sospesa
-hitBreakpoint=Breakpoint ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() in ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, information=
-sizeAfterDecompression=${size} byte dopo la decompressione
-breakpointNotPropagated=AVVERTIMENTO: breakpoint ${breakpointNumber} non propagato a tutti i file swf.\nCancellarlo e impostarlo di nuovo.
-playerAlreadyRunning=Player \u00e8 gi\u00e0 in esecuzione. Non \u00e8 necessario riprendere l'operazione.
-doYouWantToHalt=Intendete provare a interrompere l'esecuzione?
-debugInfoBeingLoaded=informazioni di debug in fase di caricamento
-attemptingToHalt=Tentativo di arresto in corso.\nProvare a sollecitare Player (ad esempio, premere un pulsante)
-couldNotHalt=Impossibile interrompere. Non \u00e8 in esecuzione alcun ActionScript.
-escapingFromDebuggerPendingLoop=Trasferimento dal debugger in attesa del loop; impostazione di $nowaiting su 1
-continuingDueToError=Proseguimento in seguito all'errore "${error}"
-currentLocationUnknown=posizione corrente sconosciuta
-cannotStep=Non \u00e8 possibile procedere passo a passo in questo momento. Impostare dei breakpoint e quindi digitare "continue".
-abortingStep=Player non ha risposto in tempo. I rimanenti ${count} passaggi verranno terminati.
-finishCommandNotMeaningfulOnOutermostFrame="finish" non ha alcun significato nel frame pi\u00f9 esterno
-finishCommandNotMeaningfulWithoutStack="finish" non ha alcun significato senza uno stack
-noBreakpointNumber=Nessun numero di breakpoint ${breakpointNumber}
-badBreakpointNumber=avvertimento: numero di breakpoint non valido in o in prossimit\u00e0 di "${token}"
-commandFailed=Comando non riuscito.
-createdBreakpoint=Breakpoint ${breakpointNumber}: file ${file}, riga ${line}
-createdBreakpointWithOffset=Breakpoint ${breakpointNumber} in ${offset}: file ${file}, riga ${line}
-breakpointCreatedButNotYetResolved=Breakpoint ${breakpointNumber} creato ma non ancora risolto.\nVerr\u00e0 risolto al caricamento del file o della funzione corrispondente.
-fileNumber=file #${fileNumber}
-breakpointNotSetNoCode=Breakpoint non impostato. La riga ${line} del file ${filename} non contiene codice eseguibile.
-breakpointLocationUnknown=Posizione breakpoint sconosciuta.
-breakpointNotCleared=Breakpoint non cancellato.
-attemptingToResolve=Tentativo di risoluzione del breakpoint ${breakpointNumber}, espressione "${expression}", in corso:
-noExecutableCode=La riga specificata non contiene codice eseguibile.
-resolvedBreakpointToFunction=Breakpoint ${breakpointNumber} risolto nella funzione ${functionName}() in ${file}:${line}
-resolvedBreakpointToFile=Breakpoint ${breakpointNumber} risolto in ${file}:${line}
-setCommand=Il comando di impostazione richiede una variabile seguita da un'espressione
-missingOperator=L'espressione deve contenere l'operatore "${operator}".
-noSideEffectsAllowed=L'espressione non deve causare effetti collaterali, ad esempio assegnazioni.
-couldNotEvaluate=Impossibile valutare l'espressione.
-commandHistoryIsEmpty=La cronologia \u00e8 vuota
-historyHasNotReached=La cronologia non \u00e8 ancora arrivata a ${number}
-variableUnknown=Variabile ${variable} sconosciuta
-expressionCouldNotBeParsed=Impossibile analizzare correttamente l'espressione:
-couldNotConvertToNumber=Impossibile convertire in numero: ${value}
-commandsLimitedToSpecifiedSwf=Comandi limitati ai file di origine dai file ${swf}
-commandsApplyToAllSwfs=File di origine da tutti i file swf disponibili nei comandi.
-notValidSwf=Il file ${swf} non \u00e8 un file SWF valido.
-frameDoesNotExist=Frame "${frameNumber}" inesistente.
-notANumber="${token}" non \u00e8 un numero.
-expectedLineNumber=Previsto numero di riga; ricevuto ${token}
-expectedFileNumber=Previsto numero di file; ricevuto ${token}
-noSourceFileWithSpecifiedName=Il file di origine denominato "${name}" non esiste.
-noFunctionWithSpecifiedName=Nessuna funzione denominata "${name}".
-ambiguousMatchingFilenames=Nomi di file corrispondenti ambigui:
-ambiguousMatchingFunctionNames=Nomi di funzioni corrispondenti ambigui:
-functionInFile=${functionName} in ${filename}
-expectedFile=Il nome o il numero di file deve iniziare per #; ricevuto ${token}
-noSuchFileOrFunction=Il file o la funzione denominata "${token}" non esiste.
-localVariable=variabile locale
-functionArgumentVariable=argomento
-mustBeOnlyOneVariable=L'espressione deve contenere solo una variabile
-lineJunk=Al termine della specifica della riga sono presenti elementi inutili
-sourceFileNotFound=File di origine non trovato. Utilizzare il comando "directory" per specificarne il\npercorso in questo computer. Digitare "help directory" per visualizzare informazioni importanti\nsu come specificare una directory per i file di origine contenuti in un pacchetto.
-lineNumberOutOfRange=Numero di riga ${line} fuori intervallo; il file ${filename} contiene ${total} righe
-noFilesFound=Non \u00e8 stato trovato alcun file
-sessionInProgress=Sessione gi\u00e0 in corso
-waitingForPlayerToConnect=In attesa della connessione di Player
-waitingToConnectToPlayer=Tentativo di connettersi a Player
-launchingWithUrl=Tentativo di avvio e di connessione a Player tramite URL
-playerConnectedSessionStarting=Player connesso. La sessione viene avviata.
-setBreakpointsThenResume=Impostare dei breakpoint, quindi digitare "continue" per riprendere la sessione.
-warningNotAllCommandsSupported=AVVERTIMENTO: la versione di Player utilizzata non supporta tutti i comandi fdb.
-fileDoesNotExist=File non trovato: ${uri}
-failedToConnect=Connessione non riuscita: timeout della sessione.\nVerificare che:\n  1. Il filmato Flash sia stato compilato con il debugging attivato e\n  2. Si sta eseguendo la versione Debugger di Flash Player.
-manuallyLaunchPlayer=Digitare "run" e avviare Player manualmente.
-sourceCommandRequiresPath=Il comando "source" richiede il percorso del file di origine.
-fileNotFound=${filename}: file o directory inesistente.
-argumentRequired=Argomento obbligatorio (errore di gestione).
-breakpointNotChanged=Breakpoint non modificato.
-badWatchpointNumber=Numero punto di controllo non valido.
-couldNotResolveExpression=Impossibile risolvere l'espressione in variabile.
-notAllBreakpointsEnabled=Non tutti i breakpoint sono abilitati
-programNotBeingRun=Il programma non viene eseguito.
-commandNotValidUntilPlayerSuspended=Comando non valido durante la sospensione dell'esecuzione di Player. Provare a utilizzare il comando "halt".
-noHelpFileFound=File della guida in linea (fdbhelp*.txt) non trovato.
-invalidTargetFault=Nome di destinazione non valido per l'istruzione ActionSetTarget
-recursionLimitFault=\u00c8 stato raggiunto il limite superiore della ricorsione
-invalidWithFault=La destinazione dell'istruzione "with" non \u00e8 un oggetto
-protoLimitFault=La ricerca in alto della catena di prototipi ha raggiunto il limite
-invalidUrlFault=Apertura di un URL non riuscita
-exceptionFault=Eccezione generata dall'utente
-stackUnderflowFault=Stack underflow occurred
-divideByZeroFault=Errore di divisione per zero
-scriptTimeoutFault=Il codice ActionScript non sta avanzando
-errorWhileProcessingFile=Errore durante l'elaborazione del file (${exceptionMessage})
-unrecognizedAction=Azione non riconosciuta ${action}
-typeCommandsForBreakpoint=Digitare i comandi da eseguire per il breakpoint ${breakpointNumber}, uno per riga.\nTerminare con una riga contenente "end" da solo.
-breakpointNowUnconditional=Il breakpoint ${breakpointNumber} \u00e8 ora non condizionale.
-watchpointCouldNotBeSet=Impossibile impostare punto di controllo per "${expression}"
-
-changedWatchpointMode=Il punto di controllo numero ${watchpointNumber} nell'espressione "${expression}" \u00e8 ora in modalit\u00e0 ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=lettura
-watchpointMode_write=scrittura
-watchpointMode_readWrite=lettura e scrittura
-
-createdWatchpoint=Punto di controllo numero ${watchpointNumber} impostato nell'espressione "${expression}"
-couldNotFindWatchpoint=Il punto di controllo di "${variable}" non \u00e8 stato trovato o \u00e8 stato rimosso.
-noDisplayNumber=Nessun numero di visualizzazione ${displayNumber}
-badDisplayNumber=avvertimento: numero di visualizzazione non valido in o in prossimit\u00e0 di "${token}"
-breakpointLocationNoLongerExists=Il file di origine e il numero di riga non esistono pi\u00f9 per il breakpoint ${breakpointNumber}
-unknownCommand=Comando sconosciuto "${command}". Verr\u00e0 ignorato.
-unknownSubcommand=Comando della categoria ${commandCategory} sconosciuto: "${command}". Il comando verr\u00e0 ignorato.
-unknownEvent=Ricevuto evento sconosciuto di tipo "${type}". Informazioni = ${info}.
-problemWithConnection=Problema con la connessione della sessione. "${socketErrorMessage}". Si consiglia di interromperla.
-unexpectedErrorWithStackTrace=Errore imprevisto durante l'elaborazione del comando.\nA fini di diagnostica, di seguito viene riportata l'analisi dello stack: 
-ambiguousCommand=Comando "${input}" ambiguo:
-faultHasNoTableEntry=Nessuna voce di tabella per l'errore ${faultName}
-swfInfo=${swfName} - ${size} byte dopo la decompressione, ${scriptCount} script [#${min} - #${max}]${plus} ${moreInfo}, URL: ${url}
-remainingSourceBeingLoaded=origine rimanente ancora in fase di caricamento
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(s o n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Intendete eliminare tutti i breakpoint?
-askDeleteAllAutoDisplay=Intendete eliminare tutte le espressioni a visualizzazione automatica?
-askKillProgram=Intendete interrompere il programma in fase di debug?
-askProgramIsRunningExitAnyway=Il programma \u00e8 in esecuzione. Intendete uscire lo stesso?
-askReinitSourcePath=Intendete svuotare il percorso di destinazione?
-askExpressionContainsAssignment=L'espressione contiene un'assegnazione. Intendete continuare?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Non confermato
-stopOnlyIfConditionMet=stop only if ${breakpointCondition}
-breakpointAlreadyHit=il breakpoint \u00e8 gi\u00e0 stato raggiunto ${count} volta/e
-silentBreakpoint=invisibile
-getterFunction=Propriet\u00e0 di richiamo
-setterFunction=Propriet\u00e0 di impostazione
-function=Funzione
-unknownVariableType=<sconosciuto>
-variableAttribute_dontEnumerate=non enumerare
-variableAttribute_readOnly=sola lettura
-variableAttribute_localVariable=locale
-variableAttribute_functionArgument=argomento
-variableAttribute_getterFunction=propriet\u00e0 di richiamo
-variableAttribute_setterFunction=propriet\u00e0 di impostazione
-variableAttribute_hasNamespace=ha lo spazio dei nomi
-key16=Messaggi ricevuti:
-key17=Messaggi inviati:
-key18=Non \u00e8 stato trovato alcun file di origine
-key19=Non \u00e8 stata trovata alcuna funzione
-key20=\u00c8 in corso la generazione dell'elenco delle funzioni in background; riprovare pi\u00f9 tardi.
-key21=--- Propriet\u00e0 di SessionManager
-key22=--- Propriet\u00e0 della sessione
-stopped=Stopped
-key24=Player in esecuzione.
-key25=Non sono state trovate informazioni di interruzione
-key26=Variabile sconosciuta
-key27=Informazioni di origine sconosciute. Posizione corrente disassemblata.
-key28=Al termine della specifica della riga sono presenti elementi inutili
-key29=Non \u00e8 stato trovato alcun file swf per il file ${arg3}
-key30=Non \u00e8 stata trovata alcuna funzione
-key31=---- Visualizzazione istruzioni non mappate in 0x${arg4} ignorate ----
-key32=Numero di riga ${arg5} fuori intervallo; il file ${arg6} contiene ${arg7} righe
-key33=Non \u00e8 stato trovato alcun file
-key34=Player non sospeso per tutte le azioni.
-key35=in "${swfName}"
-atAddress=in ${address}
-haltedDueToFault=a causa di ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ja.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ja.properties
deleted file mode 100644
index 7f68711..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ja.properties
+++ /dev/null
@@ -1,263 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=development
-about=Apache fdb (Flash Player Debugger) [\u30d3\u30eb\u30c9 ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player \u304c\u30b3\u30de\u30f3\u30c9\u306b\u5bfe\u3057\u3066\u4e88\u671f\u3055\u308c\u305f\u5fdc\u7b54\u3092\u3057\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30b3\u30de\u30f3\u30c9\u51e6\u7406\u306f\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f\u3002
-notSuspendedException=Player \u306e\u5b9f\u884c\u4e2d\u306b\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
-illegalStateException=\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u78ba\u7acb\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u30b3\u30de\u30f3\u30c9\u306f\u7121\u52b9\u3067\u3059\u3002
-illegalMonitorStateException=\u5b9f\u884c\u4e2d\u306e Player \u306b\u5bfe\u3059\u308b\u30b3\u30de\u30f3\u30c9\u304c\u7121\u52b9\u3067\u3059\u3002\u4e2d\u6b62\u3059\u308b\u306b\u306f\u3001Enter \u30ad\u30fc\u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-playerDidNotStop=Player \u304c\u4e88\u671f\u3057\u305f\u3068\u304a\u308a\u306b\u4e2d\u6b62\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e2d\u6b62\u3059\u308b\u306b\u306f\u3001Enter \u30ad\u30fc\u3092\u62bc\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-noSuchElementException=\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306b\u306f\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u5c11\u306a\u304f\u3068\u3082\u3042\u3068 1 \u3064\u5fc5\u8981\u3067\u3059\u3002
-numberFormatException=\u30b3\u30de\u30f3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u6574\u6570\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u5b9f\u969b\u306b\u306f\u30b9\u30c8\u30ea\u30f3\u30b0\u3067\u3059\u3002
-socketException=\u5225\u306e Flash \u30c7\u30d0\u30c3\u30ac\u30fc\u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u308c\u3092\u7d42\u4e86\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u8a73\u7d30 : '${message}'\u3002
-versionException=\u3053\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3067\u306f\u3001\u30b3\u30de\u30f3\u30c9\u306f\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
-unexpectedError=\u30b3\u30de\u30f3\u30c9\u306e\u51e6\u7406\u4e2d\u306b\u3001\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-stackTraceFollows=\u8a3a\u65ad\u3092\u884c\u3046\u305f\u3081\u3001\u7d9a\u3044\u3066\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059 : 
-sessionEndedAbruptly=\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u7a81\u7136\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002
-noUriReceived=Player \u304b\u3089 URI \u3092\u53d7\u4fe1\u3057\u307e\u305b\u3093\u3067\u3057\u305f
-noSourceFilesFound=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-unknownBreakpointLocation=<\u4e0d\u660e>
-unknownFilename=<\u4e0d\u660e>
-inFunctionAt=\u306e\u5834\u6240\u306b\u3042\u308b ${functionName}() \u5185 
-inSwf=${swf} \u5185
-inWorker=\u30ef\u30fc\u30ab\u30fc ${worker}
-workerRunning=\u5b9f\u884c\u4e2d
-workerSuspended=\u4e2d\u65ad
-workerSelected=(\u30a2\u30af\u30c6\u30a3\u30d6)
-mainThread=\u30e1\u30a4\u30f3\u30b9\u30ec\u30c3\u30c9
-nonRestorable=; \u76f4\u524d\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u304b\u3089\u5fa9\u5143\u3067\u304d\u307e\u305b\u3093
-sourceDirectoriesSearched=\u691c\u7d22\u3057\u305f\u30bd\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea :
-attemptingToSuspend=Player \u306e\u5b9f\u884c\u3092\u4e2d\u65ad\u3057\u3066\u3044\u307e\u3059...
-playerStopped=Player \u304c\u505c\u6b62\u3057\u307e\u3057\u305f
-playerRunning=Player \u306f\u5b9f\u884c\u4e2d\u3067\u3059
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=\u30b9\u30bf\u30c3\u30af\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-atFilename=\u5834\u6240 :  
-noVariables=\u5909\u6570\u304c\u3042\u308a\u307e\u305b\u3093
-noArguments=\u5f15\u6570\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-notInValidFrame=\u6709\u52b9\u306a\u30d5\u30ec\u30fc\u30e0\u5185\u306b\u3042\u308a\u307e\u305b\u3093\u3002\u73fe\u5728\u306e\u30d5\u30ec\u30fc\u30e0\u306b\u623b\u308b\u306b\u306f\u3001'frame' \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-noLocals=\u30ed\u30fc\u30ab\u30eb\u304c\u3042\u308a\u307e\u305b\u3093
-noScopeChain=\u30b9\u30b3\u30fc\u30d7\u30c1\u30a7\u30fc\u30f3\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-noActiveSession=\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u3042\u308a\u307e\u305b\u3093
-runWillLaunchUri=\u300crun\u300d\u3068\u5165\u529b\u3059\u308b\u3068\u3001${uri} \u304c\u8d77\u52d5\u3057\u307e\u3059
-targetUnknown=\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u4e0d\u660e\u3067\u3059
-noSWFs=SWF \u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-unrecognizedFault=\u4e0d\u660e\u306a\u30d5\u30a9\u30eb\u30c8
-noFunctionsFound=\u95a2\u6570\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-functionListBeingPrepared=\u95a2\u6570\u30ea\u30b9\u30c8\u3092\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u6e96\u5099\u4e2d\u3067\u3059\u3002\u5f8c\u3067\u3082\u3046\u4e00\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-functionsInSourceFile=${sourceFile} \u5185\u306e\u95a2\u6570
-breakpointNotYetResolved=(\u307e\u3060\u89e3\u6c7a\u3055\u308c\u3066\u3044\u307e\u305b\u3093)
-breakpointAmbiguous=(ambiguous)
-breakpointNoCode=(\u6307\u5b9a\u884c\u306b\u306f\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093)
-sessionTerminated=Player \u30bb\u30c3\u30b7\u30e7\u30f3\u304c\u7d42\u4e86\u3057\u307e\u3057\u305f
-additionalCodeLoaded=SWF \u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30d5\u30ec\u30fc\u30e0\u304b\u3089\u8ffd\u52a0\u306e ActionScript \u30b3\u30fc\u30c9\u304c\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3057\u305f\u3002\n\u73fe\u5728\u30ed\u30fc\u30c9\u3055\u308c\u3066\u3044\u308b\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a\u3059\u308b\u306b\u306f\u3001\u300cinfo files\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-workerChanged=\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30ef\u30fc\u30ab\u30fc\u304c\u30ef\u30fc\u30ab\u30fc\u306b\u5909\u66f4\u3055\u308c\u307e\u3057\u305f
-workerNotFound=\u305d\u306e ID \u306e\u30ef\u30fc\u30ab\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-setAdditionalBreakpoints=\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8ffd\u52a0\u8a2d\u5b9a\u3057\u3001\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u307e\u3059\u3002
-fixBreakpoints=\u4e0d\u6b63\u306a\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u4fee\u6b63\u307e\u305f\u306f\u524a\u9664\u3057\u3001\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-executionHalted=\u5b9f\u884c\u304c\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f
-hitBreakpoint=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber}
-haltedInFunction=\u7406\u7531 : ${reasonForHalting}\u3001\u95a2\u6570\u540d : ${functionName}()\u3001\u5834\u6240 : ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[\u30a8\u30e9\u30fc]
-linePrefixWhenDisplayingFault=[\u30d5\u30a9\u30eb\u30c8]
-linePrefixWhenWorkerCreated=[WorkerCreate]
-linePrefixWhenWorkerExit=[WorkerDestroy]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=\u3001\u60c5\u5831 =
-sizeAfterDecompression=${size} \u30d0\u30a4\u30c8 (\u89e3\u51cd\u5f8c)
-breakpointNotPropagated=\u8b66\u544a :  \u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u304c\u4e00\u90e8\u306e SWF \u30d5\u30a1\u30a4\u30eb\u306b\u53cd\u6620\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\n\u3053\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u3044\u3063\u305f\u3093\u89e3\u9664\u3057\u3001\u518d\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-playerAlreadyRunning=Player \u306f\u65e2\u306b\u5b9f\u884c\u4e2d\u3067\u3059\u3002\u518d\u958b\u306e\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-doYouWantToHalt=\u5b9f\u884c\u3092\u4e2d\u6b62\u3057\u307e\u3059\u304b?
-debugInfoBeingLoaded=\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u3092\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059
-attemptingToHalt=\u4e2d\u6b62\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002\n\u4e2d\u6b62\u51e6\u7406\u3092\u5b8c\u4e86\u3055\u305b\u308b\u306b\u306f\u3001Player \u3092\u64cd\u4f5c\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044 (\u30dc\u30bf\u30f3\u3092\u62bc\u3059\u306a\u3069)
-couldNotHalt=\u4e2d\u6b62\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002ActionScript \u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-escapingFromDebuggerPendingLoop=\u30c7\u30d0\u30c3\u30ac\u30fc\u306e\u4fdd\u7559\u4e2d\u306e\u30eb\u30fc\u30d7\u304b\u3089\u629c\u3051\u308b\u51e6\u7406\u3092\u5b9f\u884c\u4e2d\u3067\u3059: $nowaiting = 1 \u306b\u8a2d\u5b9a
-continuingDueToError=\u30a8\u30e9\u30fc ${error} \u304c\u767a\u751f\u3057\u305f\u305f\u3081\u3001\u7d9a\u884c\u3057\u3066\u3044\u307e\u3059
-currentLocationUnknown=\u73fe\u5728\u306e\u4f4d\u7f6e\u304c\u4e0d\u660e\u3067\u3059
-cannotStep=\u30b9\u30c6\u30c3\u30d7\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3001\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-abortingStep=\u4e00\u5b9a\u6642\u9593\u5185\u306b Player \u304b\u3089\u306e\u5fdc\u7b54\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u6b8b\u308a\u306e ${count} \u624b\u9806\u3092\u4e2d\u6b62\u3057\u3066\u3044\u307e\u3059
-finishCommandNotMeaningfulOnOutermostFrame=\u4e00\u756a\u5916\u5074\u306e\u30d5\u30ec\u30fc\u30e0\u3067\u306f\u3001'finish' \u306f\u7121\u610f\u5473\u3067\u3059
-finishCommandNotMeaningfulWithoutStack=\u30b9\u30bf\u30c3\u30af\u304c\u306a\u3044\u5834\u5408\u3001'finish' \u306f\u7121\u610f\u5473\u3067\u3059
-noBreakpointNumber=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u756a\u53f7 ${breakpointNumber} \u304c\u3042\u308a\u307e\u305b\u3093\u3002
-badBreakpointNumber='${token}' \u307e\u305f\u306f\u305d\u306e\u8fd1\u304f\u306b\u3001\u4e0d\u6b63\u306a\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u756a\u53f7\u304c\u3042\u308a\u307e\u3059
-commandFailed=\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-createdBreakpoint=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} : \u30d5\u30a1\u30a4\u30eb ${file}\u3001\u884c\u756a\u53f7 ${line}
-createdBreakpointWithOffset=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 : ${breakpointNumber}\u3001\u30aa\u30d5\u30bb\u30c3\u30c8 : ${offset}\u3001\u30d5\u30a1\u30a4\u30eb : ${file}\u3001\u884c\u756a\u53f7 : ${line}
-breakpointCreatedButNotYetResolved=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u307e\u3060\u89e3\u6c7a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\n\u5bfe\u5fdc\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u95a2\u6570\u304c\u30ed\u30fc\u30c9\u3055\u308c\u305f\u3068\u304d\u306b\u3001\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u89e3\u6c7a\u3055\u308c\u307e\u3059\u3002
-fileNumber=\u30d5\u30a1\u30a4\u30eb #${fileNumber}
-breakpointNotSetNoCode=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002"${filename}" \u306e\u884c\u756a\u53f7 ${line} \u306b\u3001\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093
-breakpointLocationUnknown=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306e\u4f4d\u7f6e\u304c\u4e0d\u660e\u3067\u3059\u3002
-breakpointNotCleared=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u89e3\u9664\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-attemptingToResolve=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber}\u3001\u5f0f "${expression}" \u3092\u89e3\u6c7a\u3057\u3066\u3044\u307e\u3059 :
-noExecutableCode=\u6307\u5b9a\u884c\u306b\u5b9f\u884c\u53ef\u80fd\u306a\u30b3\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-resolvedBreakpointToFunction=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u304c ${file}:${line} \u306e ${functionName}() \u306b\u89e3\u6c7a\u3055\u308c\u307e\u3057\u305f
-resolvedBreakpointToFile=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u304c ${file}:${line} \u306b\u89e3\u6c7a\u3055\u308c\u307e\u3057\u305f
-setCommand=set \u30b3\u30de\u30f3\u30c9\u3067\u306f\u3001\u5909\u6570\u306e\u5f8c\u306b\u5f0f\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
-missingOperator=\u5f0f\u306b\u6f14\u7b97\u5b50 '${operator}' \u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-noSideEffectsAllowed=\u5f0f\u3067\u306f\u4ee3\u5165\u306a\u3069\u306e\u526f\u4f5c\u7528\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-couldNotEvaluate=\u5f0f\u3092\u8a55\u4fa1\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-commandHistoryIsEmpty=\u5c65\u6b74\u304c\u7a7a\u3067\u3059
-historyHasNotReached=\u5c65\u6b74\u304c\u307e\u3060 ${number} \u306b\u9054\u3057\u3066\u3044\u307e\u305b\u3093
-variableUnknown=\u5909\u6570 ${variable} \u304c\u4e0d\u660e\u3067\u3059
-expressionCouldNotBeParsed=\u5f0f\u3092\u6b63\u3057\u304f\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f :
-couldNotConvertToNumber=\u6570\u5024\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f : ${value}
-commandsLimitedToSpecifiedSwf=\u30b3\u30de\u30f3\u30c9\u306f\u3001${swf} \u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u306e\u307f\u5b9f\u884c\u3067\u304d\u307e\u3059
-commandsApplyToAllSwfs=\u30b3\u30de\u30f3\u30c9\u3067\u306f\u3001\u3059\u3079\u3066\u306e SWF \u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3059\u308b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002
-notValidSwf=\\u201d${swf}\\u201d \u306f\u6709\u52b9\u306a SWF \u30d5\u30a1\u30a4\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-frameDoesNotExist=\u30d5\u30ec\u30fc\u30e0 '${frameNumber}' \u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-notANumber='${token}' \u306f\u6570\u5024\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-expectedLineNumber=\u884c\u756a\u53f7\u304c\u5fc5\u8981\u3067\u3059\u3002${token} \u304c\u53d6\u5f97\u3055\u308c\u307e\u3057\u305f\u3002
-expectedFileNumber=\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001${token} \u304c\u53d6\u5f97\u3055\u308c\u307e\u3057\u305f\u3002
-noSourceFileWithSpecifiedName='${name}' \u3068\u3044\u3046\u540d\u524d\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-noFunctionWithSpecifiedName=${name} \u3068\u3044\u3046\u540d\u524d\u306e\u95a2\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-ambiguousMatchingFilenames=\u3042\u3044\u307e\u3044\u4e00\u81f4\u306e\u30d5\u30a1\u30a4\u30eb\u540d :
-ambiguousMatchingFunctionNames=\u3042\u3044\u307e\u3044\u4e00\u81f4\u3057\u305f\u95a2\u6570\u540d :
-functionInFile=${filename} \u5185\u306e ${functionName}
-expectedFile=# \u3067\u59cb\u307e\u308b\u30d5\u30a1\u30a4\u30eb\u540d\u307e\u305f\u306f\u30d5\u30a1\u30a4\u30eb\u756a\u53f7\u304c\u5fc5\u8981\u3067\u3059\u304c\u3001${token} \u304c\u53d6\u5f97\u3055\u308c\u307e\u3057\u305f
-noSuchFileOrFunction='${token}' \u3068\u3044\u3046\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u95a2\u6570\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-localVariable=local
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=\u5f0f\u306b\u306f\u5909\u6570\u3092 1 \u3064\u306e\u307f\u6307\u5b9a\u3067\u304d\u307e\u3059
-lineJunk=\u884c\u6307\u5b9a\u306e\u672b\u5c3e\u3067\u7834\u68c4\u3057\u307e\u3059\u3002
-sourceFileNotFound=\\u30BD\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3053\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u4e0a\u306e\u5834\u6240\u3092\u6307\u5b9a\u3059\u308b\u306b\u306f\u3001\n\u300cdirectory\u300d \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30d1\u30c3\u30b1\u30fc\u30b8\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3059\u308b\u65b9\u6cd5\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u3001\n\u300chelp directory\u300d\u3068\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-lineNumberOutOfRange=\u884c\u756a\u53f7 ${line} \u306f\u7bc4\u56f2\u5916\u3067\u3059: \u30d5\u30a1\u30a4\u30eb "${filename}" \u306e\u884c\u6570\u306f ${total} \u884c\u3067\u3059
-noFilesFound=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-sessionInProgress=\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u65e2\u306b\u958b\u59cb\u3057\u3066\u3044\u307e\u3059
-waitingForPlayerToConnect=Player \u304c\u63a5\u7d9a\u3059\u308b\u306e\u3092\u5f85\u3063\u3066\u3044\u307e\u3059
-waitingToConnectToPlayer=Player \u306b\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
-launchingWithUrl=URL \u3092\u4f7f\u7528\u3057\u3066 Player \u3092\u8d77\u52d5\u3057\u3001\u63a5\u7d9a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059
-playerConnectedSessionStarting=Player \u304c\u63a5\u7d9a\u3055\u308c\u307e\u3057\u305f\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u958b\u59cb\u3057\u3066\u3044\u307e\u3059\u3002
-setBreakpointsThenResume=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3057\u3066\u300ccontinue\u300d\u3068\u5165\u529b\u3057\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u518d\u958b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-warningNotAllCommandsSupported=\u8b66\u544a : \u73fe\u5728\u4f7f\u7528\u3057\u3066\u3044\u308b Player \u3067\u306f\u3001\u4e00\u90e8\u306e fdb \u30b3\u30de\u30f3\u30c9\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-fileDoesNotExist=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f : ${uri}
-failedToConnect=\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3067\u3059\u3002\n\u6b21\u306e\u4e8b\u9805\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n  1. Flash \u30e0\u30fc\u30d3\u30fc\u306e\u30b3\u30f3\u30d1\u30a4\u30eb\u6642\u306b\u30c7\u30d0\u30c3\u30b0\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u306b\u3057\u305f\n  2. \u73fe\u5728\u5b9f\u884c\u3057\u3066\u3044\u308b Flash Player \u304c\u30c7\u30d0\u30c3\u30ac\u30fc\u30d0\u30fc\u30b8\u30e7\u30f3\u3067\u3042\u308b
-manuallyLaunchPlayer=\u300crun\u300d\u3068\u5165\u529b\u3057\u3001Player \u3092\u624b\u52d5\u3067\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-sourceCommandRequiresPath='source' \u30b3\u30de\u30f3\u30c9\u3067\u306f\u3001\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9\u540d\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-fileNotFound=${filename}: \u3053\u306e\u3088\u3046\u306a\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-argumentRequired=\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u5fc5\u8981\u3067\u3059 (handle \u306e\u30d5\u30a9\u30eb\u30c8\u30bf\u30a4\u30d7)\u3002
-breakpointNotChanged=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u5909\u66f4\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-badWatchpointNumber=\u76e3\u8996\u30dd\u30a4\u30f3\u30c8\u756a\u53f7\u304c\u4e0d\u6b63\u3067\u3059\u3002
-couldNotResolveExpression=\u5f0f\u3092\u5909\u6570\u306b\u89e3\u6c7a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-notAllBreakpointsEnabled=\u4e00\u90e8\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059
-programNotBeingRun=\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u73fe\u5728\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-commandNotValidUntilPlayerSuspended=Player \u306e\u5b9f\u884c\u304c\u4e2d\u65ad\u3055\u308c\u308b\u307e\u3067\u3001\u30b3\u30de\u30f3\u30c9\u306f\u7121\u52b9\u3067\u3059\u3002"halt"\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-noHelpFileFound=\u30d8\u30eb\u30d7\u30d5\u30a1\u30a4\u30eb (fdbhelp*.txt) \u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-invalidTargetFault=ActionSetTarget \u547d\u4ee4\u306b\u5bfe\u3059\u308b\u30bf\u30fc\u30b2\u30c3\u30c8\u540d\u304c\u4e0d\u6b63\u3067\u3059
-recursionLimitFault=\u518d\u5e30\u5236\u9650\u306e\u4e0a\u9650\u306b\u9054\u3057\u307e\u3057\u305f
-invalidWithFault='with' \u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3067\u306f\u3042\u308a\u307e\u305b\u3093
-protoLimitFault=\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u30c1\u30a7\u30fc\u30f3\u306e\u691c\u7d22\u304c\u5236\u9650\u306b\u9054\u3057\u307e\u3057\u305f
-invalidUrlFault=URL \u3092\u958b\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-exceptionFault=\u30e6\u30fc\u30b6\u30fc\u4f8b\u5916\u304c\u30b9\u30ed\u30fc\u3055\u308c\u307e\u3057\u305f
-stackUnderflowFault=\u30b9\u30bf\u30c3\u30af\u30a2\u30f3\u30c0\u30fc\u30d5\u30ed\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-divideByZeroFault=0 \u306b\u3088\u308b\u9664\u7b97\u306e\u30a8\u30e9\u30fc
-scriptTimeoutFault=ActionScript \u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u304c\u9032\u3093\u3067\u3044\u307e\u305b\u3093
-errorWhileProcessingFile=\u30d5\u30a1\u30a4\u30eb\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f (${exceptionMessage})\u3002
-unrecognizedAction=\u30a2\u30af\u30b7\u30e7\u30f3 ${action} \u304c\u8a8d\u8b58\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
-typeCommandsForBreakpoint=\\u30D6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u306b\u9054\u3057\u305f\u3089\u3001\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u307e\u3059\u3002\u3053\u306e\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u5404\u884c\u306b 1 \u3064\u3042\u308a\u307e\u3059\u3002\n'end' 
-breakpointNowUnconditional=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u304c\u89e3\u9664\u3055\u308c\u307e\u3057\u305f\u3002
-watchpointCouldNotBeSet='${expression}' \u306b\u5bfe\u3059\u308b\u76e3\u8996\u30dd\u30a4\u30f3\u30c8\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-
-changedWatchpointMode=\u5f0f '${expression}' \u306e\u76e3\u8996\u30dd\u30a4\u30f3\u30c8 ${watchpointNumber} \u304c ${watchpointMode} \u306b\u306a\u308a\u307e\u3057\u305f
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=read
-watchpointMode_write=write
-watchpointMode_readWrite=read-write
-
-createdWatchpoint=\u5f0f '${expression}' \u306b\u76e3\u8996\u30dd\u30a4\u30f3\u30c8 ${watchpointNumber} \u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
-couldNotFindWatchpoint='${variable}' \u306b\u5bfe\u3059\u308b\u76e3\u8996\u51e6\u7406\u3092\u691c\u51fa\u307e\u305f\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-noDisplayNumber=\u8868\u793a\u756a\u53f7 ${displayNumber} \u304c\u3042\u308a\u307e\u305b\u3093
-badDisplayNumber='${token}' \u307e\u305f\u306f\u305d\u306e\u8fd1\u304f\u306b\u3001\u4e0d\u6b63\u306a\u8868\u793a\u756a\u53f7\u304c\u3042\u308a\u307e\u3059
-breakpointLocationNoLongerExists=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8 ${breakpointNumber} \u306b\u5bfe\u3059\u308b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3068\u884c\u756a\u53f7\u306f\u3001\u5b58\u5728\u3057\u3066\u3044\u307e\u305b\u3093
-unknownCommand=\u4e0d\u660e\u306a\u30b3\u30de\u30f3\u30c9 [${command}] \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u7121\u8996\u3055\u308c\u307e\u3059\u3002
-unknownSubcommand=\u4e0d\u660e\u306a ${commandCategory} \u30b3\u30de\u30f3\u30c9 '${command}' \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u3053\u306e\u30b3\u30de\u30f3\u30c9\u306f\u7121\u8996\u3055\u308c\u307e\u3059
-unknownEvent=\u578b '${type}' \u306e\u4e0d\u660e\u306a\u30a4\u30d9\u30f3\u30c8\u3092\u53d7\u4fe1\u3057\u307e\u3057\u305f\u3002\u60c5\u5831 = ${info}\u3002
-problemWithConnection=\u30bb\u30c3\u30b7\u30e7\u30f3\u63a5\u7d9a\u306b\u95a2\u3059\u308b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f ('${socketErrorMessage}')\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u306e 'kill' \u3092\u304a\u52e7\u3081\u3057\u307e\u3059\u3002
-unexpectedErrorWithStackTrace=\u30b3\u30de\u30f3\u30c9\u306e\u51e6\u7406\u4e2d\u306b\u3001\u4e88\u671f\u3057\u306a\u3044\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u8a3a\u65ad\u3092\u884c\u3046\u305f\u3081\u3001\u7d9a\u3044\u3066\u30b9\u30bf\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u304c\u5b9f\u884c\u3055\u308c\u307e\u3059 : 
-ambiguousCommand=\u30b3\u30de\u30f3\u30c9 '${input}' \u304c\u3042\u3044\u307e\u3044\u3067\u3059 :
-faultHasNoTableEntry=\u30d5\u30a9\u30eb\u30c8 ${faultName} \u306b\u30c6\u30fc\u30d6\u30eb\u30a8\u30f3\u30c8\u30ea\u304c\u3042\u308a\u307e\u305b\u3093
-swfInfo="${swfName}" - ${size} \u30d0\u30a4\u30c8 (\u89e3\u51cd\u5f8c)\u3001${scriptCount} \u30b9\u30af\u30ea\u30d7\u30c8 ([#${min} - #${max}] ${plus} ${moreInfo})\u3001URL ${url}
-remainingSourceBeingLoaded=\u6b8b\u308a\u306e\u30bd\u30fc\u30b9\u306f\u307e\u3060\u30ed\u30fc\u30c9\u4e2d\u3067\u3059
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(y \u307e\u305f\u306f n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u3092\u3059\u3079\u3066\u524a\u9664\u3057\u307e\u3059\u304b?
-askDeleteAllAutoDisplay=auto-display \u5f0f\u3092\u3059\u3079\u3066\u524a\u9664\u3057\u307e\u3059\u304b?
-askKillProgram=\u30c7\u30d0\u30c3\u30b0\u4e2d\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u5f37\u5236\u7d42\u4e86\u3057\u307e\u3059\u304b?
-askProgramIsRunningExitAnyway=\u30d7\u30ed\u30b0\u30e9\u30e0\u306f\u5b9f\u884c\u4e2d\u3067\u3059\u3002\u7d42\u4e86\u3057\u307e\u3059\u304b?
-askReinitSourcePath=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9\u3092\u518d\u521d\u671f\u5316\u3057\u3066\u7a7a\u306b\u3057\u307e\u3059\u304b?
-askExpressionContainsAssignment=\u5f0f\u306b\u4ee3\u5165\u8981\u7d20\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u7d9a\u884c\u3057\u307e\u3059\u304b?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=\u78ba\u5b9a\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-stopOnlyIfConditionMet=${breakpointCondition} \u306e\u5834\u5408\u306b\u306e\u307f\u4e2d\u6b62\u3057\u307e\u3059
-breakpointAlreadyHit=\u30d6\u30ec\u30fc\u30af\u30dd\u30a4\u30f3\u30c8\u306f\u65e2\u306b ${count} \u56de\u51fa\u73fe\u3057\u3066\u3044\u307e\u3059
-silentBreakpoint=silent
-getterFunction=Getter
-setterFunction=Setter
-function=\u95a2\u6570
-unknownVariableType=<\u4e0d\u660e>
-variableAttribute_dontEnumerate=\u5217\u6319\u3057\u306a\u3044
-variableAttribute_readOnly=read-only
-variableAttribute_localVariable=local
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=\u540d\u524d\u7a7a\u9593\u306e\u8a2d\u5b9a
-key16=\u53d7\u4fe1\u3057\u305f\u30e1\u30c3\u30bb\u30fc\u30b8 :
-key17=\u9001\u4fe1\u3055\u308c\u305f\u30e1\u30c3\u30bb\u30fc\u30b8 :
-key18=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key19=\u95a2\u6570\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key20=\u95a2\u6570\u30ea\u30b9\u30c8\u3092\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u3067\u6e96\u5099\u4e2d\u3067\u3059\u3002\u5f8c\u3067\u3082\u3046\u4e00\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-key21=--- SessionManager \u306e\u30d7\u30ed\u30d1\u30c6\u30a3
-key22=--- \u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u30d7\u30ed\u30d1\u30c6\u30a3
-stopped=Stopped
-key24=Player \u306f\u5b9f\u884c\u4e2d\u3067\u3059\u3002
-key25=\u30d6\u30ec\u30fc\u30af\u60c5\u5831\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key26=\u5909\u6570\u304c\u4e0d\u660e\u3067\u3059
-key27=\u30bd\u30fc\u30b9\u60c5\u5831\u304c\u4e0d\u660e\u3067\u3059\u3002\u73fe\u5728\u306e\u5834\u6240\u304c\u9006\u30a2\u30bb\u30f3\u30d6\u30eb\u3055\u308c\u307e\u3057\u305f
-key28=\u884c\u6307\u5b9a\u306e\u672b\u5c3e\u3067\u7834\u68c4\u3057\u307e\u3059
-key29=\u30d5\u30a1\u30a4\u30eb "${arg3}" \u306b\u5bfe\u3059\u308b SWF \u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key30=\u95a2\u6570\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key31=---- \u30b9\u30ad\u30c3\u30d7\u3055\u308c\u305f 0x${arg4} \u306b\u3042\u308b\u3001\u30de\u30c3\u30d4\u30f3\u30b0\u3055\u308c\u3066\u3044\u306a\u3044\u547d\u4ee4\u3092\u8868\u793a\u3057\u3066\u3044\u307e\u3059 ----
-key32=\u884c\u756a\u53f7 ${arg5} \u306f\u7bc4\u56f2\u5916\u3067\u3059\u3002\u30d5\u30a1\u30a4\u30eb "${arg6}" \u306e\u884c\u6570\u306f ${arg7} \u884c\u3067\u3059\u3002
-key33=\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
-key34=Player \u3067\u306f\u73fe\u5728\u3069\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3082\u4e2d\u65ad\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-key35=\\u201d${swfName}\\u201d \u5185
-atAddress=\u30a2\u30c9\u30ec\u30b9 : ${address}
-haltedDueToFault=\u539f\u56e0 : ${fault}
-noWorkersRunning=\u5b9f\u884c\u4e2d\u306e\u30ef\u30fc\u30ab\u30fc\u306f\u3042\u308a\u307e\u305b\u3093\u3002
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ko.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ko.properties
deleted file mode 100644
index c603203..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ko.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=\uac1c\ubc1c
-about=Apache fdb(Flash Player Debugger) [\ube4c\ub4dc ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=\ud50c\ub808\uc774\uc5b4\uac00 \uc608\uc0c1\ub300\ub85c \uba85\ub839\uc5d0 \uc751\ub2f5\ud558\uc9c0 \uc54a\uc544 \uba85\ub839\uc774 \uc911\ub2e8\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-notSuspendedException=\ud50c\ub808\uc774\uc5b4 \uc2e4\ud589 \uc911\uc5d0 \uba85\ub839\uc744 \uc218\ud589\ud560 \uc218 \uc5c6\uc74c
-illegalStateException=\uc138\uc158\uc774 \uc5c6\uc73c\uba74 \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-illegalMonitorStateException=\ud50c\ub808\uc774\uc5b4 \uc2e4\ud589 \uc911\uc5d0\ub294 \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.  \uc911\ub2e8\ud558\ub824\uba74 'Enter' \ud0a4\ub97c \ub204\ub974\uc2ed\uc2dc\uc624.
-playerDidNotStop=\ud50c\ub808\uc774\uc5b4\uac00 \uc608\uc0c1\ub300\ub85c \uc911\uc9c0\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.  \uc911\ub2e8\ud558\ub824\uba74 'Enter' \ud0a4\ub97c \ub204\ub974\uc2ed\uc2dc\uc624.
-noSuchElementException=\uba85\ub839\uc5d0 \uc778\uc218\uac00 \ud558\ub098 \uc774\uc0c1 \ud544\uc694\ud569\ub2c8\ub2e4.
-numberFormatException=\uba85\ub839 \uc778\uc218\uac00 \ubb38\uc790\uc5f4\uc785\ub2c8\ub2e4. \uc815\uc218\uac00 \ud544\uc694\ud569\ub2c8\ub2e4.
-socketException=\ub2e4\ub978 Flash \ub514\ubc84\uac70\uac00 \uc2e4\ud589 \uc911\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud574\ub2f9 \ub514\ubc84\uac70\ub97c \ub2eb\uc73c\uc2ed\uc2dc\uc624.  \uc138\ubd80 \uc0ac\ud56d: '${message}'.
-versionException=\uc774 \ucee8\ud14d\uc2a4\ud2b8\uc5d0\uc11c\ub294 \uba85\ub839\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-unexpectedError=\uba85\ub839\uc744 \ucc98\ub9ac\ud558\ub294 \uc911\uc5d0 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
-stackTraceFollows=\uc9c4\ub2e8\uc744 \uc704\ud574 \uc2a4\ud0dd \ucd94\uc801 \uacb0\uacfc\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4. 
-sessionEndedAbruptly=\uc138\uc158\uc774 \uac11\uc790\uae30 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-noUriReceived=\ud50c\ub808\uc774\uc5b4\uc5d0\uc11c \uc218\uc2e0\ud55c URI\uac00 \uc5c6\uc74c
-noSourceFilesFound=\uc18c\uc2a4 \ud30c\uc77c \uc5c6\uc74c
-unknownBreakpointLocation=<\uc54c \uc218 \uc5c6\uc74c>
-unknownFilename=<\uc54c \uc218 \uc5c6\uc74c>
-inFunctionAt=\ub2e4\uc74c \uc704\uce58\uc758 ${functionName}() \ub0b4: 
-inSwf=${swf} \ub0b4
-nonRestorable=; \uc774\uc804 \uc138\uc158\uc5d0\uc11c \ubcf5\uc6d0\ud560 \uc218 \uc5c6\uc74c
-sourceDirectoriesSearched=\uac80\uc0c9\ub41c \uc18c\uc2a4 \ub514\ub809\ud1a0\ub9ac:
-attemptingToSuspend=\ud50c\ub808\uc774\uc5b4 \uc2e4\ud589\uc744 \uc77c\uc2dc \uc911\ub2e8\ud558\ub824\uace0 \uc2dc\ub3c4 \uc911...
-playerStopped=\ud50c\ub808\uc774\uc5b4 \uc911\uc9c0\ub428
-playerRunning=\ud50c\ub808\uc774\uc5b4 \uc2e4\ud589 \uc911
-suspendReason_Unknown=\uc54c \uc218 \uc5c6\uc74c
-suspendReason_HitBreakpoint=\uc911\ub2e8\uc810
-suspendReason_HitWatchpoint=\uac10\uc2dc
-suspendReason_ProgramThrewException=\uacb0\ud568
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=\ub2e8\uacc4
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=\uc0ac\uc6a9 \uac00\ub2a5\ud55c \uc2a4\ud0dd \uc5c6\uc74c
-atFilename=\uc704\uce58: 
-noVariables=\ubcc0\uc218 \uc5c6\uc74c
-noArguments=\uc778\uc218 \uc5c6\uc74c
-notInValidFrame=\uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 \ud504\ub808\uc784\uc5d0 \uc788\uc2b5\ub2c8\ub2e4.  'frame' \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud604\uc7ac \ud504\ub808\uc784\uc73c\ub85c \ub3cc\uc544\uac00\uc2ed\uc2dc\uc624.
-noLocals=\ub85c\uceec \uc5c6\uc74c
-noScopeChain=\ubc94\uc704 \uccb4\uc778 \uc5c6\uc74c
-noActiveSession=\ud65c\uc131 \uc138\uc158 \uc5c6\uc74c
-runWillLaunchUri=run'\uc744 \uc0ac\uc6a9\ud558\uba74 ${uri}\uc774(\uac00) \uc2e4\ud589\ub429\ub2c8\ub2e4.
-targetUnknown=\uc54c \uc218 \uc5c6\ub294 \ub300\uc0c1
-noSWFs=SWF\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-unrecognizedFault=\uc778\uc2dd\ub418\uc9c0 \uc54a\uc740 \uacb0\ud568\uc785\ub2c8\ub2e4.
-noFunctionsFound=\ud568\uc218 \uc5c6\uc74c
-functionListBeingPrepared=\ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \ud568\uc218 \ubaa9\ub85d\uc744 \uc900\ube44 \uc911\uc785\ub2c8\ub2e4. \ub098\uc911\uc5d0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.
-functionsInSourceFile=${sourceFile}\uc758 \ud568\uc218
-breakpointNotYetResolved=(\uc544\uc9c1 \ud655\uc778\ub418\uc9c0 \uc54a\uc74c)
-breakpointAmbiguous=(\ubaa8\ud638\ud568)
-breakpointNoCode=(\uc9c0\uc815\ud55c \uc904\uc5d0 \uc2e4\ud589 \uac00\ub2a5\ud55c \ucf54\ub4dc \uc5c6\uc74c)
-sessionTerminated=\ud50c\ub808\uc774\uc5b4 \uc138\uc158\uc774 \uc885\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-additionalCodeLoaded=SWF \ub610\ub294 \ud504\ub808\uc784\uc5d0\uc11c \ucd94\uac00 ActionScript \ucf54\ub4dc\ub97c \ub85c\ub4dc\ud588\uc2b5\ub2c8\ub2e4.\n\ud604\uc7ac \ub85c\ub4dc\ub41c \ud30c\uc77c\uc744 \ubaa8\ub450 \ubcf4\ub824\uba74 'info files'\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624.
-setAdditionalBreakpoints=\ucd94\uac00 \uc911\ub2e8\uc810\uc744 \uc6d0\ud558\ub294 \ub300\ub85c \uc124\uc815\ud55c \ub2e4\uc74c 'continue'\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624.
-fixBreakpoints=\uc798\ubabb\ub41c \uc911\ub2e8\uc810\uc744 \uc218\uc815\ud558\uac70\ub098 \uc81c\uac70\ud55c \ub2e4\uc74c 'continue'\ub97c \uc785\ub825\ud569\ub2c8\ub2e4.
-executionHalted=\uc2e4\ud589\uc774 \uc911\ub2e8\ub428
-hitBreakpoint=\uc911\ub2e8\uc810 ${breakpointNumber}
-haltedInFunction=${fileAndLine}\uc758 ${reasonForHalting}, ${functionName}()
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[\uc624\ub958]
-linePrefixWhenDisplayingFault=[\uacb0\ud568]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[SWF \uc5b8\ub85c\ub4dc]
-informationAboutFault=, \uc815\ubcf4=
-sizeAfterDecompression=${size}\ubc14\uc774\ud2b8(\uc555\ucd95\uc744 \ud47c \ud6c4)
-breakpointNotPropagated=\uacbd\uace0:  \uc911\ub2e8\uc810 ${breakpointNumber}\uc774(\uac00) \uc77c\ubd80 swf\ub85c \uc804\ub2ec\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.\n\uc911\ub2e8\uc810\uc744 \uc9c0\uc6b0\uace0 \ub2e4\uc2dc \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.
-playerAlreadyRunning=\ud50c\ub808\uc774\uc5b4\ub97c \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uacbd\uc6b0 \ub2e4\uc2dc \uc2dc\uc791\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-doYouWantToHalt=\uc2e4\ud589\uc744 \uc911\ub2e8\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-debugInfoBeingLoaded=\ud604\uc7ac \ub514\ubc84\uadf8 \uc815\ubcf4 \ub85c\ub4dc \uc911
-attemptingToHalt=\uc911\ub2e8\ud558\ub824\uace0 \uc2dc\ub3c4 \uc911\uc785\ub2c8\ub2e4.\n\uc911\ub2e8\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub824\uba74 \ud50c\ub808\uc774\uc5b4\ub97c \uc0b4\uc9dd \uac74\ub4dc\ub9ac\uc2ed\uc2dc\uc624(\uc608: \ub2e8\ucd94 \ub204\ub974\uae30).
-couldNotHalt=\uc2e4\ud589 \uc911\uc778 ActionScript\uac00 \uc5c6\uc73c\ubbc0\ub85c \uc911\ub2e8\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-escapingFromDebuggerPendingLoop=\ubcf4\ub958 \uc911\uc778 \ub514\ubc84\uac70 \ub8e8\ud504\uc5d0\uc11c \uc774\uc2a4\ucf00\uc774\ud504 \uc911, $nowaiting = 1\ub85c \uc124\uc815 \uc911
-continuingDueToError=${error}' \uc624\ub958\ub85c \uc778\ud574 \uacc4\uc18d \uc2e4\ud589 \uc911
-currentLocationUnknown=\ud604\uc7ac \uc704\uce58 \uc54c \uc218 \uc5c6\uc74c
-cannotStep=\uc774\uc81c \ud55c \ub2e8\uacc4\uc529 \uc2e4\ud589\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.  \uc911\ub2e8\uc810\uc744 \uc124\uc815\ud55c \ub2e4\uc74c 'continue'\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624.
-abortingStep=\ud50c\ub808\uc774\uc5b4\uac00 \uc81c\uc2dc\uac04\uc5d0 \ubc18\ud658\ud558\uc9c0 \uc54a\uc544 \ub098\uba38\uc9c0 ${count}\ub2e8\uacc4\ub97c \uc911\ub2e8\ud558\ub294 \uc911\uc785\ub2c8\ub2e4.
-finishCommandNotMeaningfulOnOutermostFrame=\uac00\uc7a5 \ubc14\uae65\ucabd \ud504\ub808\uc784\uc5d0\uc11c\ub294 'finish'\uac00 \ubb34\uc758\ubbf8\ud568
-finishCommandNotMeaningfulWithoutStack=\uc2a4\ud0dd\uc774 \uc5c6\uc73c\uba74 'finish'\uac00 \ubb34\uc758\ubbf8\ud568
-noBreakpointNumber=\uc911\ub2e8\uc810 \ubc88\ud638 ${breakpointNumber} \uc5c6\uc74c
-badBreakpointNumber=${token}' \ub610\ub294 \uc774 \uadfc\ucc98\uc5d0 \uc798\ubabb\ub41c \uc911\ub2e8\uc810 \ubc88\ud638\uac00 \uc788\uc74c\uc744 \uacbd\uace0
-commandFailed=\uba85\ub839\uc774 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4.
-createdBreakpoint=\uc911\ub2e8\uc810 ${breakpointNumber}: \ud30c\uc77c ${file}, ${line}\ubc88\uc9f8 \uc904
-createdBreakpointWithOffset=${offset}\uc758 \uc911\ub2e8\uc810 ${breakpointNumber}: \ud30c\uc77c ${file}, ${line}\ubc88\uc9f8 \uc904
-breakpointCreatedButNotYetResolved=\uc911\ub2e8\uc810 ${breakpointNumber}\uc774(\uac00) \uc791\uc131\ub418\uc5c8\uc73c\ub098 \uc544\uc9c1 \ud655\uc778\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.\n\ud574\ub2f9 \ud30c\uc77c \ub610\ub294 \ud568\uc218\uac00 \ub85c\ub4dc\ub420 \ub54c \uc911\ub2e8\uc810\uc774 \ud655\uc778\ub429\ub2c8\ub2e4.
-fileNumber=\ud30c\uc77c #${fileNumber}
-breakpointNotSetNoCode=\uc911\ub2e8\uc810\uc774 \uc124\uc815\ub418\uc9c0 \uc54a\uc544 ${filename}\uc758 ${line}\ubc88\uc9f8 \uc904\uc5d0 \uc2e4\ud589 \uac00\ub2a5\ud55c \ucf54\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-breakpointLocationUnknown=\uc911\ub2e8\uc810 \uc704\uce58\ub97c \uc54c \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-breakpointNotCleared=\uc911\ub2e8\uc810\uc774 \uc9c0\uc6cc\uc9c0\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-attemptingToResolve=\uc911\ub2e8\uc810 ${breakpointNumber}, \ud45c\ud604\uc2dd "${expression}"\uc744(\ub97c) \ud655\uc778\ud558\ub824\uace0 \uc2dc\ub3c4 \uc911:
-noExecutableCode=\uc9c0\uc815\ud55c \uc904\uc5d0 \uc2e4\ud589 \uac00\ub2a5\ud55c \ucf54\ub4dc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-resolvedBreakpointToFunction=\uc911\ub2e8\uc810 ${breakpointNumber}\uc744(\ub97c) ${file}:${line}\uc758 ${functionName}()(\uc73c)\ub85c \ud574\uc11d\ud588\uc2b5\ub2c8\ub2e4.
-resolvedBreakpointToFile=\uc911\ub2e8\uc810 ${breakpointNumber}\uc744(\ub97c) ${file}:${line}(\uc73c)\ub85c \ud574\uc11d\ud588\uc2b5\ub2c8\ub2e4.
-setCommand=Set \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \ubcc0\uc218\uc640 \uadf8\uc5d0 \ub4a4\ub530\ub974\ub294 \ud45c\ud604\uc2dd\uc774 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4
-missingOperator=\ud45c\ud604\uc2dd\uc5d0 '${operator}' \uc5f0\uc0b0\uc790\uac00 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-noSideEffectsAllowed=\ud45c\ud604\uc2dd\uc5d0 \ud560\ub2f9\uacfc \uac19\uc740 \ubd80\uc791\uc6a9\uc774 \uc5c6\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-couldNotEvaluate=\ud45c\ud604\uc2dd\uc744 \ud3c9\uac00\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-commandHistoryIsEmpty=\uc791\uc5c5 \ub0b4\uc5ed\uc774 \ube44\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.
-historyHasNotReached=\uc791\uc5c5 \ub0b4\uc5ed\uc774 \uc544\uc9c1 ${number}\uc5d0 \ub3c4\ub2ec\ud558\uc9c0 \uc54a\uc74c
-variableUnknown=\uc54c \uc218 \uc5c6\ub294 \ubcc0\uc218 ${variable}
-expressionCouldNotBeParsed=\ud45c\ud604\uc2dd\uc744 \uc62c\ubc14\ub974\uac8c \uad6c\ubb38 \ubd84\uc11d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-couldNotConvertToNumber=\ub2e4\uc74c \uc22b\uc790\ub85c \ubcc0\ud658\ud560 \uc218 \uc5c6\uc74c: ${value}
-commandsLimitedToSpecifiedSwf=${swf}\uc758 \uc18c\uc2a4 \ud30c\uc77c\ub85c \uc81c\ud55c\ub41c \uba85\ub839
-commandsApplyToAllSwfs=\uba85\ub839 \ub0b4\uc5d0\uc11c \uc0ac\uc6a9 \uac00\ub2a5\ud55c \ubaa8\ub4e0 swf\uc758 \uc18c\uc2a4 \ud30c\uc77c\uc785\ub2c8\ub2e4.
-notValidSwf=${swf}\uc740(\ub294) \uc62c\ubc14\ub974\uc9c0 \uc54a\uc740 SWF\uc785\ub2c8\ub2e4.
-frameDoesNotExist=\ud504\ub808\uc784 '${frameNumber}'\uc774(\uac00) \uc5c6\uc2b5\ub2c8\ub2e4.
-notANumber=${token}'\uc774(\uac00) \uc22b\uc790\uac00 \uc544\ub2d9\ub2c8\ub2e4.
-expectedLineNumber=\uc904 \ubc88\ud638\uac00 \ud544\uc694\ud55c\ub370 ${token}\uc744(\ub97c) \uac00\uc838\uc634
-expectedFileNumber=\ud30c\uc77c \ubc88\ud638\uac00 \ud544\uc694\ud55c\ub370 ${token}\uc744(\ub97c) \uac00\uc838\uc634
-noSourceFileWithSpecifiedName=\uc774\ub984\uc774 '${name}'\uc778 \uc18c\uc2a4 \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
-noFunctionWithSpecifiedName=\uc774\ub984\uc774 '${name}'\uc778 \ud568\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-ambiguousMatchingFilenames=\ubaa8\ud638\ud55c \uc77c\uce58 \ud30c\uc77c \uc774\ub984:
-ambiguousMatchingFunctionNames=\ubaa8\ud638\ud55c \uc77c\uce58 \ud568\uc218 \uc774\ub984:
-functionInFile=${filename}\uc758 ${functionName}
-expectedFile=#\uc73c\ub85c \uc2dc\uc791\ud558\ub294 \ud30c\uc77c \ubc88\ud638 \ub610\ub294 \ud30c\uc77c \uc774\ub984\uc774 \ud544\uc694\ud55c\ub370 ${token}\uc744(\ub97c) \uac00\uc838\uc634
-noSuchFileOrFunction=\uc774\ub984\uc774 '${token}'\uc778 \ud30c\uc77c \ub610\ub294 \ud568\uc218\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-localVariable=\ub85c\uceec
-functionArgumentVariable=\uc778\uc218
-mustBeOnlyOneVariable=\ud45c\ud604\uc2dd\uc5d0 \ubcc0\uc218\uac00 \ud558\ub098\ub9cc \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.
-lineJunk=\uc904 \uc2a4\ud399 \ub05d\uc5d0 \uc815\ud06c\uac00 \uc788\uc74c
-sourceFileNotFound=\uc18c\uc2a4 \ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.  "directory" \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\uc5ec \uc774 \uc2dc\uc2a4\ud15c\uc5d0\uc11c\n\uc704\uce58\ub97c \uc9c0\uc815\ud558\uc2ed\uc2dc\uc624.  \ud328\ud0a4\uc9c0\uc5d0 \uc788\ub294 \uc18c\uc2a4 \ud30c\uc77c\uc758 \ub514\ub809\ud1a0\ub9ac\ub97c \uc9c0\uc815\ud558\ub294\n\ubc29\ubc95\uc5d0 \ub300\ud55c \uc911\uc694\ud55c \uc815\ubcf4\ub97c \ubcf4\ub824\uba74 "help directory"\ub97c \uc785\ub825\ud558\uc2ed\uc2dc\uc624.
-lineNumberOutOfRange=\uc904 \ubc88\ud638 ${line}\uc774(\uac00) \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4. \ud30c\uc77c ${filename}\uc5d0\ub294 ${total}\uac1c\uc758 \uc904\uc774 \uc788\uc2b5\ub2c8\ub2e4.
-noFilesFound=\ud30c\uc77c \uc5c6\uc74c
-sessionInProgress=\uc138\uc158\uc774 \uc774\ubbf8 \uc9c4\ud589 \uc911\uc785\ub2c8\ub2e4.
-waitingForPlayerToConnect=\ud50c\ub808\uc774\uc5b4\uc758 \uc5f0\uacb0\uc744 \uae30\ub2e4\ub9ac\ub294 \uc911
-waitingToConnectToPlayer=Player\uc5d0 \uc5f0\uacb0 \uc2dc\ub3c4 \uc911
-launchingWithUrl=URL\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud50c\ub808\uc774\uc5b4\ub97c \uc2e4\ud589\ud558\uace0 \ud50c\ub808\uc774\uc5b4\uc5d0 \uc5f0\uacb0\ud558\ub824\uace0 \uc2dc\ub3c4 \uc911
-playerConnectedSessionStarting=\ud50c\ub808\uc774\uc5b4\uc5d0 \uc5f0\uacb0\ud55c \ud6c4 \uc138\uc158\uc744 \uc2dc\uc791 \uc911\uc785\ub2c8\ub2e4.
-setBreakpointsThenResume=\uc911\ub2e8\uc810\uc744 \uc124\uc815\ud55c \ub2e4\uc74c 'continue'\ub97c \uc785\ub825\ud558\uc5ec \uc138\uc158\uc744 \ub2e4\uc2dc \uc2dc\uc791\ud558\uc2ed\uc2dc\uc624
-warningNotAllCommandsSupported=\uacbd\uace0: \uc0ac\uc6a9 \uc911\uc778 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c \uc77c\ubd80 fdb \uba85\ub839\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-fileDoesNotExist=\ud30c\uc77c\uc744 \ucc3e\uc744 \uc218 \uc5c6\uc74c: ${uri}
-failedToConnect=\uc5f0\uacb0\uc5d0 \uc2e4\ud328\ud588\uc2b5\ub2c8\ub2e4. \uc138\uc158 \uc81c\ud55c \uc2dc\uac04\uc774 \ucd08\uacfc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\n\ub2e4\uc74c\uc744 \ud655\uc778\ud558\uc2ed\uc2dc\uc624.\n  1. \ub514\ubc84\uae45 \uae30\ub2a5\uc744 \ucf20 \uc0c1\ud0dc\ub85c Flash \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc744 \ucef4\ud30c\uc77c\ud588\uc2b5\ub2c8\ub2e4.\n  2. \ub514\ubc84\uac70 \ubc84\uc804\uc758 Flash Player\ub97c \uc2e4\ud589\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.
-manuallyLaunchPlayer=run'\uc744 \uc785\ub825\ud55c \ub2e4\uc74c \uc218\ub3d9\uc73c\ub85c \ud50c\ub808\uc774\uc5b4\ub97c \uc2e4\ud589\ud558\uc2ed\uc2dc\uc624.
-sourceCommandRequiresPath=source' \uba85\ub839\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 \ud30c\uc77c\uc758 \uacbd\ub85c \uc774\ub984\uc744 \uc18c\uc2a4\ub85c \uc9c0\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.
-fileNotFound=${filename}: \ud574\ub2f9 \ud30c\uc77c \ub610\ub294 \ub514\ub809\ud1a0\ub9ac\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
-argumentRequired=\uc778\uc218\uac00 \ud544\uc694\ud569\ub2c8\ub2e4(\ub2e4\ub8e8\uae30 \uacb0\ud568).
-breakpointNotChanged=\uc911\ub2e8\uc810\uc774 \ubcc0\uacbd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-badWatchpointNumber=\uac10\uc2dc\uc810 \ubc88\ud638\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-couldNotResolveExpression=\ud45c\ud604\uc2dd\uc744 \ubcc0\uc218\ub85c \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-notAllBreakpointsEnabled=\uc77c\ubd80 \uc911\ub2e8\uc810\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc74c
-programNotBeingRun=\ud504\ub85c\uadf8\ub7a8\uc774 \uc2e4\ud589\ub418\uc9c0 \uc54a\uace0 \uc788\uc2b5\ub2c8\ub2e4.
-commandNotValidUntilPlayerSuspended=\ud50c\ub808\uc774\uc5b4\uc758 \uc2e4\ud589\uc744 \uc77c\uc2dc \uc911\ub2e8\ud560 \ub54c\uae4c\uc9c0 \uba85\ub839\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. 'halt' \uba85\ub839\uc744 \uc2e4\ud589\ud558\uc2ed\uc2dc\uc624.
-noHelpFileFound=\ub3c4\uc6c0\ub9d0 \ud30c\uc77c(fdbhelp*.txt)\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
-invalidTargetFault=ActionSetTarget \uba85\ub839\uc758 \uc798\ubabb\ub41c \ub300\uc0c1 \uc774\ub984
-recursionLimitFault=\uc7ac\uadc0 \uc81c\ud55c\uc758 \uc0c1\ud55c\uac12\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4.
-invalidWithFault=with' \uba85\ub839\ubb38\uc758 \ub300\uc0c1\uc774 \uac1d\uccb4\uac00 \uc544\ub2d8
-protoLimitFault=\ud504\ub85c\ud1a0\ud0c0\uc785 \uccb4\uc778 \uac80\uc0c9\uc774 \ud55c\uacc4\uc5d0 \ub3c4\ub2ec\ud588\uc2b5\ub2c8\ub2e4.
-invalidUrlFault=URL\uc744 \uc5f4\uc9c0 \ubabb\ud568
-exceptionFault=\uc0ac\uc6a9\uc790 \uc608\uc678 \ubc1c\uc0dd
-stackUnderflowFault=\uc2a4\ud0dd \uc5b8\ub354\ud50c\ub85c \ubc1c\uc0dd
-divideByZeroFault=0\uc73c\ub85c \ub098\ub204\uae30 \uc624\ub958
-scriptTimeoutFault=ActionScript \ucf54\ub4dc\uac00 \uc9c4\ud589\ub418\uace0 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-errorWhileProcessingFile=\ud30c\uc77c\uc744 \ucc98\ub9ac\ud558\ub294 \uc911\uc5d0 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4(${exceptionMessage}).
-unrecognizedAction=\uc778\uc2dd\ub418\uc9c0 \uc54a\uc740 \ub3d9\uc791 ${action}
-typeCommandsForBreakpoint=\uc911\ub2e8\uc810 ${breakpointNumber}\uc5d0 \ub3c4\ub2ec\ud558\uba74 \uc904\ub9c8\ub2e4 \ud55c \ubc88\uc529 \uba85\ub839\uc744 \uc785\ub825\ud558\uc2ed\uc2dc\uc624.\n'end'\ub97c \uc785\ub825\ud558\uc5ec \uc904\uc744 \ub05d\ub0b4\uc2ed\uc2dc\uc624.
-breakpointNowUnconditional=\uc774\uc81c \uc911\ub2e8\uc810 ${breakpointNumber}\uc740(\ub294) \uc870\uac74\ubd80\uac00 \uc544\ub2d9\ub2c8\ub2e4.
-watchpointCouldNotBeSet=${expression}'\uc758 \uac10\uc2dc\uc810\uc744 \uc124\uc815\ud560 \uc218 \uc5c6\uc74c
-
-changedWatchpointMode=\uc774\uc81c \ud45c\ud604\uc2dd '${expression}'\uc758 \uac10\uc2dc\uc810 ${watchpointNumber}\uc740(\ub294) ${watchpointMode}\uc785\ub2c8\ub2e4.
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=\uc77d\uae30
-watchpointMode_write=\uc4f0\uae30
-watchpointMode_readWrite=\uc77d\uae30-\uc4f0\uae30
-
-createdWatchpoint=\ud45c\ud604\uc2dd '${expression}'\uc5d0 \uac10\uc2dc\uc810 ${watchpointNumber}\uc774(\uac00) \uc124\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
-couldNotFindWatchpoint=${variable}'\uc758 \uac10\uc2dc\ub97c \ubc1c\uacac\ud558\uac70\ub098 \uc81c\uac70\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
-noDisplayNumber=\ud45c\uc2dc \ubc88\ud638 ${displayNumber} \uc5c6\uc74c
-badDisplayNumber=${token}' \ub610\ub294 \uc774 \uadfc\ucc98\uc5d0 \uc798\ubabb\ub41c \ud45c\uc2dc \ubc88\ud638\uac00 \uc788\uc74c\uc744 \uacbd\uace0
-breakpointLocationNoLongerExists=\uc911\ub2e8\uc810 ${breakpointNumber}\uc5d0 \ub354 \uc774\uc0c1 \uc18c\uc2a4 \ud30c\uc77c \ubc0f \ud589 \ubc88\ud638\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-unknownCommand=\uba85\ub839 '${command}'\uc740(\ub294) \uc54c \uc218 \uc5c6\ub294 \uba85\ub839\uc774\ubbc0\ub85c \ubb34\uc2dc\ud568
-unknownSubcommand=${commandCategory} \uba85\ub839 '${command}'\uc740(\ub294) \uc54c \uc218 \uc5c6\ub294 \uba85\ub839\uc774\ubbc0\ub85c \ubb34\uc2dc\ud568
-unknownEvent=\uc720\ud615 '${type}'\uc758 \uc54c \uc218 \uc5c6\ub294 \uc774\ubca4\ud2b8\ub97c \uc218\uc2e0\ud588\uc2b5\ub2c8\ub2e4. \uc815\ubcf4 = ${info}
-problemWithConnection=\uc138\uc158 \uc5f0\uacb0 \uc911\uc5d0 \ubb38\uc81c\uc810('${socketErrorMessage}')\uc774 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. '\uac15\uc81c \uc885\ub8cc'\ud558\ub294 \uac83\uc774 \uac00\uc7a5 \uc88b\uc2b5\ub2c8\ub2e4.
-unexpectedErrorWithStackTrace=\uba85\ub839\uc744 \ucc98\ub9ac\ud558\ub294 \uc911\uc5d0 \uc608\uae30\uce58 \uc54a\uc740 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.\n\uc9c4\ub2e8\uc744 \uc704\ud574 \uc2a4\ud0dd \ucd94\uc801 \uacb0\uacfc\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.
-ambiguousCommand=\ubaa8\ud638\ud55c \uba85\ub839 "${input}':
-faultHasNoTableEntry=\uacb0\ud568 ${faultName}\uc5d0 \ud14c\uc774\ube14 \ud56d\ubaa9\uc774 \uc5c6\uc74c
-swfInfo=${swfName} - ${size}\ubc14\uc774\ud2b8(\uc555\ucd95\uc744 \ud47c \ud6c4), ${scriptCount} \uc2a4\ud06c\ub9bd\ud2b8 [#${min} - #${max}]${plus} ${moreInfo}, URL\uc740 ${url}
-remainingSourceBeingLoaded=\ub098\uba38\uc9c0 \uc18c\uc2a4\ub294 \uacc4\uc18d \ub85c\ub4dc \uc911\uc785\ub2c8\ub2e4.
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(y \ub610\ub294 n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\ubaa8\ub4e0 \uc911\ub2e8\uc810\uc744 \uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-askDeleteAllAutoDisplay=\ubaa8\ub4e0 \uc790\ub3d9 \ud45c\uc2dc \ud45c\ud604\uc2dd\uc744 \uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-askKillProgram=\ub514\ubc84\uae45 \uc911\uc778 \ud504\ub85c\uadf8\ub7a8\uc744 \uc885\ub8cc\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-askProgramIsRunningExitAnyway=\ud504\ub85c\uadf8\ub7a8\uc744 \uc2e4\ud589 \uc911\uc785\ub2c8\ub2e4.  \uc885\ub8cc\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-askReinitSourcePath=\uc18c\uc2a4 \uacbd\ub85c\ub97c \ube48 \uc0c1\ud0dc\ub85c \ub2e4\uc2dc \ucd08\uae30\ud654\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-askExpressionContainsAssignment=\ud45c\ud604\uc2dd\uc5d0 \ud560\ub2f9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \uacc4\uc18d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=\ud655\uc778\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
-stopOnlyIfConditionMet=${breakpointCondition}\uc778 \uacbd\uc6b0\uc5d0\ub9cc \uc911\uc9c0
-breakpointAlreadyHit=\uc911\ub2e8\uc810\uc5d0 \uc774\ubbf8 ${count}\ubc88 \ub3c4\ub2ec\ud568
-silentBreakpoint=\ud45c\uc2dc \uc548 \ud568
-getterFunction=Getter
-setterFunction=Setter
-function=\ud568\uc218
-unknownVariableType=<\uc54c \uc218 \uc5c6\uc74c>
-variableAttribute_dontEnumerate=\uc5f4\uac70\ud558\uc9c0 \uc54a\uc74c
-variableAttribute_readOnly=\uc77d\uae30 \uc804\uc6a9
-variableAttribute_localVariable=\ub85c\uceec
-variableAttribute_functionArgument=\uc778\uc218
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=\ub124\uc784\uc2a4\ud398\uc774\uc2a4 \uc788\uc74c
-key16=\uc218\uc2e0\ud55c \uba54\uc2dc\uc9c0:
-key17=\uc1a1\uc2e0\ud55c \uba54\uc2dc\uc9c0:
-key18=\uc18c\uc2a4 \ud30c\uc77c \uc5c6\uc74c
-key19=\ud568\uc218 \uc5c6\uc74c
-key20=\ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c \ud568\uc218 \ubaa9\ub85d\uc744 \uc900\ube44 \uc911\uc785\ub2c8\ub2e4. \ub098\uc911\uc5d0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.
-key21=--- SessionManager \uc18d\uc131
-key22=--- Session \uc18d\uc131
-stopped=\uc911\uc9c0\ub428
-key24=\ud50c\ub808\uc774\uc5b4\ub97c \uc2e4\ud589 \uc911\uc785\ub2c8\ub2e4.
-key25=\uc911\ub2e8 \uc815\ubcf4 \uc5c6\uc74c
-key26=\ubcc0\uc218\ub97c \uc54c \uc218 \uc5c6\uc74c
-key27=\uc18c\uc2a4 \uc815\ubcf4\ub97c \uc54c \uc218 \uc5c6\uc5b4 \ud604\uc7ac \uc704\uce58\ub97c \ub514\uc2a4\uc5b4\uc148\ube14\ud588\uc2b5\ub2c8\ub2e4.
-key28=\uc904 \uc2a4\ud399 \ub05d\uc5d0 \uc815\ud06c\uac00 \uc788\uc74c
-key29=\ud30c\uc77c ${arg3}\uc758 swf \uc5c6\uc74c
-key30=\ud568\uc218 \uc5c6\uc74c
-key31=---- \uac74\ub108\ub6f4 0x${arg4}\uc5d0 \ub9e4\ud551\ub418\uc9c0 \uc54a\uc740 \uba85\ub839 \ud45c\uc2dc ----
-key32=\uc904 \ubc88\ud638 ${arg5}\uc774(\uac00) \ubc94\uc704\ub97c \ubc97\uc5b4\ub0ac\uc2b5\ub2c8\ub2e4. \ud30c\uc77c ${arg6}\uc5d0\ub294 ${arg7}\uac1c\uc758 \uc904\uc774 \uc788\uc2b5\ub2c8\ub2e4.
-key33=\ud30c\uc77c \uc5c6\uc74c
-key34=\ud604\uc7ac \uc5b4\ub5a0\ud55c \ub3d9\uc791\uc5d0\ub3c4 \ud50c\ub808\uc774\uc5b4\uac00 \uc77c\uc2dc \uc911\ub2e8\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
-key35=${swfName}' \ub0b4
-atAddress=\uc8fc\uc18c: ${address}
-haltedDueToFault=\uc6d0\uc778: ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nb.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nb.properties
deleted file mode 100644
index 41c4fef..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nb.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=utvikling
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Spilleren reagerte ikke som forventet p\u00e5 kommandoen. Kommando ble avbrutt.
-notSuspendedException=Kommandoen kan ikke gis mens spilleren kj\u00f8rer
-illegalStateException=Kommandoen er ikke gyldig uten en \u00f8kt.
-illegalMonitorStateException=Kommandoen er ikke gyldig n\u00e5r en spiller kj\u00f8res. Trykk Enter for \u00e5 stoppe den
-playerDidNotStop=Spilleren stoppet ikke som forventet. Trykk Enter for \u00e5 stoppe den
-noSuchElementException=Kommandoen forventet minst ett argument til.
-numberFormatException=Kommandoargumentet var en streng, forventet heltall.
-socketException=En annen Flash-feils\u00f8ker kj\u00f8rer antagelig. Du m\u00e5 lukke den. Detaljer: "${message}".
-versionException=Kommandoen st\u00f8ttes ikke i denne konteksten.
-unexpectedError=Ukjent feil ved behandling av kommando.
-stackTraceFollows=Stakkspor f\u00f8lger for diagnostisering: 
-sessionEndedAbruptly=\u00d8kten endte br\u00e5tt.
-noUriReceived=Ingen URI mottatt fra spiller
-noSourceFilesFound=Finner ingen kildefiler
-unknownBreakpointLocation=<unknown>
-unknownFilename=<unknown>
-inFunctionAt=i ${functionName}() i 
-inSwf=i ${swf}
-nonRestorable=; Kan ikke gjenopprettes fra forrige \u00f8kt
-sourceDirectoriesSearched=Kildekataloger gjennoms\u00f8kt:
-attemptingToSuspend=Fors\u00f8ker \u00e5 holde tilbake kj\u00f8ring av spiller\u2026
-playerStopped=Spilleren har stoppet
-playerRunning=Spilleren kj\u00f8rer
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Ingen stakk tilgjengelig
-atFilename=p\u00e5 
-noVariables=ingen variabler
-noArguments=ingen argumenter
-notInValidFrame=Ikke i en gyldig ramme. Bruk kommandoen "frame" for \u00e5 g\u00e5 til den gjeldende.
-noLocals=ingen lokale
-noScopeChain=ingen scope chain
-noActiveSession=Ingen aktiv \u00f8kt
-runWillLaunchUri="run" starter ${uri}
-targetUnknown=Ukjent m\u00e5l
-noSWFs=ingen swf-filer
-unrecognizedFault=Kjenner ikke igjen feil.
-noFunctionsFound=Finner ingen funksjoner
-functionListBeingPrepared=Funksjonsliste forberedes i bakgrunnen, pr\u00f8v igjen senere.
-functionsInSourceFile=Funksjoner i ${sourceFile}
-breakpointNotYetResolved=(ikke l\u00f8st enn\u00e5)
-breakpointAmbiguous=(tvetydig)
-breakpointNoCode=(ingen kj\u00f8rbar kode p\u00e5 angitt linje)
-sessionTerminated=Spiller\u00f8kt avsluttet
-additionalCodeLoaded=Ekstra ActionScript-kode er lastet inn fra en swf eller en ramme.\nHvis du vil se alle filer som er lastet inn, skriver du "info files".
-setAdditionalBreakpoints=Angi flere stoppunkter etter \u00f8nske, og skriv deretter "continue".
-fixBreakpoints=Reparer eller fjern ugyldige stoppunkter, og skriv s\u00e5 "continue".
-executionHalted=Kj\u00f8ring stoppet
-hitBreakpoint=Stoppunkt ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() i ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Error]
-linePrefixWhenDisplayingFault=[Fault]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, informasjon=
-sizeAfterDecompression=${size} byte etter dekomprimering
-breakpointNotPropagated=ADVARSEL: stoppunkt ${breakpointNumber} er ikke videref\u00f8rt til alle swf-filer.\nDu m\u00e5 fjerne det og angi det p\u00e5 nytt.
-playerAlreadyRunning=Spilleren kj\u00f8rer allerede, ikke n\u00f8dvendig \u00e5 gjenoppta.
-doYouWantToHalt=Vil du fors\u00f8ke \u00e5 stoppe kj\u00f8ringen?
-debugInfoBeingLoaded=feils\u00f8kingsinformasjon lastes inn
-attemptingToHalt=Fors\u00f8ker \u00e5 stoppe.\nHvis du vil hjelpe til, kan du pr\u00f8ve \u00e5 gi spilleren en dytt (dvs. trykke p\u00e5 en knapp)
-couldNotHalt=Kan ikke stoppe, ActionScript kj\u00f8rer.
-escapingFromDebuggerPendingLoop=Unnslipper sl\u00f8yfen av ventende feils\u00f8king, angir $nowaiting = 1
-continuingDueToError=Fortsetter p\u00e5 grunn av feilen "${error}"
-currentLocationUnknown=gjeldende plassering ukjent
-cannotStep=Du kan ikke bytte trinn n\u00e5. Angi stoppunkt og skriv "continue".
-abortingStep=Spilleren har ikke svart i tide. Avbryter ${count} gjenv\u00e6rende trinn
-finishCommandNotMeaningfulOnOutermostFrame="finish" betyr ingenting p\u00e5 ytre ramme
-finishCommandNotMeaningfulWithoutStack="finish" betyr ingenting uten stakk
-noBreakpointNumber=Ingen stoppunktnummer ${breakpointNumber}
-badBreakpointNumber=advarsel ugyldig stoppunkt p\u00e5 eller n\u00e6r "${token}"
-commandFailed=Kommando mislyktes.
-createdBreakpoint=Stoppunkt ${breakpointNumber}: fil ${file}, linje ${line}
-createdBreakpointWithOffset=Stoppunkt ${breakpointNumber} ved ${offset}: fil ${file}, linje ${line}
-breakpointCreatedButNotYetResolved=Stoppunkt ${breakpointNumber} er opprettet, men er enn\u00e5 ikke l\u00f8st.\nStoppunktet blir l\u00f8st n\u00e5r tilsvarende fil eller funksjon lastes inn.
-fileNumber=fil #${fileNumber}
-breakpointNotSetNoCode=Stoppunkt er ikke angitt, ingen kj\u00f8rbar kode p\u00e5 linje ${line} i ${filename}
-breakpointLocationUnknown=Plassering for stoppunktet er ukjent.
-breakpointNotCleared=Stoppunktet er ikke fjernet.
-attemptingToResolve=Fors\u00f8ker \u00e5 l\u00f8se stoppunkt ${breakpointNumber}, uttrykk "${expression}":
-noExecutableCode=Det er ingen kj\u00f8rbar kode p\u00e5 denne linjen.
-resolvedBreakpointToFunction=L\u00f8ste stoppunkt  ${breakpointNumber} til ${functionName}() i ${file}:${line}
-resolvedBreakpointToFile=L\u00f8ste stoppunkt ${breakpointNumber} til ${file}:${line}
-setCommand=Kommandoen for \u00e5 angi krever en variabel etterfulgt av et uttrykk
-missingOperator=Uttrykket m\u00e5 inneholde "${operator}"-operator.
-noSideEffectsAllowed=Uttrykket kan ikke ha bivirkninger, som f.eks. tilordning.
-couldNotEvaluate=Uttrykket kan ikke evalueres.
-commandHistoryIsEmpty=Loggen er tom
-historyHasNotReached=Loggen har ikke n\u00e5dd ${number}
-variableUnknown=Ukjent variabel ${variable}
-expressionCouldNotBeParsed=Uttrykket kan ikke analyseres:
-couldNotConvertToNumber=Kan ikke konvertere til et tall: ${value}
-commandsLimitedToSpecifiedSwf=Kommandoer begrenset til kildefiler i ${swf}
-commandsApplyToAllSwfs=Kildefiler fra alle swf-filer er tilgjengelige i kommandoer.
-notValidSwf=${swf} er ikke en gyldig swf-fil.
-frameDoesNotExist=Ramme "${frameNumber}" finnes ikke.
-notANumber="${token}" ikke et tall
-expectedLineNumber=Forventet linjenummer, fikk ${token}
-expectedFileNumber=Forventet filnummer, fikk ${token}
-noSourceFileWithSpecifiedName=Finner ingen kildefil ved navn "${name}".
-noFunctionWithSpecifiedName=Ingen funksjon ved navn "${name}".
-ambiguousMatchingFilenames=Tvetydig samsvar mellom filnavn:
-ambiguousMatchingFunctionNames=Tvetydig samsvar mellom funksjonsnavn:
-functionInFile=${functionName} i ${filename}
-expectedFile=Forventet filnavn eller filnummer som begynner med #, fikk ${token}
-noSuchFileOrFunction=Ingen fil eller funksjon ved navn "${token}".
-localVariable=lokal
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=Uttrykket kan kun inneholde \u00e9n variabel
-lineJunk=S\u00f8ppel ved spesifikasjon p\u00e5 slutten av linjen
-sourceFileNotFound=Finner ikke kildefil. Bruk kommandoen "directory" til \u00e5 angi hvor\nden ligger p\u00e5 maskinen. Skriv "help directory" hvis du vil se viktige detaljer\nom hvordan du angir en katalog for kildefiler som ligger i en pakke.
-lineNumberOutOfRange=Linjenummer ${line} er utenfor omr\u00e5de, filen ${filename} har ${total} linjer
-noFilesFound=Finner ingen filer
-sessionInProgress=\u00d8kt p\u00e5g\u00e5r allerede
-waitingForPlayerToConnect=Venter p\u00e5 at spilleren kobler seg til
-waitingToConnectToPlayer=Pr\u00f8ver \u00e5 kople til Player
-launchingWithUrl=Fors\u00f8ker \u00e5 starte og koble til spilleren med URL-adresse
-playerConnectedSessionStarting=Spiller tilkoblet, \u00f8kten starter.
-setBreakpointsThenResume=Angi stoppunkter, og skriv deretter "continue" for \u00e5 fortsette \u00f8kten.
-warningNotAllCommandsSupported=ADVARSEL: Spilleren du bruker, st\u00f8tter ikke alle fdb-kommandoer.
-fileDoesNotExist=Finner ikke fil: ${uri}
-failedToConnect=Kan ikke koble til, \u00f8kten ble tidsavbrutt.\nKontroller at:\n  1. du kompilerte flashfilmen med feils\u00f8king p\u00e5, og \n  2. du kj\u00f8rer feils\u00f8kingsversjonen av Flash Player.
-manuallyLaunchPlayer=Bare skriv "run", og start s\u00e5 spilleren manuelt
-sourceCommandRequiresPath=kommandoen "source" krever banenavn for filen til kilden.
-fileNotFound=${filename}: Filen eller katalogen finnes ikke.
-argumentRequired=Argument p\u00e5krevd (feil ved h\u00e5ndtering).
-breakpointNotChanged=Stoppunktet er ikke endret.
-badWatchpointNumber=Ugyldig overv\u00e5kningsnummer.
-couldNotResolveExpression=Kan ikke l\u00f8se uttrykk til variabel.
-notAllBreakpointsEnabled=Ikke alle stoppunkter er aktivert
-programNotBeingRun=Programmet kj\u00f8rer ikke.
-commandNotValidUntilPlayerSuspended=Kommandoen er ikke gyldig f\u00f8r kj\u00f8ring av spilleren blir utsatt. Pr\u00f8v kommandoen "halt".
-noHelpFileFound=Finner ingen hjelpefil (fdbhelp*.txt).
-invalidTargetFault=Ugyldig m\u00e5lnavn for ActionSetTarget-instruksjon
-recursionLimitFault=\u00d8vre del av rekursjonsgrense n\u00e5dd
-invalidWithFault=M\u00e5let for "with"-setningen er ikke et objekt
-protoLimitFault=S\u00f8k oppover i prototypelenken har n\u00e5dd grense
-invalidUrlFault=Mislyktes med \u00e5 \u00e5pne adresse
-exceptionFault=Det oppsto et brukerunntak
-stackUnderflowFault=Stakkunderflyt oppsto
-divideByZeroFault=Kan ikke dele p\u00e5 null
-scriptTimeoutFault=ActionScript-kode g\u00e5r ikke fremover
-errorWhileProcessingFile=Det oppsto en feil ved behandling av filen (${exceptionMessage})
-unrecognizedAction=Kjenner ikke igjen handlingen ${action}
-typeCommandsForBreakpoint=Skriv inn kommandoer for n\u00e5r stoppunkt ${breakpointNumber} n\u00e5s, \u00e9n per linje.\nAvslutt med en linje der det bare st\u00e5r "end".
-breakpointNowUnconditional=Stoppunkt ${breakpointNumber} er n\u00e5 betingelsesl\u00f8st.
-watchpointCouldNotBeSet=Kan ikke angi et overv\u00e5kningspunkt for "${expression}"
-
-changedWatchpointMode=Overv\u00e5kningspunkt ${watchpointNumber} p\u00e5 uttrykket ${expression} n\u00e5 ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=lesetilgang
-watchpointMode_write=skrivetilgang
-watchpointMode_readWrite=lese-/skrivetilgang
-
-createdWatchpoint=Overv\u00e5kningspunkt ${watchpointNumber} satt p\u00e5 uttrykket "${expression}"
-couldNotFindWatchpoint=Overv\u00e5kningen for "${variable}" ble ikke funnet eller fjernet.
-noDisplayNumber=Ingen visningsnummer ${displayNumber}
-badDisplayNumber=advarsel ugyldig visningsnummer p\u00e5 eller n\u00e6r "${token}"
-breakpointLocationNoLongerExists=Kildefil og linjenummer finnes ikke lenger for stoppunkt ${breakpointNumber}
-unknownCommand=Ukjent kommando "${command}", ignoreres
-unknownSubcommand=Ukjent ${commandCategory} kommando ${command}, ignoreres
-unknownEvent=Mottok ukjent hendelse av typen ${type}, info = ${info}
-problemWithConnection=Problem med tilkobling til \u00f8kt, "${socketErrorMessage}", sikkert best \u00e5 avbryte.
-unexpectedErrorWithStackTrace=Ukjent feil ved behandling av kommando.\nStakkspor f\u00f8lger for diagnostisering: 
-ambiguousCommand=Tvetydig kommando "${input}":
-faultHasNoTableEntry=Feilen ${faultName} har ingen tabelloppf\u00f8ring
-swfInfo=${swfName} \u2013 ${size} byte etter dekomprimering, ${scriptCount} skript [#${min} - #${max}]${plus} ${moreInfo}, adressen er ${url}
-remainingSourceBeingLoaded=gjenv\u00e6rende kilde lastes fremdeles
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(j eller n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Vil du slette alle stoppunkt?
-askDeleteAllAutoDisplay=Vil du slette alle automatvisningsuttrykk?
-askKillProgram=Vil du avslutte programmet som feils\u00f8kes?
-askProgramIsRunningExitAnyway=Programmet kj\u00f8rer. Vil du avslutte allikevel?
-askReinitSourcePath=Vil du ominitialisere kildebanen for \u00e5 t\u00f8mme den?
-askExpressionContainsAssignment=Uttrykket inneholder tilordning. Vil du fortsette?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Ikke bekreftet.
-stopOnlyIfConditionMet=stopp bare hvis ${breakpointCondition}
-breakpointAlreadyHit=stoppunktet er n\u00e5dd ${count} gang(er)
-silentBreakpoint=stille
-getterFunction=Getter
-setterFunction=Setter
-function=Funksjon
-unknownVariableType=<unknown>
-variableAttribute_dontEnumerate=ikke nummerer
-variableAttribute_readOnly=skrivebeskyttet
-variableAttribute_localVariable=lokal
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=har navneomr\u00e5de
-key16=Mottatte meldinger:
-key17=Sendte meldinger:
-key18=Finner ingen kildefiler
-key19=Finner ingen funksjoner
-key20=Funksjonsliste forberedes i bakgrunnen, pr\u00f8v igjen senere.
-key21=--- Egenskaper for SessionManager
-key22=--- Egenskaper for \u00f8kt
-stopped=Stopped
-key24=Spiller kj\u00f8rer.
-key25=Finner ingen bruddinformasjon
-key26=Ukjent variabel
-key27=Kildeinformasjon er ukjent, delte opp gjeldende plassering
-key28=S\u00f8ppel ved spesifikasjon p\u00e5 slutten av linjen
-key29=Finner ingen swf for filen ${arg3}
-key30=Finner ingen funksjon
-key31=---- Viser instruksjoner som ikke er tilordnet i 0x${arg4}, og som ble hoppet over ----
-key32=Linjenummer ${arg5} er utenfor omr\u00e5de, filen ${arg6} har ${arg7} linjer
-key33=Finner ingen filer
-key34=Spilleren holdes for \u00f8yeblikket ikke tilbake for noen handlinger.
-key35=i "${swfName}"
-atAddress=p\u00e5 ${address}
-haltedDueToFault=p\u00e5 grunn av ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nl.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nl.properties
deleted file mode 100644
index c525f2a..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_nl.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=ontwikkeling
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player heeft op onverwachte wijze gereageerd op de opdracht; opdracht afgebroken.
-notSuspendedException=Kan opdracht niet uitvoeren terwijl Player wordt uitgevoerd
-illegalStateException=Opdracht niet geldig zonder sessie
-illegalMonitorStateException=Opdracht niet geldig voor een actieve Player. Druk op Enter om de Player te stoppen
-playerDidNotStop=Player niet gestopt zoals verwacht. Druk op Enter om de Player te stoppen
-noSuchElementException=Minstens \u00e9\u00e9n argument meer verwacht voor opdracht.
-numberFormatException=Opdrachtargument was tekenreeks. Er werd een geheel getal verwacht.
-socketException=Er is waarschijnlijk een ander Flash-foutopsporingsprogramma actief. Sluit dit foutopsporingsprogramma. Details: '${message}'.
-versionException=Opdracht niet ondersteund in deze context.
-unexpectedError=Onverwachte fout tijdens het verwerken van de opdracht.
-stackTraceFollows=Stacktracering volgt voor diagnostische doeleinden: 
-sessionEndedAbruptly=Sessie onverwacht be\u00ebindigd.
-noUriReceived=Geen URI ontvangen van Player
-noSourceFilesFound=Geen bronbestanden gevonden
-unknownBreakpointLocation=<onbekend>
-unknownFilename=<onbekend>
-inFunctionAt=in ${functionName}() op 
-inSwf=in ${swf}
-nonRestorable=; terugzetten vanuit eerdere sessie onmogelijk
-sourceDirectoriesSearched=Doorzochte bronmappen:
-attemptingToSuspend=Er wordt geprobeerd de Player te onderbreken...
-playerStopped=Player gestopt
-playerRunning=Player wordt uitgevoerd
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fout
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Geen stack beschikbaar
-atFilename=op 
-noVariables=geen variabelen
-noArguments=geen argumenten
-notInValidFrame=Niet in een geldig frame. Ga terug naar het huidige frame met de opdracht 'frame'.
-noLocals=geen lokale variabelen
-noScopeChain=geen bereikketen
-noActiveSession=Geen actieve sessie
-runWillLaunchUri=Met 'run' start u ${uri}
-targetUnknown=Doel onbekend
-noSWFs=geen SWF's.
-unrecognizedFault=Niet-herkende fout.
-noFunctionsFound=Geen functies gevonden
-functionListBeingPrepared=Functielijst wordt voorbereid op de achtergrond. Probeer het later opnieuw.
-functionsInSourceFile=Functies in ${sourceFile}
-breakpointNotYetResolved=(nog niet omgezet)
-breakpointAmbiguous=(dubbelzinnig)
-breakpointNoCode=(geen uitvoerbare programmacode op de opgegeven regel)
-sessionTerminated=Player-sessie be\u00ebindigd
-additionalCodeLoaded=Er is extra ActionScript-code geladen vanuit een SWF of frame.\nAls u wilt zien welke bestanden momenteel zijn geladen, typt u 'info files'.
-setAdditionalBreakpoints=Stel naar wens extra onderbrekingspunten in en typ 'continue'.
-fixBreakpoints=Herstel of verwijder ongeldige onderbrekingspunten en typ vervolgens 'continue'.
-executionHalted=Uitvoering gestopt
-hitBreakpoint=Onderbrekingspunt ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() op ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Fout]
-linePrefixWhenDisplayingFault=[Fout]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, informatie=
-sizeAfterDecompression=${size} bytes na decompressie
-breakpointNotPropagated=Waarschuwing: onderbrekingspunt ${breakpointNumber} niet doorgegeven aan alle SWF's.\nU moet het wissen en opnieuw instellen.
-playerAlreadyRunning=Player wordt al uitgevoerd. Hervatten is niet nodig.
-doYouWantToHalt=Wilt u de uitvoering stoppen?
-debugInfoBeingLoaded=foutopsporingsinformatie wordt momenteel geladen
-attemptingToHalt=Poging tot stoppen.\nU kunt proberen de Player te verschuiven door bijvoorbeeld op een knop te drukken
-couldNotHalt=Kan niet stoppen. Er wordt geen ActionScript uitgevoerd.
-escapingFromDebuggerPendingLoop=Foutopsporingslus in uitvoering wordt afgebroken; $nowaiting = 1 wordt ingesteld
-continuingDueToError=Doorgaan vanwege fout '${error}'
-currentLocationUnknown=huidige locatie onbekend
-cannotStep=Doorlopen is momenteel niet mogelijk. Stel onderbrekingspunten in en typ 'continue'.
-abortingStep=De Player is niet op tijd teruggekeerd. De resterende ${count} stappen worden afgebroken
-finishCommandNotMeaningfulOnOutermostFrame=finish' is zinloos voor buitenste frame
-finishCommandNotMeaningfulWithoutStack=finish' is zinloos zonder stack
-noBreakpointNumber=Geen onderbrekingspuntnummer ${breakpointNumber}
-badBreakpointNumber=waarschuwing: ongeldig onderbrekingspuntnummer op of bij '${token}'
-commandFailed=Opdracht mislukt.
-createdBreakpoint=Onderbrekingspunt ${breakpointNumber}: bestand ${file}, regel ${line}
-createdBreakpointWithOffset=Onderbrekingspunt ${breakpointNumber} op ${offset}: bestand ${file}, regel ${line}
-breakpointCreatedButNotYetResolved=Onderbrekingspunt ${breakpointNumber} gemaakt maar nog niet omgezet.\nHet onderbrekingspunt wordt omgezet wanneer het corresponderende bestand of de corresponderende functie wordt geladen.
-fileNumber=bestand #${fileNumber}
-breakpointNotSetNoCode=Onderbrekingspunt niet ingesteld; geen uitvoerbare programmacode op regel ${line} van ${filename}
-breakpointLocationUnknown=Locatie van onderbrekingspunt onbekend.
-breakpointNotCleared=Onderbrekingspunt niet gewist.
-attemptingToResolve=Poging tot omzetten van onderbrekingspunt ${breakpointNumber}, expressie "${expression}":
-noExecutableCode=Er staat geen uitvoerbare programmacode op de opgegeven regel.
-resolvedBreakpointToFunction=Onderbrekingspunt ${breakpointNumber} is omgezet in ${functionName}() op ${file}:${line}
-resolvedBreakpointToFile=Onderbrekingspunt ${breakpointNumber} omgezet in ${file}:${line}
-setCommand=De opdracht set vereist een variabele gevolgd door een expressie
-missingOperator=Expressie moet operator '${operator}' bevatten.
-noSideEffectsAllowed=Expressie mag geen bijwerkingen zoals toewijzing hebben.
-couldNotEvaluate=Expressie kan niet worden ge\u00ebvalueerd.
-commandHistoryIsEmpty=De geschiedenis is leeg
-historyHasNotReached=Geschiedenis heeft ${number} nog niet bereikt
-variableUnknown=Variabele ${variable} onbekend
-expressionCouldNotBeParsed=Expressie kan niet correct worden geparseerd:
-couldNotConvertToNumber=Kan niet omzetten in een getal: ${value}
-commandsLimitedToSpecifiedSwf=Opdrachten beperkt tot bronbestanden van ${swf}
-commandsApplyToAllSwfs=Bronbestanden van alle SWF's beschikbaar binnen opdrachten.
-notValidSwf=${swf} is geen geldige SWF.
-frameDoesNotExist=Frame '${frameNumber}' bestaat niet.
-notANumber=${token}' is geen getal.
-expectedLineNumber=Verwacht: regelnummer. Ontvangen: ${token}
-expectedFileNumber=Verwacht: bestandsnummer. Ontvangen: ${token}
-noSourceFileWithSpecifiedName=Geen bronbestand met de naam '${name}' gevonden.
-noFunctionWithSpecifiedName=Geen functie met de naam '${name}'.
-ambiguousMatchingFilenames=Bestandsnamen die niet eenduidig overeenkomen:
-ambiguousMatchingFunctionNames=Functienamen die niet eenduidig overeenkomen:
-functionInFile=${functionName} in ${filename}
-expectedFile=Verwacht: bestandsnaam of -nummer beginnend met #. Ontvangen: ${token}
-noSuchFileOrFunction=Geen bestand of functie met de naam '${token}'.
-localVariable=lokale variabele
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=Expressie mag slechts \u00e9\u00e9n variabele bevatten
-lineJunk=Onbegrijpelijke tekens aan einde van regelspecificatie
-sourceFileNotFound=Bronbestand niet gevonden. Geef met de opdracht \u2018directory\u2019 op waar het\nbestand zich op deze computer bevindt. Typ \u2018help directory\u2019 voor belangrijke\ninformatie over het opgeven van een map voor de bronbestanden in een pakket.
-lineNumberOutOfRange=Regelnummer ${line} valt buiten het bereik. Bestand ${filename} heeft ${total} regels
-noFilesFound=Geen bestanden gevonden
-sessionInProgress=Sessie is al aan de gang
-waitingForPlayerToConnect=Wachten tot Player verbinding heeft gemaakt
-waitingToConnectToPlayer=Poging verbinding te maken met Player
-launchingWithUrl=Poging tot starten en verbinden met Player via URL
-playerConnectedSessionStarting=Player verbonden; sessie begint.
-setBreakpointsThenResume=Stel onderbrekingspunten in en typ 'continue' om de sessie te hervatten.
-warningNotAllCommandsSupported=Waarschuwing: de door u gebruikte Player ondersteunt niet alle fdb-opdrachten.
-fileDoesNotExist=Bestand niet gevonden: ${uri}
-failedToConnect=Kan geen verbinding maken. Time-out van sessie opgetreden.\nZorg dat aan de volgende twee voorwaarden is voldaan:\n  1. U hebt uw Flash-film gecompileerd met foutopsporing ingeschakeld.\n  2. U gebruikt de foutopsporingsversie van Flash Player.
-manuallyLaunchPlayer=Typ eenvoudig 'run' en start de Player handmatig.
-sourceCommandRequiresPath=Voor de opdracht 'source' is de padnaam van het bronbestand nodig.
-fileNotFound=${filename}: bestand of map bestaat niet.
-argumentRequired=Argument vereist (fout af te handelen).
-breakpointNotChanged=Onderbrekingspunt niet gewijzigd.
-badWatchpointNumber=Ongeldig controlepuntnummer.
-couldNotResolveExpression=Kan expressie niet in variabele omzetten.
-notAllBreakpointsEnabled=Niet alle onderbrekingspunten ingeschakeld
-programNotBeingRun=Het programma wordt niet uitgevoerd.
-commandNotValidUntilPlayerSuspended=De opdracht is pas geldig wanneer de Player is onderbroken. Probeer de opdracht 'halt'.
-noHelpFileFound=Geen Help-bestand (fdbhelp*.txt) gevonden.
-invalidTargetFault=Ongeldige doelnaam voor instructie ActionSetTarget
-recursionLimitFault=Bovengrens voor herhaling bereikt
-invalidWithFault=Doel van instructie 'with' is geen object
-protoLimitFault=Zoekactie in prototypeketen heeft limiet bereikt
-invalidUrlFault=Kan URL niet openen
-exceptionFault=Er is een gebruikersuitzondering opgetreden
-stackUnderflowFault=Er is negatieve stackoverloop opgetreden
-divideByZeroFault=Fout: delen door nul
-scriptTimeoutFault=Time-out van ActionScript-code
-errorWhileProcessingFile=Er is een fout opgetreden tijdens het verwerken van het bestand (${exceptionMessage})
-unrecognizedAction=Niet-herkende actie ${action}
-typeCommandsForBreakpoint=Typ opdrachten voor wanneer onderbrekingspunt ${breakpointNumber} wordt bereikt. Plaats elke opdracht op een aparte regel.\nTyp op de laatste regel alleen 'end'.
-breakpointNowUnconditional=Onderbrekingspunt ${breakpointNumber} nu onvoorwaardelijk.
-watchpointCouldNotBeSet=Kan geen controlepunt voor '${expression}' instellen
-
-changedWatchpointMode=Controlepunt ${watchpointNumber} voor expressie '${expression}' nu ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=lezen
-watchpointMode_write=schrijven
-watchpointMode_readWrite=lezen-schrijven
-
-createdWatchpoint=Controlepunt ${watchpointNumber} ingesteld voor expressie '${expression}'
-couldNotFindWatchpoint=Kan de controle voor '${variable}' niet vinden of verwijderen.
-noDisplayNumber=Geen weergavenummer ${displayNumber}
-badDisplayNumber=waarschuwing: ongeldig weergavenummer op of bij '${token}'
-breakpointLocationNoLongerExists=Er bestaat geen bronbestand of regelnummer meer voor onderbrekingspunt ${breakpointNumber}
-unknownCommand=Onbekende opdracht '${command}'; de opdracht wordt genegeerd
-unknownSubcommand=Onbekende ${commandCategory}-opdracht '${command}'. Opdracht wordt genegeerd
-unknownEvent=Onbekende gebeurtenis ontvangen van type '${type}', info = ${info}
-problemWithConnection=Probleem met sessieverbinding; '${socketErrorMessage}'. U kunt de verbinding waarschijnlijk het beste verbreken.
-unexpectedErrorWithStackTrace=Onverwachte fout tijdens het verwerken van de opdracht.\nStacktracering volgt voor diagnostische doeleinden: 
-ambiguousCommand=Dubbelzinnige '${input}'-opdracht:
-faultHasNoTableEntry=Fout ${faultName} heeft geen tabelvermelding
-swfInfo=${swfName} - ${size} bytes na decompressie, ${scriptCount} scripts [#${min} - #${max}]${plus} ${moreInfo}, URL is ${url}
-remainingSourceBeingLoaded=resterende bron wordt nog geladen
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(j of n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Alle onderbrekingspunten verwijderen?
-askDeleteAllAutoDisplay=Alle automatisch weergegeven expressies verwijderen?
-askKillProgram=Het programma waarin fouten worden opgespoord, afsluiten?
-askProgramIsRunningExitAnyway=Het programma wordt uitgevoerd. Wilt u het toch afsluiten?
-askReinitSourcePath=Bronpad opnieuw instellen op leeg?
-askExpressionContainsAssignment=Uw expressie bevat een toewijzing. Doorgaan?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Niet bevestigd.
-stopOnlyIfConditionMet=alleen stoppen als ${breakpointCondition}
-breakpointAlreadyHit=onderbrekingspunt reeds ${count} keer bereikt
-silentBreakpoint=stil
-getterFunction=Getter
-setterFunction=Setter
-function=Functie
-unknownVariableType=<onbekend>
-variableAttribute_dontEnumerate=niet inventariseren
-variableAttribute_readOnly=alleen-lezen
-variableAttribute_localVariable=lokale variabele
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=heeft naamruimte
-key16=Ontvangen berichten:
-key17=Verzonden berichten:
-key18=Geen bronbestanden gevonden
-key19=Geen functies gevonden
-key20=Functielijst wordt voorbereid op de achtergrond. Probeer het later opnieuw.
-key21=--- Sessiebeheer-eigenschappen
-key22=--- Sessie-eigenschappen
-stopped=Stopped
-key24=Player wordt uitgevoerd.
-key25=Geen onderbrekingsinformatie gevonden
-key26=Variabele onbekend
-key27=Broninformatie onbekend, huidige locatie gedeassembleerd
-key28=Onbegrijpelijke tekens aan einde van regelspecificatie
-key29=Geen SWF gevonden voor bestand ${arg3}
-key30=Geen functie gevonden
-key31=---- Weergave van niet-toegewezen instructies op 0x${arg4} die zijn overgeslagen ----
-key32=Regelnummer ${arg5} valt buiten bereik; bestand ${arg6} heeft ${arg7} regels
-key33=Geen bestanden gevonden
-key34=Player is momenteel niet onderbroken voor acties.
-key35=in '${swfName}'
-atAddress=op ${address}
-haltedDueToFault=vanwege ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_pt.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_pt.properties
deleted file mode 100644
index ed11515..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_pt.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=desenvolvimento
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. Todos os direitos reservados.
-noResponseException=O Player n\u00e3o respondeu ao comando como esperado; comando anulado.
-notSuspendedException=N\u00e3o \u00e9 poss\u00edvel emitir o comando enquanto o Player est\u00e1 em execu\u00e7\u00e3o
-illegalStateException=Comando inv\u00e1lido sem uma sess\u00e3o.
-illegalMonitorStateException=Comando inv\u00e1lido em um Player em execu\u00e7\u00e3o.  Pressione a tecla 'Enter' para interromp\u00ea-lo.
-playerDidNotStop=O Player n\u00e3o parou conforme esperado.  Pressione a tecla 'Enter' para interromp\u00ea-lo
-noSuchElementException=O comando esperava pelo menos mais um argumento.
-numberFormatException=O argumento do comando era uma sequ\u00eancia, inteiro esperado.
-socketException=Outro depurador do Flash est\u00e1 provavelmente em execu\u00e7\u00e3o; feche-o.  Detalhes: '${message}'.
-versionException=Comando n\u00e3o suportado neste contexto.
-unexpectedError=Erro inesperado ao processar o comando.
-stackTraceFollows=Para fins de diagn\u00f3stico, veja a seguir o rastreamento da pilha: 
-sessionEndedAbruptly=A sess\u00e3o terminou abruptamente.
-noUriReceived=Nenhum URI recebido do Player
-noSourceFilesFound=Nenhum arquivo de origem localizado
-unknownBreakpointLocation=<desconhecido>
-unknownFilename=<desconhecido>
-inFunctionAt=em ${functionName}() em 
-inSwf=em ${swf}
-nonRestorable=; n\u00e3o restaur\u00e1vel de sess\u00e3o anterior
-sourceDirectoriesSearched=Diret\u00f3rios de origem pesquisados:
-attemptingToSuspend=Tentando suspender a execu\u00e7\u00e3o do Player...
-playerStopped=O Player parou
-playerRunning=O Player est\u00e1 em execu\u00e7\u00e3o
-suspendReason_Unknown=Desconhecido
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Nenhuma pilha dispon\u00edvel
-atFilename=em 
-noVariables=nenhuma vari\u00e1vel
-noArguments=nenhum argumento
-notInValidFrame=N\u00e3o em um quadro v\u00e1lido.  Use o comando 'frame' para retornar ao atual.
-noLocals=nenhum local
-noScopeChain=nenhuma cadeia de escopo
-noActiveSession=Nenhuma sess\u00e3o ativa
-runWillLaunchUri=run' iniciar\u00e1 ${uri}
-targetUnknown=Destino desconhecido
-noSWFs=nenhum SWF.
-unrecognizedFault=Falha n\u00e3o reconhecida.
-noFunctionsFound=Nenhuma fun\u00e7\u00e3o localizada
-functionListBeingPrepared=A lista de fun\u00e7\u00f5es est\u00e1 sendo preparada em segundo plano; tente novamente mais tarde.
-functionsInSourceFile=Fun\u00e7\u00f5es no ${sourceFile}
-breakpointNotYetResolved=(ainda n\u00e3o resolvido)
-breakpointAmbiguous=(amb\u00edguo)
-breakpointNoCode=(nenhum c\u00f3digo execut\u00e1vel na linha especificada)
-sessionTerminated=A sess\u00e3o do Player foi encerrada
-additionalCodeLoaded=O c\u00f3digo ActionScript adicional foi carregado de um SWF ou um quadro.\nPara ver todos os arquivos carregados no momento, digite 'info files'.
-setAdditionalBreakpoints=Defina pontos de interrup\u00e7\u00e3o adicionais como desejado e digite 'continue'.
-fixBreakpoints=Corrija ou remova pontos de interrup\u00e7\u00e3o incorretos e digite 'continue'.
-executionHalted=Execu\u00e7\u00e3o interrompida
-hitBreakpoint=Ponto de interrup\u00e7\u00e3o ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() em ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Erro]
-linePrefixWhenDisplayingFault=[Falha]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, informa\u00e7\u00e3o=
-sizeAfterDecompression=${size} bytes ap\u00f3s a descompacta\u00e7\u00e3o
-breakpointNotPropagated=AVISO: o ponto de interrup\u00e7\u00e3o ${breakpointNumber} n\u00e3o foi propagado para todos os swfs.\n\u00c9 necess\u00e1rio limp\u00e1-lo e defini-lo novamente.
-playerAlreadyRunning=O Player j\u00e1 est\u00e1 em execu\u00e7\u00e3o, n\u00e3o \u00e9 necess\u00e1rio reiniciar.
-doYouWantToHalt=Deseja interromper a execu\u00e7\u00e3o?
-debugInfoBeingLoaded=informa\u00e7\u00f5es de depura\u00e7\u00e3o sendo carregadas atualmente
-attemptingToHalt=Tentando interromper.\nPara ajudar, tente estimular o Player (por exemplo, pressione um bot\u00e3o)
-couldNotHalt=N\u00e3o foi poss\u00edvel interromper; nenhum ActionScript est\u00e1 em execu\u00e7\u00e3o.
-escapingFromDebuggerPendingLoop=Escapando de loop pendente do depurador; definindo $nowaiting = 1
-continuingDueToError=Continuando devido ao erro '${error}'
-currentLocationUnknown=localiza\u00e7\u00e3o atual desconhecida
-cannotStep=N\u00e3o \u00e9 poss\u00edvel avan\u00e7ar agora. Defina pontos de interrup\u00e7\u00e3o e digite 'continue'.
-abortingStep=O Player n\u00e3o retornou a tempo; anulando ${count} etapas restantes
-finishCommandNotMeaningfulOnOutermostFrame=finish' n\u00e3o significativo no quadro mais externo
-finishCommandNotMeaningfulWithoutStack=finish' n\u00e3o significativo sem uma pilha
-noBreakpointNumber=Nenhum n\u00famero de ponto de interrup\u00e7\u00e3o ${breakpointNumber}
-badBreakpointNumber=aviso de n\u00famero de ponto de interrup\u00e7\u00e3o incorreto em ou perto de '${token}'
-commandFailed=Falha do comando.
-createdBreakpoint=Ponto de interrup\u00e7\u00e3o ${breakpointNumber}: arquivo ${file}, linha ${line}
-createdBreakpointWithOffset=Ponto de interrup\u00e7\u00e3o ${breakpointNumber} em ${offset}: arquivo ${file}, linha ${line}
-breakpointCreatedButNotYetResolved=Ponto de interrup\u00e7\u00e3o ${breakpointNumber} criado, mas ainda n\u00e3o resolvido.\nO ponto de interrup\u00e7\u00e3o ser\u00e1 resolvido quando o arquivo ou a fun\u00e7\u00e3o correspondente for carregada.
-fileNumber=arquivo #${fileNumber}
-breakpointNotSetNoCode=Ponto de interrup\u00e7\u00e3o n\u00e3o definido; nenhum c\u00f3digo execut\u00e1vel na linha ${line} do ${filename}
-breakpointLocationUnknown=Localiza\u00e7\u00e3o do ponto de interrup\u00e7\u00e3o desconhecida.
-breakpointNotCleared=Ponto de interrup\u00e7\u00e3o n\u00e3o limpo.
-attemptingToResolve=Tentando resolver o ponto de interrup\u00e7\u00e3o ${breakpointNumber}, express\u00e3o "${expression}":
-noExecutableCode=N\u00e3o h\u00e1 c\u00f3digo execut\u00e1vel na linha especificada.
-resolvedBreakpointToFunction=Ponto de interrup\u00e7\u00e3o ${breakpointNumber} resolvido como ${functionName}() no ${file}:${line}
-resolvedBreakpointToFile=Ponto de interrup\u00e7\u00e3o ${breakpointNumber} resolvido como ${file}:${line}
-setCommand=Comando de defini\u00e7\u00e3o requer uma vari\u00e1vel seguida de uma express\u00e3o
-missingOperator=A express\u00e3o deve conter o operador '${operator}'.
-noSideEffectsAllowed=A express\u00e3o n\u00e3o deve ter efeitos colaterais como atribui\u00e7\u00e3o.
-couldNotEvaluate=N\u00e3o foi poss\u00edvel avaliar a express\u00e3o.
-commandHistoryIsEmpty=O hist\u00f3rico est\u00e1 vazio
-historyHasNotReached=O hist\u00f3rico ainda n\u00e3o alcan\u00e7ou ${number}
-variableUnknown=Vari\u00e1vel ${variable} desconhecida
-expressionCouldNotBeParsed=N\u00e3o foi poss\u00edvel analisar a express\u00e3o corretamente:
-couldNotConvertToNumber=N\u00e3o foi poss\u00edvel converter em um n\u00famero: ${value}
-commandsLimitedToSpecifiedSwf=Comandos limitados a arquivos de origem de ${swf}
-commandsApplyToAllSwfs=Arquivos de origem de todos os swfs dispon\u00edveis dentro dos comandos.
-notValidSwf=${swf} n\u00e3o \u00e9 um SWF v\u00e1lido.
-frameDoesNotExist=O quadro '${frameNumber}' n\u00e3o existe.
-notANumber=${token}' n\u00e3o \u00e9 um n\u00famero.
-expectedLineNumber=N\u00famero de linha esperado; obtido ${token}
-expectedFileNumber=N\u00famero de arquivo esperado; obtido ${token}
-noSourceFileWithSpecifiedName=Nenhum arquivo de origem chamado '${name}'.
-noFunctionWithSpecifiedName=Nenhuma fun\u00e7\u00e3o chamada '${name}'.
-ambiguousMatchingFilenames=Nomes de arquivo correspondentes amb\u00edguos:
-ambiguousMatchingFunctionNames=Nomes de fun\u00e7\u00e3o correspondentes amb\u00edguos:
-functionInFile=${functionName} no ${filename}
-expectedFile=Nome de arquivo ou n\u00famero de arquivo esperados come\u00e7ando com #; obtido ${token}
-noSuchFileOrFunction=Nenhum arquivo ou fun\u00e7\u00e3o chamada '${token}'.
-localVariable=local
-functionArgumentVariable=argumento
-mustBeOnlyOneVariable=A express\u00e3o deve conter somente uma vari\u00e1vel \u00fanica
-lineJunk=Lixo no fim da especifica\u00e7\u00e3o da linha
-sourceFileNotFound=O arquivo de origem n\u00e3o foi encontrado. Use o comando "directory" para especificar seu\nlocal nesta m\u00e1quina. Digite "help directory" para obter detalhes importantes\nsobre como especificar um diret\u00f3rio para arquivos de origem que est\u00e3o em um pacote.
-lineNumberOutOfRange=N\u00famero da linha ${line} fora de intervalo; o arquivo ${filename} tem ${total} linhas
-noFilesFound=Nenhum arquivo localizado
-sessionInProgress=A sess\u00e3o j\u00e1 est\u00e1 em andamento
-waitingForPlayerToConnect=Aguardando o Player conectar-se
-waitingToConnectToPlayer=Tentar conectar ao Player
-launchingWithUrl=Tentando iniciar e conectar ao Player usando URL
-playerConnectedSessionStarting=O Player est\u00e1 conectado; a sess\u00e3o est\u00e1 sendo iniciada.
-setBreakpointsThenResume=Defina pontos de interrup\u00e7\u00e3o e digite 'continue' para reiniciar a sess\u00e3o.
-warningNotAllCommandsSupported=AVISO: o Player que est\u00e1 sendo usado n\u00e3o oferece suporte a todos os comandos fdb.
-fileDoesNotExist=Arquivo n\u00e3o localizado: ${uri}
-failedToConnect=Falha ao conectar; a sess\u00e3o expirou.\nVerifique se:\n  1. Voc\u00ea compilou o filme Flash com depura\u00e7\u00e3o ativada, e\n  2. A vers\u00e3o do depurador do Flash Player est\u00e1 em execu\u00e7\u00e3o.
-manuallyLaunchPlayer=Digite 'run' e inicie o Player manualmente.
-sourceCommandRequiresPath=o comando 'source' requer nome de caminho de arquivo da origem.
-fileNotFound=${filename}: o arquivo ou o diret\u00f3rio n\u00e3o existe.
-argumentRequired=Argumento obrigat\u00f3rio (falha para tratar).
-breakpointNotChanged=Ponto de interrup\u00e7\u00e3o n\u00e3o alterado.
-badWatchpointNumber=N\u00famero de ponto de inspe\u00e7\u00e3o incorreto.
-couldNotResolveExpression=N\u00e3o foi poss\u00edvel resolver a express\u00e3o em vari\u00e1vel.
-notAllBreakpointsEnabled=Nem todos os pontos de interrup\u00e7\u00e3o est\u00e3o ativados
-programNotBeingRun=O programa n\u00e3o est\u00e1 em execu\u00e7\u00e3o.
-commandNotValidUntilPlayerSuspended=Comando inv\u00e1lido at\u00e9 a execu\u00e7\u00e3o do Player ser suspensa; tente o comando 'halt'.
-noHelpFileFound=Nenhum arquivo de ajuda (fdbhelp*.txt) encontrado.
-invalidTargetFault=Nome de destino incorreto para a instru\u00e7\u00e3o ActionSetTarget
-recursionLimitFault=O limite superior no limite de recurs\u00e3o foi alcan\u00e7ado
-invalidWithFault=O destino da instru\u00e7\u00e3o 'with' n\u00e3o \u00e9 um objeto
-protoLimitFault=A cadeia de prot\u00f3tipo de pesquisa chegou ao limite
-invalidUrlFault=Falha ao abrir um URL
-exceptionFault=Exce\u00e7\u00e3o de usu\u00e1rio acionada.
-stackUnderflowFault=Ocorreu um estouro negativo da pilha
-divideByZeroFault=Erro ao dividir por zero
-scriptTimeoutFault=O c\u00f3digo ActionScript n\u00e3o est\u00e1 em andamento
-errorWhileProcessingFile=Ocorreu um erro ao processar o arquivo (${exceptionMessage})
-unrecognizedAction=A\u00e7\u00e3o ${action} n\u00e3o reconhecida
-typeCommandsForBreakpoint=Digite comandos para quando o ponto de interrup\u00e7\u00e3o ${breakpointNumber} for alcan\u00e7ado, um por linha.\nTermine com uma linha que apenas diz 'end'.
-breakpointNowUnconditional=O ponto de interrup\u00e7\u00e3o ${breakpointNumber} agora \u00e9 incondicional.
-watchpointCouldNotBeSet=N\u00e3o foi poss\u00edvel definir um ponto de inspe\u00e7\u00e3o para '${expression}'
-
-changedWatchpointMode=O ponto de inspe\u00e7\u00e3o ${watchpointNumber} na express\u00e3o '${expression}' agora \u00e9 ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=leitura
-watchpointMode_write=grava\u00e7\u00e3o
-watchpointMode_readWrite=leitura-grava\u00e7\u00e3o
-
-createdWatchpoint=Ponto de inspe\u00e7\u00e3o ${watchpointNumber} definido na express\u00e3o '${expression}'
-couldNotFindWatchpoint=N\u00e3o foi poss\u00edvel localizar ou remover a inspe\u00e7\u00e3o de '${variable}'.
-noDisplayNumber=Nenhum n\u00famero de exibi\u00e7\u00e3o ${displayNumber}
-badDisplayNumber=aviso de n\u00famero de exibi\u00e7\u00e3o incorreto em ou perto de '${token}'
-breakpointLocationNoLongerExists=O arquivo de origem e o n\u00famero da linha n\u00e3o existem mais para o ponto de interrup\u00e7\u00e3o ${breakpointNumber}
-unknownCommand=Comando '${command}' desconhecido, ignorando-o
-unknownSubcommand=Comando ${commandCategory} desconhecido '${command}', ignorando-o
-unknownEvent=Recebido evento desconhecido do tipo '${type}', informa\u00e7\u00f5es = ${info}
-problemWithConnection=Problema com conex\u00e3o da sess\u00e3o, '${socketErrorMessage}'. \u00c9 recomend\u00e1vel termin\u00e1-la.
-unexpectedErrorWithStackTrace=Erro inesperado ao processar o comando.\nPara fins de diagn\u00f3stico, veja a seguir o rastreamento da pilha:
-ambiguousCommand=Comando amb\u00edguo '${input}':
-faultHasNoTableEntry=A falha ${faultName} n\u00e3o tem entrada na tabela
-swfInfo=${swfName} - ${size} bytes ap\u00f3s a descompacta\u00e7\u00e3o, ${scriptCount} scripts [#${min} - #${max}]${plus} ${moreInfo}, url \u00e9 ${url}
-remainingSourceBeingLoaded=a origem restante ainda est\u00e1 sendo carregada
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(s ou n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Excluir todos os pontos de interrup\u00e7\u00e3o?
-askDeleteAllAutoDisplay=Excluir todas as express\u00f5es de exibi\u00e7\u00e3o autom\u00e1tica?
-askKillProgram=Terminar o programa que est\u00e1 sendo depurado?
-askProgramIsRunningExitAnyway=O programa est\u00e1 em execu\u00e7\u00e3o. Sair mesmo assim?
-askReinitSourcePath=Reinicializar caminho de origem como vazio?
-askExpressionContainsAssignment=A express\u00e3o cont\u00e9m atribui\u00e7\u00e3o. Continuar?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=N\u00e3o confirmado.
-stopOnlyIfConditionMet=parar somente se ${breakpointCondition}
-breakpointAlreadyHit=o ponto de interrup\u00e7\u00e3o j\u00e1 alcan\u00e7ou ${count} vez(es)
-silentBreakpoint=silencioso
-getterFunction=Getter
-setterFunction=Setter
-function=Fun\u00e7\u00e3o
-unknownVariableType=<desconhecido>
-variableAttribute_dontEnumerate=n\u00e3o enumere
-variableAttribute_readOnly=somente leitura
-variableAttribute_localVariable=local
-variableAttribute_functionArgument=argumento
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=tem namespace
-key16=Mensagens recebidas:
-key17=Mensagens enviadas:
-key18=Nenhum arquivo de origem localizado
-key19=Nenhuma fun\u00e7\u00e3o localizada
-key20=A lista de fun\u00e7\u00f5es est\u00e1 sendo preparada em segundo plano. Tente novamente mais tarde.
-key21=--- Propriedades de SessionManager
-key22=--- Propriedades de Session
-stopped=Stopped
-key24=Player em execu\u00e7\u00e3o.
-key25=Nenhuma informa\u00e7\u00e3o de interrup\u00e7\u00e3o localizada
-key26=Vari\u00e1vel desconhecida
-key27=Informa\u00e7\u00f5es de origem desconhecidas, local atual desmontado
-key28=Lixo no fim da especifica\u00e7\u00e3o da linha
-key29=Nenhum swf localizado para o arquivo ${arg3}
-key30=Nenhuma fun\u00e7\u00e3o localizada
-key31=---- Exibindo instru\u00e7\u00f5es n\u00e3o mapeadas em 0x${arg4} que foram ignoradas ----
-key32=N\u00famero da linha ${arg5} fora de intervalo; o arquivo ${arg6} tem ${arg7} linhas
-key33=Nenhum arquivo localizado
-key34=O Player n\u00e3o est\u00e1 suspenso atualmente em qualquer a\u00e7\u00e3o.
-key35=em '${swfName}'
-atAddress=em ${address}
-haltedDueToFault=devido a ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ru.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ru.properties
deleted file mode 100644
index 1dd90ae..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_ru.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430
-about=Apache fdb (\u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a Flash Player) [\u0441\u0431\u043e\u0440\u043a\u0430 ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u043e\u0442\u0432\u0435\u0442\u0438\u043b \u043d\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c; \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u0435\u0440\u0432\u0430\u043d\u043e.
-notSuspendedException=\u041a\u043e\u043c\u0430\u043d\u0434\u0443 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f
-illegalStateException=\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0439 \u0431\u0435\u0437 \u0441\u0435\u0430\u043d\u0441\u0430.
-illegalMonitorStateException=\u041d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f.  \u0414\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 "Enter"
-playerDidNotStop=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u0440\u0430\u0431\u043e\u0442\u0443, \u043a\u0430\u043a \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c.  \u0414\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 "Enter"
-noSuchElementException=\u041e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.
-numberFormatException=\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u2013 \u0441\u0442\u0440\u043e\u043a\u0430, \u043e\u0436\u0438\u0434\u0430\u043b\u043e\u0441\u044c \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e.
-socketException=\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0434\u0440\u0443\u0433\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a Flash; \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u0435\u0433\u043e.  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f: "${message}".
-versionException=\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.
-unexpectedError=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.
-stackTraceFollows=\u0412 \u0446\u0435\u043b\u044f\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430: 
-sessionEndedAbruptly=\u0421\u0435\u0430\u043d\u0441 \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d.
-noUriReceived=URI \u043e\u0442 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d
-noSourceFilesFound=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-unknownBreakpointLocation=<\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e>
-unknownFilename=<\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e>
-inFunctionAt=\u0432 ${functionName}() \u043f\u043e \u043f\u0443\u0442\u0438 
-inSwf=\u0432 ${swf}
-nonRestorable=; \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u0435\u0430\u043d\u0441\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e
-sourceDirectoriesSearched=\u041f\u043e\u0438\u0441\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432:
-attemptingToSuspend=\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f...
-playerStopped=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b \u0440\u0430\u0431\u043e\u0442\u0443
-playerRunning=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442
-suspendReason_Unknown=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e
-suspendReason_HitBreakpoint=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430
-suspendReason_HitWatchpoint=\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435
-suspendReason_ProgramThrewException=\u0421\u0431\u043e\u0439
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=\u0428\u0430\u0433
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=\u0421\u0442\u0435\u043a \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d 
-atFilename=\\u043F\u043e \u043f\u0443\u0442\u0438 
-noVariables=\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
-noArguments=\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
-notInValidFrame=\u0412 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u043c \u0444\u0440\u0435\u0439\u043c\u0435.  \u0414\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0432 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0444\u0440\u0435\u0439\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "frame".
-noLocals=\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
-noScopeChain=\u0446\u0435\u043f\u043e\u0447\u043a\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
-noActiveSession=\u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0435\u0430\u043d\u0441 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
-runWillLaunchUri=\u041a\u043e\u043c\u0430\u043d\u0434\u0430 "run" \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 ${uri}
-targetUnknown=\u0426\u0435\u043b\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430
-noSWFs=\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 SWF.
-unrecognizedFault=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u044b\u0439 \u0441\u0431\u043e\u0439.
-noFunctionsFound=\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-functionListBeingPrepared=\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435; \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435.
-functionsInSourceFile=\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u0432 ${sourceFile}
-breakpointNotYetResolved=(\u0435\u0449\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043e)
-breakpointAmbiguous=(\u043d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e)
-breakpointNoCode=(\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442)
-sessionTerminated=\u0421\u0435\u0430\u043d\u0441 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u0440\u0435\u0440\u0432\u0430\u043d
-additionalCodeLoaded=\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 ActionScript \u0431\u044b\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438\u0437 SWF \u0438\u043b\u0438 \u043a\u0430\u0434\u0440\u0430.\n\u0414\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 "info files".
-setAdditionalBreakpoints=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "continue".
-fixBreakpoints=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430, \u0437\u0430\u0442\u0435\u043c \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "continue".
-executionHalted=\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e
-hitBreakpoint=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() \u0432 ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[\u041e\u0448\u0438\u0431\u043a\u0430]
-linePrefixWhenDisplayingFault=[\u0421\u0431\u043e\u0439]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f=
-sizeAfterDecompression=${size} \u0431\u0430\u0439\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438
-breakpointNotPropagated=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u0431\u044b\u043b\u0430 \u0432\u043d\u0435\u0441\u0435\u043d\u0430 \u043d\u0435 \u0432\u043e \u0432\u0441\u0435 swf.\n\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0435\u0435 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443.
-playerAlreadyRunning=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f.
-doYouWantToHalt=\u041f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435?
-debugInfoBeingLoaded=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u043e\u0442\u043b\u0430\u0434\u043a\u0435
-attemptingToHalt=\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430.\n\u0414\u043b\u044f \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443)
-couldNotHalt=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, ActionScript \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.
-escapingFromDebuggerPendingLoop=\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0446\u0438\u043a\u043b\u0430 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430; \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 $nowaiting = 1
-continuingDueToError=\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 "${error}"
-currentLocationUnknown=\u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e
-cannotStep=\u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d.  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "continue".
-abortingStep=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0431\u044b\u043b \u0432\u043e\u0432\u0440\u0435\u043c\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d; \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 ${count} \u0448\u0430\u0433\u043e\u0432
-finishCommandNotMeaningfulOnOutermostFrame='finish' not meaningful on outermost frame
-finishCommandNotMeaningfulWithoutStack=\u041a\u043e\u043c\u0430\u043d\u0434\u0430 "finish" \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u043c\u043e\u0439 \u0431\u0435\u0437 \u0441\u0442\u0435\u043a\u0430
-noBreakpointNumber=\u041d\u043e\u043c\u0435\u0440 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
-badBreakpointNumber=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0432 \u0438\u043b\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 "${token}"
-commandFailed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443.
-createdBreakpoint=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber}: \u0444\u0430\u0439\u043b ${file}, \u0441\u0442\u0440\u043e\u043a\u0430 ${line}
-createdBreakpointWithOffset=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u0432 ${offset}: \u0444\u0430\u0439\u043b ${file}, \u0441\u0442\u0440\u043e\u043a\u0430 ${line}
-breakpointCreatedButNotYetResolved=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u0441\u043e\u0437\u0434\u0430\u043d\u0430, \u043d\u043e \u0435\u0449\u0435 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430.\n\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.
-fileNumber=\u0424\u0430\u0439\u043b #${fileNumber}
-breakpointNotSetNoCode=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430; \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 ${line} \u0434\u043b\u044f ${filename}
-breakpointLocationUnknown=\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e.
-breakpointNotCleared=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0430.
-attemptingToResolve=\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber}, \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 "${expression}":
-noExecutableCode=\u0412 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434.
-resolvedBreakpointToFunction=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0434\u043b\u044f ${breakpointNumber} \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 ${functionName}() \u0432 ${file}:${line}
-resolvedBreakpointToFile=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0434\u043b\u044f ${breakpointNumber} \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 ${file}:${line}
-setCommand=\u0414\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435
-missingOperator=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 "${operator}".
-noSideEffectsAllowed=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u0431\u043e\u0447\u043d\u044b\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u043d\u0438\u0435.
-couldNotEvaluate=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435.
-commandHistoryIsEmpty=\u0417\u0430\u043f\u0438\u0441\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442
-historyHasNotReached=\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f ${number}
-variableUnknown=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f ${variable}
-expressionCouldNotBeParsed=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435:
-couldNotConvertToNumber=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0447\u0438\u0441\u043b\u043e: ${value}
-commandsLimitedToSpecifiedSwf=\u041a\u043e\u043c\u0430\u043d\u0434\u044b, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438\u0437 ${swf}
-commandsApplyToAllSwfs=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u0432\u0441\u0435\u0445 swf, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445.
-notValidSwf=${swf} \u2013 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 SWF.
-frameDoesNotExist=\u041a\u0430\u0434\u0440 "${frameNumber}" \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
-notANumber=${token} \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440\u043e\u043c.
-expectedLineNumber=\u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438; \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e ${token}
-expectedFileNumber=\u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u043e\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430; \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e ${token}
-noSourceFileWithSpecifiedName=\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u0438\u043c\u0435\u043d\u0435\u043c "${name}".
-noFunctionWithSpecifiedName=\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c "${name}" \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.
-ambiguousMatchingFilenames=\u041d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043c\u0435\u043d \u0444\u0430\u0439\u043b\u043e\u0432:
-ambiguousMatchingFunctionNames=\u041d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043c\u0435\u043d \u0444\u0443\u043d\u043a\u0446\u0438\u0439:
-functionInFile=${functionName} \u0432 ${filename}
-expectedFile=\u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u043b\u0438 \u043d\u043e\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430, \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0441 #; \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e ${token}
-noSuchFileOrFunction=\u0424\u0430\u0439\u043b \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c "${token}" \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442.
-localVariable=\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f
-functionArgumentVariable=\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442
-mustBeOnlyOneVariable=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e
-lineJunk=\u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a\u0438
-sourceFileNotFound=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "directory" \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f\n\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043d\u0430 \u044d\u0442\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435.  \u0412\u0432\u0435\u0434\u0438\u0442\u0435 "help directory" \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438\n\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0434\u043b\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0432 \u043f\u0430\u043a\u0435\u0442.
-lineNumberOutOfRange=\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 ${line} \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430; \u0444\u0430\u0439\u043b ${filename} \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 ${total} \u0441\u0442\u0440\u043e\u043a
-noFilesFound=\u0424\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-sessionInProgress=\u0421\u0435\u0430\u043d\u0441 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f
-waitingForPlayerToConnect=\u041e\u0436\u0438\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f
-waitingToConnectToPlayer=\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a Player
-launchingWithUrl=\u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c URL-\u0430\u0434\u0440\u0435\u0441\u0430
-playerConnectedSessionStarting=\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d; \u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0430\u043d\u0441\u0430.
-setBreakpointsThenResume=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u044f \u0441\u0435\u0430\u043d\u0441\u0430 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "continue".
-warningNotAllCommandsSupported=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b fdb.
-fileDoesNotExist=\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d: ${uri}
-failedToConnect=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435; \u0442\u0430\u0439\u043c-\u0430\u0443\u0442 \u0441\u0435\u0430\u043d\u0441\u0430.\n\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e:\n\\1. \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Flash \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439.\n2. \u0417\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Flash Player.
-manuallyLaunchPlayer=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 "run", \u0430 \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e.
-sourceCommandRequiresPath=\u0414\u043b\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b "source" \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.
-fileNotFound=${filename}: \u0442\u0430\u043a\u043e\u0439 \u0444\u0430\u0439\u043b \u0438\u043b\u0438 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.
-argumentRequired=\u0422\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 (\u043e\u0448\u0438\u0431\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438).
-breakpointNotChanged=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430.
-badWatchpointNumber=\u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u043e\u0447\u043a\u0438-\u0434\u0430\u0442\u0447\u0438\u043a\u0430.
-couldNotResolveExpression=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e.
-notAllBreakpointsEnabled=\u0410\u043a\u0442\u0438\u0432\u043d\u044b \u043d\u0435 \u0432\u0441\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430
-programNotBeingRun=\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.
-commandNotValidUntilPlayerSuspended=\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043e \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 "\u041f\u0440\u0435\u0440\u0432\u0430\u0442\u044c".
-noHelpFileFound=\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b (fdbhelp*.txt) \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d.
-invalidTargetFault=\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0446\u0435\u043b\u0435\u0432\u043e\u0435 \u0438\u043c\u044f \u0434\u043b\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 ActionSetTarget
-recursionLimitFault=\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0435 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438
-invalidWithFault=\u0426\u0435\u043b\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 "with" \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c
-protoLimitFault=\u0414\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u0432 \u0446\u0435\u043f\u043e\u0447\u043a\u0435 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432
-invalidUrlFault=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0440\u044b\u0442\u044c URL
-exceptionFault=\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c
-stackUnderflowFault=\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0435\u043a\u0435.
-divideByZeroFault=\u041e\u0448\u0438\u0431\u043a\u0430 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043d\u043e\u043b\u044c
-scriptTimeoutFault=\u041a\u043e\u0434 ActionScript \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f
-errorWhileProcessingFile=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0444\u0430\u0439\u043b\u0430 (${exceptionMessage})
-unrecognizedAction=\u041d\u0435\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u043d\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f ${action}
-typeCommandsForBreakpoint=\u041f\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0438 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443). n\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e "end".
-breakpointNowUnconditional=\u0422\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber} \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439.
-watchpointCouldNotBeSet=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0443-\u0434\u0430\u0442\u0447\u0438\u043a \u0434\u043b\u044f "${expression}"
-
-changedWatchpointMode=\u0422\u043e\u0447\u043a\u043e\u0439-\u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c ${watchpointNumber} \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 "${expression}" \u0442\u0435\u043f\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=\u0427\u0442\u0435\u043d\u0438\u0435
-watchpointMode_write=\u0417\u0430\u043f\u0438\u0441\u044c
-watchpointMode_readWrite=\u0427\u0442\u0435\u043d\u0438\u0435-\u0437\u0430\u043f\u0438\u0441\u044c
-
-createdWatchpoint=\u0422\u043e\u0447\u043a\u0430-\u0434\u0430\u0442\u0447\u0438\u043a ${watchpointNumber} \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 "${expression}"
-couldNotFindWatchpoint=\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0434\u043b\u044f "${variable}".
-noDisplayNumber=\u041d\u043e\u043c\u0435\u0440 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f ${displayNumber} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442
-badDisplayNumber=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435! \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u0438\u043b\u0438 \u0440\u044f\u0434\u043e\u043c \u0441 "${token}"
-breakpointLocationNoLongerExists=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438 \u043d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u043b\u044f \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 ${breakpointNumber}
-unknownCommand=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 "${command}", \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f
-unknownSubcommand=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f ${commandCategory} \u043a\u043e\u043c\u0430\u043d\u0434\u044b "${command}", \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f
-unknownEvent=\u041f\u043e\u043b\u0443\u0447\u0435\u043d \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0441\u043e\u0431\u044b\u0442\u0438\u044f "${type}", \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f = ${info}
-problemWithConnection=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0441\u0435\u0430\u043d\u0441\u0430 "${socketErrorMessage}"; \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u0435\u0440\u0432\u0430\u0442\u044c \u0441\u0435\u0430\u043d\u0441.
-unexpectedErrorWithStackTrace=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.n\\u0412 \u0446\u0435\u043b\u044f\u0445 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0435\u043a\u0430: 
-ambiguousCommand=\u041d\u0435\u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 "${input}":
-faultHasNoTableEntry=\u0414\u043b\u044f \u043e\u0448\u0438\u0431\u043a\u0438 ${faultName} \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b
-swfInfo=${swfName} \u2013 ${size} \u0431\u0430\u0439\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438, ${scriptCount} \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 [#${min} \u2013 #${max}]${plus} ${moreInfo}, URL-\u0430\u0434\u0440\u0435\u0441 \u2013 ${url}
-remainingSourceBeingLoaded=\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(\u0434\u0430 \u0438\u043b\u0438 \u043d\u0435\u0442) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0442\u043e\u0447\u043a\u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430?
-askDeleteAllAutoDisplay=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f?
-askKillProgram=\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0435\u043c\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443?
-askProgramIsRunningExitAnyway=\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f.  \u0412\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0432\u044b\u0439\u0442\u0438?
-askReinitSourcePath=\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0441 \u043e\u0447\u0438\u0441\u0442\u043a\u043e\u0439?
-askExpressionContainsAssignment=\u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d\u0438\u0435! \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=\u041d\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e.
-stopOnlyIfConditionMet=\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 ${breakpointCondition}
-breakpointAlreadyHit=\u0422\u043e\u0447\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0430 \u0443\u0436\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043d\u0443\u0442\u0430 ${count} \u0440\u0430\u0437
-silentBreakpoint=\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439
-getterFunction=\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c
-setterFunction=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a
-function=\u0424\u0443\u043d\u043a\u0446\u0438\u044f
-unknownVariableType=<\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e>
-variableAttribute_dontEnumerate=\u041d\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u044f\u0442\u044c
-variableAttribute_readOnly=\u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f
-variableAttribute_localVariable=\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f
-variableAttribute_functionArgument=\u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442
-variableAttribute_getterFunction=\u041f\u043e\u043b\u0443\u0447\u0430\u0442\u0435\u043b\u044c
-variableAttribute_setterFunction=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0449\u0438\u043a
-variableAttribute_hasNamespace=\u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d
-key16=\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:
-key17=\u041f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:
-key18=\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-key19=\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-key20=\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u043f\u0438\u0441\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435; \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043f\u043e\u0437\u0436\u0435.
-key21=--- \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 SessionManager
-key22=--- \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0441\u0435\u0430\u043d\u0441\u0430
-stopped=\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e
-key24=\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f.
-key25=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0435 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430
-key26=\u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430
-key27=\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0430, \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e
-key28=\u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a\u0438
-key29=Swf \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 ${arg3} \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d
-key30=\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430
-key31=---- \u041d\u0435\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0432 0x${arg4}, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u043e\u043f\u0443\u0449\u0435\u043d\u044b ----
-key32=\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438 ${arg5} \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430; \u0444\u0430\u0439\u043b $ {arg6} \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 $ {arg7} \u0441\u0442\u0440\u043e\u043a
-key33=\u0424\u0430\u0439\u043b\u044b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b
-key34=\u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439.
-key35=\u0432 "${swfName}"
-atAddress=\u043f\u043e \u043f\u0443\u0442\u0438 ${address}
-haltedDueToFault=\u0432\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_sv.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_sv.properties
deleted file mode 100644
index 539a5e7..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_sv.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=utveckling
-about=Apache fdb (Flash Player Debugger) [build ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. Med ensamr\u00e4tt.
-noResponseException=Spelaren svarade inte p\u00e5 kommandot som f\u00f6rv\u00e4ntat. Kommandot har avbrutits.
-notSuspendedException=Du kan inte ange kommandon n\u00e4r spelaren k\u00f6rs.
-illegalStateException=Kommandot \u00e4r inte giltigt utan session.
-illegalMonitorStateException=Kommandot \u00e4r inte giltigt n\u00e4r spelaren k\u00f6rs. Tryck p\u00e5 retur f\u00f6r att avbryta den.
-playerDidNotStop=Spelaren avslutades inte som f\u00f6rv\u00e4ntat. Tryck p\u00e5 retur f\u00f6r att stoppa den
-noSuchElementException=Kommandot kr\u00e4ver \u00e5tminstone ett argument till.
-numberFormatException=Heltal f\u00f6rv\u00e4ntades som kommandoargument och inte str\u00e4ng.
-socketException=F\u00f6rmodligen k\u00f6rs en annan Flash-avlusare. Du b\u00f6r avsluta den. Detaljer: "${message}".
-versionException=Kommandot st\u00f6ds inte i det h\u00e4r sammanhanget.
-unexpectedError=Ov\u00e4ntat fel n\u00e4r kommandot bearbetades.
-stackTraceFollows=Stacksp\u00e5rningen visas i diagnostiksyfte: 
-sessionEndedAbruptly=Sessionen avslutades pl\u00f6tsligt.
-noUriReceived=Ingen URI togs emot fr\u00e5n spelaren
-noSourceFilesFound=Inga k\u00e4llfiler uppt\u00e4cktes
-unknownBreakpointLocation=<unknown>
-unknownFilename=<unknown>
-inFunctionAt=i ${functionName}() vid 
-inSwf=i ${swf}
-nonRestorable=; Kan inte \u00e5terst\u00e4llas fr\u00e5n f\u00f6reg\u00e5ende session
-sourceDirectoriesSearched=Genoms\u00f6kta k\u00e4llkataloger:
-attemptingToSuspend=F\u00f6rs\u00f6k att pausa spelaren ...
-playerStopped=Spelaren har stoppats
-playerRunning=Spelaren k\u00f6rs
-suspendReason_Unknown=Ok\u00e4nd
-suspendReason_HitBreakpoint=Brytpunkt
-suspendReason_HitWatchpoint=\u00d6vervakning
-suspendReason_ProgramThrewException=Fel
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Steg
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=Ingen stack tillg\u00e4nglig
-atFilename=vid 
-noVariables=inga variabler
-noArguments=argument saknas
-notInValidFrame=Inte i n\u00e5gon giltig ram. Anv\u00e4nd kommandot "frame" f\u00f6r att \u00e5terg\u00e5 till den aktuella.
-noLocals=inga lokala variabler
-noScopeChain=Ingen omf\u00e5ngskedja
-noActiveSession=Aktiv session saknas
-runWillLaunchUri="run" kommer att starta ${uri}
-targetUnknown=Ok\u00e4nt m\u00e5l
-noSWFs=inga SWF-filer.
-unrecognizedFault=Ok\u00e4nt fel
-noFunctionsFound=Inga funktioner uppt\u00e4cktes
-functionListBeingPrepared=Funktionslistan f\u00f6rbereds i bakgrunden. F\u00f6rs\u00f6k igen senare.
-functionsInSourceFile=Funktioner i ${sourceFile}
-breakpointNotYetResolved=(\u00e4nnu ej l\u00f6st)
-breakpointAmbiguous=(tvetydigt)
-breakpointNoCode=(ingen k\u00f6rbar kod p\u00e5 den angivna raden)
-sessionTerminated=Spelarsessionen har avslutats
-additionalCodeLoaded=Ytterligare ActionScript-kod har l\u00e4sts in fr\u00e5n en SWF eller ram.\nSkriv "info files" om du vill se alla inl\u00e4sta filer.
-setAdditionalBreakpoints=Ange ytterligare brytpunkter (vid behov) och skriv "continue".
-fixBreakpoints=\u00c5tg\u00e4rda eller ta bort felaktiga brytpunkter och skriv d\u00e4refter "continue".
-executionHalted=K\u00f6rningen stoppad
-hitBreakpoint=Brytpunkt ${breakpointNumber}
-haltedInFunction=${reasonForHalting}, ${functionName}() vid ${fileAndLine}
-haltedInFile=${reasonForHalting}, ${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[Fel]
-linePrefixWhenDisplayingFault=[Fel]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=, information=
-sizeAfterDecompression=${size} byte efter uppackning
-breakpointNotPropagated=VARNING! Brytpunkten ${breakpointNumber} har inte spritts till alla swf-filer.\nRensa den och st\u00e4ll d\u00e4refter in den p\u00e5 nytt.
-playerAlreadyRunning=Spelaren k\u00f6rs redan. Du beh\u00f6ver inte \u00e5teruppta k\u00f6rningen.
-doYouWantToHalt=Vill du stoppa k\u00f6rningen?
-debugInfoBeingLoaded=avlusningsinformation l\u00e4ses in
-attemptingToHalt=Stoppf\u00f6rs\u00f6k.\nDu kan hj\u00e4lpa till genom att ge kommando till spelaren (exempelvis genom att trycka p\u00e5 en knapp).
-couldNotHalt=Det gick inte att avbryta. Inget ActionScript k\u00f6rs.
-escapingFromDebuggerPendingLoop=Flykt fr\u00e5n v\u00e4ntande avlusarloop. $nowaiting st\u00e4lls in till 1
-continuingDueToError=Forts\u00e4tter p\u00e5 grund av fel "${error}"
-currentLocationUnknown=aktuell plats \u00e4r ok\u00e4nd
-cannotStep=Det g\u00e5r inte att stega nu. St\u00e4ll in brytningspunkterna och skriv "continue".
-abortingStep=Inget svar i tid fr\u00e5n spelaren. Kvarvarande ${count}steg avbryts.
-finishCommandNotMeaningfulOnOutermostFrame="finish" kan inte anv\u00e4ndas med den yttersta ramen
-finishCommandNotMeaningfulWithoutStack="finish" kan inte anv\u00e4ndas utan stack.
-noBreakpointNumber=Inget brytpunktstal ${breakpointNumber}
-badBreakpointNumber=varning! Felaktigt brytpunktstal vid eller i n\u00e4rheten av "${token}"
-commandFailed=Kommandot misslyckades..
-createdBreakpoint=Brytpunkt ${breakpointNumber}: fil ${file}, rad ${line}
-createdBreakpointWithOffset=Brytpunkt ${breakpointNumber} vid ${offset}: fil ${file}, rad ${line}
-breakpointCreatedButNotYetResolved=Brytpunkten ${breakpointNumber} har skapats, men \u00e4nnu inte l\u00f6sts.\nBrytpunkten kommer att l\u00f6sas n\u00e4r motsvarande fil eller funktion l\u00e4ses in.
-fileNumber=fil #${fileNumber}
-breakpointNotSetNoCode=Brytpunkten har inte st\u00e4llts in. Det finns ingen k\u00f6rbar kod p\u00e5 rad ${line} i ${filename}
-breakpointLocationUnknown=Ok\u00e4nd plats f\u00f6r brytpunkten.
-breakpointNotCleared=Brytpunkten har inte rensats.
-attemptingToResolve=L\u00f6sningsf\u00f6rs\u00f6k f\u00f6r brytpunkt ${breakpointNumber}, uttryck "${expression}":
-noExecutableCode=Det finns ingen k\u00f6rbar kod p\u00e5 den angivna raden.
-resolvedBreakpointToFunction=Brytpunkten ${breakpointNumber} har l\u00f6sts till ${functionName}() vid ${file}:${line}
-resolvedBreakpointToFile=Brytpunkten ${breakpointNumber} har l\u00f6sts till ${file}:${line}
-setCommand=Kommandot "set" kr\u00e4ver en variabel och ett uttryck
-missingOperator=Uttrycket m\u00e5ste inneh\u00e5lla operatorn "${operator}".
-noSideEffectsAllowed=Uttrycket f\u00e5r inte ha sidoeffekter, som t.ex. tilldelning.
-couldNotEvaluate=Uttrycket kunde inte v\u00e4rderas.
-commandHistoryIsEmpty=Historiken \u00e4r tom.
-historyHasNotReached=Historiken har \u00e4nnu inte n\u00e5tt ${number}
-variableUnknown=Variabeln ${variable} \u00e4r ok\u00e4nd
-expressionCouldNotBeParsed=Uttrycket kan inte tolkas:
-couldNotConvertToNumber=Det gick inte att omvandla till ett tal ${value}
-commandsLimitedToSpecifiedSwf=Kommandon begr\u00e4nsas till k\u00e4llfiler fr\u00e5n ${swf}
-commandsApplyToAllSwfs=K\u00e4llfiler fr\u00e5n alla swf-filer finns till\u00e4gliga i kommandona.
-notValidSwf=${swf} \u00e4r inte en giltig SWF.
-frameDoesNotExist=Ramen "${frameNumber}" finns inte.
-notANumber="{token}" \u00e4r inte ett tal.
-expectedLineNumber=F\u00f6rv\u00e4ntat radnummer och inte ${token}
-expectedFileNumber=F\u00f6rv\u00e4ntat filnummer och inte ${token}
-noSourceFileWithSpecifiedName=Ingen k\u00e4llfil med namnet "${name}".
-noFunctionWithSpecifiedName=Ingen funktion med namnet "${name}".
-ambiguousMatchingFilenames=Tvetydig matchning av filnamn:
-ambiguousMatchingFunctionNames=Tvetydig matchning av funktionsnamn:
-functionInFile=${functionName} i ${filename}
-expectedFile=Filnamnet eller filnumret f\u00f6rv\u00e4ntas starta med #, men b\u00f6rjar med ${token}
-noSuchFileOrFunction=Ingen fil eller funktion med namnet "${token}".
-localVariable=lokal
-functionArgumentVariable=argument
-mustBeOnlyOneVariable=Uttrycket f\u00e5r endast inneh\u00e5lla en variabel
-lineJunk=Skr\u00e4p p\u00e5 slutet av radspecifikationen
-sourceFileNotFound=K\u00e4llfilen hittades inte. Anv\u00e4nd kommandot "directory" f\u00f6r att ange var\nden befinner sig p\u00e5 datorn. Skriv "help directory" f\u00f6r viktig information\nom hur du anger en katalog f\u00f6r paketets k\u00e4llfiler.
-lineNumberOutOfRange=Radnummer ${line} \u00e4r utanf\u00f6r intervallet. Filen ${filename} best\u00e5r totalt av ${total} rader
-noFilesFound=Inga filer uppt\u00e4cktes
-sessionInProgress=Sessionen p\u00e5g\u00e5r redan
-waitingForPlayerToConnect=V\u00e4ntar p\u00e5 att spelaren ska ansluta
-waitingToConnectToPlayer=F\u00f6rs\u00f6ker ansluta till Player
-launchingWithUrl=F\u00f6rs\u00f6ker att k\u00f6ra spelaren och ansluta till den via URL.
-playerConnectedSessionStarting=Spelaren har anslutits. Sessionen p\u00e5b\u00f6rjas.
-setBreakpointsThenResume=Ange brytpunkter och skriv "continue" f\u00f6r att \u00e5teruppta sessionen.
-warningNotAllCommandsSupported=VARNING! Spelaren som du anv\u00e4nder har inte st\u00f6d f\u00f6r alla fdb-kommandon.
-fileDoesNotExist=Filen hittades inte: ${uri}
-failedToConnect=Det gick inte att ansluta (timeout f\u00f6r sessionen)\nSe till att\n\\ 1. Flash-filen har kompilerats med avlusning aktiverat och att\\ 2. Du k\u00f6r avlusningsversionen av Flash-spelaren.
-manuallyLaunchPlayer=Skriv "run" och starta spelaren manuellt.
-sourceCommandRequiresPath=Kommandot "source" kr\u00e4ver en s\u00f6kv\u00e4g f\u00f6r filen till k\u00e4llan.
-fileNotFound=${filename}: Filen eller katalogen finns inte.
-argumentRequired=Det kr\u00e4vs ett argument (hanteringsfel).
-breakpointNotChanged=Brytpunkten har inte \u00e4ndrats.
-badWatchpointNumber=Felaktigt \u00f6vervakningspunktstal.
-couldNotResolveExpression=Det gick inte att l\u00f6sa uttrycket till variabel.
-notAllBreakpointsEnabled=Vissa brytpunkter har inte aktiverats
-programNotBeingRun=Programmet k\u00f6rs inte.
-commandNotValidUntilPlayerSuspended=Kommandot \u00e4r inte giltigt f\u00f6rr\u00e4n spelaren har pausats. F\u00f6rs\u00f6k med kommandot "halt".
-noHelpFileFound=Inga hj\u00e4lpfiler (fdbhelp*.txt) uppt\u00e4cktes.
-invalidTargetFault=Ogiltigt m\u00e5lnamn f\u00f6r instruktionen ActionSetTarget
-recursionLimitFault=Det \u00f6vre gr\u00e4nsv\u00e4rdet har uppn\u00e5tts f\u00f6r rekusionen
-invalidWithFault=Uttrycket "with" \u00e4r inte ett objekt
-protoLimitFault=S\u00f6kningsgr\u00e4nsen f\u00f6r prototypkedjan har n\u00e5tts.
-invalidUrlFault=URL kunde inte \u00f6ppnas.
-exceptionFault=Anv\u00e4ndarundantag har utl\u00f6sts
-stackUnderflowFault=Stackunderskott
-divideByZeroFault=Fel: division med noll
-scriptTimeoutFault=ActionScript-koden bearbetas inte
-errorWhileProcessingFile=Ett fel intr\u00e4ffade n\u00e4r filen (${exceptionMessage}) behandlades
-unrecognizedAction=Ok\u00e4nd \u00e5tg\u00e4rd ${action}
-typeCommandsForBreakpoint=Ange kommandon som ska utf\u00f6ras n\u00e4r brytpunkten ${breakpointNumber} n\u00e5s (ett par rad).\nAvsluta med raden "end".
-breakpointNowUnconditional=Brytpunkten ${breakpointNumber} \u00e4r nu ovillkorlig.
-watchpointCouldNotBeSet=\u00d6vervakningspunkt kunde inte st\u00e4llas in f\u00f6r "${expression}"
-
-changedWatchpointMode=\u00d6vervakningspunkten ${watchpointNumber} f\u00f6r uttryck "${expression}" \u00e4r nu ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=l\u00e4s
-watchpointMode_write=skriv
-watchpointMode_readWrite=l\u00e4s-skriv
-
-createdWatchpoint=Brytpunkt ${watchpointNumber} har st\u00e4llts in f\u00f6r uttryck "${expression}"
-couldNotFindWatchpoint=\u00d6vervakningen f\u00f6r "${variable}" kunde inte hittas eller tas bort.
-noDisplayNumber=Inget visningstal ${displayNumber}
-badDisplayNumber=varning! Felaktigt visningstal vid eller i n\u00e4rheten av "${token}"
-breakpointLocationNoLongerExists=Det finns inte l\u00e4ngre n\u00e5gon k\u00e4llfil eller n\u00e5got radnummer f\u00f6r brytpunkten ${breakpointNumber}
-unknownCommand="${command}" \u00e4r ett ok\u00e4nt kommando och f\u00f6rbig\u00e5s.
-unknownSubcommand="${command}" \u00e4r ett ok\u00e4nt kommando i kategorin ${commandCategory}, och f\u00f6rbig\u00e5s.
-unknownEvent=Ogiltig h\u00e4ndelse av typen "${type}" mottogs. Info = ${info}
-problemWithConnection=Det finns ett problem med sessionsanslutningen "${socketErrorMessage}". Det \u00e4r f\u00f6rmodligen b\u00e4st att skicka "kill".
-unexpectedErrorWithStackTrace=Ov\u00e4ntat fel n\u00e4r kommandot bearbetades. Stacksp\u00e5rning visas i diagnostiksyfte:
-ambiguousCommand=Tvetydigt kommando "${input}":
-faultHasNoTableEntry=Fel ${faultName} saknar tabellpost
-swfInfo=${swfName} - ${size} byte efter uppackning, ${scriptCount} skript [#${min} - #${max}]${plus} ${moreInfo}, url:en \u00e4r ${url}
-remainingSourceBeingLoaded=den kvarvarande k\u00e4llan l\u00e4ses fortfarande in
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(j eller n) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=Ska alla brytningspunkter tas bort?
-askDeleteAllAutoDisplay=Ska alla uttryck som visas automatiskt tas bort?
-askKillProgram=Ska programmet som avlusas avbrytas?
-askProgramIsRunningExitAnyway=Programmet k\u00f6rs. Vill du avsluta \u00e4nd\u00e5?
-askReinitSourcePath=Ska k\u00e4lls\u00f6kv\u00e4gen initialiseras om till tom?
-askExpressionContainsAssignment=Uttrycket inneh\u00e5ller tilldelning. Vill du forts\u00e4tta?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=Inte bekr\u00e4ftat.
-stopOnlyIfConditionMet=stoppa endast om ${breakpointCondition}
-breakpointAlreadyHit=Brytpunkten har redan uppn\u00e5tts${count} g\u00e5ng(er)
-silentBreakpoint=tyst
-getterFunction=H\u00e4mtare
-setterFunction=Setter
-function=Funktion
-unknownVariableType=<unknown>
-variableAttribute_dontEnumerate=ingen uppr\u00e4kning
-variableAttribute_readOnly=skrivskyddad
-variableAttribute_localVariable=lokal
-variableAttribute_functionArgument=argument
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=har namnomr\u00e5de
-key16=Meddelanden som tagits emot:
-key17=Meddelanden som skickats:
-key18=Inga k\u00e4llfiler uppt\u00e4cktes
-key19=Inga funktioner uppt\u00e4cktes
-key20=Funktionslistan f\u00f6rbereds i bakgrunden. F\u00f6rs\u00f6k igen senare.
-key21=--- Egenskaper f\u00f6r SessionManager
-key22=--- Sessionsegenskaper
-stopped=Stoppad
-key24=Spelaren k\u00f6rs.
-key25=Ingen brytinformation uppt\u00e4cktes
-key26=Ok\u00e4nd variabel
-key27=Ok\u00e4nd k\u00e4llinformation. Nuvarande plats har delats upp.
-key28=Skr\u00e4p p\u00e5 slutet av radspecifikationen
-key29=Ingen swf uppt\u00e4cktes f\u00f6r filen ${arg3}
-key30=Ingen funktion uppt\u00e4cktes
-key31=---- Omappade instruktioner som hoppades \u00f6ver vid 0x${arg4} visas ----
-key32=Radnummer ${arg5} \u00e4r utanf\u00f6r intervallet; fil ${arg6} har ${arg7} rader
-key33=Inga filer uppt\u00e4cktes
-key34=Inga spelar\u00e5tg\u00e4rder har pausats f\u00f6r n\u00e4rvarande
-key35=i "${swfName}"
-atAddress=vid ${address}
-haltedDueToFault=p\u00e5 grund av ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_CN.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_CN.properties
deleted file mode 100644
index 8e4658c..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_CN.properties
+++ /dev/null
@@ -1,263 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=\u5f00\u53d1
-about=Apache fdb\uff08Flash Player \u8c03\u8bd5\u5668\uff09[\u5185\u90e8\u7248\u672c ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player \u672a\u6309\u9884\u671f\u65b9\u5f0f\u54cd\u5e94\u547d\u4ee4\uff1b\u547d\u4ee4\u5df2\u5f02\u5e38\u7ec8\u6b62\u3002
-notSuspendedException=Player \u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u65f6\u65e0\u6cd5\u53d1\u51fa\u547d\u4ee4
-illegalStateException=\u5982\u679c\u6ca1\u6709\u4f1a\u8bdd\uff0c\u5219\u547d\u4ee4\u65e0\u6548\u3002
-illegalMonitorStateException=\u547d\u4ee4\u5728\u8fd0\u884c\u7684 Player \u4e0a\u65e0\u6548\u3002\u6309\u201cEnter\u201d\u952e\u7ec8\u6b62\u547d\u4ee4
-playerDidNotStop=Player \u672a\u6309\u9884\u671f\u65b9\u5f0f\u505c\u6b62\u3002\u6309\u201cEnter\u201d\u952e\u7ec8\u6b62
-noSuchElementException=\u547d\u4ee4\u81f3\u5c11\u8fd8\u9700\u8981\u4e00\u4e2a\u81ea\u53d8\u91cf\u3002
-numberFormatException=\u547d\u4ee4\u81ea\u53d8\u91cf\u4e3a\u5b57\u7b26\u4e32\uff0c\u5e94\u4e3a\u6574\u6570\u3002
-socketException=\u53e6\u4e00\u4e2a Flash \u8c03\u8bd5\u5668\u53ef\u80fd\u6b63\u5728\u8fd0\u884c\uff1b\u8bf7\u5c06\u5176\u5173\u95ed\u3002\u8be6\u7ec6\u4fe1\u606f: \u201c${message}\u201d\u3002
-versionException=\u5728\u6b64\u4e0a\u4e0b\u6587\u4e2d\u4e0d\u652f\u6301\u547d\u4ee4\u3002
-unexpectedError=\u5904\u7406\u547d\u4ee4\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef\u3002
-stackTraceFollows=\u4e3a\u8fdb\u884c\u8bca\u65ad\uff0c\u968f\u540e\u6267\u884c\u5806\u6808\u8ddf\u8e2a: 
-sessionEndedAbruptly=\u4f1a\u8bdd\u7a81\u7136\u7ed3\u675f\u3002
-noUriReceived=\u672a\u4ece Player \u6536\u5230 URI
-noSourceFilesFound=\u627e\u4e0d\u5230\u6e90\u6587\u4ef6
-unknownBreakpointLocation=<\u672a\u77e5>
-unknownFilename=<\u672a\u77e5>
-inFunctionAt=\u5728\u5904\u4e8e\u4ee5\u4e0b\u4f4d\u7f6e\u7684 ${functionName}() \u4e2d 
-inSwf=\u5728 ${swf} \u4e2d
-inWorker=Worker ${worker}
-workerRunning=\u6b63\u5728\u8fd0\u884c
-workerSuspended=\u5df2\u6682\u505c
-workerSelected=(\u6d3b\u52a8)
-mainThread=\u4e3b\u7ebf\u7a0b
-nonRestorable=\uff1b\u65e0\u6cd5\u4ece\u4ee5\u524d\u7684\u4f1a\u8bdd\u590d\u539f
-sourceDirectoriesSearched=\u5df2\u641c\u7d22\u7684\u6e90\u76ee\u5f55:
-attemptingToSuspend=\u6b63\u5728\u5c1d\u8bd5\u6682\u6302 Player \u6267\u884c...
-playerStopped=Player \u5df2\u505c\u6b62
-playerRunning=Player \u6b63\u5728\u8fd0\u884c
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=\u65e0\u53ef\u7528\u5806\u6808
-atFilename=\\u4F4D\u4e8e 
-noVariables=\u65e0\u53d8\u91cf
-noArguments=\u65e0\u81ea\u53d8\u91cf
-notInValidFrame=\u4e0d\u5728\u6709\u6548\u5e27\u4e2d\u3002\u4f7f\u7528\u201cframe\u201d\u547d\u4ee4\u53ef\u4ee5\u8fd4\u56de\u5230\u5f53\u524d\u5e27\u3002
-noLocals=\u65e0\u5c40\u90e8\u53d8\u91cf
-noScopeChain=\u65e0\u4f5c\u7528\u57df\u94fe
-noActiveSession=\u65e0\u6d3b\u52a8\u4f1a\u8bdd
-runWillLaunchUri=\u201c\u8fd0\u884c\u201d\u5c06\u542f\u52a8 ${uri}
-targetUnknown=\u76ee\u6807\u672a\u77e5
-noSWFs=\u65e0 SWF\u3002
-unrecognizedFault=\u6545\u969c\u65e0\u6cd5\u8bc6\u522b\u3002
-noFunctionsFound=\u627e\u4e0d\u5230\u51fd\u6570
-functionListBeingPrepared=\u6b63\u5728\u540e\u53f0\u51c6\u5907\u51fd\u6570\u5217\u8868\uff1b\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002
-functionsInSourceFile=${sourceFile} \u4e2d\u7684\u51fd\u6570
-breakpointNotYetResolved=\\uFF08\u5c1a\u672a\u89e3\u6790\uff09
-breakpointAmbiguous=\\uFF08\u6709\u6b67\u4e49\uff09
-breakpointNoCode=\\uFF08\u6307\u5b9a\u7684\u884c\u4e2d\u6ca1\u6709\u53ef\u6267\u884c\u4ee3\u7801\uff09
-sessionTerminated=Player \u4f1a\u8bdd\u5df2\u7ec8\u6b62
-additionalCodeLoaded=\u5df2\u4ece SWF \u6216\u5e27\u52a0\u8f7d\u5176\u5b83 ActionScript \u4ee3\u7801\u3002\n\u8981\u67e5\u770b\u6240\u6709\u5f53\u524d\u52a0\u8f7d\u7684\u6587\u4ef6\uff0c\u8bf7\u952e\u5165\u201cinfo files\u201d\u3002
-workerChanged=\u6d3b\u52a8\u7684 Worker \u5df2\u66f4\u6539\u4e3a Worker
-workerNotFound=\u627e\u4e0d\u5230\u5177\u6709\u6b64 ID \u7684 Worker
-setAdditionalBreakpoints=\u6839\u636e\u9700\u8981\u8bbe\u7f6e\u5176\u5b83\u65ad\u70b9\uff0c\u7136\u540e\u952e\u5165\u201ccontinue\u201d\u3002
-fixBreakpoints=\u4fee\u6b63\u6216\u5220\u9664\u9519\u8bef\u7684\u65ad\u70b9\uff0c\u7136\u540e\u952e\u5165\u201ccontinue\u201d\u3002
-executionHalted=\u6267\u884c\u5df2\u7ec8\u6b62
-hitBreakpoint=\u65ad\u70b9 ${breakpointNumber}
-haltedInFunction=${reasonForHalting}\uff0c${fileAndLine} \u4e2d\u7684 ${functionName}()
-haltedInFile=${reasonForHalting}\uff0c${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[\u9519\u8bef]
-linePrefixWhenDisplayingFault=[\u6545\u969c]
-linePrefixWhenWorkerCreated=[WorkerCreate]
-linePrefixWhenWorkerExit=[WorkerDestroy]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=\uff0c\u4fe1\u606f=
-sizeAfterDecompression=\u89e3\u538b\u7f29\u540e\u4e3a ${size} \u4e2a\u5b57\u8282
-breakpointNotPropagated=\u8b66\u544a: \u672a\u5c06\u65ad\u70b9 ${breakpointNumber} \u4f20\u64ad\u5230\u6240\u6709\u7684 swf\u3002\n\u60a8\u9700\u8981\u6e05\u9664\u8be5\u65ad\u70b9\u5e76\u91cd\u65b0\u5bf9\u5176\u8fdb\u884c\u8bbe\u7f6e\u3002
-playerAlreadyRunning=Player \u5df2\u5728\u8fd0\u884c\uff0c\u4e0d\u9700\u8981\u7ee7\u7eed\u6267\u884c\u3002
-doYouWantToHalt=\u8981\u5c1d\u8bd5\u7ec8\u6b62\u6267\u884c\u5417\uff1f
-debugInfoBeingLoaded=\u5f53\u524d\u6b63\u5728\u52a0\u8f7d\u8c03\u8bd5\u4fe1\u606f
-attemptingToHalt=\u6b63\u5728\u5c1d\u8bd5\u7ec8\u6b62\u3002\n\u4e3a\u5e2e\u52a9\u9000\u51fa\uff0c\u8bf7\u5c1d\u8bd5\u8f7b\u63a8 Player\uff08\u4f8b\u5982\uff0c\u6309\u67d0\u4e2a\u6309\u94ae\uff09
-couldNotHalt=\u65e0\u6cd5\u7ec8\u6b62\uff0cActionScript \u4e0d\u5904\u4e8e\u8fd0\u884c\u72b6\u6001\u3002
-escapingFromDebuggerPendingLoop=\u6b63\u5728\u8131\u79bb\u8c03\u8bd5\u5668\u6682\u6302\u5faa\u73af\uff1b\u6b63\u5728\u5c06 $nowaiting \u8bbe\u7f6e\u4e3a 1
-continuingDueToError=\u7531\u4e8e\u5b58\u5728\u9519\u8bef\u201c${error}\u201d\uff0c\u6b63\u5728\u7ee7\u7eed\u64cd\u4f5c
-currentLocationUnknown=\u5f53\u524d\u4f4d\u7f6e\u672a\u77e5
-cannotStep=\u60a8\u4e0d\u80fd\u7acb\u5373\u6267\u884c\u5355\u6b65\u64cd\u4f5c\u3002\u8bbe\u7f6e\u65ad\u70b9\uff0c\u7136\u540e\u952e\u5165\u201ccontinue\u201d\u3002
-abortingStep=Player \u672a\u53ca\u65f6\u8fd4\u56de\uff1b\u6b63\u5728\u653e\u5f03\u5269\u4f59\u7684 ${count} \u4e2a\u6b65\u9aa4
-finishCommandNotMeaningfulOnOutermostFrame=\u201c\u5b8c\u6210\u201d\u5bf9\u4e8e\u6700\u5916\u9762\u7684\u5e27\u6ca1\u6709\u610f\u4e49
-finishCommandNotMeaningfulWithoutStack=\u5982\u679c\u6ca1\u6709\u5806\u6808\uff0c\u5219\u201c\u5b8c\u6210\u201d\u6ca1\u6709\u610f\u4e49
-noBreakpointNumber=\u65e0\u65ad\u70b9\u7f16\u53f7 ${breakpointNumber}
-badBreakpointNumber=\u6b63\u5728\u901a\u8fc7\u8b66\u544a\u901a\u77e5\u201c${token}\u201d\u5904\u6216\u5176\u9644\u8fd1\u7684\u9519\u8bef\u65ad\u70b9\u7f16\u53f7
-commandFailed=\u547d\u4ee4\u5931\u8d25\u3002
-createdBreakpoint=\u65ad\u70b9 ${breakpointNumber}: \u6587\u4ef6 ${file}\uff0c\u884c ${line}
-createdBreakpointWithOffset=${offset} \u5904\u7684\u65ad\u70b9 ${breakpointNumber}: \u6587\u4ef6 ${file}\uff0c\u884c ${line}
-breakpointCreatedButNotYetResolved=\u65ad\u70b9 ${breakpointNumber} \u5df2\u521b\u5efa\uff0c\u4f46\u5c1a\u672a\u89e3\u6790\u3002\n\u52a0\u8f7d\u5bf9\u5e94\u7684\u6587\u4ef6\u6216\u51fd\u6570\u65f6\uff0c\u5c06\u89e3\u6790\u65ad\u70b9\u3002
-fileNumber=\u6587\u4ef6 #${fileNumber}
-breakpointNotSetNoCode=\u65ad\u70b9\u672a\u8bbe\u7f6e\uff1b${filename} \u7684\u884c ${line} \u4e2d\u6ca1\u6709\u53ef\u6267\u884c\u4ee3\u7801
-breakpointLocationUnknown=\u65ad\u70b9\u4f4d\u7f6e\u672a\u77e5\u3002
-breakpointNotCleared=\u65ad\u70b9\u672a\u88ab\u6e05\u9664\u3002
-attemptingToResolve=\u6b63\u5728\u5c1d\u8bd5\u89e3\u6790\u65ad\u70b9 ${breakpointNumber}\uff0c\u8868\u8fbe\u5f0f\u201c${expression}\u201d:
-noExecutableCode=\u6307\u5b9a\u7684\u884c\u4e2d\u6ca1\u6709\u53ef\u6267\u884c\u4ee3\u7801\u3002
-resolvedBreakpointToFunction=\u5df2\u5728 ${file}: ${line} \u5c06\u65ad\u70b9 ${breakpointNumber} \u89e3\u6790\u4e3a ${functionName}()
-resolvedBreakpointToFile=\u5df2\u5c06\u65ad\u70b9 ${breakpointNumber} \u89e3\u6790\u4e3a ${file}:${line}
-setCommand=Set \u547d\u4ee4\u8981\u6c42\u53d8\u91cf\u540e\u8ddf\u8868\u8fbe\u5f0f
-missingOperator=\u8868\u8fbe\u5f0f\u5fc5\u987b\u5305\u542b\u201c${operator}\u201d\u8fd0\u7b97\u7b26\u3002
-noSideEffectsAllowed=\u8868\u8fbe\u5f0f\u4e0d\u5f97\u5177\u6709\u8bf8\u5982\u8d4b\u503c\u4e4b\u7c7b\u7684\u526f\u4f5c\u7528\u3002
-couldNotEvaluate=\u65e0\u6cd5\u5bf9\u8868\u8fbe\u5f0f\u6c42\u503c\u3002
-commandHistoryIsEmpty=\u5386\u53f2\u8bb0\u5f55\u4e3a\u7a7a
-historyHasNotReached=\u5386\u53f2\u8bb0\u5f55\u5c1a\u672a\u5230\u8fbe ${number}
-variableUnknown=\u53d8\u91cf ${variable} \u672a\u77e5
-expressionCouldNotBeParsed=\u65e0\u6cd5\u6b63\u786e\u89e3\u6790\u8868\u8fbe\u5f0f:
-couldNotConvertToNumber=\u65e0\u6cd5\u8f6c\u6362\u4e3a\u6570\u5b57: ${value}
-commandsLimitedToSpecifiedSwf=\u4ec5\u9002\u7528\u4e8e ${swf} \u4e2d\u7684\u6e90\u6587\u4ef6\u7684\u547d\u4ee4
-commandsApplyToAllSwfs=\u53ef\u4ee5\u5728\u547d\u4ee4\u4e2d\u4f7f\u7528\u6240\u6709 swf \u4e2d\u7684\u6e90\u6587\u4ef6\u3002
-notValidSwf=${swf} \u4e0d\u662f\u6709\u6548\u7684 SWF\u3002
-frameDoesNotExist=\u5e27\u201c${frameNumber}\u201d\u4e0d\u5b58\u5728\u3002
-notANumber=\u201c${token}\u201d\u4e0d\u662f\u6570\u5b57\u3002
-expectedLineNumber=\u9700\u8981\u884c\u53f7\uff1b\u5df2\u83b7\u53d6 ${token}
-expectedFileNumber=\u9700\u8981\u6587\u4ef6\u7f16\u53f7\uff1b\u5df2\u83b7\u53d6 ${token}
-noSourceFileWithSpecifiedName=\u6ca1\u6709\u540d\u4e3a\u201c${name}\u201d\u7684\u6e90\u6587\u4ef6\u3002
-noFunctionWithSpecifiedName=\u6ca1\u6709\u540d\u4e3a\u201c${name}\u201d\u7684\u51fd\u6570\u3002
-ambiguousMatchingFilenames=\u5339\u914d\u6587\u4ef6\u540d\u6709\u6b67\u4e49:
-ambiguousMatchingFunctionNames=\u5339\u914d\u51fd\u6570\u540d\u6709\u6b67\u4e49:
-functionInFile=${filename} \u4e2d\u7684 ${functionName}
-expectedFile=\u9700\u8981\u4ee5 # \u5f00\u5934\u7684\u6587\u4ef6\u540d\u6216\u6587\u4ef6\u7f16\u53f7\uff1b\u5df2\u83b7\u53d6 ${token}
-noSuchFileOrFunction=\u6ca1\u6709\u540d\u4e3a\u201c${token}\u201d\u7684\u6587\u4ef6\u6216\u51fd\u6570\u3002
-localVariable=\u5c40\u90e8
-functionArgumentVariable=\u81ea\u53d8\u91cf
-mustBeOnlyOneVariable=\u8868\u8fbe\u5f0f\u5fc5\u987b\u4ec5\u5305\u542b\u5355\u4e2a\u53d8\u91cf
-lineJunk=\u884c\u89c4\u8303\u7ed3\u5c3e\u5904\u7684\u65e0\u7528\u5185\u5bb9
-sourceFileNotFound=\u627e\u4e0d\u5230\u6e90\u6587\u4ef6\u3002\u4f7f\u7528\u201cdirectory\u201d\u547d\u4ee4\u6307\u5b9a\u5b83\u5728\n\u6b64\u8ba1\u7b97\u673a\u4e0a\u7684\u4f4d\u7f6e\u3002\u952e\u5165\u201chelp directory\u201d\uff0c\u4ee5\u83b7\u53d6\u6709\u5173\n\u5982\u4f55\u6307\u5b9a\u5305\u4e2d\u6e90\u6587\u4ef6\u7684\u76ee\u5f55\u7684\u91cd\u8981\u8be6\u7ec6\u4fe1\u606f\u3002
-lineNumberOutOfRange=\u884c\u53f7 ${line} \u8d85\u51fa\u8303\u56f4\uff1b\u6587\u4ef6 ${filename} \u542b\u6709 ${total} \u884c
-noFilesFound=\u627e\u4e0d\u5230\u6587\u4ef6
-sessionInProgress=\u4f1a\u8bdd\u5df2\u5904\u4e8e\u8fd0\u884c\u72b6\u6001
-waitingForPlayerToConnect=\u7b49\u5f85 Player \u8fde\u63a5
-waitingToConnectToPlayer=\u6b63\u5728\u5c1d\u8bd5\u8fde\u63a5\u5230 Player
-launchingWithUrl=\u6b63\u5728\u5c1d\u8bd5\u542f\u52a8 Player \u5e76\u4f7f\u7528 URL \u8fde\u63a5\u5230\u8be5 Player
-playerConnectedSessionStarting=Player \u5df2\u8fde\u63a5\uff1b\u4f1a\u8bdd\u6b63\u5728\u542f\u52a8\u3002
-setBreakpointsThenResume=\u8bbe\u7f6e\u65ad\u70b9\uff0c\u7136\u540e\u952e\u5165\u201ccontinue\u201d\u4ee5\u7ee7\u7eed\u6267\u884c\u4f1a\u8bdd\u3002
-warningNotAllCommandsSupported=\u8b66\u544a: \u60a8\u6b63\u5728\u4f7f\u7528\u7684\u64ad\u653e\u5668\u5e76\u4e0d\u652f\u6301\u6240\u6709\u7684 fdb \u547d\u4ee4\u3002
-fileDoesNotExist=\u672a\u627e\u5230\u6587\u4ef6: ${uri}
-failedToConnect=\u8fde\u63a5\u5931\u8d25\uff1b\u4f1a\u8bdd\u5df2\u8d85\u65f6\u3002\n\u786e\u4fdd:\n  1. \u5728\u6253\u5f00\u8c03\u8bd5\u529f\u80fd\u7684\u60c5\u51b5\u4e0b\u7f16\u8bd1\u4e86 Flash \u5f71\u7247\u3002\n  2. \u60a8\u6b63\u5728\u8fd0\u884c Flash Player \u7684\u8c03\u8bd5\u5668\u7248\u672c\u3002
-manuallyLaunchPlayer=\u53ea\u9700\u952e\u5165\u201crun\u201d\uff0c\u7136\u540e\u624b\u5de5\u542f\u52a8 Player\u3002
-sourceCommandRequiresPath=\u201csource\u201d\u547d\u4ee4\u8981\u6c42\u6e90\u6587\u4ef6\u7684\u8def\u5f84\u540d\u3002
-fileNotFound=${filename}: \u65e0\u6b64\u7c7b\u6587\u4ef6\u6216\u76ee\u5f55\u3002
-argumentRequired=\u9700\u8981\u81ea\u53d8\u91cf\uff08\u8981\u5904\u7406\u7684\u6545\u969c\uff09\u3002
-breakpointNotChanged=\u65ad\u70b9\u672a\u88ab\u66f4\u6539\u3002
-badWatchpointNumber=\u89c2\u5bdf\u70b9\u7f16\u53f7\u4e0d\u6b63\u786e\u3002
-couldNotResolveExpression=\u65e0\u6cd5\u5c06\u8868\u8fbe\u5f0f\u89e3\u6790\u4e3a\u53d8\u91cf\u3002
-notAllBreakpointsEnabled=\u5e76\u672a\u542f\u7528\u6240\u6709\u65ad\u70b9
-programNotBeingRun=\u8be5\u7a0b\u5e8f\u6ca1\u6709\u8fd0\u884c\u3002
-commandNotValidUntilPlayerSuspended=Player \u6267\u884c\u6682\u6302\u4e4b\u540e\uff0c\u547d\u4ee4\u624d\u6709\u6548\uff1b\u8bf7\u5c1d\u8bd5\u4f7f\u7528\u201chalt\u201d\u547d\u4ee4\u3002
-noHelpFileFound=\u627e\u4e0d\u5230\u5e2e\u52a9\u6587\u4ef6 (fdbhelp*.txt)\u3002
-invalidTargetFault=ActionSetTarget \u6307\u4ee4\u7684\u76ee\u6807\u540d\u9519\u8bef
-recursionLimitFault=\u5df2\u8fbe\u5230\u9012\u5f52\u4e0a\u9650
-invalidWithFault=\u201cwith\u201d\u8bed\u53e5\u7684\u76ee\u6807\u4e0d\u662f\u5bf9\u8c61
-protoLimitFault=\u641c\u7d22\u539f\u578b\u94fe\u5df2\u8fbe\u5230\u9650\u5236
-invalidUrlFault=\u6253\u5f00 URL \u5931\u8d25
-exceptionFault=\u629b\u51fa\u7528\u6237\u5f02\u5e38
-stackUnderflowFault=\u53d1\u751f\u4e86\u5806\u6808\u4e0b\u6ea2
-divideByZeroFault=\u9664\u6570\u4e3a\u96f6\u9519\u8bef
-scriptTimeoutFault=ActionScript \u4ee3\u7801\u6ca1\u6709\u6267\u884c
-errorWhileProcessingFile=\u5904\u7406\u6587\u4ef6\u65f6\u51fa\u9519 (${exceptionMessage})
-unrecognizedAction=\u64cd\u4f5c ${action} \u65e0\u6cd5\u8bc6\u522b
-typeCommandsForBreakpoint=\u9047\u5230\u65ad\u70b9 ${breakpointNumber} \u65f6\u952e\u5165\u547d\u4ee4\uff0c\u4e00\u6761\u547d\u4ee4\u5360\u4e00\u884c\u3002\n\u4ee5\u53ea\u6709\u201cend\u201d\u7684\u884c\u4f5c\u4e3a\u7ed3\u5c3e\u3002
-breakpointNowUnconditional=\u65ad\u70b9 ${breakpointNumber} \u73b0\u5728\u662f\u65e0\u6761\u4ef6\u7684\u3002
-watchpointCouldNotBeSet=\u65e0\u6cd5\u8bbe\u7f6e\u201c${expression}\u201d\u7684\u89c2\u5bdf\u70b9
-
-changedWatchpointMode=\u8868\u8fbe\u5f0f\u201c${expression}\u201d\u4e0a\u7684\u89c2\u5bdf\u70b9 ${watchpointNumber} \u73b0\u5728\u5904\u4e8e ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=\u8bfb\u53d6
-watchpointMode_write=\u5199\u5165
-watchpointMode_readWrite=\u8bfb\u5199
-
-createdWatchpoint=\u5728\u8868\u8fbe\u5f0f\u201c${expression}\u201d\u4e0a\u8bbe\u7f6e\u7684\u89c2\u5bdf\u70b9 ${watchpointNumber}
-couldNotFindWatchpoint=\u627e\u4e0d\u5230\u6216\u65e0\u6cd5\u5220\u9664\u201c${variable}\u201d\u7684\u89c2\u5bdf\u70b9\u3002
-noDisplayNumber=\u65e0\u663e\u793a\u7f16\u53f7 ${displayNumber}
-badDisplayNumber=\u6b63\u5728\u901a\u8fc7\u8b66\u544a\u901a\u77e5\u201c${token}\u201d\u5904\u6216\u5176\u9644\u8fd1\u7684\u9519\u8bef\u663e\u793a\u7f16\u53f7
-breakpointLocationNoLongerExists=\u4e0e\u65ad\u70b9 ${breakpointNumber} \u5bf9\u5e94\u7684\u6e90\u6587\u4ef6\u548c\u884c\u53f7\u4e0d\u518d\u5b58\u5728\u3002
-unknownCommand=\u547d\u4ee4\u201c${command}\u201d\u672a\u77e5\uff0c\u5ffd\u7565\u8be5\u547d\u4ee4
-unknownSubcommand=${commandCategory} \u547d\u4ee4\u201c${command}\u201d\u672a\u77e5\uff0c\u5ffd\u7565\u8be5\u547d\u4ee4
-unknownEvent=\u6536\u5230\u4e86\u7c7b\u578b\u4e3a\u201c${type}\u201d\u3001\u4fe1\u606f\u4e3a\u201c${info}\u201d\u7684\u672a\u77e5\u4e8b\u4ef6\u3002
-problemWithConnection=\u4f1a\u8bdd\u8fde\u63a5\u6709\u95ee\u9898\uff0c\u201c${socketErrorMessage}\u201d\uff0c\u6700\u597d\u7684\u65b9\u5f0f\u53ef\u80fd\u662f\u201c\u505c\u6b62\u201d\u8be5\u8fde\u63a5\u3002
-unexpectedErrorWithStackTrace=\u5904\u7406\u547d\u4ee4\u65f6\u51fa\u73b0\u610f\u5916\u9519\u8bef\u3002\n\u4e3a\u8fdb\u884c\u8bca\u65ad\uff0c\u968f\u540e\u6267\u884c\u5806\u6808\u8ddf\u8e2a: 
-ambiguousCommand=\u547d\u4ee4\u201c${input}\u201d\u6709\u6b67\u4e49:
-faultHasNoTableEntry=\u6545\u969c ${faultName} \u6ca1\u6709\u8868\u6761\u76ee
-swfInfo=${swfName} - \u89e3\u538b\u7f29\u540e\u4e3a ${size} \u4e2a\u5b57\u8282\uff0c${scriptCount} \u4e2a\u811a\u672c [#${min} - #${max}]${plus} ${moreInfo}\uff0cURL \u4e3a ${url}
-remainingSourceBeingLoaded=\u4ecd\u5728\u52a0\u8f7d\u5269\u4f59\u7684\u6e90
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=\\uFF08\u662f\u6216\u5426\uff09 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\u8981\u5220\u9664\u6240\u6709\u65ad\u70b9\u5417\uff1f
-askDeleteAllAutoDisplay=\u8981\u5220\u9664\u6240\u6709\u81ea\u52a8\u663e\u793a\u8868\u8fbe\u5f0f\u5417\uff1f
-askKillProgram=\u8981\u505c\u6b62\u6b63\u5728\u8c03\u8bd5\u7684\u7a0b\u5e8f\u5417\uff1f
-askProgramIsRunningExitAnyway=\u8be5\u7a0b\u5e8f\u6b63\u5728\u8fd0\u884c\u3002\u4e00\u5b9a\u8981\u9000\u51fa\u5417\uff1f
-askReinitSourcePath=\u8981\u5c06\u6e90\u8def\u5f84\u91cd\u65b0\u521d\u59cb\u5316\u4e3a\u7a7a\u5417\uff1f
-askExpressionContainsAssignment=\u60a8\u7684\u8868\u8fbe\u5f0f\u5305\u542b\u8d4b\u503c\uff01\u8981\u7ee7\u7eed\u5417\uff1f
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=\u672a\u786e\u8ba4\u3002
-stopOnlyIfConditionMet=\u4ec5\u5728 ${breakpointCondition} \u65f6\u505c\u6b62
-breakpointAlreadyHit=\u65ad\u70b9\u5df2\u547d\u4e2d ${count} \u6b21
-silentBreakpoint=\u9759\u9ed8
-getterFunction=Getter
-setterFunction=Setter
-function=\u51fd\u6570
-unknownVariableType=<\u672a\u77e5>
-variableAttribute_dontEnumerate=\u4e0d\u679a\u4e3e
-variableAttribute_readOnly=\u53ea\u8bfb
-variableAttribute_localVariable=\u5c40\u90e8
-variableAttribute_functionArgument=\u81ea\u53d8\u91cf
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=\u5177\u6709\u547d\u540d\u7a7a\u95f4
-key16=\u6536\u5230\u7684\u6d88\u606f:
-key17=\u53d1\u9001\u7684\u6d88\u606f:
-key18=\u627e\u4e0d\u5230\u6e90\u6587\u4ef6
-key19=\u627e\u4e0d\u5230\u51fd\u6570
-key20=\u6b63\u5728\u540e\u53f0\u51c6\u5907\u51fd\u6570\u5217\u8868\uff1b\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002
-key21=--- SessionManager \u5c5e\u6027
-key22=--- \u4f1a\u8bdd\u5c5e\u6027
-stopped=Stopped
-key24=Player \u6b63\u5728\u8fd0\u884c\u3002
-key25=\u627e\u4e0d\u5230\u4e2d\u65ad\u4fe1\u606f
-key26=\u53d8\u91cf\u672a\u77e5
-key27=\u6e90\u4fe1\u606f\u672a\u77e5\uff0c\u53cd\u6c47\u7f16\u4e86\u5f53\u524d\u4f4d\u7f6e
-key28=\u884c\u89c4\u8303\u7ed3\u5c3e\u5904\u7684\u65e0\u7528\u5185\u5bb9
-key29=\u627e\u4e0d\u5230\u6587\u4ef6 ${arg3} \u7684 swf
-key30=\u627e\u4e0d\u5230\u51fd\u6570
-key31=---- \u5728 0x${arg4} \u5904\u663e\u793a\u5df2\u8df3\u8fc7\u7684\u672a\u6620\u5c04\u6307\u4ee4 ----
-key32=\u884c\u53f7 ${arg5} \u8d85\u51fa\u8303\u56f4\uff1b\u6587\u4ef6 ${arg6} \u542b\u6709 ${arg7} \u884c
-key33=\u627e\u4e0d\u5230\u6587\u4ef6
-key34=Player \u5f53\u524d\u5bf9\u4efb\u4f55\u64cd\u4f5c\u90fd\u672a\u6682\u6302\u3002
-key35=\u5728\u201c${swfName}\u201d\u4e2d
-atAddress=\u4f4d\u4e8e ${address}
-haltedDueToFault=\u56e0\u4e3a ${fault}
-noWorkersRunning=\u6ca1\u6709\u6b63\u5728\u8fd0\u884c\u7684 Worker\u3002
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_TW.properties b/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_TW.properties
deleted file mode 100644
index 452663f..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdb_zh_TW.properties
+++ /dev/null
@@ -1,253 +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.
-
-
-# Translation:
-#
-# In this file, a couple of messages are split across multiple lines.  The main
-# reason for that is that fdb is a command-line program, so we prefer to keep
-# messages at less than 80 characters so that they fit in a typical command
-# window.  When translating strings, you can either keep the line breaks in the
-# same places, or move them, or even remove them altogether if a message will
-# fit on a single line.
-
-defaultBuildName=\u958b\u767c
-about=Apache fdb (Flash Player \u9664\u932f\u7a0b\u5f0f) [\u7d44\u5efa ${build}]
-copyright=Copyright 2013 The Apache Software Foundation. All rights reserved.
-noResponseException=Player \u672a\u5982\u9810\u671f\u56de\u61c9\u6307\u4ee4\uff1b\u6307\u4ee4\u5df2\u4e2d\u6b62\u3002
-notSuspendedException=Player \u6b63\u5728\u57f7\u884c\u6642\u7121\u6cd5\u767c\u51fa\u6307\u4ee4
-illegalStateException=\u5982\u679c\u6c92\u6709\u5de5\u4f5c\u968e\u6bb5\uff0c\u6307\u4ee4\u5c31\u7121\u6548\u3002
-illegalMonitorStateException=\u6307\u4ee4\u5728\u57f7\u884c\u4e2d\u7684 Player \u4e0a\u7121\u6548\u3002\u8acb\u6309\u300cEnter\u300d\u9375\uff0c\u5c07\u5b83\u4e2d\u6b62
-playerDidNotStop=Player \u4e26\u672a\u5982\u9810\u671f\u822c\u505c\u6b62\u3002\u8acb\u6309\u300cEnter\u300d\u9375\uff0c\u5c07\u5b83\u4e2d\u6b62
-noSuchElementException=\u6307\u4ee4\u81f3\u5c11\u9084\u61c9\u6709\u4e00\u500b\u5f15\u6578\u3002
-numberFormatException=\u6307\u4ee4\u5f15\u6578\u662f\u5b57\u4e32\uff0c\u4f46\u61c9\u70ba\u6574\u6578\u3002
-socketException=\u53ef\u80fd\u6709\u53e6\u4e00\u500b Flash \u9664\u932f\u7a0b\u5f0f\u6b63\u5728\u57f7\u884c\uff1b\u8acb\u5c07\u5b83\u95dc\u9589\u3002\u8a73\u7d30\u8cc7\u6599:\u300c${message}\u300d\u3002
-versionException=\u6b64\u4e0a\u4e0b\u6587\u4e2d\u4e0d\u652f\u63f4\u6307\u4ee4\u3002
-unexpectedError=\u8655\u7406\u6307\u4ee4\u6642\u767c\u751f\u975e\u9810\u671f\u7684\u932f\u8aa4\u3002
-stackTraceFollows=\u57fa\u65bc\u8a3a\u65b7\u76ee\u7684\uff0c\u96a8\u5f8c\u57f7\u884c\u5806\u758a\u8ffd\u8e64: 
-sessionEndedAbruptly=\u5de5\u4f5c\u968e\u6bb5\u7a81\u7136\u7d50\u675f\u3002
-noUriReceived=\u672a\u5f9e Player \u6536\u5230 URI
-noSourceFilesFound=\u627e\u4e0d\u5230\u539f\u59cb\u6a94\u6848
-unknownBreakpointLocation=<\u4e0d\u660e>
-unknownFilename=<\u4e0d\u660e>
-inFunctionAt=\u5728\u4ee5\u4e0b\u4f4d\u7f6e\u7684 ${functionName}() \u4e2d 
-inSwf=\u5728 ${swf} \u4e2d
-nonRestorable=\uff1b\u7121\u6cd5\u5f9e\u4e4b\u524d\u7684\u5de5\u4f5c\u968e\u6bb5\u9084\u539f
-sourceDirectoriesSearched=\u5df2\u641c\u5c0b\u7684\u4f86\u6e90\u76ee\u9304:
-attemptingToSuspend=\u6b63\u5728\u5617\u8a66\u66ab\u505c Player \u57f7\u884c...
-playerStopped=Player \u5df2\u505c\u6b62
-playerRunning=Player \u6b63\u5728\u57f7\u884c
-suspendReason_Unknown=Unknown
-suspendReason_HitBreakpoint=Breakpoint
-suspendReason_HitWatchpoint=Watch
-suspendReason_ProgramThrewException=Fault
-suspendReason_StopRequest=StopRequest
-suspendReason_ProgramFinishedStepping=Step
-suspendReason_HaltOpcode=HaltOpcode
-suspendReason_ScriptHasLoadedIntoFlashPlayer=ScriptLoaded
-noStackAvailable=\u6c92\u6709\u5806\u758a\u53ef\u7528
-atFilename=\u4f4d\u65bc 
-noVariables=\u7121\u8b8a\u6578
-noArguments=\u6c92\u6709\u5f15\u6578
-notInValidFrame=\u4e0d\u5728\u6709\u6548\u7684\u5f71\u683c\u4e2d\u3002\u8acb\u4f7f\u7528\u300cframe\u300d\u6307\u4ee4\u8fd4\u56de\u76ee\u524d\u7684\u5f71\u683c\u3002
-noLocals=\u6c92\u6709\u5340\u57df\u51fd\u6578
-noScopeChain=\u6c92\u6709\u7bc4\u570d\u93c8\u7d50
-noActiveSession=\u6c92\u6709\u4f5c\u7528\u4e2d\u7684\u5de5\u4f5c\u968e\u6bb5
-runWillLaunchUri=\u300c\u57f7\u884c\u300d\u6703\u555f\u52d5 ${uri}
-targetUnknown=\u76ee\u6a19\u4e0d\u660e
-noSWFs=\u7121 SWF\u3002
-unrecognizedFault=\u7121\u6cd5\u8b58\u5225\u7684\u932f\u8aa4\u3002
-noFunctionsFound=\u627e\u4e0d\u5230\u51fd\u6578
-functionListBeingPrepared=\u6b63\u5728\u80cc\u666f\u4e2d\u6e96\u5099\u51fd\u6578\u6e05\u55ae\uff1b\u8acb\u7a0d\u5f8c\u518d\u8a66\u3002
-functionsInSourceFile=${sourceFile} \u4e2d\u7684\u51fd\u6578
-breakpointNotYetResolved=(\u5c1a\u672a\u89e3\u6790)
-breakpointAmbiguous=(\u4e0d\u660e\u78ba)
-breakpointNoCode=(\u5728\u6307\u5b9a\u884c\u4e0a\u6c92\u6709\u53ef\u57f7\u884c\u7684\u7a0b\u5f0f\u78bc)
-sessionTerminated=Player \u5de5\u4f5c\u968e\u6bb5\u5df2\u7d42\u6b62
-additionalCodeLoaded=\u5df2\u5f9e SWF \u6216\u5f71\u683c\u8f09\u5165\u5176\u4ed6 ActionScript \u7a0b\u5f0f\u78bc\u3002\n\u82e5\u8981\u67e5\u770b\u6240\u6709\u76ee\u524d\u5df2\u8f09\u5165\u7684\u6a94\u6848\uff0c\u8acb\u8f38\u5165\u300cinfo files\u300d\u3002
-setAdditionalBreakpoints=\u8acb\u8996\u9700\u8981\u8a2d\u5b9a\u5176\u4ed6\u4e2d\u65b7\u9ede\uff0c\u7136\u5f8c\u8f38\u5165\u300ccontinue\u300d\u3002
-fixBreakpoints=\u8acb\u4fee\u6b63\u6216\u79fb\u9664\u932f\u8aa4\u7684\u4e2d\u65b7\u9ede\uff0c\u7136\u5f8c\u8f38\u5165\u300ccontinue\u300d\u3002
-executionHalted=\u57f7\u884c\u5df2\u4e2d\u6b62
-hitBreakpoint=\u4e2d\u65b7\u9ede ${breakpointNumber}
-haltedInFunction=${reasonForHalting}\uff0c\u4f4d\u65bc ${fileAndLine} \u7684 ${functionName}()
-haltedInFile=${reasonForHalting}\uff0c${fileAndLine}
-linePrefixWhenDisplayingConsoleError=[\u932f\u8aa4]
-linePrefixWhenDisplayingFault=[\u932f\u8aa4]
-linePrefixWhenSwfLoaded=[SWF]
-linePrefixWhenSwfUnloaded=[UnloadSWF]
-informationAboutFault=\uff0c\u8cc7\u8a0a=
-sizeAfterDecompression=\u89e3\u58d3\u7e2e\u5f8c\u70ba ${size} \u500b\u4f4d\u5143\u7d44
-breakpointNotPropagated=\u8b66\u544a: \u4e2d\u65b7\u9ede ${breakpointNumber} \u672a\u50b3\u64ad\u81f3\u6240\u6709\u7684 swf\u3002\n\u60a8\u5fc5\u9808\u52a0\u4ee5\u6e05\u9664\uff0c\u7136\u5f8c\u91cd\u65b0\u5c0d\u5176\u9032\u884c\u8a2d\u5b9a\u3002
-playerAlreadyRunning=Player \u5df2\u5728\u57f7\u884c\u4e2d\uff0c\u4e0d\u9700\u8981\u7e7c\u7e8c\u57f7\u884c\u3002
-doYouWantToHalt=\u60a8\u8981\u5617\u8a66\u4e2d\u6b62\u57f7\u884c\u55ce?
-debugInfoBeingLoaded=\u76ee\u524d\u6b63\u5728\u8f09\u5165\u5075\u932f\u8cc7\u8a0a
-attemptingToHalt=\u6b63\u5728\u5617\u8a66\u4e2d\u6b62\u3002\n\u82e5\u8981\u5354\u52a9\u7d50\u675f\uff0c\u8acb\u5617\u8a66\u89f8\u52d5 Player (\u4f8b\u5982\uff0c\u6309\u4e0b\u67d0\u500b\u6309\u9215)
-couldNotHalt=\u7121\u6cd5\u4e2d\u6b62\uff0c\u56e0\u70ba\u6c92\u6709\u57f7\u884c\u4e2d\u7684 ActionScript\u3002
-escapingFromDebuggerPendingLoop=\u6b63\u5728\u5f9e\u9664\u932f\u7a0b\u5f0f\u64f1\u7f6e\u4e2d\u7684\u8ff4\u5708\u8df3\u51fa\uff1b\u6b63\u5728\u5c07 $nowaiting \u8a2d\u5b9a\u70ba 1
-continuingDueToError=\u7531\u65bc\u932f\u8aa4\u300c${error}\u300d\uff0c\u6b63\u5728\u7e7c\u7e8c\u4f5c\u696d
-currentLocationUnknown=\u76ee\u524d\u7684\u4f4d\u7f6e\u4e0d\u660e
-cannotStep=\u60a8\u73fe\u5728\u4e0d\u80fd\u57f7\u884c\u55ae\u6b65\u4f5c\u696d\u3002\u8acb\u8a2d\u5b9a\u4e2d\u65b7\u9ede\uff0c\u7136\u5f8c\u8f38\u5165\u300ccontinue\u300d\u3002
-abortingStep=Player \u672a\u53ca\u6642\u50b3\u56de\uff1b\u6b63\u5728\u4e2d\u6b62\u5176\u9918 ${count} \u500b\u6b65\u9a5f
-finishCommandNotMeaningfulOnOutermostFrame=\u300c\u5b8c\u6210\u300d\u5c0d\u65bc\u6700\u5916\u5c64\u7684\u5f71\u683c\u6c92\u6709\u610f\u7fa9
-finishCommandNotMeaningfulWithoutStack=\u82e5\u6c92\u6709\u5806\u758a\uff0c\u300c\u5b8c\u6210\u300d\u5373\u6c92\u6709\u610f\u7fa9
-noBreakpointNumber=\u6c92\u6709\u4e2d\u65b7\u9ede\u865f\u78bc ${breakpointNumber}
-badBreakpointNumber=\u6b63\u5728\u901a\u904e\u8b66\u544a\u901a\u77e5\u300c${token}\u300d\u8655\u6216\u5176\u9644\u8fd1\u7684\u932f\u8aa4\u4e2d\u65b7\u9ede\u865f\u78bc
-commandFailed=\u6307\u4ee4\u5931\u6557\u3002
-createdBreakpoint=\u4e2d\u65b7\u9ede ${breakpointNumber}: \u6a94\u6848 ${file}\uff0c\u884c ${line}
-createdBreakpointWithOffset=\u4f4d\u65bc ${offset} \u7684\u4e2d\u65b7\u9ede ${breakpointNumber}: \u6a94\u6848 ${file}\uff0c\u884c ${line}
-breakpointCreatedButNotYetResolved=\u4e2d\u65b7\u9ede ${breakpointNumber} \u5df2\u5efa\u7acb\uff0c\u4f46\u5c1a\u672a\u89e3\u6790\u3002\n\u8f09\u5165\u5c0d\u61c9\u7684\u6a94\u6848\u6216\u51fd\u6578\u6642\uff0c\u6703\u89e3\u6790\u4e2d\u65b7\u9ede\u3002
-fileNumber=\u6a94\u6848 #${fileNumber}
-breakpointNotSetNoCode=\u672a\u8a2d\u5b9a\u4e2d\u65b7\u9ede\uff1b${filename} \u7684\u7b2c ${line} \u884c\u4e0a\u6c92\u6709\u53ef\u57f7\u884c\u7684\u7a0b\u5f0f\u78bc
-breakpointLocationUnknown=\u4e2d\u65b7\u9ede\u4f4d\u7f6e\u4e0d\u660e\u3002
-breakpointNotCleared=\u4e2d\u65b7\u9ede\u672a\u6e05\u9664\u3002
-attemptingToResolve=\u6b63\u5728\u5617\u8a66\u89e3\u6790\u4e2d\u65b7\u9ede ${breakpointNumber}\uff0c\u904b\u7b97\u5f0f\u300c${expression}\u300d:
-noExecutableCode=\u5728\u6307\u5b9a\u884c\u4e0a\u6c92\u6709\u53ef\u57f7\u884c\u7684\u7a0b\u5f0f\u78bc\u3002
-resolvedBreakpointToFunction=\u5df2\u5728 ${file}:${line} \u5c07\u4e2d\u65b7\u9ede ${breakpointNumber} \u89e3\u6790\u70ba ${functionName}()
-resolvedBreakpointToFile=\u5df2\u5c07\u4e2d\u65b7\u9ede ${breakpointNumber} \u89e3\u6790\u70ba ${file}:${line}
-setCommand=Set \u6307\u4ee4\u9700\u8981\u5728\u8b8a\u6578\u5f8c\u52a0\u4e0a\u904b\u7b97\u5f0f
-missingOperator=\u904b\u7b97\u5f0f\u5fc5\u9808\u5305\u542b\u300c${operator}\u300d\u904b\u7b97\u5b50\u3002
-noSideEffectsAllowed=\u904b\u7b97\u5f0f\u4e0d\u53ef\u5177\u6709\u4f8b\u5982\u6307\u5b9a\u4e4b\u985e\u7684\u526f\u4f5c\u7528\u3002
-couldNotEvaluate=\u7121\u6cd5\u6c42\u503c\u904b\u7b97\u5f0f\u3002
-commandHistoryIsEmpty=\u64cd\u4f5c\u8a18\u9304\u70ba\u7a7a\u767d
-historyHasNotReached=\u64cd\u4f5c\u8a18\u9304\u5c1a\u672a\u9054\u5230 ${number}
-variableUnknown=\u8b8a\u6578 ${variable} \u4e0d\u660e
-expressionCouldNotBeParsed=\u7121\u6cd5\u6b63\u78ba\u5256\u6790\u904b\u7b97\u5f0f:
-couldNotConvertToNumber=\u7121\u6cd5\u8f49\u63db\u6210\u6578\u5b57: ${value}
-commandsLimitedToSpecifiedSwf=\u50c5\u9650\u65bc ${swf} \u4e2d\u7684\u539f\u59cb\u6a94\u6848\u7684\u6307\u4ee4
-commandsApplyToAllSwfs=\u53ef\u5728\u6307\u4ee4\u4e2d\u4f7f\u7528\u6240\u6709 swf \u4e2d\u7684\u539f\u59cb\u6a94\u6848\u3002
-notValidSwf=${swf} \u4e0d\u662f\u6709\u6548\u7684 SWF\u3002
-frameDoesNotExist=\u5f71\u683c\u300c${frameNumber}\u300d\u4e0d\u5b58\u5728\u3002
-notANumber=\u300c${token}\u300d\u4e0d\u662f\u6578\u5b57\u3002
-expectedLineNumber=\u61c9\u70ba\u884c\u865f\uff1b\u537b\u53d6\u5f97 ${token}
-expectedFileNumber=\u61c9\u70ba\u6a94\u6848\u865f\u78bc\uff1b\u537b\u53d6\u5f97 ${token}
-noSourceFileWithSpecifiedName=\u6c92\u6709\u540d\u70ba\u300c${name}\u300d\u7684\u539f\u59cb\u6a94\u6848\u3002
-noFunctionWithSpecifiedName=\u6c92\u6709\u540d\u70ba\u300c${name}\u300d\u7684\u51fd\u6578\u3002
-ambiguousMatchingFilenames=\u76f8\u7b26\u7684\u6a94\u6848\u540d\u7a31\u4e0d\u660e\u78ba:
-ambiguousMatchingFunctionNames=\u76f8\u7b26\u7684\u51fd\u6578\u540d\u7a31\u4e0d\u660e\u78ba:
-functionInFile=${filename} \u4e2d\u7684 ${functionName}
-expectedFile=\u61c9\u70ba\u4ee5 # \u958b\u982d\u7684\u6a94\u6848\u540d\u7a31\u6216\u6a94\u6848\u865f\u78bc\uff1b\u537b\u53d6\u5f97 ${token}
-noSuchFileOrFunction=\u6c92\u6709\u540d\u70ba\u300c${token}\u300d\u7684\u6a94\u6848\u6216\u51fd\u6578\u3002
-localVariable=\u5340\u57df
-functionArgumentVariable=\u5f15\u6578
-mustBeOnlyOneVariable=\u904b\u7b97\u5f0f\u5fc5\u9808\u50c5\u5305\u542b\u55ae\u500b\u8b8a\u6578
-lineJunk=\u884c\u898f\u683c\u7684\u5c3e\u7aef\u767c\u73fe\u7121\u7528\u7269\u4ef6
-sourceFileNotFound=\u627e\u4e0d\u5230\u539f\u59cb\u6a94\u6848\u3002\u8acb\u4f7f\u7528\u300cdirectory\u300d\u6307\u4ee4\u6307\u5b9a\u5176\n\u5728\u6b64\u6a5f\u5668\u4e0a\u7684\u4f4d\u7f6e\u3002\u8acb\u8f38\u5165\u300chelp directory\u300d\uff0c\u4ee5\u53d6\u5f97\u6709\u95dc\n\u5982\u4f55\u6307\u5b9a\u5957\u4ef6\u4e2d\u539f\u59cb\u6a94\u6848\u76ee\u9304\u7684\u91cd\u8981\u8a73\u7d30\u8cc7\u8a0a\u3002
-lineNumberOutOfRange=\u884c\u865f ${line} \u8d85\u51fa\u7bc4\u570d\uff1b\u6a94\u6848 ${filename} \u6709 ${total} \u884c
-noFilesFound=\u627e\u4e0d\u5230\u6a94\u6848
-sessionInProgress=\u5de5\u4f5c\u968e\u6bb5\u5df2\u5728\u9032\u884c\u4e2d
-waitingForPlayerToConnect=\u7b49\u5f85 Player \u9023\u7dda
-waitingToConnectToPlayer=\u6b63\u5728\u5617\u8a66\u9023\u7dda\u5230\u64ad\u653e\u7a0b\u5f0f
-launchingWithUrl=\u6b63\u5728\u5617\u8a66\u555f\u52d5 Player \u4e26\u4f7f\u7528 URL \u9023\u7dda\u81f3\u8a72 Player
-playerConnectedSessionStarting=Player \u5df2\u9023\u7dda\uff1b\u5de5\u4f5c\u968e\u6bb5\u6b63\u5728\u57f7\u884c\u3002
-setBreakpointsThenResume=\u8acb\u8a2d\u5b9a\u4e2d\u65b7\u9ede\uff0c\u7136\u5f8c\u8f38\u5165\u300ccontinue\u300d\uff0c\u4ee5\u7e7c\u7e8c\u5de5\u4f5c\u968e\u6bb5\u3002
-warningNotAllCommandsSupported=\u8b66\u544a: \u60a8\u6b63\u5728\u4f7f\u7528\u7684\u64ad\u653e\u7a0b\u5f0f\u4e26\u4e0d\u652f\u63f4\u6240\u6709\u7684 fdb \u6307\u4ee4\u3002
-fileDoesNotExist=\u627e\u4e0d\u5230\u6a94\u6848: ${uri}
-failedToConnect=\u7121\u6cd5\u9023\u7dda\uff1b\u5de5\u4f5c\u968e\u6bb5\u903e\u6642\u3002\n\u8acb\u78ba\u5b9a:\n  1. \u60a8\u7de8\u8b6f Flash \u5f71\u7247\u6642\u6709\u958b\u555f\u5075\u932f\uff0c\u800c\u4e14\n  2. \u60a8\u57f7\u884c\u7684\u662f Flash Player \u7684\u9664\u932f\u7a0b\u5f0f\u7248\u672c\u3002
-manuallyLaunchPlayer=\u53ea\u9700\u8f38\u5165\u300crun\u300d\uff0c\u7136\u5f8c\u624b\u52d5\u555f\u52d5 Player\u3002
-sourceCommandRequiresPath=\u300csource\u300d\u6307\u4ee4\u9700\u8981\u539f\u59cb\u6a94\u6848\u7684\u8def\u5f91\u540d\u7a31\u3002
-fileNotFound=${filename}: \u6c92\u6709\u6b64\u985e\u6a94\u6848\u6216\u76ee\u9304\u3002
-argumentRequired=\u9700\u8981\u5f15\u6578 (\u8981\u8655\u7406\u7684\u932f\u8aa4)\u3002
-breakpointNotChanged=\u4e2d\u65b7\u9ede\u672a\u8b8a\u66f4\u3002
-badWatchpointNumber=\u76e3\u8996\u9ede\u865f\u78bc\u932f\u8aa4\u3002
-couldNotResolveExpression=\u7121\u6cd5\u5c07\u904b\u7b97\u5f0f\u89e3\u6790\u70ba\u8b8a\u6578\u3002
-notAllBreakpointsEnabled=\u4e26\u672a\u555f\u7528\u6240\u6709\u7684\u4e2d\u65b7\u9ede
-programNotBeingRun=\u7a0b\u5f0f\u4e26\u672a\u57f7\u884c\u3002
-commandNotValidUntilPlayerSuspended=Player \u57f7\u884c\u66ab\u505c\u4e4b\u524d\u6307\u4ee4\u7121\u6548\uff1b\u8acb\u5617\u8a66\u300chalt\u300d\u6307\u4ee4\u3002
-noHelpFileFound=\u627e\u4e0d\u5230\u8aaa\u660e\u6a94 (fdbhelp*.txt)\u3002
-invalidTargetFault=ActionSetTarget \u6307\u793a\u7684\u76ee\u6a19\u540d\u7a31\u932f\u8aa4
-recursionLimitFault=\u5df2\u9054\u905e\u8ff4\u4e0a\u9650
-invalidWithFault=\u300cwith\u300d\u9673\u8ff0\u5f0f\u7684\u76ee\u6a19\u4e0d\u662f\u7269\u4ef6
-protoLimitFault=\u641c\u5c0b\u539f\u578b\u93c8\u7d50\u5df2\u9054\u9650\u5236
-invalidUrlFault=\u7121\u6cd5\u958b\u555f URL
-exceptionFault=\u64f2\u51fa\u4f7f\u7528\u8005\u4f8b\u5916\u72c0\u6cc1
-stackUnderflowFault=\u767c\u751f\u5806\u758a\u53cd\u5411\u6ea2\u4f4d
-divideByZeroFault=\u9664\u6578\u70ba\u96f6\u932f\u8aa4
-scriptTimeoutFault=ActionScript \u7a0b\u5f0f\u78bc\u4e26\u672a\u57f7\u884c
-errorWhileProcessingFile=\u8655\u7406\u6a94\u6848\u6642\u51fa\u932f (${exceptionMessage})
-unrecognizedAction=\u52d5\u4f5c ${action} \u7121\u6cd5\u8b58\u5225
-typeCommandsForBreakpoint=\u8b80\u53d6\u4e2d\u65b7\u9ede ${breakpointNumber} \u6642\u8f38\u5165\u6307\u4ee4\uff0c\u4e00\u689d\u6307\u4ee4\u4f54\u4e00\u884c\u3002\n\u4f7f\u7528\u53ea\u5305\u542b\u300cend\u300d\u7684\u884c\u4f5c\u70ba\u7d50\u675f\u884c\u3002
-breakpointNowUnconditional=\u4e2d\u65b7\u9ede ${breakpointNumber} \u76ee\u524d\u662f\u7121\u689d\u4ef6\u7684\u3002
-watchpointCouldNotBeSet=\u7121\u6cd5\u8a2d\u5b9a\u300c${expression}\u300d\u7684\u76e3\u8996\u9ede
-
-changedWatchpointMode=\u904b\u7b97\u5f0f\u300c${expression}\u300d\u4e0a\u7684\u76e3\u8996\u9ede ${watchpointNumber} \u73fe\u5728\u8655\u65bc ${watchpointMode}
-# the following three strings are inserted into the above 'changedWatchpointMode' string at the ${watchpontMode} location
-watchpointMode_read=\u8b80\u53d6
-watchpointMode_write=\u5beb\u5165
-watchpointMode_readWrite=\u8b80\u5beb
-
-createdWatchpoint=\u5728\u904b\u7b97\u5f0f\u300c${expression}\u300d\u4e0a\u8a2d\u5b9a\u7684\u76e3\u8996\u9ede ${watchpointNumber}
-couldNotFindWatchpoint=\u627e\u4e0d\u5230\u6216\u7121\u6cd5\u79fb\u9664\u300c${variable}\u300d\u7684\u76e3\u8996\u9ede\u3002
-noDisplayNumber=\u6c92\u6709\u986f\u793a\u865f\u78bc ${displayNumber}
-badDisplayNumber=\u6b63\u5728\u901a\u904e\u8b66\u544a\u901a\u77e5\u300c${token}\u300d\u8655\u6216\u5176\u9644\u8fd1\u7684\u932f\u8aa4\u986f\u793a\u865f\u78bc
-breakpointLocationNoLongerExists=\u4e2d\u65b7\u9ede ${breakpointNumber} \u7684\u539f\u59cb\u6a94\u6848\u548c\u884c\u865f\u5df2\u4e0d\u5b58\u5728
-unknownCommand=\u6307\u4ee4\u300c${command}\u300d\u4e0d\u660e\uff0c\u5ffd\u7565\u8a72\u6307\u4ee4
-unknownSubcommand=${commandCategory} \u6307\u4ee4\u300c${command}\u300d\u4e0d\u660e\uff0c\u5ffd\u7565\u8a72\u6307\u4ee4
-unknownEvent=\u5df2\u6536\u5230\u4e0d\u660e\u7684\u300c${type}\u300d\u985e\u578b\u4e8b\u4ef6\uff0c\u8cc7\u8a0a = ${info}
-problemWithConnection=\u5de5\u4f5c\u968e\u6bb5\u9023\u7dda\u767c\u751f\u554f\u984c (\u300c${socketErrorMessage}\u300d)\uff0c\u6700\u597d\u662f\u5c07\u5b83\u300c\u95dc\u9589\u300d\u3002
-unexpectedErrorWithStackTrace=\u8655\u7406\u6307\u4ee4\u6642\u767c\u751f\u975e\u9810\u671f\u7684\u932f\u8aa4\u3002\n\u57fa\u65bc\u8a3a\u65b7\u76ee\u7684\uff0c\u96a8\u5f8c\u57f7\u884c\u5806\u758a\u8ffd\u8e64:
-ambiguousCommand=\u6307\u4ee4\u300c${input}\u300d\u4e0d\u660e\u78ba:
-faultHasNoTableEntry=\u932f\u8aa4 ${faultName} \u6c92\u6709\u8868\u683c\u9805\u76ee
-swfInfo=${swfName} - \u89e3\u58d3\u7e2e\u5f8c\u70ba ${size} \u500b\u4f4d\u5143\u7d44\uff0c${scriptCount} \u500b\u6307\u4ee4\u78bc [#${min} - #${max}]${plus} ${moreInfo}\uff0cURL \u662f ${url}
-remainingSourceBeingLoaded=\u4ecd\u5728\u8f09\u5165\u5176\u9918\u7684\u4f86\u6e90
-
-# the following string is appended to the end of any question; tells the user what to type
-yesOrNoAppendedToAllQuestions=(\u662f\u6216\u5426) 
-# the following string is what character the user should to answer "yes" to a yes/no question
-singleCharacterUserTypesForYes=y
-# a bunch of questions:
-askDeleteAllBreakpoints=\u8981\u522a\u9664\u6240\u6709\u4e2d\u65b7\u9ede\u55ce?
-askDeleteAllAutoDisplay=\u8981\u522a\u9664\u6240\u6709\u81ea\u52d5\u986f\u793a\u7684\u904b\u7b97\u5f0f\u55ce?
-askKillProgram=\u8981\u95dc\u9589\u6b63\u5728\u5075\u932f\u7684\u7a0b\u5f0f\u55ce?
-askProgramIsRunningExitAnyway=\u7a0b\u5f0f\u6b63\u5728\u57f7\u884c\u3002\u4ecd\u8981\u7d50\u675f\u55ce?
-askReinitSourcePath=\u8981\u5c07\u4f86\u6e90\u8def\u5f91\u91cd\u65b0\u521d\u59cb\u5316\u70ba\u7a7a\u7684\u55ce?
-askExpressionContainsAssignment=\u60a8\u7684\u904b\u7b97\u5f0f\u5305\u542b\u6307\u5b9a\uff01\u8981\u7e7c\u7e8c\u55ce?
-# the following string is output if someone answers "no" to any of the above questions
-yesNoQueryNotConfirmed=\u672a\u78ba\u8a8d\u3002
-stopOnlyIfConditionMet=\u53ea\u6709\u5728 ${breakpointCondition} \u6642\u624d\u505c\u6b62
-breakpointAlreadyHit=\u4e2d\u65b7\u9ede\u5df2\u8b80\u53d6 ${count} \u6b21
-silentBreakpoint=\u7121\u8a0a\u606f
-getterFunction=Getter
-setterFunction=Setter
-function=\u51fd\u6578
-unknownVariableType=<\u4e0d\u660e>
-variableAttribute_dontEnumerate=\u4e0d\u8981\u5217\u8209
-variableAttribute_readOnly=\u552f\u8b80
-variableAttribute_localVariable=\u5340\u57df
-variableAttribute_functionArgument=\u5f15\u6578
-variableAttribute_getterFunction=getter
-variableAttribute_setterFunction=setter
-variableAttribute_hasNamespace=\u6709\u547d\u540d\u7a7a\u9593
-key16=\u5df2\u6536\u5230\u7684\u8a0a\u606f:
-key17=\u5df2\u50b3\u9001\u7684\u8a0a\u606f:
-key18=\u627e\u4e0d\u5230\u539f\u59cb\u6a94\u6848
-key19=\u627e\u4e0d\u5230\u51fd\u6578
-key20=\u6b63\u5728\u80cc\u666f\u4e2d\u6e96\u5099\u51fd\u6578\u6e05\u55ae\uff1b\u8acb\u7a0d\u5f8c\u518d\u8a66\u3002
-key21=--- SessionManager \u5167\u5bb9
-key22=--- \u5de5\u4f5c\u968e\u6bb5\u5167\u5bb9
-stopped=Stopped
-key24=Player \u6b63\u5728\u57f7\u884c\u3002
-key25=\u627e\u4e0d\u5230\u4e2d\u65b7\u8cc7\u8a0a
-key26=\u8b8a\u6578\u4e0d\u660e
-key27=\u4f86\u6e90\u8cc7\u8a0a\u4e0d\u660e\uff0c\u5df2\u5206\u89e3\u76ee\u524d\u4f4d\u7f6e
-key28=\u884c\u898f\u683c\u7684\u5c3e\u7aef\u767c\u73fe\u7121\u7528\u7269\u4ef6
-key29=\u627e\u4e0d\u5230\u6a94\u6848 ${arg3} \u7684 swf
-key30=\u627e\u4e0d\u5230\u51fd\u6578
-key31=---- \u5728 0x${arg4} \u8655\u986f\u793a\u5df2\u8df3\u904e\u7684\u672a\u5c0d\u61c9\u6307\u793a ----
-key32=\u884c\u865f ${arg5} \u8d85\u51fa\u7bc4\u570d\uff1b\u6a94\u6848 ${arg6} \u6709 ${arg7} \u884c
-key33=\u627e\u4e0d\u5230\u6a94\u6848
-key34=Player \u76ee\u524d\u5c0d\u4efb\u4f55\u52d5\u4f5c\u90fd\u672a\u66ab\u505c\u3002
-key35=\u5728\u300c${swfName}\u300d\u4e2d
-atAddress=\u4f4d\u65bc ${address}
-haltedDueToFault=\u56e0\u70ba ${fault}
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_br.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_br.txt
deleted file mode 100644
index 75bed5b..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_br.txt
+++ /dev/null
@@ -1,819 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Comando indefinido. Insira 'help' para ver uma lista de todos os comandos fdb. 

-

-[break]

-

-Defina o ponto de interrupção na linha ou função especificada.

-Exemplos:

-  break 87

-    Define um ponto de interrupção na linha 87 do arquivo atual.

-  break myapp.mxml:56

-    Define um ponto de interrupção na linha 56 de myapp.mxml.

-  break #3:29

-    Define um ponto de interrupção na linha 29 do arquivo #3.

-  break doThis

-    Define um ponto de interrupção na função doThis() no arquivo atual.

-  break myapp.mxml:doThat

-    Define um ponto de interrupção na função doThat() no arquivo myapp.mxml.

-  break #3:doOther

-    Define um ponto de interrupção na função doOther() no arquivo #3.

-  break

-   Define um ponto de interrupção no endereço de execução atual na moldura da 

-   pilha atual. Isso é útil para interrupções ao retornar a uma moldura de 

-   pilha. 

-Para ver nomes e números de arquivo, insira 'info sources' ou 'info files'.

-Para ver nomes de função, insira 'info functions'.

-Nomes de arquivo e de função abreviados são aceitos, se não forem ambíguos.

-Se o número da linha for especificado, interrompa no início do código dessa 

-linha.

-Se a função for especificada, interrompa no início do código dessa função.

-Para obter mais controles de pontos de interrupção, consulte 'commands' e 

-'condition'.

-

-[bt]

-

-Rastreamento regressivo da pilha.

-

-[catch]

-

-Pare quando houver lançamento de uma exceção.  Isso somente afeta exceções 

-capturadas – ou seja, exceções que serão manipuladas por um bloco de "captura". 

-Exceções não capturadas sempre são interrompidas no depurador.

-

-Use o comando "delete" para excluir um ponto de captura.

-

-Exemplos:

-  catch *

-    Pára quando houver qualquer lançamento de exceção.

-  catch ReferenceError

-    Pára sempre que um ReferenceError é lançado, capturado ou não capturado.

-

-[cf]

-

-Exiba o nome e o número do arquivo atual ou altere o arquivo atual.

-Exemplos:

-  cf

-    Exibe o nome e o número do arquivo atual.

-  cf myapp.mxml

-    Altera o arquivo atual para myapp.mxml.

-  cf #29

-    Altera o arquivo atual para o arquivo #29.

-Para ver nomes e números de arquivo, insira 'info sources' ou 'info files'.

-Nomes de arquivo abreviados são aceitos, se não forem ambíguos.

-Listar um arquivo com 'list' também o torna o arquivo atual.

-

-[clear]

-

-Limpe o ponto de interrupção na linha ou função especificada.

-Exemplos:

-  clear 87

-    Limpa o ponto de interrupção na linha 87 do arquivo atual.

-  clear myapp.mxml:56

-    Limpa o ponto de interrupção na linha 56 de myapp.mxml.

-  clear #3:29

-    Limpa o ponto de interrupção na linha 29 do arquivo #3.

-  clear doThis

-    Limpa o ponto de interrupção na função doThis() no arquivo atual.

-  clear myapp.mxml:doThat

-    Limpa o ponto de interrupção na função doThat() no arquivo myapp.mxml.

-  clear #3:doOther

-    Limpa o ponto de interrupção na função doOther() no arquivo #3.

-  clear

-    Limpa o ponto de interrupção da linha atual no arquivo atual. 

-Para ver nomes e números de arquivo, insira  'info sources' ou 'info files'.

-Para ver nomes de função, insira 'info functions'.

-Nomes de arquivo e de função abreviados são aceitos, se não forem ambíguos.

-Se o número da linha for especificado, todos os pontos de interrupção nessa 

-linha serão limpos.

-Se a função for especificada, os pontos de interrupção no início da função 

-serão limpos.

-

-[continue]

-

-Continue a execução depois de parar no ponto de interrupção.

-Este comando não possui argumentos.

-

-[condition]

-

-

-Especifique o número N do ponto de interrupção a ser interrompido somente se 

-COND for verdadeiro.

-O uso é 'condition N COND', onde N é um número inteiro e COND é uma expressão a 

-ser avaliada sempre que o ponto de interrupção N for alcançado.

-

-[commands]

-

-Defina comandos a serem executados quando um ponto de interrupção for atingido.

-Forneça o número do ponto de interrupção como argumento depois de 'commands'.

-Sem argumento, o ponto de interrupção de destino é o último definido.

-Os próprios comandos seguem-se, começando na linha seguinte.

-Digite uma linha que contenha "end" para indicar o fim delas.

-Forneça "silent" como a primeira linha para tornar o ponto de interrupção 

-silencioso; nenhuma saída é impressa quando alcançada, a não ser o que os 

-comandos imprimem.

-Exemplo:

-  (fdb) commands

-  Digite comandos para quando o ponto de interrupção 1 for alcançado, um por 

-  linha.

-  Termine com uma linha que inclua apenas 'end'.

-  >w

-  >end

-

-[delete]

-

-Exclua um ou mais pontos de interrupção.

-Exemplos:

-  delete

-    Exclui todos os pontos de interrupção.

-  delete 2 5

-    Exclui os pontos de interrupção #2 e #5.

-Para ver números de pontos de interrupção, insira 'info breakpoints'.

-

-[directory]

-

-Modifique a lista de diretórios na qual fdb procura arquivos de origem.

-

-Exemplos:

-

-  directory

-    Restaura a lista ao estado padrão, que é o diretório em que o arquivo de 

-    origem foi compilado em código de objeto, seguido da pasta de trabalho 

-    atual.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Adiciona o diretório especificado ao início da lista de diretórios na qual 

-    a origem será procurada.  Ao procurar a origem da classe mypackage.MyClass, 

-    por exemplo, o depurador procura C:\MySource\mypackage\MyClass.as e 

-    C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows usa ';' como separador)

-  directory /Dir1:/Dir2        (Mac usa ':' como separador)

-    Adiciona vários diretórios ao início da lista de diretórios na qual a 

-    origem será procurada.

-

-Para ver a lista atual, insira 'show directories'.

-

-[disable]

-

-Desative um ou mais pontos de interrupção ou expressões de exibição automática.

-Exemplos:

-  disable

-  disable breakpoints

-    Desativa todos os pontos de interrupção.

-  disable 2 5

-  disable breakpoints 2 5

-    Desativa os pontos de interrupção #2 e #5.

-  disable display

-    Desativa todas as expressões de exibição automática.

-  disable display 1 3

-    Desativa as expressões de exibição automática #1 e #3.

-Para ver números de pontos de interrupção, insira 'info breakpoints'.

-Para ver números de expressões de exibição automática, insira 'info display'.

-

-[disassemble]

-

-(Somente ActionScript 2; sem suporte quando ActionScript 3 é depurado)

-

-Desmonte uma parte especificada do código-fonte.

-O padrão é a linha de listagem atual.

-Argumentos com suporte são os mesmos do comando "list".

-Exemplos:

-  disassemble 87

-    Desmonta a linha 87 no arquivo atual.

-  disassemble 87 102

-    Desmonta as linhas 87 a 102 no arquivo atual.

-  disassemble doThis

-      Desmonta a função doThis() no arquivo atual.

-Além de usar números de linha simples como acima, você pode especificar linhas 

-em modos adicionais:

-   myapp.mxml

-      Linha 1 em myapp.mxml.

-   myapp.mxml:doThat

-      A primeira linha da função doThat() em myapp.mxml.

-   myapp.mxml:56

-      Linha 56 em myapp.mxml.

-   #3

-      Linha 1 no arquivo #3.

-   #3:doOther

-      A linha no arquivo #3 onde a função doOther() começa.

-   #3:29

-      Linha 29 no arquivo #3.

-

-[display]

-

-Adicione uma expressão à lista de expressões de exibição automática.

-Exemplo:

-  display employee.name

-    Adiciona 'employee.name' à lista de expressões de exibição automática.

-    Toda vez que fdb pára, o valor de employee.name é exibido.

-O argumento deste comando é semelhante ao de 'print'.

-Para ver a lista de expressões de exibição automática e seus números, insira 

-'info display'.

-

-[down]

-

-Selecione e imprima a moldura de pilha chamada por este.

-Os comandos 'info arguments' e 'info locals' subseqüentes exibirão os locais e 

-os argumentos da moldura selecionada.

-Consulte 'up' e 'frame' 

-

-[enable]

-

-Ative um ou mais pontos de interrupção ou expressões de exibição automática.

-Exemplos:

-  enable

-  enable breakpoints

-    Ativa todos os pontos de interrupção.

-  enable 2 5

-  enable breakpoints 2 5

-    Ativa os pontos de interrupção #2 e #5.

-  enable display

-    Ativa todas as expressões de exibição automática.

-  enable display 1 3

-    Ativa as expressões de exibição automática #1 e #3.

-Para ver números de pontos de interrupção, insira 'info breakpoints'.

-Para ver números de expressões de exibição automática, insira 'info display'.

-

-[file]

-

-Especifique um aplicativo a ser depurado, sem iniciá-lo.

-Exemplos:

-  file http://www.mysite.com/myapp.mxml

-    Especifique um aplicativo MXML a ser depurado.

-  file myapp.swf

-    Especifique um arquivo SWF local a ser depurado no diretório atual.

-    Neste caso, myapp.swd (o arquivo que contém informações de depuração) deve 

-    também existir no diretório atual.

-Este comando não inicia o aplicativo; use o comando 'run' sem argumento para 

-iniciar a depuração do aplicativo.

-Em vez de usar 'file <target>' e em seguida 'run', você pode simplesmente 

-especificar o aplicativo a ser depurado como um argumento de 'run':

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Pode também especificar o aplicativo a ser depurado como um argumento de linha 

-de comando quando iniciar fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-Nesse caso, não é necessário usar 'file' ou 'run'.

-Se usar 'run' sem especificar um aplicativo a ser depurado, fdb aguardará um 

-aplicativo para conectar-se a ele.

-

-[finish]

-

-Execute até a função atual retornar.

-Este comando não possui argumentos.

-

-[frame]

-

-Selecione e imprima uma moldura de pilha específica.

-Esse comando possui um argumento opcional, um número de moldura.

-Se nenhum argumento for fornecido, o padrão é retornar à moldura superior atual 

-(ou seja, moldura 0).

-Exemplos:

-  frame 4

-  frame

-Os comandos 'info arguments' e 'info locals' subseqüentes exibirão os locais e 

-os argumentos da moldura selecionada.

-Consulte 'up', 'down' e 'bt' 

-

-[handle]

-

-Especifique como fdb deve tratar uma falha no Flash Player.

-Exemplos:

-  handle recursion_limit stop

-    Quando ocorre uma falha recursion_limit, exibe uma mensagem em fdb e pára, 

-    como se em um ponto de interrupção.

-  handle all print nostop

-    Quando ocorre algum tipo de falha, exibe uma mensagem em fdb, mas não pára.

-O primeiro argumento é um nome de falha ou 'all'.

-Argumentos adicionais são ações que se aplicam a essa falha.

-Para ver nomes de falhas, insira 'info handle'.

-Ações são print/noprint e stop/nostop.

-'print' significa imprimir uma mensagem, se essa falha ocorrer.

-'stop' significa inserir o depurador novamente, se essa falha ocorrer. Implica 

-'print'.

-

-[help]

-

-Novo no fdb? Para obter informações básicas, insira 'tutorial'.

-Lista de comandos fdb:

-bt (bt)             Imprimir rastreamento regressivo de todas as molduras de 

-                    pilha

-break (b)           Definir o ponto de interrupção na linha ou função 

-                    especificada

-catch (ca)          Parar quando houver lançamento de uma exceção

-cf (cf)             Exibir o nome e o número do arquivo atual

-clear (cl)          Limpar o ponto de interrupção na linha ou função 

-                    especificada

-condition (cond)    Aplicar/remover expressão condicional a um ponto de 

-                    interrupção

-continue (c)        Continuar a execução depois de parar no ponto de interrupção

-commands (com)      Definir comandos a serem executados quando um ponto de 

-                    interrupção é alcançado

-delete (d)          Excluir pontos de interrupção ou expressões de exibição 

-                    automática

-directory (dir)     Adicionar um diretório a um caminho de procura de arquivos 

-                    de origem

-disable (disab)     Desativar todos os pontos de interrupção ou expressões de 

-                    exibição automática

-disassemble (disas) Desmontar linhas ou funções de origem

-display (disp)      Adicionar expressões de exibição automática

-enable (e)          Ativar pontos de interrupção ou expressões de exibição 

-                    automática

-file (fil)          Especificar o aplicativo a ser depurado

-finish (f)          Executar até a função atual retornar

-handle (han)        Especificar como tratar de uma falha

-help (h)            Exibir ajuda sobre comandos fdb

-home (ho)           Definir o local de listagem para onde a execução é 

-                    interrompida

-info (i)            Exibir informações sobre o programa que está sendo depurado

-kill (k)            Eliminar a execução do programa que está sendo depurado

-list (l)            Listar função ou linha especificada

-next (n)            Avançar o programa

-print (p)           Imprimir o valor da variável EXP

-pwd (pw)            Imprimir pasta de trabalho

-quit (q)            Sair do fdb

-run (r)             Iniciar programa depurado

-set (se)            Definir o valor de uma variável

-source (so)         Ler comandos fdb a partir de um arquivo

-step (s)            Avançar o programa até ele chegar a uma linha de origem 

-                    diferente

-tutorial (t)        Exibir um tutorial sobre como usar fdb

-undisplay (u)       Remover uma expressão de exibição automática

-viewswf (v)         Definir ou limpar filtro para listagem de arquivos baseada 

-                    em swf

-watch (wa)          Adicionar um ponto de inspeção em uma determinada variável

-what (wh)           Exibir o contexto de uma variável

-where (w)           O mesmo que bt

-Para obter a documentação completa, digite 'help' seguido do nome do comando.

-

-[home]

-

-Definir o local de listagem para onde a execução é interrompida

-

-[info]

-

-Comando genérico para mostrar coisas sobre o programa que está sendo depurado.

-Lista de subcomandos de informação:

-info arguments (i a)    Variáveis de argumento da moldura de pilha atual

-info breakpoints (i b)  Estado dos pontos de interrupção definíveis pelo usuário

-info display (i d)      Exibir lista de expressões de exibição automática

-info files (i f)        Nomes de destinos e arquivos que estão sendo depurados

-info functions (i fu)   Todos os nomes de função

-info handle (i h)       Como tratar de uma falha

-info locals (i l)       Variáveis locais da moldura de pilha atual

-info scopechain (i sc)  Cadeia do escopo da moldura de pilha atual

-info sources (i so)     Arquivos de origem no programa

-info stack (i s)        Rastreamento regressivo da pilha

-info swfs (i sw)        Lista de swfs nesta sessão

-info targets(i t)       Aplicativo que está sendo depurado

-info variables (i v)    Todos os nomes de variáveis globais e estáticas

-Para obter a documentação completa, digite 'help info' seguido do nome do 

-subcomando de informação.

-

-[info arguments]

-

-Exibir argumentos da moldura de pilha atual

-

-[info breakpoints]

-

-Exibir o estado de todos os pontos de interrupção e pontos de inspeção.

-A coluna Type indica:

-   breakpoint   - ponto de interrupção normal

-   watchpoint   - ponto de inspeção

-A coluna Disp contém 'keep', 'del' ou 'dis' para indicar a disposição do ponto 

-de interrupção depois de ser atingido. 'dis' significa que o ponto de 

-interrupção será desativado, enquanto 'del' significa que será excluído.  

-As colunas 'Address' e 'What' indicam o endereço e número de arquivo/linha 

-respectivamente. 

-

-[info display]

-

-Exibir lista de expressões de exibição automática e seus números.

-

-[info files]

-

-Exibir nomes e números dos arquivos do aplicativo que está sendo depurado, 

-incluindo arquivos de origem, arquivos de estrutura e arquivos gerados 

-automaticamente.

-Exemplos:

-  info files

-    Lista todos os arquivos, alfabeticamente, por categoria

-  info files my

-  info files my*

-    Lista todos os arquivos cujos nomes começam com "my", alfabeticamente.

-  info files *.as

-    Lista todos os arquivos cujos nomes terminam com ".as", alfabeticamente.

-  info files *foo*

-    Lista todos os arquivos cujos nomes contêm "foo", alfabeticamente. 

-Arquivos são exibidos no formato name#N, onde N é o número do arquivo.

-Em vários comandos você pode usar #N no lugar de um nome de arquivo.

-

-[info functions]

-

-Exibir nomes de função.

-Exemplos:

-  info functions .

-    Exibe todas as funções no arquivo atual.

-  info functions myapp.mxml

-    Exibe todas as funções em myapp.mxml.

-  info functions #3

-    Exibe todas as funções no arquivo #3.

-  info functions

-    Exibe todas as funções em todos os arquivos.

-Para ver nomes e números de arquivo, insira  'info sources' ou 'info files'.

-Nomes de arquivo abreviados são aceitos, se não forem ambíguos.

-

-[info handle]

-

-Exibir o que fdb faz quando ocorre uma falha no Flash Player.

-Exemplos:

-  info handle

-    Exibe como o fdb trata de todas as falhas.

-  info handle recursion_limit

-    Exibe como o fdb trata de uma falha recursion_limit.

-

-[info locals]

-

-Exibir variáveis locais da moldura de pilha atual.

-

-[info scopechain]

-

-Exibir a cadeia de escopo da moldura de pilha atual.  A cadeia de escopo é a 

-lista de objetos que é procurada quando o Flash player está tentando resolver 

-um nome de símbolo.

-

-[info sources]

-

-Exibir nomes e números dos arquivos de origem para o aplicativo que está sendo 

-depurado. Arquivos de estrutura e arquivos gerados automaticamente não são 

-incluídos.

-Arquivos são exibidos no formato name#N, onde N é o número do arquivo.

-Em vários comandos você pode usar #N no lugar de um nome de arquivo.

-

-[info stack]

-

-Rastreamento regressivo da pilha.

-

-[info swfs]

-

-Exibir swfs que são identificados na sessão de depuração.  Para obter 

-informações sobre como a listagem de arquivo pode ser filtrada com base no nome 

-de swf, consulte o comando 'viewswf'. 

-

-[info targets]

-

-Exibir o URL (http: ou arquivo:) do aplicativo que está sendo depurado.

-

-[info variables]

-

-Exibir todos os nomes e valores de variáveis globais ou estáticas.

-

-[info ?]

-

-Comando de informação indefinido. Tente 'help info'.

-

-[kill]

-

-Eliminar a execução do programa que está sendo depurado.

-Este comando não possui argumentos.

-

-[list]

-

-Listar linhas de código em um arquivo de origem.

-Exemplos:

-  list

-    Lista mais dez linhas no arquivo atual após ou em torno da listagem 

-    anterior.

-  list -

-    Lista as dez linhas no arquivo atual antes de uma listagem anterior.

-  list 87

-    Lista dez linhas no arquivo atual em torno da linha 87.

-  list 87 102

-    Lista as linhas 87 a 102 no arquivo atual.

-Além de usar números de linha simples como acima, você pode especificar linhas 

-em sete modos adicionais:

-  doThis

-      A primeira linha da função doThis() no arquivo atual.

-   myapp.mxml

-      Linha 1 em myapp.mxml.

-   myapp.mxml:doThat

-      A primeira linha da função doThat() em myapp.mxml.

-   myapp.mxml:56

-      Linha 56 em myapp.mxml.

-   #3

-      Linha 1 no arquivo #3.

-   #3:doOther

-      A linha no arquivo #3 onde a função doOther() começa.

-   #3:29

-      Linha 29 no arquivo #3.

-Para ver nomes e números de arquivo, insira  'info sources' ou 'info files'.

-Para ver nomes de função, insira 'info functions'.

-Nomes de arquivo e de função abreviados são aceitos, se não forem ambíguos.

-Listar um arquivo torna-o o arquivo atual. (Consulte o comando 'cf'.)

-

-[next]

-

-Avançar o programa, prosseguindo com chamadas de sub-rotina.

-  next

-    Avançar uma vez.

-  next 3

-    Avançar três vezes, ou até o programa parar por outro motivo.

-Como o comando 'step', desde que as chamadas de sub-rotina não ocorram; quando 

-ocorrem a chamada é tratada como uma instrução.

-

-[print]

-

-Valor de impressão de variável ou expressão.

-Exemplos:

-  print i

-    Imprime o valor de 'i'.

-  print employee.name

-    Imprime o valor de 'employee.name'.

-  print employee

-    Imprime o valor do objeto 'employee'.

-    Isso pode simplesmente exibir algo como [Object 10378].

-  print employee.

-    Imprime os valores de todas as propriedades do objeto 'employee'.

-  print *employee

-    Imprime os valores de todas as propriedades do objeto 'employee'.

-    O operador do prefixo '*' é o prefixo alternativo do operador do sufixo '.'.

-  print #10378.

-    Imprime os valores de todas as propriedades de Object #10378.

-Variáveis acessíveis são aquelas do ambiente léxico da moldura de pilha 

-selecionada, mais todas aquelas cujo escopo é global ou um arquivo inteiro.

-

-[pwd]

-

-Imprimir a pasta de trabalho atual.

-Este é o diretório a partir do qual o fdb foi iniciado; não pode ser alterado 

-dentro do fdb. O argumento para 'run' e 'source' pode ser especificado em 

-relação a este diretório.

-Este comando não possui argumentos.

-

-[quit]

-

-Sair do fdb.

-Este comando não possui argumentos.

-

-[run]

-

-Iniciar uma sessão de depuração.

-Exemplos:

-  run http://www.mysite.com/myapp.mxml

-    Executa o aplicativo MXML especificado.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Executa o arquivo SWF local myapp.swf, que pode ser especificado em relação 

-    ao diretório atual (consulte o comando 'pwd') ou usando um caminho absoluto.

-    Nesses casos, myapp.swd (o arquivo que contém as informações de depuração) 

-    deve também existir no mesmo diretório que myapp.swf.

-  run

-    Executa o aplicativo especificado anteriormente pelo comando 'file'.

-    Se nenhum aplicativo foi especificado, o fdb aguardará um para conectar-se 

-    a ele, e expirará se não houver qualquer aplicativo.

-'run' iniciará o aplicativo em um navegador ou em um Flash Player autônomo.

-Assim que o aplicativo for iniciado, ele iniciará o fdb para que você possa 

-definir pontos de interrupção etc.

-

-No Macintosh, a única forma do comando com suporte é 'run', sem argumentos.  

-É necessário iniciar o Flash player manualmente.

-

-[set]

-

-Definir o valor de uma variável ou uma variável de conveniência.

-Variáveis de conveniência são aquelas que existem inteiramente dentro do fdb e 

-não fazem parte do seu programa.

-Variáveis de conveniência têm o prefixo '$' e podem ser qualquer nome que não 

-entre em conflito com qualquer variável existente.  Por exemplo, $myVar.  

-Variáveis de conveniência também são usadas para controlar vários aspectos de 

-fdb.  

-

-As variáveis de conveniência a seguir são usadas pelo fdb.

-$listsize          - número de linhas de origem a ser exibido para 'list'

-$columnwrap        - número da coluna em que a saída será alinhada

-$infostackshowthis - se 0, não exibe 'this' no rastreamento regressivo da pilha

-$invokegetters     - se 0, impede que o fdb dispare funções de getter

-$bpnum             - o último número do ponto de interrupção definido

-$displayattributes - se 1, 'print var.' exibe todos os atributos de membros de 

-                     'var' (por exemplo, privado, estático)

-

-Exemplos:

-  set i = 3

-    Define a variável 'i' para o número 3.

-  set employee.name = "Susan"

-    Define a variável 'employee.name' para a string "Susan".

-  set $myVar = 20

-    Define a variável de conveniência '$myVar' para o número 20.

-

-[show]

-

-Comando genérico para mostrar coisas sobre o estado do fdb.

-Lista de subcomandos de exibição:

-show break (sh b)       Local e motivo de execução suspensa

-show directories (sh d) Diretórios em que arquivos de origem são procurados

-show files (sh f)       Arquivos de destino e caminhos

-show functions (sh fu)  Informações de mapeamento de linha de função 

-show locations (sh l)   Locais de pontos de interrupção

-show memory (sh m)      Uso de memória atual

-show net (sh n)         Estatística de mensagem do player 

-show properties (sh p)  Valores de propriedades

-show uri (sh u)         URI do player para esta sessão 

-show variable (sh v)    Recuperação de variável bruta

-Para obter a documentação completa, digite 'help show' seguido do nome do 

-subcomando de exibição.

-

-[show break]

-

-Exibir o deslocamento dentro de SWF em que o programa parou.

-

-[show directories]

-

-Exibir o caminho de procura atual para localizar arquivos de origem.

-

-[show files]

-

-Exibir caminho e nome de arquivo para todos os arquivos de destino.

-

-[show functions]

-

-Exibir informações de mapeamento de função a número de linha.

-Exemplos:

-  show functions .

-    Mostra informações de mapeamento para todas as funções no arquivo atual.

-  show functions myapp.mxml

-    Mostra informações de mapeamento para todas as funções em myapp.mxml.

-  show functions #3

-    Mostra informações de mapeamento para todas as funções no arquivo #3.

-  show functions

-    Mostra informações de mapeamento para todas as funções em todos os arquivos.

-Para ver nomes e números de arquivo, insira  'info sources' ou 'info files'.

-Nomes de arquivo abreviados são aceitos, se não forem ambíguos.

-

-[show locations]

-

-Exibir a lista de locais que estão definidos para cada ponto de interrupção.

-

-[show memory]

-

-Exibir estatística de memória de Java VM.

-

-[show net]

-

-Exibir informações sobre mensagens que foram enviadas para, e recebidas do, 

-Flash Player.

-

-[show properties]

-

-Exibir uma lista de variáveis de conveniência usadas dentro do depurador. 

-

-[show uri]

-

-Exibir a URI que o player enviou para esta sessão.

-

-[show variable]

-

-Exibir o valor de um membro de uma variável.  Dois parâmetros são necessários. 

-O primeiro é o identificador numérico da variável, o segundo, o nome da 

-propriedade na variável.  A variável de conveniência $invokegetters é usada 

-para determinar se a propriedade de getter, supondo que ela exista, será 

-disparada ou não.

-Exemplo:

-    show variable 1 __proto__

-

-[show ?]

-

-Comando de exibição indefinido. Tente 'help show'.

-

-[source]

-

-Ler comandos de fdb a partir de um arquivo e executá-los.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Lê mycommands.txt e executa nele os comandos de fdb.

-    O arquivo que contém os comandos pode ser especificado

-	em relação ao diretório atual (consulte o comando 'pwd')

-	ou usando um caminho absoluto.

-O arquivo .fdbinit é lido automaticamente desse modo quando o fdb é iniciado.

-Somente no diretório atual .fdbinit é procurado. Isso significa que você pode 

-definir vários arquivos .fdbinit para diferentes projetos.

-

-[step]

-

-Avançar o programa até ele chegar a uma linha de origem diferente.

-Exemplos:

-  step

-    Avançar uma vez.

-  step 3

-    Avançar três vezes, ou até o programa parar por outro motivo.

-

-[tutorial]

-

-Exibir um tutorial sobre como usar fdb.

-Este comando não possui argumentos.

-

-[Tutorial]

-

-Uma sessão típica de fdb:

-Iniciar um aplicativo com 'run'.

-Exibir nomes de arquivo com 'info sources'.

-Listar um arquivo com 'list'.

-Definir pontos de interrupção com 'break'.

-Executar o programa com 'continue' até o ponto de interrupção ser alcançado.

-Examinar o estado do programa com 'where', 'print' e 'info locals'.

-Executar instruções individuais com 'next', 'step' e 'finish'.

-Retomar a execução com 'continue'.

-Encerrar o fdb com 'quit'.

-

-[undisplay]

-

-Remover uma ou mais expressões de exibição automática.

-Exemplos:

-  undisplay

-    Remove todas as expressões de exibição automática.

-  undisplay 2 7

-    Remove as expressões de exibição automática #2 e #7.

-Para ver a lista de expressões de exibição automática e seus números, insira 

-'info display'.

-

-[up]

-

-Selecionar e imprimir a moldura de pilha chamada por este.

-Comandos 'info arguments' e 'info locals' subseqüentes exibirão

-os locais e os argumentos da moldura selecionada.

-Consulte 'down' e 'frame'

-

-[viewswf]

-

-Definir ou limpar filtro para listagem de arquivo (ou seja, 'info files' e 

-'info sources'), com base em nome de swf. 

-Sem quaisquer parâmetros, todos os arquivos serão mostrados.  Se o mesmo 

-arquivo existir em um ou mais swfs, a listagem somente exibirá a primeira 

-instância do arquivo.  Para acessar outras instâncias do arquivo, use o número 

-do arquivo (por exemplo, 'list #192') ou use este comando com um parâmetro (ver 

-abaixo) para exibir arquivos de um swf específico.  Com um único parâmetro, o 

-nome de swf tal como exibido pelo comando 'info swfs', somente os arquivos do 

-swf especificado serão exibidos na listagem de arquivo.  

-Arquivos de outros swf não serão mostrados.  Este comando também afeta comandos 

-que aceitam um arquivo como um parâmetro (por exemplo, 'break')

-Exemplo:

-  viewswf myApp.mxml.swf

-    Somente arquivos de myApp.mxml.swf serão exibidos.

-  viewswf 

-    Todos os arquivos de todos os swfs serão exibidos.

- 

-[watch]

-

-Adicionar um ponto de inspeção em uma determinada variável. O depurador parará 

-a execução quando o valor da variável for alterado.

-Exemplo:

-  watch foo

-

-[what]

-

-Exibe o contexto em que uma variável é resolvida. 

-

-[where]

-

-Rastreamento regressivo da pilha.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_de.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_de.txt
deleted file mode 100644
index 2a9c8c2..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_de.txt
+++ /dev/null
@@ -1,873 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Nicht definierter Befehl. Geben Sie einfach トhelpモ ein, um eine Liste aller 

-FDB-Befehle anzuzeigen.

-

-[break]

-

-Setzt bei einer bestimmten Zeile oder Funktion einen Haltepunkt.

-Beispiele:

-  break 87

-    Setzt einen Haltepunkt bei Zeile 87 der aktuellen Datei.  

-  break myapp.mxml:56

-    Setzt einen Haltepunkt bei Zeile 56 der Datei トmyapp.mxmlモ.

-  break #3:29

-    Setzt einen Haltepunkt bei Zeile 29 in Datei 3.

-  break doThis

-    Setzt einen Haltepunkt bei der Funktion トdoThis()モ in der aktuellen Datei.

-  break myapp.mxml:doThat

-    Setzt einen Haltepunkt bei der Funktion トdoThat()モ in der Datei 

-    トmyapp.mxmlモ.

-  break #3:doOther

-    Setzt einen Haltepunkt bei der Funktion トdoOther()モ in Datei 3.

-  break

-   Setzt einen Haltepunkt bei der aktuellen Ausfhrungsadresse im aktuellen 

-   Stapelrahmen. Dies ist ntzlich, wenn bei der Rckkehr zu einem Stapelrahmen 

-   angehalten werden soll.

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Geben Sie zum Anzeigen von Funktionsnamen トinfo functionsモ ein.

-Abgekrzte Datei- und Funktionsnamen sind zul¦ssig, wenn sie eindeutig sind.

-Ist eine Zeilennummer angegeben, wird am Anfang des Codes der entsprechenden 

-Zeile angehalten.

-Ist eine Funktion angegeben, wird am Anfang des Codes der entsprechenden 

-Funktion angehalten.

-Weitere Informationen zur Steuerung von Haltepunkten finden Sie unter 

-トcommandsモ und トconditionモ.

-

-[bt]

-

-Ablaufverfolgung des Stapels.

-

-[catch]

-

-H¦lt bei Ausgabe einer Ausnahmebedingung an.  Dies betrifft nur abgefangene 

-Ausnahmebedingungen, also Ausnahmebedingungen, die durch einen トCatchモ-Block 

-verarbeitet werden.  Bei nicht abgefangenen Ausnahmebedingungen erfolgt die 

-Unterbrechung immer im Debugger.

-

-Verwenden Sie zum L￶schen eines Catch-Points den Befehl トdeleteモ.

-

-Beispiele:

-  catch *

-    Unterbricht bei Ausgabe einer beliebigen Ausnahmebedingung.

-  catch ReferenceError

-    Unterbricht bei jeder Ausgabe eines ReferenceError, unabh¦ngig davon, ob er 

-    abgefangen wurde.

-

-[cf]

-

-Zeigt den Namen und die Nummer der aktuellen Datei an oder ¦ndert die aktuelle 

-Datei.

-Beispiele:

-  cf

-    Zeigt den Namen und die Nummer der aktuellen Datei an.

-  cf myapp.mxml

-    ᅣndert die aktuelle Datei in トmyapp.mxmlモ.

-  cf #29

-    ᅣndert die aktuelle Datei in Datei 29.

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Abgekrzte Dateinamen sind zul¦ssig, wenn sie eindeutig sind.

-Das Auflisten einer Datei mit トlistモ fhrt ebenso dazu, dass die Datei zur 

-aktuellen Datei wird.

-

-[clear]

-

-L￶scht einen Haltepunkt bei einer bestimmten Zeile oder Funktion.

-Beispiele:

-  clear 87

-    L￶scht den Haltepunkt bei Zeile 87 der aktuellen Datei.

-  clear myapp.mxml:56

-    L￶scht den Haltepunkt bei Zeile 56 der Datei トmyapp.mxmlモ.

-  clear #3:29

-    L￶scht den Haltepunkt bei Zeile 29 der Datei 3.

-  clear doThis

-    L￶scht den Haltepunkt bei der Funktion トdoThis()モ in der aktuellen Datei.

-  clear myapp.mxml:doThat

-    L￶scht den Haltepunkt bei der Funktion トdoThat()モ in der Datei トmyapp.mxmlモ.

-  clear #3:doOther

-    L￶scht den Haltepunkt bei der Funktion トdoOther()モ in Datei 3.

-  clear

-    L￶scht den Haltepunkt der aktuellen Zeile in der aktuellen Datei. 

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Geben Sie zum Anzeigen von Funktionsnamen トinfo functionsモ ein.

-Abgekrzte Datei- und Funktionsnamen sind zul¦ssig, wenn sie eindeutig sind.

-Ist die Zeilennummer angegeben, werden alle Haltepunkte in dieser Zeile 

-gel￶scht.

-Ist eine Funktion angegeben, werden die Haltepunkte am Anfang der Funktion 

-gel￶scht.

-

-[continue]

-

-Setzt die Ausfhrung nach dem Anhalten am Haltepunkt fort.

-Dieser Befehl hat keine Argumente.

-

-[condition]

-

-

-Gibt an, dass an Haltepunktnummer N nur dann angehalten wird, wenn COND wahr ist.

-Die Verwendung des Befehls erfolgt in der Form トcondition N CONDモ, wobei N fr 

-eine Ganzzahl und COND fr einen Ausdruck steht, der bei jedem Erreichen von 

-Haltepunkt N ausgewertet werden muss.

-

-[commands]

-

-Legt fest, dass Befehle bei Erreichen eines Haltepunkts ausgefhrt werden.

-Geben Sie die Haltepunktnummer als Argument nach トcommandsモ ein.

-Ist kein Argument vorhanden, ist der Zielhaltepunkt der letzte gesetzte 

-Haltepunkt.

-Die Befehle selbst folgen ab Beginn der n¦chsten Zeile.

-Geben Sie eine Zeile ein, die die Zeichenfolge トendモ enth¦lt, um das Ende der 

-Befehle anzuzeigen.

-Geben Sie fr einen automatischen Haltepunkt トsilentモ als erste Zeile an. 

-In diesem Fall erfolgt bei Erreichen des Haltepunkts keine Ausgabe au￟er 

-derjenigen der Befehle.

-Beispiel:

-  (fdb) commands

-  Geben Sie Befehle fr das Erreichen von Haltepunkt 1 ein (einen pro Zeile).

-  Beenden Sie die Folge der Befehle mit einer Zeile, in der einfach nur トendモ 

-  steht.

-  >w

-  >end

-

-[delete]

-

-L￶scht einen oder mehrere Haltepunkte.

-Beispiele:

-  delete

-    L￶scht alle Haltepunkte.

-  delete 2 5

-    L￶scht die Haltepunkte 2 und 5.

-Geben Sie zum Anzeigen von Haltepunktnummern トinfo breakpointsモ ein.

-

-[directory]

-

-ᅣndert die Liste der Ordner, in denen FDB nach Quelldateien sucht.

-

-Beispiele:

-

-  directory

-    Stellt den Standard fr die Liste wieder her. Dies ist der Ordner, in dem 

-    die Quelldatei in Objektcode kompiliert wurde, gefolgt vom aktuellen 

-    Arbeitsordner.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Fgt den angegebenen Ordner am Anfang der Liste der Ordner, die nach der 

-    Quelle durchsucht werden, hinzu.  Bei der Suche nach der Quelle fr die 

-    Klasse トmypackage.MyClassモ sucht der Debugger beispielsweise sowohl nach 

-    トC:\MySource\mypackage\MyClass.asモ als auch nach トC:\MySource\MyClass.asモ.

-

-  directory C:\Dir1;C:\Dir2    (Windows ヨ verwenden Sie ト;モ als Trennzeichen)

-  directory /Dir1:/Dir2        (Mac ヨ verwenden Sie ト;モ als Trennzeichen)

-    Fgt mehrere Ordner am Anfang der Liste der Ordner, die nach der Quelle 

-    durchsucht werden, hinzu.

-

-Geben Sie zum Anzeigen einer aktuellen Liste トshow directoriesモ ein.

-

-[disable]

-

-Deaktiviert einen oder mehrere Haltepunkte oder automatisch angezeigte 

-Ausdrcke.

-Beispiele:

-  disable

-  disable breakpoints

-    Deaktiviert alle Haltepunkte.

-  disable 2 5

-  disable breakpoints 2 5

-    Deaktiviert die Haltepunkte 2 und 5.

-  disable display

-    Deaktiviert alle automatisch angezeigten Ausdrcke.

-  disable display 1 3

-    Deaktiviert die automatisch angezeigten Ausdrcke 1 und 3.

-Geben Sie zum Anzeigen von Haltepunktnummern トinfo breakpointsモ ein.

-Geben Sie zum Anzeigen der Nummern von automatisch angezeigten Ausdrcken トinfo 

-displayモ ein.

-

-[disassemble]

-

-(Nur ActionScript 2; nicht untersttzt beim Debugging von ActionScript 3)

-

-Disassembliert einen bestimmten Teil des Quellcodes.

-Standardm¦￟ig ist dies die aktuelle Listenzeile.

-Die untersttzten Argumente sind identisch mit denjenigen des Listenbefehls.

-Beispiele:

-  disassemble 87

-    Disassembliert Zeile 87 in der aktuellen Datei.

-  disassemble 87 102

-    Disassembliert Zeile 87 bis 102 in der aktuellen Datei.

-  disassemble doThis

-      Disassembliert die Funktion トdoThis()モ in der aktuellen Datei.

-ᅵber die oben dargestellte Verwendung einfacher Zeilennummern hinaus k￶nnen Sie 

-Zeilen auch auf andere Arten angeben:

-   myapp.mxml

-      Zeile 1 in トmyapp.mxmlモ.

-   myapp.mxml:doThat

-      Die erste Zeile der Funktion トdoThat()モ in トmyapp.mxmlモ.

-   myapp.mxml:56

-      Zeile 56 in トmyapp.mxmlモ.

-   #3

-      Zeile 1 in Datei 3.

-   #3:doOther

-      Die Zeile in Datei 3, in der die Funktion トdoOther()モ beginnt.

-   #3:29

-      Zeile 29 in Datei 3.

-

-[display]

-

-Fgt der Liste automatisch angezeigter Ausdrcke einen Ausdruck hinzu.

-Beispiel:

-  display employee.name

-    Fgt der Liste automatisch angezeigter Ausdrcke トemployee.nameモ hinzu.

-    Bei jedem Anhalten von FDB wird der Wert von トemployee.nameモ angezeigt.

-Das Argument fr diesen Befehl ¦hnelt demjenigen fr トprintモ.

-Geben Sie zum Anzeigen der Liste automatisch angezeigter Ausdrcke und ihrer 

-Nummern トinfo displayモ ein.

-

-[down]

-

-W¦hlt den Stapelrahmen aus, der von diesem aufgerufen wurde, und gibt ihn aus.

-Die darauf folgenden Befehle トinfo argumentsモ und トinfo localsモ zeigen die 

-lokalen Variablen und Argumente des ausgew¦hlten Rahmens an.

-Weitere Informationen finden Sie unter トupモ und トframeモ. 

-

-[enable]

-

-Aktiviert einen oder mehrere Haltepunkte oder automatisch angezeigte Ausdrcke.

-Beispiele:

-  enable

-  enable breakpoints

-    Aktiviert alle Haltepunkte.

-  enable 2 5

-  enable breakpoints 2 5

-    Aktiviert die Haltepunkte 2 und 5.

-  enable display

-    Aktiviert alle automatisch angezeigten Ausdrcke.

-  enable display 1 3

-    Aktiviert die automatisch angezeigten Ausdrcke 1 und 3.

-Geben Sie zum Anzeigen von Haltepunktnummern トinfo breakpointsモ ein.

-Geben Sie zum Anzeigen der Nummern von automatisch angezeigten Ausdrcken トinfo 

-displayモ ein.

-

-[file]

-

-Gibt eine Anwendung an, fr die ein Debugging durchgefhrt werden soll, ohne 

-sie zu starten.

-Beispiele:

-  file http://www.mysite.com/myapp.mxml

-    Gibt eine MXML-Anwendung an, fr die ein Debugging erfolgen soll.

-  file myapp.swf

-    Gibt eine lokale SWF-Datei im aktuellen Ordner an, fr die ein Debugging 

-    erfolgen soll.

-    In diesem Fall muss auch トmyapp.swdモ (die Datei mit den 

-    Debugging-Informationen) im aktuellen Ordner vorhanden sein.

-Dieser Befehl bewirkt nicht, dass die Anwendung gestartet wird. Verwenden Sie 

-den トrunモ-Befehl ohne Argument, um das Debugging der Anwendung zu starten.

-Statt die Befehle トfile <Ziel>モ und dann トrunモ zu verwenden, k￶nnen Sie einfach 

-die Anwendung, fr die ein Debugging erfolgen soll, als Argument von トrunモ 

-angeben:

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Sie k￶nnen die Anwendung, fr die das Debugging erfolgen soll, auch beim 

-Starten von FDB als Befehlszeilenargument angeben:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-In diesem Fall brauchen Sie トfileモ oder トrunモ nicht zu verwenden.

-Wenn Sie トrunモ ohne Angabe einer Anwendung, fr die ein Debugging erfolgen 

-soll, verwenden, wartet FDB, bis eine Verbindung zu einer beliebigen Anwendung 

-hergestellt wird.

-

-[finish]

-

-Fhrt den Befehl aus, bis die aktuelle Funktion die Kontrolle an das Programm 

-zurckgibt.

-Dieser Befehl hat keine Argumente.

-

-[frame]

-

-W¦hlt einen bestimmten Stapelrahmen aus und gibt ihn aus.

-Dieser Befehl hat als optionales Argument eine Rahmennummer.

-Ist kein Argument angegeben, kehrt die Anwendung standardm¦￟ig zum Rahmen der 

-obersten Ebene (frame 0) zurck

-Beispiele:

-  frame 4

-  frame

-Die darauf folgenden Befehle トinfo argumentsモ und トinfo localsモ zeigen die 

-lokalen Variablen und Argumente des ausgew¦hlten Rahmens an.

-Weitere Informationen finden Sie unter トupモ, トdownモ und トbtモ. 

-

-[handle]

-

-Geben Sie an, wie FDB einen Fehler in Flash Player behandeln soll.

-Beispiele:

-  handle recursion_limit stop

-    Zeigt bei Auftreten eines recursion_limit-Fehlers eine Meldung in FDB an 

-    und h¦lt wie bei einem Haltepunkt an.

-  handle all print nostop

-    Zeigt bei Auftreten einer beliebigen Art von Fehler eine Meldung in FDB an, 

-    h¦lt jedoch nicht an.

-Das erste Argument ist ein Fehlername oder トallモ.

-Weitere Argumente sind auf diesen Fehler anzuwendende Aktionen.

-Geben Sie zum Anzeigen von Fehlernamen トinfo handleモ ein.

-Gltige Aktionen sind: print/noprint und stop/nostop.

-トprintモ bedeutet, dass eine Meldung ausgegeben wird, wenn dieser Fehler 

-auftritt.

-トstopモ bedeutet, dass der Debugger erneut aufgerufen wird, wenn dieser Fehler 

-auftritt. Dies impliziert トprintモ.

-

-[help]

-

-Sie kennen FDB noch nicht? Um grundlegende Informationen zu erhalten, geben Sie 

-トtutorialモ ein.

-Liste der FDB-Befehle:

-bt (bt)             Gibt die Ablaufverfolgung aller Stapelrahmen aus.

-break (b)           Setzt bei einer bestimmten Zeile oder Funktion einen 

-                    Haltepunkt.

-catch (ca)          H¦lt bei Ausgabe einer Ausnahmebedingung an

-cf (cf)             Zeigt den Namen und die Nummer der aktuellen Datei an

-clear (cl)          L￶scht einen Haltepunkt bei einer bestimmten Zeile oder 

-                    Funktion

-condition (cond)    Wendet Bedingungsausdruck auf einen Haltepunkt an bzw. 

-                    entfernt ihn von einem Haltepunkt.

-continue (c)        Setzt die Ausfhrung nach dem Anhalten am Haltepunkt fort.

-commands (com)      Legt Befehle fest, die bei Erreichen eines Haltepunkts 

-                    ausgefhrt werden sollen.

-delete (d)          L￶scht Haltepunkte oder automatisch angezeigte Ausdrcke

-directory (dir)     Fgt dem Suchpfad fr Quelldateien einen Ordner hinzu.

-disable (disab)     Deaktiviert Haltepunkte oder automatisch angezeigte 

-                    Ausdrcke

-disassemble (disas) Disassembliert Quellzeilen oder Funktionen

-display (disp)      Fgt automatisch angezeigte Ausdrcke hinzu

-enable (e)          Aktiviert Haltepunkte oder automatisch angezeigte Ausdrcke

-file (fil)          Gibt eine Anwendung an, fr die ein Debugging erfolgen soll

-finish (f)          Fhrt den Befehl aus, bis die aktuelle Funktion die 

-                    Kontrolle an das Programm zurckgibt

-handle (han)        Gibt an, wie ein Fehler verarbeitet werden soll

-help (h)            Zeigt Hilfe zu den FDB-Befehlen an

-home (ho)           Legt die Listenposition auf die Position fest, an der die 

-                    Ausfhrung angehalten wird

-info (i)            Zeigt Informationen zu dem Programm an, fr das das 

-                    Debugging erfolgt

-kill (k)            Beendet die Ausfhrung des Programms, fr das das Debugging 

-                    erfolgt

-list (l)            Fhrt die angegebene Funktion oder Zeile in einer Liste auf

-next (n)            Durchl¦uft das Programm schrittweise (Step)

-print (p)           Gibt den Wert der Variablen トEXPモ aus.

-pwd (pw)            Gibt den Arbeitsordner aus.

-quit (q)            Beendet FDB

-run (r)             Startet das Programm, fr das das Debugging erfolgen soll

-set (se)            Legt den Wert einer Variablen fest

-source (so)         Liest FDB-Befehle aus einer Datei

-step (s)            Durchl¦uft das Programm schrittweise (Step) bis zum 

-                    Erreichen einer anderen Quellzeile

-tutorial (t)        Zeigt eine ᅵbung zur Verwendung von FDB an

-undisplay (u)       Entfernt einen automatisch angezeigten Ausdruck

-viewswf (v)         Legt einen Filter fr eine Dateiliste basierend auf dem 

-                    SWF-Format fest oder l￶scht einen solchen Filter.

-watch (wa)          Fgt einen Beobachtungspunkt fr eine gegebene Variable 

-                    hinzu

-what (wh)           Zeigt den Kontext einer Variablen an

-where (w)           Bewirkt dasselbe wie トbtモ

-Geben Sie トhelpモ gefolgt vom Namen des Befehls ein, wenn Sie die vollst¦ndige 

-Dokumentation zum entsprechenden Befehl erhalten m￶chten.

-

-[home]

-

-Legt die Listenposition auf die Position fest, an der die Ausfhrung angehalten 

-wird.

-

-[info]

-

-Generischer Befehl zum Anzeigen von Informationen ber das Programm, fr das 

-das Debugging erfolgt.

-Liste der untergeordneten トinfoモ-Befehle:

-info arguments (i a)    Argumentvariablen des aktuellen Stapelrahmens

-info breakpoints (i b)  Status der vom Benutzer einstellbaren Haltepunkte

-info display (i d)      Anzeige einer Liste der automatisch angezeigten Ausdrcke

-info files (i f)        Namen der Ziele und Dateien, fr die ein Debugging erfolgt

-info functions (i fu)   Alle Funktionsnamen

-info handle (i h)       Information zur Verarbeitung von Fehlern

-info locals (i l)       Lokale Variablen des aktuellen Stapelrahmens

-info scopechain (i sc)  Bereichskette des aktuellen Stapelrahmens

-info sources (i so)     Quelldateien im Programm

-info stack (i s)        Ablaufverfolgung des Stapels

-info swfs (i sw)        Liste von SWF-Dateien in dieser Sitzung

-info targets(i t)       Anwendung, fr die das Debugging erfolgt

-info variables (i v)    Alle Namen der globalen und statischen Variablen

-Geben Sie トhelp infoモ gefolgt vom Namen eines untergeordneten トinfoモ-Befehls 

-ein, um die vollst¦ndige Dokumentation zum entsprechenden Befehl zu erhalten.

-

-[info arguments]

-

-Zeigt die Argumente des aktuellen Stapelrahmens an.

-

-[info breakpoints]

-

-Zeigt den Status aller Halte- und Beobachtungspunkte an.

-Die Type-Spalte zeigt einen der folgenden beiden Typen an:

-   breakpoint   - Normaler Haltepunkt

-   watchpoint   - Beobachtungspunkt

-Die Disp-Spalte enth¦lt entweder トkeepモ, トdelモ oder トdisモ, um anzuzeigen, was 

-mit dem Haltepunkt geschehen soll, nachdem er erreicht wurde. トdisモ bedeutet, 

-dass der Haltepunkt deaktiviert wird, und トdelモ bedeutet, dass er gel￶scht wird.

-Die Spalten トAddressモ und トWhatモ zeigen die Adresse bzw. die Datei- oder 

-Zeilennummer an. 

-

-[info display]

-

-Zeigt eine Liste der automatisch angezeigten Ausdrcke und ihrer Nummern an.

-

-[info files]

-

-Zeigt Dateinamen und -nummern der Anwendung an, fr die das Debugging erfolgen 

-soll. Es handelt sich um Quelldateien, Frameworkdateien und automatisch 

-generierte Dateien.

-Beispiele:

-  info files

-    Listet alle Dateien in alphabetischer Reihenfolge und nach Kategorie auf.

-  info files my

-  info files my*

-    Listet alle Dateien, deren Name mit トmyモ beginnt, in alphabetischer 

-    Reihenfolge auf.

-  info files *.as

-    Listet alle Dateien, deren Name mit ト.asモ endet, in alphabetischer 

-    Reihenfolge auf.

-  info files *foo*

-    Listet alle Dateien, deren Name トfooモ enth¦lt, in alphabetischer 

-    Reihenfolge auf. 

-Dateien werden im Format トName#Nモ angezeigt, wobei トNモ fr die Dateinummer 

-steht.

-Bei vielen Befehlen k￶nnen Sie statt eines Dateinamens ト#Nモ verwenden.

-

-[info functions]

-

-Zeigt Funktionsnamen an.

-Beispiele:

-  info functions .

-    Zeigt alle Funktionen in der aktuellen Datei an.

-  info functions myapp.mxml

-    Zeigt alle Funktionen in トmyapp.mxmlモ an.

-  info functions #3

-    Zeigt alle Funktionen in Datei 3 an.

-  info functions

-    Zeigt alle Funktionen in allen Dateien an.

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Abgekrzte Dateinamen sind zul¦ssig, wenn sie eindeutig sind.

-

-[info handle]

-

-Zeigt an, welche Aktionen FDB durchfhrt, wenn in Flash Player ein Fehler 

-auftritt.

-Beispiele:

-  info handle

-    Zeigt an, wie FDB alle Fehler verarbeitet.

-  info handle recursion_limit

-    Zeigt an, wie FDB einen recursion_limit-Fehler verarbeitet.

-

-[info locals]

-

-Zeigt lokale Variablen des aktuellen Stapelrahmens an.

-

-[info scopechain]

-

-Zeigt die Bereichskette des aktuellen Stapelrahmens an.  Die Bereichskette ist 

-die Liste von Objekten, die durchsucht wird, wenn Flash Player versucht, einen 

-Symbolnamen aufzul￶sen.

-

-[info sources]

-

-Zeigt Namen und Nummern der Quelldateien der Anwendung an, fr die ein 

-Debugging erfolgt. Frameworkdateien und automatisch generierte Dateien sind 

-hierbei ausgeschlossen.

-Dateien werden im Format トName#Nモ angezeigt, wobei トNモ fr die Dateinummer 

-steht.

-Bei vielen Befehlen k￶nnen Sie statt eines Dateinamens ト#Nモ verwenden.

-

-[info stack]

-

-Ablaufverfolgung des Stapels.

-

-[info swfs]

-

-Zeigt SWF-Dateien an, die in der Debugging-Sitzung bekannt sind.  Weitere 

-Informationen dazu, wie die Dateiauflistung basierend auf den SWF-Namen 

-gefiltert werden kann, finden Sie beim Befehl トviewsfwモ. 

-

-[info targets]

-

-Zeigt die URL (http: oder file:) der Anwendung an, fr die das Debugging 

-erfolgt.

-

-[info variables]

-

-Zeigt die Namen und Werte aller globalen und statischen Variablen an.

-

-[info ?]

-

-Nicht definierter トinfoモ-Befehl. Versuchen Sie es mit トhelp infoモ.

-

-[kill]

-

-Beendet die Ausfhrung des Programms, fr das das Debugging erfolgt.

-Dieser Befehl hat keine Argumente.

-

-[list]

-

-Listet Codezeilen in einer Quelldatei auf.

-Beispiele:

-  list

-    Listet zehn weitere Zeilen in der aktuellen Datei nach oder in der N¦he der 

-    vorherigen Auflistung auf.

-  list -

-    Listet die zehn Zeilen in der aktuellen Datei vor einer vorherigen 

-    Auflistung auf.

-  list 87

-    Listet zehn Zeilen in der aktuellen Datei um die Zeile 87 herum auf.

-  list 87 102

-    Listet die Zeilen 87 bis 102 in der aktuellen Datei auf.

-ᅵber die oben dargestellte Verwendung einfacher Zeilennummern hinaus k￶nnen Sie 

-Zeilen auch auf sieben andere Arten angeben:

-  doThis

-      Die erste Zeile der Funktion トdoThis()モ in der aktuellen Datei.

-   myapp.mxml

-      Zeile 1 in トmyapp.mxmlモ.

-   myapp.mxml:doThat

-      Die erste Zeile der Funktion トdoThat()モ in トmyapp.mxmlモ.

-   myapp.mxml:56

-      Zeile 56 in トmyapp.mxmlモ.

-   #3

-      Zeile 1 in Datei 3.

-   #3:doOther

-      Die Zeile in Datei 3, in der die Funktion トdoOther()モ beginnt.

-   #3:29

-      Zeile 29 in Datei 3.

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Geben Sie zum Anzeigen von Funktionsnamen トinfo functionsモ ein.

-Abgekrzte Datei- und Funktionsnamen sind zul¦ssig, wenn sie eindeutig sind.

-Das Auflisten einer Datei fhrt dazu, dass die Datei zur aktuellen Datei wird. 

-(Weitere Informationen finden Sie beim Befehl トcfモ.)

-

-[next]

-

-Durchl¦uft das Programm schrittweise (Step), indem Aufrufe von untergeordneten 

-Routinen durchlaufen werden.

-  next

-    Ein Step-Vorgang.

-  next 3

-    3 Step-Vorg¦nge bzw. bis zum Anhalten des Programms aus einem anderen Grund.

-Verh¦lt sich wie der トstepモ-Befehl solange keine Aufrufe von untergeordneten 

-Routinen erfolgen. Ist dies der Fall, wird der Aufruf als eine Anweisung 

-behandelt.

-

-[print]

-

-Gibt den Wert einer Variablen oder eines Ausdrucks aus.

-Beispiele:

-  print i

-    Gibt den Wert von トiモ aus.

-  print employee.name

-    Gibt den Wert von トemployee.nameモ aus.

-  print employee

-    Gibt den Wert des Objekts トemployeeモ aus.

-    Hierbei wird m￶glicherweise ein Wert ¦hnlich dem folgenden angezeigt: 

-    [Object 10378].

-  print employee.

-    Gibt die Werte aller Eigenschaften des Objekts トemployeeモ aus.

-  print *employee

-    Gibt die Werte aller Eigenschaften des Objekts トemployeeモ aus.

-    Der vorgestellte Sternoperator (*) kann alternativ zum nachgestellten 

-    Punktoperator (.) verwendet werden.

-  print #10378.

-    Gibt die Werte aller Eigenschaften des Objekts 10378 aus.

-Zugreifbare Variablen sind diejenigen der lexikalischen Umgebung des 

-ausgew¦hlten Stapelrahmens sowie alle Variablen, deren Geltungsbereich global 

-ist oder sich ber eine ganze Datei erstreckt.

-

-[pwd]

-

-Gibt den aktuellen Arbeitsordner aus.

-Dies ist der Ordner, von dem aus FDB gestartet wurde. Er kann in FDB nicht 

-ge¦ndert werden. Das Argument fr トrunモ und トsourceモ kann relativ zu diesem 

-Ordner angegeben werden.

-Dieser Befehl hat keine Argumente.

-

-[quit]

-

-Beendet FDB.

-Dieser Befehl hat keine Argumente.

-

-[run]

-

-Startet eine Debugging-Sitzung.

-Beispiele:

-  run http://www.mysite.com/myapp.mxml

-    Fhrt die angegebene MXML-Anwendung aus.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Fhrt die lokale SWF-Datei トmyapp.swfモ aus. Diese kann entweder relativ 

-    zum aktuellen Ordner (siehe Befehl トpwdモ) oder mit einem absoluten Pfad 

-    angegeben werden. In diesen F¦llen muss auch トmyapp.swdモ (die Datei mit den 

-    Debugging-Informationen) im selben Ordner wie トmyapp.swf モvorhanden sein.

-  run

-    Fhrt die zuvor ber den Befehl トfileモ angegebene Anwendung aus.

-    Wurde keine Anwendung angegeben, wartet FDB darauf, dass eine Anwendung 

-    eine entsprechende Verbindung herstellt. Geschieht dies nicht innerhalb 

-    angemessener Zeit, tritt eine Zeitberschreitung auf.

-トrunモ startet die Anwendung in einem Browser oder einem eigenst¦ndigen Flash 

-Player.

-Sobald die Anwendung gestartet wird, erfolgt eine Unterbrechung in FDB, sodass 

-Sie Haltepunkte setzen k￶nnen usw.

-

-Unter Macintosh ist die einzige untersttzte Form dieses Befehls トrunモ ohne 

-Argumente.  Sie mssen Flash Player dann manuell starten.

-

-[set]

-

-Legt den Wert einer Variablen oder Convenience-Variablen fest.

-Convenience-Variablen sind Variablen, die vollst¦ndig in FDB vorhanden sind. 

-Sie sind nicht Teil Ihres Programms.

-Convenience-Variablen weisen ein vorangestelltes Dollarzeichen ($) auf und 

-k￶nnen einen beliebigen Namen haben, wenn dieser keinen Konflikt mit einem 

-vorhandenen Variablennamen verursacht.  Beispiel: $myVar.  

-Convenience-Variablen werden auch zur Steuerung verschiedener Aspekte von FDB 

-verwendet.  

-

-FDB verwendet folgende Convenience-Variablen:

-$listsize          - Anzahl der anzuzeigenden Quellzeilen fr トlistモ

-$columnwrap        - Nummer der Spalte, bei der die Ausgabe umbrochen werden 

-                     soll

-$infostackshowthis - Wenn 0, wird トthisモ nicht in der Stapelablaufverfolgung 

-                     angezeigt

-$invokegetters     - Wenn 0, verhindert dies, dass FDB Getter-Funktionen ausl￶st

-$bpnum             - Die Nummer des letzten definierten Haltepunkts

-$displayattributes - Wenn 1, zeigt トprint var.モ alle Attribute der Mitglieder 

-von トvarモ an (z.ᅠB. トprivateモ, トstaticモ)

-

-Beispiele:

-  set i = 3

-    Legt die Variable トiモ auf die Zahl 3 fest.

-  set employee.name = "Susan"

-    Legt die Variable トemployee.nameモ auf die Zeichenfolge トSusanモ fest.

-  set $myVar = 20

-    Legt die Convenience-Variable ト$myVarモ auf die Zahl 20 fest.

-

-[show]

-

-Generischer Befehl zum Anzeigen von Informationen zum Status von FDB.

-Liste der untergeordneten トshowモ-Befehle:

-show break (sh b)       Position und Ursache der Ausfhrungsunterbrechung

-show directories (sh d) Nach Quelldateien zu durchsuchende Ordner

-show files (sh f)       Zieldateien und -pfade

-show functions (sh fu)  Informationen ber die Zuordnung von Funktion und Zeile 

-show locations (sh l)   Haltepunktpositionen

-show memory (sh m)      Aktuelle Speichernutzung

-show net (sh n)         Meldungsstatistiken fr den Player 

-show properties (sh p)  Werte der Eigenschaften

-show uri (sh u)         Player-URI fr diese Sitzung 

-show variable (sh v)    Abrufen der unformatierten Variablen

-Geben Sie トhelp showモ gefolgt vom Namen eines untergeordneten トshowモ-Befehls 

-ein, um die vollst¦ndige Dokumentation zum entsprechenden Befehl zu erhalten.

-

-[show break]

-

-Zeigt den Versatz innerhalb der SWF-Datei an, bei dem das Programm angehalten 

-wurde.

-

-[show directories]

-

-Zeigt den aktuellen Suchpfad zum Auffinden von Quelldateien an.

-

-[show files]

-

-Zeigt Pfad- und Dateinamen fr alle Zieldateien an.

-

-[show functions]

-

-Zeigt Informationen fr die Zuordnung von Funktion und Zeilennummer an.

-Beispiele:

-  show functions .

-    Zeigt Zuordnungsinformationen fr alle Funktionen in der aktuellen Datei an.

-  show functions myapp.mxml

-    Zeigt Zuordnungsinformationen fr alle Funktionen in トmyapp.mxmlモ an.

-  show functions #3

-    Zeigt Zuordnungsinformationen fr alle Funktionen in Datei 3 an.

-  show functions

-    Zeigt Zuordnungsinformationen fr alle Funktionen in allen Dateien an.

-Geben Sie zum Anzeigen von Dateinamen und -nummern トinfo sourcesモ oder トinfo 

-filesモ ein.

-Abgekrzte Dateinamen sind zul¦ssig, wenn sie eindeutig sind.

-

-[show locations]

-

-Zeigt eine Liste der Positionen an, die fr jeden Haltepunkt festgelegt wurden.

-

-[show memory]

-

-Zeigt Java VM-Speicherstatistiken an.

-

-[show net]

-

-Zeigt Informationen zu Meldungen an, die an Flash Player gesendet oder von 

-Flash Player empfangen wurden.

-

-[show properties]

-

-Zeigt eine Liste der im Debugger verwendeten Convenience-Variablen an. 

-

-[show uri]

-

-Zeigt die URI an, die der Player fr diese Sitzung gesendet hat.

-

-[show variable]

-

-Zeigt den Wert eines Mitglieds einer Variablen an.  Es sind zwei Parameter 

-erforderlich: der erste ist die numerische Variablen-ID, der zweite ist der 

-Name der Eigenschaft fr die Variable.  Die Convenience-Variable 

-ト$invokegettersモ ermittelt, ob die Getter-Funktion fr Eigenschaften, sofern 

-vorhanden, ausgel￶st wird.

-Beispiel:

-    show variable 1 __proto__

-

-[show ?]

-

-Nicht definierter トshowモ-Befehl. Versuchen Sie es mit トhelp showモ.

-

-[source]

-

-Liest FDB-Befehle aus einer Datei und fhrt sie aus.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Liest トmycommands.txtモ und fhrt die FDB-Befehle darin aus.

-    Die Datei mit den Befehlen kann entweder

-	relativ zum aktuellen Ordner (siehe Befehl トpwdモ)

-	oder mit einem absoluten Pfad angegeben werden.

-Die Datei .fdbinit wird beim Starten von FDB automatisch in dieser Weise 

-gelesen.

-Nur der aktuelle Ordner wird nach .fdbinit durchsucht. Dies bedeutet, dass das 

-Einrichten mehrerer .fdbinit-Dateien fr verschiedene Projekte zul¦ssig ist.

-

-[step]

-

-Durchl¦uft das Programm schrittweise (Step) bis zum Erreichen einer anderen 

-Quellzeile

-Beispiele:

-  step

-    Ein Step-Vorgang.

-  step 3

-    3 Step-Vorg¦nge bzw. bis zum Anhalten des Programms aus einem anderen Grund.

-

-[tutorial]

-

-Zeigt eine ᅵbung zur Verwendung von FDB an.

-Dieser Befehl hat keine Argumente.

-

-[Tutorial]

-

-Eine typische FDB-Sitzung:

-Starten einer Anwendung mit トrunモ

-Anzeigen von Dateinamen mit トinfo sourcesモ

-Auflisten einer Datei mit トlistモ

-Setzen von Haltepunkten mit トbreakモ

-Ausfhren des Programms mit トcontinueモ bis zum Erreichen eines Haltepunkts

-ᅵberprfen des Programmstatus mit トwhereモ, トprintモ und トinfo localsモ

-Ausfhren einzelner Anweisungen mit トnextモ, トstepモ und トfinishモ

-Fortsetzen der Ausfhrung mit トcontinueモ

-Beenden von FDB mit トquitモ

-

-[undisplay]

-

-Entfernt mindestens einen automatisch angezeigten Ausdruck.

-Beispiele:

-  undisplay

-    Entfernt alle automatisch angezeigten Ausdrcke.

-  undisplay 2 7

-    Entfernt die automatisch angezeigten Ausdrcke 2 und 7.

-Geben Sie zum Anzeigen der Liste automatisch angezeigter Ausdrcke und ihrer 

-Nummern トinfo displayモ ein.

-

-[up]

-

-W¦hlt den Stapelrahmen aus, der diesen aufgerufen hat, und gibt ihn aus.

-Die darauf folgenden Befehle トinfo argumentsモ und トinfo localsモ zeigen die 

-lokalen Variablen und Argumente des ausgew¦hlten Rahmens an.

-Weitere Informationen finden Sie unter トdownモ und トframeモ.

-

-[viewswf]

-

-Legt einen Filter fr eine Dateiliste (d.ᅠh. トinfo filesモ und トinfo sourcesモ) 

-basierend auf dem SWF-Namen fest oder l￶scht einen solchen Filter. 

-Sind keine Parameter eingestellt, werden alle Dateien angezeigt.  Ist dieselbe 

-Datei in einer oder mehreren SWF-Dateien vorhanden, zeigt die Liste nur die 

-erste Instanz der Datei an.  Verwenden Sie fr den Zugriff auf weitere 

-Instanzen der Datei die Nummer der Datei (z.ᅠB. トlist #192モ). Sie k￶nnen den 

-hier beschriebenen Befehl auch in Verbindung mit einem Parameter (siehe unten) 

-zum Anzeigen von Dateien einer bestimmten SWF-Datei benutzen.  Ist nur ein 

-Parameter angegeben (der durch den Befehl トinfo swfsモ angezeigte Name der 

-SWF-Datei), dann werden in der Dateiliste nur die Dateien aus der angegebenen 

-SWF-Datei aufgefhrt.  

-Dateien von anderen SWF-Dateien werden nicht angezeigt.  Dieser Befehl betrifft 

-auch Befehle, die eine Datei als Parameter akzeptieren (z.ᅠB. トbreakモ).

-Beispiel:

-  viewswf myApp.mxml.swf

-    Es werden nur Dateien aus トmyApp.mxml.swfモ angezeigt.

-  viewswf 

-    Es werden alle Dateien aus allen SWF-Dateien angezeigt.

- 

-[watch]

-

-Fgt einen Beobachtungspunkt fr eine gegebene Variable hinzu. Die Ausfhrung 

-des Debuggers wird angehalten, wenn sich der Wert der entsprechenden Variablen 

-¦ndert.

-Beispiel:

-  watch foo

-

-[what]

-

-Zeigt den Kontext an, in dem eine Variable aufgel￶st wird. 

-

-[where]

-

-Ablaufverfolgung des Stapels.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_dk.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_dk.txt
deleted file mode 100644
index 56a9b03..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_dk.txt
+++ /dev/null
@@ -1,808 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Udefineret kommando. Skriv 'help' for at se en liste over alle fdb-kommandoer.

-

-[break]

-

-Indsæt pausepunkt ved angivne linje eller funktion.

-Eksempler:

-  break 87

-    Indsætter et pausepunkt på linje 87 i den nuværende fil.

-  break myapp.mxml:56

-    Indsætter et pausepunkt på linje 56 i myapp.mxml.

-  break #3:29

-    Indsætter et pausepunkt på linje 29 i fil nr. 3.

-  break doThis

-    Indsætter et pausepunkt ved funktionen doThis() i den nuværende fil.

-  break myapp.mxml:doThat

-    Indsætter et pausepunkt ved funktionen doThat() i myapp.mxml.

-  break #3:doOther

-    Indsætter et pausepunkt ved funktionen doOther() i fil nr. 3.

-  break

-   Indsætter et pausepunkt ved den nuværende eksekveringsadresse i den 

-   nuværende stakramme. Det kan være nyttigt hvis der kræves pauser ved 

-   returnering til en stakramme.

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Hvis du vil se funktionernes navne, skal du skrive 'info functions'.

-Forkortede filnavne og funktionsnavne accepteres hvis de er entydige.

-Hvis der angives linjenummer, indsættes pausepunktet i starten af linjen.

-Hvis der angives funktion, indsættes pausepunktet inden funktionens kode.

-Du kan se mere om kontrol over pausepunkter ved at skrive 'commands' eller 

-'condition'.

-

-[bt]

-

-Tilbagesporing af stakken.

-

-[catch]

-

-Stands når der opstår en undtagelse.  Dette gælder kun for undtagelser der 

-bliver fanget – dvs. undtagelser der bliver håndteret af en "catch"-blok.  

-Undtagelser der ikke fanges, standser altid i fejlfinding.

-

-Du kan slette et opfangningspunkt med kommandoen "delete".

-

-Eksempler:

-  catch *

-    Standser når der opstår en vilkårlig undtagelse.

-  catch ReferenceError

-    Standser når der opstår en ReferenceError, uanset om den fanges eller ej.

-

-[cf]

-

-Vis navn og nummer på den nuværende fil, eller skift fil.

-Eksempler:

-  cf

-    Viser navn og nummer på den nuværende fil.

-  cf myapp.mxml

-    Skifter til myapp.mxml som nuværende fil.

-  cf #29

-    Skifter til fil nr. 29 som nuværende fil.

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Forkortede filnavne accepteres hvis de er entydige.

-Når du viser en fil med 'list', bliver den også valgt som nuværende fil.

-

-[clear]

-

-Slet pausepunkt ved angivne linje eller funktion.

-Eksempler:

-  clear 87

-    Sletter pausepunktet på linje 87 i den nuværende fil.

-  clear myapp.mxml:56

-    Sletter pausepunktet på linje 56 i myapp.mxml.

-  clear #3:29

-    Sletter pausepunktet på linje 29 i fil nr. 3.

-  clear doThis

-    Sletter pausepunktet ved funktionen doThis() i den nuværende fil.

-  clear myapp.mxml:doThat

-    Sletter pausepunktet ved funktionen doThat() i myapp.mxml.

-  clear #3:doOther

-    Sletter pausepunktet ved funktionen doOther() i fil nr. 3.

-  clear

-    Sletter pausepunktet på den nuværende linje i den nuværende fil. 

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Hvis du vil se funktionernes navne, skal du skrive 'info functions'.

-Forkortede filnavne og funktionsnavne accepteres hvis de er entydige.

-Hvis der angives et linjenummer, slettes alle pausepunkter på den linje.

-Hvis der angives en funktion, slettes pausepunktet inden funktionen.

-

-[continue]

-

-Fortsæt afvikling efter at have stoppet ved pausepunkt.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[condition]

-

-

-Angiv at pausepunkt nummer N kun skal aktiveres, hvis COND overholdes.

-Bruges således: 'condition N COND' hvor N er et heltal og COND er det udtryk 

-der skal holdes op imod, når pausepunktet N nås.

-

-[commands]

-

-Angiv de kommandoer der skal afvikles når et pausepunkt nås.

-Skriv pausepunktets nummer som argument efter 'commands'.

-Hvis der ikke angives et argument, vælges det senest angivne pausepunkt.

-Selve kommandoerne skal skrives fra den efterfølgende linje.

-Du angiver slutningen ved at skrive "end" på den pågældende linje.

-Hvis du skriver "silent" på første linje, er pausepunktet diskret; der skrives 

-altså ikke noget output når pausepunktet nås – ud over det som kommandoerne skriver.

-Eksempel:

-  (fdb) commands

-  Indtast kommandoer der skal afvikles når pausepunkt 1 nås, én pr. linje.

-  Afslut med en linje der kun indeholder 'end'.

-  >w

-  >end

-

-[delete]

-

-Slet et eller flere pausepunkter.

-Eksempler:

-  delete

-    Sletter alle pausepunkter.

-  delete 2 5

-    Sletter pausepunkterne nr. 2 og nr. 5.

-Hvis du vil se pausepunkternes numre, skal du skrive 'info breakpoints'.

-

-[directory]

-

-Rediger listen over mapper som fdv søger efter kildefiler i.

-

-Eksempler:

-

-  directory

-    Gendanner listens standardindstillinger, dvs. mappen hvori kildefilen blev 

-    kompileret til objektkode efterfulgt af den nuværende arbejdsmappe.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Føjer den angivne mappe til begyndelsen af listen over mapper, hvori der 

-    søges efter kilder.  Når der fx søges efter kilden til klassen 

-    mypackage.MyClass, søges der i fejlfinding både efter 

-    C:\MySource\mypackage\MyClass.as og C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows – brug ';' som skilletegn)

-  directory /Dir1:/Dir2        (Mac – brug ':' som skilletegn)

-    Føjer flere mapper til begyndelsen af listen over mapper, hvori der søges 

-    efter kilder.

-

-Du kan få vist listen i sin nuværende form ved at skrive 'show directories'.

-

-[disable]

-

-Deaktiver et eller flere pausepunkter eller auto-display-udtryk.

-Eksempler:

-  disable

-  disable breakpoints

-    Deaktiverer alle pausepunkter.

-  disable 2 5

-  disable breakpoints 2 5

-    Deaktiverer pausepunkterne nr. 2 og nr. 5.

-  disable display

-    Deaktiverer alle auto-display-udtryk.

-  disable display 1 3

-    Deaktiverer auto-display-udtryk nr. 1 og nr. 3.

-Hvis du vil se pausepunkternes numre, skal du skrive 'info breakpoints'.

-Hvis du vil se auto-display-udtrykkenes numre, skal du skrive 'info display'.

-

-[disassemble]

-

-(Kun til ActionScript 2; understøttes ikke ved fejlfinding i ActionScript 3)

-

-Opdel den angivne del af kildekoden.

-Som standard vælges den nuværende linje.

-Der understøttes samme argumenter som under listekommandoen

-Eksempler:

-  disassemble 87

-    Opdeler linje 87 i den nuværende fil.

-  disassemble 87 102

-    Opdeler linje 87 – 102 i den nuværende fil.

-  disassemble doThis

-      Opdeler funktionen doThis() i den nuværende fil.

-Ud over at bruge enkle linjenumre som vist ovenfor, kan du udpege linjer på 

-andre måder:

-   myapp.mxml

-      Linje 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Den første linje af funktionen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Linje 56 i myapp.mxml.

-   #3

-      Linje 1 i fil nr. 3.

-   #3:doOther

-      Linjen i fil nr. 3 hvor funktionen doOther() begynder.

-   #3:29

-      Linje 29 i fil nr. 3.

-

-[display]

-

-Føj et udtryk til listen over auto-display-udtryk.

-Eksempel:

-  display employee.name

-    Føj 'employee.name' til listen over auto-display-udtryk.

-    Hver gang fdb stopper, vises værdien for employee.name.

-Argumentet for denne kommando minder om kommandoen for 'print'.

-Hvis du vil se en liste over auto-display-udtrykkene og deres numre, skal du 

-skrive 'info display'.

-

-[down]

-

-Vælg og skriv stakrammen der kaldes af denne.

-Ved efterfølgende 'info' argumenter og 'info locals' kommandoer vises de lokale 

-variable og argumenterne for den valgte ramme.

-Læs mere under 'up' og 'frame' 

-

-[enable]

-

-Aktiver et eller flere pausepunkter eller auto-display-udtryk.

-Eksempler:

-  enable

-  enable breakpoints

-    Aktiverer alle pausepunkter.

-  enable 2 5

-  enable breakpoints 2 5

-    Aktiverer pausepunkterne nr. 2 og nr. 5.

-  enable display

-    Aktiverer alle auto-display-udtryk.

-  enable display 1 3

-    Aktiverer auto-display-udtryk nr. 1 og nr. 3.

-Hvis du vil se pausepunkternes numre, skal du skrive 'info breakpoints'.

-Hvis du vil se auto-display-udtrykkenes numre, skal du skrive 'info display'.

-

-[file]

-

-Vælg en applikation at køre fejlfinding i uden at starte den.

-Eksempler:

-  file http://www.mysite.com/myapp.mxml

-    Vælg en MXML-applikation at køre fejlfinding i.

-  file myapp.swf

-    Angiv en lokal SWF-fil i den nuværende mappe at køre fejlfinding i.

-    I dette tilfælde skal myapp.swd (filen der indeholder 

-    fejlfindingsoplysninger) også ligge i den nuværende mappe.

-Kommandoen får ikke applikationen til at starte; du kan starte fejlfindingen af 

-applikationen ved at bruge kommandoen 'run' uden argument.

-I stedet for at skrive 'file <filnavn>' efterfulgt af 'run', kan du angive 

-hvilken applikation der skal køres fejlfinding i som et argument til 'run':

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Du kan også angive hvilken applikation der skal køres fejlfinding i, som et 

-argument i kommandolinjen når du starter fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-I dette tilfælde behøver du ikke at bruge 'file' eller 'run'.

-Hvis du bruger 'run' uden at angive en applikation at køre fejlfinding i, 

-venter fdb på at en applikation etablerer forbindelse.

-

-[finish]

-

-Eksekver indtil den valgte funktion returnerer.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[frame]

-

-Vælg og skriv en bestemt stakramme.

-Denne kommando kan evt. bruges med et argument, et rammenummer.

-Hvis der ikke angives noget argument, returneres der som standard til den 

-nuværende topramme (dvs. ramme 0).

-Eksempler:

-  frame 4

-  frame

-Ved efterfølgende 'info' argumenter og 'info locals' kommandoer vises de lokale 

-variable og argumenterne for den valgte ramme.

-Læs mere under 'down' og 'bt' 

-

-[handle]

-

-Angiv hvordan fdb skal håndtere fejl i Flash Player.

-Eksempler:

-  handle recursion_limit stop

-    Vis en meddelelse i fdb, og stop som om et pausepunkt er nået når der 

-    opstår en recursion_limit-fejl.

-  handle all print nostop

-    Vis en meddelelse i fdb når der opstår en fejl, men stop ikke.

-Første argument er et navn på fejlen eller 'all'.

-Yderligere argumenter er handlinger der vedrører fejlen.

-Hvis du vil se navne på fejl, skal du skrive 'info handle'.

-Mulige handlinger er print/noprint og stop/nostop.

-Med 'print' skrives der en meddelelse hvis fejlen opstår.

-Med 'stop' åbnes fejlfinding igen hvis fejlen opstår. Medfører 'print'.

-

-[help]

-

-Har du ikke brugt fdb før? Du kan få grundlæggende oplysninger ved at skrive 

-'tutorial'.

-Liste over kommandoer i fdb:

-bt (bt)             Skriv tilbagesporing af alle stakrammer

-break (b)           Indsæt pausepunkt ved angivne linje eller funktion

-catch (ca)          Stands når der opstår en undtagelse

-cf (cf)             Vis navn og nummer på den nuværende fil

-clear (cl)          Slet pausepunkt ved angivne linje eller funktion

-condition (cond)    Anvend/fjern betinget udtryk fra et pausepunkt

-continue (c)        Fortsæt afvikling efter at have stoppet ved pausepunkt

-commands (com)      Angiver de kommandoer der skal afvikles når et pausepunkt 

-                    nås

-delete (d)          Slet pausepunkter eller auto-display-udtryk

-directory (dir)     Føj en mappe til søgningen efter kildefiler

-disable (disab)     Deaktiver pausepunkter eller auto-display-udtryk

-disassemble (disas)       Opdel kildelinjer eller funktioner

-display (disp)      Tilføj et auto-display-udtryk

-enable (e)          Aktiver pausepunkter eller auto-display-udtryk

-file (fil)          Vælg en applikation at køre fejlfinding i.

-finish (f)          Eksekver indtil den valgte funktion returnerer

-handle (han)        Angiv hvordan fejl skal håndteres

-help (h)            Vis hjælp til fdb-kommandoer

-home (ho)           Angiv listeplacering der hvor afviklingen standsede

-info (i)            Vis oplysninger om programmet der undersøges for fejl

-kill (k)            Afbryd afviklingen af programmet der undersøges for fejl

-list (l)            Vis liste for den angivne funktion eller linje

-next (n)            Spring i program

-print (p)           Skriv værdien af variablen EXP

-pwd (pw)            Skriv arbejdsmappen

-quit (q)            Afslut fdb

-run (r)             Start det program der blev kørt fejlfinding i

-set (se)            Angiv værdien for en variabel

-source (so)         Læs fdb-kommandoer fra en fil

-step (s)            Spring i program indtil der nås en anden kildelinje

-tutorial (t)        Vis en vejledning om at bruge fdb

-undisplay (u)       Fjern et auto-display-udtryk

-viewswf (v)         Angiv eller fjern filter for filvisning baseret på swf

-watch (wa)          Føj et overvågningspunkt til en given variabel

-what (wh)           Viser konteksten for en variabel

-where (w)           Samme som bt

-Skriv 'help' efterfulgt af navnet på en kommando for at få vist alle 

-oplysninger.

-

-[home]

-

-Angiv listeplaceringen dér hvor afviklingen standsede.

-

-[info]

-

-Generisk kommando til at vise oplysninger om det program der findes fejl i.

-Liste over underkommandoer til info:

-info arguments (i a)    Argumentvariable for nuværende stakramme

-info breakpoints (i b)  Status for brugerdefinerbare pausepunkter

-info display (i d)      Vis liste over alle auto-display-udtryk

-info files (i f)        Navne på mål og filer der findes fejl i

-info functions (i fu)   Navne på alle funktioner

-info handle (i h)       Angiver hvordan fejl håndteres

-info locals (i l)       Lokale variable for nuværende stakramme

-info scopechain (i sc)  Virkefeltet (scope chain) for nuværende stakramme

-info sources (i so)     Kildefiler i programmet

-info stack (i s)        Tilbagesporing af stakken

-info swfs (i sw)        Liste over swf-filer i denne session

-info targets(i t)       Angiver hvilken applikation der søges efter fejl i

-info variables (i v)    Navne på alle globale og statiske variable

-Skriv 'help info' efterfulgt af navnet på en info-underkommando for at få vist 

-alle oplysninger.

-

-[info arguments]

-

-Vis argumenter for nuværende stakramme.

-

-[info breakpoints]

-

-Vis status for alle pausepunkter og overvågningspunkter.

-I kolonnen Type står der enten:

-   breakpoint   - almindeligt pausepunkt

-   watchpoint   - overvågningspunkt

-I kolonnen Disp står der 'keep', 'del' eller 'dis' alt efter hvad der skal ske 

-med pausepunktet, når det nås. Hvis der står 'dis', deaktiveres pausepunktet. 

-Står der 'del', bliver det slettet.  

-I kolonnerne 'Address' og 'What' angives hhv. adressen og fil-/linjenummeret. 

-

-[info display]

-

-Vis liste over alle auto-display-udtryk og deres numre.

-

-[info files]

-

-Vis navne og numre på filerne i det program der søges efter fejl i, inklusive 

-kildefiler, framework-filer og automatisk genererede filer.

-Eksempler:

-  info files

-    Viser en liste over alle filer, i alfabetisk rækkefølge efter kategori

-  info files my

-  info files my*

-    Viser en liste over alle de filer hvis navn starter med "my", i alfabetisk 

-    rækkefølge.

-  info files *.as

-    Viser en liste over alle de filer hvis navn slutter med ".as", i alfabetisk 

-    rækkefølge.

-  info files *foo*

-    Viser en liste over alle de filer hvis navn indeholder "foo", i alfabetisk 

-    rækkefølge. 

-Filerne vises i formatet navn#N, hvor N er filens nummer.

-I mange kommandoer kan du bruge #N i stedet for filnavnet.

-

-[info functions]

-

-Vis navne på funktioner.

-Eksempler:

-  info functions .

-    Vis alle funktioner i den nuværende fil.

-  info functions myapp.mxml

-    Vis alle funktioner i myapp.mxml.

-  info functions #3

-    Vis alle funktioner i fil nr. 3.

-  info functions

-    Viser alle funktioner i alle filer.

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Forkortede filnavne accepteres hvis de er entydige.

-

-[info handle]

-

-Hvad fdb gør når der opstår en fejl i Flash Player.

-Eksempler:

-  info handle

-    Vis hvordan fdb håndterer alle fejl.

-  info handle recursion_limit

-    Vis hvordan fdb håndterer en recursion_limit-fejl.

-

-[info locals]

-

-Vis lokale variable for nuværende stakramme.

-

-[info scopechain]

-

-Vis virkefelt for nuværende stakramme.  Virkefeltet er listen over objekter der 

-søges i når Flash Player forsøger at fortolke et symbolnavn.

-

-[info sources]

-

-Vis navne og numre på kildefilerne i det program der søges efter fejl i. 

-Framework-filer og automatisk genererede filer er ikke inkluderet.

-Filerne vises i formatet navn#N, hvor N er filens nummer.

-I mange kommandoer kan du bruge #N i stedet for filnavnet.

-

-[info stack]

-

-Tilbagesporing af stakken.

-

-[info swfs]

-

-Vis swf-filer der kendes i fejlfindings-sessionen.  Kig under kommandoen 

-'viewswf' hvis du vil have oplysninger om hvordan fillisten kan filtreres efter 

-swf-filnavn. 

-

-[info targets]

-

-Vis URL-adressen (http: eller file:) til den applikation der søges efter fejl i.

-

-[info variables]

-

-Vis navne og værdier på alle globale og statiske variable.

-

-[info ?]

-

-Udefineret info-kommando. Du kan få hjælp ved at skrive 'help info'

-

-[kill]

-

-Afbryd afviklingen af programmet der undersøges for fejl.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[list]

-

-Vis en liste over linjer med kode i en kildefil.

-Eksempler:

-  list

-    Viser yderligere ti linjer i den nuværende fil, efter eller omkring den 

-    tidligere viste linje.

-  list -

-    Viser de ti linjer i den nuværende fil, der står inden de tidligere viste.

-  list 87

-    Viser ti linjer omkring linje 87 i den nuværende fil.

-  list 87 102

-    Viser linje 87 – 102 i den nuværende fil.

-Ud over at bruge enkle linjenumre som vist ovenfor, kan du udpege linjer på syv 

-andre måder:

-  doThis

-      Den første linje af funktionen doThis() i den nuværende fil.

-   myapp.mxml

-      Linje 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Den første linje af funktionen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Linje 56 i myapp.mxml.

-   #3

-      Linje 1 i fil nr. 3.

-   #3:doOther

-      Linjen i fil nr. 3 hvor funktionen doOther() begynder.

-   #3:29

-      Linje 29 i fil nr. 3.

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Hvis du vil se funktionernes navne, skal du skrive 'info functions'.

-Forkortede filnavne og funktionsnavne accepteres hvis de er entydige.

-Når du får en fil vist, bliver den også valgt som den nuværende fil. (Læs mere 

-under kommandoen 'cf').

-

-[next]

-

-Spring i programmet, gennem kald fra underrutiner.

-  next

-    Spring en enkelt gang.

-  next 3

-    Spring 3 gange eller indtil programmet stopper af en anden grund.

-Fungerer som kommandoen 'step' så længe der ikke sker kald fra underrutiner. 

-Hvis der gør, behandles kaldet som én instruktion.

-

-[print]

-

-Skriv værdien af variablen eller udtrykket.

-Eksempler:

-  print i

-    Skriv værdien for 'i'.

-  print employee.name

-    Skriv værdien for 'employee.name'.

-  print employee

-    Skriv værdien for objektet 'employee'.

-    Der skrives muligvis noget i stil med [Object 10378].

-  print employee.

-    Skriv værdierne for alle egenskaber for objektet 'employee'.

-  print *employee

-    Skriv værdierne for alle egenskaber for objektet 'employee'.

-    Præfikset * fungerer på samme måde som suffikset '.' (punktum).

-  print #10378.

-    Skriv værdierne for alle egenskaber for objekt nr. 10378.

-Der kan bruges variable fra det leksikale miljø for den valgte stakramme, plus 

-de variable hvis virkefelt er globalt eller en hel fil.

-

-[pwd]

-

-Skriv den nuværende arbejdsmappe.

-Det er den mappe som fdb blev kørt fra; den kan ikke ændres fra fdb. Argumentet 

-for 'run' og 'source' kan angives i forhold til denne mappe.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[quit]

-

-Afslut fdb.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[run]

-

-Start en fejlfindings-session.

-Eksempler:

-  run http://www.mysite.com/myapp.mxml

-    Kører den angivne MXML-applikation.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Kører den lokale SWF-fil myapp.swf som kan angives

-	enten i forhold til den nuværende mappe (læs mere under kommandoen 

-        'pwd')

-	eller med en komplet sti. I disse tilfælde skal myapp.swd (filen der 

-indeholder fejlfindingsoplysninger) også ligge i den samme mappe som myapp.swf.

-  run

-    Kør applikationen der tidligere blev angivet med kommandoen 'file'.

-    Hvis der ikke er angivet nogen applikation, venter fdb indtil der er en der 

-    har etableret forbindelse. Hvis det ikke sker, opstår der timeout.

-Applikationen kan startes i et browser- eller Flash Player-vindue med 'run'.

-Så snart applikationen startes, åbnes fdb så du kan angive pausepunkter osv.

-

-På Macintosh-computere understøttes kommandoen 'run' kun uden argumenter.  

-Du skal derefter manuelt starte Flash Player.

-

-[set]

-

-Angiv værdien for en variabel eller en simpel variabel.

-Simple variable er variable der kun findes indenfor fdb; de er ikke en del af 

-dit program.

-Simple variable har fortegnet '$' og kan have ethvert navn der ikke er benyttes 

-med eksisterende variable.  Eksempel: $myVar.  Simple variable bruges også til 

-at styre diverse dele af fdb.  

-

-Følgende simple variable bruges af fdb.

-$listsize          - antallet af kildelinjer der skal vises med 'list'

-$columnwrap        - nummeret på den kolonne som outputtet skal ombrydes i

-$infostackshowthis - hvis værdien er 0, vises 'this' ikke i tilbagesporing af 

-                     stakken

-$invokegetters     - hvis værdien er 0, forhindres fdb i at udløse 

-                     hentefunktioner

-$bpnum             - nummeret på det senest definerede pausepunkt

-$displayattributes - hvis værdien er 1, viser 'print var.' alle attributter for 

-                     'var' (fx privat, statisk etc.)

-

-Eksempler:

-  set i = 3

-    Definerer variablen 'i' som tallet 3.

-  set employee.name = "Susan"

-    Definerer variablen 'employee.name' som strengen "Susan".

-  set $myVar = 20

-    Definerer den simple variabel '$myVar' som tallet 20

-

-[show]

-

-Generisk kommando til at vise statusoplysninger om fdb.

-Liste over underkommandoer til 'show':

-show break (sh b)       Sted og begrundelse for standsning af afvikling

-show directories (sh d) Mapper hvori der skal søges efter kildefiler

-show files (sh f)       Målfiler og stier

-show functions (sh fu)  Tilknytningsoplysninger for funktionslinjen 

-show locations (sh l)   Placering af pausepunkter

-show memory (sh m)      Nuværende hukommelsesforbrug

-show net (sh n)         Meddelelsesstatistik for afspiller 

-show properties (sh p)  Værdier for egenskaber

-show uri (sh u)         Afspillerens URI for denne session 

-show variable (sh v)    Henter selve variablen

-Skriv 'help show' efterfulgt af navnet på en show-underkommando for at få vist 

-alle oplysninger.

-

-[show break]

-

-Vis hvor i swf-filen programmet standsede

-

-[show directories]

-

-Vis den nuværende sti til søgning efter kildefiler.

-

-[show files]

-

-Vis stier og filnavne for alle målfilerne

-

-[show functions]

-

-Vis oplysninger om sammenknytning af funktioner og linjenumre.

-Eksempler:

-  show functions .

-    Viser tilknytningsoplysninger for alle funktioner i den nuværende fil.

-  show functions myapp.mxml

-    Viser tilknytningsoplysninger for alle funktioner i myapp.mxml.

-  show functions #3

-    Viser tilknytningsoplysninger for alle funktioner i fil nr. 3.

-  show functions

-    Viser tilknytningsoplysninger for alle funktioner i alle filer.

-Hvis du vil have vist filernes navne og numre, skal du skrive 'info sources' 

-eller 'info files'.

-Forkortede filnavne accepteres hvis de er entydige.

-

-[show locations]

-

-Viser en liste over de placeringer der et angivet for hvert pausepunkt

-

-[show memory]

-

-Vis hukommelsesstatistik for Java VM.

-

-[show net]

-

-Vis oplysninger om meddelelser der er blevet sendt til eller modtaget fra Flash 

-Player.

-

-[show properties]

-

-Viser en liste over de simple variable der bruges af fejlfinding 

-

-[show uri]

-

-Vis den URI som afspilleren har sendt for denne session.

-

-[show variable]

-

-Vis værdien for medlemmer af en variabel.  Der kræves to parametre. den første 

-er til at identificere variablen numerisk, den anden er navnet på egenskaben 

-for variablen.  Den simple variabel $invokegetters bruges til at bestemme om 

-funktionen til at hente egenskaber skal udløses – under forudsætning af at den 

-findes.

-Eksempel:

-    show variable 1 __proto__

-

-[show ?]

-

-Udefineret show-kommando. Du kan få hjælp ved at skrive 'help show'

-

-[source]

-

-Læs fdb-kommandoer fra en fil, og eksekver dem.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Læser mycommands.txt og afvikler fdb-kommandoerne deri.

-    Filen der indeholder kommandoerne, kan angives enten

-	i forhold til den nuværende mappe (læs mere under kommandoen 'pwd')

-	eller med en komplet sti.

-På den måde indlæses filen .fdbinit automatisk når fdb startes.

-Der ledes kun efter .fdbinit i den nuværende mappe. Det betyder at du kan have 

-flere forskellige .fdbinit-filer liggende til forskellige lejligheder.

-

-[step]

-

-Spring i programmet indtil der nås en anden kildelinje.

-Eksempler:

-  step

-    Spring en enkelt gang.

-  step 3

-    Spring 3 gange eller indtil programmet stopper af en anden grund.

-

-[tutorial]

-

-Vis en vejledning til brug af fdb.

-Denne kommando kan ikke bruges sammen med argumenter.

-

-[Tutorial]

-

-En typisk fdb-session:

-Start en applikation med 'run'.

-Få filnavne vist med 'info sources'.

-Få vist en fil med 'list'.

-Angiv pausepunkter med 'break'.

-Eksekver program med 'continue' indtil der nås et pausepunkt.

-Undersøg programmets status med 'where', 'print' og 'info locals'.

-Eksekver individuelle udsagn med 'next', 'step' og 'finish'.

-Genoptag afvikling med 'continue'.

-Afslut fdb med 'quit'.

-

-[undisplay]

-

-Fjern et eller flere auto-display-udtryk.

-Eksempler:

-  undisplay

-    Fjern alle auto-display-udtryk.

-  undisplay 2 7

-    Fjern auto-display-udtryk nr. 2 og nr. 7.

-Hvis du vil se en liste over auto-display-udtrykkene og deres numre, skal du 

-skrive 'info display'.

-

-[up]

-

-Vælg og skriv stakrammen der kaldte denne.

-Ved efterfølgende 'info'-argumenter og 'info locals'-kommandoer vises de lokale 

-variable og argumenterne for den valgte ramme.

-Læs mere under 'down' og 'frame'

-

-[viewswf]

-

-Angiver eller fjerner filter for filvisning (dvs. 'info files' og 'info 

-sources') baseret på swf-filens navn 

-Hvis der ikke angives nogen parametre, vises alle filer.  Hvis samme fil findes 

-i flere swf-filer, er det kun den første forekomst af filen der vises.  Du kan 

-gå direkte til andre forekomster af filen ved at bruge filens nummer (fx 'list 

-#192') eller ved at bruge kommandoen med en parameter (læs mere herunder) for 

-at vise filer fra en bestemt swf-fil.  Hvis du angiver swf-filens navn med en 

-enkelt parameter, som vist med kommandoen 'info swfs', er det kun filerne fra 

-den angivne swf-fil som vises.  

-Filer fra andre swf-filer bliver ikke vist.  Kommandoen har også indflydelse på 

-kommandoer der accepterer en fil som parameter (fx 'break')

-Eksempel:

-  viewswf myApp.mxml.swf

-    Der bliver kun vist filer fra myApp.mxml.sfw.

-  viewswf 

-    Alle filer fra alle swf-filer bliver vist.

- 

-[watch]

-

-Føj et overvågningspunkt til en given variabel. Fejlfinding standser 

-afviklingen når variablens værdi ændres.

-Eksempel:

-  watch foo

-

-[what]

-

-Viser hvilken kontekst variablen fortolkes i. 

-

-[where]

-

-Tilbagesporing af stakken.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_en.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_en.txt
deleted file mode 100644
index a1b1b8f..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_en.txt
+++ /dev/null
@@ -1,828 +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.
-
-
-This file contains the text displayed by the 'help' command in fdb.
-
-It is divided into "topics". For example, when an fdb user types
-'help break', the [break] topic below is displayed.
-
-The first and last lines of each topic should be blank.
-They don't get displayed in fdb; they are here only
-to make this file more easily readable.
-
-Help text should be formatted to not wrap
-when displayed on an 80-character-wide console.
-The following line is 80 characters wide.
-
---------------------------------------------------------------------------------
-
-[?]
-
-Undefined command. Do just 'help' to see a list of all fdb commands.
-
-[break]
-
-Set breakpoint at specified line or function.
-Examples:
-  break 87
-    Sets a breakpoint at line 87 of the current file.
-  break myapp.mxml:56
-    Sets a breakpoint at line 56 of myapp.mxml.
-  break #3:29
-    Sets a breakpoint at line 29 of file #3.
-  break doThis
-    Sets a breakpoint at function doThis() in the current file.
-  break myapp.mxml:doThat
-    Sets a breakpoint at function doThat() in file myapp.mxml.
-  break #3:doOther
-    Sets a breakpoint at function doOther() in file #3.
-  break
-   Sets a breakpoint at the current execution address in the
-   current stack frame. This is useful for breaking on return
-   to a stack frame.
-To see file names and numbers, do 'info sources' or 'info files'.
-To see function names, do 'info functions'.
-Abbreviated file names and function names are accepted if unambiguous.
-If line number is specified, break at start of code for that line.
-If function is specified, break at start of code for that function.
-See 'commands' and 'condition' for further breakpoint control.
-
-[bt]
-
-Backtrace of the stack.
-
-[catch]
-
-Halt when an exception is thrown.  This only affects caught
-exceptions -- that is, exceptions that are going to be handled
-by a "catch" block.  Uncaught exceptions always halt in the
-debugger.
-
-Use the "delete" command to delete a catchpoint.
-
-Examples:
-  catch *
-    Halts when any exception is thrown.
-  catch ReferenceError
-    Halts whenever a ReferenceError is thrown, whether
-    caught or uncaught.
-
-[cf]
-
-Display the name and number of the current file
-or change the current file.
-Examples:
-  cf
-    Displays the name and number of the current file.
-  cf myapp.mxml
-    Changes the current file to myapp.mxml.
-  cf #29
-    Changes the current file to file #29.
-To see file names and numbers, do 'info sources' or 'info files'.
-Abbreviated file names are accepted if unambiguous.
-Listing a file with 'list' also makes that file the current file.
-
-[clear]
-
-Clear breakpoint at specified line or function.
-Examples:
-  clear 87
-    Clears the breakpoint at line 87 of the current file.
-  clear myapp.mxml:56
-    Clears the breakpoint at line 56 of myapp.mxml.
-  clear #3:29
-    Clears the breakpoint at line 29 of file #3.
-  clear doThis
-    Clears the breakpoint at function doThis() in the current file.
-  clear myapp.mxml:doThat
-    Clears the breakpoint at function doThat() in file myapp.mxml.
-  clear #3:doOther
-    Clears the breakpoint at function doOther() in file #3.
-  clear
-    Clears breakpoint of the current line in the current file. 
-To see file names and numbers, do 'info sources' or 'info files'.
-To see function names, do 'info functions'.
-Abbreviated file names and function names are accepted if unambiguous.
-If line number is specified, all breakpoints in that line are cleared.
-If function is specified, breakpoints at beginning of function are cleared.
-
-[continue]
-
-Continue execution after stopping at breakpoint.
-This command takes no arguments.
-
-[condition]
-
-
-Specify breakpoint number N to break only if COND is true.
-Usage is `condition N COND', where N is an integer and COND is an
-expression to be evaluated whenever breakpoint N is reached.
-
-[commands]
-
-Set commands to be executed when a breakpoint is hit.
-Give breakpoint number as argument after `commands`.
-With no argument, the targeted breakpoint is the last one set.
-The commands themselves follow starting on the next line.
-Type a line containing "end" to indicate the end of them.
-Give "silent" as the first line to make the breakpoint silent;
-then no output is printed when it is hit, except what the commands print.
-Example:
-  (fdb) commands
-  Type commands for when breakpoint 1 is hit, one per line.
-  End with a line saying just 'end'.
-  >w
-  >end
-
-[connect]
-
-Connect to the debugging player listening on a port.
-The only player that currently listens for debug connections
-is mobile specific, others always connect.
-
-Examples:
-  connect
-    Connect to the debug player listening on port 7936.
-  connect 7938
-    Connect to the debug player listening on port 7938.
-    
-[worker]
-
-Set the active worker to which subsequent debugger 
-commands are sent to. Use info workers to query the
-list of workers. id of the main thread is 0.
-
-Examples:
-  worker 3
-    Set the active worker to worker with id 3        
-
-[delete]
-
-Delete one or more breakpoints.
-Examples:
-  delete
-    Deletes all breakpoints.
-  delete 2 5
-    Deletes breakpoints #2 and #5.
-To see breakpoint numbers, do 'info breakpoints'.
-
-[directory]
-
-Modify the list of directories in which fdb searches for source files.
-
-Examples:
-
-  directory
-    Restores list to the default, which is the directory in which the source
-    file was compiled into object code, followed by the current working
-    directory.
-
-  directory C:\MySource        (Windows)
-  directory /MySource          (Mac)
-    Adds the specified directory to the beginning of the list of directories
-    which will be searched for source.  When looking for the source for class
-    mypackage.MyClass, for example, the debugger would look for both
-    C:\MySource\mypackage\MyClass.as and C:\MySource\MyClass.as.
-
-  directory C:\Dir1;C:\Dir2    (Windows -- use ';' as separator)
-  directory /Dir1:/Dir2        (Mac -- use ':' as separator)
-    Adds several directories to the beginning of the list of directories
-    which will be searched for source.
-
-To see the current list, do 'show directories'.
-
-[disable]
-
-Disable one or more breakpoints or auto-display expressions.
-Examples:
-  disable
-  disable breakpoints
-    Disables all breakpoints.
-  disable 2 5
-  disable breakpoints 2 5
-    Disables breakpoints #2 and #5.
-  disable display
-    Disables all auto-display expressions.
-  disable display 1 3
-    Disables auto-display expressions #1 and #3.
-To see breakpoint numbers, do 'info breakpoints'.
-To see auto-display expression numbers, do 'info display'.
-
-[disassemble]
-
-(ActionScript 2 only; not supported when debugging ActionScript 3)
-
-Disassemble a specified portion of source code.
-The default is the current listing line.
-Arguments supported are the same as with the list command
-Examples:
-  disassemble 87
-    Disassembles line 87 in the current file.
-  disassemble 87 102
-    disassembles lines 87 to 102 in current file.
-  disassemble doThis
-      Disassembles the function doThis() in the current file.
-In addition to using simple line numbers as above, you can specify lines
-in additional ways:
-   myapp.mxml
-      Line 1 in myapp.mxml.
-   myapp.mxml:doThat
-      The first line of function doThat() in myapp.mxml.
-   myapp.mxml:56
-      Line 56 in myapp.mxml.
-   #3
-      Line 1 in file #3.
-   #3:doOther
-      The line in file #3 where the function doOther() begins.
-   #3:29
-      Line 29 in file #3.
-
-[display]
-
-Add an expression to the list of auto-display expressions.
-Example:
-  display employee.name
-    Add 'employee.name' to the list of auto-display expressions.
-    Every time fdb stops, the value of employee.name will be displayed.
-The argument for this command is similar to that for 'print'.
-To see the list of auto-display expressions and their numbers,
-do 'info display'.
-
-[down]
-
-Select and print stack frame called by this one.
-Subsequent 'info arguments' and 'info locals' commands will display
-the locals and arguments of the selected frame.
-See 'up' and 'frame' 
-
-[enable]
-
-Enable one or more breakpoints or auto-display expressions.
-Examples:
-  enable
-  enable breakpoints
-    Enables all breakpoints.
-  enable 2 5
-  enable breakpoints 2 5
-    Enables breakpoints #2 and #5.
-  enable display
-    Enables all auto-display expressions.
-  enable display 1 3
-    Enables auto-display expressions #1 and #3.
-To see breakpoint numbers, do 'info breakpoints'.
-To see auto-display expression numbers, do 'info display'.
-
-[file]
-
-Specify an application to be debugged, without starting it.
-Examples:
-  file http://www.mysite.com/myapp.mxml
-    Specify an MXML application to be debugged.
-  file myapp.swf
-    Specify a local SWF file to be debugged, in the current directory.
-    In this case myapp.swd (the file containing the debugging information)
-    must also exist in the current directory.
-This command does not actually cause the application to start;
-use the 'run' command with no argument to start debugging the application.
-Instead of using 'file <target>' and then 'run', you can simply specify the
-application to be debugged as an argument of 'run':
-  run http://mysite.com/myapp.mxml
-  run myapp.swf
-You can also specify the application to be debugged
-as a command-line argument when you start fdb:
-  fdb http://www.mysite.com/myapp.mxml
-  fdb myapp.swf
-In this case you do not need to use either 'file' or 'run'.
-If you 'run' without specifying an application to debug,
-fdb will wait for any application to connect to it.
-
-[finish]
-
-Execute until current function returns.
-This command takes no arguments.
-
-[frame]
-
-Select and print a particular stack frame.
-This command takes an optional argument, a frame number.
-If no argument is provided default is to return
-to the current top frame (i.e. frame 0).
-Examples:
-  frame 4
-  frame
-Subsequent 'info arguments' and 'info locals' commands will display
-the locals and arguments of the selected frame.
-See 'up' and 'down' and 'bt' 
-
-[handle]
-
-Specify how fdb should handle a fault in the Flash Player.
-Examples:
-  handle recursion_limit stop
-    When a recursion_limit fault occurs, display message in fdb
-    and stop as if at breakpoint.
-  handle all print nostop
-    When any kind of fault occurs, display message in fdb but don't stop.
-First argument is a fault name or 'all'.
-Additional arguments are actions that apply to that fault.
-To see fault names, do 'info handle'.
-Actions are print/noprint and stop/nostop.
-'print' means print a message if this fault happens.
-'stop' means reenter debugger if this fault happens. Implies 'print'.
-
-[help]
-
-New to fdb? Do 'tutorial' for basic info.
-List of fdb commands:
-bt (bt)             Print backtrace of all stack frames
-break (b)           Set breakpoint at specified line or function
-catch (ca)          Halt when an exception is thrown
-cf (cf)             Display the name and number of the current file
-clear (cl)          Clear breakpoint at specified line or function
-condition (cond)    Apply/remove conditional expression to a breakpoint
-connect (con)       Connect to debug player
-continue (c)        Continue execution after stopping at breakpoint
-commands (com)      Sets commands to execute when breakpoint hit
-delete (d)          Delete breakpoints or auto-display expressions
-directory (dir)     Add a directory to the search path for source files
-disable (disab)     Disable breakpoints or auto-display expressions
-disassemble (disas) Disassemble source lines or functions
-display (disp)      Add an auto-display expressions
-enable (e)          Enable breakpoints or auto-display expressions
-file (fil)          Specify application to be debugged.
-finish (f)          Execute until current function returns
-handle (han)        Specify how to handle a fault
-help (h)            Display help on fdb commands
-home (ho)           Set listing location to where execution is halted
-info (i)            Display information about the program being debugged
-kill (k)            Kill execution of program being debugged
-list (l)            List specified function or line
-next (n)            Step program
-print (p)           Print value of variable EXP
-pwd (pw)            Print working directory
-quit (q)            Exit fdb
-run (r)             Start debugged program
-set (se)            Set the value of a variable
-source (so)         Read fdb commands from a file
-step (s)            Step program until it reaches a different source line
-tutorial (t)        Display a tutorial on how to use fdb
-undisplay (u)       Remove an auto-display expression
-viewswf (v)         Set or clear filter for file listing based on swf
-watch (wa)          Add a watchpoint on a given variable
-what (wh)           Displays the context of a variable
-where (w)           Same as bt
-worker (wo)         Set active worker
-Type 'help' followed by command name for full documentation.
-
-[home]
-
-Set the listing location to where execution is halted.
-
-[info]
-
-Generic command for showing things about the program being debugged.
-List of info subcommands:
-info arguments (i a)    Argument variables of current stack frame
-info breakpoints (i b)  Status of user-settable breakpoints
-info display (i d)      Display list of auto-display expressions
-info files (i f)        Names of targets and files being debugged
-info functions (i fu)   All function names
-info handle (i h)       How to handle a fault
-info locals (i l)       Local variables of current stack frame
-info scopechain (i sc)  Scope chain of current stack frame
-info sources (i so)     Source files in the program
-info stack (i s)        Backtrace of the stack
-info swfs (i sw)        List of swfs in this session
-info targets(i t)       Application being debugged
-info variables (i v)    All global and static variable names
-info workers (i w)      List all workers
-Type 'help info' followed by info subcommand name for full documentation.
-
-[info arguments]
-
-Display arguments of current stack frame.
-
-[info breakpoints]
-
-Display status of all breakpoints and watchpoints.
-The Type column indicates one of:
-   breakpoint   - normal breakpoint
-   watchpoint   - watchpoint
-The Disp column contains one of 'keep', 'del', or 'dis' to indicate
-the disposition of the breakpoint after it gets hit. 'dis' means that the
-breakpoint will be disabled, while 'del' means it will be deleted.  
-The 'Address' and 'What' columns indicate the address and file/line
-number respectively. 
-
-[info display]
-
-Display list of auto-display expressions and their numbers.
-
-[info files]
-
-Display names and numbers of the files for the application being debugged,
-including source files, framework files and autogenerated files.
-Examples:
-  info files
-    Lists all files, alphabetically by category
-  info files my
-  info files my*
-    Lists all files whose names start with "my", alphabetically.
-  info files *.as
-    Lists all files whose names end with ".as", alphabetically.
-  info files *foo*
-    Lists all files whose names contain "foo", alphabetically. 
-Files are displayed in name#N format, where N is the file number.
-In many commands you can use #N in place of a file name.
-
-[info functions]
-
-Display function names.
-Examples:
-  info functions .
-    Display all functions in the current file.
-  info functions myapp.mxml
-    Display all functions in myapp.mxml.
-  info functions #3
-    Displays all functions in file #3.
-  info functions
-    Displays all functions in all files.
-To see file names and numbers, do 'info sources' or 'info files'.
-Abbreviated file names are accepted if unambiguous.
-
-[info handle]
-
-Display what fdb does when a fault occurs in the Flash Player.
-Examples:
-  info handle
-    Display how fdb handles all faults.
-  info handle recursion_limit
-    Display how fdb handles a recursion_limit fault.
-
-[info locals]
-
-Dislpay local variables of current stack frame.
-
-[info scopechain]
-
-Display the scope chain of the current stack frame.  The scope chain is
-the list of objects that is searched when the Flash player is trying
-to resolve a symbol name.
-
-[info sources]
-
-Display names and numbers of the source files for the application being
-debugged. Framework files and autogenerated files are not included.
-Files are displayed in name#N format, where N is the file number.
-In many commands you can use #N in place of a file name.
-
-[info stack]
-
-Backtrace of the stack.
-
-[info swfs]
-
-Display swfs that are known to the debugging session.  See
-the command 'viewswf' for details on how the file listing
-can be filtered based on swf name. 
-
-[info targets]
-
-Display the URL (http: or file:) of the application being debugged.
-
-[info variables]
-
-Display all global and static variable names and values.
-
-[info workers]
-
-Display all workers that have been started.
-
-[info ?]
-
-Undefined info command. Try 'help info'.
-
-[kill]
-
-Kill execution of program being debugged.
-This command takes no arguments.
-
-[list]
-
-List lines of code in a source file.
-Examples:
-  list
-    Lists ten more lines in current file after or around previous listing.
-  list -
-    Lists the ten lines in current file before a previous listing.
-  list 87
-    Lists ten lines in current file around line 87.
-  list 87 102
-    Lists lines 87 to 102 in current file.
-In addition to using simple line numbers as above, you can specify lines
-in seven additional ways:
-  doThis
-      The first line of function doThis() in the current file.
-   myapp.mxml
-      Line 1 in myapp.mxml.
-   myapp.mxml:doThat
-      The first line of function doThat() in myapp.mxml.
-   myapp.mxml:56
-      Line 56 in myapp.mxml.
-   #3
-      Line 1 in file #3.
-   #3:doOther
-      The line in file #3 where the function doOther() begins.
-   #3:29
-      Line 29 in file #3.
-To see file names and numbers, do 'info sources' or 'info files'.
-To see function names, do 'info functions'.
-Abbreviated file names and function names are accepted if unambiguous.
-Listing a file makes that file the current file. (See 'cf' command.)
-
-[next]
-
-Step program, proceeding through subroutine calls.
-  next
-    Step once.
-  next 3
-    Step 3 times, or until the program stops for another reason.
-Like the 'step' command as long as subroutine calls do not happen;
-when they do, the call is treated as one instruction.
-
-[print]
-
-Print value of variable or expression.
-Examples:
-  print i
-    Print the value of 'i'.
-  print employee.name
-    Print the value of 'employee.name'.
-  print employee
-    Print the value of the 'employee' Object.
-    This may simplay display something like [Object 10378].
-  print employee.
-    Print the values of all the properties of the 'employee' Object.
-  print *employee
-    Print the values of all the properties of the 'employee' Object.
-    The prefix * operator is the prefix alternative to the postfix . operator.
-  print #10378.
-    Print the values of all the properties of Object #10378.
-Variables accessible are those of the lexical environment of the selected
-stack frame, plus all those whose scope is global or an entire file.
-
-[pwd]
-
-Print the current working directory.
-This is the directory from which fdb was launched; it cannot be
-changed within fdb. The argument for 'run' and 'source' can be
-specified relative to this directory.
-This command takes no arguments.
-
-[quit]
-
-Exit fdb.
-This command takes no arguments.
-
-[run]
-
-Start a debugging session.
-Examples:
-  run http://www.mysite.com/myapp.mxml
-    Runs the specified MXML application.
-  run myapp.swf
-  run mydir\myapp.swf
-  run c:\mydir\myapp.swf
-    Runs the local SWF file myapp.swf, which can be specified
-	either relative to the current directory (see 'pwd' command)
-	or using an absolute path. In these cases, myapp.swd
-    (the file containing the debugging information) must also
-    exist in the same directory as myapp.swf.
-  run
-    Run the application previously specified by the 'file' command.
-    If no application has been specified, fdb will wait for one
-    to connect to it, and time out if none does so.
-'run' will start the application in a browser or standalone Flash Player.
-As soon as the application starts, it will break into fdb so that you can
-set breakpoints, etc.
-
-On the Macintosh, the only supported form of the command is 'run' with no
-arguments.  You must then manually launch the Flash player.
-
-[set]
-
-Set the value of a variable or a convenience variable.
-Convenience variables are variables that exist entirely 
-within fdb; they are not part of your program.
-Convenience variables are prefixed with '$' and can 
-be any name that does not conflict with any existing
-variable.  For example, $myVar.  Convenience variables
-are also used to control various aspects of fdb.  
-
-The following convenience variables are used by fdb.
-$listsize          - number of source lines to display for 'list'
-$columnwrap        - column number on which output will wrap
-$infostackshowthis - if 0, does not display 'this' in stack backtrace
-$invokegetters     - if 0, prevents fdb from firing getter functions
-$bpnum             - the last defined breakpoint number
-$displayattributes - if 1, 'print var.' displays all attributes of members
-                     of 'var' (e.g. private, static)
-
-Examples:
-  set i = 3
-    Sets the variable 'i' to the number 3.
-  set employee.name = "Susan"
-    Sets the variable 'employee.name' to the string "Susan".
-  set $myVar = 20
-    Sets the convenience variable '$myVar' to the number 20
-
-[show]
-
-Generic command for showing things about the state of fdb.
-List of show subcommands:
-show break (sh b)       Suspended execution location and reason
-show directories (sh d) Directories to be searched for source files
-show files (sh f)       Target files and paths
-show functions (sh fu)  Function line mapping information 
-show locations (sh l)   Breakpoint locations
-show memory (sh m)      Current memory usage
-show net (sh n)         Player message statistics 
-show properties (sh p)  Values of properties
-show uri (sh u)         Player's URI for this session 
-show variable (sh v)    Raw variable retrieval
-Type 'help show' followed by show subcommand name for full documentation.
-
-[show break]
-
-Display the offset within the SWF on which the program has halted
-
-[show directories]
-
-Display current search path for finding source files.
-
-[show files]
-
-Display path and file name for all of the target files
-
-[show functions]
-
-Display function-to-line-number mapping information.
-Examples:
-  show functions .
-    Shows mapping information for all functions in the current file.
-  show functions myapp.mxml
-    Shows mapping information for all functions in myapp.mxml.
-  show functions #3
-    Shows mapping information for all functions in file #3.
-  show functions
-    Shows mapping information for all functions in all files.
-To see file names and numbers, do 'info sources' or 'info files'.
-Abbreviated file names are accepted if unambiguous.
-
-[show locations]
-
-Displays the list of locations that are set for each breakpoint
-
-[show memory]
-
-Display Java VM memory statistics.
-
-[show net]
-
-Display information about messages that have been sent to,
-and received from, the Flash Player.
-
-[show properties]
-
-Displays a list of convenience variables used within debugger 
-
-[show uri]
-
-Display the URI that the player has sent for this session.
-
-[show variable]
-
-Display the value of a members of a variable.  Two parameters are
-required; the first is the numeric variable identifier, the second
-is the name of property on the variable.  The convenience variable
-$invokegetters is used to determine whether the property getter,
-assuming it exists, will be fired or not.
-Example:
-    show variable 1 __proto__
-
-[show ?]
-
-Undefined show command. Try 'help show'.
-
-[source]
-
-Read fdb commands from a file and execute them.
-  source mycommands.txt
-  source mydir\mycommands.txt
-  source c:\mydir\mycommands.txt
-    Reads mycommands.txt and executes the fdb commands in it.
-    The file containing the commands can be specified either
-	relative to the current directory (see 'pwd' command)
-	or using an absolute path.
-The file .fdbinit is read automatically in this way when fdb is started.
-Only the current directory is searched for .fdbinit. This means that
-you can have set up multiple .fdbinit files for different projects.
-
-[step]
-
-Step program until it reaches a different source line.
-Examples:
-  step
-    Step once.
-  step 3
-    Step 3 times, or until the program stops for another reason.
-
-[tutorial]
-
-Display a tutorial on how to use fdb.
-This command takes no arguments.
-
-[Tutorial]
-
-A typical fdb session:
-Start an application with 'run'.
-View file names with 'info sources'.
-List a file with 'list'.
-Set breakpoints with 'break'.
-Execute program with 'continue' until a breakpoint is hit.
-Examine state of program with 'where', 'print', 'info locals'.
-Execute individual statements with 'next', 'step', and 'finish'.
-Resume execution with 'continue'.
-Quit fdb with 'quit'.
-
-[undisplay]
-
-Remove one or more auto-display expressions.
-Examples:
-  undisplay
-    Remove all auto-display expressions.
-  undisplay 2 7
-    Remove auto-display expressions #2 and #7.
-To see the list of auto-display expressions and their numbers,
-do 'info display'.
-
-[up]
-
-Select and print stack frame that called this one.
-Subsequent 'info arguments' and 'info locals' commands will display
-the locals and arguments of the selected frame.
-See 'down' and 'frame'
-
-[viewswf]
-
-Sets or clears filter for file listing (i.e. 'info files' 
-and 'info sources'), based on swf name. 
-Without any parameters, all files will be shown.  If the same
-file exists in one or more swfs, the listing will only display
-the first instance of the file.  To access other instances
-of the file, use the file's number (e.g. 'list #192') or
-use this command with a parameter (see below) to display files
-from a specific swf.  With a single parameter, the swf name
-as displayed by the 'info swfs' command, only the files from
-the specified swf will be displayed in the file listing.  
-Files from other swfs will not be shown.  This command also 
-affects commands that accept a file as a parameter (e.g. 'break')
-Example:
-  viewswf myApp.mxml.swf
-    Only files from myApp.mxml.swf will be displayed.
-  viewswf 
-    All files from all swfs will be displayed.
- 
-[watch]
-
-Add a watchpoint on a given variable. The debugger will halt
-execution when the variable's value changes.
-Example:
-  watch foo
-
-[what]
-
-Displays the context in which a variable is resolved. 
-
-[where]
-
-Backtrace of the stack.
-
-[zzz]
-
-((( Keep this unused topic at the end of the file    )))
-((( so that the next-to-last one is parsed properly. )))
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_es.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_es.txt
deleted file mode 100644
index e50ee84..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_es.txt
+++ /dev/null
@@ -1,821 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Comando no definido. Escriba 'help' para ver una lista de todos los comandos 

-fdb.

-

-[break]

-

-Establecer punto de corte en función o línea especificada.

-Ejemplos:

-  break 87

-    Establece un punto de corte en la línea 87 del archivo actual.

-  break myapp.mxml:56

-    Establece un punto de corte en la línea 56 de myapp.mxml.

-  break #3:29

-    Establece un punto de corte en la línea 29 del archivo 3.

-  break doThis

-    Establece un punto de corte en la función doThis() del archivo actual.

-  break myapp.mxml:doThat

-    Establece un punto de corte en la función doThat() del archivo myapp.mxml.

-  break #3:doOther

-    Establece un punto de corte en la función doOther() del archivo 3.

-  break

-   Establece un punto de corte en la dirección de ejecución actual en marco de 

-   pila actual. Es útil para cortes al regresar a un marco de pila.

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Para ver nombres de función, escriba 'info functions'.

-Se aceptan nombres de archivo y función abreviados siempre que no sean ambiguos.

-Si se especifica número de línea, corte al inicio de código para esa línea.

-Si se especifica función, corte al inicio de código para esa función.

-Para más información sobre control de punto de corte, consulte 'commands' y 

-'condition'.

-

-[bt]

-

-Seguimiento regresivo de pila.

-

-[catch]

-

-Detener al emitirse una excepción.  Esto sólo afecta a excepciones detectadas 

-que se vayan a controlar mediante un bloque "catch".  Las excepciones no 

-detectadas siempre se detienen en el depurador.

-

-Use el comando "delete" para borrar un punto de detección.

-

-Ejemplos:

-  catch *

-    Se detiene al emitirse una excepción.

-  catch ReferenceError

-    Se detiene siempre que se produce una excepción ReferenceError, tanto si se 

-    detecta como si no.

-

-[cf]

-

-Mostrar el nombre y el número del archivo actual o cambiar el archivo actual.

-Ejemplos:

-  cf

-    Muestra el nombre y el número del archivo actual.

-  cf myapp.mxml

-    

-Cambia el archivo actual a myapp.mxml.

-  cf #29

-    Cambia el archivo actual a archivo 29.

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Se aceptan nombres de archivo abreviados siempre que no sean ambiguos.

-Si un archivo se define con 'list' también se convierte en actual.

-

-[clear]

-

-Borrar punto de corte en función o línea especificada.

-Ejemplos:

-  clear 87

-    Borra el punto de corte en la línea 87 del archivo actual.

-  clear myapp.mxml:56

-    Borra el punto de corte en la línea 56 de myapp.mxml.

-  clear #3:29

-    Borra el punto de corte en la línea 29 del archivo 3.

-  clear doThis

-    Borra el punto de corte en la función doThis() del archivo actual.

-  clear myapp.mxml:doThat

-    Borra el punto de corte en la función doThat() del archivo myapp.mxml.

-  clear #3:doOther

-    Borra el punto de corte en la función doOther() del archivo 3.

-  clear

-    Borra el punto de corte de la línea actual en el archivo actual. 

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Para ver nombres de función, escriba 'info functions'.

-Se aceptan nombres de archivo y función abreviados siempre que no sean ambiguos.

-Si se especifica número de línea, se borran todos los puntos de corte de esa 

-línea.

-Si se especifica función, se borran los puntos de corte al principio de la 

-función.

-

-[continue]

-

-Continuar ejecución tras detención en punto de corte.

-Este comando no admite argumentos.

-

-[condition]

-

-

-Especificar número N de punto de corte para corte sólo si COND es true.

-El uso es `condition N COND', donde N es un número entero y COND es una 

-expresión que se debe evaluar siempre que se alcanza el punto de corte N.

-

-[commands]

-

-Establecer comandos que ejecutar al llegar a un punto de corte.

-Indicar número de punto de corte como argumento tras `commands`.

-Sin argumento, el punto de corte relevante es el último establecido.

-Le siguen los comandos propiamente dichos, en la línea siguiente.

-Escriba una línea que contenga "end" para indicar el fin de los comandos.

-Indique "silent" como la primera línea para que el punto de corte sea 

-silencioso; de ese modo no se imprime nada al llegar al punto, a excepción de 

-lo que imprimen los comandos.

-Ejemplo:

-  (fdb) commands

-  Escriba comandos para cuando se alcance el punto de corte 1, uno por línea.

-  Termine con una línea que diga simplemente 'end'.

-  >w

-  >end

-

-[delete]

-

-Eliminar uno o varios puntos de corte.

-Ejemplos:

-  delete

-    Elimina todos los puntos de corte.

-  delete 2 5

-    Elimina los puntos de corte 2 y 5.

-Para ver números de punto de corte, escriba 'info breakpoints'.

-

-[directory]

-

-Modificar la lista de directorios en los que fdb buscará archivos de origen.

-

-Ejemplos:

-

-  directory

-    Restaura el directorio predeterminado de la lista; éste es el directorio en 

-    que el archivo de origen se ha compilado en código de objeto, seguido del 

-    directorio de trabajo actual.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Añade el directorio especificado al principio de la lista de directorios en 

-    que realizar las búsquedas de origen.  Por ejemplo, al buscar el origen de 

-    mypackage.MyClass, el depurador examinará tanto 

-    C:\MySource\mypackage\MyClass.as como C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows: usar ';' como separador)

-  directory /Dir1:/Dir2        (Mac: usar ':' como separador)

-    Añade varios directorios al principio de la lista de directorios en que 

-    realizar las búsquedas de origen.

-

-Para ver la lista actual, escriba 'show directories'.

-

-[disable]

-

-Desactivar uno o más puntos de corte o expresiones de visualización automática.

-Ejemplos:

-  disable

-  disable breakpoints

-    Desactiva todos los puntos de corte.

-  disable 2 5

-  disable breakpoints 2 5

-    Desactiva los puntos de corte 2 y 5.

-  disable display

-    Desactiva todas las expresiones de visualización automática.

-  disable display 1 3

-    Desactiva las expresiones de visualización automática 1 y 3.

-Para ver números de punto de corte, escriba 'info breakpoints'.

-Para ver números de expresiones de visualización automática, escriba 'info 

-display'.

-

-[disassemble]

-

-(ActionScript 2 sólo; no funciona al depurar ActionScript 3)

-

-Desensamblar una porción específica de código fuente.

-El valor predeterminado es la línea de lista actual.

-Los argumentos aceptados son los mismos que con el comando de lista

-Ejemplos:

-  disassemble 87

-    Desensambla la línea 87 en el archivo actual.

-  disassemble 87 102

-    Desensambla las líneas de la 87 a la 102 en el archivo actual.

-  disassemble doThis

-      Desensambla la función doThis() del archivo actual.

-Además de usar simplemente números de línea como arriba, puede especificar 

-líneas de otros modos:

-   myapp.mxml

-      Línea 1 en myapp.mxml.

-   myapp.mxml:doThat

-      La primera línea de la función doThat() en myapp.mxml.

-   myapp.mxml:56

-      Línea 56 en myapp.mxml.

-   #3

-      Línea 1 en el archivo 3.

-   #3:doOther

-      La línea del archivo 3 en que comienza la función doOther().

-   #3:29

-      Línea 29 en el archivo 3.

-

-[display]

-

-Añade una expresión a la lista de expresiones de visualización automática.

-Ejemplo:

-  display employee.name

-    Añadir 'employee.name' a la lista de expresiones de visualización 

-    automática.

-    Cada vez que fdb se detenga, se mostrará el valor de employee.name.

-El argumento para este comando es similar al usado para 'print'.

-Para ver la lista de expresiones de visualización automática y sus números, 

-escriba 'info display'.

-

-[down]

-

-Seleccionar e imprimir marco de pila llamado por este comando.

-Los comandos 'info arguments' y 'info locals' posteriores mostrarán las 

-variables locales y los argumentos del marco seleccionado.

-Consulte 'up' y 'frame' 

-

-[enable]

-

-Activar uno o más puntos de corte o expresiones de visualización automática.

-Ejemplos:

-  enable

-  enable breakpoints

-    Activa todos los puntos de corte.

-  enable 2 5

-  enable breakpoints 2 5

-    Activa los puntos de corte 2 y 5.

-  enable display

-    Activa todas las expresiones de visualización automática.

-  enable display 1 3

-    Activa las expresiones de visualización automática 1 y 3.

-Para ver números de punto de corte, escriba 'info breakpoints'.

-Para ver números de expresiones de visualización automática, escriba 'info 

-display'.

-

-[file]

-

-Especificar una aplicación que depurar, pero sin iniciarla.

-Ejemplos:

-  file http://www.mysite.com/myapp.mxml

-    Especificar una aplicación MXML que depurar.

-  file myapp.swf

-    Especificar un archivo SWF local que depurar, en el directorio actual.

-    En este caso myapp.swd (el archivo que contiene la información de 

-    depuración) también debe existir en el directorio actual.

-Este comando no inicia la aplicación; use el comando 'run' sin argumentos para 

-iniciar la depuración de la aplicación.

-En lugar de usar 'file <target>' y luego 'run', puede especificar la aplicación 

-que depurar como argumento de 'run':

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-También puede especificar la aplicación que depurar como argumento de línea de 

-comandos al iniciar fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-En este caso no es preciso usar 'file' ni 'run'.

-Si usa 'run' sin especificar una aplicación que depurar, fdb esperará a que se 

-conecte una aplicación cualquiera.

-

-[finish]

-

-Ejecutar hasta la devolución de la función actual.

-Este comando no admite argumentos.

-

-[frame]

-

-Seleccionar e imprimir un marco de pila concreto.

-Este comando admite un argumento opcional, un número de marco.

-Si no se suministra un argumento, se regresa de modo predeterminado al marco 

-superior actual (es decir frame 0).

-Ejemplos:

-  frame 4

-  frame

-Los comandos 'info arguments' e 'info locals' posteriores mostrarán las 

-variables locales y los argumentos del marco seleccionado.

-Consulte 'up', 'down' y 'bt' 

-

-[handle]

-

-Especificar la gestión de fallas por parte de fdb en Flash Player.

-Ejemplos:

-  handle recursion_limit stop

-    Cuando se produce una falla de tipo recursion_limit, mostrar mensaje en fdb 

-    y detener como si hubiera punto de corte.

-  handle all print nostop

-    Cuando se produce cualquier tipo de falla, mostrar mensaje en fdb pero no 

-    detener.

-El primer argumento es un nombre de falla o 'all'.

-Los argumentos adicionales son acciones aplicables a esa falla.

-Para ver nombres de falla, escriba 'info handle'.

-Las acciones son print/noprint y stop/nostop.

-'print' significa imprimir un mensaje si se produce esta falla.

-'stop' significa reactivar el depurador si se produce esta falla. Implica 

-'print'.

-

-[help]

-

-¿No ha usado fdb antes? Escriba 'tutorial' para obtener información básica.

-Lista de comandos fdb:

-bt (bt)             Imprimir seguimiento regresivo de todos los marcos de pila

-break (b)           Establecer punto de corte en función o línea especificada

-catch (ca)          Detener al emitirse una excepción

-cf (cf)             Mostrar el nombre y el número del archivo actual

-clear (cl)          Borrar punto de corte en función o línea especificada

-condition (cond)    Aplicar/eliminar expresión condicional a un punto de corte

-continue (c)        Continuar ejecución tras detención en punto de corte

-commands (com)      Establece comandos que ejecutar al llegar a un punto de 

-                    corte

-delete (d)          Eliminar puntos de corte o expresiones de visualización 

-                    automática

-directory (dir)     Agregar un directorio a una ruta de búsqueda de archivos de 

-                    origen

-disable (disab)     Desactivar puntos de corte o expresiones de visualización 

-                    automática

-disassemble (disas) Desensamblar funciones o líneas de origen

-display (disp)      Agregar una expresión de visualización automática

-enable (e)          Activar puntos de corte o expresiones de visualización 

-                    automática

-file (fil)          Especificar una aplicación que depurar

-finish (f)          Ejecutar hasta la devolución de la función actual

-handle (han)        Especificar cómo gestionar una falla

-help (h)            Mostrar ayuda para comandos fdb

-home (ho)           Establecer ubicación de lista en que detener ejecución

-info (i)            Mostrar información sobre el programa que se está depurando

-kill (k)            Cerrar el programa que se está depurando

-list (l)            Listar línea o función especificada

-next (n)            Avanzar programa

-print (p)           Imprimir valor de variable EXP

-pwd (pw)            Imprimir directorio de trabajo

-quit (q)            Cerrar fdb

-run (r)             Iniciar programa depurado

-set (se)            Establecer el valor de una variable

-source (so)         Leer comandos fdb de un archivo

-step (s)            Avanzar programa hasta llegar a una línea de origen 

-                    diferente

-tutorial (t)        Mostrar tutorial de uso de fdb

-undisplay (u)       Eliminar una expresión de visualización automática

-viewswf (v)         Establecer o borrar filtro para listado de archivos según 

-                    swf

-watch (wa)          Agregar punto de observación a una variable

-what (wh)           Muestra el contexto de una variable

-where (w)           Igual que bt

-Escriba 'help' seguido de un nombre de comando para acceder a información 

-exhaustiva.

-

-[home]

-

-Establecer ubicación de lista en que detener ejecución.

-

-[info]

-

-Comando genérico para mostrar datos sobre el programa que se está depurando.

-Lista de subcomandos de información:

-info arguments (i a)    Variables de argumento de marco de pila actual

-info breakpoints (i b)  Estado de puntos de corte definibles por usuario

-info display (i d)      Mostrar lista de expresiones de visualización automática

-info files (i f)        Nombres de objetivos y archivos que se van a depurar

-info functions (i fu)   Todos los nombres de función

-info handle (i h)       Cómo gestionar una falla

-info locals (i l)       Variables locales de marco de pila actual

-info scopechain (i sc)  Cadena de ámbito de marco de pila actual

-info sources (i so)     Archivos de origen en el programa

-info stack (i s)        Seguimiento regresivo de pila

-info swfs (i sw)        Lista de swf en esta sesión

-info targets(i t)       Aplicación que se está depurando

-info variables (i v)    Todos los nombres de variables estáticas y globales

-Escriba 'help info' seguido de un nombre de subcomando info para acceder a 

-información exhaustiva.

-

-[info arguments]

-

-Mostrar argumento de marco de pila actual.

-

-[info breakpoints]

-

-Mostrar estado de todos los puntos de corte y puntos de observación.

-La columna Type indica uno de estos valores:

-   breakpoint   - punto de corte normal

-   watchpoint   - punto de observación

-La columna Disp contendrá 'keep', 'del' o 'dis' para indicar la disposición del 

-punto de corte al llegar a él. 'dis' significa que el punto de corte se 

-desactivará; 'del' significa que se eliminará.  

-Las columnas 'Address' y 'What' indican la dirección y el número de 

-archivo/línea respectivamente. 

-

-[info display]

-

-Mostrar lista de expresiones de visualización automática y sus números.

-

-[info files]

-

-Mostrar nombres y números de archivos para la aplicación que se está depurando, 

-incluidos archivos de origen, framework y generados automáticamente.

-Ejemplos:

-  info files

-    Lista todos los archivos por orden alfabético y categoría

-  info files my

-  info files my*

-    Lista por orden alfabético todos los archivos cuyos nombres empiezan por 

-    "my".

-  info files *.as

-    Lista por orden alfabético todos los archivos cuyos nombres acaban en ".as".

-  info files *foo*

-    Lista por orden alfabético todos los archivos cuyos nombres contienen "foo".

-Los archivos se muestran con el formato nombre#N, donde N es el número de 

-archivo.

-En muchos comandos se puede usar #N en lugar de un nombre de archivo.

-

-[info functions]

-

-Mostrar nombres de función.

-Ejemplos:

-  info functions .

-    Mostrar todas las funciones en el archivo actual.

-  info functions myapp.mxml

-    Mostrar todas las funciones en myapp.mxml.

-  info functions #3

-    Mostrar todas las funciones en el archivo 3.

-  info functions

-    Mostrar todas las funciones en todos los archivos.

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Se aceptan nombres de archivo abreviados siempre que no sean ambiguos.

-

-[info handle]

-

-Mostrar qué hace fdb cuando se produce una falla en Flash Player.

-Ejemplos:

-  info handle

-    Mostrar qué hace fdb para gestionar fallas.

-  info handle recursion_limit

-    Mostrar qué hace fdb para gestionar una falla recursion_limit.

-

-[info locals]

-

-Mostrar variables locales de marco de pila actual.

-

-[info scopechain]

-

-Mostrar la cadena de ámbito del marco de pila actual.  La cadena de ámbito es 

-la lista de objetos en que se realiza una búsqueda cuando Flash Player intenta 

-resolver un nombre de símbolo.

-

-[info sources]

-

-Mostrar nombres y números de archivos de origen para la aplicación que se está 

-depurando. No se incluyen archivos framework ni generados automáticamente.

-Los archivos se muestran con el formato nombre#N, donde N es el número de 

-archivo.

-En muchos comandos se puede usar #N en lugar de un nombre de archivo.

-

-[info stack]

-

-Seguimiento regresivo de pila.

-

-[info swfs]

-

-Mostrar swf conocidos para la sesión de depuración.  Consulte lo referente al 

-comando 'viewswf' para averiguar cómo filtrar la lista de archivos por nombre 

-swf. 

-

-[info targets]

-

-Mostrar la URL (http: o archivo:) de la aplicación que se está depurando.

-

-[info variables]

-

-Todos los valores y nombres de variables estáticas y globales

-

-[info ?]

-

-Comando info no definido. Escriba 'help info'.

-

-[kill]

-

-Cerrar el programa que se está depurando.

-Este comando no admite argumentos.

-

-[list]

-

-Listar líneas de código en un archivo de origen.

-Ejemplos:

-  list

-    Lista diez o más líneas en el archivo actual, después o alrededor de 

-    listado previo.

-  list -

-    Lista las diez líneas del archivo actual anteriores a un listado previo.

-  list 87

-    Lista las diez líneas del archivo actual alrededor de la línea 87.

-  list 87 102

-    Lista las líneas de la 87 a la 102 en el archivo actual.

-Además de usar simplemente números de línea como arriba, puede especificar 

-líneas de otros siete modos:

-  doThis

-      La primera línea de la función doThis() del archivo actual.

-   myapp.mxml

-      Línea 1 en myapp.mxml.

-   myapp.mxml:doThat

-      La primera línea de la función doThat() en myapp.mxml.

-   myapp.mxml:56

-      Línea 56 en myapp.mxml.

-   #3

-      Línea 1 en el archivo 3.

-   #3:doOther

-      La línea del archivo 3 en que comienza la función doOther().

-   #3:29

-      Línea 29 en el archivo 3.

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Para ver nombres de función, escriba 'info functions'.

-Se aceptan nombres de archivo y función abreviados siempre que no sean ambiguos.

-Si un archivo se incluye en una lista, el archivo se convierte en actual. 

-Consulte el comando 'cf'.

-

-[next]

-

-Avanzar programa, a través de llamadas de subrutina.

-  next

-    Avanzar una vez.

-  next 3

-    Avanzar 3 veces o hasta que el programa se detenga por otra razón.

-Al igual que el comando 'step', mientras no se produzcan llamadas de subrutina. 

-Al producirse, la llamada se interpreta como instrucción.

-

-[print]

-

-Imprimir valor de expresión variable.

-Ejemplos:

-  print i

-    Imprimir el valor de 'i'.

-  print employee.name

-    Imprimir el valor de 'employee.name'.

-  print employee

-    Imprimir el valor del objeto 'employee'.

-    Esto puede mostrar simplemente algo como [Object 10378].

-  print employee.

-    Imprimir los valores de todas las propiedades del objeto 'employee'.

-  print *employee

-    Imprimir los valores de todas las propiedades del objeto 'employee'.

-    El operador de prefijo * es el prefijo alternativo a . (operador sufijo).

-  print #10378.

-    Imprimir los valores de todas las propiedades del objeto 10378.

-Son accesibles las variables del entorno léxico del marco de pila seleccionado, 

-y también las de ámbito global o de un archivo entero.

-

-[pwd]

-

-Imprimir el directorio de trabajo actual.

-Éste es el directorio desde el que se ha iniciado fdb; no se puede cambiar 

-dentro de fdb. El argumento para 'run' y 'source' se puede especificar con 

-relación a este directorio.

-Este comando no admite argumentos.

-

-[quit]

-

-Cerrar fdb.

-Este comando no admite argumentos.

-

-[run]

-

-Iniciar una sesión de depuración.

-Ejemplos:

-  run http://www.mysite.com/myapp.mxml

-    Ejecuta la aplicación MXML especificada.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Ejecuta el archivo SWF local myapp.swf, que se puede especificar con 

-    relación al directorio actual (consulte el comando 'pwd') o usando una ruta 

-    absoluta. En estos casos, myapp.swd (el archivo que contiene la información 

-    de depuración) también debe existir en el mismo directorio que myapp.swf.

-  run

-    Ejecutar la aplicación previamente especificada por el comando 'file'.

-    Si no se ha especificado ninguna aplicación, fdb esperará hasta que se 

-    conecte una; de no haber ninguna conexión, agotará el tiempo de espera.

-'run' iniciará la aplicación en una ventana de explorador o un reproductor 

-Flash Player autónomo.

-En cuanto empiece, la aplicación entrará en fdb para permitir establecer puntos 

-de corte, etc.

-

-En sistemas Macintosh, el comando 'run' sólo se puede usar sin argumentos.  

-A continuación, Flash Player se debe iniciar manualmente.

-

-[set]

-

-Establecer el valor de una variable o una variable de conveniencia.

-Las variables de conveniencia existen únicamente dentro de fdb; no son parte de 

-su programa.

-Dichas variables tienen el prefijo '$' y un nombre cualquiera, siempre y cuando 

-no coincida con un variable existente.  Por ejemplo, $myVar.  Las variables de 

-conveniencia también se usan para controlar varios aspectos de fdb.  

-

-A continuación se citan las variables de conveniencia usadas por fdb.

-$listsize          - número de líneas de origen que mostrar para 'list'

-$columnwrap        - número de columna en que se ajustará la salida

-$infostackshowthis - si 0, no muestra 'this' en seguimiento regresivo de pila

-$invokegetters     - si 0, fdb no podrá activar funciones de captador

-$bpnum             - el último número de punto de corte definido

-$displayattributes - si 1, 'print var.' muestra todos los atributos de miembros 

-                     de 'var' (p. ej. private, static)

-

-Ejemplos:

-  set i = 3

-    Establece la variable 'i' como 3.

-  set employee.name = "Susan"

-    Establece la variable 'employee.name' como cadena "Susan".

-  set $myVar = 20

-    Establece la variable de conveniencia $myVar' como 20.

-

-[show]

-

-Comando genérico para mostrar datos sobre el estado de fdb.

-Lista de subcomandos show:

-show break (sh b)       Ubicación y razón de ejecución suspendida

-show directories (sh d) Directorios en que buscar archivos de origen

-show files (sh f)       Archivos y rutas de destino

-show functions (sh fu)  Información de asignación de líneas de función 

-show locations (sh l)   Ubicaciones de punto de corte

-show memory (sh m)      Uso de memoria actual

-show net (sh n)         Estadísticas de mensaje del reproductor 

-show properties (sh p)  Valores de propiedades

-show uri (sh u)         URI de reproductor para esta sesión 

-show variable (sh v)    Recuperación de variable sin formato

-Escriba 'help show' seguido de un nombre de subcomando show para acceder a 

-información exhaustiva.

-

-[show break]

-

-Mostrar el desfase dentro del archivo SWF en que se ha detenido el programa

-

-[show directories]

-

-Mostrar la ruta de búsqueda actual para encontrar archivos de origen.

-

-[show files]

-

-Mostrar la ruta y el nombre de archivo de todos los archivos de destino

-

-[show functions]

-

-Mostrar información de asignación de función a número de línea.

-Ejemplos:

-  show functions .

-    Muestra información de asignación para todas las funciones en el archivo 

-    actual.

-  show functions myapp.mxml

-    Muestra información de asignación para todas las funciones en el myapp.mxml.

-  show functions #3

-    Muestra información de asignación para todas las funciones en el archivo 3.

-  show functions

-    Muestra información de asignación para todas las funciones en todos los 

-    archivos.

-Para ver números y nombres de archivo, escriba 'info sources' o 'info files'.

-Se aceptan nombres de archivo abreviados siempre que no sean ambiguos.

-

-[show locations]

-

-Muestra la lista de ubicaciones definidas para cada punto de corte

-

-[show memory]

-

-Muestra estadísticas de memoria de Java VM.

-

-[show net]

-

-Muestra información de mensajes enviados a o procedentes de Flash Player.

-

-[show properties]

-

-Muestra una lista variables de conveniencia usadas dentro del depurador 

-

-[show uri]

-

-Muestra el URI enviado por el reproductor para esta sesión.

-

-[show variable]

-

-Muestra el valor de un miembro de una variable.  Se requieren dos parámetros; 

-el primero es el identificador de variable numérico, el segundo es el nombre de 

-propiedad en la variable.  La variable de conveniencia $invokegetters se usa 

-para determinar si se activará o no el captador de propiedad (en caso de 

-existir).

-Ejemplo:

-    show variable 1 __proto__

-

-[show ?]

-

-Comando show no definido. Escriba 'help show'.

-

-[source]

-

-Leer comandos fdb de un archivo y ejecutarlos.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Lee mycommands.txt y ejecuta los comandos fdb en él.

-    El archivo que contiene los comandos se puede especificar

-	con relación al directorio actual (consulte el comando 'pwd')

-	o usando una ruta absoluta.

-El archivo .fdbinit se lee automáticamente de este modo cuando se inicia fdb.

-La búsqueda de .fdbinit sólo se realiza en el directorio actual. Esto significa 

-que puede tener varios archivos .fdbinit para distintos proyectos.

-

-[step]

-

-Avanzar programa hasta llegar a una línea de origen diferente.

-Ejemplos:

-  step

-    Avanzar una vez.

-  step 3

-    Avanzar 3 veces o hasta que el programa se detenga por otra razón.

-

-[tutorial]

-

-Mostrar tutorial de uso de fdb.

-Este comando no admite argumentos.

-

-[Tutorial]

-

-Una sesión fdb estándar:

-Iniciar una aplicación con 'run'.

-Ver nombres de archivo con 'info sources'.

-Listar un archivo con 'list'.

-Establecer puntos de corte con 'break'.

-Ejecutar programa con 'continue' hasta llegar a un punto de corte.

-Examinar el estado del programa con 'where', 'print', 'info locals'.

-Ejecutar una instrucción individual con 'next', 'step' y 'finish'.

-Reanudar la ejecución con 'continue'.

-Cerrar fdb con 'quit'.

-

-[undisplay]

-

-Quitar una o más expresiones de visualización automática.

-Ejemplos:

-  undisplay

-    Quitar todas las expresiones de visualización automática.

-  undisplay 2 7

-    Quitar las expresiones de visualización automática 2 y 7.

-Para ver la lista de expresiones de visualización automática y sus números, 

-escriba 'info display'.

-

-[up]

-

-Seleccionar e imprimir marco de pila que ha llamado a este.

-Los comandos 'info arguments' e 'info locals' posteriores mostrarán

-las variables locales y los argumentos del marco seleccionado.

-Consulte 'down' y 'frame'

-

-[viewswf]

-

-Establece o borra filtro para listado de archivos (es decir, 'info files' e 

-'info sources'), por nombre de swf. 

-Si no hay parámetros, se mostrarán todos los archivos.  Si hay un mismo archivo 

-en uno o varios swfs, el listado sólo mostrará el primer caso de dicho archivo. 

-Para acceder a otros casos del archivo, use el número de éste (p.ej. 'list 

-#192') o use este comando con un parámetro (véase más abajo) para mostrar 

-archivos de un swf específico.  Con un solo parámetro, el nombre swf tal y como 

-se muestra en el comando 'info swfs', sólo se mostrarán en el listado de 

-archivos los archivos del swf especificado.  

-No se mostrarán archivos de otros swf.  Este comando también afecta a comandos 

-que aceptan un archivo como parámetro (p. ej. 'break')

-Ejemplo:

-  viewswf myApp.mxml.swf

-    Sólo se mostrarán archivos de myApp.mxml.swf.

-  viewswf 

-    Se mostrarán todos los archivos de todos los swf.

- 

-[watch]

-

-Agregar punto de observación a una variable. El depurador detendrá la ejecución 

-cuando cambie el valor de la variable.

-Ejemplo:

-  watch foo

-

-[what]

-

-Muestra el contexto en que se resuelve una variable. 

-

-[where]

-

-Seguimiento regresivo de pila.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fi.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fi.txt
deleted file mode 100644
index 1e9aa81..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fi.txt
+++ /dev/null
@@ -1,817 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Määrittämätön komento. Syöttämällä 'help' näet luettelon kaikista 

-fdb-komennoista.

-

-[break]

-

-Määritä keskeytyskohta tietyllä rivillä tai tietyssä toiminnossa.

-Esimerkkejä:

-  break 87

-    Asettaa keskeytyskohdan riville 87 nykyisessä tiedostossa.

-  break myapp.mxml:56

-    Asettaa keskeytyskohdan riville 56 tiedostossa myapp.mxml.

-  break #3:29

-    Asettaa keskeytyskohdan riville 29 tiedostossa #3.

-  break doThis

-    Asettaa keskeytyskohdan toimintoon doThis() nykyisessä tiedostossa.

-  break myapp.mxml:doThat

-    Asettaa keskeytyskohdan toimintoon doThat() tiedostossa myapp.mxml.

-  break #3:doOther

-    Asettaa keskeytyskohdan toimintoon doOther() tiedostossa #3.

-  break

-   Asettaa keskeytyskohdan nykyiseen suoritusosoitteeseen nykyisen pinon 

-   kehyksessä. Tämä on hyödyllistä, kun keskeytys tapahtuu pinokehykseen 

-   palattaessa.

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Toimintojen nimet näet syöttämällä 'info functions'.

-Lyhennetyt tiedostojen ja toimintojen nimet hyväksytään, jos ne ovat selviä.

-Jos määritetään rivinumero, keskeytys tapahtuu koodin alussa sillä rivillä.

-Jos määritetään toiminto, keskeytys tapahtuu koodin alussa siinä toiminnossa.

-Lisätietoa keskeytyskohdista näet komennoilla 'commands' ja 'condition'.

-

-[bt]

-

-Pinon backtrace.

-

-[catch]

-

-Keskeytys poikkeuksen sattuessa.  Vaikuttaa vain catch-lohkon käsittelemiin 

-poikkeuksiin.  Käsittelemättömät poikkeukset keskeyttävät aina 

-virheenkorjauksen.

-

-Voit poistaa käsittelypisteen Delete-komennolla.

-

-Esimerkkejä:

-  catch *

-    Keskeytys minkä tahansa poikkeuksen sattuessa.

-  catch ReferenceError

-    Keskeytys aina ReferenceError-virheen syntyessä, olipa se käsitelty tai ei.

-

-[cf]

-

-Näyttää nykyisen tiedoston nimen ja numeron tai vaihtaa nykyistä tiedostoa.

-Esimerkkejä:

-  cf

-    Näyttää nykyisen tiedoston nimen ja numeron.

-  cf myapp.mxml

-    Vaihtaa nykyisen tiedoston tiedostoksi myapp.mxml.

-  cf #29

-    Vaihtaa nykyisen tiedoston tiedostoksi #29.

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Lyhennetyt tiedostonimet hyväksytään, jos ne ovat selviä.

-Komennon 'list' käyttäminen tiedostoon tekee tiedostosta nykyisen tiedoston.

-

-[clear]

-

-Poistaa keskeytyskohdan tietyltä riviltä tai tietystä toiminnosta.

-Esimerkkejä:

-  clear 87

-    Poistaa keskeytyskohdan riviltä 87 nykyisessä tiedostossa.

-  clear myapp.mxml:56

-    Poistaa keskeytyskohdan riviltä 56 tiedostossa myapp.mxml.

-  clear #3:29

-    Poistaa keskeytyskohdan riviltä 29 tiedostossa #3.

-  clear doThis

-    Poistaa keskeytyskohdan toiminnosta doThis() nykyisessä tiedostossa.

-  clear myapp.mxml:doThat

-    Poistaa keskeytyskohdan toiminnosta doThat() tiedostossa myapp.mxml.

-  clear #3:doOther

-    Poistaa keskeytyskohdan toiminnosta doOther() tiedostossa #3.

-  clear

-    Poistaa keskeytyskohdan nykyisen tiedoston nykyiseltä riviltä. 

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Toimintojen nimet näet syöttämällä 'info functions'.

-Lyhennetyt tiedostojen ja toimintojen nimet hyväksytään, jos ne ovat selviä.

-Jos määritetään rivinumero, siltä riviltä poistetaan kaikki keskeytyskohdat.

-Jos määritetään toiminto, toiminnon alussa olevat keskeytyskohdat poistetaan.

-

-[continue]

-

-Jatka suorittamista keskeytyskohdassa pysähtymisen jälkeen.

-Tämä komento ei hyväksy argumentteja.

-

-[condition]

-

-

-Määritä keskeytyskohdan numero N. Keskeytys tapahtuu vain, jos COND toteutuu.

-Käyttö on `condition N COND', jossa N on kokonaisluku ja COND on lauseke, joka 

-arvioidaan aina, kun keskeytyskohta N saavutetaan.

-

-[commands]

-

-Määritä komennot, jotka suoritetaan, kun törmätään keskeytyskohtaan.

-Anna keskeytyskohdan numero argumenttina `commands`-komennon jälkeen.

-Jos argumenttia ei anneta, kohteena oleva keskeytyskohta määritetään viimeisenä.

-Komennot alkavat seuraavalta riviltä.

-Kirjoita rivi, joka sisältä sanan "end", merkitsemään kohtaa, missä komennot 

-loppuvat.

-Määrittämällä ehdon "silent" ensimmäiseksi riviksi teet keskeytyskohdasta 

-hiljaisen. Tällöin mitään ei tulosteta, kun kohta saavutetaan, lukuun ottamatta 

-komennon tulostamaa tulostetta.

-Esimerkki:

-  (fdb) commands

-  Kirjoita komennot sitä varten, kun keskeytyskohta 1 tulee vastaan, yksi 

-  komento riville.

-  Päätä rivillä, jolla lukee vain 'end'.

-  >w

-  >end

-

-[delete]

-

-Poista yksi tai useampi keskeytyskohta.

-Esimerkkejä:

-  delete

-    Poistaa kaikki keskeytyskohdat.

-  delete 2 5

-    Poistaa keskeytyskohdat #2 ja #5.

-Näet keskeytyskohtien numerot syöttämällä 'info breakpoints'.

-

-[directory]

-

-Määritä luettelo hakemistoista, joista fdb etsii lähdetiedostoja.

-

-Esimerkkejä:

-

-  directory

-    Palauttaa luettelon oletusasetuksiin. Luettelo sisältää silloin hakemiston, 

-    jossa lähdetiedosto koottiin objektikoodiksi, ja sen jälkeen nykyisen 

-    hakemiston.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Lisää määritetyn hakemiston sen hakemistoluettelon alkuun, josta lähdettä 

-    haetaan.  Jos haetaan esimerkiksi luokan mypackage.MyClass lähdettä, 

-    virheenkorjaustoiminto etsii lähdettä sekä kansiosta 

-    C:\MySource\mypackage\MyClass.as että kansiosta C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows – käytä pilkkua ';' erottimena)

-  directory /Dir1:/Dir2        (Mac – käytä pistettä ':' erottimena)

-    Lisää useita hakemistoja sen hakemistoluettelon alkuun, josta lähdettä 

-    haetaan.

-

-Nykyisen luettelon näet syöttämällä 'show directories'.

-

-[disable]

-

-Poista käytöstä yksi tai useita keskeytyskohtia tai automaattisen näytön 

-ilmaukset.

-Esimerkkejä:

-  disable

-  disable breakpoints

-    Poistaa käytöstä kaikki keskeytyskohdat.

-  disable 2 5

-  disable breakpoints 2 5

-    Poistaa käytöstä keskeytyskohdat #2 ja #5.

-  disable display

-    Poistaa käytöstä kaikki automaattisen näytön ilmaukset.

-  disable display 1 3

-    Poistaa käytöstä automaattisen näytön ilmaukset #1 ja #3.

-Näet keskeytyskohtien numerot syöttämällä 'info breakpoints'.

-Näet automaattisen näytön ilmausten numerot syöttämällä 'info display'.

-

-[disassemble]

-

-(Vain ActionScript 2. Ei tukea ActionScript 3:n virheenkorjaukselle.)

-

-Pura jokin lähdekoodin tietty osa.

-Oletus on aina nykyinen rivi.

-Samoja argumentteja tuetaan kuin list-komennossakin.

-Esimerkkejä:

-  disassemble 87

-    Purkaa nykyisen tiedoston rivin 87.

-  disassemble 87 102

-    Purkaa nykyisen tiedoston rivit 87–102.

-  disassemble doThis

-      Purkaa toiminnon doThis() nykyisessä tiedostossa.

-Sen lisäksi, että käytät yksinkertaisia rivinumeroita yllä olevan esimerkin 

-mukaisesti, voit määrittää rivejä muillakin tavoilla:

-   myapp.mxml

-      Rivi 1 tiedostossa myapp.mxml.

-   myapp.mxml:doThat

-      Toiminnon doThat() ensimmäinen rivi tiedostossa myapp.mxml.

-   myapp.mxml:56

-      Rivi 56 tiedostossa myapp.mxml.

-   #3

-      Rivi 1 tiedostossa #3.

-   #3:doOther

-      Se tiedoston #3 rivi, jolla toiminto doOther() alkaa.

-   #3:29

-      Rivi 29 tiedostossa #3.

-

-[display]

-

-Lisää ilmaus automaattisen näytön ilmausten luetteloon.

-Esimerkki:

-  display employee.name

-    Lisää 'employee.name' automaattisen näytön ilmausten luetteloon.

-    Joka kerta, kun fdb pysähtyy, arvo employee.name tulee näkyviin.

-Tämän komennon argumentti on sama kuin komennolle 'print'.

-Näet automaattisen näytön ilmaukset ja niiden numerot syöttämällä 'info 

-display'.

-

-[down]

-

-Valitse ja tulosta tämän kutsuma pinokehys.

-Seuraavat 'info arguments'- ja 'info locals' -komennot näyttävät valitun 

-kehyksen argumentit ja paikalliset muuttujat.

-Katso komennot 'up' ja 'frame'. 

-

-[enable]

-

-Ota käyttöön yksi tai useita keskeytyskohtia tai automaattisen näytön ilmaukset.

-Esimerkkejä:

-  enable

-  enable breakpoints

-    Ottaa käyttöön kaikki keskeytyskohdat.

-  enable 2 5

-  enable breakpoints 2 5

-    Ottaa käyttöön keskeytyskohdat #2 ja #5.

-  enable display

-    Ottaa käyttöön kaikki automaattisen näytön ilmaukset.

-  enable display 1 3

-    Ottaa käyttöön automaattisen näytön ilmaukset #1 ja #3.

-Näet keskeytyskohtien numerot syöttämällä 'info breakpoints'.

-Näet automaattisen näytön ilmausten numerot syöttämällä 'info display'.

-

-[file]

-

-Määritä sovellus, josta korjataan virheitä, käynnistämättä sitä.

-Esimerkkejä:

-  file http://www.mysite.com/myapp.mxml

-    Määritä MXML-sovellus, josta korjataan virheitä.

-  file myapp.swf

-    Määritä nykyisestä hakemistosta paikallinen SWF-tiedosto, josta korjataan 

-    virheitä.

-    Tässä tapauksessa (virheenkorjaustiedot sisältävän) tiedoston myapp.swd 

-    pitää sijaita myös nykyisessä hakemistossa.

-Komento ei käynnistä sovellusta. Käynnistä sovelluksen virheenkorjaus 

-komennolla 'run' ilman argumentteja.

-Sen sijaan, että käyttäisit komentoa 'file <target>' ja sen jälkeen komentoa 

-'run', voit yksinkertaisesti määrittää korjattavan sovelluksen komennon 'run' 

-argumentiksi:

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Voit myös määrätä tiedoston virheenkorjauksen komentorivin argumentilla, kun 

-käynnistät fdb:n:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-Tässä tapauksessa sinun ei tarvitse käyttää komentoa 'file' eikä komentoa 'run'.

-Jos suoritat komennon 'run' määrittämättä sovellusta virheenkorjausta varten, 

-fdb odottaa, kunnes jokin sovellus muodostaa siihen yhteyden.

-

-[finish]

-

-Suorita, kunnes nykyinen toiminto palaa.

-Tämä komento ei hyväksy argumentteja.

-

-[frame]

-

-Valitse ja tulosta jokin tietty pinokehys.

-Tämä komento hyväksyy valinnaisen argumentin: kehyksen numeron.

-Jos argumenttia ei määritetä, oletuksena palataan nykyiseen ylimpään kehykseen 

-(kehykseen 0).

-Esimerkkejä:

-  frame 4

-  frame

-Seuraavat 'info arguments'- ja 'info locals' -komennot näyttävät valitun 

-kehyksen argumentit ja paikalliset muuttujat.

-Katso komennot 'up', 'down' ja 'bt'. 

-

-[handle]

-

-Määritä, miten fdb käsittelee Flash Playerin virheet.

-Esimerkkejä:

-  handle recursion_limit stop

-    Näytä fdb:ssä ilmoitus virheestä recursion_limit ja pysäytä, kuten 

-    keskeytyskohdassa.

-  handle all print nostop

-    Näytä ilmoitus kaikista virheistä fdb:ssä, mutta älä pysäytä.

-Ensimmäinen argumentti on virheen nimi tai 'all'.

-Lisäargumentit ovat toimintoja, jotka koskevat virhettä.

-Virheiden nimet näet syöttämällä 'info handle'.

-Toiminnot ovat print/noprint ja stop/nostop.

-Toiminnolla 'print' sanoma tulostetaan tämän virheen sattuessa.

-Toiminnolla 'stop' palataan virheenkorjaustoimintoon tämän virheen sattuessa. 

-Toiminto 'print' suoritetaan samalla.

-

-[help]

-

-Onko fdb sinulle uusi? Näet sen perustiedot syöttämällä 'tutorial'.

-Luettelo fdb:n komennoista:

-bt (bt)             Tulosta kaikkien pinokehysten backtrace-luettelot.

-break (b)           Määritä keskeytyskohta tietyllä rivillä tai tietyssä 

-                    toiminnossa.

-catch (ca)          Keskeytys poikkeuksen sattuessa.

-cf (cf)             Näytä nykyisen tiedoston nimi ja numero.

-clear (cl)          Poista keskeytyskohta tietyltä riviltä tai tietystä 

-                    toiminnosta.

-condition (cond)    Käytä ehdollista ilmausta keskeytyspisteessä tai poista 

-                    ilmaus.

-continue (c)        Jatka suorittamista keskeytyskohdassa pysähtymisen jälkeen.

-commands (com)      Määritä komennot, jotka suoritetaan keskeytyspisteeseen 

-                    saavuttaessa.

-delete (d)          Poista keskeytyspisteet tai automaattisen näytön ilmaukset.

-directory (dir)     Lisää hakemisto lähdetiedostojen hakupolkuun.

-disable (disab)     Poista keskeytyspisteet tai automaattisen näytön ilmaukset 

-                    käytöstä.

-disassemble (disas) Pura lähderivit tai -toiminnot.

-display (disp)      Lisää automaattisen näytön ilmaus.

-enable (e)          Ota keskeytyspisteet tai automaattisen näytön ilmaukset 

-                    käyttöön.

-file (fil)          Määritä sovelluksen virheenkorjaus.

-finish (f)          Suorita, kunnes nykyinen toiminto palaa.

-handle (han)        Määritä, miten virhe käsitellään.

-help (h)            Näytä fdb-komentojen ohje.

-home (ho)           Määritä luettelosijainti paikkaan, missä suorittaminen 

-                    keskeytetään.

-info (i)            Näytä tiedot ohjelmasta, josta korjataan virheitä.

-kill (k)            Lopeta sen ohjelman suorittaminen, josta korjataan virheitä.

-list (l)            Lisää määritetty toiminto tai rivi luetteloon.

-next (n)            Askelluta ohjelma.

-print (p)           Tulosta EXP-muuttujan arvo.

-pwd (pw)            Tulosta työhakemisto.

-quit (q)            Sulje fdb.

-run (r)             Käynnistä ohjelma, jonka virheet on korjattu.

-set (se)            Aseta muuttujan arvo.

-source (so)         Lue fdb-komennot tiedostosta.

-step (s)            Askelluta ohjelma, kunnes ohjelma saavuttaa eri lähderivin.

-tutorial (t)        Näytä opetusohjelma, jossa selitetään fdb:n käyttö.

-undisplay (u)       Poista automaattisen näytön ilmaus.

-viewswf (v)         Määritä tai tyhjennä suodatin tiedostoluettelolle swf:n 

-                    perusteella.

-watch (wa)          Lisää katselukohta annettuun muuttujaan.

-what (wh)           Näyttää muuttujan sisällön.

-where (w)           Sama kuin bt.

-Kirjoita 'help' ja sen jälkeen komennon nimi, niin näet täydet käyttöohjeet.

-

-[home]

-

-Määritä luettelosijainti paikkaan, missä suorittaminen keskeytetään.

-

-[info]

-

-Yleiskomento, jolla nähdään erilaisia tietoja ohjelmasta, josta korjataan 

-virheitä.

-Luettelo info-alikomennoista:

-info arguments (i a)    Nykyisen pinokehyksen argumenttimuuttujat.

-info breakpoints (i b)  Käyttäjän asetettavien keskeytyskohtien tilat.

-info display (i d)      Näytä luettelo automaattisen näytön ilmauksista.

-info files (i f)        Niiden kohteiden ja tiedostojen nimet, joista korjataan 

-                        virheitä.

-info functions (i fu)   Kaikki toimintojen nimet.

-info handle (i h)       Miten virhe käsitellään.

-info locals (i l)       Nykyisen pinokehyksen paikalliset muuttujat.

-info scopechain (i sc)  Nykyisen pinokehyksen vaikutusalueketju.

-info sources (i so)     Lähdetiedostot ohjelmassa.

-info stack (i s)        Pinon backtrace.

-info swfs (i sw)        Tämän istunnon swf-luettelo.

-info targets(i t)       Sovellus, josta korjataan virheitä.

-info variables (i v)    Kaikki yleisten ja staattisten muuttujien nimet.

-Kirjoita 'help info' ja sen jälkeen info-alikomennon nimi, niin näet täydet 

-käyttöohjeet.

-

-[info arguments]

-

-Näytä nykyisen pinokehyksen argumentit.

-

-[info breakpoints]

-

-Näytä kaikkien keskeytyskohtien ja katselukohtien tila.

-Type-sarakkeesta näkyy jompikumpi näistä:

-   breakpoint   - tavallinen keskeytyskohta

-   watchpoint   - katselukohta

-Disp-sarake sisältää jonkin seuraavista: 'keep', 'del', 'dis'. Tämä kertoo, 

-mitä keskeytyskohdassa tapahtuu. Vaihtoehto 'dis' tarkoittaa sitä, että 

-keskeytyskohta poistetaan käytöstä. Vaihtoehto 'del' tarkoittaa sitä, että 

-keskeytyskohta poistetaan.  

-'Address'-sarake kertoo osoitteen. 'What'-sarake kertoo tiedoston/rivinumeron. 

-

-[info display]

-

-Näytä luettelo automaattisen näytön ilmauksista ja niiden numeroista.

-

-[info files]

-

-Näytä tiedostojen nimet ja numerot sovellukselle, josta korjataan virheitä, 

-mukaan luettuna lähdetiedostot, kehystiedostot ja automaattisesti luodut 

-tiedostot.

-Esimerkkejä:

-  info files

-    Näyttää aakkosjärjestyksessä kaikki tiedostot luokan mukaan.

-  info files my

-  info files my*

-    Näyttää aakkosjärjestyksessä kaikki tiedostot, joiden nimi alkaa "my".

-  info files *.as

-    Näyttää aakkosjärjestyksessä kaikki tiedostot, joiden nimi päättyy ".as".

-  info files *foo*

-    Näyttää aakkosjärjestyksessä kaikki tiedostot, joiden nimeen sisältyy "foo".

-Tiedostot näytetään muodossa name#N, jossa N on tiedoston numero.

-Monissa komennoissa tiedoston nimen voi korvata #N.

-

-[info functions]

-

-Näytä toimintojen nimet.

-Esimerkkejä:

-  info functions .

-    Näytä kaikki toiminnot nykyisessä tiedostossa.

-  info functions myapp.mxml

-    Näytä kaikki toiminnot tiedostossa myapp.mxml.

-  info functions #3

-    Näytä kaikki toiminnot tiedostossa #3.

-  info functions

-    Näytä kaikki toiminnot kaikissa tiedostoissa.

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Lyhennetyt tiedostonimet hyväksytään, jos ne ovat selviä.

-

-[info handle]

-

-Näytä, mitä fdb tekee, kun Flash Playerissä tapahtuu virhe.

-Esimerkkejä:

-  info handle

-    Näytä, miten fdb käsittelee kaikki virheet.

-  info handle recursion_limit

-    Näytä, miten fdb käsittelee virheen recursion_limit.

-

-[info locals]

-

-Näytä nykyisen pinokehyksen paikalliset muuttujat.

-

-[info scopechain]

-

-Näytä nykyisen pinokehyksen vaikutusalueketju.  Vaikutusalueketju on 

-objektiluettelo, jossa Flash Player suorittaa haun yrittäessään ratkaista 

-symbolin nimen.

-

-[info sources]

-

-Näytä lähdetiedostojen nimet ja numerot sovellukselle, josta korjataan virheitä.

-Ei sisällä kehystiedostoja ja automaattisesti luotuja tiedostoja.

-Tiedostot näytetään muodossa name#N, jossa N on tiedoston numero.

-Monissa komennoissa tiedoston nimen voi korvata #N.

-

-[info stack]

-

-Pinon backtrace.

-

-[info swfs]

-

-Näytä virheenkorjausistunnon tuntemat swf-tiedostot.  Komennolla 'viewswf' näet 

-lisätietoja siitä, miten tiedostoluettelo voidaan suodattaa swf-nimen 

-perusteella. 

-

-[info targets]

-

-Näytä URL (http: tai tiedosto:) sovellukselle, josta korjataan virheitä.

-

-[info variables]

-

-Näytä kaikki yleisten ja staattisten muuttujien nimet ja arvot.

-

-[info ?]

-

-Määrittämätön info-komento. Kokeile komentoa 'help info'.

-

-[kill]

-

-Lopeta sen ohjelman suorittaminen, josta korjataan virheitä.

-Tämä komento ei hyväksy argumentteja.

-

-[list]

-

-Luetteloi koodirivit lähdetiedostossa.

-Esimerkkejä:

-  list

-    Luetteloi kymmenen lisäriviä nykyisessä tiedostossa edellisen luettelon 

-    jälkeen tai sen ympärille.

-  list -

-    Luetteloi kymmenen riviä nykyisessä tiedostossa ennen edellistä luetteloa.

-  list 87

-    Luetteloi kymmenen riviä nykyisessä tiedostossa rivin 87 ympärillä.

-  list 87 102

-    Luetteloi nykyisen tiedoston rivit 87–102.

-Sen lisäksi, että käytät yksinkertaisia rivinumeroita yllä olevan esimerkin 

-mukaisesti, voit määrittää rivejä seitsemällä muulla tavalla:

-  doThis

-      Toiminnon doThis() ensimmäinen rivi nykyisessä tiedostossa.

-   myapp.mxml

-      Rivi 1 tiedostossa myapp.mxml.

-   myapp.mxml:doThat

-      Toiminnon doThat() ensimmäinen rivi tiedostossa myapp.mxml.

-   myapp.mxml:56

-      Rivi 56 tiedostossa myapp.mxml.

-   #3

-      Rivi 1 tiedostossa #3.

-   #3:doOther

-      Se tiedoston #3 rivi, jolla toiminto doOther() alkaa.

-   #3:29

-      Rivi 29 tiedostossa #3.

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Toimintojen nimet näet syöttämällä 'info functions'.

-Lyhennetyt tiedostojen ja toimintojen nimet hyväksytään, jos ne ovat selviä.

-Tiedoston lisääminen luetteloon tekee tiedostosta nykyisen tiedoston. (Katso 

-komento 'cf'.)

-

-[next]

-

-Askelluta ohjelma alirutiinikutsujen läpi.

-  next

-    Askelluta kerran.

-  next 3

-    Askelluta kolmasti, tai kunnes ohjelma pysähtyy jostain muusta syystä.

-Toimii kuten komento 'step', kunhan alirutiinikutsuja ei tapahdu. Jos 

-alirutiinikutsu tapahtuu, sitä käsitellään yhtenä ohjeena.

-

-[print]

-

-Tulosta muuttujan tai ilmauksen arvo.

-Esimerkkejä:

-  print i

-    Tulosta 'i'-arvo.

-  print employee.name

-    Tulosta 'employee.name'-arvo.

-  print employee

-    Tulosta objektin 'employee' arvo.

-    Tulos saattaa olla esimerkiksi [Object 10378].

-  print employee.

-    Tulosta objektin 'employee' kaikkien ominaisuuksien arvot.

-  print *employee

-    Tulosta objektin 'employee' kaikkien ominaisuuksien arvot.

-    Etuliiteoperaattori * on jälkiliiteoperaattorin . etuliitevaihtoehto.

-  print #10378.

-    Tulosta kaikkien Object #10378:n ominaisuuksien arvot.

-Käytettävissä ovat valitun pinokehyksen sanastollisen ympäristön muuttujat sekä 

-kaikki ne muuttujat, joiden vaikutusalue on yleinen tai kokonainen tiedosto.

-

-[pwd]

-

-Tulosta nykyinen työhakemisto.

-Tämä on hakemisto, josta fdb käynnistettiin. Hakemistoa ei voi muuttaa fdb:n 

-sisällä. Komentojen 'run' ja 'source' argumentti voidaan määrittää suhteessa 

-tähän hakemistoon.

-Tämä komento ei hyväksy argumentteja.

-

-[quit]

-

-Sulje fdb.

-Tämä komento ei hyväksy argumentteja.

-

-[run]

-

-Aloita virheenkorjausistunto.

-Esimerkkejä:

-  run http://www.mysite.com/myapp.mxml

-    Suorittaa määritetyn MXML-sovelluksen.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Suorittaa paikallisen SWF-tiedoston myapp.swf, joka voidaan määrittää joko 

-    suhteessa nykyiseen hakemistoon (katso komento 'pwd') tai käyttäen 

-    absoluuttista polkua. Näissä tapauksissa tiedoston myapp.swd 

-    (virheenkorjaustiedot sisältävä tiedosto) pitää sijaita samassa 

-    hakemistossa kuin tiedosto myapp.swf.

-  run

-    Suorita edellä komennossa 'file' määritetty sovellus.

-    Jos sovellusta ei ole määritetty, fdb odottaa, kunnes jokin sovellus 

-    muodostaa siihen yhteyden. Jos mikään sovellus ei tee niin, fdb suorittaa 

-    aikakatkaisun.

-Komento 'run' käynnistää sovelluksen selaimessa tai erillisessä Flash 

-Playerissä.

-Heti, kun sovellus käynnistyy, se keskeytyy fdb-tilaan, jotta voit määrittää 

-keskeytyskohdat.

-

-Macintosh-käyttöjärjestelmässä komennon ainoa tuettu muoto on 'run', ilman 

-argumentteja.  Flash Player pitää käynnistää manuaalisesti.

-

-[set]

-

-Määritä muuttujan tai mukavuusmuuttujan arvo.

-Mukavuusmuttujia esiintyy ainoastaan fdb:ssä. Ne eivät ole osa ohjelmaa.

-Mukavuusmuuttujilla on etuliite '$'. Muuttujilla voi olla mikä tahansa nimi, 

-joka ei ole jo olemassa olevan muuttujan nimi.  Esimerkiksi $myVar.  

-Mukavuusmuuttujilla voidaan hallita useita fdb:n ominaisuuksia.  

-

-Seuraavat mukavuusmuuttujat ovat fdb:n käytössä.

-$listsize          - komennolle 'list' näytettävien lähderivien määrä

-$columnwrap        - sen sarakkeen numero, jossa tulostus rivitetään

-$infostackshowthis - jos 0, pinon backtrace-luettelossa ei lue 'this'

-$invokegetters     - jos 0, estää fdb:tä suorittamasta get-funktioita

-$bpnum             - viimeinen määritetty keskeytyskohdan numero

-$displayattributes - jos 1, 'print var.' näyttää kaikki 'var'-jäsenien 

-                     attribuutit (esim. yksityinen, staattinen)

-

-Esimerkkejä:

-  set i = 3

-    Määrittää muuttujan 'i' numerolle 3.

-  set employee.name = "Susan"

-    Määrittää muuttujan 'employee.name' merkkijonolle "Susan".

-  set $myVar = 20

-    Määrittää mukavuusmuuttujan '$myVar' numerolle 20.

-

-[show]

-

-Yleiskomento, jolla nähdään erilaisia tilatietoja fdb:stä.

-Luettelo show-alikomennoista:

-show break (sh b)       Suorituksen keskeytyksen paikka ja syy.

-show directories (sh d) Hakemistot, joista etsitään lähdetiedostoja.

-show files (sh f)       Kohdetiedostot ja -polut.

-show functions (sh fu)  Toimintorivin määritystiedot. 

-show locations (sh l)   Keskeytyskohtien paikat.

-show memory (sh m)      Nykyinen muistin käyttö.

-show net (sh n)         Soittimen viestitilastot. 

-show properties (sh p)  Ominaisuuksien arvot.

-show uri (sh u)         Soittimen URI tätä istuntoa varten. 

-show variable (sh v)    Raw-muuttujan noutaminen.

-Kirjoita 'help show' ja sen jälkeen show-alikomennon nimi, niin näet täydet 

-käyttöohjeet.

-

-[show break]

-

-Näytä siirtymä SWF:ssä, johon ohjelma pysähtyi.

-

-[show directories]

-

-Näytä nykyinen hakupolku lähdetiedostojen löytämistä varten.

-

-[show files]

-

-Näytä kaikkien kohdetiedostojen polku ja tiedostonimi.

-

-[show functions]

-

-Näytä toiminnon/rivinumeron määritystiedot.

-Esimerkkejä:

-  show functions .

-    Näyttää kaikkien toimintojen määritystiedot nykyisessä tiedostossa.

-  show functions myapp.mxml

-    Näyttää kaikkien toimintojen määritystiedot tiedostossa myapp.mxml.

-  show functions #3

-    Näyttää kaikkien toimintojen määritystiedot tiedostossa #3.

-  show functions

-    Näyttää kaikkien toimintojen määritystiedot kaikissa tiedostoissa.

-Tiedostonimet ja -numerot näet syöttämällä 'info sources' tai 'info files'.

-Lyhennetyt tiedostonimet hyväksytään, jos ne ovat selviä.

-

-[show locations]

-

-Näyttää luettelon sijainneista, jotka kullekin keskeytyskohdalle on määritetty.

-

-[show memory]

-

-Näyttää Java-näennäismuistin tilastot.

-

-[show net]

-

-Näyttää tiedot Flash Playeriin lähetetyistä ja siltä vastaanotetuista 

-viesteistä.

-

-[show properties]

-

-Näyttää luettelon virheenkorjauksessa käytetyistä mukavuusmuuttujista. 

-

-[show uri]

-

-Näyttää URI:n, jonka soitin lähetti tätä istuntoa varten.

-

-[show variable]

-

-Näyttää muuttujan jäsenten arvot.  Vaaditaan kaksi parametriä. Ensimmäinen on 

-numeroarvoinen muuttujan tunniste. Toinen on muuttujan ominaisuuden nimi.  

-Mukavuusmuuttujaa $invokegetters käytetään määrittämään, käynnistetäänkö 

-get-ominaisuus, jos sellainen on olemassa.

-Esimerkki:

-    show variable 1 __proto__

-

-[show ?]

-

-Määrittämätön show-komento. Kokeile komentoa 'help show'.

-

-[source]

-

-Lue fdb-komennot tiedostosta ja suorita ne.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Lukee kohteen mycommands.txt ja suorittaa siinä olevat fdb-komennot.

-    Komennot sisältävä tiedosto voidaan määrittää joko

-	suhteessa nykyiseen hakemistoon (katso komento 'pwd')

-	tai käyttäen absoluuttista polkua.

-Tiedosto .fdbinit luetaan automaattisesti tällä tavalla, kun fdb käynnistetään.

-Tiedostoa .fdbinit haetaan vain nykyisestä hakemistosta. Tämä tarkoittaa sitä, 

-että voit määrittää useita .fdbinit-tiedostoja eri projekteja varten.

-

-[step]

-

-Askelluta ohjelma, kunnes ohjelma saavuttaa eri lähderivin.

-Esimerkkejä:

-  step

-    Askelluta kerran.

-  step 3

-    Askelluta kolmasti, tai kunnes ohjelma pysähtyy jostain muusta syystä.

-

-[tutorial]

-

-Näytä opetusohjelma, jossa selitetään fdb:n käyttö.

-Tämä komento ei hyväksy argumentteja.

-

-[Tutorial]

-

-Tyypillinen fdb-istunto:

-Käynnistä sovellus komennolla 'run'.

-Tarkastele tiedostonimiä komennolla 'info sources'.

-Lisää tiedosto luetteloon komenolla 'list'.

-Määritä keskeytyskohdat komennolla 'break'.

-Suorita ohjelma komennolla 'continue', kunnes osutaan keskeytyskohtaan.

-Tutki ohjelman tilaa komennoilla 'where', 'print', 'info locals'.

-Suorita yksittäisiä lausekkeita komennoilla 'next', 'step', 'finish'.

-Jatka suorittamista komennolla 'continue'.

-Sulje fdb komennolla 'quit'.

-

-[undisplay]

-

-Poista yksi tai usea automaattisen näytön ilmaus.

-Esimerkkejä:

-  undisplay

-    Poista kaikki automaattisen näytön ilmaukset.

-  undisplay 2 7

-    Poista automaattisen näytön ilmaukset #2 ja #7.

-Näet automaattisen näytön ilmaukset ja niiden numerot syöttämällä 'info 

-display'.

-

-[up]

-

-Valitse ja tulosta tätä kutsunut pinokehys.

-Seuraavat komennot 'info arguments' ja 'info locals' näyttävät

-valitun kehyksen paikalliset muuttujat ja argumentit.

-Katso komennot 'down' ja 'frame'.

-

-[viewswf]

-

-Määrittää tai tyhjentää tiedostoluettelon ('info files' tai 'info sources') 

-suodattimen swf-nimen perusteella. 

-Ilman parametrejä kaikki tiedostot näytetään.  Jos sama tiedosto esiintyy 

-useassa swf:ssä, luettelossa näkyy vain tiedoston ensimmäinen esiintymä.  

-Saat tiedoston muut esiintymät näkyviin käyttämällä tiedoston numeroa (esim. 

-'list #192') tai tätä komentoa parametrin kanssa (katso alla). Näin voit 

-tarkastella jonkin tietyn swf:n tiedostoja.  Jos käytössä on vain yksi 

-parametri, komennon 'info swfs' näyttämä swf-nimi, ainoastaan määritetyn swf:n 

-tiedostot tulevat näkyviin luetteloon.  

-Muissa swf-tiedostoissa olevia tiedostoja ei näytetä.  Tämä komento vaikuttaa 

-myös komentoihin, jotka hyväksyvät parametriksi tiedoston (esim. 'break').

-Esimerkki:

-  viewswf myApp.mxml.swf

-    Vain tiedostossa myApp.mxml.swf olevat tiedostot näytetään.

-  viewswf 

-    Kaikkien swf-tiedostojen kaikki tiedostot näytetään.

- 

-[watch]

-

-Lisää katselukohta annettuun muuttujaan. Virheenkorjaustoiminto keskeyttää 

-suorittamisen muuttujan arvon vaihtuessa.

-Esimerkki:

-  watch foo

-

-[what]

-

-Näyttää kontekstin, jonka sisällä muuttuja ratkaistaan. 

-

-[where]

-

-Pinon backtrace.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fr.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fr.txt
deleted file mode 100644
index 5caffc7..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_fr.txt
+++ /dev/null
@@ -1,835 +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.
-
-
-This file contains the text displayed by the 'help' command in fdb.
-
-It is divided into "topics". For example, when an fdb user types
-'help break', the [break] topic below is displayed.
-
-The first and last lines of each topic should be blank.
-They don't get displayed in fdb; they are here only
-to make this file more easily readable.
-
-Help text should be formatted to not wrap
-when displayed on an 80-character-wide console.
-The following line is 80 characters wide.
-
---------------------------------------------------------------------------------
-
-[?]
-
-Commande non définie. Saisissez « help » pour afficher la liste de toutes les commandes 
-fdb.
-
-[break]
-
-Définit un point d'arrêt à une ligne ou une fonction spécifique.
-Exemples :
-  break 87
-    Définit un point d'arrêt à la ligne 87 du fichier en cours.
-  break myapp.mxml:56
-    Définit un point d'arrêt à la ligne 56 du fichier myapp.mxml.
-  break #3:29
-    Définit un point d'arrêt à la ligne 29 du fichier n° 3.
-  break doThis
-    Définit un point d'arrêt à la fonction doThis() du fichier en cours.
-  break myapp.mxml:doThat
-    Définit un point d'arrêt à la fonction doThat() du fichier myapp.mxml.
-  break #3:doOther
-    Définit un point d'arrêt à la fonction doOther() du fichier n° 3.
-  break
-   Définit un point d'arrêt à l'adresse d'exécution actuelle dans le frame de pile en cours.
-Cela sert à l'arrêt d'un retour vers un frame de pile.
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Pour afficher les noms de fonctions, saisissez « info functions ».
-Les noms de fichiers et de fonctions abrégés sont acceptés s'ils ne sont pas ambigus.
-Si un numéro de ligne est spécifié, l'arrêt se produit au début du code de cette ligne.
-Si une fonction est spécifiée, l'arrêt se produit au début du code de cette fonction.
-Pour plus de contrôle des points d'arrêt, voir « commands » et « condition ».
-
-[bt]
-
-Parcours arrière de la pile.
-
-[catch]
-
-S'arrête lorsqu'une exception est émise.  Cela affecte uniquement les exceptions 
-interceptées, c'est-à-dire celles qui seront gérées par un bloc « catch ».  
-Les exceptions non interceptées s'arrêtent toujours dans le débogueur.
-
-Utilisez la commande « delete » pour supprimer un point d'interception.
-
-Exemples :
-  catch *
-    S'arrête lorsqu'une exception est émise.
-  catch ReferenceError
-    S'arrête lorsqu'une erreur de référence (ReferenceError) est émise, qu'elle soit 
-interceptée ou non.
-
-[cf]
-
-Affiche le nom et le numéro du fichier en cours ou modifie le fichier en cours.
-Exemples :
-  cf
-    Affiche le nom et le numéro du fichier en cours.
-  cf myapp.mxml
-    myapp.mxml devient le fichier en cours.
-  cf #29
-    Le fichier n° 29 devient le fichier en cours.
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Les noms de fichiers abrégés sont acceptés s'ils ne sont pas ambigus.
-Un fichier devient également le fichier en cours lorsque vous l'affichez avec la commande 
-« list ».
-
-[clear]
-
-Supprime un point d'arrêt à la ligne ou la fonction spécifiée.
-Exemples :
-  clear 87
-    Supprime le point d'arrêt à la ligne 87 du fichier en cours.
-  clear myapp.mxml:56
-    Supprime le point d'arrêt à la ligne 56 du fichier myapp.mxml.
-  clear #3:29
-    Supprime le point d'arrêt à la ligne 29 du fichier n° 3.
-  clear doThis
-    Supprime le point d'arrêt à la fonction doThis() du fichier en cours.
-  clear myapp.mxml:doThat
-    Supprime le point d'arrêt à la fonction doThat() du fichier myapp.mxml.
-  clear #3:doOther
-    Supprime le point d'arrêt à la fonction doOther() du fichier n° 3.
-  clear
-    Supprime le point d'arrêt à la ligne actuelle du fichier en cours. 
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Pour afficher les noms de fonctions, saisissez « info functions ».
-Les noms de fichiers et de fonctions abrégés sont acceptés s'ils ne sont pas ambigus.
-Si une numéro de ligne est spécifié, tous les points d'arrêt de cette ligne sont supprimés.
-Si une fonction est spécifiée, les points d'arrêt situés en début de fonction sont supprimés.
-
-[continue]
-
-Continue l'exécution après l'arrêt au point d'arrêt.
-Cette commande ne prend aucun argument.
-
-[condition]
-
-
-Spécifie le numéro de point d'arrêt N auquel s'arrêter si COND est vrai.
-Utilisation : « condition N COND », où N est un entier et COND une expression à évaluer 
-lorsque le point d'arrêt N est atteint.
-
-[commands]
-
-Définit les commandes à exécuter lorsqu'un point d'arrêt est atteint.
-Indiquez le numéro de point d'arrêt en tant qu'argument après « commands ».
-Sans argument, le dernier point d'arrêt défini est celui ciblé.
-Les commandes sont insérées ensuite à partir de la ligne suivante.
-Tapez une ligne contenant « end » pour indiquer la fin des commandes.
-Saisissez « silent°» sur la première ligne pour rendre le point d'arrêt silencieux.
-Aucune sortie n'est alors imprimée lorsqu'il est atteint, excepté les éléments 
-imprimés par les commandes.
-Exemple :
-  (fdb) commands
-  Tapez les commandes, pour le moment où le point d'arrêt 1 est atteint, une par ligne.
-  Terminez avec une ligne indiquant simplement « end ».
-  >w
-  >end
-
-[connect]
-
-Se connecte à la version de débogage de Flash Player qui écoute un port.
-Le seul lecteur écoutant actuellement les connexions de débogage est spécifique au mobile, 
-les autres se connectent toujours.
-
-Exemples :
-  connect
-    Se connecte à la version de débogage de Flash Player qui écoute le port 7936.
-  connect 7938
-    Se connecte à la version de débogage de Flash Player qui écoute le port 7938.
-    
-[worker]
-
-Définit l'opérateur actif auquel les commandes de débogueur suivantes sont envoyées.
-Saisissez « info workers » pour obtenir la liste des opérateurs. 
-Le thread principal a l'ID 0.
-
-Exemples :
-  worker 3
-    Définit l'opérateur possédant l'ID 3 comme opérateur actif.        
-
-[delete]
-
-Supprime un ou plusieurs points d'arrêt.
-Exemples :
-  delete
-    Supprime tous les points d'arrêt.
-  delete 2 5
-    Supprime les points d'arrêt n° 2 et 5.
-Pour afficher les numéros des points d'arrêt, saisissez « info breakpoints ».
-
-[directory]
-
-Modifie la liste des répertoires dans lesquels fdb recherche les fichiers source.
-
-Exemples :
-
-  directory
-    Restaure la valeur par défaut de la liste, c'est-à-dire le répertoire dans lequel 
-le fichier source a été compilé en code objet, suivi par le répertoire de travail actuel.
-
-  directory C:\MySource        (Windows)
-  directory /MySource          (Mac)
-    Ajoute le répertoire spécifié au début de la liste de répertoires, pour y rechercher 
-une source.  
-Lors d'une recherche de la source pour la classe mypackage.MyClass, par exemple,le débogueur 
-recherche C:\MySource\mypackage\MyClass.as et C:\MySource\MyClass.as.
-
-  directory C:\Dir1;C:\Dir2    (Windows : utiliser le séparateur « ; »)
-  directory /Dir1:/Dir2        (Mac : utiliser le séparateur « : »)
-    Ajoute plusieurs répertoires au début de la liste de répertoires, pour y rechercher 
-une source.
-
-Pour afficher la liste actuelle, saisissez « show directories ».
-
-[disable]
-
-Désactive un ou plusieurs points d'arrêt ou expressions d'affichage automatique.
-Exemples :
-  disable
-  disable breakpoints
-    Désactive tous les points d'arrêt.
-  disable 2 5
-  disable breakpoints 2 5
-    Désactive les points d'arrêt n° 2 et 5.
-  disable display
-    Désactive toutes les expressions d'affichage automatique.
-  disable display 1 3
-    Désactive les expressions d'affichage automatique n° 1 et 3.
-Pour afficher les numéros des points d'arrêt, saisissez « info breakpoints ».
-Pour afficher les numéros des expressions d'affichage automatique, 
-saisissez « info display ».
-
-[disassemble]
-
-(ActionScript 2 uniquement, non pris en charge lors du débogage d'ActionScript 3)
-
-Désassemble une partie spécifique du code source.
-La valeur par défaut est la ligne de la liste actuelle.
-Les arguments pris en charge sont les mêmes que ceux pour la commande list.
-Exemples :
-  disassemble 87
-    Désassemble la ligne 87 du fichier en cours.
-  disassemble 87 102
-    Désassemble les lignes 87 à 102 du fichier en cours.
-  disassemble doThis
-      Désassemble la fonction doThis() du fichier en cours.
-Outre l'utilisation des numéros de ligne, comme illustré ci-dessus, vous pouvez également 
-spécifier des lignes des manières suivantes :
-   myapp.mxml
-      Ligne 1 du fichier myapp.mxml.
-   myapp.mxml:doThat
-      La première ligne de la fonction doThat() du fichier myapp.mxml.
-   myapp.mxml:56
-      Ligne 56 du fichier myapp.mxml.
-   #3
-      Ligne 1 du fichier n° 3.
-   #3:doOther
-      La ligne du fichier n° 3 où commence la fonction doOther().
-   #3:29
-      Ligne 29 du fichier n° 3.
-
-[display]
-
-Ajoute une expression à la liste des expressions d'affichage automatique.
-Exemple :
-  display employee.name
-    Ajoute « employee.name » à la liste des expressions d'affichage automatique.
-    A chaque arrêt de fdb, la valeur employee.name s'affiche.
-L'argument de cette commande est similaire à celui de « print ».
-Pour afficher la liste des expressions d'affichage automatique avec leur numéro, 
-saisissez « info display ».
-
-[down]
-
-Sélectionne et imprime le frame de pile appelé par cette commande.
-Les commandes « info arguments » et « info locals » suivantes affichent les variables 
-locales et les arguments du frame sélectionné.
-Voir « up » et « frame » 
-
-[enable]
-
-Active un ou plusieurs points d'arrêt ou expressions d'affichage automatique.
-Exemples :
-  enable
-  enable breakpoints
-    Active tous les points d'arrêt.
-  enable 2 5
-  enable breakpoints 2 5
-    Active les points d'arrêt n° 2 et 5.
-  enable display
-    Active toutes les expressions d'affichage automatique.
-  enable display 1 3
-    Active les expressions d'affichage automatique n° 1 et 3.
-Pour afficher les numéros des points d'arrêt, saisissez « info breakpoints ».
-Pour afficher les numéros des expressions d'affichage automatique, 
-saisissez « info display ».
-
-[file]
-
-Spécifie une application à déboguer, sans la lancer.
-Exemples :
-  file http://www.mysite.com/myapp.mxml
-    Spécifie une application MXML à déboguer.
-  file myapp.swf
-    Spécifie un fichier SWF local à déboguer dans le répertoire actif.
-    Dans ce cas, myapp.swd (le fichier contenant les informations de débogage) doit également 
-exister dans le répertoire actif.
-Cette commande ne lance pas l'application ; utilisez la commande « run » sans argument 
-pour démarrer le débogage de l'application.
-Au lieu d'utiliser « file <cible> », puis « run », vous pouvez spécifier l'application 
-à déboguer en tant qu'argument de « run » :
-  run http://mysite.com/myapp.mxml
-  run myapp.swf
-Vous pouvez également spécifier l'application à déboguer en tant qu'argument de ligne 
-de commande lorsque vous lancez fdb :
-  fdb http://www.mysite.com/myapp.mxml
-  fdb myapp.swf
-Dans ce cas, vous n'avez pas besoin d'utiliser « file » ni « run ».
-Si vous utilisez « run » sans spécifier d'application à déboguer, fdb attend 
-qu'une application s'y connecte.
-
-[finish]
-
-S'exécute jusqu'au retour de la fonction en cours.
-Cette commande ne prend aucun argument.
-
-[frame]
-
-Sélectionne et imprime un frame de pile particulier.
-Cette commande prend un argument facultatif, un numéro de frame.
-Si aucun argument n'est fourni, la valeur par défaut renvoie au frame actif supérieur 
-(c'est-à-dire le frame 0).
-Exemples :
-  frame 4
-  frame
-Les commandes « info arguments » et « info locals » suivantes affichent les variables 
-locales et les arguments du frame sélectionné.
-Voir « up », « frame » et « bt » 
-
-[handle]
-
-Spécifie la manière dont fdb doit gérer une erreur dans Flash Player.
-Exemples :
-  handle recursion_limit stop
-    Lorsqu'une erreur recursion_limit se produit, affiche un message dans fdb et s'arrête 
-comme devant un point d'arrêt.
-  handle all print nostop
-    Quand une erreur se produit, affiche un message dans fdb, mais ne s'arrête pas.
-Le premier argument est un nom d'erreur ou « all ».
-Les autres arguments sont des actions à appliquer à cette erreur.
-Pour afficher le nom des erreurs, saisissez « info handle ».
-Les actions sont print/noprint et stop/nostop.
-« print » entraîne l'impression d'un message lorsque cette erreur se produit.
-« stop » entraîne la réouverture de la session du débogueur lorsque cette erreur se produit.
-Implique « print ».
-
-[help]
-
-Nouvel utilisateur de fdb ? Saisissez « tutorial » pour obtenir des informations de base.
-Liste des commandes fdb :
-bt (bt)               Imprime le parcours arrière de tous les frames de pile
-break (b)             Définit un point d'arrêt à une ligne ou une fonction spécifique
-catch (ca)            S'arrête lorsqu'une exception est émise
-cf (cf)               Affiche le nom et le numéro du fichier en cours
-clear (cl)           Supprime un point d'arrêt à la ligne ou la fonction spécifiée
-condition (cond)     Applique/supprime une expression conditionnelle à un point d'arrêt
-connect (con)        Se connecte à la version de débogage de Flash Player
-continue (c)        Continue l'exécution après l'arrêt au point d'arrêt
-commands (com)        Définit les commandes à exécuter lorsque le point d'arrêt est atteint
-delete (d)            Supprime les points d'arrêt ou les expressions d'affichage 
-                      automatique
-directory (dir)      Ajoute un répertoire au chemin de recherche de fichiers source
-disable (disab)      Désactive les points d'arrêt ou les expressions d'affichage 
-                      automatique
-disassemble (disas) Désassemble les fonctions ou les lignes source
-display (disp)       Ajoute des expressions d'affichage automatique
-enable (e)            Active des points d'arrêt ou des expressions d'affichage automatique
-file (fil)           Spécifie une application à déboguer
-finish (f)           S'exécute jusqu'au retour de la fonction en cours
-handle (han)         Spécifie la gestion d'une erreur
-help (h)             Affiche l'aide des commandes fdb
-home (ho)            Définit l'emplacement dans une liste où l'exécution est arrêtée
-info (i)             Affiche des informations sur le programme en cours de débogage
-kill (k)             Annule l'exécution du programme en cours de débogage
-list (l)            Liste une fonction ou ligne spécifiée
-next (n)             Avance d'un pas dans un programme
-print (p)            Imprime la valeur de la variable EXP
-pwd (pw)             Imprime le répertoire de travail
-quit (q)             Quitte fdb
-run (r)              Démarre le programme débogué
-set (se)             Définit la valeur d'une variable
-source (so)          Lit les commandes fdb à partir d'un fichier
-step (s)             Avance d'un ou plusieurs pas dans un programme jusqu'à atteindre 
-                      une ligne source différente
-tutorial (t)         Affiche un didacticiel sur l'utilisation de fdb
-undisplay (u)        Supprime une expression d'affichage automatique
-viewswf (v)          Définit ou supprime un filtre à appliquer à une liste de fichiers 
-                      basé sur l'extension .swf
-watch (wa)           Ajoute un point de contrôle sur une variable donnée
-what (wh)            Affiche le contexte d'une variable
-where (w)            Identique à bt
-worker (wo)          Définit l'opérateur actif
-Saisissez « help » suivi du nom de la commande pour obtenir une documentation complète.
-
-[home]
-
-Définit l'emplacement dans une liste où l'exécution est arrêtée.
-
-[info]
-
-Commande générique pour l'affichage d'informations relatives au programme 
-en cours de débogage.
-Liste des sous-commandes info :
-info arguments (i a)    Variables d'argument du frame de pile en cours
-info breakpoints (i b)  Etat des points d'arrêt définissables par l'utilisateur
-info display (i d)      Affiche la liste des expressions d'affichage automatique
-info files (i f)        Noms des cibles et fichiers en cours de débogage
-info functions (i fu)   Tous les noms de fonctions
-info handle (i h)       Gestion d'une erreur
-info locals (i l)       Variables locales du frame de pile en cours
-info scopechain (i sc)  Chaîne de portée du frame de pile en cours
-info sources (i so)     Fichiers source du programme
-info stack (i s)        Parcours arrière de la pile
-info swfs (i sw)        Liste les fichiers .swf de la session
-info targets(i t)       Application en cours de débogage
-info variables (i v)    Tous les noms des variables globales et statiques
-info workers (i w)      Liste tous les opérateurs
-Saisissez « help info » suivi du nom de la sous-commande info pour obtenir une documentation 
-complète.
-
-[info arguments]
-
-Affiche les arguments du frame de pile en cours.
-
-[info breakpoints]
-
-Affiche l'état de tous les points d'arrêt et points de contrôle.
-La colonne Type indique l'une des valeurs suivantes :
-   breakpoint   - point d'arrêt normal
-   watchpoint   - point de contrôle
-La colonne Disp contient « keep », « del » ou « dis » pour indiquer la disposition 
-du point d'arrêt une fois celui-ci atteint. « dis » signifie que le point d'arrêt 
-sera désactivé, alors que « del » signifie qu'il sera supprimé.  
-Les colonnes « Address » et « What » indiquent l'adresse et le numéro de fichier/ligne, 
-respectivement. 
-
-[info display]
-
-Affiche la liste des expressions d'affichage automatique, avec leur numéro.
-
-[info files]
-
-Affiche le nom et numéro des fichiers pour l'application en cours de débogage, 
-y compris des fichiers source, de structure et générés automatiquement.
-Exemples :
-  info files
-    Liste tous les fichiers, par ordre alphabétique des catégories
-  info files my
-  info files my*
-    Liste, par ordre alphabétique, tous les fichiers dont le nom commence par « my ».
-  info files *.as
-    Liste, par ordre alphabétique, tous les fichiers dont le nom finit par « as ».
-  info files *foo*
-    Liste, par ordre alphabétique, tous les fichiers dont le nom contient « foo ». 
-Les fichiers sont affichés au format nom#N, où N est le numéro de fichier.
-Dans de nombreuses commandes, vous pouvez utiliser #N à la place du nom d'un fichier.
-
-[info functions]
-
-Affiche le nom des fonctions.
-Exemples :
-  info functions .
-    Affiche toutes les fonctions du fichier en cours.
-  info functions myapp.mxml
-    Affiche toutes les fonctions du fichier myapp.mxml.
-  info functions #3
-    Affiche toutes les fonctions du fichier n° 3.
-  info functions
-    Affiche les fonctions de tous les fichiers.
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Les noms de fichiers abrégés sont acceptés s'ils ne sont pas ambigus.
-
-[info handle]
-
-Affiche l'action prise par fdb lorsqu'une erreur se produit dans Flash Player.
-Exemples :
-  info handle
-    Affiche la gestion de toutes les erreurs par fdb.
-  info handle recursion_limit
-    Affiche la gestion d'une erreur recursion_limit par fdb.
-
-[info locals]
-
-Affiche les variables locales du frame de pile en cours.
-
-[info scopechain]
-
-Affiche la chaîne de portée du frame de pile en cours.  La chaîne de portée est la liste 
-d'objets dans laquelle Flash Player effectue des recherches lorsqu'il tente de résoudre 
-un nom de symbole.
-
-[info sources]
-
-Affiche le nom et le numéro des fichiers source pour l'application en cours de débogage. 
-Les fichiers de structure et générés automatiquement ne sont pas inclus.
-Les fichiers sont affichés au format nom#N, où N est le numéro de fichier.
-Dans de nombreuses commandes, vous pouvez utiliser #N à la place du nom d'un fichier.
-
-[info stack]
-
-Parcours arrière de la pile.
-
-[info swfs]
-
-Affiche les fichiers .swf connus dans la session de débogage.  
-Voir la commande « viewswf » pour obtenir des détails sur le filtrage d'une liste de fichiers 
-en fonction du nom d'un fichier .swf. 
-
-[info targets]
-
-Affiche l'URL (http: ou file:) de l'application en cours de débogage.
-
-[info variables]
-
-Affiche les noms et valeurs de toutes les variables globales et statiques.
-
-[info workers]
-
-Affiche tous les opérateurs qui ont été démarrés.
-
-[info ?]
-
-Commande info non définie. Essayez « help info ».
-
-[kill]
-
-Annule l'exécution du programme en cours de débogage.
-Cette commande ne prend aucun argument.
-
-[list]
-
-Liste les lignes de code d'un fichier source.
-Exemples :
-  list
-    Liste dix lignes de plus dans le fichier en cours après ou autour de la liste précédente.
-  list -
-    Liste les dix lignes du fichier en cours situées avant la liste précédente.
-  list 87
-    Liste dix lignes du fichier en cours autour de la ligne 87.
-  list 87 102
-    Liste les lignes 87 à 102 du fichier en cours.
-Outre l'utilisation des numéros de ligne, comme illustré ci-dessus, vous pouvez également 
-spécifier des lignes de sept manières différentes :
-  doThis
-      La première ligne de la fonction doThis() du fichier en cours.
-   myapp.mxml
-      Ligne 1 du fichier myapp.mxml.
-   myapp.mxml:doThat
-      La première ligne de la fonction doThat() du fichier myapp.mxml.
-   myapp.mxml:56
-      Ligne 56 du fichier myapp.mxml.
-   #3
-      Ligne 1 du fichier n° 3.
-   #3:doOther
-      La ligne du fichier n° 3 où commence la fonction doOther().
-   #3:29
-      Ligne 29 du fichier n° 3.
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Pour afficher les noms de fonctions, saisissez « info functions ».
-Les noms de fichiers et de fonctions abrégés sont acceptés s'ils ne sont pas ambigus.
-Lorsque vous le listez, un fichier devient le fichier en cours. Voir la commande « cf ».
-
-[next]
-
-Avance d'un pas dans un programme, en procédant par appels de sous-routine.
-  next
-    Avance d'un pas.
-  next 3
-    Avance de trois pas ou jusqu'à ce que le programme s'arrête pour toute autre raison.
-Identique à la commande « step », lorsque les appels de sous-routine ne se produisent pas. 
-Lorsqu'ils surviennent, l'appel est traité comme une instruction.
-
-[print]
-
-Imprime la valeur de variable ou d'expression.
-Exemples :
-  print i
-    Imprime la valeur de « i ».
-  print employee.name
-    Imprime la valeur de « employee.name ».
-  print employee
-    Imprime la valeur de l'objet « employee ».
-    Une valeur de type [Object 10378] peut s'afficher.
-  print employee
-    Imprime les valeurs de toutes les propriétés de l'objet « employee ».
-  print *employee
-    Imprime les valeurs de toutes les propriétés de l'objet « employee ».
-    L'opérateur * placé en préfixe est une alternative à l'opérateur . placé en suffixe.
-  print #10378.
-    Imprime les valeurs de toutes les propriétés de l'objet n° 10378.
-Les variables accessibles sont celles de l'environnement lexical du frame de pile 
-sélectionné, auxquelles s'ajoutent toutes celles dont la portée est globale 
-ou d'un fichier entier.
-
-[pwd]
-
-Imprime le répertoire de travail actif.
-Il s'agit du répertoire à partir duquel a été lancé fdb ; il ne peut pas être modifié 
-dans fdb. L'argument pour « run » et « source » peut être spécifié par rapport 
-à ce répertoire.
-Cette commande ne prend aucun argument.
-
-[quit]
-
-Quitte fdb.
-Cette commande ne prend aucun argument.
-
-[run]
-
-Démarre une session de débogage.
-Exemples :
-  run http://www.mysite.com/myapp.mxml
-    Exécute l'application MXML spécifiée.
-  run myapp.swf
-  run mydir\myapp.swf
-  run c:\mydir\myapp.swf
-    Exécute le fichier SWF local myapp.swf, qui peut être spécifié soit par rapport 
-au répertoire actif (voir la commande « pwd ») soit en utilisant un chemin absolu. 
-Dans ces cas, myapp.swd(le fichier contenant les informations de débogage) doit également 
-être présent dans le même répertoire que le fichier myapp.swf.
-  run
-    Exécute l'application auparavant spécifiée par la commande « file ».
-    Si aucune application n'est spécifiée, fdb attend qu'une application s'y connecte 
-ou que le temps d'attente arrive à expiration.
-« run » démarre l'application dans un navigateur ou Flash Player autonome.
-Dès que l'application démarre, elle s'affiche dans fdb, pour que vous puissiez définir 
-des points d'arrêt, par exemple.
-
-Sur Macintosh, la seule forme prise en charge de la commande est « run » sans argument.  
-Vous devez ensuite lancer manuellement Flash Player.
-
-[set]
-
-Définit la valeur d'une variable ou d'une variable dite de convenance.
-Ces dernières sont des variables qui existent uniquement dans fdb ; elles ne font pas partie 
-de votre programme.
-Elles portent le préfixe « $ » et un nom quelconque, à condition qu'il ne soit pas identique 
-à celui d'une variable existante.  Par exemple, $myVar.  Ces variables servent également 
-à contrôler de nombreux aspects de fdb.  
-
-Les variables de convenance suivantes sont utilisées par fdb :
-$listsize          - nombre de lignes source à afficher pour « list »
-$columnwrap        - numéro de la colonne dans laquelle la sortie est renvoyée
-$infostackshowthis - si la valeur est 0, n'affiche pas « this » dans le parcours arrière 
-de la pile
-$invokegetters     - si la valeur est 0, empêche le lancement de fonctions d'accès get 
-par fdb
-$bpnum             - le dernier numéro de point d'arrêt défini
-$displayattributes - si la valeur est 1, « print var. » affiche tous les attributs des 
-membres
-                     de « var » (par ex., private et static)
-
-Exemples :
-  set i = 3
-    Définit la variable « i » sur le numéro 3.
-  set employee.name = "Susan"
-    Définit la variable « employee.name » sur la chaîne « Susan ».
-  set $myVar = 20
-    Définit la variable de convenance « $myVar » sur le numéro 20
-
-[show]
-
-Commande générique pour l'affichage d'informations relatives à l'état de fdb.
-Liste des sous-commandes show :
-show break (sh b)        Emplacement et raison de l'exécution suspendue
-show directories (sh d) Répertoires dans lesquels rechercher les fichiers source
-show files (sh f)        Chemins et fichiers cible
-show functions (sh fu)  Informations sur le mappage de lignes de fonctions 
-show locations (sh l)   Emplacement des points d'arrêt
-show memory (sh m)      Utilisation de la mémoire en cours
-show net (sh n)          Statistiques des messages du lecteur 
-show properties (sh p)  Valeurs des propriétés
-show uri (sh u)          URI du lecteur pour cette session 
-show variable (sh v)    Extraction de variables brutes
-Saisissez « help show » suivi du nom de la sous-commande show pour obtenir une documentation 
-complète.
-
-[show break]
-
-Affiche le décalage au sein du fichier SWF sur lequel s'est arrêté le programme.
-
-[show directories]
-
-Affiche le chemin de recherche actif pour trouver des fichiers source.
-
-[show files]
-
-Affiche le chemin et le nom de fichier pour tous les fichiers cible.
-
-[show functions]
-
-Affiche les informations de mappage des fonctions aux numéros de ligne.
-Exemples :
-  show functions .
-    Affiche les informations de mappage pour toutes les fonctions du fichier en cours.
-  show functions myapp.mxml
-    Affiche les informations de mappage pour toutes les fonctions du fichier myapp.mxml.
-  show functions #3
-    Affiche les informations de mappage pour toutes les fonctions du fichier n° 3.
-  show functions
-    Affiche les informations de mappage pour les fonctions de tous les fichiers.
-Pour afficher les noms et numéros de fichiers, saisissez « info sources » ou « info files ».
-Les noms de fichiers abrégés sont acceptés s'ils ne sont pas ambigus.
-
-[show locations]
-
-Affiche la liste des emplacements définis pour chaque point d'arrêt.
-
-[show memory]
-
-Affiche les statistiques de la mémoire de la VM Java.
-
-[show net]
-
-Affiche les informations relatives aux messages que Flash Player envoie et reçoit.
-
-[show properties]
-
-Affiche la liste des variables de convenance utilisées dans le débogueur. 
-
-[show uri]
-
-Affiche l'URI envoyé pour cette session par le lecteur.
-
-[show variable]
-
-Affiche la valeur des membres d'une variable.  Deux paramètres sont requis : le premier 
-est l'identificateur de variable numérique, le second est le nom de propriété sur la variable.  
-La variable de convenance $invokegetters est utilisée pour déterminer si la méthode d'accès 
-aux propriétés, en supposant qu'elle existe, sera lancée ou non.
-Exemple :
-    show variable 1 __proto__
-
-[show ?]
-
-Commande show non définie. Essayez « help show ».
-
-[source]
-
-Lit des commandes fdb à partir d'un fichier et les exécute.
-  source mycommands.txt
-  source mydir\mycommands.txt
-  source c:\mydir\mycommands.txt
-    Lit le fichier mycommands.txt et y exécute les commandes fdb.
-    Le fichier contenant les commandes peut être spécifié soit par rapport 
-au répertoire actif (voir la commande « pwd ») soit en utilisant un chemin absolu.
-Le fichier .fdbinit est automatiquement lu de cette manière lorsque fdb est lancé.
-Le fichier .fdbinit est uniquement recherché dans le répertoire actif. Cela signifie que 
-vous avez pu paramétrer plusieurs fichiers .fdbinit pour différents projets.
-
-[step]
-
-Avance d'un ou plusieurs pas dans un programme jusqu'à atteindre une ligne source différente.
-Exemples :
-  step
-    Avance d'un pas.
-  step 3
-    Avance de trois pas ou jusqu'à ce que le programme s'arrête pour toute autre raison.
-
-[tutorial]
-
-Affiche un didacticiel sur l'utilisation de fdb.
-Cette commande ne prend aucun argument.
-
-[Tutorial]
-
-Session fdb typique :
-Démarrez une application avec « run ».
-Affichez les noms de fichiers avec « info sources ».
-Listez un fichier avec « list ».
-Définissez des points d'arrêt avec « break ».
-Exécutez un programme avec « continue » jusqu'à ce qu'un point d'arrêt soit atteint.
-Examinez l'état d'un programme avec « where », « print » et « info locals ».
-Exécutez des instructions individuelles avec « next », « step » et « finish ».
-Reprenez l'exécution avec « continue ».
-Quittez fdb avec « quit ».
-
-[undisplay]
-
-Supprime une ou plusieurs expressions d'affichage automatique.
-Exemples :
-  undisplay
-    Supprime toutes les expressions d'affichage automatique.
-  undisplay 2 7
-    Supprime les expressions d'affichage automatique n° 2 et 7.
-Pour afficher la liste des expressions d'affichage automatique avec leur numéro, 
-saisissez « info display ».
-
-[up]
-
-Sélectionne et imprime le frame de pile ayant appelé cette commande.
-Les commandes « info arguments » et « info locals » suivantes affichent les variables 
-locales et les arguments du frame sélectionné.
-Voir « down » et « frame »
-
-[viewswf]
-
-Définit ou supprime un filtre d'une liste de fichiers (c.-à-d. « info files » et 
-« info sources »), en fonction du nom d'un fichier .swf. 
-Sans paramètre, tous les fichiers sont affichés.  Si le même fichier est présent dans un 
-ou plusieurs fichiers .swf, la liste affiche uniquement la première instance du fichier.  
-Pour accéder à d'autres instances du fichier, utilisez le numéro du fichier (par ex., 
-« list #192 ») ou utilisez cette commande avec un paramètre (voir ci-dessous) pour afficher 
-des fichiers d'un fichier .swf spécifique.  Avec un seul paramètre, et le nom du fichier .swf, 
-tel qu'il est affiché par la commande « info swfs », seuls les fichiers issus du fichier .swf 
-spécifié sont affichés dans la liste de fichiers.  
-Les fichiers issus d'autres fichiers .swf ne sont pas affichés.  Cette commande affecte 
-également les commandes qui acceptent un fichier en tant que paramètre (par ex., « break »)
-Exemple :
-  viewswf myApp.mxml.swf
-    Seuls les fichiers issus du fichier myApp.mxml.swf sont affichés.
-  viewswf 
-    Les fichiers de tous les fichiers .swf sont affichés.
- 
-[watch]
-
-Ajoute un point de contrôle sur une variable donnée. Le débogueur arrête l'exécution lorsque 
-la valeur de la variable change.
-Exemple :
-  watch foo
-
-[what]
-
-Affiche le contexte dans lequel est résolue une variable. 
-
-[where]
-
-Parcours arrière de la pile.
-
-[zzz]
-
-((( Keep this unused topic at the end of the file    )))
-((( so that the next-to-last one is parsed properly. )))
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_it.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_it.txt
deleted file mode 100644
index 4542387..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_it.txt
+++ /dev/null
@@ -1,872 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Comando non definito. Immettere solo "help" per visualizzare l'elenco di tutti 

-i comandi di fdb.

-

-[break]

-

-Imposta un breakpoint in corrispondenza della riga o della funzione specificata.

-Esempi:

-  break 87

-    Imposta un breakpoint alla riga 87 del file corrente.

-  break myapp.mxml:56

-    Imposta un breakpoint alla riga 56 del file myapp.mxml.

-  break #3:29

-    Imposta un breakpoint alla riga 29 del file numero 3.

-  break doThis

-    Imposta un breakpoint in corrispondenza della funzione doThis() del file 

-    corrente.

-  break myapp.mxml:doThat

-    Imposta un breakpoint in corrispondenza della funzione doThat() del file 

-    myapp.mxml.

-  break #3:doOther

-    Imposta un breakpoint in corrispondenza della funzione doOther() del file 

-    numero 3.

-  break

-   Imposta un breakpoint nell'indirizzo di esecuzione corrente in 

-   corrispondenza del frame dello stack corrente. È utile per inserire 

-   un'interruzione nei punti di ritorno al frame dello stack.

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Per visualizzare i nomi delle funzioni, immettere "info functions".

-Sono accettati i nomi abbreviati di file e funzioni a condizione che non siano 

-ambigui.

-Se viene specificato un numero di riga, l'interruzione avviene all'inizio del 

-codice di tale riga.

-Se viene specificata una funzione, l'interruzione avviene all'inizio del codice 

-di tale funzione.

-Per altre opzioni di controllo dei breakpoint, vedere "commands" e "condition".

-

-[bt]

-

-Back trace dello stack.

-

-[catch]

-

-Interrompe l'esecuzione quando viene generata un'eccezione. Vale solo per le 

-eccezioni rilevate, vale a dire le eccezioni che vengono gestite da un blocco 

-"catch". Le eccezioni non rilevate interrompono sempre l'esecuzione nel 

-debugger.

-

-Utilizzare il comando "delete" per eliminare un punto di intercettazione.

-

-Esempi:

-  catch *

-    Interrompe l'esecuzione quando viene generata qualsiasi eccezione.

-  catch ReferenceError

-    Interrompe l'esecuzione quando viene generato un ReferenceError, sia 

-    intercettato che non.

-

-[cf]

-

-Visualizza il nome e il numero del file corrente o cambia il file corrente.

-Esempi:

-  cf

-    Visualizza il nome e il numero del file corrente.

-  cf myapp.mxml

-    Cambia il file corrente in myapp.mxml.

-  cf #29

-    Cambia il file corrente nel file numero 29.

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Sono accettati i nomi abbreviati di file a condizione che non siano ambigui.

-Un file diventa il file corrente anche quando viene elencato con "list".

-

-[clear]

-

-Rimuove il breakpoint in corrispondenza della riga o della funzione specificata.

-Esempi:

-  clear 87

-    Rimuove il breakpoint alla riga 87 del file corrente.

-  clear myapp.mxml:56

-    Rimuove il breakpoint alla riga 56 del file myapp.mxml.

-  clear #3:29

-    Rimuove il breakpoint alla riga 29 del file numero 3.

-  clear doThis

-    Rimuove il breakpoint in corrispondenza della funzione doThis() del file 

-    corrente.

-  clear myapp.mxml:doThat

-    Rimuove il breakpoint in corrispondenza della funzione doThat() del file 

-    myapp.mxml.

-  clear #3:doOther

-    Rimuove il breakpoint in corrispondenza della funzione doOther() del file 

-    numero 3.

-  clear

-    Rimuove il breakpoint nella riga corrente del file corrente. 

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Per visualizzare i nomi delle funzioni, immettere "info functions".

-Sono accettati i nomi abbreviati di file e funzioni a condizione che non siano 

-ambigui.

-Se si specifica il numero di riga, tutti i breakpoint in quella riga vengono 

-eliminati.

-Se si specifica una funzione, i breakpoint all'inizio della funzione vengono 

-eliminati.

-

-[continue]

-

-Continua l'esecuzione dopo l'arresto al breakpoint.

-Questo comando non utilizza argomenti.

-

-[condition]

-

-

-Specifica che il breakpoint numero N deve interrompere l'esecuzione solo se 

-COND è vero.

-Utilizzo: "condition N COND", dove N è un numero intero e COND un'espressione 

-da valutare tutte le volte che viene raggiunto il breakpoint N.

-

-[commands]

-

-Imposta i comandi da eseguire quando viene rilevato un breakpoint.

-Fornire il numero del breakpoint come argomento dopo "commands".

-Senza argomento, il breakpoint di destinazione è quello impostato per ultimo.

-I comandi seguono a partire dalla riga successiva.

-Digitare una riga contenente "end" per indicare la fine dei comandi.

-Immettere "silent" come prima riga per rendere invisibile il breakpoint; in 

-questo modo, quando viene rilevato il breakpoint non viene stampato nulla, 

-tranne l'output dei comandi.

-Esempio:

-  (fdb) commands

-  Digitare i comandi da eseguire quando viene rilevato il breakpoint 1, uno per 

-  riga.

-  Terminare con una riga contenente solo "end".

-  >w

-  >end

-

-[delete]

-

-Elimina uno o più breakpoint.

-Esempi:

-  delete

-    Elimina tutti i breakpoint.

-  delete 2 5

-    Elimina i breakpoint numero 2 e 5.

-Per visualizzare il numero dei breakpoint, immettere "info breakpoints".

-

-[directory]

-

-Modifica l'elenco delle directory in cui fdb cerca i file di origine.

-

-Esempi:

-

-  directory

-    Ripristina l'elenco predefinito, vale a dire la directory in cui il file di 

-    origine è stato compilato in codice oggetto, seguita dalla directory di 

-    lavoro corrente.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    

-Aggiunge la directory specificata all'inizio dell'elenco delle directory in cui 

-cercare l'origine.

-  Quando si cerca l'origine della classe mypackage.MyClass, ad esempio, il 

-  debugger cerca sia C:\MySource\mypackage\MyClass.as che 

-  C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows – Utilizzare ";" come separatore)

-  directory /Dir1:/Dir2        (Mac – Utilizzare ":" come separatore)

-    Aggiunge numerose directory all'inizio dell'elenco delle directory in cui 

-    cercare l'origine.

-

-Per vedere l'elenco corrente, immettere "show directories".

-

-[disable]

-

-Disabilita uno o più breakpoint o espressioni a visualizzazione automatica.

-Esempi:

-  disable

-  disable breakpoints

-    Disabilita tutti i breakpoint.

-  disable 2 5

-  disable breakpoints 2 5

-    Disabilita i breakpoint numero 2 e 5.

-  disable display

-    Disabilita tutte le espressioni a visualizzazione automatica.

-  disable display 1 3

-    Disabilita le espressioni a visualizzazione automatica numero 1 e 3.

-Per visualizzare il numero dei breakpoint, immettere "info breakpoints".

-Per visualizzare il numero delle espressioni a visualizzazione automatica, 

-immettere "info display".

-

-[disassemble]

-

-(Solo per ActionScript 2; non supportato quando si esegue il debug di ActionScript 3)

-

-Disassembla una porzione specifica di codice sorgente.

-La porzione predefinita è la riga dell'elenco corrente.

-Gli argomenti supportati sono gli stessi del comando "list".

-Esempi:

-  disassemble 87

-    Disassembla la riga 87 del file corrente.

-  disassemble 87 102

-    Disassembla dalla riga 87 alla 102 del file corrente.

-  disassemble doThis

-      Disassembla la funzione doThis() nel file corrente.

-Oltre a utilizzare numeri di riga semplici come negli esempi precedenti, 

-è possibile specificare le righe in altri modi:

-   myapp.mxml

-      La riga 1 del file myapp.mxml.

-   myapp.mxml:doThat

-      La prima riga della funzione doThat() del file myapp.mxml.

-   myapp.mxml:56

-      

-La riga 56 del file myapp.mxml.

-   #3

-      La riga 1 del file numero 3.

-   #3:doOther

-      La riga del file numero 3 in cui inizia la funzione doOther().

-   #3:29

-      La riga 29 del file numero 3.

-

-[display]

-

-Aggiunge un'espressione all'elenco delle espressioni a visualizzazione 

-automatica.

-Esempio:

-  display employee.name

-    Aggiunge "employee.name" all'elenco delle espressioni a visualizzazione 

-    automatica.

-    Ogni volta che fdb si arresta viene visualizzato il valore di employee.name.

-L'argomento di questo comando è simile a quello di "print".

-Per visualizzare l'elenco delle espressioni a visualizzazione automatica e del 

-numero corrispondente, immettere "info display".

-

-[down]

-

-Seleziona e stampa il frame dello stack chiamato da questo comando.

-I successivi comandi "info arguments" e "info locals" visualizzano le variabili 

-locali e gli argomenti del frame selezionato.

-Vedere "up" e "frame" 

-

-[enable]

-

-Abilita uno o più breakpoint o espressioni a visualizzazione automatica.

-Esempi:

-  enable

-  enable breakpoints

-    Abilita tutti i breakpoint.

-  enable 2 5

-  enable breakpoints 2 5

-    Abilita i breakpoint numero 2 e 5.

-  enable display

-    Abilita tutte le espressioni a visualizzazione automatica.

-  enable display 1 3

-    Abilita le espressioni a visualizzazione automatica numero 1 e 3.

-Per visualizzare il numero dei breakpoint, immettere "info breakpoints".

-Per visualizzare il numero delle espressioni a visualizzazione automatica, 

-immettere "info display".

-

-[file]

-

-Specifica l'applicazione di cui eseguire il debug, senza avviarla.

-Esempi:

-  file http://www.mysite.com/myapp.mxml

-    Specifica un'applicazione MXML di cui eseguire il debug.

-  file myapp.swf

-    Specifica un file SWF locale, nella directory corrente, di cui eseguire il 

-    debug.

-    In questo caso, nella directory corrente deve esistere anche il file 

-    myapp.swd (il file che contiene le informazioni di debug).

-Questo comando non avvia l'applicazione; per iniziare il debug 

-dell'applicazione, utilizzare il comando "run" senza argomenti.

-Invece di utilizzare "file <destinazione>" e quindi "run", è possibile 

-specificare l'applicazione di cui eseguire il debug come argomento di "run":

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-È inoltre possibile specificare l'applicazione di cui eseguire il debug come 

-argomento della riga di comando quando si avvia fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-In questo caso non è necessario utilizzare "file" o "run".

-Se si utilizza "run" senza specificare l'applicazione di cui eseguire il debug, 

-fdb attende che un'applicazione si connetta ad esso.

-

-[finish]

-

-Continua l'esecuzione fino a quando ritorna la funzione corrente.

-Questo comando non utilizza argomenti.

-

-[frame]

-

-Seleziona e stampa un frame dello stack specifico.

-Questo comando utilizza un argomento facoltativo: il numero di un frame.

-Se non viene fornito l'argomento, per impostazione predefinita torna al frame 

-superiore corrente, vale a dire il frame 0.

-Esempi:

-  frame 4

-  frame

-I successivi comandi "info arguments" e "info locals" visualizzano le variabili 

-locali e gli argomenti del frame selezionato.

-Vedere "up", "down" e "bt" 

-

-[handle]

-

-Specifica come fdb deve gestire un errore di Flash Player.

-Esempi:

-  handle recursion_limit stop

-    Quando si verifica un errore relativo al limite di ricorsività, visualizza 

-    un messaggio in fdb e si arresta come se fosse arrivato a un breakpoint.

-  handle all print nostop

-    Quando si verifica un qualsiasi tipo di errore, visualizza un messaggio in 

-    fdb ma non si arresta.

-Il primo argomento è il nome di un frame o "all".

-Gli argomenti aggiuntivi sono azioni da applicare all'errore.

-Per visualizzare i nomi degli errori, immettere "info handle".

-Le azioni sono "print"/"noprint" e "stop"/"nostop".

-"print" consente di stampare un messaggio se si verifica questo errore.

-"stop" consente di attivare di nuovo il debugger se si verifica questo errore. 

-Implica "print".

-

-[help]

-

-Non avete dimestichezza con fdb? Immettete "tutorial" per visualizzare 

-informazioni di base.

-Elenco dei comandi di fdb:

-bt (bt)             Stampa il back trace di tutte i frame dello stack

-break (b)           Imposta un breakpoint in corrispondenza della riga o della 

-                    funzione specificata

-catch (ca)          Interrompe l'esecuzione quando viene generata un'eccezione

-cf (cf)             Visualizza il nome e il numero del file corrente

-clear (cl)          Rimuove il breakpoint in corrispondenza della riga o della 

-                    funzione specificata

-condition (cond)    Applica/rimuove un'espressione condizionale a/da un 

-                    breakpoint

-continue (c)        Continua l'esecuzione dopo l'arresto nel breakpoint

-commands (com)      Imposta i comandi da eseguire quando viene rilevato un 

-                    breakpoint

-delete (d)          Elimina breakpoint o espressioni a visualizzazione 

-                    automatica

-directory (dir)     Aggiunge una directory al percorso di ricerca dei file di 

-                    origine

-disable (disab)     Disabilita breakpoint o espressioni a visualizzazione 

-                    automatica

-disassemble (disas) Disassembla righe o funzioni di origine

-display (disp)      Aggiunge espressioni a visualizzazione automatica

-enable (e)          Abilita breakpoint o espressioni a visualizzazione 

-                    automatica

-file (fil)          Specifica l'applicazione di cui eseguire il debug

-finish (f)          Continua l'esecuzione fino a quando ritorna la funzione 

-                    corrente

-handle (han)        Specifica come gestire un errore

-help (h)            Visualizza la guida sui comandi di fdb

-home (ho)           Imposta la posizione dell'elenco sul punto in cui viene 

-                    sospesa l'esecuzione

-info (i)            Visualizza informazioni sul programma di cui si sta 

-                    eseguendo il debug

-kill (k)            Interrompe l'esecuzione del programma di cui si sta 

-                    eseguendo il debug

-list (l)            Elenca la funzione o la riga specificata

-next (n)            Analizza il programma passo a passo

-print (p)           Stampa il valore della variabile EXP

-pwd (pw)            Stampa la directory di lavoro

-quit (q)            Esce da fdb

-run (r)             Avvia il programma di cui si è eseguito il debug

-set (se)            Imposta il valore di una variabile

-source (so)         Legge comandi di fdb da un file

-step (s)            Analizza il programma passo a passo fino a quando arriva a 

-                    una riga di origine diversa

-tutorial (t)        Visualizza un'esercitazione su come utilizzare fdb

-undisplay (u)       Rimuove un'espressione a visualizzazione automatica

-viewswf (v)         Imposta o reimposta il filtro per elencare i file swf

-watch (wa)          Aggiunge un punto di controllo in una variabile specificata

-what (wh)           Visualizza il contesto di una variabile

-where (w)           Uguale a "bt"

-Digitare "help" seguito dal nome del comando per visualizzare la documentazione 

-completa.

-

-[home]

-

-Imposta la posizione dell'elenco sul punto in cui viene sospesa l'esecuzione.

-

-[info]

-

-Comando generico per visualizzare informazioni sul programma di cui si sta 

-eseguendo il debug.

-Elenco dei sottocomandi di "info":

-info arguments (i a)    Variabili dell'argomento del frame dello stack corrente

-info breakpoints (i b)  Stato dei breakpoint impostabili dall'utente

-info display (i d)      Visualizza l'elenco delle espressioni a visualizzazione 

-                        automatica

-info files (i f)        Nomi delle destinazioni e dei file di cui si sta 

-                        eseguendo il debug

-info functions (i fu)   Tutti i nomi delle funzioni

-info handle (i h)       Come gestire un errore

-info locals (i l)       Variabili locali del frame dello stack corrente

-info scopechain (i sc)  Catena di ambito del frame dello stack corrente

-info sources (i so)     File di origine del programma

-info stack (i s)        Back trace dello stack

-info swfs (i sw)        Elenco dei file swf di questa sessione

-info targets(i t)       Applicazione di cui si sta eseguendo il debug

-info variables (i v)    Tutti i nomi delle variabili globali e statiche

-Digitare "help info" seguito dal nome del sottocomando di "info" per 

-visualizzare la documentazione completa.

-

-[info arguments]

-

-Visualizza gli argomenti del frame dello stack corrente.

-

-[info breakpoints]

-

-Visualizza lo stato di tutti i breakpoint e punti di controllo.

-La colonna "Type" indica:

-   breakpoint   - breakpoint normale

-   watchpoint   - punto di controllo

-La colonna "Disp" contiene "keep", "del" o "dis" per indicare cosa avverrà del 

-breakpoint dopo che viene rilevato. "dis" significa che il breakpoint verrà 

-disabilitato e "del" che verrà eliminato.  

-Le colonne "Address" e "What" indicano l'indirizzo e il numero di file/riga 

-rispettivamente. 

-

-[info display]

-

-Visualizza l'elenco delle espressioni a visualizzazione automatica e i relativi 

-numeri.

-

-[info files]

-

-Visualizza i nomi e i numeri dei file dell'applicazione di cui si sta eseguendo 

-il debug, inclusi i file di origine, i file dei framework e i file generati 

-automaticamente.

-Esempi:

-  info files

-    Elenca in ordine alfabetico tutti i file divisi per categoria

-  info files my

-  info files my*

-    Elenca in ordine alfabetico tutti i file il cui nome inizia con "my".

-  info files *.as

-    Elenca in ordine alfabetico tutti i file il cui nome termina con ".as".

-  info files *foo*

-    Elenca in ordine alfabetico tutti i file il cui nome contiene "foo". 

-I file vengono visualizzati nel formato nome#N, dove N è il numero del file.

-In molti comandi è possibile utilizzare #N al posto del nome del file.

-

-[info functions]

-

-Visualizza i nomi delle funzioni.

-Esempi:

-  info functions .

-    Visualizza tutte le funzioni nel file corrente.

-  info functions myapp.mxml

-    Visualizza tutte le funzioni nel file myapp.mxml.

-  info functions #3

-    Visualizza tutte le funzioni nel file numero 3.

-  info functions

-    Visualizza tutte le funzioni in tutti i file.

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Sono accettati i nomi abbreviati di file a condizione che non siano ambigui.

-

-[info handle]

-

-Visualizza le operazioni effettuate da fdb quando si verifica un errore in 

-Flash Player.

-Esempi:

-  info handle

-    Visualizza il modo in cui fdb gestisce tutti gli errori.

-  info handle recursion_limit

-    Visualizza il modo in cui fdb gestisce un errore relativo al limite di 

-    ricorsività.

-

-[info locals]

-

-Visualizza le variabili locali del frame dello stack corrente.

-

-[info scopechain]

-

-Visualizza la catena di ambito del frame dello stack corrente. La catena di 

-ambito è l'elenco degli oggetti in cui viene effettuata la ricerca quando Flash 

-Player cerca di risolvere il nome di un simbolo.

-

-[info sources]

-

-Visualizza i nomi e i numeri dei file di origine dell'applicazione di cui si 

-sta eseguendo il debug. I file dei framework e i file generati automaticamente 

-non sono inclusi.

-I file vengono visualizzati nel formato nome#N, dove N è il numero del file.

-In molti comandi è possibile utilizzare #N al posto del nome del file.

-

-[info stack]

-

-Back trace dello stack.

-

-[info swfs]

-

-Visualizza i file swf noti alla sessione di debug. Per maggiori informazioni su 

-come filtrare l'elenco dei file in base al nome di file swf, vedere il comando 

-"viewswf". 

-

-[info targets]

-

-Visualizza l'URL (http: o file:) dell'applicazione sottoposta a debug.

-

-[info variables]

-

-Visualizza tutti i nomi e i valori delle variabili globali e statiche.

-

-[info ?]

-

-Comando per ottenere informazioni non definito. Provare con "help info".

-

-[kill]

-

-Interrompe l'esecuzione del programma di cui si sta eseguendo il debug

-Questo comando non utilizza argomenti.

-

-[list]

-

-Elenca righe di codice di un file di origine.

-Esempi:

-  list

-    Elenca altre dieci righe del file corrente dopo o attorno all'elenco 

-    precedente.

-  list -

-    Elenca le dieci righe del file corrente prima di un elenco precedente.

-  list 87

-    Elenca dieci righe del file corrente attorno alla riga 87.

-  list 87 102

-    Elenca dalla riga 87 alla 102 del file corrente.

-Oltre a utilizzare numeri di riga semplici come negli esempi precedenti, è 

-possibile specificare le righe in altri sette modi:

-  doThis

-      La prima riga della funzione doThis() del file corrente.

-   myapp.mxml

-      La riga 1 del file myapp.mxml.

-   myapp.mxml:doThat

-      La prima riga della funzione doThat() del file myapp.mxml.

-   myapp.mxml:56

-      La riga 56 del file myapp.mxml.

-   #3

-      La riga 1 del file numero 3.

-   #3:doOther

-      La riga del file numero 3 in cui inizia la funzione doOther().

-   #3:29

-      La riga 29 del file numero 3.

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Per visualizzare i nomi delle funzioni, immettere "info functions".

-Sono accettati i nomi abbreviati di file e funzioni a condizione che non siano 

-ambigui.

-Un file diventa il file corrente quando viene elencato. Vedere il comando "cf".

-

-[next]

-

-Analizza il programma passo a passo, passando attraverso le chiamate delle 

-subroutine.

-  next

-    Avanza di un passo

-  next 3

-    Avanza di tre passi o fino a quando il programma si interrompe per un altro 

-    motivo.

-Come il comando "step", se non avvengono chiamate delle subroutine: quando ciò 

-avviene, la chiamata viene trattata come un'istruzione.

-

-[print]

-

-Stampa il valore della variabile o dell'espressione

-Esempi:

-  print i

-    Stampa il valore di "i".

-  print employee.name

-    Stampa il valore di "employee.name".

-  print employee

-    Stampa il valore dell'oggetto "employee".

-    Potrebbe visualizzare semplicemente qualcosa del tipo [Object 10378].

-  print employee.

-    Stampa i valori di tutte le proprietà dell'oggetto "employee".

-  print *employee

-    Stampa i valori di tutte le proprietà dell'oggetto "employee".

-    L'operatore * in forma prefissa è il prefisso alternativo dell'operatore . 

-    in forma suffissa.

-  print #10378.

-    Stampa i valori di tutte le proprietà dell'oggetto numero 10378.

-Le variabili accessibili sono quelle dell'ambiente lessicale del frame dello 

-stack selezionato, oltre a quelle con ambito globale o costituito da un file 

-intero.

-

-[pwd]

-

-Stampa la directory di lavoro corrente.

-Si tratta della directory dalla quale è stato avviato fdb; non è possibile 

-modificarla da fdb. È possibile specificare l'argomento di "run" e "source" in 

-relazione a questa directory.

-Questo comando non utilizza argomenti.

-

-[quit]

-

-Esce da fdb.

-Questo comando non utilizza argomenti.

-

-[run]

-

-Avvia una sessione di debug.

-Esempi:

-  run http://www.mysite.com/myapp.mxml

-    Esegue l'applicazione MXML specificata.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Esegue il file SWF myapp.swf locale che può essere specificato in relazione 

-    alla directory corrente (vedere il comando "pwd") oppure utilizzando un 

-    percorso assoluto. In questi casi, nella stessa directory in cui risiede il 

-    file myapp.swf deve esistere anche il file myapp.swd (il file che contiene 

-    le informazioni di debug).

-  run

-    Esegue l'applicazione specificata in precedenza dal comando "file".

-    Se non è stata specificata alcuna applicazione, fdb attenderà per un 

-    determinato periodo che se ne connetta una.

-Il comando "run" avvia l'applicazione in un browser o nella versione autonoma 

-di Flash Player.

-Appena avviata, l'applicazione si connette a fdb per consentire all'utente di 

-impostare breakpoint e così via.

-

-In Macintosh è supportato solo il formato "run" senza argomenti. È quindi 

-necessario avviare Flash Player manualmente.

-

-[set]

-

-Imposta il valore di una variabile o di una variabile di convenienza.

-Le variabili di convenienza esistono solo in fdb e non fanno parte del 

-programma utilizzato.

-Le variabili di convenienza hanno il prefisso "$" e possono essere costituite 

-da qualsiasi nome che non sia in conflitto con le variabili esistenti. Ad 

-esempio, $myVar. Le variabili di convenienza vengono utilizzate inoltre per 

-controllare vari aspetti di fdb.  

-

-Le seguenti variabili di convenienza vengono utilizzate da fdb.

-$listsize          - numero di righe di origine da visualizzare con il comando 

-                     "list"

-$columnwrap        - numero di colonna in cui mandare a capo l'output

-$infostackshowthis - se si utilizza il valore 0, non visualizza "this" nel back 

-                     trace dello stack

-$invokegetters     - se si utilizza il valore 0, impedisce a fdb di attivare 

-                     funzioni getter

-$bpnum             - il numero del breakpoint definito per ultimo

-$displayattributes - se si utilizza il valore 1, "print var." visualizza tutti 

-                     gli attributi dei membri di "var" (ad esempio, "private" e 

-                     "static")

-

-Esempi:

-  set i = 3

-    Imposta la variabile "i" sul numero 3.

-  set employee.name = "Susan"

-    Imposta la variabile "employee.name" sulla stringa "Susan".

-  set $myVar = 20

-    Imposta la variabile di convenienza "'$myVar" sul numero 20.

-

-[show]

-

-Comando generico per visualizzare informazioni sullo stato di fdb.

-Elenco dei sottocomandi di "show":

-show break (sh b)       Posizione e causa della sospensione dell'esecuzione

-show directories (sh d) Directory in cui cercare i file di origine

-show files (sh f)       File e percorsi di destinazione

-show functions (sh fu)  Informazioni sulla mappatura delle righe delle funzioni 

-show locations (sh l)   Posizioni dei breakpoint

-show memory (sh m)      Utilizzo corrente della memoria

-show net (sh n)         Statistiche sui messaggi di Player 

-show properties (sh p)  Valori delle proprietà

-show uri (sh u)         URI di Player per la sessione attuale 

-show variable (sh v)    Recupero delle variabili non elaborate

-Digitare "help show" seguito dal nome del sottocomando di "show" per 

-visualizzare la documentazione completa.

-

-[show break]

-

-Visualizza l'offset nel file SWF nel quale si è arrestato il programma.

-

-[show directories]

-

-Visualizza il percorso corrente in cui cercare i file di origine.

-

-[show files]

-

-Visualizza il percorso e il nome di tutti i file di destinazione.

-

-[show functions]

-

-Visualizza informazioni sulla mappatura fra funzione e numero di riga.

-Esempi:

-  show functions .

-    Visualizza informazioni sulla mappatura di tutte le funzioni nel file 

-    corrente.

-  show functions myapp.mxml

-    Visualizza informazioni sulla mappatura di tutte le funzioni nel file 

-    myapp.mxml.

-  show functions #3

-    Visualizza informazioni sulla mappatura di tutte le funzioni nel file 

-    numero 3.

-  show functions

-    Visualizza informazioni sulla mappatura di tutte le funzioni in tutti i 

-    file.

-Per visualizzare i nomi e i numeri dei file, immettere "info sources" o "info 

-files".

-Sono accettati i nomi abbreviati di file a condizione che non siano ambigui.

-

-[show locations]

-

-Visualizza l'elenco delle posizioni impostate per ogni breakpoint

-

-[show memory]

-

-Visualizza statistiche sulla memoria relative a Java VM.

-

-[show net]

-

-Visualizza informazioni sui messaggi inviati e ricevuti da Flash Player.

-

-[show properties]

-

-Visualizza l'elenco delle variabili di convenienza utilizzate nel debugger 

-

-[show uri]

-

-Visualizza l'URI inviato da Player per questa sessione.

-

-[show variable]

-

-Visualizza il valore dei membri di una variabile. Sono necessari due parametri: 

-il primo è l'identificatore della variabile numerica e il secondo è il nome 

-della proprietà della variabile. La variabile di convenienza $invokegetters 

-viene utilizzata per determinare se la funzione di richiamo della proprietà, 

-presumendo che esista, verrà attivata oppure no.

-Esempio:

-    show variable 1 __proto__

-

-[show ?]

-

-Comando "show" non definito. Provare con "help show".

-

-[source]

-

-Legge comandi di fdb da un file e li esegue.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Legge il file mycommands.txt ed esegue i comandi di fdb che contiene.

-    È possibile specificare il file che contiene i comandi

-	in relazione alla directory corrente (vedere il comando "pwd")

-	oppure utilizzando un percorso assoluto.

-Quando si avvia fdb, il file .fdbinit viene letto automaticamente con questo 

-metodo.

-Il file .fdbinit viene cercato solo nella directory corrente. Pertanto è 

-possibile impostare vari file .fdbinit per progetti diversi.

-

-[step]

-

-Analizza il programma passo a passo fino a quando arriva a una riga di origine 

-diversa.

-Esempi:

-  step

-    Avanza di un passo

-  step 3

-    Avanza di tre passi o fino a quando il programma si interrompe per un altro 

-motivo.

-

-[tutorial]

-

-Visualizza un'esercitazione su come utilizzare fdb.

-Questo comando non utilizza argomenti.

-

-[Tutorial]

-

-Sessione fdb tipica:

-Avviare un'applicazione con "run".

-Visualizzare i nomi dei file con "info sources".

-Elencare un file con "list".

-Impostare breakpoint con "break".

-Eseguire il programma con "continue" fino a quando viene rilevato un breakpoint.

-Esaminare lo stato del programma con "where", "print", "info locals".

-Eseguire istruzioni individuali con "next", "step" e "finish".

-Riprendere l'esecuzione con "continue".

-Uscire da fdb con "quit".

-

-[undisplay]

-

-Rimuove una o più espressioni a visualizzazione automatica.

-Esempi:

-  undisplay

-    Rimuove tutte le espressioni a visualizzazione automatica.

-  undisplay 2 7

-    Rimuove le espressioni a visualizzazione automatica numero 2 e 7.

-Per visualizzare l'elenco delle espressioni a visualizzazione automatica e del 

-numero corrispondente, immettere "info display".

-

-[up]

-

-Seleziona e stampa il frame dello stack che ha chiamato questo frame dello 

-stack.

-I successivi comandi "info arguments" e "info locals" visualizzano

-le variabili locali e gli argomenti del frame selezionato.

-Vedere "down" e "frame"

-

-[viewswf]

-

-Imposta o reimposta il filtro per elencare i file (ad esempio, "info files" e 

-"info sources") in base al nome swf. 

-Se non si utilizzano parametri vengono visualizzati tutti i file. Se lo stesso 

-file esiste in uno o più file swf, nell'elenco viene inserita solo la prima 

-istanza del file. Per accedere ad altre istanze del file, utilizzare il numero 

-del file (ad esempio, "list #192") oppure utilizzare questo comando con un 

-parametro (vedere più avanti) per visualizzare i file di un file swf specifico. 

-Se si utilizza un solo parametro, il nome swf visualizzato con il comando "info 

-swfs", nell'elenco vengono visualizzati solo i file del file swf specificato. 

-I file di altri file swf non vengono visualizzati. Questo comando influisce 

-anche sui comandi che accettano un file come parametro (ad esempio "break").

-Esempio:

-  viewswf myApp.mxml.swf

-    Vengono visualizzati solo i file di myApp.mxml.swf.

-  viewswf 

-    Vengono visualizzati tutti i file di tutti i file swf.

- 

-[watch]

-

-Aggiunge un punto di controllo in una variabile specificata. Il debugger 

-interrompe l'esecuzione quando cambia il valore della variabile.

-Esempio:

-  watch foo

-

-[what]

-

-Visualizza il contesto in cui viene risolta una variabile. 

-

-[where]

-

-Back trace dello stack.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ja.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ja.txt
deleted file mode 100644
index 2dcdabc..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ja.txt
+++ /dev/null
@@ -1,793 +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.
-
-
-This file contains the text displayed by the 'help' command in fdb.
-
-It is divided into "topics". For example, when an fdb user types
-'help break', the [break] topic below is displayed.
-
-The first and last lines of each topic should be blank.
-They don't get displayed in fdb; they are here only
-to make this file more easily readable.
-
-Help text should be formatted to not wrap
-when displayed on an 80-character-wide console.
-The following line is 80 characters wide.
-
---------------------------------------------------------------------------------
-
-[?]
-
-未定義のコマンドです。すべての fdb コマンドのリストを表示するには、'help' を実行してください。
-
-[break]
-
-指定された行または関数にブレークポイントを設定します。
-例 : 
-  break 87
-現在のファイルの 87 行目にブレークポイントを設定します。
-  break myapp.mxml:56
-"myapp.mxml" の 56 行目にブレークポイントを設定します。
-  break #3:29
-ファイル番号 3 の 29 行目にブレークポイントを設定します。
-  break doThis
-現在のファイルの関数 doThis() にブレークポイントを設定します。
-  break myapp.mxml:doThat
-ファイル "myapp.mxml" の関数 doThat() にブレークポイントを設定します。
-  break #3:doOther
-ファイル番号 3 の関数 doOther() にブレークポイントを設定します。
-  break
-現在のスタックフレームの現在の実行アドレスにブレークポイントを
-設定します。これは、スタックフレームへの戻りで停止する
-有効な方法です。
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-関数名を表示するには、'info functions' を実行します。
-省略されたファイル名と関数名は、明確であれば使用できます。
-行番号が指定されている場合は、その行のコードの先頭で停止します。
-関数が指定されている場合は、その関数のコードの先頭で停止します。
-ブレークポイントの詳細な制御については、'commands' と 'condition' を参照してください。	
-
-[bt]
-
-スタックのバックトレースです。
-
-[catch]
-
-例外がスローされると中止します。これは、キャッチされた
-例外 ("catch" ブロックによって処理される例外) にのみ
-影響します。キャッチされない例外は常にデバッガーで
-中止されます。
-
-"delete" コマンドを使用してキャッチポイントを削除します。
-
-例 :
-catch *
-例外がスローされると中止します。
-catch ReferenceError
-キャッチされた、されないに関わらず、ReferenceError が
-スローされると中止します。
-
-[cf]
-
-現在のファイルの名前と番号を表示するか、現在のファイルを変更します。
-例 : 
-  cf
-現在のファイルの名前と番号を表示します。
-  cf myapp.mxml
-現在のファイルを "myapp.mxml" に変更します。
-  cf #29
-現在のファイルをファイル番号 29 に変更します。
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-省略されたファイル名は、明確であれば使用できます。
-'list' を使用してファイルを一覧表示した場合も、そのファイルが現在のファイルになります。	
-
-[clear]
-
-指定された行または関数のブレークポイントをクリアします。
-例 : 
-  clear 87
-現在のファイルの 87 行目のブレークポイントをクリアします。
-  clear myapp.mxml:56
-"myapp.mxml" の 56 行目のブレークポイントをクリアします。
-  clear #3:29
-ファイル番号 3 の 29 行目のブレークポイントをクリアします。
-  clear doThis
-現在のファイルの関数 doThis() のブレークポイントをクリアします。
-  clear myapp.mxml:doThat
-ファイル "myapp.mxml" の関数 doThat() のブレークポイントをクリアします。
-  clear #3:doOther
-ファイル番号 3 の関数 doOther() のブレークポイントをクリアします。
-  clear
-現在のファイルの現在の行にあるブレークポイントをクリアします。 
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-関数名を表示するには、'info functions' を実行します。
-省略されたファイル名と関数名は、明確であれば使用できます。
-行番号が指定されている場合は、その行のすべてのブレークポイントがクリアされます。
-関数が指定されている場合は、関数の先頭のブレークポイントがクリアされます。	
-
-[continue]
-
-ブレークポイントで停止した後に実行を続行します。
-このコマンドは引数を取りません。
-
-[condition]
-
-
-COND が true の場合にのみブレークポイント番号 N で停止するように指定します。
-シンタックスは 'condition N COND' です。
-N は整数で、COND はブレークポイント N に達したときに評価される式です。
-
-[commands]
-
-ブレークポイントに達したときに実行するコマンドを設定します。
-ブレークポイント番号は、'commands' の後に引数として指定します。
-引数がない場合は、最後に設定されるブレークポイントがターゲットのブレークポイントになります。
-コマンド自体は次の行から始まります。
-コマンドの末尾を示すために、"end" が含まれる行を入力します。
-"silent" を最初の行として指定し、ブレークポイントをサイレントにします。これにより、ブレークポイントに達しても、コマンドでプリントされるものを除き、出力はプリントされません。
-例 : 
-  (fdb) commands
-ブレークポイント 1 に達した場合に実行するコマンドを各行に 1 つずつ入力します。
-コマンドは 'end' という行で終了します。
-  >w
-  >end	
-
-[connect]
-
-ポートをリッスンしているデバッグする Player に接続します。
-デバッグ接続のために現在リッスンしている Player は
-モバイル用のみです。その他は常に接続しています。
-
-例:
-  connect
-ポート 7936 をリッスンしているデバッグ Player に接続します。
-  connect 7938
-ポート 7938 をリッスンしているデバッグ Player に接続します。
-    
-[worker]
-
-アクティブなワーカーを後続のデバッガー 
-コマンドの送信先に設定します。ワーカーのリストのクエリを行う
-情報ワーカーを使用します。メインスレッドの id は 0 です。
-
-例:
-  worker 3
-アクティブなワーカーを id 3 のワーカーに設定します。 
-
-[delete]
-
-ブレークポイントを削除します。
-例 : 
-  delete
-すべてのブレークポイントを削除します。
-  delete 2 5
-ブレークポイント番号 2 および 5 を削除します。
-ブレークポイント番号を表示するには、'info breakpoints' を実行します。	
-
-[directory]
-
-fdb がソースファイルを検索するディレクトリの一覧を変更します。
-
-例 :
-
-   directory
-一覧をデフォルトに戻します。デフォルトのディレクトリは、ソースファイルがオブジェクトコードにコンパイルされたディレクトリの後に現在の作業ディレクトリが続いたものです。
-
-  directory C:\MySource        (Windows)
-  directory /MySource          (Mac)
-
-  directory C:\MySource        (Windows)
-  directory /MySource          (Mac)
-    指定されたディレクトリを、ソースを検索するディレクトリの一覧の先頭に追加します。たとえば、クラス
-    mypackage.MyClass のソースを検索する場合、デバッガは
-    "C:\MySource\mypackage\MyClass.as" と 
-    "C:\MySource\MyClass.as" の両方を検索します。
-
-  ディレクトリ "C:\Dir1;C:\Dir2"    (Windows -- ';' をセパレータとして使用)
-  ディレクトリ "/Dir1:/Dir2"        (Macinsoth -- ":" をセパレータとして使用)
-    複数のディレクトリを、ソースを検索するディレクトリの一覧の先頭に追加します。
-
-現在の一覧を表示するには、'show directories' を実行します。
-
-[disable]
-
-ブレークポイントまたは auto-display 式を無効にします。
-例 : 
-  disable
-  disable breakpoints
-すべてのブレークポイントを無効にします。
-  disable 2 5
-  disable breakpoints 2 5
-ブレークポイント番号 2 および 5 を無効にします。
-  disable display
-すべての auto-display 式を無効にします。
-  disable display 1 3
-auto-display 式の番号 1 および 3 を無効にします。
-ブレークポイント番号を表示するには、'info breakpoints' を実行します。
-auto-display 式の番号を表示するには、'info display' を実行します。	
-
-[disassemble]
-
-(ActionScript 2 のみ。ActionScript 3 のデバッグ時はサポートされません)
-
-ソースコードの指定された部分を逆アセンブルします。
-デフォルトは、現在表示されている行です。
-サポートされている引数は、list コマンドの場合と同じです。
-例 : 
-  disassemble 87
-現在のファイルの 87 行目を逆アセンブルします。
-  disassemble 87 102
-現在のファイルの 87 ~ 102 行目を逆アセンブルします。
-  disassemble doThis
-現在のファイルの関数 doThis() を逆アセンブルします。
-前述の単純な行番号の使用に加えて、次のように別の方法で行を指定することもできます。
-   myapp.mxml
-"myapp.mxml" の 1 行目
-   myapp.mxml:doThat
-"myapp.mxml" の関数 doThat() の最初の行
-   myapp.mxml:56
-"myapp.mxml" の 56 行目
-   #3
-ファイル番号 3 の 1 行目
-   #3:doOther
-ファイル番号 3 の関数 doOther() の先頭の行
-   #3:29
-ファイル番号 3 の 29 行目	
-
-[display]
-
-auto-display 式の一覧に式を追加します。
-例 : 
-  display employee.name
-auto-display 式の一覧に 'employee.name' を追加します。
-fdb が停止するたびに employee.name の値が表示されます。
-このコマンドの引数は 'print' の引数と類似しています。
-auto-display 式とその番号の一覧を表示するには、'info display' を実行します。	
-
-[down]
-
-このコマンドによって呼び出されるスタックフレームを選択し、プリントします。
-以降の 'info arguments' コマンドと 'info locals'
-コマンドによって、選択したフレームのローカルと引数が表示されます。
-'up' と 'frame' を参照してください。
-
-[enable]
-
-ブレークポイントまたは auto-display 式を有効にします。
-例 : 
-  enable
-  enable breakpoints
-すべてのブレークポイントを有効にします。
-  enable 2 5
-  enable breakpoints 2 5
-ブレークポイント番号 2 および 5 を有効にします。
-  enable display
-すべての auto-display 式を有効にします。
-  enable display 1 3
-auto-display 式の番号 1 および 3 を有効にします。
-ブレークポイント番号を表示するには、'info breakpoints' を実行します。
-auto-display 式の番号を表示するには、'info display' を実行します。	
-
-[file]
-
-アプリケーションを開始せずに、デバッグするアプリケーションを指定します。
-例 : 
-  file http://www.mysite.com/myapp.mxml
-デバッグする MXML アプリケーションを指定します。
-  file myapp.swf
-現在のディレクトリで、デバッグするローカル SWF ファイルを指定します。
-この場合、"myapp.swd" (デバッグ情報が含まれるファイル) は現在のディレクトリにも存在していなければなりません。
-このコマンドを実行しても、実際にはアプリケーションは起動しません。アプリケーションのデバッグを開始するには、引数を指定せずに 'run' コマンドを使用します。
-'file <ターゲット>' の後に 'run' を使用するのではなく、単にデバッグするアプリケーションを 'run' の引数として指定することができます。
-  run http://mysite.com/myapp.mxml
-  run myapp.swf
-fdb を起動するときに、デバッグするアプリケーションをコマンドライン引数として指定することもできます。
-  fdb http://www.mysite.com/myapp.mxml
-  fdb myapp.swf
-この場合、'file' または 'run' を使用する必要はありません。
-デバッグするアプリケーションを指定せずに 'run' を実行すると、fdb は接続するアプリケーションを待ちます。
-
-[finish]
-
-現在の関数が返されるまで実行します。
-このコマンドは引数を取りません。
-
-[frame]
-
-特定のスタックフレームを選択し、プリントします。
-このコマンドはオプションの引数、つまりフレーム番号を取ります。
-引数を指定しない場合、デフォルトでは現在の
-最上位のフレーム (フレーム 0) に戻ります。
-例 : 
-  frame 4
-  frame
-以降の 'info arguments' コマンドと 'info locals' コマンドによって、選択したフレームのローカルと引数が表示されます。
-'up'、'down'、および 'bt' を参照してください。 
-
-[handle]
-
-Flash Player で fdb が失敗を処理する方法を指定します。
-例 : 
-  handle recursion_limit stop
-recursion_limit の失敗が発生した場合は、fdb でメッセージを表示し、
-ブレークポイントに達した場合と同様に停止します。
-  handle all print nostop
-どのような種類の失敗が発生した場合でも、fdb でメッセージを表示しますが、停止しません。
-最初の引数は、失敗の名前または 'all' です。
-その他の引数は、その失敗に適用されるアクションです。
-失敗の名前を表示するには、'info handle' を実行します。
-アクションは、print / noprint および stop / nostop です。
-'print' は、この失敗が発生したときにメッセージをプリントします。
-'stop' は、この失敗が発生したときにデバッガを再度実行します。'print' を暗黙に示します。
-
-[help]
-
-fdb を初めて使用する場合は、'tutorial' を実行し、基本情報を確認してください。
-fdb コマンドの一覧 : 
-bt (bt)             すべてのスタックフレームのバックトレースをプリントします。
-break (b)           指定された行または関数にブレークポイントを設定します。
-catch (ca)          例外がスローされると中止します。
-cf (cf)             現在のファイルの名前と番号を表示します。
-clear (cl)          指定された行または関数のブレークポイントをクリアします。
-condition (cond)    ブレークポイントに対する条件式を適用または削除します。
-connect (con)       デバッグ Player に接続します。
-continue (c)        ブレークポイントで停止した後に実行を続行します。
-commands (com)      ブレークポイントに達したときに実行するコマンドを設定します。
-delete (d)          ブレークポイントまたは auto-display 式を削除します。
-directory (dir)     ソースファイルの検索パスにディレクトリを追加します。
-disable (disab)     ブレークポイントまたは auto-display 式を無効にします。
-disassemble (disas) ソース行または関数を逆アセンブルします。
-display (disp)      auto-display 式を追加します。
-enable (e)          ブレークポイントまたは auto-display 式を有効にします。
-file (fil)          デバッグするアプリケーションを指定します。
-finish (f)          現在の関数が返されるまで実行します。
-handle (han)        失敗の処理方法を指定します。
-help (h)            fdb コマンドに関するヘルプを表示します。
-home (ho)           実行を中止する箇所にリストの場所を設定します。
-info (i)            デバッグ中のプログラムに関する情報を表示します。
-kill (k)            デバッグ中のプログラムの実行を強制終了します。
-list (l)            指定した関数または行を一覧表示します。
-next (n)            プログラムを次の段階に進めます。
-print (p)           変数 EXP の値をプリントします。
-pwd (pw)            作業ディレクトリをプリントします。
-quit (q)            fdb を終了します。
-run (r)             デバッグしたプログラムを起動します。
-set (se)            変数の値を設定します。
-source (so)         ファイルから fdb コマンドを読み取ります。
-step (s)            別のソース行に達するまで、プログラムを進めます。
-tutorial (t)        fdb の使用方法に関するチュートリアルを表示します。
-undisplay (u)       auto-display 式を削除します。
-viewswf (v)         swf に基づいて、ファイルの一覧表示のフィルタを設定またはクリアします。
-watch (wa)          指定された変数の監視ポイントを追加します。
-what (wh)           変数のコンテキストを表示します。
-where (w)           bt と同じです。
-worker (wo)         アクティブなワーカーを設定します。
-詳細を確認するには、'help' の後にコマンド名を入力します。
-
-[home]
-
-実行を中止する箇所にリストの場所を設定します。
-
-[info]
-
-デバッグ中のプログラムに関する情報を表示する汎用コマンドです。
-info サブコマンドのリスト : 
-info arguments (i a)    現在のスタックフレームの引数の変数です。
-info breakpoints (i b)  ユーザーが設定可能なブレークポイントのステータスを表示します。
-info display (i d)      auto-display 式のリストを表示します。
-info files (i f)        デバッグ中のターゲットとファイルの名前を表示します。
-info functions (i fu)   すべての関数名を表示します。
-info handle (i h)       失敗の処理方法を表示します。
-info locals (i l)       現在のスタックフレームのローカル変数です。
-info scopechain (i sc)  現在のスタックフレームのスコープチェーンです。
-info sources (i so)     プログラムのソースファイルを表示します。
-info stack (i s)        スタックのバックトレースです。
-info swfs (i sw)        このセッションの swf のリストです。
-info targets(i t)       デバッグ中のアプリケーションです。
-info variables (i v)    すべてのグローバル変数と静的変数の名前を表示します。
-info workers (i w)      すべてのワーカーをリストします。
-詳細を確認するには、'help info' の後に info サブコマンド名を入力します。
-
-[info arguments]
-
-現在のスタックフレームの引数を表示します。
-
-[info breakpoints]
-
-すべてのブレークポイントと監視ポイントのステータスを表示します。
-Type 列は次のいずれかを示します。
-breakpoint - 通常のブレークポイント
-watchpoint - 監視ポイント
-Disp 列には 'keep'、'del'、'dis' のいずれかが含まれ、
-ブレークポイントに達した後のブレークポイントの処理を示します。'dis' は、
-ブレークポイントが使用不可になることを示し、'del' はブレークポイントが削除されることを示します。  
-'Address' および 'What' 列は、アドレスとファイル / 行番号を
-それぞれ示します。 
-
-[info display]
-
-auto-display 式とその番号のリストを表示します。
-
-[info files]
-
-ソースファイル、フレームワークファイル、自動生成されたファイルなど、
-デバッグ中のアプリケーションのファイルの名前と番号を表示します。
-例 : 
-  info files
-すべてのファイルをカテゴリ別にアルファベット順に一覧表示します。
-  info files my
-  info files my*
-ファイル名が "my" で始めるすべてのファイルをアルファベット順に一覧表示します。
-  info files *.as
-ファイル名 ".as" で終わるすべてのファイルをアルファベット順に一覧表示します。
-  info files *foo*
-ファイル名に "foo" が含まれるすべてのファイルをアルファベット順に一覧表示します。 
-ファイルは name#N の形式で表示されます。N はファイル番号です。
-多くのコマンドでは、ファイル名の代わりに #N を使用できます。
-[info functions]
-
-関数名を表示します。
-例 : 
-  info functions .
-現在のファイルのすべての関数を表示します。
-  info functions myapp.mxml
-"myapp.mxml" のすべての関数を表示します。
-  info functions #3
-ファイル番号 3 のすべての関数を表示します。
-  info functions
-すべてのファイルのすべての関数を表示します。
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-省略されたファイル名は、明確であれば使用できます。
-
-[info handle]
-
-Flash Player で失敗が発生した場合の fdb の動作を表示します。
-例 : 
-  info handle
-fdb がすべての失敗を処理する方法を表示します。
-  info handle recursion_limit
-fdb が recursion_limit の失敗を処理する方法を表示します。
-
-[info locals]
-
-現在のスタックフレームのローカル変数を表示します。
-
-[info scopechain]
-
-現在のスタックフレームのスコープチェーンを表示します。 スコープチェーンは、
-Flash Player がシンボル名を解決しようとするときに検索される
-オブジェクトのリストです。
-
-
-[info sources]
-
-デバッグ中のアプリケーションのソースファイルの名前と番号を表示します。フレームワークファイルや自動生成されたファイルは含まれません。
-ファイルは name#N の形式で表示されます。N はファイル番号です。	
-多くのコマンドでは、ファイル名の代わりに #N を使用できます。	
-
-[info stack]
-
-スタックのバックトレースです。
-
-[info swfs]
-
-デバッグセッションに認識されている swf を表示します。
-swf 名に基づいてファイルの一覧表示をフィルタする方法の詳細については、
-'viewswf' コマンドを参照してください。
-
-[info targets]
-
-デバッグ中のアプリケーションの URL (http: または file:) を表示します。
-
-[info variables]
-
-すべてのグローバル変数と静的変数の名前と値を表示します。
-
-[info workers]
-
-開始されたすべてのワーカーを表示します。
-
-[info ?]
-
-未定義の info コマンドです。'help info' を実行してください。
-
-[kill]
-
-デバッグ中のプログラムの実行を強制終了します。
-このコマンドは引数を取りません。
-
-[list]
-
-ソースファイルのコード行を一覧表示します。
-例 : 
-  list
-現在のファイルにおける前回一覧表示された行の後、または前後の 10 行をさらに一覧表示します。
-  list -
-現在のファイルにおける前回一覧表示された行の前の 10 行を一覧表示します。
-  list 87
-現在のファイルにおける 87 行目の前後の 10 行を一覧表示します。
-  list 87 102
-現在のファイルの 87 ~ 102 行目を一覧表示します。
-前述の単純な行番号の使用に加えて、次の 7 つの方法で行を
-指定することもできます。
-  doThis
-現在のファイルの関数 doThis() の最初の行
-   myapp.mxml
-"myapp.mxml" の 1 行目
-   myapp.mxml:doThat
-"myapp.mxml" の関数 doThat() の最初の行
-   myapp.mxml:56
-"myapp.mxml" の 56 行目
-   #3
-ファイル番号 3 の 1 行目
-   #3:doOther
-ファイル番号 3 の関数 doOther() の先頭の行
-   #3:29
-ファイル番号 3 の 29 行目
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-関数名を表示するには、'info functions' を実行します。
-省略されたファイル名と関数名は、明確であれば使用できます。
-ファイルを一覧表示すると、そのファイルが現在のファイルになります ('cf' コマンドを参照)。
-
-[next]
-
-プログラムを次の段階に進めて、サブルーチン呼び出しを実行します。
-   next
-1 段階進めます。
-  next 3
-3 段階進めるか、別の理由によりプログラムが停止するまで進めます。
-サブルーチン呼び出しが実行されない限り 'step' コマンドと同様です。実行される場合、呼び出しは 1 つの命令として処理されます。
-
-[print]
-
-変数または式の値をプリントします。
-例 : 
-  print i
-'i' の値をプリントします。
-  print employee.name
-'employee.name' の値をプリントします。
-  print employee
-'employee' オブジェクトの値をプリントします。
-この結果、[オブジェクト 10378] のように表示されます。
-  print employee.
-'employee' オブジェクトのすべてのプロパティの値をプリントします。
-  print *employee
-'employee' オブジェクトのすべてのプロパティの値をプリントします。
-接頭辞 * 演算子は、接尾辞 . 演算子に代わる接頭辞です。
-  print #10378.
-オブジェクト #10378 のすべてのプロパティの値をプリントします。
-アクセス可能な変数は、選択したスタックフレームで定義された環境の変数と、スコープがグローバルまたはファイル全体であるすべての変数です。
-
-[pwd]
-
-現在の作業ディレクトリをプリントします。
-これは fdb が起動されたディレクトリです。fdb 内部では変更できません。 
-'run' や 'source' の引数は、このディレクトリを基準に指定できます。
-このコマンドは引数を取りません。
-
-[quit]
-
-fdb を終了します。
-このコマンドは引数を取りません。
-
-[run]
-
-デバッグセッションを開始します。
-例 : 
-  run http://www.mysite.com/myapp.mxml
-指定された MXML アプリケーションを実行します。
-  run myapp.swf
-  run mydir\myapp.swf
-  run c:\mydir\myapp.swf
-ローカル SWF ファイル "myapp.swf" を実行します。このファイルは、現在のディレクトリを基準にして指定することも ('pwd' コマンドを参照)、絶対パスを使用して指定することもできます。この場合、"myapp.swd" (デバッグ情報が含まれるファイル) も "myapp.swf" と同じディレクトリに存在しなければなりません。
-  run
-以前に 'file' コマンドにより指定されたアプリケーションを実行します。
-アプリケーションが指定されていない場合、fdb は接続するアプリケーションを待ち、接続するアプリケーションがない場合はタイムアウトします。
-'run' は、ブラウザまたはスタンドアローンの Flash Player でアプリケーションを起動します。
-アプリケーションが起動すると、直ちに fdb に割り込むので、ブレークポイントなどを設定できます。
-
-Macintosh でサポートされている唯一のコマンド形式は、引数のない 'run' です。その後、Flash Player を手動で起動する必要があります。
-
-[set]
-
-変数または簡易変数の値を設定します。
-簡易変数は、fdb 内のみに存在する変数であり、プログラムの一部ではありません。
-簡易変数には接頭辞 '$' が付きます。また、既存の変数と競合しない、$myVar などの任意の名前を付けることができます。
-簡易変数は、fdb のさまざまな値を制御するためにも使用されます。  
-
-次の簡易変数が fdb で使用されます。
-$listsize – 'list' で表示するソース行の数。
-$columnwrap - 出力が折り返す列番号。
-$infostackshowthis - 0 の場合は、スタックバックトレースに 'this' が表示されません。
-$invokegetters - 0 の場合、fdb は getter 関数を発行しません。
-$bpnum - 最後に定義されたブレークポイント番号。
-$displayattributes - 1 の場合、'print var.' は 'var' のメンバー(private、static
-                     など)のすべての属性を表示します。
-
-例 : 
-  set i = 3
-変数 'i' を数値 3 に設定します。
-  set employee.name = "Susan"
-変数 'employee.name' を文字列 "Susan" に設定します。
-  set $myVar = 20
-簡易変数 '$myVar' を数値 20 に設定します。
-
-[show]
-
-fdb の状態に関する情報を表示する汎用コマンドです。
-show サブコマンドのリスト : 
-show break (sh b)       実行が中断された位置と理由を表示します。
-show directories (sh d) ソースファイルを検索するディレクトリです。
-show files (sh f)       ターゲットファイルとパスを表示します。
-show functions (sh fu)  関数行のマッピング情報を表示します。
-show locations (sh l)   ブレークポイントの位置を示します。
-show memory (sh m)      現在のメモリ消費量を示します。
-show net (sh n)         Player のメッセージ統計を表示します。
-show properties (sh p)  プロパティの値を表示します。
-show uri (sh u)         このセッションの Player の URI を示します。
-show variable (sh v)    生の変数を取得します。
-詳細を確認するには、'help show' の後に show サブコマンド名を入力します。
-
-[show break]
-
-プログラムが中止された SWF 内のオフセットを表示します。
-
-[show directories]
-
-ソースファイルを検索するための現在の検索パスを表示します。
-
-[show files]
-
-すべてのターゲットファイルのパスとファイル名を表示します。
-
-[show functions]
-
-関数対行番号のマッピング情報を表示します。
-例 : 
-  show functions .
-現在のファイルにおけるすべての関数のマッピング情報を表示します。
-  show functions myapp.mxml
-"myapp.mxml" のすべての関数のマッピング情報を表示します。
-  show functions #3
-ファイル番号 3 のすべての関数のマッピング情報を表示します。
-  show functions
-すべてのファイルにおけるすべての関数のマッピング情報を表示します。
-ファイル名と番号を表示するには、'info sources' または 'info files' を実行します。
-省略されたファイル名は、明確であれば使用できます。
-
-[show locations]
-
-各ブレークポイントに設定された位置のリストを表示します。
-
-[show memory]
-
-Java VM メモリ統計を表示します。
-
-[show net]
-
-Flash Player との間で送受信されたメッセージに関する情報を表示します。
-
-[show properties]
-
-デバッガ内部で使用されている簡易変数を一覧表示します。
-
-[show uri]
-
-Player がこのセッションで送信した URI を表示します。
-
-[show variable]
-
-変数のメンバーの値を表示します。  
-数値変数識別子と、変数のプロパティの名前の 2 つのパラメータが必要です。簡易変数
-$invokegetters は、プロパティ getter
-が存在すると仮定した場合に、このプロパティが発行されるかどうかを確認するために使用します。
-例 : 
-    show variable 1 __proto__
-
-[show ?]
-
-未定義の show コマンドです。'help show' を実行してください。
-
-[source]
-ファイルから fdb コマンドを読み取り、実行します。
-  source mycommands.txt
-source mydir\mycommands.txt
-source c:\mydir\mycommands.txt
-"mycommands.txt" を読み取り、このファイルの fdb コマンドを実行します。
-コマンドが含まれるファイルは、現在のディレクトリを基準にして指定することも ('pwd' コマンドを参照)、絶対パスを使用して指定することもできます。
-fdb を起動すると、このようにファイル ".fdbinit" が自動的に読み取られます。
-現在のディレクトリでのみ ".fdbinit" が検索されます。つまり、さまざまなプロジェクトで複数の ".fdbinit" ファイルを設定できます。
-
-[step]
-
-別のソース行に達するまで、プログラムを進めます。
-例 : 
-  step
-1 段階進めます。
-  step 3
-3 段階進めるか、別の理由によりプログラムが停止するまで進めます。
-
-[tutorial]
-
-fdb の使用方法に関するチュートリアルを表示します。
-このコマンドは引数を取りません。
-
-[Tutorial]
-
-一般的な fdb セッション : 
-'run' を使用してアプリケーションを起動します。
-'info sources' を使用してファイル名を表示します。
-'list' を使用してファイルを一覧表示します。
-'break' を使用してブレークポイントを設定します。
-'continue' を使用して、ブレークポイントに達するまでプログラムを実行します。
-'where'、'print'、'info locals' を使用して、プログラムの状態を確認します。
-'next'、'step'、および 'finish' を使用して、個々のステートメントを実行します。
-'continue' を使用して実行を再開します。
-'quit' を使用して fdb を終了します。
-
-[undisplay]
-
-auto-display 式を削除します。
-例 : 
-undisplay
-すべての auto-display 式を削除します。
-undisplay 2 7
-auto-display 式の番号 2 および 7 を削除します。
-auto-display 式とその番号の一覧を表示するには、'info display' を実行します。
-
-[up]
-
-これを呼び出したスタックフレームを選択し、プリントします。
-以降の 'info arguments' および 'info locals' コマンドは、
-選択したフレームのローカルと引数を表示します。
-'down' と 'frame' を参照してください。
-
-[viewswf]
-
-swf 名に基づいて、ファイルの一覧表示のフィルタ 
-('info files' および 'info sources') を設定またはクリアします。 
-パラメータを指定しない場合は、すべてのファイルが表示されます。同じファイルが 1 つ以上の swf に存在する場合は、
-ファイルの最初のインスタンスだけが一覧に表示されます。
-ファイルの他のインスタンスにアクセスするには、ファイルの番号 ('list #192' など) を使用するか、
-パラメータ (次を参照) を指定してこのコマンドを使用し、特定の swf からファイルを表示します。
-1 つのパラメータ、つまり 'info swfs' コマンドによって表示される swf 名を使用した場合は、指定された swf のファイルだけがファイルの一覧に表示されます。  
-他の swf のファイルは表示されません。このコマンドは、ファイルをパラメータとして受け入れるコマンドにも影響を与えます ('break' など)。
-例 : 
-  viewswf myApp.mxml.swf
-"myApp.mxml.swf" のファイルのみが表示されます。
- viewswf 
-すべての swf のすべてのファイルが表示されます。
-
-[watch]
-
-指定された変数の監視ポイントを追加します。変数の値が変更されると、
-デバッガーの実行は中止されます。
-例 :
-watch foo
- 
-[what]
-
-変数が解決されるコンテキストを表示します。 
-
-[where]
-
-スタックのバックトレースです。
-
-[zzz]
-
-((( Keep this unused topic at the end of the file    )))
-((( so that the next-to-last one is parsed properly. )))
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ko_KR.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ko_KR.txt
deleted file mode 100644
index 91ea0ad..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ko_KR.txt
+++ /dev/null
@@ -1,824 +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.
-
-

-이 파일에는 fdb의 'help' 명령을 통해 표시되는 텍스트가 포함되어 

-있습니다.

-

-이러한 텍스트는 "항목"으로 나뉩니다.

-예를 들어 fdb 사용자가 'help break'를 입력하면 아래의 [break] 항목이 

-표시됩니다.

-

-각 항목의 첫 번째 행과 마지막 행은 비워 두어야 합니다.

-첫 번째 행과 마지막 행은 fdb에 표시되지 않으며 이 파일의 

-가독성을 높이는 역할만 합니다.

-

-도움말 텍스트가 80자 폭의 콘솔에 표시될 때 줄 바꿈되지 않도록 

-텍스트의 형식을 지정해야 합니다.

-다음은 80자 폭의 행입니다.

-

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

-

-[?]

-

-정의되지 않은 명령입니다.

-모든 fdb 명령 목록을 보려면 'help'만 실행합니다.

-

-[break]

-

-지정된 행이나 함수에서 중단점을 설정합니다.

-예:

-  break 87

-    현재 파일의 87행에서 중단점을 설정합니다.

-  break myapp.mxml:56

-    myapp.mxml의 56행에서 중단점을 설정합니다.

-  break #3:29

-    파일 #3의 29행에서 중단점을 설정합니다.

-  break doThis

-    현재 파일의 doThis() 함수에서 중단점을 설정합니다.

-  break myapp.mxml:doThat

-    myapp.mxml 파일의 doThat() 함수에서 중단점을 설정합니다.

-  break #3:doOther

-    파일 #3의 doOther() 함수에서 중단점을 설정합니다.

-  break

-   현재 스택 프레임의 현재 실행 주소에서 중단점을 설정합니다.

-   이렇게 하면 스택 프레임으로 돌아가는 지점에서 

-   중단할 때 편리합니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 'info files'를 실행합니다.

-함수 이름을 보려면 'info functions'를 실행합니다.

-축약된 파일 이름 및 함수 이름이 모호하지 않다면 축약된 이름을 

-사용할 수 있습니다.

-행 번호를 지정하면 해당 행의 코드 시작 부분에서 중단됩니다.

-함수를 지정하면 해당 함수의 코드 시작 부분에서 중단됩니다.

-중단점 제어에 대한 자세한 내용은 '명령' 및 '조건'을 참조하십시오.

-

-[bt]

-

-스택 역추적입니다.

-

-[catch]

-

-예외가 발생하면 중단합니다. 이 명령은 Catch된 예외, 즉 

-"catch" 블록에서 처리하는 예외에만 영향을 줍니다.

- Catch되지 않은 예외는 항상 디버거에서 중단됩니다.

-

-catch 지점을 삭제하려면 "delete" 명령을 사용합니다.

-

-예:

-  catch *

-    어떤 예외라도 발생하면 중단합니다.

-  catch ReferenceError

-    Catch되었는지에 관계없이 ReferenceError가 발생하면 

-    항상 중단합니다.

-

-[cf]

-

-현재 파일의 이름과 번호를 표시하거나 현재 파일을 변경합니다.

-예:

-  cf

-    현재 파일의 이름과 번호를 표시합니다.

-  cf myapp.mxml

-    현재 파일을 myapp.mxml로 변경합니다.

-  cf #29

-    현재 파일을 #29 파일로 변경합니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 

-'info files'를 실행합니다.

-축약된 파일 이름이 모호하지 않다면 축약된 이름을 

-사용할 수 있습니다.

-'list'를 사용하여 파일을 나열하는 경우에도 해당 파일이 

-현재 파일로 설정됩니다.

-

-[clear]

-

-지정된 행이나 함수에서 중단점을 지웁니다.

-예:

-  clear 87

-    현재 파일의 87행에서 중단점을 지웁니다.

-  clear myapp.mxml:56

-    myapp.mxml의 56행에서 중단점을 지웁니다.

-  clear #3:29

-    파일 #3의 29행에서 중단점을 지웁니다.

-  clear doThis

-    현재 파일의 doThis() 함수에서 중단점을 지웁니다.

-  clear myapp.mxml:doThat

-    myapp.mxml 파일의 doThat() 함수에서 중단점을 지웁니다.

-  clear #3:doOther

-    파일 #3의 doOther() 함수에서 중단점을 지웁니다.

-  clear

-    현재 파일의 현재 행에서 중단점을 지웁니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 

-'info files'를 실행합니다.

-함수 이름을 보려면 'info functions'를 실행합니다.

-축약된 파일 이름 및 함수 이름이 모호하지 않다면 

-축약된 이름을 사용할 수 있습니다.

-행 번호를 지정하면 해당 행의 모든 중단점이 지워집니다.

-함수를 지정하면 함수의 시작 부분에서 중단점이 지워집니다.

-

-[continue]

-

-중단점에서 중지한 후에 계속 실행합니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[condition]

-

-

-COND가 true인 경우에만 중단하려면 중단점 번호 N을 지정합니다.

-`조건 N COND'와 같은 형식을 사용합니다. 여기서 N은 정수이고 

-COND는 중단점 N에 도달할 때마다 평가되는 표현식입니다.

-

-[commands]

-

-중단점에 도달했을 때 실행할 명령을 설정합니다.

-중단점 번호를 `명령` 뒤에 인수로 지정합니다.

-인수를 지정하지 않으면 마지막으로 설정한 중단점이 

-목표 중단점이 됩니다.

-명령 자체는 다음 행의 시작 부분 뒤에 옵니다.

-행의 끝 부분임을 나타내려면 행을 입력할 때 "end"를 포함합니다.

-중단점을 표시하지 않으려면 첫 번째 행을 "silent"로 지정합니다.

-그러면 중단점에 도달해도 명령을 통해 인쇄되는 내용 외에 

-아무 내용도 인쇄되지 않습니다.

-예:

-  (fdb) 명령

-  중단점 1에 도달했을 때 사용할 명령을 한 행에 하나씩 입력합니다.

-  마지막 행에는 'end'만 입력합니다.

-  >w

-  >end

-

-[delete]

-

-중단점 하나 이상을 삭제합니다.

-예:

-  delete

-    모든 중단점을 삭제합니다.

-  delete 2 5

-    중단점 #2과 #5을 삭제합니다.

-중단점 번호를 보려면 'info breakpoints'를 실행합니다.

-

-[directory]

-

-fdb를 통해 소스 파일을 검색할 디렉토리 목록을 수정합니다.

-

-예:

-

-  directory

-   목록을 기본값으로 복원합니다. 기본값은 소스 파일이 

-   객체 코드로 컴파일된 디렉토리 뒤에 현재 작업 디렉토리가 

-   오는 형태입니다.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    지정한 디렉토리를 소스를 검색할 디렉토리 목록의 시작 부분에 

-    추가합니다. 예를 들어 mypackage.MyClass 클래스의 소스를 

-    검색하는 경우 디버거에서 C:\MySource\mypackage\MyClass.as와 

-    C:\MySource\MyClass.as를 모두 검색합니다.

-

-  directory C:\Dir1;C:\Dir2    (Windows -- 구분 기호로 ';' 사용)

-  directory /Dir1:/Dir2        (Mac -- 구분 기호로 ':' 사용)

-    여러 디렉토리를 소스를 검색할 디렉토리 목록의 시작 부분에 

-    추가합니다.

-

-현재 목록을 보려면 'show directories'를 실행합니다.

-

-[disable]

-

-중단점이나 자동 표시 표현식을 하나 이상 비활성화합니다.

-예:

-  disable

-  disable breakpoints

-    모든 중단점을 비활성화합니다.

-  disable 2 5

-  disable breakpoints 2 5

-    중단점 #2과 #5을 비활성화합니다.

-  disable display

-    자동 표시 표현식을 모두 비활성화합니다.

-  disable display 1 3

-    자동 표시 표현식 #1과 #3을 비활성화합니다.

-중단점 번호를 보려면 'info breakpoints'를 실행합니다.

-자동 표시 표현식 번호를 보려면 'info display'를 실행합니다.

-

-[disassemble]

-

-(ActionScript 2에만 해당하고 ActionScript 3 디버깅 시에는 

-지원되지 않습니다.)

-

-지정한 소스 코드 부분을 디스어셈블합니다.

-기본값은 현재 목록 행입니다.

-지원되는 인수는 다음에 예제로 나타난 list 명령과 같습니다.

-  disassemble 87

-    현재 파일의 87행을 디스어셈블합니다.

-  disassemble 87 102

-    현재 파일의 87행부터 102행까지 디스어셈블합니다.

-  disassemble doThis

-      현재 파일의 doThis() 함수를 디스어셈블합니다.

-위와 같이 간단한 행 번호를 사용하는 방법 외에 여러 가지 

-방법으로 행을 지정할 수 있습니다.

-   myapp.mxml

-      myapp.mxml의 1행입니다.

-   myapp.mxml:doThat

-      myapp.mxml에 있는 doThat() 함수의 첫 번째 행입니다.

-   myapp.mxml:56

-      myapp.mxml의 56행입니다.

-   #3

-      파일 #3의 1행입니다.

-   #3:doOther

-      파일 #3에서 doOther() 함수가 시작되는 행입니다.

-   #3:29

-      파일 #3의 29행입니다.

-

-[display]

-

-자동 표시 표현식 목록에 표현식을 추가합니다.

-예:

-  display employee.name

-    자동 표시 표현식 목록에 'employee.name'을 추가합니다.

-    fdb가 중지할 때마다 employee.name의 값이 표시됩니다.

-이 명령의 인수는 'print'의 인수와 비슷합니다.

-자동 표시 표현식 및 해당 번호 목록을 보려면 'info display'를 

-실행합니다.

-

-[down]

-

-이 명령으로 호출되는 스택 프레임을 선택한 후 인쇄합니다.

-이 명령 뒤에 'info arguments' 및 'info locals' 명령을 사용하면 선택한 

-프레임의 로컬 및 인수가 표시됩니다.

-'up' 및 'frame'을 참조하십시오.

-

-[enable]

-

-중단점이나 자동 표시 표현식을 하나 이상 활성화합니다.

-예:

-  enable

-  enable breakpoints

-    모든 중단점을 활성화합니다.

-  enable 2 5

-  enable breakpoints 2 5

-    중단점 #2과 #5을 활성화합니다.

-  enable display

-    자동 표시 표현식을 모두 활성화합니다.

-  enable display 1 3

-    자동 표시 표현식 #1과 #3을 활성화합니다.

-중단점 번호를 보려면 'info breakpoints'를 실행합니다.

-자동 표시 표현식 번호를 보려면 'info display'를 실행합니다.

-

-[file]

-

-시작하지 않고 디버깅할 응용 프로그램을 지정합니다.

-예:

-  file http://www.mysite.com/myapp.mxml

-   디버깅할 MXML 응용 프로그램을 지정합니다.

-  file myapp.swf

-   현재 디렉토리에서 디버깅할 로컬 SWF 파일을 지정합니다.

-   이 경우 현재 디렉토리에 myapp.swd(디버깅 정보가 포함된 파일)도 

-   있어야 합니다.

-이 명령을 실행하더라도 실제로 응용 프로그램이 

-시작되지 않습니다.

- 인수가 없는 'run' 명령을 사용하여 응용 프로그램을 디버깅합니다.

-'file <target>' 뒤에 'run'을 사용할 필요가 없이 디버깅할 응용 프로그램을 

-'run'의 인수로 간단히 지정하면 됩니다.

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-fdb를 시작할 때, 디버깅할 응용 프로그램을 명령줄 인수로도 

-지정할 수 있습니다.

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-이 경우 'file' 또는 'run'을 사용할 필요가 없습니다.

-디버깅할 응용 프로그램을 지정하지 않고 'run'을 실행하면 fdb에서 

-응용 프로그램이 연결될 때까지 기다립니다.

-

-[finish]

-

-현재 함수가 반환될 때까지 실행합니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[frame]

-

-특정 스택 프레임을 선택한 후 인쇄합니다.

-이 명령에는 선택적 인수(프레임 번호)가 필요합니다.

-인수를 입력하지 않으면 기본적으로 현재 최상위 프레임

-(즉, 프레임 0)으로 돌아갑니다.

-예:

-  frame 4

-  frame

-이 명령 뒤에 'info arguments' 및 'info locals' 명령을 사용하면 

-선택한 프레임의 로컬 및 인수가 표시됩니다.

-'up', 'down' 및 'bt'를 참조하십시오.

-

-[handle]

-

-fdb를 통해 Flash Player의 결함을 처리할 방법을 지정합니다.

-예:

-  handle recursion_limit stop

-  recursion_limit 결함이 발생하면 fdb에 메시지가 표시되고 

-  중단점에서 중지되는 것처럼 중지됩니다.

-  handle all print nostop

-    결함이 발생하는 경우 fdb에 메시지가 표시되지만 

-    중지되지는 않습니다.

-결함 이름이나 'all'이 첫 번째 인수에 해당됩니다.

-그 외 인수로는 해당 결함에 적용되는 동작이 있습니다.

-결함 이름을 보려면 'info handle'을 실행합니다.

-동작에는 print/noprint 및 stop/nostop이 있습니다.

-'print'는 이 결함이 발생하는 경우에 메시지가 인쇄된다는 의미입니다.

-'stop'은 이 결함이 발생하는 경우에 디버거가 다시 시작된다는 의미로, 

-'print'를 내포하고 있습니다.

-

-[help]

-

-fdb를 처음 사용하십니까?  

-'tutorial'을 실행하여 기본 정보를 살펴보십시오.

-fdb 명령 목록:

-bt (bt)             모든 스택 프레임의 역추적 인쇄

-break (b)           지정된 행이나 함수에서 중단점 설정

-catch (ca)          예외가 발생하면 중단

-cf (cf)             현재 파일의 이름과 번호 표시

-clear (cl)          지정된 행이나 함수에서 중단점 지우기

-condition(cond)     중단점에 조건부 표현식 적용/제거

-continue (c)        중단점에서 중지한 후에 계속 실행

-commands (com)      중단점에 도달했을 때 실행할 명령 설정

-delete(d)           중단점이나 자동 표시 표현식 삭제

-directory (dir)     소스 파일의 검색 경로에 디렉토리 추가

-disable (disab)     중단점이나 자동 표시 표현식 비활성화

-disassemble (disas) 소스 행 또는 함수 디스어셈블

-display (disp)      자동 표시 표현식 추가

-enable (e)          중단점이나 자동 표시 표현식 활성화

-file(fil)           디버깅할 응용 프로그램 지정

-finish (f)          현재 함수가 반환될 때까지 실행

-handle (han)        결함 처리 방법 지정

-help (h)            fdb 명령에 대한 도움말 표시

-home (ho)           실행이 중단되는 목록 위치 설정

-info (i)            디버깅 중인 프로그램에 대한 정보 표시

-kill (k)            디버깅 중인 프로그램의 실행 종료

-list (l)            지정된 함수나 행 나열

-next (n)            프로그램 단계 진행

-print (p)           변수 EXP의 값 인쇄

-pwd (pw)            작업 디렉토리 인쇄

-quit (q)            fdb 종료

-run (r)             디버깅된 프로그램 시작

-set(se)             변수 값 설정

-source (so)         파일에서 fdb 명령 읽기

-step (s)            다른 소스 행에 도달할 때까지 프로그램 단계 진행

-tutorial (t)        fdb 사용 방법에 대한 자습서 표시

-undisplay (u)       자동 표시 표현식 제거

-viewswf (v)         swf를 기준으로 파일을 나열하는 필터 설정 또는 지우기

-watch (wa)          지정된 변수에 대한 감시점 추가

-what (wh)           변수의 컨텍스트 표시

-where (w)           bt와 동일

-전체 설명서를 보려면 'help'를 입력하고 명령 이름을 입력합니다.

-

-[home]

-

-실행이 중단되는 목록 위치를 설정합니다.

-

-[info]

-

-디버깅 중인 프로그램에 대한 정보를 표시하는 데 사용되는 

-일반 명령입니다.

-info 하위 명령 목록:

-info arguments (i a)    현재 스택 프레임의 인수 변수

-info breakpoints (i b)  사용자가 설정할 수 있는 중단점 상태

-info display (i d)      자동 표시 표현식의 목록 표시

-info files (i f)        디버깅 중인 파일 및 대상 이름

-info functions (i fu)   모든 함수 이름

-info handle (i h)       결함 처리 방법

-info locals (i l)       현재 스택 프레임의 로컬 변수

-info scopechain (i sc)  현재 스택 프레임의 범위 체인

-info sources (i so)     프로그램의 소스 파일

-info stack (i s)        스택 역추적

-info swfs (i sw)        이 세션의 swf 목록

-info targets(i t)       디버깅 중인 응용 프로그램

-info variables (i v)    모든 전역 및 정적 변수 이름

-전체 설명서를 보려면 'help info'를 입력한 다음 info 하위 명령 

-이름을 입력합니다.

-

-[info arguments]

-

-현재 스택 프레임의 인수를 표시합니다.

-

-[info breakpoints]

-

-모든 중단점과 감시점 상태를 표시합니다.

-'유형' 열은 다음 중 하나를 나타냅니다.

-   breakpoint   - 일반 중단점  

-   watchpoint   - 감시점

-'처리' 열에는 중단점에 도달한 후에 중단점이 처리되는 

-방법을 나타내는 'keep', 'del', 'dis' 중 하나가 포함됩니다.

-'dis'는 중단점이 비활성화된다는 의미이고 'del'은 

-삭제된다는 의미입니다.

-'주소' 및 '대상' 열은 각각 주소 및 파일/행 번호를 나타냅니다.

-

-[info display]

-

-자동 표시 표현식 및 해당 번호 목록을 표시합니다.

-

-[info files]

-

-소스 파일, 프레임워크 파일, 자동 생성된 파일 등 디버깅 중인 

-응용 프로그램의 파일 번호와 이름을 표시합니다.

-예:

-  info files

-    범주를 기준으로 모든 파일을 사전순으로 나열합니다.

-  info files my

-  info files my*

-    이름이 "my"로 시작하는 모든 파일을 사전순으로 나열합니다.

-  info files *.as

-    이름이 ".as"로 끝나는 모든 파일을 사전순으로 나열합니다.

-  info files *foo*

-    이름에 "foo"가 포함된 모든 파일을 사전순으로 나열합니다.

-name#N 형식으로 파일이 표시됩니다. 여기서 N은 파일 번호입니다.

-대부분의 명령에서 파일 이름 대신 #N을 사용할 수 있습니다.

-

-[info functions]

-

-함수 이름을 표시합니다.

-예:

-  info functions .

-    현재 파일의 모든 함수를 표시합니다.

-  info functions myapp.mxml

-    myapp.mxml의 모든 함수를 표시합니다.

-  info functions #3

-    파일 #3의 모든 함수를 표시합니다.

-  info functions

-    모든 파일의 모든 함수를 표시합니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 'info files'를 실행합니다.

-축약된 파일 이름이 모호하지 않다면 축약된 이름을 사용할 수 있습니다.

-

-[info handle]

-

-Flash Player에서 결함이 발생할 경우 fdb에서 수행하는 작업을 표시합니다.

-예:

-  info handle

-    fdb에서 모든 결함을 처리하는 방법을 표시합니다.

-  info handle recursion_limit

-    fdb에서 recursion_limit 결함을 처리하는 방법을 표시합니다.

-

-[info locals]

-

-현재 스택 프레임의 로컬 변수를 표시합니다.

-

-[info scopechain]

-

-현재 스택 프레임의 범위 체인을 표시합니다.

-범위 체인은 Flash Player에서 심볼 이름을 확인하려고 할 때 검색되는 

-객체 목록을 말합니다.

-

-[info sources]

-

-디버깅 중인 응용 프로그램의 소스 파일 번호와 이름을 표시합니다.

-프레임워크 파일과 자동 생성된 파일은 포함되지 않습니다.

-name#N 형식으로 파일이 표시됩니다. 여기서 N은 파일 번호입니다.

-대부분의 명령에서 파일 이름 대신 #N을 사용할 수 있습니다.

-

-[info stack]

-

-스택 역추적입니다.

-

-[info swfs]

-

-디버깅 세션에 알려진 swf를 표시합니다. swf  이름을 기준으로 

-파일 목록을 필터링하는 방법에 대한 자세한 내용은 'viewswf' 명령을 

-참조하십시오.

-

-[info targets]

-

-디버깅 중인 응용 프로그램의 URL(http: 또는 file:)을 표시합니다.

-

-[info variables]

-

-모든 전역 변수 및 정적 변수의 이름과 값을 표시합니다.

-

-[info ?]

-

-정의되지 않은 info 명령입니다. 'help info'를 실행해 봅니다.

-

-[kill]

-

-디버깅 중인 프로그램의 실행을 종료합니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[list]

-

-소스 파일의 코드 행을 나열합니다.

-예:

-  list

-    현재 파일의 이전 목록 뒤나 주위에 행을 10개 더 나열합니다.

-  list -

-    현재 파일의 이전 목록 앞에 행을 10개 나열합니다.

-  list 87

-    현재 파일의 87행 주위에 행을 10개 나열합니다.

-  list 87 102

-    현재 파일의 87행부터 102행까지 나열합니다.

-위와 같이 간단한 행 번호를 사용하는 방법 외에 다른 일곱 가지 

-방법으로 행을 지정할 수 있습니다.

-  doThis

-      현재 파일에 있는 doThis() 함수의 첫 번째 행입니다.

-   myapp.mxml

-      myapp.mxml의 1행입니다.

-   myapp.mxml:doThat

-      myapp.mxml에 있는 doThat() 함수의 첫 번째 행입니다.

-   myapp.mxml:56

-      myapp.mxml의 56행입니다.

-   #3

-      파일 #3의 1행입니다.

-   #3:doOther

-      파일 #3에서 doOther() 함수가 시작되는 행입니다.

-   #3:29

-      파일 #3의 29행입니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 'info files'를 

-실행합니다.

-함수 이름을 보려면 'info functions'를 실행합니다.

-축약된 파일 이름 및 함수 이름이 모호하지 않다면 

-축약된 이름을 사용할 수 있습니다.

-파일을 나열하면 해당 파일이 현재 파일로 설정됩니다.

-('cf' 명령을 참조하십시오.)

-

-[next]

-

-프로그램 단계를 진행하여 서브루틴 호출의 전 과정을 실행합니다.

-  next

-    단계를 한 번만 진행합니다.

-  next 3

-    단계를 세 번 진행하거나 다른 이유로 프로그램이 중지될 때까지 

-    진행합니다.

-서브루틴 호출이 발생하지 않으면 'step' 명령처럼 진행되지만 

-서브루틴 호출이 발생하면 이 호출이 하나의 명령으로 처리됩니다.

-

-[print]

-

-변수 또는 표현식 값을 인쇄합니다.

-예:

-  print i

-    'i' 값을 인쇄합니다.

-  print employee.name

-    'employee.name' 값을 인쇄합니다.

-  print employee

-    'employee' 객체 값을 인쇄합니다.

-    이 명령을 실행하면 [Object 10378]과 비슷한 형식으로만 정보가 

-    표시될 수 있습니다.

-  print employee.

-    'employee' 객체의 모든 속성 값을 인쇄합니다.

-  print *employee

-    'employee' 객체의 모든 속성 값을 인쇄합니다.

-    접두어 * 연산자는 접미어 . 연산자 대신 사용되는 접두어입니다.

-  print #10378.

-    #10378 객체의 모든 속성 값을 인쇄합니다.

-액세스 가능한 변수에는 선택한 스택 프레임의 어휘 환경에 

-대한 변수 외에도, 범위가 전역이거나 전체 파일인 모든 변수가 

-해당됩니다.

-

-[pwd]

-

-현재 작업 디렉토리를 인쇄합니다.

-이 디렉토리는 fdb가 시작된 디렉토리로, fdb 내에서 

-변경되지 못합니다.

-이 디렉토리를 기준으로 'run' 및 'source'에 대한 인수를 

-지정할 수 있습니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[quit]

-

-fdb를 종료합니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[run]

-

-디버깅 세션을 시작합니다.

-예:

-  run http://www.mysite.com/myapp.mxml

-    지정한 MXML 응용 프로그램을 실행합니다.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    로컬 SWF 파일인 myapp.swf를 실행합니다. 이 파일은 현재 

-    디렉토리('pwd' 명령 참조)를 기준으로 한 상대 경로 또는 

-    절대 경로를 지정할 수도 있습니다. 이러한 경우 myapp.swf가 있는 

-    디렉토리에 myapp.swd(디버깅 정보가 포함된 파일)도 있어야

-    합니다.

-  run

-    이전에 'file' 명령으로 지정한 응용 프로그램을 실행합니다.

-    지정한 응용 프로그램이 없으면 fdb에서 한 응용 프로그램이 

-    연결되기를 기다립니다. 연결되는 응용 프로그램이 없으면 

-    연결 시간이 초과됩니다.

-'run'을 실행하면 브라우저 또는 독립 실행형 Flash Player에서 

-응용 프로그램이 시작됩니다.

-응용 프로그램이 시작되면 즉시 fdb로 연결되기 때문에, 

-사용자가 중단점 등을 설정할 수 있습니다.

-

-Macintosh에서는 인수가 없는 'run' 명령만 실행할 수 있습니다.

-그런 다음 수동으로 Flash Player를 시작해야 합니다.

-

-[set]

-

-변수 또는 편리 변수 값을 설정합니다.

-편리 변수는 fdb 전체에 존재하는 변수로, 프로그램의 일부가 아닙니다.

-편리 변수에는 '$'가 접두어로 지정되고 기존 변수와 충돌하지 

-않는다면 어떤 이름이든 지정할 수 있습니다. 예를 들어 $myVar로 

-지정할 수 있습니다. 편리 변수는 fdb의 다양한 면을 제어하는 

-데에도 사용됩니다.

-

-다음은 fdb에서 사용되는 편리 변수입니다.

-$listsize          - '목록'에 표시할 소스 행 수

-$columnwrap        - 줄 바꿈하여 출력할 열 번호

-$infostackshowthis - 0인 경우 스택 역추적에 '이 정보'가 표시되지 않음

-$invokegetters     - 0인 경우 fdb에서 getter 함수가 실행되지 않음

-$bpnum             - 마지막으로 정의된 중단점 번호

-$displayattributes - 1인 경우 'print var.'를 실행하면 'var' 구성원의 

-                     모든 특성(예: 전용, 정적)이 표시됨

-

-예:

-  set i = 3

-    변수 'i'를 숫자 3으로 설정합니다.

-  set employee.name = "Susan"

-    변수 'employee.name'을 문자열 "Susan"으로 설정합니다.

-  set $myVar = 20

-    편리 변수 '$myVar'를 숫자 20으로 설정합니다.

-

-[show]

-

-fdb 상태에 대한 정보를 표시하는 데 사용되는 일반 명령입니다.

-show 하위 명령 목록:

-show break (sh b)       일시 중단된 실행 위치 및 이유

-show directories (sh d) 소스 파일을 검색할 디렉토리

-show files (sh f)       대상 파일 및 경로

-show functions (sh fu)  함수 행 매핑 정보

-show locations (sh l)   중단점 위치

-show memory (sh m)      현재 메모리 사용

-show net (sh n)         플레이어 메시지 통계

-show properties (sh p)  속성 값

-show uri (sh u)         이 세션 플레이어의 URI

-show variable (sh v)    원시 변수 검색

-전체 설명서를 보려면 'help show'를 입력한 다음 show 하위 명령 

-이름을 입력합니다.

-

-[show break]

-

-SWF 내에서 프로그램이 중단된 오프셋을 표시합니다.

-

-[show directories]

-

-소스 파일을 찾을 현재 검색 경로를 표시합니다.

-

-[show files]

-

-모든 대상 파일의 파일 이름과 경로를 표시합니다.

-

-[show functions]

-

-함수와 행 번호 간의 매핑 정보를 표시합니다.

-예:

-  show functions .

-    현재 파일의 모든 함수에 대한 매핑 정보를 표시합니다.

-  show functions myapp.mxml

-    myapp.mxml의 모든 함수에 대한 매핑 정보를 표시합니다.

-  show functions #3

-    파일 #3의 모든 함수에 대한 매핑 정보를 표시합니다.

-  show functions

-    모든 파일의 모든 함수에 대한 매핑 정보를 표시합니다.

-파일 이름 및 번호를 보려면 'info sources' 또는 'info files'를 

-실행합니다.

-축약된 파일 이름이 모호하지 않다면 축약된 이름을 

-사용할 수 있습니다.

-

-[show locations]

-

-각 중단점에 설정된 위치 목록을 표시합니다.

-

-[show memory]

-

-Java VM 메모리 통계를 표시합니다.

-

-[show net]

-

-Flash Player로 보내거나 Flash Player로부터 받은 메시지에 대한 

-정보를 표시합니다.

-

-[show properties]

-

-디버거 내에 사용된 편리 변수 목록을 표시합니다.

-

-[show uri]

-

-이 세션과 관련해 플레이어에서 보낸 URI를 표시합니다.

-

-[show variable]

-

-변수의 구성원 값을 표시합니다. 매개 변수 두 개가 필요합니다.

-하나는 숫자 변수 식별자이고 또 하나는 변수에 대한 속성 이름입니다.

-편리 변수 $invokegetters는 getter 속성이 있는 경우 이 속성을 

-실행할지 결정하는 데 사용됩니다.

-예:

-    show variable 1 __proto__

-

-[show ?]

-

-정의되지 않은 show 명령입니다. 'help show'를 실행해 보십시오.

-

-[source]

-

-파일에서 fdb 명령을 읽고 실행합니다.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    mycommands.txt를 읽고 그 안의 fdb 명령을 실행합니다.

-    명령이 포함된 파일은 현재 디렉토리('pwd' 명령 참조)를 

-    기준으로 한 상대 경로 또는 절대 경로를 지정할 수 있습니다.

-fdb를 시작하면 이런 방식으로 .fdbinit 파일을 자동으로 읽습니다.

-.fdbinit의 현재 디렉토리만 검색됩니다. 따라서 서로 다른 

-프로젝트에 대해 여러 .fdbinit 파일을 설정할 수 있습니다.

-

-[step]

-

-다른 소스 행에 도달할 때까지 프로그램 단계를 진행합니다.

-예:

-  step

-    단계를 한 번만 진행합니다.

-  step 3

-    단계를 세 번 진행하거나 다른 이유로 프로그램이 중지될 

-    때까지 진행합니다.

-

-[tutorial]

-

-fdb 사용 방법에 대한 자습서를 표시합니다.

-이 명령에는 인수가 필요하지 않습니다.

-

-[Tutorial]

-

-일반적인 fdb 세션:

-'run'으로 응용 프로그램을 시작합니다.

-'info sources'로 파일 이름을 봅니다.

-'list'로 파일을 나열합니다.

-'break'로 중단점을 설정합니다.

-중단점에 도달할 때까지 'continue'로 프로그램을 실행합니다.

-'where', 'print', 'info locals'로 프로그램 상태를 검사합니다.

-'next', 'step', 'finish'로 개별 명령문을 실행합니다.

-'continue'로 실행을 다시 시작합니다.

-'quit'로 fdb를 종료합니다.

-

-[undisplay]

-

-자동 표시 표현식을 하나 이상 제거합니다.

-예:

-  undisplay

-    자동 표시 표현식을 모두 제거합니다.

-  undisplay 2 7

-    자동 표시 표현식 #2과 #7을 제거합니다.

-자동 표시 표현식 및 해당 번호 목록을 보려면 'info display'를 

-실행합니다.

-

-[up]

-

-이 명령을 호출하는 스택 프레임을 선택한 후 인쇄합니다.

-이 명령 뒤에 'info arguments' 및 'info locals' 명령을 사용하면 

-선택한 프레임의 로컬 및 인수가 표시됩니다.

-'down' 및 'frame'을 참조하십시오.

-

-[viewswf]

-

-swf 이름을 기준으로 파일을 나열하는 필터(즉: 'info files' 

-및 'info sources')를 설정하거나 지웁니다.

-매개 변수가 없으면 모든 파일이 표시됩니다. 같은 파일이 

-하나 이상의 swf에 있으면 해당 파일의 첫 번째 인스턴스만 

-목록에 표시됩니다. 파일의 다른 인스턴스에 액세스하려면

-파일 번호(예: 'list #192')를 사용하거나 이 명령을 매개 변수

-(아래 참조)와 함께 사용합니다. 그러면 특정 swf 파일이 

-표시됩니다. 매개 변수 하나, 즉 'info swfs' 명령을 통해 표시되는 

-swf 이름을 사용하면 지정한 swf 파일만 파일 목록에 표시됩니다.

-다른 swf 파일은 표시되지 않습니다. 이 명령은 파일을 

-매개 변수로 사용할 수 있는 명령(예: 'break')에도 영향을 줍니다.

-예:

-  viewswf myApp.mxml.swf

-    myApp.mxml.swf 파일만 표시됩니다.

-  viewswf

-    모든 swf 파일이 모두 표시됩니다.

-

-[watch]

-

-지정된 변수에 대한 감시점을 추가합니다. 변수 값이 변경되면 

-디버거가 실행을 중단합니다.

-예:

-  watch foo

-

-[what]

-

-변수가 확인된 컨텍스트를 표시합니다.

-

-[where]

-

-스택 역추적입니다.

-

-[zzz]

-

-((( 이 미사용 항목을 파일의 마지막으로 유지하면 )))

-((( 마지막 두 번째 항목을 제대로 구문 분석할 수 있습니다.)))

-

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_nl.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_nl.txt
deleted file mode 100644
index 5949e02..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_nl.txt
+++ /dev/null
Binary files differ
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_no.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_no.txt
deleted file mode 100644
index d1dac36..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_no.txt
+++ /dev/null
@@ -1,803 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Udefinert kommando. Skriv "help" hvis du vil se en liste over alle 

-fdb-kommandoer.

-

-[break]

-

-Angi stoppunkt ved valgt linje eller funksjon.

-Eksempler:

-  break 87

-    Angir et stoppunkt ved linje 87 i gjeldende fil.

-  break myapp.mxml:56

-    Angir et stoppunkt ved linje 56 i myapp.mxml.

-  break #3:29

-    Angir et stoppunkt ved linje 29 i fil nr. 3.

-  break doThis

-    Angir et stoppunkt ved funksjonen doThis() i gjeldende fil.

-  break myapp.mxml:doThat

-    Angir et stoppunkt ved funksjonen doThat() i filen myapp.mxml.

-  break #3:doOther

-    Angir et stoppunkt ved funksjonen doOther() i fil nr. 3.

-  break

-   Angir et stoppunkt ved gjeldende kjøringsadresse i gjeldende stakkramme. 

-   Dette er nyttig for stopp ved retur til en stakkramme.

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Hvis du vil se funksjonsnavn, skriver du "info functions".

-Forkortede fil- og funksjonsnavn godtas hvis de ikke er tvetydige.

-Hvis linjenummer er angitt, legges stoppet på begynnelsen av koden for den 

-linjen.

-Hvis funksjon er angitt, legges stoppet på begynnelsen av koden for den 

-funksjonen.

-Du finner mer om stoppunktkontroll under "commands" og "condition".

-

-[bt]

-

-Tilbakesporing i stakk.

-

-[catch]

-

-Stopp hvis unntak oppstår. Dette påvirker kun unntak som blir fanget, dvs. 

-unntak som skal håndteres av en catch-blokk. Unntak som ikke blir fanget, 

-stanses alltid i feilsøkingen.

-

-Du sletter et catch-punkt med kommandoen "delete".

-

-Eksempler:

-  catch *

-    Stopper ved ethvert unntak som oppstår.

-  catch ReferenceError

-    Stopper hvis det oppstår en ReferenceError, enten den fanges eller ikke.

-

-[cf]

-

-Vis navn og nummer for gjeldende fil, eller endre gjeldende fil.

-Eksempler:

-  cf

-    Viser navn og nummer for gjeldende fil.

-  cf myapp.mxml

-    Endrer gjeldende fil til myapp.mxml.

-  cf #29

-    Endrer gjeldende fil til filnr. 29.

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Forkortede filnavn godtas hvis de ikke er tvetydige.

-Hvis du lister en fil med kommandoen "list", blir den filen til gjeldende fil.

-

-[clear]

-

-Fjern stoppunkt ved valgt linje eller funksjon.

-Eksempler:

-  clear 87

-    Fjerner stoppunktet ved linje 87 i gjeldende fil.

-  clear myapp.mxml:56

-    Fjerner stoppunktet ved linje 56 i myapp.mxml.

-  clear #3:29

-    Fjerner stoppunktet ved linje 29 i fil nr. 3.

-  clear doThis

-    Fjerner stoppunktet ved funksjonen doThis() i gjeldende fil.

-  clear myapp.mxml:doThat

-    Fjerner stoppunktet ved funksjonen doThat() i filen myapp.mxml.

-  clear #3:doOther

-    Fjerner stoppunktet ved funksjonen doOther() i fil nr. 3.

-  clear

-    Fjerner stoppunktet på gjeldende linje i gjeldende fil. 

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Hvis du vil se funksjonsnavn, skriver du "info functions".

-Forkortede fil- og funksjonsnavn godtas hvis de ikke er tvetydige.

-Hvis linjenummer er angitt, tømmes alle stoppunkt på den linjen

-Hvis funksjon er angitt, fjernes stoppunkt på begynnelsen av funksjonen.

-

-[continue]

-

-Fortsett kjøring etter stans ved stoppunkt.

-Denne kommandoen bruker ingen argumenter.

-

-[condition]

-

-

-Angi at stoppunkt nummer n skal stoppe kun hvis COND er sann.

-Brukes slik: "condition N COND", der N er et heltall og COND er et uttrykk som 

-skal evalueres hver gang kjøringen når stoppunkt N.

-

-[commands]

-

-Angi kommandoer som skal utføres ved stoppunkt.

-Angi nummeret til stoppunktet som et argument etter "commands".

-Hvis du ikke oppgir et argument, brukes siste angitte stoppunkt som mål.

-Kommandoene følger deretter, og starter på neste linje.

-Skriv en linje som inneholder "end" for å angi at de skal avsluttes.

-Angi "silent" på første linje for å gjøre stoppunktet stumt. Da vises ingen 

-utdata når kjøringen kommer til stoppunktet, med unntak av det kommandoen viser.

-Eksempel:

-  (fdb) commands

-  Skriv inn kommandoer for når stoppunkt 1 nås, én kommando per linje.

-  Avslutt med en linje der det bare står "end".

-  >w

-  >end

-

-[delete]

-

-Slett ett eller flere stoppunkt.

-Eksempler:

-  delete

-    Sletter alle stoppunkt

-  delete 2 5

-    Sletter stoppunkt nr. 2 og 5.

-Hvis du vil se numrene til stoppunktene, skriver du "info breakpoints".

-

-[directory]

-

-Endre listen over kataloger fdb søker etter kildefiler i.

-

-Eksempler:

-

-  directory

-    Gjenoppretter listen til standard, dvs. katalogen der kildefilen ble 

-    kompilert til objektkode, fulgt av gjeldende arbeidskatalog.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Legger til angitt katalog i begynnelsen av listen over kataloger som blir 

-    gjennomsøkt etter kilde. Hvis du f.eks. ser etter kilden til klassen 

-    mypackage.MyClass, ser feilsøkingen etter både 

-    C:\MySource\mypackage\MyClass.as og C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows: bruk ; (semikolon) som skilletegn)

-  directory /Dir1:/Dir2        (Mac: bruk : (kolon) som skilletegn)

-    Legger til flere kataloger i begynnelsen av listen over kataloger som blir 

-    gjennomsøkt etter kilde.

-

-Hvis du vil se gjeldende liste, skriver du "show directories".

-

-[disable]

-

-Deaktiver ett eller flere stoppunkt eller automatvisningsuttrykk.

-Eksempler:

-  disable

-  disable breakpoints

-    Deaktiverer alle stoppunkt.

-  disable 2 5

-  disable breakpoints 2 5

-    Deaktiverer stoppunkt nr. 2 og 5.

-  disable display

-    Deaktiverer alle automatvisningsuttrykk.

-  disable display 1 3

-    Deaktiverer automatvisningsuttrykk nr. 1 og 3.

-Hvis du vil se numrene til stoppunktene, skriver du "info breakpoints".

-Hvis du vil se numrene til automatvisningsuttrykkene, skriver du "info display".

-

-[disassemble]

-

-(Kun ActionScript 2, støttes ikke ved feilsøking av ActionScript 3)

-

-Del opp en angitt del av kildekoden.

-Standard er gjeldende listelinje.

-Argumenter som støttes, er de samme som for listekommando.

-Eksempler:

-  disassemble 87

-    Deler opp linje 87 i gjeldende fil.

-  disassemble 87 102

-    Deler opp linje 87 til 102 i gjeldende fil.

-  disassemble doThis

-      Deler opp funksjonen doThis() i gjeldende fil.

-I tillegg til å bruke enkle linjenummer som ovenfor, kan du angi linjer på 

-flere måter:

-   myapp.mxml

-      Linje 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Første linje i funksjonen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Linje 56 i myapp.mxml.

-   #3

-      Linje 1 i fil nr. 3.

-   #3:doOther

-      Den linjen i fil nr. 3 der funksjonen doOther() begynner.

-   #3:29

-      Linje 29 i fil nr. 3.

-

-[display]

-

-Legg til et uttrykk i listen over automatvisningsuttrykk.

-Eksempel:

-  display employee.name

-    Legger "employee.name" til listen over automatvisningsuttrykk.

-    Hver gang fdb stanser, vises verdien for employee.name.

-Argumentet for denne kommandoen ligner argumentet for "print".

-Hvis du vil se listen over automatvisningsuttrykk og tilhørende nummer, skriver 

-du "info display".

-

-[down]

-

-Velg og vis stakkrammen som denne kaller.

-Påfølgende "info arguments"- og "info locals"-kommandoer viser lokale 

-innstillinger og argumenter for valgt ramme.

-Se også "up" og "frame". 

-

-[enable]

-

-Aktiver ett eller flere stoppunkt eller automatvisningsuttrykk.

-Eksempler:

-  enable

-  enable breakpoints

-    Aktiverer alle stoppunkt.

-  enable 2 5

-  enable breakpoints 2 5

-    Aktiverer stoppunkt nr. 2 og 5.

-  enable display

-    Aktiverer alle automatvisningsuttrykk.

-  enable display 1 3

-    Aktiverer automatvisningsuttrykk nr. 1 og 3.

-Hvis du vil se numrene til stoppunktene, skriver du "info breakpoints".

-Hvis du vil se numrene til automatvisningsuttrykkene, skriver du "info display".

-

-[file]

-

-Angi et program som skal feilsøkes uten at det startes.

-Eksempler:

-  file http://www.mysite.com/myapp.mxml

-    Angi et MXML-program som skal feilsøkes.

-  file myapp.swf

-    Angi en lokal SWF-fil som skal feilsøkes, og som ligger i gjeldende katalog.

-    I dette tilfellet må også myapp.swd (filen med feilsøkingsinformasjonen) 

-    ligge i gjeldende katalog.

-Denne kommandoen starter ikke programmet. Du bruker kommandoen "run" uten 

-argumenter for å starte feilsøkingen av programmet.

-I stedet for å bruke "file <mål>" fulgt av "run", kan du bare angi hvilket 

-program som skal feilsøkes som et argument i "run":

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Du kan også angi programmet som skal feilsøkes som et kommandolinjeargument, 

-når du starter fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-I dette tilfellet trenger du ikke å bruke "file" eller "run".

-Hvis du bruker "run" uten å angi et program som skal feilsøkes, venter fdb til 

-et program kobler til det.

-

-[finish]

-

-Kjør til gjeldende funksjon kommer tilbake.

-Denne kommandoen bruker ingen argumenter.

-

-[frame]

-

-Velg og vis en bestemt stakkramme.

-Denne kommandoen tar et valgfritt argument: et rammenummer.

-Hvis det ikke oppgis et argument, er standard virkemåte retur til gjeldende 

-øverste ramme (ramme 0).

-Eksempler:

-  frame 4

-  frame

-Påfølgende "info arguments"- og "info locals"-kommandoer viser lokale 

-innstillinger og argumenter for valgt ramme.

-Se også "up", "down" og "bt". 

-

-[handle]

-

-Angi hvordan fdb skal håndtere en feil i Flash Player.

-Eksempler:

-  handle recursion_limit stop

-    Hvis det oppstår en recursion_limit-feil, vises en melding i fdb, og 

-    kjøringen stanser som ved et stoppunkt.

-  handle all print nostop

-    Hvis det oppstår en feil av noe slag, vises en melding i fdb, men 

-    kjøringen stanser ikke.

-Det første argumentet er navnet på en feil, eller "all".

-Tilleggsargumenter er handlinger som gjelder den angitte feilen.

-Hvis du vil se navn på feil, skriver du "info handle".

-Handlinger er print/noprint og stop/nostop.

-"print" vil si at en melding vises hvis denne feilen oppstår.

-"stop" vil si at feilsøkeren tas i bruk hvis feilen oppstår. "print" er 

-implisert.

-

-[help]

-

-Ny bruker av fdb? Skriv "tutorial" hvis du vil ha litt grunnleggende 

-informasjon.

-Liste over fdb-kommandoer:

-bt (bt)             Vis tilbakesporing av alle stakkrammer

-break (b)           Angi stoppunkt ved valgt linje eller funksjon

-catch (ca)          Stopp hvis unntak oppstår

-cf (cf)             Vis navn og nummer for gjeldende fil

-clear (cl)          Fjern stoppunkt ved valgt linje eller funksjon

-condition (cond)    Legg til / fjern betingelsesuttrykk på et stoppunkt

-continue (c)        Fortsett kjøring etter stans ved stoppunkt

-commands (com)      Angi at kommandoer skal kjøre ved stoppunkt

-delete (d)          Slett alle stoppunkt eller automatvisningsuttrykk

-directory (dir)     Legg til en katalog i søkebanen for kildefiler

-disable (disab)     Deaktiver alle stoppunkt eller automatvisningsuttrykk

-disassemble (disas)       Del opp kildelinjer eller funksjoner

-display (disp)      Legg til et automatvisningsuttrykk

-enable (e)          Aktiver alle stoppunkt eller automatvisningsuttrykk

-file (fil)          Angi hvilket program som skal feilsøkes.

-finish (f)          Kjør til gjeldende funksjon kommer tilbake

-handle (han)        Angi hvordan en feil skal håndteres

-help (h)            Vis hjelp for fdb-kommandoer

-home (ho)           Angi listeplassering der kjøring stanses

-info (i)            Vis informasjon om programmet som feilsøkes

-kill (k)            Avbryt kjøring av programmet som feilsøkes

-list (l)            List opp angitt funksjon eller linje

-next (n)            Gå gjennom program trinnvis

-print (p)           Vis verdien for variabelen EXP

-pwd (pw)            Vis arbeidskatalog

-quit (q)            Avslutt fdb

-run (r)             Start feilsøkt program

-set (se)            Angi verdien til en variabel

-source (so)         Les fdb-kommandoer fra en fil

-step (s)            Gå gjennom program trinnvis til det når en annen kildelinje

-tutorial (t)        Vis en opplæring for fdb

-undisplay (u)       Fjern et automatvisningsuttrykk

-viewswf (v)         Angi eller tøm filter for fillisting basert på SWF

-watch (wa)          Legg til et overvåkningspunkt på en angitt variabel

-what (wh)           Viser kontekst for en variabel

-where (w)           Samme som bt

-Skriv "help" fulgt av navnet på en kommando hvis du vil se hele dokumentasjonen 

-om den.

-

-[home]

-

-Angi listeplasseringen der kjøring stanses.

-

-[info]

-

-Generisk kommando som brukes til å vise ting om programmet som feilsøkes.

-Liste over info-delkommandoer:

-info arguments (i a)    Argumentvariabler for gjeldende stakkramme

-info breakpoints (i b)  Status for brukerdefinerbare stoppunkt

-info display (i d)      Vis liste over automatvisningsuttrykk

-info files (i f)        Navn på mål og filer som feilsøkes

-info functions (i fu)   Alle funksjonsnavn

-info handle (i h)       Hvordan feil håndteres

-info locals (i l)       Lokale variabler for gjeldende stakkramme

-info scopechain (i sc)  Scope chain for gjeldende stakkramme

-info sources (i so)     Kildefiler i programmet

-info stack (i s)        Tilbakesporing i stakk

-info swfs (i sw)        Liste over SWF-filer i denne økten

-info targets(i t)       Programmet som feilsøkes

-info variables (i v)    Alle globale og statiske variabelnavn

-Skriv "help info" fulgt av navnet på en info-delkommando hvis du vil se hele 

-dokumentasjonen om den.

-

-[info arguments]

-

-Vis argumenter for gjeldende stakkramme.

-

-[info breakpoints]

-

-Vis status for alle stoppunkt og overvåkningspunkt.

-Kolonnen Type viser ett av følgende:

-   breakpoint   - normalt stoppunkt

-   watchpoint   - overvåkningspunkt

-Kolonnen Disp inneholder enten "keep", "del" eller "dis", som viser 

-stoppunktets disposisjon etter at det er nådd. "dis" vil si at stoppunktet 

-deaktiveres, og "del" vil si at det slettes.  

-Kolonnene "Address" og "What" viser henholdsvis adresse og fil-/linjenummer. 

-

-[info display]

-

-Vis liste over automatvisningsuttrykk og tilhørende tall.

-

-[info files]

-

-Vis navn og nummer for filene til programmet som feilsøkes, inkludert 

-kildefiler, rammeverkfiler og automatisk opprettede filer.

-Eksempler:

-  info files

-    Lister alle filer alfabetisk etter kategori

-  info files my

-  info files my*

-    Lister alle filer hvis navn begynner på "my" alfabetisk.

-  info files *.as

-    Lister alle filer hvis navn slutter med ".as" alfabetisk.

-  info files *foo*

-    Lister alle filer hvis navn inneholder "foo" alfabetisk. 

-Filer vises i formatet navn#N, der N er filnummeret.

-Du kan bruke #N i stedet for et filnavn i flere kommandoer.

-

-[info functions]

-

-Vis funksjonsnavn.

-Eksempler:

-  info functions .

-    Vis alle funksjoner i gjeldende fil.

-  info functions myapp.mxml

-    Vis alle funksjoner i myapp.mxml.

-  info functions #3

-    Viser alle funksjoner i fil nr. 3.

-  info functions

-    Viser alle funksjoner i alle filer.

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Forkortede filnavn godtas hvis de ikke er tvetydige.

-

-[info handle]

-

-Vis hva fdb gjør når det oppstår en feil i Flash Player.

-Eksempler:

-  info handle

-    Vis hvordan fdb håndterer alle feil.

-  info handle recursion_limit

-    Vis hvordan fdb håndterer en recursion_limit-feil.

-

-[info locals]

-

-Vis lokale variabler for gjeldende stakkramme.

-

-[info scopechain]

-

-Vis scope chain for gjeldende stakkramme. En "scope chain" er listen med 

-objekter som blir gjennomsøkt når Flash Player prøver å løse et symbolnavn.

-

-[info sources]

-

-Vis navn og nummer for kildefilene til programmet som feilsøkes. Rammeverkfiler 

-og automatisk opprettede filer inkluderes ikke.

-Filer vises i formatet navn#N, der N er filnummeret.

-Du kan bruke #N i stedet for et filnavn i flere kommandoer.

-

-[info stack]

-

-Tilbakesporing i stakk.

-

-[info swfs]

-

-Vis SWF-filer som feilsøkingsøkten kjenner. Du kan bruke kommandoen "viewswf" 

-hvis du vil vite mer om hvordan fillisten kan filtreres ut fra navn på 

-SWF-filer. 

-

-[info targets]

-

-Vis URL-adresse (http: eller file:) for programmet som feilsøkes.

-

-[info variables]

-

-Vis alle globale og statiske variabelnavn og -verdier.

-

-[info ?]

-

-Udefinert info-kommando. Prøv å skrive "help info".

-

-[kill]

-

-Avbryt kjøring av programmet som feilsøkes.

-Denne kommandoen bruker ingen argumenter.

-

-[list]

-

-Vis liste med kodelinjer i en kildefil.

-Eksempler:

-  list

-    Viser ti linjer til i gjeldende fil, etter eller rundt forrige liste.

-  list -

-    Viser ti linjer før en tidligere liste i gjeldende fil.

-  list 87

-    Viser ti linjer i gjeldende fil rundt linje 87.

-  list 87 102

-    Viser linje 87 til 102 i gjeldende fil.

-I tillegg til å bruke enkle linjenummer som ovenfor, kan du angi linjer på sju 

-andre måter:

-  doThis

-      Den første linjen av funksjonen doThis() i gjeldende fil.

-   myapp.mxml

-      Linje 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Første linje i funksjonen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Linje 56 i myapp.mxml.

-   #3

-      Linje 1 i fil nr. 3.

-   #3:doOther

-      Den linjen i fil nr. 3 der funksjonen doOther() begynner.

-   #3:29

-      Linje 29 i fil nr. 3.

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Hvis du vil se funksjonsnavn, skriver du "info functions".

-Forkortede fil- og funksjonsnavn godtas hvis de ikke er tvetydige.

-Hvis du lister en fil, blir den filen til gjeldende fil. (Se under kommandoen 

-"cf".)

-

-[next]

-

-Gå gjennom program trinnvis, gjennom delrutinekall.

-  next

-    Gå videre ett trinn.

-  next 3

-    Gå videre tre trinn, eller til programmet stanser av en annen grunn.

-I likhet med kommandoen "step", utføres denne kommandoen såfremt det ikke 

-oppstår delrutinekall. Når delrutinekall oppstår, behandles kallet som én 

-instruksjon.

-

-[print]

-

-Vis verdien til en variabel eller et uttrykk.

-Eksempler:

-  print i

-    Vis verdien til i.

-  print employee.name

-    Vis verdien til employee.name.

-  print employee

-    Vis verdien til objektet employee.

-    Resultatet kan være så enkelt som [Object 10378].

-  print employee.

-    Vis verdiene til alle egenskaper for objektet employee.

-  print *employee

-    Vis verdiene til alle egenskaper for objektet employee.

-    Prefikset * som operator, brukes på samme måte som suffikset . som operator.

-  print #10378.

-    Vis verdiene til alle egenskaper for objekt nr. 10378.

-Tilgjengelige variabler er alle som er i den valgte stakkrammens leksikalske 

-miljø, samt alle med enten globalt omfang eller hvis omfang dekker en hel fil.

-

-[pwd]

-

-Vis gjeldende arbeidskatalog.

-Dette er katalogen fdb ble startet fra. Den kan ikke endres i fdb. Argumentet 

-for "run" og "source" kan spesifiseres i forhold til denne katalogen.

-Denne kommandoen bruker ingen argumenter.

-

-[quit]

-

-Avslutt fdb.

-Denne kommandoen bruker ingen argumenter.

-

-[run]

-

-Start en feilsøkingsøkt.

-Eksempler:

-  run http://www.mysite.com/myapp.mxml

-    Kjører angitt MXML-program.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Kjører den lokale SWF-filen myapp.swf, som kan spesifiseres enten i forhold 

-    til gjeldende katalog (se under kommandoen "pwd") eller med en fast bane. 

-    I så fall må også myapp.swd (filen med feilsøkingsinformasjonen) finnes i 

-    samme katalog som myapp.swf.

-  run

-    Kjør programmet som tidligere ble spesifisert med kommandoen "file".

-    Hvis det ikke er angitt et program, venter fdb til et program kobles til. 

-    Det oppstår et tidsavbrudd hvis ingen programmer kobles til.

-"run" starter programmet i en nettleser eller en frittstående Flash Player.

-Så snart programmet starter, bryter det inn i fdb så du kan angi stoppunkt osv.

-

-På Macintosh støttes kun kommandoen "run" uten argumenter. Du må da starte 

-Flash Player manuelt.

-

-[set]

-

-Angi verdien til en variabel eller en enkel variabel.

-Enkle variabler er variabler som kun finnes i fdb, de er ikke en del av 

-programmet.

-Enkle variabler har prefikset $, og kan ha et hvilket som helst navn som ikke 

-kommer i konflikt med en eksisterende variabel. Eksempel: $minVar. Enkle 

-variabler brukes også til å kontrollere ulike deler av fdb. 

-

-Følgende enkle variabler brukes av fdb.

-$listsize          – antall kildelinjer som skal vises når kommandoen "list" 

-                     brukes.

-$columnwrap        – kolonnenummer som viser hvor utdata brytes for ny linje

-$infostackshowthis – hvis verdien er 0, vises ikke "this" i tilbakesporing av 

-                     stakk

-$invokegetters     – hvis verdien er 0, kan ikke fdb sende getter-funksjoner

-$bpnum             – siste definerte stoppunktnummer

-$displayattributes – hvis verdien er 1, viser "print var" alle attributter for 

-                     medlemmer av "var" (f.eks. private og statiske)

-

-Eksempler:

-  set i = 3

-    Angir at variabelen i har nummeret 3.

-  set employee.name = "Susan"

-    Angir at variabelen employee.name har verdien Susan.

-  set $myVar = 20

-    Angir at den enkle variabelen $myVar har nummeret 20.

-

-[show]

-

-Generisk kommando som brukes til å vise ting om status for fdb.

-Liste over show-delkommandoer:

-show break (sh b)       Plassering ved og grunn til utsettelse av kjøring

-show directories (sh d) Kataloger som skal gjennomsøkes etter kildefiler

-show files (sh f)       Målfiler og -baner

-show functions (sh fu)  Informasjon om tilordning av funksjonslinjer 

-show locations (sh l)   Plassering av stoppunkt

-show memory (sh m)      Minnebruk for øyeblikket

-show net (sh n)         Meldingsstatistikk for spilleren 

-show properties (sh p)  Verdier for egenskaper

-show uri (sh u)         Spillerens URI for denne økten 

-show variable (sh v)    Innhenting av ren variabel

-Skriv "help show" fulgt av navnet på en show-delkommando hvis du vil se hele 

-dokumentasjonen om den.

-

-[show break]

-

-Vis forskyvningen i SWF-filen som programmet har stanset ved

-

-[show directories]

-

-Vis gjeldende søkebane for henting av kildefiler.

-

-[show files]

-

-Vis bane og filnavn for alle målfiler

-

-[show functions]

-

-Vis tilordningsinformasjon for funksjon-til-linjenummer.

-Eksempler:

-  show functions .

-    Viser tilordningsinformasjon for alle funksjoner i gjeldende fil.

-  show functions myapp.mxml

-    Viser tilordningsinformasjon for alle funksjoner i myapp.mxml.

-  show functions #3

-    Viser tilordningsinformasjon for alle funksjoner i fil nr. 3.

-  show functions

-    Viser tilordningsinformasjon for alle funksjoner i alle filer.

-Hvis du vil se filnavn og filnummer, skriver du "info sources" eller "info 

-files".

-Forkortede filnavn godtas hvis de ikke er tvetydige.

-

-[show locations]

-

-Viser en liste over plasseringer som er angitt for hvert stoppunkt

-

-[show memory]

-

-Viser minnestatistikk for Java VM.

-

-[show net]

-

-Vis informasjon om meldinger som er sendt til og mottatt fra Flash Player.

-

-[show properties]

-

-Viser en liste over enkle variabler som brukes i feilsøkingen 

-

-[show uri]

-

-Vis URI som spilleren har sendt for denne økten.

-

-[show variable]

-

-Vis verdien til medlemmer av variabelen. Du trenger to parametere: den første 

-er en numerisk variabelidentifikator, den andre er navnet på egenskapen til 

-variabelen. Den enkle variabelen $invokegetters brukes til å avgjøre om 

-egenskaps-getteren sendes eller ikke, dersom den eksisterer.

-Eksempel:

-    show variable 1 __proto__

-

-[show ?]

-

-Udefinert show-kommando. Prøv å skrive "help show".

-

-[source]

-

-Les fdb-kommandoer fra en fil, og kjør dem.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Leser filen mycommands.txt og kjører fdb-kommandoene i den.

-    Du kan angi filen med kommandoene

-	i forhold til gjeldende katalog (se under kommandoen "pwd")

-	eller med en fast bane.

-Filen .fdbinit leses automatisk på denne måten når fdb startes.

-Kun gjeldende katalog gjennomsøkes etter .fdbinit. Du kan dermed konfigurere 

-flere .fdbinit-filer for ulike prosjekter.

-

-[step]

-

-Gå gjennom program trinnvis til det når en annen kildelinje.

-Eksempler:

-  step

-    Gå videre ett trinn.

-  step 3

-    Gå videre tre trinn, eller til programmet stanser av en annen grunn.

-

-[tutorial]

-

-Vis en opplæring for fdb.

-Denne kommandoen bruker ingen argumenter.

-

-[Tutorial]

-

-En typisk fdb-økt:

-Start et program med "run".

-Vis filnavn med "info sources".

-List opp en fil med "list".

-Angi stoppunkt med "break".

-Kjør programmet med "continue" til det når et stoppunkt.

-Se på status for programmet med "where", "print" og "info locals".

-Kjør enkeltsetninger med "next", "step" og "finish".

-Fortsett kjøringen med "continue".

-Avslutt fdb med "quit".

-

-[undisplay]

-

-Fjern ett eller flere automatvisningsuttrykk.

-Eksempler:

-  undisplay

-    Fjern alle automatvisningsuttrykk.

-  undisplay 2 7

-    Fjern automatvisningsuttrykk nr. 2 og 7.

-Hvis du vil se listen over automatvisningsuttrykk og tilhørende nummer, skriver 

-du "info display".

-

-[up]

-

-Velg og vis stakkrammen som kalte denne.

-Påfølgende "info arguments"- og "info locals"-kommandoer viser

-lokale innstillinger og argumenter for valgt ramme.

-Se også "down" og "frame".

-

-[viewswf]

-

-Angir eller tømmer filter for filliste (dvs. "info files" og "info sources"), 

-ut fra navn på SWF-fil. 

-Hvis du ikke angir noen parametere, vises alle filer. Hvis samme fil er i én 

-eller flere SWF-filer, viser listen kun første forekomst av filen. Hvis du vil 

-se andre forekomster av filen, bruker du filens nummer (f.eks. "list #192"), 

-eller du kan bruke denne kommandoen med en parameter (se nedenfor) for å vise 

-filer fra en bestemt SWF-fil. Med kun SWF-navnet som vises med kommandoen "info 

-swfs", som parameter, vises kun filene fra angitt SWF-fil. 

-Filer fra andre SWF-filer vises ikke. Denne kommandoen påvirker også kommandoer 

-som godtar en fil som parameter (som "break).

-Eksempel:

-  viewswf myApp.mxml.swf

-    Kun filer fra myApp.mxml.swf vises.

-  viewswf 

-    Alle filer fra alle SWF-filer vises.

- 

-[watch]

-

-Legg til et overvåkningspunkt på en angitt variabel. Feilsøkeren stanser 

-kjøringen hvis variabelens verdi endres.

-Eksempel:

-  watch foo

-

-[what]

-

-Viser konteksten en variabel løses i. 

-

-[where]

-

-Tilbakesporing i stakk.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ru.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ru.txt
deleted file mode 100644
index 6c55167..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_ru.txt
+++ /dev/null
@@ -1,822 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Ќеопределенна€ команда. ¬ведите Ђhelpї дл€ просмотра списка всех команд fdb.

-

-[break]

-

-”становка точки прерывани€ на указанной строке или функции.

-ѕримеры:

-  break 87

-    ”становка точки прерывани€ на строке 87 текущего файла.

-  break myapp.mxml:56

-    ”становка точки прерывани€ на строке 56 файла myapp.mxml.

-  break #3:29

-    ”становка точки прерывани€ на строке 29 файла є 3.

-  break doThis

-    ”становка точки прерывани€ на функции doThis() в текущем файле.

-  break myapp.mxml:doThat

-    ”становка точки прерывани€ на функции doThat() в файле myapp.mxml.

-  break #3:doOther

-    ”становка точки прерывани€ на функции doOther() в файле є 3.

-  break

-   ”становка точки прерывани€ на текущем адресе выполнени€ в текущем стековом 

-   фрейме. “акое прерывание примен€етс€ при возврате к стековому фрейму.

-¬ведите Ђinfo sourcesї или Ђinfo filesї дл€ просмотра имен и номеров файлов.

-¬ведите Ђinfo functionsї дл€ просмотра имен функций.

-—окращенные имена файлов и функций принимаютс€, если они однозначно 

-идентифицируютс€.

-ѕри указании номера строки прерывание будет выполн€тьс€ при запуске кода в этой 

-строке.

-ѕри указании функции прерывание будет выполн€тьс€ при запуске кода в этой 

-функции.

-—м. Ђcommandsї и Ђconditionї дл€ информации о дополнительном управлении точек 

-прерывани€.

-

-[bt]

-

-ќбратна€ трассировка стека.

-

-[catch]

-

-ќстановка при возникновении исключени€.  ѕримен€етс€ только дл€ перехваченных 

-исключений, т.е. тех исключений, которые будут обрабатыватьс€ блоком Ђcatchї.  

-Ќеперехваченные исключени€ всегда останавливаютс€ в отладчике.

-

-»спользуйте команду Ђdeleteї дл€ удалени€ точки перехвата.

-

-ѕримеры:

-  catch *

-    ќстановка при возникновении любого исключени€.

-  catch ReferenceError

-    ќстановка при возникновении перехваченной или неперехваченной ошибки 

-    ReferenceError.

-

-[cf]

-

-ќтображение имени и номера текущего файла или изменение текущего файла.

-ѕримеры:

-  cf

-    ќтображение имени и номера текущего файла.

-  cf myapp.mxml

-    «амена текущего файла на файл myapp.mxml.

-  cf #29

-    «амена текущего файла на файл є 29.

-¬ведите Ђinfo sourcesї или Ђinfo filesї дл€ просмотра имен и номеров файлов.

-—окращенные имена файлов принимаютс€, если они однозначно идентифицируютс€.

-ѕри включении файла в список с помощью команды Ђlistї этот файл становитс€ 

-текущим.

-

-[clear]

-

-—брос точки прерывани€ в указанной строке или функции.

-ѕримеры:

-  clear 87

-    —брос точки прерывани€ на строке 87 текущего файла.

-  clear myapp.mxml:56

-    —брос точки прерывани€ на строке 56 файла myapp.mxml.

-  clear #3:29

-    —брос точки прерывани€ на строке 29 файла є 3.

-  clear doThis

-    —брос точки прерывани€ на функции doThis() в текущем файле.

-  clear myapp.mxml:doThat

-    —брос точки прерывани€ на функции doThat() в файле myapp.mxml.

-  clear #3:doOther

-    —брос точки прерывани€ на функции doOther() в файле є 3.

-  clear

-    —брос точки прерывани€ на текущей строке в текущем файле. 

-¬ведите Ђinfo sourcesї или Ђinfo filesї дл€ просмотра имен и номеров файлов.

-¬ведите Ђinfo functionsї дл€ просмотра имен функций.

-—окращенные имена файлов и функций принимаютс€, если они однозначно 

-идентифицируютс€.

-ѕри указании номера строки сбрасываютс€ все точки прерывани€ на этой строке.

-ѕри указании функции сбрасываютс€ точки прерывани€ в начале этой функции.

-

-[continue]

-

-ѕродолжение выполнени€ после остановки на точке прерывани€.

-Ёта команда не принимает аргументы.

-

-[condition]

-

-

-ќстановка в точке прерывани€ номер N, только если COND имеет значение true.

-»спользование: Ђcondition N CONDї, где N €вл€етс€ целым числом, а COND 

-представл€ет выражение дл€ вычислени€ при достижении точки прерывани€ N.

-

-[commands]

-

-”становка команд дл€ выполнени€ при активации точки прерывани€.

-”кажите номер точки прерывани€ в качестве аргумента после Ђcommandsї.

-ѕри отсутствии аргументов целевой точкой прерывани€ будет последн€€ указанна€ 

-точка прерывани€.

- оманды следуют с начала следующей строки.

-¬ведите в строке Ђendї дл€ указани€ окончани€ команд.

-¬ведите Ђsilentї в первой строке дл€ того, чтобы точка прерывани€ стала 

-необъ€вл€емой. Ёто позволит не отображать выходные данные при активации точки 

-прерывани€, и на экран будет выводитьс€ только информаци€ Ђcommandsї.

-ѕример:

-  (fdb) commands

-  ¬ведите Ђcommandsї дл€ активации точки прерывани€ 1 по одной команде на 

-  строку.

-  ѕоследн€€ строка должна содержать только Ђendї.

-  >w

-  >end

-

-[delete]

-

-”даление точек прерывани€.

-ѕримеры:

-  delete

-    ”даление всех точек прерывани€.

-  delete 2 5

-    ”даление точек прерывани€ є 2 и є 5.

-ƒл€ просмотра номеров точек прерывани€ введите Ђinfo breakpointsї.

-

-[directory]

-

-»зменение списка каталогов, в которых fdb осуществл€ет поиск исходных файлов.

-

-ѕримеры:

-

-  directory

-    ¬осстановление списка по умолчанию, который €вл€етс€ каталогом, где 

-    исходный файл был скомпилирован в код объекта, за которым следует текущий 

-    рабочий каталог.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    ƒобавление указанного каталога в начало списка каталогов, в которых будет 

-    осуществл€тьс€ поиск источника.  Ќапример, при поиске источника дл€ класса 

-    mypackage.MyClass отладчик выполнит поиск C:\MySource\mypackage\MyClass.as 

-    и C:\MySource\MyClass.as.

-

-  directory C:\Dir1;C:\Dir2    (Windows Ц используйте Ђ;ї в качестве разделител€)

-  directory /Dir1:/Dir2        (Mac Ц используйте Ђ:ї в качестве разделител€)

-    ƒобавление нескольких каталогов в начало списка каталогов, в которых будет 

-    осуществл€тьс€ поиск источника.

-

-ƒл€ просмотра текущего списка введите Ђshow directoriesї.

-

-[disable]

-

-¬ыключение одной или нескольких точек прерывани€ или выражений автоотображени€.

-ѕримеры:

-  disable

-  disable breakpoints

-    ¬ыключение всех точек прерывани€.

-  disable 2 5

-  disable breakpoints 2 5

-    ¬ыключение точек прерывани€ є 2 и є 5.

-  disable display

-    ¬ыключение всех выражений автоотображени€.

-  disable display 1 3

-    ¬ыключение выражений автоотображени€ є 1 и є 3.

-ƒл€ просмотра номеров точек прерывани€ введите Ђinfo breakpointsї.

-ƒл€ просмотра номеров выражений автоотображени€ введите Ђinfo displayї.

-

-[disassemble]

-

-(только дл€ ActionScript 2; не поддерживаетс€ при отладке ActionScript 3)

-

-ƒизассемблирование указанной части исходного кода.

-ѕо умолчанию используетс€ текуща€ строка перечислени€.

-ѕоддерживаютс€ те же аргументы, что и при команде Ђlistї.

-ѕримеры:

-  disassemble 87

-    ƒизассемблирование строки 87 в текущем файле.

-  disassemble 87 102

-    ƒизассемблирование строк 87-102 в текущем файле.

-  disassemble doThis

-      ƒизассемблирование функции doThis() в текущем файле.

-ѕомимо использовани€ простых номеров строк, как показано выше, существуют 

-дополнительные способы дл€ указани€ строк:

-   myapp.mxml

-      —трока 1 в myapp.mxml.

-   myapp.mxml:doThat

-      ѕерва€ строка функции doThat() в myapp.mxml.

-   myapp.mxml:56

-      —трока 56 в myapp.mxml.

-   #3

-      —трока 1 в файле є 3.

-   #3:doOther

-      —трока в файле є 3, где начинаетс€ функци€ doOther().

-   #3:29

-      —трока 29 в файле є 3.

-

-[display]

-

-ƒобавление выражени€ к списку выражений автоотображени€.

-ѕример:

-  display employee.name

-    ƒобавление Ђemployee.nameї к списку выражений автоотображени€.

-    «начение employee.name будет отображатьс€ при каждой остановке fdb.

-јргумент дл€ этой команды аналогичен аргументу дл€ команды Ђprintї.

-ƒл€ просмотра списка выражений автоотображени€ и их номеров введите Ђinfo 

-displayї.

-

-[down]

-

-¬ыбор и печать стекового фрейма, вызванного этой командой.

-ѕри последующем вводе команд Ђinfo argumentsї и Ђinfo localsї отобраз€тс€ 

-локальные переменные и аргументы дл€ выбранного фрейма.

-—м. Ђupї и Ђframeї 

-

-[enable]

-

-¬ключение точек прерывани€ или выражений автоотображени€.

-ѕримеры:

-  enable

-  enable breakpoints

-    ¬ключение всех точек прерывани€.

-  enable 2 5

-  enable breakpoints 2 5

-    ¬ключение точек прерывани€ є 2 и є 5.

-  enable display

-    ¬ключение всех выражений автоотображени€.

-  enable display 1 3

-    ¬ключение выражений автоотображени€ є 1 и є 3.

-ƒл€ просмотра номеров точек прерывани€ введите Ђinfo breakpointsї.

-ƒл€ просмотра номеров выражений автоотображени€ введите Ђinfo displayї.

-

-[file]

-

-”казание приложени€ дл€ выполнени€ отладки без запуска приложени€.

-ѕримеры:

-  file http://www.mysite.com/myapp.mxml

-    ”казание MXML-приложени€ дл€ выполнени€ отладки.

-  file myapp.swf

-    ”казание локального SWF-файла в текущем каталоге дл€ выполнени€ отладки.

-    ¬ этом случае myapp.swd (файл, содержащий информацию по отладке) должен 

-    также находитьс€ в текущем каталоге.

-Ёта команда не приводит к запуску приложени€; используйте команду Ђrunї без 

-аргументов дл€ запуска отладки приложени€.

-¬место Ђfile <target>ї с последующей командой Ђrunї можно указать приложение 

-дл€ отладки в качестве аргумента дл€ Ђrunї.

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-ѕриложение дл€ отладки можно также указать в качестве аргумента командной 

-строки при запуске fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-¬ этом случае не требуетс€ использовать Ђfileї или Ђrunї.

-≈сли дл€ команды Ђrunї не указано приложение дл€ отладки, fdb будет ожидать 

-соединени€ с любым приложением.

-

-[finish]

-

-¬ыполнение до возврата текущей функции.

-Ёта команда не принимает аргументы.

-

-[frame]

-

-¬ыбор и печать определенного стекового фрейма.

-Ёта команда принимает дополнительный аргумент Ц номер фрейма.

-ѕри отсутствии аргументов по умолчанию выполн€етс€ возврат к текущему верхнему 

-фрейму (т.е. фрейму 0).

-ѕримеры:

-  frame 4

-  frame

-ѕри последующем вводе команд Ђinfo argumentsї и Ђinfo localsї отобраз€тс€ 

-локальные переменные и аргументы дл€ выбранного фрейма.

-—м. Ђupї, Ђdownї и Ђbtї. 

-

-[handle]

-

-ќпределение способа, которым fdb будет обрабатывать ошибки в Flash Player.

-ѕримеры:

-  handle recursion_limit stop

-    ѕри возникновении ошибки recursion_limit отображаетс€ сообщение в fdb и 

-    выполн€етс€ остановка, как будто на точке прерывани€.

-  handle all print nostop

-    ѕри возникновении любых ошибок отображаетс€ сообщение в fdb, но остановка 

-    не выполн€етс€.

-ѕервый аргумент €вл€етс€ именем ошибки или Ђallї.

-ƒополнительные аргументы представл€ют действи€, применимые к данной ошибке.

-ƒл€ просмотра имен ошибок введите Ђinfo handleї.

-ƒействи€ми €вл€ютс€ print/noprint и stop/nostop.

-Ђprintї означает печать сообщени€ при возникновении этой ошибки.

-Ђstopї означает повторный вход в отладчик при возникновении этой ошибки. 

-Ђprintї также подразумеваетс€.

-

-[help]

-

-Ќовичок в fdb? ¬ведите Ђtutorialї дл€ просмотра основной информации.

-—писок команд fdb:

-bt (bt)             ѕечать обратной трассировки всех стековых фреймов

-break (b)           ”становка точки прерывани€ на указанной строке или функции

-catch (ca)          ќстановка при возникновении исключени€

-cf (cf)             ќтображение имени и номера текущего файла

-clear (cl)          —брос точки прерывани€ в указанной строке или функции

-condition (cond)    ѕрименение или удаление условного выражени€ в точке 

-                    прерывани€

-continue (c)        ѕродолжение выполнени€ после остановки в точке прерывани€

-commands (com)      ”становка команд дл€ выполнени€ при активации точки 

-                    прерывани€

-delete (d)          ”даление точек прерывани€ или выражений автоотображени€

-directory (dir)     ƒобавление каталога к пути дл€ поиска исходных файлов

-disable (disab)     ¬ыключение точек прерывани€ или выражений автоотображени€

-disassemble (disas) ƒизассемблирование исходных строк или функций

-display (disp)      ƒобавление выражений автоотображени€

-enable (e)          ¬ключение точек прерывани€ или выражений автоотображени€

-file (fil)          ”казание приложени€ дл€ выполнени€ отладки.

-finish (f)          ¬ыполнение до возврата текущей функции

-handle (han)        ќпределение способа обработки ошибки

-help (h)            ќтображение справки по командам fdb

-home (ho)           ”казание местоположени€ перечислени€, где происходит 

-                    остановка выполнени€

-info (i)            ќтображение информации об отлаживаемой программе

-kill (k)            ѕрерывание выполнени€ отлаживаемой программы

-list (l)            ¬ключение в список указанной функции или строки

-next (n)            ѕошаговый режим программы

-print (p)           ѕечать значени€ переменной EXP

-pwd (pw)            ѕечать рабочего каталога

-quit (q)            ¬ыход из fdb

-run (r)             «апуск программы после отладки

-set (se)            ”казание значени€ переменной

-source (so)         „тение команд fdb из файла

-step (s)            ѕошаговый режим программы до достижени€ другой исходной 

-                    строки

-tutorial (t)        ќтображение руководства по использованию fdb

-undisplay (u)       ”даление выражени€ автоотображени€

-viewswf (v)         ”становка или сброс фильтра дл€ перечислени€ файлов на 

-                    основе swf

-watch (wa)          ƒобавление точки-датчика на данную переменную

-what (wh)           ќтображение контекста переменной

-where (w)           јналогично bt

-ƒл€ просмотра полной документации введите Ђhelpї с последующим именем команды.

-

-[home]

-

-”казание местоположени€ перечислени€, где происходит остановка выполнени€.

-

-[info]

-

-ќбща€ команда дл€ отображени€ информации об отлаживаемой программе.

-—писок подкоманд info:

-info arguments (i a)    ѕеременные аргументов текущего стекового фрейма

-info breakpoints (i b)  —осто€ние точек прерывани€, указываемых пользователем

-info display (i d)      ќтображение списка выражений автоотображени€

-info files (i f)        »мена отлаживаемых целевых объектов и файлов

-info functions (i fu)   »мена всех функций

-info handle (i h)       —пособы обработки ошибок

-info locals (i l)       Ћокальные переменные текущего стекового фрейма

-info scopechain (i sc)  ÷епочка областей видимости текущего стекового фрейма

-info sources (i so)     »сходные файлы в программе

-info stack (i s)        ќбратна€ трассировка стека

-info swfs (i sw)        —писок файлов swf в этом сеансе

-info targets(i t)       ќтлаживаемое приложение

-info variables (i v)    »мена всех глобальных и статических переменных

-ƒл€ просмотра полной документации введите Ђhelp infoї с последующим именем 

-подкоманды info.

-

-[info arguments]

-

-ќтображение аргументов текущего стекового фрейма.

-

-[info breakpoints]

-

-ќтображение состо€ни€ всех точек прерывани€ и точек-датчиков.

-—толбец Type определ€ет одно из следующего:

-   breakpoint   - обычна€ точка прерывани€

-   watchpoint   - точка-датчик

-—толбец Disp содержит одну из команд Ђkeepї, Ђdelї или Ђdisї дл€ указани€ 

-размещени€ точки прерывани€ после ее активации. Ђdisї указывает на выключение 

-точки прерывани€, в то врем€ как Ђdelї обозначает ее удаление.  

-—толбцы Address и What указывают адрес и номер файла или строки соответственно. 

-

-[info display]

-

-ќтображение списка выражений автоотображени€ и их номеров.

-

-[info files]

-

-ќтображение имен и номеров файлов дл€ отлаживаемого приложени€, в том числе 

-исходных файлов, файлов инфраструктуры и автоматически созданных файлов.

-ѕримеры:

-  info files

-    —писок всех файлов в алфавитном пор€дке по категори€м

-  info files my

-  info files my*

-    —писок всех файлов, начинающихс€ с Ђmyї, в алфавитном пор€дке.

-  info files *.as

-    —писок всех файлов, заканчивающихс€ на Ђ.asї, в алфавитном пор€дке.

-  info files *foo*

-    —писок всех файлов, содержащих в имени Ђfooї, в алфавитном пор€дке. 

-‘айлы отображаютс€ в формате name#N, где N Ц номер файла.

-¬о многих командах #N используетс€ вместо имени файла.

-

-[info functions]

-

-ќтображение имен функций.

-ѕримеры:

-  info functions .

-    ќтображение всех функций в текущем файле.

-  info functions myapp.mxml

-    ќтображение всех функций в myapp.mxml.

-  info functions #3

-    ќтображение всех функций в файле є 3.

-  info functions

-    ќтображение всех функций во всех файлах.

-ƒл€ просмотра имен и номеров файлов введите Ђinfo sourcesї или Ђinfo filesї.

-—окращенные имена файлов принимаютс€, если они однозначно идентифицируютс€.

-

-[info handle]

-

-ќтображение действий fdb при возникновении ошибки в Flash Player.

-ѕримеры:

-  info handle

-    ќтображение действий fdb при обработке ошибок.

-  info handle recursion_limit

-    ќтображение действий fdb при обработке ошибки recursion_limit.

-

-[info locals]

-

-ќтображение локальных переменных текущего стекового фрейма.

-

-[info scopechain]

-

-ќтображение цепочки областей видимости текущего стекового фрейма.  ÷епочка 

-областей видимости представл€ет собой список объектов, в котором выполн€етс€ 

-поиск при попытке Flash Player обработать им€ символа.

-

-[info sources]

-

-ќтображение имен и номеров исходных файлов дл€ отлаживаемого приложени€. ‘айлы 

-инфраструктуры и автоматически созданные файлы не включены.

-‘айлы отображаютс€ в формате name#N, где N Ц номер файла.

-¬о многих командах #N используетс€ вместо имени файла.

-

-[info stack]

-

-ќбратна€ трассировка стека.

-

-[info swfs]

-

-ќтображение файлов swf, известных сеансу отладки.  —м. команду Ђviewswfї дл€ 

-получени€ дополнительной информации о способах фильтрации перечислени€ файлов 

-на основе имени swf. 

-

-[info targets]

-

-ќтображение URL-адреса (http: или file:) отлаживаемого приложени€.

-

-[info variables]

-

-ќтображение имен и значений всех глобальных и статических переменных.

-

-[info ?]

-

-Ќеопределенна€ команда info. ¬ведите Ђhelp infoї.

-

-[kill]

-

-ѕрерывание выполнени€ отлаживаемой программы.

-Ёта команда не принимает аргументы.

-

-[list]

-

-—оздание списка строк кода в исходном файле.

-ѕримеры:

-  list

-    —оздание списка из дес€ти дополнительных строк в текущем файле после или 

-    вокруг предыдущего перечислени€.

-  list -

-    —оздание списка из дес€ти строк в текущем файле до предыдущего перечислени€.

-  list 87

-    —оздание списка из дес€ти строк в текущем файле вокруг строки 87.

-  list 87 102

-    —оздание списка строк 87-102 в текущем файле.

-ѕомимо использовани€ простых номеров строк, как показано выше, существует семь 

-дополнительных способов дл€ указани€ строк:

-  doThis

-      ѕерва€ строка функции doThis() в текущем файле.

-   myapp.mxml

-      —трока 1 в myapp.mxml.

-   myapp.mxml:doThat

-      ѕерва€ строка функции doThat() в myapp.mxml.

-   myapp.mxml:56

-      —трока 56 в myapp.mxml.

-   #3

-      —трока 1 в файле є 3.

-   #3:doOther

-      —трока в файле є 3, где начинаетс€ функци€ doOther().

-   #3:29

-      —трока 29 в файле є 3.

-ƒл€ просмотра имен и номеров файлов введите Ђinfo sourcesї или Ђinfo filesї.

-ƒл€ просмотра имен функций введите Ђinfo functionsї.

-—окращенные имена файлов и функций принимаютс€, если они однозначно 

-идентифицируютс€.

-ѕри включении файла в список этот файл становитс€ текущим. (—м. команду Ђcfї.)

-

-[next]

-

-ѕошаговый режим программы, продолжающийс€ во врем€ вызовов подпрограмм.

-  next

-    ѕереход на один шаг.

-  next 3

-    ѕереход на 3 шага, или до тех пор, пока программа не остановитс€ по иной 

-    причине.

-јналогично команде Ђstepї при отсутствии вызовов подпрограмм; при возникновении 

-вызов обрабатываетс€ как одна инструкци€.

-

-[print]

-

-ѕечать значени€ переменной или выражени€.

-ѕримеры:

-  print i

-    ѕечать значени€ Ђiї.

-  print employee.name

-    ѕечать значени€ Ђemployee.nameї.

-  print employee

-    ѕечать значени€ объекта Ђemployeeї.

-    »нформаци€ может быть выведена как, например, [Object 10378].

-  print employee.

-    ѕечать значений всех свойств объекта Ђemployeeї.

-  print *employee

-    ѕечать значений всех свойств объекта Ђemployeeї.

-    ѕрефиксный оператор Ђ*ї €вл€етс€ альтернативой префикса постфиксному 

-    оператору Ђ.ї.

-  print #10378.

-    ѕечать значений всех свойств объекта є 10378.

-ƒоступными €вл€ютс€ переменные лексического окружени€ выбранного стекового 

-фрейма, а также все переменные, область видимости которых €вл€етс€ глобальной 

-или представлена всем файлом.

-

-[pwd]

-

-ѕечать текущего рабочего каталога.

-Ёто каталог, из которого запускаетс€ fdb. ƒанный каталог нельз€ изменить 

-изнутри fdb. ѕо отношению к этому каталогу можно указать аргумент Ђrunї и 

-Ђsourceї.

-Ёта команда не принимает аргументы.

-

-[quit]

-

-¬ыход из fdb.

-Ёта команда не принимает аргументы.

-

-[run]

-

-«апуск сеанса отладки.

-ѕримеры:

-  run http://www.mysite.com/myapp.mxml

-    ¬ыполнение указанного MXML-приложени€.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    ¬ыполнение локального SWF-файла myapp.swf, который можно указать: 

-    относительно текущего каталога (см. команду Ђpwdї) или с использованием 

-    абсолютного пути. ¬ этих случа€х myapp.swd (файл, содержащий информацию по 

-    отладке) должен находитьс€ в том же каталоге, что и myapp.swf.

-  run

-    ¬ыполнение приложени€, ранее указанного командой Ђfileї.

-    ≈сли приложение не указано, fdb будет ожидать соединени€ с любым 

-    приложением; если ни одно приложение не выполнит соединение, fdb отобразит 

-    превышение времени ожидани€.

-Ђrunї запустит приложение в браузере или автономном проигрывателе Flash Player.

-ѕосле запуска приложение прервет выполнение в fdb дл€ того, чтобы пользователь 

-мог установить точки прерывани€ и т.п.

-

-¬ системе Macintosh поддерживаетс€ только форма команды Ђrunї без аргументов.  

-«атем следует вручную запустить Flash Player.

-

-[set]

-

-ќтображение значени€ переменной или вспомогательной переменной.

-¬спомогательными €вл€ютс€ переменные, которые существуют только внутри fdb и не 

-€вл€ютс€ частью программы пользовател€.

-¬спомогательные переменные обозначены префиксом Ђ$ї и могут иметь любое им€, 

-которое не вызывает конфликт с именем любой существующей переменной. Ќапример, 

-$myVar.   роме того, вспомогательные переменные используютс€ дл€ управлени€ 

-различными аспектами fdb.  

-

-¬ fdb используютс€ следующие вспомогательные переменные:

-$listsize          - количество отображаемых исходных строк дл€ команды Ђlistї

-$columnwrap        - номер столбца, в котором будет выполн€тьс€ перенос 

-                     выходных данных

-$infostackshowthis - если 0, то Ђthisї не отображаетс€ в обратной трассировке стека

-$invokegetters     - если 0, то fdb не вызывает функции получател€

-$bpnum             - последний определенный номер точки прерывани€

-$displayattributes - если 1, то Ђprint var.ї отображает все атрибуты членов 

-                     Ђvarї (например, private или static)

-

-ѕримеры:

-  set i = 3

-    ”становка числа 3 в качестве значени€ дл€ переменной Ђiї.

-  set employee.name = "Susan"

-    ”становка строки ЂSusanї в качестве значени€ дл€ переменной Ђemployee.nameї.

-  set $myVar = 20

-    ”становка числа 20 в качестве значени€ дл€ вспомогательной переменной 

-    Ђ$myVarї

-

-[show]

-

-ќбща€ команда дл€ отображени€ информации о состо€нии fdb.

-—писок подкоманд show:

-show break (sh b)       ћестоположение и причина приостановленного выполнени€

-show directories (sh d)  аталоги дл€ поиска исходных файлов

-show files (sh f)       ÷елевые файлы и пути

-show functions (sh fu)  »нформаци€ по отображению строки функции 

-show locations (sh l)   ћестоположени€ точек прерывани€

-show memory (sh m)      “екущее использование пам€ти

-show net (sh n)         —татистика сообщений Player 

-show properties (sh p)  «начени€ свойств

-show uri (sh u)         URI проигрывател€ Player дл€ этого сеанса 

-show variable (sh v)    »звлечение необработанной переменной

-ƒл€ просмотра полной документации введите Ђhelp showї с последующим именем 

-подкоманды show.

-

-[show break]

-

-ќтображение смещени€ внутри SWF, где программа выполнила остановку

-

-[show directories]

-

-ќтображение текущего пути дл€ поиска исходных файлов.

-

-[show files]

-

-ќтображение пути и имени файла дл€ всех целевых файлов

-

-[show functions]

-

-ќтображение информации о сопоставленных номерах строк дл€ перечисленных функций.

-ѕримеры:

-  show functions .

-    ќтображение информации по сопоставлению всех функций в текущем файле.

-  show functions myapp.mxml

-    ќтображение информации по сопоставлению всех функций в myapp.mxml.

-  show functions #3

-    ќтображение информации по сопоставлению всех функций в файле є 3.

-  show functions

-    ќтображение информации по сопоставлению всех функций во всех файлах.

-ƒл€ просмотра имен и номеров файлов введите Ђinfo sourcesї или Ђinfo filesї.

-—окращенные имена файлов принимаютс€, если они однозначно идентифицируютс€.

-

-[show locations]

-

-ќтображение списка местоположений, указанных дл€ каждой точки прерывани€

-

-[show memory]

-

-ќтображение статистики пам€ти виртуальной машины Java.

-

-[show net]

-

-ќтображение информации о сообщени€х, отправл€емых и получаемых проигрывателем 

-Flash Player.

-

-[show properties]

-

-ќтображение списка вспомогательных переменных, используемых в отладчике 

-

-[show uri]

-

-ќтображение URI, отправленного проигрывателем дл€ этого сеанса.

-

-[show variable]

-

-ќтображение значени€ членов переменной.  Ќеобходимо наличие двух параметров: 

-первый параметр Ц числовой идентификатор переменной, второй параметр Ц им€ 

-свойства у переменной.  ¬спомогательна€ переменна€ $invokegetters используетс€ 

-дл€ определени€ того, будет ли вызвано предположительно существующее свойство 

-получател€.

-ѕример:

-    show variable 1 __proto__

-

-[show ?]

-

-Ќеопределенна€ команда show. ¬ведите Ђhelp showї.

-

-[source]

-

-„тение команд fdb из файла и их выполнение.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    „тение mycommands.txt и выполнение команд fdb в этом файле.

-    ‘айл, содержащий команды, можно указать

-	относительно текущего каталога (см. команду Ђpwdї)

-	или с использованием абсолютного пути.

-„тение файла .fdbinit выполн€етс€ автоматически при запуске fdb.

-ѕоиск .fdbinit осуществл€етс€ только в текущем каталоге. Ёто означает, что 

-можно указать различные файлы .fdbinit дл€ различных проектов.

-

-[step]

-

-ѕошаговый режим программы до достижени€ другой исходной строки.

-ѕримеры:

-  step

-    ѕереход на один шаг.

-  step 3

-    ѕереход на 3 шага, или до тех пор, пока программа не остановитс€ по иной 

-    причине.

-

-[tutorial]

-

-ќтображение руководства по использованию fdb.

-Ёта команда не принимает аргументы.

-

-[Tutorial]

-

-“ипичный сеанс fdb:

-«апуск приложени€ посредством команды Ђrunї.

-ѕросмотр имен файлов посредством команды Ђinfo sourcesї.

-¬ключение файла в список с помощью команды Ђlistї.

-”казание точек прерывани€ посредством команды Ђbreakї.

-¬ыполнение программы посредством команды Ђcontinueї до активации точки 

-прерывани€.

-јнализ состо€ни€ программы посредством команд Ђwhereї, Ђprintї и Ђinfo localsї.

-¬ыполнение индивидуальных инструкций посредством команд Ђnextї, Ђstepї и 

-Ђfinishї.

-ѕродолжение выполнени€ программы посредством команды Ђcontinueї.

-¬ыход из fdb посредством команды Ђquitї.

-

-[undisplay]

-

-”даление одного или нескольких выражений автоотображени€.

-ѕримеры:

-  undisplay

-    ”даление всех выражений автоотображени€.

-  undisplay 2 7

-    ”даление выражений автоотображени€ є 2 и є 7.

-ƒл€ просмотра списка выражений автоотображени€ и их номеров введите Ђinfo 

-displayї.

-

-[up]

-

-¬ыбор и печать стекового фрейма, вызванного этой командой.

-ѕри последующем вводе команд Ђinfo argumentsї и Ђinfo localsї отобраз€тс€ 

-локальные переменные и аргументы дл€ выбранного фрейма.

-—м. Ђdownї и Ђframeї

-

-[viewswf]

-

-”становка или сброс фильтра дл€ перечислени€ файлов (например, Ђinfo filesї и 

-Ђinfo sourcesї) на основе имени swf. 

-≈сли параметры не указаны, отобраз€тс€ все файлы.  ≈сли один и тот же файл 

-существует в одном или нескольких файлах swf, то в перечислении отобразитс€ 

-только первый экземпл€р этого файла.  ƒл€ доступа к другим экземпл€рам этого 

-файла используйте номер файла (например, Ђlist #192ї) или эту команду с 

-параметром (см. ниже) дл€ отображени€ файлов из определенного файла swf.  ≈сли 

-указан один параметр - им€ swf, отображенное командой Ђinfo swfsї, то в 

-перечислении отобраз€тс€ только файлы из указанного swf.  

-‘айлы из других файлов swf не будут отображатьс€.  Ёта команда также св€зана с 

-командами, принимающими файл в качестве параметра (например, Ђbreakї)

-ѕример:

-  viewswf myApp.mxml.swf

-    ќтображение файлов только из myApp.mxml.swf.

-  viewswf 

-    ќтображение всех файлов из всех файлов swf.

- 

-[watch]

-

-ƒобавление точки-датчика к данной переменной. ѕри изменении значени€ переменной 

-отладчик приостановит выполнение.

-ѕример:

-  watch foo

-

-[what]

-

-ќтображение контекста дл€ разрешени€ переменной. 

-

-[where]

-

-ќбратна€ трассировка стека.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_se.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_se.txt
deleted file mode 100644
index 1e2a72b..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_se.txt
+++ /dev/null
@@ -1,806 +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.
-
-

-This file contains the text displayed by the 'help' command in fdb.

-

-It is divided into "topics". For example, when an fdb user types

-'help break', the [break] topic below is displayed.

-

-The first and last lines of each topic should be blank.

-They don't get displayed in fdb; they are here only

-to make this file more easily readable.

-

-Help text should be formatted to not wrap

-when displayed on an 80-character-wide console.

-The following line is 80 characters wide.

-

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

-

-[?]

-

-Kommandot är inte definierat. Ange ”help” om du vill se en lista över alla 

-fdb-kommandon.

-

-[break]

-

-Används för att infoga brytpunkt vid den angivna raden eller funktionen.

-Exempel:

-  break 87

-    En brytpunkt infogas vid rad 87 i den aktuella filen.

-  break myapp.mxml:56

-    En brytpunkt infogas vid rad 56 i myapp.mxml.

-  break #3:29

-    En brytpunkt infogas vid rad 29 i fil #3.

-  break doThis

-    En brytpunkt infogas vid funktionen doThis() i den aktuella filen.

-  break myapp.mxml:doThat

-    En brytpunkt infogas vid funktionen doThis() i den aktuella filen.

-  break #3:doOther

-    En brytpunkt infogas vid funktionen doOther() i fil #3.

-  break

-   En brytpunkt infogas vid den aktuella körningens adress i aktuell stackram. 

-   Detta kan vara användbart vid brytning för återgång till stackram.

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Ange ”info functions” om du vill se alla funktionsnamn.

-Det går att ange förkortningar av namn och funktionsnamn så länge dessa inte är 

-tvetydiga.

-Om radnumret anges bryts koden vid inledningen av den raden.

-Om funktionen anges bryts koden vid inledningen av den raden.

-Information om vidare brytpunktskontroll finns under ”commands” och ”condition”.

-

-[bt]

-

-Används för att bakåtspåra genom stacken.

-

-[catch]

-

-Används för att stoppa körningen när ett undantag inträffar.  Detta påverkar 

-endast catch-undantag, det vill säga undantag som behandlas med catch-block.  

-Andra undantag leder alltid till att felsökaren stoppas.

-

-Du tar bort catch-punkter med kommandot ”delete”.

-

-Exempel:

-  catch *

-    Körningen stoppas när något undantag inträffar.

-  catch ReferenceError

-    Körningen stoppas när ett ReferenceError inträffar, oavsett om det är 

-    catch-fel eller inte.

-

-[cf]

-

-Används för att visa eller ändra den aktuella filens namn och nummer.

-Exempel:

-  cf

-    Den aktuella filens namn och nummer visas.

-  cf myapp.mxml

-    Namnet på den aktuella filen ändras till myapp.mxml.

-  cf #29

-    Numret på den aktuella filen ändras till #29.

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Det går att ange förkortningar av filnamn så länge dessa inte är tvetydiga.

-När du visar en fil med kommandot ”list” blir den filen aktuell.

-

-[clear]

-

-Används för att ta bort brytpunkt vid den angivna raden eller funktionen.

-Exempel:

-  clear 87

-    En brytpunkt vid rad 87 tas bort från den aktuella filen.

-  clear myapp.mxml:56

-    En brytpunkt vid rad 56 tas bort från myapp.mxml.

-  clear #3:29

-    En brytpunkt vid rad 29 tas bort från fil #3.

-  clear doThis

-    En brytpunkt vid funktionen doThis() tas bort från den aktuella filen.

-  clear myapp.mxml:doThat

-    En brytpunkt vid funktionen doThis() tas bort från den aktuella filen.

-  clear #3:doOther

-    En brytpunkt vid funktionen doOther() tas bort från fil #3.

-  clear

-    En brytpunkt tas bort från den aktuella raden i den aktuella filen. 

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Ange ”info functions” om du vill se alla funktionsnamn.

-Det går att ange förkortningar av namn och funktionsnamn så länge dessa inte är 

-tvetydiga.

-Om du anger ett nummer tas alla brytpunkter på den raden bort.

-Om en funktion anges, tas alla brytpunkter i början av funktionen bort.

-

-[continue]

-

-Används för att fortsätta körningen efter brytpunkt.

-Du kan inte ange argument för det här kommandot.

-

-[condition]

-

-

-Används för att ställa in så att brytpunktsnumret N endast träder i kraft om 

-VILLKOR är sant.

-Syntaxen är ”condition N VILLKOR” där N står för ett heltal och COND är ett 

-uttryck som ska kontrolleras när brytpunkten N nås.

-

-[commands]

-

-Används för att ange kommandon som ska köras när en viss brytpunkt nås.

-Numret på brytpunkten anges som argument efter "commands".

-Om inga argument anges används den brytpunkt som infogades senast.

-Kommandona anges med början på nästa rad.

-Skriv en rad som innehåller ”end” för att ange slutet på dem.

-Ange ”silent” på den första raden om brytpunkten ska vara tyst, vilket innebär 

-att inga utdata visas när brytpunkten nås (förutom texten från kommandot). 

-Exempel:

-  (fdb) commands

-  Ange kommandon (ett på varje rad) som ska utföras när brytpunkt 1 nås.

-  Avsluta med raden ”end”.

-  >w

-  >end

-

-[delete]

-

-Används för att ta bort en eller flera brytpunkter.

-Exempel:

-  delete

-    Alla brytpunkter tas bort.

-  delete 2 5

-    Brytpunkterna #2 och #5 tas bort.

-Ange ”info breakpoint” om du vill se alla brytpunktsnummer.

-

-[directory]

-

-Ändra listan över kataloger som används vid sökning efter källfiler i fdb.

-

-Exempel:

-

-  directory

-    Listan återställs till standardinställningarna, det vill säga den katalog 

-    där källfilen kompilerades till objektskod samt den aktuella 

-    arbetskatalogen.

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    Den angivna katalogen läggs till i början av listan över kataloger som 

-    används vid sökning efter källfiler.  När det exempelvis gäller källfilerna 

-    till klassen mypackage.MyClass söks både C:\MySource\mypackage\MyClass.as 

-    samt C:\MySource\MyClass.as igenom.

-

-  directory C:\Dir1;C:\Dir2    (Använd semikolon som avgränsare i Windows)

-  directory /Dir1:/Dir2        (Använd semikolon som avgränsare på Mac-datorer)

-    Flera kataloger läggs till i början av listan över kataloger som används 

-    vid sökning efter källfiler.

-

-Ange ”show directories” om du vill se den aktuella listan.

-

-[disable]

-

-Används för att inaktivera en eller flera brytpunkter eller uttryck som visas 

-automatiskt.

-Exempel:

-  disable

-  disable breakpoints

-    Alla brytpunkter inaktiveras.

-  disable 2 5

-  disable breakpoints 2 5

-    Brytpunkterna #2 och #5 inaktiveras.

-  disable display

-    Alla uttryck som visas automatiskt inaktiveras.

-  disable display 1 3

-    Uttrycken #1 och #3, som visas automatiskt, inaktiveras.

-Ange ”info breakpoint” om du vill se alla brytpunktsnummer.

-Ange ”info display” om du vill se alla rader för uttryck som visas automatiskt.

-

-[disassemble]

-

-(Gäller endast för felsökning av ActionScrip 2 och inte av ActionScript 3) 

-

-En angiven del av källkoden disassembleras.

-Som standard används den aktuella listraden.

-Det finns stöd för samma argument som för list-kommandot

-Exempel:

-  disassemble 87

-    Raden 87 disassembleras i den aktuella filen.

-  disassemble 87 102

-    Raderna 87–102 disassembleras i den aktuella filen.

-  disassemble doThis

-      Funktionen doThis() disassembleras i en aktuella filen.

-Du kan även kombinera radnummer med fil- och funktionsnamn på följande sätt:

-   myapp.mxml

-      Rad 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Den första raden i funktionen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Rad 56 i myapp.mxml.

-   #3

-      Rad 1 i fil #3.

-   #3:doOther

-      Raden som funktionen doOther() börjar på i fil #3.

-   #3:29

-      Rad 29 i fil #3.

-

-[display]

-

-Lägg till ett uttryck i listan över uttryck som visas automatiskt.

-Exempel:

-  display employee.name

-    Lägg till ”employee.name” i listan över uttryck som visas automatiskt.

-    Varje gång fdb stoppas visas värdet för employee.name.

-Argumentet för det här kommandot liknar argumentet för ”print”.

-Ange ”info display” om du vill se alla uttryck som visas automatiskt och 

-motsvarande rader.

-

-[down]

-

-Används för att välja och visa stackramen som anropas.

-Om "info arguments" och "info locals" därefter anges, visas de lokala 

-variablerna och argumenten för den valda ramen.

-Mer information finns i ”up” och ”frame” 

-

-[enable]

-

-Används för att aktivera en eller flera brytpunkter eller uttryck som visas 

-automatiskt.

-Exempel:

-  enable

-  enable breakpoints

-    Alla brytpunkter aktiveras.

-  enable 2 5

-  enable breakpoints 2 5

-    Brytpunkterna #2 och #5 aktiveras.

-  enable display

-    Alla uttryck som visas automatiskt aktiveras.

-  enable display 1 3

-    Uttrycken #1 och #3, som visas automatiskt, aktiveras.

-Ange ”info breakpoint” om du vill se alla brytpunktsnummer.

-Ange ”info display” om du vill se alla rader för uttryck som visas automatiskt.

-

-[file]

-

-Används för att ange ett program som ska felsökas utan att detta startas.

-Exempel:

-  file http://www.mysite.com/myapp.mxml

-    Ange ett MXML-program som ska felsökas.

-  file myapp.swf

-    Ange en lokal swf-fil som ska felsökas i den aktuella katalogen. 

-    I det här fallet måste även filen myapp.swd (som innehåller information om 

-    felsökningen) finnas i den aktuella katalogen.

-Programmet startar inte när du anger kommandot. Om du vill starta programmet 

-skriver du "run" utan argument.

-Istället för att använda ”file <mål>” och därefter ”run” kan du ange vilket 

-program som ska felsökas i form av ett argument till ”run”.

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-Du kan också ange vilket program som ska felsökas via ett kommandoradsargument 

-när du startar fdb:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-Du behöver varken använda ”file” eller ”run” i det här fallet.

-Om du skriver ”run” utan att ange vilket program som ska felsökas väntar fdb på 

-att ett program ska anslutas.

-

-[finish]

-

-Kör fram tills den aktuella funktionen returneras.

-Du kan inte ange argument för det här kommandot.

-

-[frame]

-

-Används för att välja och visa en viss stackram.

-I det här kommandot kan ramnumret anges som valfritt argument.

-Om inget argument anges sker en återgång till den aktuella toppramen (d.v.s. 

-ram 0).

-Exempel:

-  frame 4

-  frame

-Om "info arguments" och "info locals" därefter anges, visas de lokala 

-variablerna och argumenten för den valda ramen.

-Mer information finns i ”up”, ”down” och ”bt” 

-

-[handle]

-

-Används för att bestämma hur fdb ska hantera fel Flash Player.

-Exempel:

-  handle recursion_limit stop

-    När felet recursion_limit inträffas visas ett meddelande i fdb och 

-    körningen stoppas, på samma sätt som vid en brytpunkt.

-  handle all print nostop

-    När ett fel (oavsett typ) inträffar visas ett meddelande i fdb utan att 

-    körningen stoppas.

-Det första argumentet är antingen namnet på felet eller ”all”.

-Ytterligare argument anger åtgärder som vidtas när felet inträffar.

-Ange ”info handle” om du vill se namnen på alla fel.

-Följande åtgärder kan anges: print/noprint samt stop/nostop.

-”print” innebär att ett meddelande visas när felet inträffar.

-”stop” innebär att felsökaren startar på nytt när felet inträffar. Innebär 

-”print”.

-

-[help]

-

-Har du inte använt fdb tidigare? Ange ”tutorial” om du vill få grundläggande 

-information.

-Lista över fdb-kommandon:

-bt (bt)             Visa bakåtspårning av alla stackramar

-break (b)           Infoga en brytpunkt vid den angivna raden eller funktionen

-catch (ca)          Stoppa körningen när ett undantag inträffar

-cf (cf)             Visa den aktuella filens namn och nummer

-clear (cl)          Ta bort brytpunkt vid den angivna raden eller funktionen

-condition (cond)    Lägg till/ta bort ett villkorat uttryck vid en brytpunkt

-continue (c)        Fortsätt körningen efter brytpunkten.

-commands (com)      Ange kommandon som ska köras när brytpunkten nås.

-delete (d)          Ta bort brytpunkter och uttryck som visas automatiskt

-directory (dir)     En katalog läggs till i sökvägen för källfiler

-disable (disab)     Brytpunkter och uttryck som visas automatiskt inaktiveras

-disassemble (disas) Källrader och källfunktioner diassembleras

-display (disp)      Lägg till ett uttryck som visas automatiskt

-enable (e)          Aktivera brytpunkter och uttryck som visas automatiskt

-file (fil)          Ange programmet som ska felsökas

-finish (f)          Fortsätt körningen till dess att den aktuella funktionen 

-                    returneras

-handle (han)        Ange hur fel ska behandlas

-help (h)            Visa hjälp för fdb-kommandon

-home (ho)           Ange platsen för listan till den plats som körningen stoppas 

-                    på

-info (i)            Visa information om programmet som felsöks

-kill (k)            Skickar ”kill” till programmet som felsöks

-list (l)            Visa angiven funktion eller rad

-next (n)            Gå igenom programmet stegvis

-print (p)           Visa värdet på variabeln EXP

-pwd (pw)            Visa arbetskatalogen

-quit (q)            Avsluta fdb

-run (r)             Starta det felsökta programmet

-set (se)            Ange värdet på en variabel

-source (so)         Läs in fdb-kommandon från en fil

-step (s)            Stega igenom programmet tills det når en annan källrad

-tutorial (t)        Visa en vägledning om hur fdb används

-undisplay (u)       Ta bort ett uttryck som visas automatiskt

-viewswf (v)         Ange eller ta bort ett filter för hur filerna visas utifrån 

-                    swf

-watch (wa)          Lägg till en bevakningspunkt för en viss variabel

-what (wh)           Visa sammanhanget för en viss variabel

-where (w)           Fungerar som bt

-Ange ”help” följt av namnet på kommandot om du vill ha fullständig information.

-

-[home]

-

-Används för att ange platsen för listan till den plats som körningen stoppas på

-

-[info]

-

-Detta generiska kommando används för att visa mer information om programmet som 

-felsöks.

-Lista över underkommandon som används med ”info”:

-info arguments (i a)    Argumentvariabler i den aktuella stackramen

-info breakpoints (i b)  Status för brytpunkterna som kan definieras av 

-                        användaren

-info display (i d)      Visa en lista över uttryck som visas automatiskt

-info files (i f)        Namn på mål och filer som felsöks

-info functions (i fu)   Alla funktionsnamn

-info handle (i h)       Visar hur ett fel behandlas

-info locals (i l)       Lokala variabler i den aktuella stackramen

-info scopechain (i sc)  Omfångskedja i den aktuella stackramen

-info sources (i so)     Källfiler i programmet

-info stack (i s)        Bakåtspårning genom stacken

-info swfs (i sw)        Lista över swf-filer i den här sessionen

-info targets(i t)       Programmet som felsöks

-info variables (i v)    Namn på alla globala och statiska variabler

-Ange ”help info” följt av namnet på underkommandot om du vill ha fullständig 

-information.

-

-[info arguments]

-

-Används för att visa argument i den aktuella stackramen.

-

-[info breakpoints]

-

-Används för att visa status för alla brytpunkter och bevakningspunkter.

-Type-kolumnen kan antingen indikera:

-   breakpoint   - normal brytpunkt

-   watchpoint   - bevakningspunkt

-I Disp-kolumnen visas antingen ”keep”, ”del” eller ”dis”, vilket visar vad som 

-händer med brytpunkten när den nås. ”dis” innebär att brytpunkten inaktiveras 

-och ”del” att den tas bort.  

-I kolumnerna ”Address och ”What” visas adressen och fil-/radnumret. 

-

-[info display]

-

-Används för att visa en lista över uttryck som visas automatiskt.

-

-[info files]

-

-Används för att visa namn och nummer för filer i programmet som felsöks. Detta 

-innefattar källfiler, ramverksfiler och filer som skapats automatiskt.

-Exempel:

-  info files

-    Alla filer visas (alfabetiskt efter kategori)

-  info files my

-  info files my*

-    Alla filer med namn som inleds med ”my” visas alfabetiskt.

-  info files *.as

-    Alla filer med namn som slutar på ”.as” visas alfabetiskt.

-  info files *foo*

-    Alla filer som innehåller ”foo” i namnet visas alfabetiskt. 

-Filer visas i formatet namn#N, där N står för filnumret.

-Du kan använda #N följt av en filnamn i många kommandon.

-

-[info functions]

-

-Används för att visa funktionsnamnen.

-Exempel:

-  info functions .

-    Visa alla funktioner i den aktuella filen.

-  info functions myapp.mxml

-    Visa alla funktioner i myapp.mxml.

-  info functions #3

-    Alla funktioner i filen #3 visas.

-  info functions

-    Alla funktioner i alla filer visas.

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Det går att ange förkortningar av filnamn så länge dessa inte är tvetydiga.

-

-[info handle]

-

-Används för att visa hur fdb hanterar fel som inträffar i Flash Player.

-Exempel:

-  info handle

-    Visar hur fdb hanterar alla fel.

-  info handle recursion_limit

-    Visar hur fdb hanterar recursion_limit-fel.

-

-[info locals]

-

-Används för att visa lokala variabler i den aktuella stackramen.

-

-[info scopechain]

-

-Omfångskedjan för den aktuella stackramen visas.  Med omfångskedjan menas 

-listan över objekt som genomsöks vid matchning av symbolnamn i Flash Player.

-

-[info sources]

-

-Används för att visa namn och nummer för källfilerna till programmet som 

-felsöks. Ramverksfiler och filer som skapas automatiskt omfattas inte.

-Filer visas i formatet namn#N, där N står för filnumret.

-Du kan använda #N följt av en filnamn i många kommandon.

-

-[info stack]

-

-Används för att bakåtspåra genom stacken.

-

-[info swfs]

-

-Används för att visa swf-filer som är kända för felsökningssessionen.  Mer 

-information om hur du kan filtrera listan över filer utifrån swf-namnen finns 

-under kommandot ”viewswf”. 

-

-[info targets]

-

-Används för att visa URL:en (http: eller file:) för programmet som felsöks.

-

-[info variables]

-

-Används för att visa alla globala och statiska variabelnamn och -värden.

-

-[info ?]

-

-Info-kommandot är inte definierat. Prova med ”help info”.

-

-[kill]

-

-Används för att skicka ”kill” till programmet som felsöks

-Du kan inte ange argument för det här kommandot.

-

-[list]

-

-Används för att visa kodraden i en källfil.

-Exempel:

-  list

-    Visar tio ytterligare rader i den aktuella filen (efter eller omkring det 

-    som tidigare visats i listan).

-  list -

-    Visar tio rader före det som tidigare visats i den aktuella filen.

-  list 87

-    Visar tio rader omkring rad 87 i den aktuella filen.

-  list 87 102

-    Visar raderna 87–102 i den aktuella filen.

-Du kan kombinera radnummer med fil- och funktionsnamn på följande sju sätt:

-  doThis

-      Första raden i funktionen doThis() i den aktuella filen.

-   myapp.mxml

-      Rad 1 i myapp.mxml.

-   myapp.mxml:doThat

-      Den första raden i funktionen doThat() i myapp.mxml.

-   myapp.mxml:56

-      Rad 56 i myapp.mxml.

-   #3

-      Rad 1 i fil #3.

-   #3:doOther

-      Raden som funktionen doOther() börjar på i fil #3.

-   #3:29

-      Rad 29 i fil #3.

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Ange ”info functions” om du vill se alla funktionsnamn.

-Det går att ange förkortningar av namn och funktionsnamn så länge dessa inte är 

-tvetydiga.

-När du visar en viss fil blir den filen aktuell. (Se kommandot ”cf”.)

-

-[next]

-

-Används för att stega igenom programmet, via subrutinsanrop.

-  next

-    Stega en gång.

-  next 3

-    Stega 3 gånger eller tills programmet stoppas av någon annan anledning.

-Gäller (precis som för ”step”) så länge inga subrutinsanrop sker. När de sker 

-räknas de som en instruktion.

-

-[print]

-

-Används för att visa värdet på en variabel eller ett uttryck.

-Exempel:

-  print i

-    Värdet på ”i” visas.

-  print employee.name

-    Värden på ”employee.name” visas.

-  print employee

-    Värdet på objektet ”employee” visas.

-    Det kan exempelvis leda till att [Object 10378] visas.

-  print employee.

-    Värdet på alla egenskaper som tillhör objektet ”employee” visas.

-  print *employee

-    Värdet på alla egenskaper som tillhör objektet ”employee” visas.

-    Prefixoperatorn ”*” är ett prefixalternativ till postfixoperatorn ”.”.

-  print #10378.

-    Värdet på alla egenskaper som tillhör objektet #10378 visas.

-De variabler i den lexikala miljön i den valda stackramen är tillgängliga, 

-liksom de med omfånget global eller med en hel fil som omfång.

-

-[pwd]

-

-Den aktuella arbetskatalogen visas,

-det vill säga katalogen som fdb startades från. Det går inte att ändra 

-arbetskatalogen från fdb. Det går inte att ange argument för ”run” och ”source” 

-relativt den här katalogen.

-Du kan inte ange argument för det här kommandot.

-

-[quit]

-

-Används för att avsluta fdb.

-Du kan inte ange argument för det här kommandot.

-

-[run]

-

-Används för att påbörja en felsökning.

-Exempel:

-  run http://www.mysite.com/myapp.mxml

-    Det angivna MXML-programmet körs.

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    Den lokala swf-filen myapp.swf (som kan anges) körs, antingen från den 

-    aktuella katalogen (se kommandot ”pwd”) eller via en absolut sökväg. Om så 

-    är fallet måste filen myapp.swd (som innehåller information om 

-    felsökningen) finnas i samma katalog som myapp.swf.

-  run

-    Används för att köra programmet som tidigare angavs via kommandot ”file”.

-    Om inget program har angetts väntar fdb på att ett program ska anslutas. Om 

-    så inte sker uppstår timeout.

-Program som startas via ”run” körs i en webbläsare eller fristående Flash 

-Player.

-När programmet har startats körs fdb, som bland annat ger dig möjlighet att 

-ange brytpunkter.

-

-På Mac-datorer finns det endast stöd för ”run” utan argument.  Du måste i så 

-fall starta Flash Player manuellt.

-

-[set]

-

-Används för att definiera värdet på en variabel eller bekvämlighetsvariabel.

-Bekvämlighetsvariabler används endast inom fdb och finns inte i ditt program.

-De har prefixet ”$” och kan ha valfritt namn, förutsatt att det inte finns 

-någon befintlig variabel med det namnet.  Exempelvis $myVar.  

-Bekvämlighetsvariabler används dessutom för att styra andra aspekter av fdb.  

-

-Följande bekvämlighetsvariabler används inom fdb:

-$listsize          – antal källkodsrader som ska visas för ”list”.

-$columnwrap        – kolumnrad på vilken utdata börjar om

-$infostackshowthis – vid 0 visas inte ”this” i stackens bakåtspårning

-$invokegetters     – vid 0 kan inte fdb skicka getter-funktioner

-$bpnum             – det senaste brytpunktsnumret som angetts

-$displayattributes – vid noll visar ”print var” alla attribut till medlemmar av 

-                     ”var” (exempelvis private eller static).

-

-Exempel:

-  set i = 3

-    Variabeln ”i” anges som 3.

-  set employee.name = "Susan"

-    Variabeln ”employee.name” anges som strängen ”Susan”.

-  set $myVar = 20

-    Bekvämlighetsvariabeln ”$myVar” anges som 20.

-

-[show]

-

-Detta generiska kommando används för att visa statusinformation om fdb.

-Lista över underkommandon till ”show”:

-show break (sh b)       Platsen för och anledningen till pausad körning

-show directories (sh d) Kataloger som ska genomsökas för källfiler

-show files (sh f)       Målfiler och målsökvägar

-show functions (sh fu)  Information om funktionens radmappning 

-show locations (sh l)   Brytpunkternas platser

-show memory (sh m)      Aktuell minnesanvändning

-show net (sh n)         Meddelandestatistik för Player 

-show properties (sh p)  Egenskapsvärden

-show uri (sh u)         Player-URI för den aktuella sessionen 

-show variable (sh v)    Hämtning av raw-variabel

-Ange ”help show” följt av namnet på underkommandot om du vill ha fullständig 

-information.

-

-[show break]

-

-Används för att visa förskjutning där programkörningen stannande i swf-filen

-

-[show directories]

-

-Används för att visa den aktuella sökvägen som används för källkodsfiler.

-

-[show files]

-

-Används för att visa sökväg för och namn på alla målfiler

-

-[show functions]

-

-Används för att visa vilken funktion som mappats till vilket radnummer.

-Exempel:

-  show functions .

-    Mappningsinformation för alla funktioner i den aktuella filen visas.

-  show functions myapp.mxml

-    Mappningsinformation för alla funktioner i myapp.mxml visas.

-  show functions #3

-    Mappningsinformation för alla funktioner i fil #3 visas.

-  show functions

-    Mappningsinformation för alla funktioner i alla filer visas.

-Ange ”info sources” eller ”info files” om du vill se alla filnamn och filnummer.

-Det går att ange förkortningar av filnamn så länge dessa inte är tvetydiga.

-

-[show locations]

-

-Används för att visa alla platser som har angetts för varje brytpunkt.

-

-[show memory]

-

-Används för att visa minnesstatistik för Java VM.

-

-[show net]

-

-Används för att visa information om meddelanden som har skickats till och 

-tagits emot från Flash Player.

-

-[show properties]

-

-Används för att visa alla bekvämlighetsvariabler som används i felsökaren. 

-

-[show uri]

-

-Används för att visa URI som Flash Player har skickat för den här sessionen.

-

-[show variable]

-

-Används för att visa alla medlemmar som tillhör en viss variabel.  Två 

-parametrar måste anges: först det numeriska värde som identifierar variabeln 

-och därefter variabelns egenskapsnamn.  Bekvämlighetsvariabeln $invokegetters 

-används för att bestämma huruvida egenskapen getter ska köras eller inte 

-(förutsatt att den finns).

-Exempel:

-    show variable 1 __proto__

-

-[show ?]

-

-Show-kommandot är inte definierat. Prova med ”help show”.

-

-[source]

-

-Används för att först läsa in och därefter utföra fdb-kommandon från en fil.

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    Filen mycommands.txt läses in och kommandona utförs.

-    Filen med kommandon kan antingen anges

-	från den aktuella katalogen (se kommandot ”pwd”) 

-	eller via en absolut sökväg.

-Filen .fdbinit läses in på det här sättet när fdb startas.

-Det är endast den aktuella katalogen som söks igenom efter .fdbinit. Du måste 

-alltså skapa en separat .fdbinit-fil för varje projekt.

-

-[step]

-

-Används för att stega igenom programmet tills det når en annan källkodsrad.

-Exempel:

-  step

-    Stega en gång.

-  step 3

-    Stega 3 gånger eller tills programmet stoppas av någon annan anledning.

-

-[tutorial]

-

-Används för att visa en vägledning om hur fdb används.

-Du kan inte ange argument för det här kommandot.

-

-[Tutorial]

-

-Exempel på en typisk fdb-session:

-Starta ett program med ”run”.

-Visa filnamnen med ”info sources”.

-Visa en fil med ”list”.

-Ange brytpunkter med ”break”.

-Kör programmet tills en brytpunkt nås med ”continue”.

-Granska programmets status med ”where”, ”print” och ”info locals”.

-Utför enskilda kommandon med ”next”, ”step” och ”finish”.

-Återuppta körningen med ”continue”.

-Avsluta fdb med ”quit”.

-

-[undisplay]

-

-Används för att ta bort ett eller flera uttryck.

-Exempel:

-  undisplay

-    Ta bort alla uttryck som visas automatiskt.

-  undisplay 2 7

-    Används för att ta bort uttrycken #2 och #7 som visas automatiskt.

-Ange ”info display” om du vill se alla uttryck som visas automatiskt och 

-motsvarande rader.

-

-[up]

-

-Används för att välja och visa stackramen som anropas.

-Om du därefter anger ”info arguments” och ”info locals” visas

-lokala variabler och argument som hör till den valda ramen.

-Se ”down” och ”frame”.

-

-[viewswf]

-

-Används för att ställa in och rensa filter som bestämmer hur filer ska visas 

-(t.ex. ”info files” och ”info sources”) utifrån swf-namnen. 

-Om inga parametrar anges visas alla filer.  Om samma fil finns i en eller flera 

-swf-filer visas endast den första filinstansen.  Om du vill komma åt andra 

-filinstanser anger du filnumret (t.ex. ”list #192”) eller använder kommandot 

-med parametern (se nedan) för att visa filer från en viss swf-fil.  Om en 

-parameter anges visas endast filerna från en angiven swf-fil i fillistan (via 

-kommandot ”info swfs”).  

-Filer från andra swf-filer visas inte.  Kommandot påverkar även kommandon som 

-tar en fil som parameter (t.ex. ”break”).

-Exempel:

-  viewswf myApp.mxml.swf

-    Endast filer från myApp.mxml.swf visas.

-  viewswf 

-    Alla filer från alla swf-filer visas.

- 

-[watch]

-

-Används förr att lägga till en bevakningspunkt för en viss variabel. Felsökaren 

-stoppar körningen när variabelns värde ändras.

-Exempel:

-  watch foo

-

-[what]

-

-Visar sammanhanget vari en variabel matchas. 

-

-[where]

-

-Används för att bakåtspåra genom stacken.

-

-[zzz]

-

-((( Keep this unused topic at the end of the file    )))

-((( so that the next-to-last one is parsed properly. )))

diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt
deleted file mode 100644
index 6eb88dc..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_CN.txt
+++ /dev/null
@@ -1,791 +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.
-
-
-
-This file contains the text displayed by the 'help' command in fdb.
-
-It is divided into "topics". For example, when an fdb user types
-'help break', the [break] topic below is displayed.
-
-The first and last lines of each topic should be blank.
-They don't get displayed in fdb; they are here only
-to make this file more easily readable.
-
-Help text should be formatted to not wrap
-when displayed on an 80-character-wide console.
-The following line is 80 characters wide.
-
-
---------------------------------------------------------------------------------
-
-[?]
-
-未定义的命令。只需执行“help”即可查看所有 fdb 命令的列表。
-
-[break]
-
-在指定行或函数处设置断点。
-示例:
-  break 87
-    在当前文件的第 87 行处设置断点。
-  break myapp.mxml:56
-    在 myapp.mxml 的第 56 行处设置断点。
-  break #3:29
-    在文件 #3 的第 29 行处设置断点。
-  break doThis
-    在当前文件中的函数 doThis() 处设置断点。
-  break myapp.mxml:doThat
-    在文件 myapp.mxml 中的函数 doThat() 处设置断点。
-  break #3:doOther
-    在文件 #3 中的函数 doOther() 处设置断点。
-  break
-    在当前堆栈帧中的当前执行地址处设置断点。这有助于返回到
-    堆栈帧时中断。
-要查看文件名和编号,请执行“info sources”或“info files”。
-要查看函数名称,请执行“info functions”。
-可接受缩略文件名和函数名称(如果意义明确)。
-如果指定了行号,则在该行的代码开头处中断。
-如果指定了函数,则在该函数的代码开头处中断。
-有关更多断点控制,请参阅“commands”和“condition”。
-
-[bt]
-
-堆栈的向后跟踪。
-
-[catch]
-
-引发异常时终止。这仅会影响捕获的异常(即,将由“catch”块处理的异常)。
-未捕获的异常始终在调试器中保持终止。
-
-使用“delete”命令可删除捕获点。
-
-示例:
-  catch *
-    引发任何异常时终止。
-  catch ReferenceError
-    任何时候引发 ReferenceError 即会终止,不管是否已捕获。
-
-[cf]
-
-显示当前文件的名称和编号,或更改当前文件。
-示例:
-  cf
-    显示当前文件的名称和编号。
-  cf myapp.mxml
-    将当前文件更改为 myapp.mxml。
-  cf #29
-    将当前文件更改为文件 #29。
-要查看文件名和编号,请执行“info sources”或“info files”。
-可接受缩略文件名(如果意义明确)。
-使用“list”列出文件同时会使该文件成为当前文件。
-
-[clear]
-
-在指定行或函数处清除断点。
-示例:
-  clear 87
-    在当前文件的第 87 行处清除断点。
-  clear myapp.mxml:56
-    在 myapp.mxml 的第 56 行处清除断点。
-  clear #3:29
-    在文件 #3 的第 29 行处清除断点。
-  clear doThis
-    在当前文件中的函数 doThis() 处清除断点。
-  clear myapp.mxml:doThat
-    在文件 myapp.mxml 中的函数 doThat() 处清除断点。
-  clear #3:doOther
-    在文件 #3 中的函数 doOther() 处清除断点。
-  clear
-    清除当前文件中当前行的断点。
-要查看文件名和编号,请执行“info sources”或“info files”。
-要查看函数名称,请执行“info functions”。
-可接受缩略文件名和函数名称(如果意义明确)。
-如果指定了行号,则会清除该行中的所有断点。
-如果指定了函数,则会清除函数开头处的断点。
-
-[continue]
-
-在断点处停止后继续执行。
-此命令不使用任何参数。
-
-[condition]
-
-
-仅当 COND 为 true 时,指定要中断的断点编号 N。
-用法为“condition N COND”,其中 N 是一个整数,COND 是达到断点 N 时
-的求值表达式。
-
-[commands]
-
-设置遇到断点时要执行的命令。
-提供断点编号作为“commands”之后的参数。
-不使用任何参数,目标断点是设置的最后一个断点。
-命令本身接着在下一行上启动。
-在命令行中键入“end”表示结束该命令。
-提供“silent”作为第一行以使断点为静默;然后遇到它时不会显示任何输出
-(除了命令输出的内容之外)。
-示例:
-  (fdb) 命令
-  遇到断点 1 时键入命令,一条命令占一行。
-  以只有“end”的行作为结束。
-  >w
-  >end
-
-
-[connect]
-
-连接到侦听某个端口的调试播放器。
-当前侦听调试连接的唯一播放器
-是手机专用的,其他的始终保持连接。
-
-例如:
-  connect
-连接到侦听端口 7936 的调试播放器。
-  connect 7938
-连接到侦听端口 7938 的调试播放器。
-    
-[worker]
-
-将活动的 Worker 设置为随后的调试器 
-命令发送到的目标。使用 info workers 查询
-Worker 列表。主线程 ID 为 0。
-
-例如:
-  worker 3
-将活动的 Worker 设置为 ID 为 3 的 Worker        
-
-[delete]
-
-删除一个或多个断点。
-示例:
-  delete
-    删除所有断点。
-  delete 2 5
-    删除断点 #2 和 #5。
-要查看断点编号,请执行“info breakpoints”。
-
-[directory]
-
-修改 fdb 搜索源文件的目录列表。
-
-示例:
-
-  directory
-    将列表恢复为默认值,该默认值为将源文件编译成对象代码的目录,
-    后面跟着当前工作目录。
-
-  directory C:\MySource        (Windows)
-  directory /MySource          (Mac)
-    将指定目录添加到目录列表的开头,将在该列表中搜索源。例如,为
-    类 mypackage.MyClass 查找源时,调试器会查找
-    C:\MySource\mypackage\MyClass.as 和
-    C:\MySource\MyClass.as。
-
-  directory C:\Dir1;C:\Dir2    (Windows -- 将 ';' 用作分隔符)
-  directory /Dir1:/Dir2        (Mac -- 将 ':' 用作分隔符)
-    将若干个目录添加到目录列表的开头,将在该列表中搜索源。
-
-要查看当前列表,请执行“show directories”。
-
-[disable]
-
-禁用一个或多个断点或自动显示表达式。
-示例:
-  disable
-  disable breakpoints
-    禁用所有断点。
-  disable 2 5
-  disable breakpoints 2 5
-    禁用断点 #2 和 #5。
-  disable display
-    禁用所有自动显示表达式。
-  disable display 1 3
-    禁用自动显示表达式 #1 和 #3。
-要查看断点编号,请执行“info breakpoints”。
-要查看自动显示表达式编号,请执行“info display”。
-
-[disassemble]
-
-(仅 ActionScript 2;调试 ActionScript 3 时不支持)
-
-反汇编源代码的指定部分。
-默认为当前列表行。
-支持的参数与使用“list”命令支持的参数相同。示例:
-  disassemble 87
-    反汇编当前文件中的第 87 行。
-  disassemble 87 102
-    反汇编当前文件中的第 87 行到第 102 行。
-  disassemble doThis
-      反汇编当前文件中的函数 doThis()。
-除如上使用简单行号之外,还可以使用另外方式指定行:
-   myapp.mxml
-      myapp.mxml 中的第 1 行。
-   myapp.mxml:doThat
-      myapp.mxml 中的函数 doThat() 的第一行。
-   myapp.mxml:56
-      myapp.mxml 中的第 56 行。
-   #3
-      文件 #3 中的第 1 行。
-   #3:doOther
-      在文件 #3 中函数 doOther() 开头处的行。
-   #3:29
-      文件 #3 中的第 29 行。
-
-[display]
-
-将表达式添加到自动显示表达式列表。
-示例:
-  display employee.name
-    将“employee.name”添加到自动显示表达式列表。
-    每次 fdb 停止时,将显示 employee.name 的值。
-此命令的参数与“print”的参数类似。
-要查看自动显示表达式及其编号的列表,请执行“info display”。
-
-[down]
-
-选中并输出由此命令调用的堆栈帧。
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-请参阅“up”和“frame”。
-
-[enable]
-
-启用一个或多个断点或自动显示表达式。
-示例:
-  enable
-  enable breakpoints
-    启用所有断点。
-  enable 2 5
-  enable breakpoints 2 5
-    启用断点 #2 和 #5。
-  enable display
-    启用所有自动显示表达式。
-  enable display 1 3
-    启用自动显示表达式 #1 和 #3。
-要查看断点编号,请执行“info breakpoints”。
-要查看自动显示表达式编号,请执行“info display”。
-
-[file]
-
-指定要调试的应用程序,而不启动它。
-示例:
-  file http://www.mysite.com/myapp.mxml
-    指定要调试的 MXML 应用程序。
-  file myapp.swf
-    指定当前目录中要调试的本地 SWF 文件。
-    这种情况下,当前目录中必须也有 myapp.swd(包含调试信息的文件)。
-此命令实际上不会引起应用程序启动;使用不带参数的“run”命令开始调试
-应用程序。
-不需要先使用“file <target>”然后使用“run”,只需将要调试的应用程序
-指定为“run”的参数即可:
-  run http://mysite.com/myapp.mxml
-  run myapp.swf
-也可以指定,在启动 fdb 时以命令行参数的方式调试应用程序:
-  fdb http://www.mysite.com/myapp.mxml
-  fdb myapp.swf
-这种情况下不需要使用“file”或“run”。
-如果使用“run”而未指定要调试的应用程序,则 fdb 将等待任何应用程序
-以连接到它。
-
-[finish]
-
-执行,直到当前函数返回为止。
-此命令不使用任何参数。
-
-[frame]
-
-选中并输出特定堆栈帧。
-此命令使用一个可选参数(一个帧编号)。
-如果未提供参数,则默认为返回到当前顶部帧(即,帧 0)。
-示例:
-  frame 4
-  frame
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-请参阅“up”、“down”和“bt”。
-
-[handle]
-
-指定 fdb 应如何处理 Flash Player 中的故障。
-示例:
-  handle recursion_limit stop
-    发生 recursion_limit 故障时,会在 fdb 中显示消息并停止(就好像在断点处)。
-  handle all print nostop
-    发生任何种类的故障时,都会在 fdb 中显示消息但不停止。
-第一个参数是故障名称或“all”。
-其它参数是应用到该故障的操作。
-要查看故障名称,请执行“info handle”。
-操作有 print/noprint 和 stop/nostop。
-“print”意味着发生此故障时输出一条消息。
-“stop”意味着发生此故障时重新进入调试器。包含“print”。
-
-[help]
-
-您是第一次使用 fdb 吗? 请执行“tutorial”获取基本信息。
-fdb 命令的列表:
-bt (bt)             输出所有堆栈帧的向后跟踪
-break (b)           在指定行或函数处设置断点
-catch (ca)          引发异常时终止
-cf (cf)             显示当前文件的名称和编号
-clear (cl)          在指定行或函数处清除断点
-condition (cond)    将条件表达式应用到断点或删除断点的条件表达式
-connect (con)       连接到 debug player
-continue (c)        在断点处停止后继续执行
-commands (com)      设置遇到断点时要执行的命令
-delete (d)          删除断点或自动显示表达式
-directory (dir)     将目录添加到源文件的搜索路径
-disable (disab)     禁用断点或自动显示表达式
-disassemble (disas) 反汇编源行或函数
-display (disp)      添加自动显示表达式
-enable (e)          启用断点或自动显示表达式
-file (fil)          指定要调试的应用程序
-finish (f)          执行,直到当前函数返回为止
-handle (han)        指定如何处理故障
-help (h)            显示关于 fdb 命令的帮助
-home (ho)           设置终止执行的列表位置
-info (i)            显示关于正在调试的程序的信息
-kill (k)            停止正在调试的程序的执行
-list (l)            列出指定函数或行
-next (n)            单步执行程序
-print (p)           输出变量表达式的值
-pwd (pw)            输出工作目录
-quit (q)            退出 fdb
-run (r)             启动调试的程序
-set (se)            设置变量的值
-source (so)         从文件读取 fdb 命令
-step (s)            单步执行程序,直到遇到其它源行为止
-tutorial (t)        显示关于如何使用 fdb 的教程
-undisplay (u)       删除自动显示表达式
-viewswf (v)         为基于 swf 的文件列表设置或清除过滤器
-watch (wa)          在给定变量上添加观察点
-what (wh)           显示变量的上下文
-where (w)           与 bt 相同
-worker (wo)         设置活动的 Worker
-键入“help”并后跟命令名可查看完整文档。
-
-[home]
-
-设置终止执行的列表位置。
-
-[info]
-
-用于显示关于正在调试的程序事项的通用命令。
-“info”子命令的列表:
-info arguments (i a)    当前堆栈帧的参数变量
-info breakpoints (i b)  用户可设置的断点的状态
-info display (i d)      显示自动显示表达式列表
-info files (i f)        正在调试的目标和文件的名称
-info functions (i fu)   所有函数名称
-info handle (i h)       如何处理故障
-info locals (i l)       当前堆栈帧的局部变量
-info scopechain (i sc)  当前堆栈帧的作用域链
-info sources (i so)     程序中的源文件
-info stack (i s)        堆栈的向后跟踪
-info swfs (i sw)        此会话中的 swf 列表
-info targets(i t)       正在调试的应用程序
-info variables (i v)    所有全局和静态变量名称
-info workers (i w)      列出所有 Worker
-键入“help info”并后跟“info”子命令名可查看完整文档。
-
-[info arguments]
-
-显示当前堆栈帧的参数。
-
-[info breakpoints]
-
-显示所有断点和观察点的状态。
-Type 列指示以下各项之一:
-   breakpoint   - 正常断点
-   watchpoint   - 观察点
-Disp 列包含“keep”、“del”或“dis”之一以指示遇到它之后断点的处置。
-“dis”意味着将禁用断点,而“del”意味着将删除断点。
-“Address”列和“What”列分别指示地址和文件/行号。
-
-[info display]
-
-显示自动显示表达式及其编号的列表。
-
-[info files]
-
-显示正在调试的应用程序的文件名称和编号,包括源文件、framework 文件
-和自动生成的文件。
-示例:
-  info files
-    按类别以字母顺序列出所有文件
-  info files my
-  info files my*
-    按字母顺序列出名称以“my”开头的所有文件。
-  info files *.as
-    按字母顺序列出名称以“.as”结尾的所有文件。
-  info files *foo*
-    按字母顺序列出名称包含“foo”的所有文件。
-会按 name#N 格式显示文件,其中 N 是文件编号。
-在许多命令中可以使用 #N 代替文件名。
-
-[info functions]
-
-显示函数名称。
-示例:
-  info functions .
-    显示当前文件中的所有函数。
-  info functions myapp.mxml
-    显示 myapp.mxml 中的所有函数。
-  info functions #3
-    显示文件 #3 中的所有函数。
-  info functions
-    显示所有文件中的所有函数。
-要查看文件名和编号,请执行“info sources”或“info files”。
-可接受缩略文件名(如果意义明确)。
-
-[info handle]
-
-显示在 Flash Player 中发生故障时 fdb 执行的操作。
-示例:
-  info handle
-    显示 fdb 如何处理所有故障。
-  info handle recursion_limit
-    显示 fdb 如何处理 recursion_limit 故障。
-
-[info locals]
-
-显示当前堆栈帧的局部变量。
-
-[info scopechain]
-
-显示当前堆栈帧的作用域链。作用域链是当 Flash Player 尝试解析符号
-名称时搜索的对象列表。
-
-[info sources]
-
-显示正在调试的应用程序的源文件的名称和编号。不包括 Framework 文件和
-自动生成的文件。
-会按 name#N 格式显示文件,其中 N 是文件编号。
-在许多命令中可以使用 #N 代替文件名。
-
-[info stack]
-
-堆栈的向后跟踪。
-
-[info swfs]
-
-显示对于调试会话为已知的 swf。有关如何基于 swf 名称过滤文件列表的
-详细信息,请参阅命令“viewswf”。
-
-[info targets]
-
-显示正在调试的应用程序的 URL(http: 或 file:)。
-
-[info variables]
-
-显示所有全局变量名称和值以及所有静态变量名称和值。
-
-[info workers]
-
-显示已经启动的所有 Worker。
-[info ?]
-
-未定义的“info”命令。请尝试“help info”。
-
-[kill]
-
-停止正在调试的程序的执行。
-此命令不使用任何参数。
-
-[list]
-
-列出源文件中的代码行。
-示例:
-  list
-    再列出当前文件中在先前列表之后或附近的 10 行。
-  list -
-    列出当前文件中在先前列表之前的 10 行。
-  list 87
-    列出当前文件中在第 87 行附近的 10 行。
-  list 87 102
-    列出当前文件中的第 87 行到第 102 行。
-除如上使用简单行号之外,还可以使用另外七种方式指定行:
-  doThis
-      当前文件中函数 doThis() 的第一行。
-   myapp.mxml
-      myapp.mxml 中的第 1 行。
-   myapp.mxml:doThat
-      myapp.mxml 中的函数 doThat() 的第一行。
-   myapp.mxml:56
-      myapp.mxml 中的第 56 行。
-   #3
-      文件 #3 中的第 1 行。
-   #3:doOther
-      在文件 #3 中函数 doOther() 开头处的行。
-   #3:29
-      文件 #3 中的第 29 行。
-要查看文件名和编号,请执行“info sources”或“info files”。
-要查看函数名称,请执行“info functions”。
-可接受缩略文件名和函数名称(如果意义明确)。
-列出文件会使该文件成为当前文件。(请参阅“cf”命令。)
-
-[next]
-
-单步执行程序,通过子例程调用继续。
-  next
-    单步执行一次。
-  next 3
-    单步执行 3 次,或者直到程序由于其它原因而停止为止。
-只要不发生子例程调用,就像“step”命令一样;当发生子例程调用时,
-会将该调用视为一个指令。
-
-[print]
-
-输出变量或表达式的值。
-示例:
-  print i
-    输出“i”的值。
-  print employee.name
-    输出“employee.name”的值。
-  print employee
-    输出“employee”对象的值。
-    这可能只会显示类似 [对象 10378] 的内容。
-  print employee.
-    输出“employee”对象的所有属性的值。
-  print *employee
-    输出“employee”对象的所有属性的值。
-    前缀 * 运算符是后缀 . 运算符的前缀替代项。
-  print #10378.
-    输出对象 #10378 的所有属性的值。
-可访问变量是选定堆栈帧的词法环境的那些变量,加上作用域为全局或
-整个文件的所有变量。
-
-[pwd]
-
-输出当前工作目录。
-这是启动 fdb 的目录;无法在 fdb 内更改它。可以相对于此目录指定“run”和
-“source”的参数。
-此命令不使用任何参数。
-
-[quit]
-
-退出 fdb。
-此命令不使用任何参数。
-
-[run]
-
-启动调试会话。
-示例:
-  run http://www.mysite.com/myapp.mxml
-    运行指定的 MXML 应用程序。
-  run myapp.swf
-  run mydir\myapp.swf
-  run c:\mydir\myapp.swf
-    运行本地 SWF 文件 myapp.swf,可以相对于当前目录(请参阅“pwd”命令)
-    或通过使用绝对路径指定该文件。这些情况下,myapp.swd(包含调试
-    信息的文件)也必须与	myapp.swf 位于同一目录中。
-  run
-    运行先前由“file”命令指定的应用程序。
-    如果未指定任何应用程序,则 fdb 将等待一个应用程序以连接到它,
-    且在等不到时将超时。
-“run”将在浏览器中或独立 Flash Player 中启动应用程序。
-只要应用程序一启动,它将打断 fdb 以便您设置断点等等。
-
-在 Macintosh 上,该命令唯一支持的形式是不使用任何参数的“run”。
-接着必须手动启动 Flash player。
-
-[set]
-
-设置变量或快捷变量的值。
-快捷变量是完全位于 fdb 内的变量;它们并非您的程序的组成部分。
-快捷变量的前缀为“$”,快捷变量可以是不与任何现有变量冲突的任何名称。
-例如,$myVar。
-快捷变量还可用于控制 fdb 的各个方面。
-
-以下快捷变量供 fdb 使用。
-$listsize          - 对于“list”要显示的源行的数量
-$columnwrap        - 在其上输出将换行的列编号
-$infostackshowthis - 若为 0,则在堆栈向后跟踪中不显示“this”
-$invokegetters     - 若为 0,则禁止 fdb 启动 getter 函数
-$bpnum             - 最后一个定义的断点编号
-$displayattributes - 若为 1,则“print var.”会显示“var”的成员的所有属性(例如,
-                     private、static)
-
-示例:
-  set i = 3
-    将变量“i”设置为数字 3。
-  set employee.name = "Susan"
-    将变量“employee.name”设置为字符串 "Susan"。
-  set $myVar = 20
-    将快捷变量“$myVar”设置为数字 20。
-
-[show]
-
-用于显示关于 fdb 的状态的事项的通用命令。
-“show”子命令的列表:
-show break (sh b)       已暂停执行的位置和原因
-show directories (sh d) 用于搜索源文件的目录
-show files (sh f)       目标文件和路径
-show functions (sh fu)  函数行映射信息
-show locations (sh l)   断点位置
-show memory (sh m)      当前内存使用情况
-show net (sh n)         Player 消息统计数据
-show properties (sh p)  属性值
-show uri (sh u)         此会话的 Player 的 URI
-show variable (sh v)    原始变量检索
-键入“help show”并后跟“show”子命令名可查看完整文档。
-
-[show break]
-
-显示程序终止所在的 SWF 内的偏移。
-
-[show directories]
-
-显示用于查找源文件的当前搜索目录。
-
-[show files]
-
-显示所有目标文件的路径和文件名。
-
-[show functions]
-
-显示函数到行号映射信息。
-示例:
-  show functions .
-    显示当前文件中所有函数的映射信息。
-  show functions myapp.mxml
-    显示 myapp.mxml 中所有函数的映射信息。
-  show functions #3
-    显示文件 #3 中所有函数的映射信息。
-  show functions
-    显示所有文件中所有函数的映射信息。
-要查看文件名和编号,请执行“info sources”或“info files”。
-可接受缩略文件名(如果意义明确)。
-
-[show locations]
-
-显示为每个断点设置的位置列表。
-
-[show memory]
-
-显示 Java VM 内存统计数据。
-
-[show net]
-
-显示关于已发送到 Flash Player 和已从 Flash Player 接收到的消息的信息。
-
-[show properties]
-
-显示在调试器内使用的快捷变量的列表。
-
-[show uri]
-
-显示 Player 已为此会话发送的 URI。
-
-[show variable]
-
-显示变量的成员的值。需要两个参数;第一个是数字变量标识符,第二个是
-变量上属性的名称。快捷变量 $invokegetters 用于确定是否将启动
-属性 getter(假定它存在)。
-示例:
-    show variable 1 __proto__
-
-[show ?]
-
-未定义“的show”命令。请尝试“help show”。
-
-[source]
-
-从文件读取 fdb }令并g行它们。
-  source mycommands.txt
-  source mydir\mycommands.txt
-  source c:\mydir\mycommands.txt
-    读取 mycommands.txt 并执行其中的 fdb 命令。
-    可以相对于当前目录(请参阅“pwd”命令)或通过使用绝对路径指定
-    包含命令的文件。
-启动 fdb 时,会使用此方式自动读取文件 .fdbinit。
-仅在当前目录中搜索 .fdbinit。这意味着您可以为不同的项目设置
-多个 .fdbinit 文件。
-
-[step]
-
-单步执行程序,直到遇到其它源行为止。
-示例:
-  step
-    单步执行一次。
-  step 3
-    单步执行 3 次,或者直到程序由于其它原因而停止为止。
-
-[tutorial]
-
-显示关于如何使用 fdb 的教程。
-此命令不使用任何参数。
-
-[Tutorial]
-
-典型的 fdb 会话:
-使用“run”启动应用程序。
-使用“info sources”查看文件名。
-使用“list”列出文件。
-使用“break”设置断点。
-使用“continue”执行程序,直到遇到断点为止。
-使用“where”、“print”、“info locals”检查程序的状态。
-使用“next”、“step”和“finish”执行各个语句。
-使用“continue”继续执行。
-使用“quit”退出 fdb。
-
-[undisplay]
-
-删除一个或多个自动显示表达式。
-示例:
-  undisplay
-    删除所有自动显示表达式。
-  undisplay 2 7
-    删除自动显示表达式 #2 和 #7。
-要查看自动显示表达式及其编号的列表,请执行“info display”。
-
-[up]
-
-选中并输出调用此命令的堆栈帧。
-后续的“info arguments”和“info locals”命令将显示选定帧的局部变量和参数。
-请参阅“down”和“frame”。
-
-[viewswf]
-
-为基于 swf 名称的文件列表(即,“info files”和“info sources”)设置或清除
-过滤器。不使用任何参数,将显示所有文件。如果在一个或多个 swf 中存在
-同一文件,则该列表将仅显示该文件的第一个实例。要访问该文件的其它实例,
-请使用文件的编号(例如,“list #192”),或将此命令与一个参数一起使用
-(如下所示)以显示来自某个特定 swf 的文件。使用单个参数
-(就像“info swfs”命令所显示的 swf 名称),在文件列表中将仅显示
-来自指定 swf 的文件。将不会显示来自其它 swf 的文件。此命令还会影响
-将文件视为参数的命令(例如,“break”)。示例:
-  viewswf myApp.mxml.swf
-    将仅显示来自 myApp.mxml.swf 的文件。
-  viewswf
-    将显示来自所有 swf 的所有文件。
-
-[watch]
-
-在给定变量上添加观察点。当变量的值改变时,调试器将终止执行。
-示例:
-  watch foo
-
-[what]
-
-显示解析变量的上下文。
-
-[where]
-
-堆栈的向后跟踪。
-
-[zzz]
-
-((( Keep this unused topic at the end of the file    )))
-((( so that the next-to-last one is parsed properly. )))
diff --git a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt b/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt
deleted file mode 100644
index 6e93837..0000000
--- a/modules/fdbworkers/src/flex/tools/debugger/cli/fdbhelp_zh_TW.txt
+++ /dev/null
@@ -1,752 +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.
-
-

-此檔案包含在 fdb 中使用「help」指令所顯示的文字。

-

-它會分成幾個「主題」。例如,當 fdb 使用者輸入「help break」時,下方的 [break] 主

-題就會顯示。

-

-每個主題的第一行和最後一行都應該保留空白。

-這兩行不會在 fdb 中顯示;在此處僅用於讓這個檔案更容易閱讀。

-

-說明文字顯示在 80 個字元寬的主控台時,不應該格式化為自動換行。

-以下行寬度為 80 個字元。

-

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

-

-[?]

-

-未定義的指令。請僅執行「help」來查看所有 fdb 指令的清單。

-

-[break]

-

-將中斷點設定在指定的行或函數。

-範例:

-  break 87

-    將中斷點設定在目前檔案的第 87 行。

-  break myapp.mxml:56

-    將中斷點設定在 myapp.mxml 的第 56 行。

-  break #3:29

-    將中斷點設定在檔案 #3 的第 29 行。

-  break doThis

-    在中斷點設定在目前檔案的函數 doThis()。

-  break myapp.mxml:doThat

-    將中斷點設定在檔案 myapp.mxml 的函數 doThat()。

-  break #3:doOther

-    將中斷點設定在檔案 #3 的函數 doOther()。

-  break

-   將中斷點設定在目前堆疊框架的目前執行位址。這有助於對返回到堆疊框架執行中斷

-   作業。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-若要查看函數名稱,請執行「info functions」。

-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。

-如果指定了行號,請在該行的程式碼的開頭處中斷。

-如果指定了函數,請在該函數的程式碼的開頭處中斷。

-請參閱「commands」和「condition」,以瞭解進一步的中斷點控制。

-

-[bt]

-

-堆疊的回溯追蹤。

-

-[catch]

-

-擲出例外狀況時中止。這只會影響捕捉到的例外狀況,即由「catch」區塊處理的例外狀況。

-在除錯程式中,未捕捉到的例外狀況一律會中止。

-

-使用「delete」指令來刪除捕捉點。

-

-範例:

-  catch *

-    擲出任何的例外狀況時中止。

-  catch ReferenceError

-    只要擲出 ReferenceError,無論是否到捕捉,均會中止。

-

-[cf]

-

-顯示目前檔案的名稱和號碼,或是變更目前的檔案。

-範例:

-  cf

-    顯示目前檔案的名稱和號碼。

-  cf myapp.mxml

-    將目前的檔案變更為 myapp.mxml。

-  cf #29

-    將目前的檔案變更為檔案 #29。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-採用縮寫形式的檔案名稱若都很明確,則可以接受。

-使用「list」列出檔案也會使該檔案成為目前的檔案。

-

-[clear]

-

-清除指定的行或函數的中斷點。

-範例:

-  clear 87

-    清除目前檔案第 87 行的中斷點。

-  clear myapp.mxml:56

-    清除 myapp.mxml 第 56 行的中斷點。

-  clear #3:29

-    清除檔案 #3 第 29 行的中斷點。

-  clear doThis

-    清除目前檔案中的函數 doThis() 的中斷點。

-  clear myapp.mxml:doThat

-    清除檔案 myapp.mxml 的函數 doThat() 的中斷點。

-  clear #3:doOther

-    清除檔案 #3 的函數 doOther() 的中斷點。

-  clear

-    清除目前檔案中的目前行的中斷點。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-若要查看函數名稱,請執行「info functions」。

-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。

-如果指定了行號,會清除該行中的所有中斷點。

-如果指定了函數,會清除函數開頭處的中斷點。

-

-[continue]

-

-在中斷點處停止之後繼續執行。

-此指令不使用任何引數。

-

-[condition]

-

-

-僅在 COND 為 true 時,指定要中斷的中斷點號碼 N。

-用法為「condition N COND」,其中 N 是整數,COND 是每次到達中斷點 N 時所

-要求值的運算式。

-

-[commands]

-

-設定到達中斷點時所要執行的指令。

-提供中斷點號碼作為「commands」後面的引數。

-如果未使用引數,目標中斷點即上次所設定的中斷點。

-指令本身會跟在下一行開頭之後。

-輸入包含「end」的行來代表行的結尾。

-提供「silent」作為第一行,以使中斷點處於無訊息狀態;因此,到達中斷點時,除了

-指令所列印的內容,將不會列印輸出。

-範例:

-  (fdb) 指令

-  輸入到達中斷點 1 時要使用的指令,一行一個指令。

-  使用僅包含「end」的行來結束。

-  >w

-  >end

-

-[delete]

-

-刪除一或多個中斷點。

-範例:

-  delete

-    刪除所有中斷點。

-  delete 2 5

-    刪除中斷點 #2 和 #5。

-若要查看中斷點號碼,請執行「info breakpoints」。

-

-[directory]

-

-修改 fdb 搜尋原始檔案所在目錄的清單。

-

-範例:

-

-  directory

-    將清單還原成預設值,即原始檔案編譯成物件程式碼的目錄,後面跟隨目前的工作目錄。

-

-  directory C:\MySource        (Windows)

-  directory /MySource          (Mac)

-    將指定的目錄加入將搜尋其來源的目錄清單開頭。例如,尋找類別

-    mypackage.MyClass 的來源時,除錯程式會同時尋找

-    C:\MySource\mypackage\MyClass.as 和 C:\MySource\MyClass.as。

-

-  directory C:\Dir1;C:\Dir2    (Windows -- 使用「;」作為分隔符號)

-  directory /Dir1:/Dir2        (Mac -- 使用「:」作為分隔符號)

-    將數個目錄加入將搜尋其來源的目錄清單開頭。

-

-若要查看目前清單,請執行「show directories」。

-

-[disable]

-

-停用一或多個中斷點或自動顯示的運算式。

-範例:

-  disable

-  disable breakpoints

-    停用所有中斷點。

-  disable 2 5

-  disable breakpoints 2 5

-    停用中斷點 #2 和 #5。

-  disable display

-    停用所有自動顯示的運算式。

-  disable display 1 3

-    停用自動顯示的運算式 #1 和 #3。

-若要查看中斷點號碼,請執行「info breakpoints」。

-若要查看自動顯示的運算式號碼,請執行「info display」。

-

-[disassemble]

-

-(僅限 ActionScript 2;對 ActionScript 3 執行除錯時不支援)

-

-分解原始程式碼的指定部分。

-預設為目前的清單行。

-支援的引數與 list 指令相同。範例:

-  disassemble 87

-    分解目前檔案中的第 87 行。

-  disassemble 87 102

-    分解目前檔案中的第 87 到 102 行。

-  disassemble doThis

-      分解目前檔案中的函數 doThis()。

-除了使用如上的簡單行號外,您還可以使用其他方式指定行:

-   myapp.mxml

-      myapp.mxml 中的第 1 行。

-   myapp.mxml:doThat

-      myapp.mxml 中的第一行函數 doThat()。

-   myapp.mxml:56

-      myapp.mxml 中的第 56 行。

-   #3

-      檔案 #3 中的第 1 行。

-   #3:doOther

-      檔案 #3 中函數 Other() 開始所在的行。

-   #3:29

-      檔案 #3 中的第 29 行。

-

-[display]

-

-將運算式加入自動顯示的運算式清單。

-範例:

-  display employee.name

-    將「employee.name」加入自動顯示的運算式清單。

-    每次 fdb 停止時,就會顯示 employee.name 的值。

-此指令的引數類似於「print」的引數。

-若要查看自動顯示的運算式及其號碼的清單,請執行「info display」。

-

-[down]

-

-選取並列印這一個項目所呼叫的堆疊框架。

-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。

-請參閱「up」和「frame」

-

-[enable]

-

-啟用一或多個中斷點或自動顯示的運算式。

-範例:

-  enable

-  enable breakpoints

-    啟用所有中斷點。

-  enable 2 5

-  enable breakpoints 2 5

-    啟用中斷點 #2 和 #5。

-  enable display

-    啟用所有自動顯示的運算式。

-  enable display 1 3

-    啟用自動顯示的運算式 #1 和 #3。

-若要查看中斷點號碼,請執行「info breakpoints」。

-若要查看自動顯示的運算式號碼,請執行「info display」。

-

-[file]

-

-指定要除錯的應用程式,但不啟動它。

-範例:

-  file http://www.mysite.com/myapp.mxml

-    指定要除錯的 MXML 應用程式。

-  file myapp.swf

-    指定要在目前目錄中除錯的本機 SWF 檔案。

-    在此情況下,myapp.swd (含有除錯資訊的檔案) 必須也存在於目前目錄中。

-此指令不會真的使應用程式啟動;請使用不含引數的「run」指令,來啟動對應用程式的

-除錯。

-代替使用「file <target>」後接著使用「run」,可以僅指定要除錯的應用程式做為「run」

-的引數:

-  run http://mysite.com/myapp.mxml

-  run myapp.swf

-您也可以在啟動 fdb 時,指定要除

-  錯的應用程式做為指令行引數:

-  fdb http://www.mysite.com/myapp.mxml

-  fdb myapp.swf

-在此情況下,您不需要使用

-  「file」或「run」。

-如果使用「run」時未指定要除錯的程式,fdb 將會等待任何應用程式與之連線。

-

-[finish]

-

-在目前的函數返回之前一直執行。

-此指令不使用任何引數。

-

-[frame]

-

-選取並列印特定的堆疊框架。

-此指令會使用可選引數,即框架號碼。

-如果未提供引數,預設為返回到目前的頂層框架 (即框架 0)。

-範例:

-  frame 4

-  frame

-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。

-請參閱「up」、「down」和「bt」

-

-[handle]

-

-指定 fdb 應該以何種方式處理 Flash Player 中的錯誤。

-範例:

-  handle recursion_limit stop

-    發生 recursion_limit 錯誤時,在 fdb 中顯示訊息並停止,就像是在中斷點一樣。

-  handle all print nostop

-    發生任何類型的錯誤時,在 fdb 中顯示訊息,但不停止。

-第一個引數是錯誤名稱或「all」。

-其他引數是套用至該錯誤的動作。

-若要查看錯誤名稱,請執行「info handle」。

-動作為 print/noprint 和 stop/nostop。

-「print」代表發生此錯誤時列印訊息。

-「stop」代表發生此錯誤時重新進入除錯程式。意謂「print」。

-

-[help]

-

-使用 fdb 的新手? 執行「tutorial」以取得基本資訊。

-fdb 指令清單:

-bt (bt)             列印所有堆疊框架的回溯追蹤

-break (b)           將中斷點設定在指定的行或函數

-catch (ca)          擲出例外狀況時中止

-cf (cf)             顯示目前檔案的名稱和號碼

-clear (cl)          清除指定的行或函數的中斷點

-condition (cond)    在中斷點套用/移除條件式運算式

-continue (c)        在中斷點處停止之後繼續執行

-commands (com)      設定到達中斷點時要執行的指令

-delete (d)          刪除中斷點或自動顯示的運算式

-directory (dir)     將目錄加入原始檔案的搜尋路徑

-disable (disab)     停用中斷點或自動顯示的運算式

-disassemble (disas) 分解來源行或函數

-display (disp)      加入自動顯示的運算式

-enable (e)          啟用中斷點或自動顯示的運算式

-file (fil)          指定要除錯的應用程式

-finish (f)          在目前的函數返回之前一直執行

-handle (han)        指定錯誤的處理方式

-help (h)            顯示有關 fdb 指令的說明

-home (ho)           將清單位置設定為執行的中止位置

-info (i)            顯示有關正在除錯之程式的資訊

-kill (k)            終止執行正在除錯的程式

-list (l)            列出指定函數或行

-next (n)            執行程式單步作業

-print (p)           列印變數 EXP 的值

-pwd (pw)            列印工作目錄

-quit (q)            結束 fdb

-run (r)             啟動已除錯的程式

-set (se)            設定變數的值

-source (so)         從檔案讀取 fdb 指令

-step (s)            執行程式單步作業,直到到達不同的來源行

-tutorial (t)        顯示如何使用 fdb 的教學課程

-undisplay (u)       移除自動顯示的運算式

-viewswf (v)         根據 swf 設定或清除檔案清單的過濾器

-watch (wa)          在指定變數上加入監視點

-what (wh)           顯示變數的上下文

-where (w)           與 bt 相同

-輸入「help」,後面跟隨指令名稱以取得完整文件。

-

-[home]

-

-將清單位置設定為執行的中止位置。

-

-[info]

-

-用於顯示正在除錯的程式相關資訊的一般指令。

-info 子指令的清單:

-info arguments (i a)    目前堆疊框架的引數變數

-info breakpoints (i b)  使用者可設定之中斷點的狀態

-info display (i d)      顯示自動顯示的運算式清單

-info files (i f)        正在除錯的目標和檔案名稱

-info functions (i fu)   所有函數名稱

-info handle (i h)       錯誤的處理方式

-info locals (i l)       目前堆疊框架的區域變數

-info scopechain (i sc)  目前堆疊框架的範圍鏈結

-info sources (i so)     程式中的原始檔案

-info stack (i s)        堆疊的回溯追蹤

-info swfs (i sw)        此工作階段中的 swf 清單

-info targets(i t)       正在除錯的應用程式

-info variables (i v)    所有全域和靜態變數名稱

-輸入「help info」,後面跟隨 info 子指令名稱以取得完整文件。

-

-[info arguments]

-

-顯示目前堆疊框架的引數。

-

-[info breakpoints]

-

-顯示所有中斷點和監視點的狀態。

-「類型」欄指示下列其中一項:

-   breakpoint   - 一般中斷點

-   watchpoint   - 監視點

-「處理」欄包含「keep」、

-   「del」或「dis」其中一項,用於指示到達中斷點後,對中斷點的處理方式。「dis」

-   代表將停用中斷點,「del」則代表將刪除中斷點。

-「Address」和「What」欄分別代表位址和檔案/行號。

-

-[info display]

-

-顯示自動顯示的運算式及其號碼的清單

-

-[info files]

-

-顯示正在除錯的應用程式檔案名稱和數目,包括原始檔案、架構檔案和自動產生的檔案。

-範例:

-  info files

-    依類別字母順序列出所有檔案

-  info files my

-  info files my*

-    依字母順序列出其名稱以「my」開頭的所有檔案。

-  info files *.as

-    依字母順序列出其名稱以「.as」結尾的所有檔案。

-  info files *foo*

-    依字母順序列出其名稱含有「foo」的所有檔案。

-檔案會以 name#N 格式顯示,其中 N 為檔案號碼。

-在許多指令中,您都可以使用 #N 取代檔案名稱。

-

-[info functions]

-

-顯示函數名稱。

-範例:

-  info functions .

-    顯示目前檔案中的所有函數。

-  info functions myapp.mxml

-    顯示 myapp.mxml 中的所有函數。

-  info functions #3

-    顯示檔案 #3 中的所有函數。

-  info functions

-    顯示所有檔案中的全部函數。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-採用縮寫形式的檔案名稱若都很明確,則可以接受。

-

-[info handle]

-

-顯示 Flash Player 發生錯誤時,fdb 會執行的動作。

-範例:

-  info handle

-    顯示 fdb 處理所有錯誤的方式。

-  info handle recursion_limit

-    顯示 fdb 處理 recursion_limit 錯誤的方式。

-

-[info locals]

-

-顯示目前堆疊框架的區域變數。

-

-[info scopechain]

-

-顯示目前堆疊框架的範圍鏈結。範圍鏈結是 Flash Player 嘗試解決符號名稱時會搜尋的物

-件清單。

-

-[info sources]

-

-顯示正在除錯的應用程式原始檔案名稱和數目。架構檔案和自動產生的檔案不包括在內。

-檔案會以 name#N 格式顯示,其中 N 為檔案號碼。

-在許多指令中,您都可以使用 #N 取代檔案名稱。

-

-[info stack]

-

-堆疊的回溯追蹤。

-

-[info swfs]

-

-顯示除錯工作階段已知的 swf。如需如何根據 swf 名稱過濾檔案清單的詳細資訊,請參閱

-指令「viewswf」。

-

-[info targets]

-

-顯示正在除錯的應用程式的 URL (http: 或 file:)。

-

-[info variables]

-

-顯示所有全域和靜態變數名稱和值。

-

-[info ?]

-

-未定義的 info 指令。請嘗試使用「help info」。

-

-[kill]

-

-終止執行正在除錯的程式。

-此指令不使用任何引數。

-

-[list]

-

-列出原始檔案中的多行程式碼。

-範例:

-  list

-    列出目前檔案中上一個清單之後或前後的另外十行。

-  list -

-    列出目前檔案中上一個清單之前的十行。

-  list 87

-    列出目前檔案中第 87 行前後十行。

-  list 87 102

-    列出目前檔案中的第 87 到 102 行。

-除了使用如上的簡單行號以外,您還可以使用 7 種方式指定行:

-  doThis

-      目前檔案中的第 1 行函數 doThis()。

-   myapp.mxml

-      myapp.mxml 中的第 1 行。

-   myapp.mxml:doThat

-      myapp.mxml 中的第一行函數 doThat()。

-   myapp.mxml:56

-      myapp.mxml 中的第 56 行。

-   #3

-      檔案 #3 中的第 1 行。

-   #3:doOther

-      檔案 #3 中函數 Other() 開始所在的行。

-   #3:29

-      檔案 #3 中的第 29 行。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-若要查看函數名稱,請執行「info functions」。

-採用縮寫形式的檔案名稱和函數名稱若都很明確,則可以接受。

-列出某個檔案時,會使該檔案成為目前的檔案。(請參閱「cf」指令。)

-

-[next]

-

-執行程式單步作業,將繼續執行所有副常式呼叫。

-  next

-    執行單步作業一次。

-  next 3

-    執行單步作業 3 次,或直到程式因其他原因而停止。

-只要副常式呼叫不發生,就跟「step」指令相同;如果發生,會將呼叫視為一個指示。

-

-[print]

-

-列印變數或運算式的值。

-範例:

-  print i

-    列印「i」的值。

-  print employee.name

-    列印「employee.name」的值。

-  print employee

-    列印「employee」物件的值。

-    這可能只會顯示類似 [Object 10378] 的內容。

-  print employee.

-    列印「employee」物件的所有屬性值。

-  print *employee

-    列印「employee」物件的所有屬性值。

-    前置 * 運算子是後置 . 運算子的前置替代項。

-  print #10378.

-    列印物件 #10378 的所有屬性值。

-可存取的變數是所選堆疊框架的語彙環境變數,加上範圍為全域或整個檔案的所有變數。

-

-[pwd]

-

-列印目前的工作目錄。

-此為從其啟動 fdb 的目錄;在 fdb 中無法加以變更。可相對於此目錄指定「run」和

-「source」的引數。

-此指令不使用任何引數。

-

-[quit]

-

-結束 fdb。

-此指令不使用任何引數。

-

-[run]

-

-開始除錯工作階段。

-範例:

-  run http://www.mysite.com/myapp.mxml

-    執行指定的 MXML 應用程式。

-  run myapp.swf

-  run mydir\myapp.swf

-  run c:\mydir\myapp.swf

-    執行本機 SWF 檔案 myapp.swf,可相對於目前目錄 (請參閱「pwd」指令) 或使用絕對

-    路徑指定該檔案。在許多情況下,myapp.swd (含有除錯資訊的檔案) 必須也存在於與

-	myapp.swf 相同的目錄中。

-  run

-    執行之前使用「file」指令所指定的應用程式。

-    如果未指定任何應用程式,fdb 會等待應用程式與之連線,如果沒有應用程式與之連線,

-    將會逾時。

-「run」將會在瀏覽器或獨立 Flash Play 中啟動應用程式。

-應用程式一啟動,就會進入 fdb,讓您可以設定中斷點等。

-

-在 Macintosh 上,唯一支援的指令格式為不加引數的「run」。您必須接著手動啟動

-Flash player。

-

-[set]

-

-設定變數或便利變數的值。

-便利變數是完全存在於 fdb 中的變數;不屬於您程式的一部分。

-便利變數的開頭是「$」,可以是與任何現有變數不衝突的任何名稱。例如,$myVar。便

-利變數也可用於控制 fdb 的各個層面。

-

-fdb 使用下列便利變數。

-$listsize          - 「list」顯示的來源行數

-$columnwrap        - 輸出將自動換行的欄號

-$infostackshowthis - 若為 0,在堆疊回溯追蹤中將不顯示「this」

-$invokegetters     - 若為 0,將阻止 fdb 啟動 getter 函數

-$bpnum             - 最後一個已定義的中斷點號碼

-$displayattributes - 若為 1,「print var.」會顯示「var」成員的所有屬性 (如

-                     private、static)

-

-範例:

-  set i = 3

-    將變數「i」設定為數字 3。

-  set employee.name = "Susan"

-    將變數「employee.name」設定為字串「Susan」。

-  set $myVar = 20

-    將便利變數「$myVar」設定為數字 20

-

-[show]

-

-用於顯示 fdb 狀態相關資訊的一般指令。

-show 子指令的清單:

-show break (sh b)       暫停的執行位置及原因

-show directories (sh d) 要搜尋原始檔案的目錄

-show files (sh f)       目標檔案和路徑

-show functions (sh fu)  函數行對應資訊

-show locations (sh l)   中斷點位置

-show memory (sh m)      目前的記憶體使用量

-show net (sh n)         播放程式訊息統計

-show properties (sh p)  屬性值

-show uri (sh u)         此工作階段的播放程式 URI

-show variable (sh v)    原始變數擷取

-輸入「help show」,後面接著 show 子指令名稱以取得完整文件。

-

-[show break]

-

-顯示 SWF 內程式中止位置的位移

-

-[show directories]

-

-顯示用於尋找原始檔案的目前搜尋路徑。

-

-[show files]

-

-顯示所有目標檔案的路徑和檔案名稱

-

-[show functions]

-

-顯示函數到行號的對應資訊。

-範例:

-  show functions .

-    顯示目前檔案中所有函數的對應資訊。

-  show functions myapp.mxml

-    顯示 myapp.mxml 中所有函數的對應資訊。

-  show functions #3

-    顯示檔案 #3 中所有函數的對應資訊。

-  show functions

-    顯示所有檔案中所有函數的對應資訊。

-若要查看檔案名稱和號碼,請執行「info sources」或「info files」。

-採用縮寫形式的檔案名稱若都很明確,則可以接受。

-

-[show locations]

-

-顯示針對每個中斷點所設定的位置清單。

-

-[show memory]

-

-顯示 Java VM 記憶體統計。

-

-[show net]

-

-顯示傳送至 Flash Player 及接收自 Flash Player 的訊息相關資訊。

-

-[show properties]

-

-顯示用於除錯程式中的便利變數清單

-

-[show uri]

-

-顯示播放程式針對此工作階段所傳送的 URI。

-

-[show variable]

-

-顯示變數成員的值。需要使用兩個參數;第一個是數值變數識別名稱,第二個是變數的屬性

-名稱。便利變數

-$invokegetters 用於決定屬性 getter (假定其存在時) 是否啟動。

-範例:

-    show variable 1 __proto__

-

-[show ?]

-

-未定義的 show 指令。請嘗試使用「help show」。

-

-[source]

-

-從檔案讀取 fdb 指令,並加以執行。

-  source mycommands.txt

-  source mydir\mycommands.txt

-  source c:\mydir\mycommands.txt

-    讀取 mycommands.txt 並在其中執行 fdb 指令。

-    您可以相對於目前目錄 (請參閱「pwd」指令) 或使用絕對路徑指定含有指令的檔案。

-啟動 fdb 時會自動以此方式讀取檔案 .fdbinit。

-僅會在目前的目錄中搜尋 .fdbinit。這意味著,您可以針對不同專案設定多個 .fdbinit 檔

-案。

-

-[step]

-

-執行程式單步作業,直到到達不同的來源行。

-範例:

-  step

-    執行單步作業一次。

-  step 3

-    執行單步作業 3 次,或直到程式因其他原因而停止。

-

-[tutorial]

-

-顯示如何使用 fdb 的教學課程。

-此指令不使用任何引數。

-

-[Tutorial]

-

-典型的 fdb 工作階段:

-使用「run」啟動應用程式。

-使用「info sources」檢視檔案名稱。

-使用「list」列出檔案。

-使用「break」設定中斷點。

-使用「continue」執行程式,直到到達中斷點為止。

-使用「where」、「print」或「info locals」檢查程式的狀態。

-使用「next」、「step」和「finish」執行個別陳述式。

-使用「continue」繼續執行。

-使用「quit」結束 fdb。

-

-[undisplay]

-

-移除一或多個自動顯示的運算式。

-範例:

-  undisplay

-    移除所有自動顯示的運算式。

-  undisplay 2 7

-    移除自動顯示的運算式 #2 和 #7。

-若要查看自動顯示的運算式及其號碼的清單,請執行「info display」。

-

-[up]

-

-選取並列印呼叫這一個項目的堆疊框架。

-後續的「info arguments」和「info locals」指令將顯示所選框架的區域函數和引數。

-請參閱「down」和「frame」

-

-[viewswf]

-

-根據 swf 名稱設定或清除檔案清單 (即「info files」和「info sources」) 的過濾器。

-若無任何參數,將會顯示所有檔案。如果一或多個 swf 中存在相同的檔案,清單只會顯示

-檔案的第一個實體。若要存取檔案的其它實體,請使用檔案號碼 (例如,「list #192」)

-或使用此指令搭配參數 (請參閱下文) 來顯示特定 swf 中的檔案。搭配單一參數,使用

-「info swfs」指令顯示 swf 名稱時,在檔案清單中只會顯示指定 swf 中的檔案。

-不會顯示其它 swf 中的檔案。此指令也會影響接受檔案作為參數 (例如,「break」) 的指

-令。例如:

-  viewswf myApp.mxml.swf

-    將僅顯示 myApp.mxml.swf 中的檔案。

-  viewswf

-    將顯示所有 swf 中的全部檔案。

-

-[watch]

-

-在指定變數上加入監視點。當變數值變更時,除錯程式將會中止執行。

-範例:

-  watch foo

-

-[what]

-

-顯示解析變數所在的上下文。

-

-[where]

-

-堆疊的回溯追蹤。

-

-[zzz]

-

-((( 將這個未使用的主題保留在檔案結尾處    )))

-((( 以便倒數第二個主題能正確剖析。)))

-